Index: bp-activity/bp-activity-template.php
===================================================================
--- bp-activity/bp-activity-template.php
+++ bp-activity/bp-activity-template.php
@@ -174,8 +174,8 @@ class BP_Activity_Template {
 				'format'    => '',
 				'total'     => ceil( (int)$this->total_activity_count / (int)$this->pag_num ),
 				'current'   => (int)$this->pag_page,
-				'prev_text' => '&larr;',
-				'next_text' => '&rarr;',
+				'prev_text' => apply_filters( 'bp_loop_pagination_prev_text', _x( '&larr;', 'Activity pagination previous text', 'buddypress' ) ),
+				'next_text' => apply_filters( 'bp_loop_pagination_next_text', _x( '&rarr;', 'Activity pagination next text', 'buddypress' ) ),
 				'mid_size'  => 1
 			) );
 		}
@@ -269,7 +269,7 @@ function bp_has_activities( $args = '' ) {
 		if ( 'public' != $bp->groups->current_group->status && ( groups_is_user_member( $bp->loggedin_user->id, $bp->groups->current_group->id ) || $bp->loggedin_user->is_super_admin ) )
 			$show_hidden = true;
 	}
-	
+
 	// The default scope should recognize custom slugs
 	if ( array_key_exists( $bp->current_action, (array)$bp->loaded_components ) ) {
 		$scope = $bp->loaded_components[$bp->current_action];
@@ -280,7 +280,7 @@ function bp_has_activities( $args = '' ) {
 	// Support for permalinks on single item pages: /groups/my-group/activity/124/
 	if ( bp_is_current_action( bp_get_activity_slug() ) )
 		$include = bp_action_variable( 0 );
-		
+
 	// Note: any params used for filtering can be a single value, or multiple values comma separated.
 	$defaults = array(
 		'display_comments' => 'threaded',   // false for none, stream/threaded - show comments in the stream or threaded under items
@@ -754,7 +754,7 @@ function bp_activity_content() {
 
 		// Insert the time since.
 		$time_since = apply_filters_ref_array( 'bp_activity_time_since', array( '<span class="time-since">' . bp_core_time_since( $activities_template->activity->date_recorded ) . '</span>', &$activities_template->activity ) );
-	
+
 		// Insert the permalink
 		if ( !bp_is_single_activity() )
 			$content = apply_filters_ref_array( 'bp_activity_permalink', array( sprintf( '%1$s <a href="%2$s" class="view activity-time-since" title="%3$s">%4$s</a>', $content, bp_activity_get_permalink( $activities_template->activity->id, $activities_template->activity ), esc_attr__( 'View Discussion', 'buddypress' ), $time_since ), &$activities_template->activity ) );
@@ -769,7 +769,7 @@ function bp_activity_user_can_delete( $activity = false ) {
 
 	if ( !$activity )
 		$activity = $activities_template->activity;
-	
+
 	if ( isset( $activity->current_comment ) )
 		$activity = $activity->current_comment;
 
@@ -860,7 +860,7 @@ function bp_activity_comments( $args = '' ) {
 
 		bp_activity_recurse_comments( $activities_template->activity );
 	}
-	
+
 		/**
 		 * Loops through a level of activity comments and loads the template for each
 		 *
@@ -874,10 +874,10 @@ function bp_activity_comments( $args = '' ) {
 		 */
 		function bp_activity_recurse_comments( $comment ) {
 			global $activities_template, $bp, $counter;
-			
+
 			if ( !$comment )
 				return false;
-				
+
 			if ( empty( $comment->children ) )
 				return false;
 
@@ -887,7 +887,7 @@ function bp_activity_comments( $args = '' ) {
 				$activities_template->activity->current_comment = $comment_child;
 
 				$template = locate_template( 'activity/comment.php', false, false );
-				
+
 				// Backward compatibility. In older versions of BP, the markup was
 				// generated in the PHP instead of a template. This ensures that
 				// older themes (which are not children of bp-default and won't
@@ -895,9 +895,9 @@ function bp_activity_comments( $args = '' ) {
 				if ( !$template ) {
 					$template = BP_PLUGIN_DIR . '/bp-themes/bp-default/activity/comment.php';
 				}
-				
+
 				load_template( $template, false );
-				
+
 				unset( $activities_template->activity->current_comment );
 			}
 			echo '</ul>';
@@ -914,9 +914,9 @@ function bp_activity_comments( $args = '' ) {
  */
 function bp_activity_current_comment() {
 	global $activities_template;
-	
+
 	$current_comment = !empty( $activities_template->activity->current_comment ) ? $activities_template->activity->current_comment : false;
-	
+
 	return apply_filters( 'bp_activity_current_comment', $current_comment );
 }
 
@@ -942,9 +942,9 @@ function bp_activity_comment_id() {
 	 */
 	function bp_get_activity_comment_id() {
 		global $activities_template;
-		
+
 		$comment_id = isset( $activities_template->activity->current_comment->id ) ? $activities_template->activity->current_comment->id : false;
-	
+
 		return apply_filters( 'bp_activity_comment_id', $comment_id );
 	}
 
@@ -969,9 +969,9 @@ function bp_activity_comment_user_id() {
 	 */
 	function bp_get_activity_comment_user_id() {
 		global $activities_template;
-		
+
 		$user_id = isset( $activities_template->activity->current_comment->user_id ) ? $activities_template->activity->current_comment->user_id : false;
-		
+
 		return apply_filters( 'bp_activity_comment_user_id', $user_id );
 	}
 
@@ -996,7 +996,7 @@ function bp_activity_comment_user_link() {
 	 */
 	function bp_get_activity_comment_user_link() {
 		$user_link = bp_core_get_user_domain( bp_get_activity_comment_user_id() );
-	
+
 		return apply_filters( 'bp_activity_comment_user_link', $user_link );
 	}
 
@@ -1023,9 +1023,9 @@ function bp_activity_comment_name() {
 	 */
 	function bp_get_activity_comment_name() {
 		global $activities_template;
-		
+
 		$name = apply_filters( 'bp_acomment_name', $activities_template->activity->current_comment->user_fullname, $activities_template->activity->current_comment ); // backward compatibility
-		
+
 		return apply_filters( 'bp_activity_comment_name', $name );
 	}
 
@@ -1050,12 +1050,12 @@ function bp_activity_comment_date_recorded() {
 	 */
 	function bp_get_activity_comment_date_recorded() {
 		global $activities_template;
-		
+
 		if ( empty( $activities_template->activity->current_comment->date_recorded ) )
 			return false;
-		
+
 		$date_recorded = bp_core_time_since( $activities_template->activity->current_comment->date_recorded );
-		
+
 		return apply_filters( 'bp_activity_comment_date_recorded', $date_recorded );
 	}
 
@@ -1080,9 +1080,9 @@ function bp_activity_comment_delete_link() {
 	 */
 	function bp_get_activity_comment_delete_link() {
 		global $bp;
-		
+
 		$link = wp_nonce_url( bp_get_root_domain() . '/' . bp_get_activity_slug() . '/delete/?cid=' . bp_get_activity_comment_id(), 'bp_activity_delete_link' );
-		
+
 		return apply_filters( 'bp_activity_comment_delete_link', $link );
 	}
 
@@ -1111,9 +1111,9 @@ function bp_activity_comment_content() {
 	 */
 	function bp_get_activity_comment_content() {
 		global $activities_template;
-		
+
 		$content = apply_filters( 'bp_get_activity_content', $activities_template->activity->current_comment->content );
-		
+
 		return apply_filters( 'bp_activity_comment_content', $content );
 	}
 
Index: bp-blogs/bp-blogs-template.php
===================================================================
--- bp-blogs/bp-blogs-template.php
+++ bp-blogs/bp-blogs-template.php
@@ -132,8 +132,8 @@ class BP_Blogs_Template {
 				'format'    => '',
 				'total'     => ceil( (int)$this->total_blog_count / (int)$this->pag_num ),
 				'current'   => (int)$this->pag_page,
-				'prev_text' => '&larr;',
-				'next_text' => '&rarr;',
+				'prev_text' => apply_filters( 'bp_loop_pagination_prev_text', _x( '&larr;', 'Blog pagination previous text', 'buddypress' ) ),
+				'next_text' => apply_filters( 'bp_loop_pagination_next_text', _x( '&rarr;', 'Blog pagination next text', 'buddypress' ) ),
 				'mid_size'  => 1
 			) );
 		}
@@ -588,7 +588,7 @@ function bp_blogs_blog_tabs() {
 function bp_directory_blogs_search_form() {
 	global $bp;
 
-	$default_search_value = bp_get_search_default_text(); 
+	$default_search_value = bp_get_search_default_text();
 	$search_value = !empty( $_REQUEST['s'] ) ? stripslashes( $_REQUEST['s'] ) : $default_search_value; ?>
 
 	<form action="" method="get" id="search-blogs-form">
Index: bp-forums/bp-forums-template.php
===================================================================
--- bp-forums/bp-forums-template.php
+++ bp-forums/bp-forums-template.php
@@ -101,7 +101,7 @@ class BP_Forums_Template_Forum {
 		$this->__construct( $type, $forum_id, $user_id, $page, $per_page, $max, $no_stickies, $search_terms, $offset, $number );
 	}
 
-	function __construct( $type, $forum_id, $user_id, $page, $per_page, $max, $no_stickies, $search_terms, $offset = false, $number = false ) {	
+	function __construct( $type, $forum_id, $user_id, $page, $per_page, $max, $no_stickies, $search_terms, $offset = false, $number = false ) {
 		global $bp;
 
 		$this->pag_page     = $page;
@@ -113,7 +113,7 @@ class BP_Forums_Template_Forum {
 		$this->number	    = $number;
 
 		switch ( $type ) {
-			case 'newest': default:				
+			case 'newest': default:
 				$this->topics = bp_forums_get_forum_topics( array( 'user_id' => $user_id, 'forum_id' => $forum_id, 'filter' => $search_terms, 'page' => $this->pag_page, 'per_page' => $this->pag_num, 'show_stickies' => $no_stickies, 'offset' => $offset, 'number' => $number ) );
 				break;
 
@@ -152,7 +152,7 @@ class BP_Forums_Template_Forum {
 			} else {
 				$this->total_topic_count = (int)$max;
 			}
-			
+
 			if ( $max ) {
 				if ( $max >= count($this->topics) ) {
 					$this->topic_count = count( $this->topics );
@@ -176,8 +176,8 @@ class BP_Forums_Template_Forum {
 				'format'    => '',
 				'total'     => ceil( (int)$this->total_topic_count / (int)$this->pag_num),
 				'current'   => $this->pag_page,
-				'prev_text' => '&larr;',
-				'next_text' => '&rarr;',
+				'prev_text' => apply_filters( 'bp_loop_pagination_prev_text', _x( '&larr;', 'Forum topic pagination previous text', 'buddypress' ) ),
+				'next_text' => apply_filters( 'bp_loop_pagination_next_text', _x( '&rarr;', 'Forum topic pagination next text', 'buddypress' ) ),
 				'mid_size'  => 1
 			) );
 		}
@@ -260,11 +260,11 @@ function bp_has_forum_topics( $args = '' ) {
 	// User filtering
 	if ( !empty( $bp->displayed_user->id ) )
 		$user_id = $bp->displayed_user->id;
-	
+
 	// "Replied" query must be manually modified
 	if ( 'replies' == bp_current_action() ) {
 		$user_id = 0; // User id must be handled manually by the filter, not by BB_Query
-		
+
 		add_filter( 'get_topics_distinct',   'bp_forums_add_replied_distinct_sql', 20 );
 		add_filter( 'get_topics_join', 	     'bp_forums_add_replied_join_sql', 20 );
 		add_filter( 'get_topics_where',      'bp_forums_add_replied_where_sql', 20  );
@@ -285,11 +285,11 @@ function bp_has_forum_topics( $args = '' ) {
 	// If $_GET['fs'] is set, let's auto populate the search_terms var
 	if ( bp_is_directory() && !empty( $_GET['fs'] ) )
 		$search_terms = $_GET['fs'];
-	
+
 	// Get the pagination arguments from $_REQUEST
 	$page     = isset( $_REQUEST['p'] ) ? intval( $_REQUEST['p'] ) : 1;
 	$per_page = isset( $_REQUEST['n'] ) ? intval( $_REQUEST['n'] ) : 20;
-	
+
 	// Unless set otherwise, stickies appear in normal order on the global forum directory
 	if ( bp_is_directory() && bp_is_forums_component() && !bp_forums_enable_global_directory_stickies() )
 		$do_stickies = false;
@@ -315,88 +315,88 @@ function bp_has_forum_topics( $args = '' ) {
 	if ( bp_is_current_action( 'tag' ) && $search_terms = bp_action_variable( 0 ) ) {
 		$type = 'tags';
 	}
-	
+
 	/** Sticky logic ******************************************************************/
-	
+
 	if ( $do_stickies ) {
 		// Fetch the stickies
 		$stickies_template = new BP_Forums_Template_Forum( $type, $forum_id, $user_id, 0, 0, $max, 'sticky', $search_terms );
-		
+
 		// If stickies are found, try merging them
 		if ( $stickies_template->has_topics() ) {
-		
-			// If stickies are for current $page		
+
+			// If stickies are for current $page
 			$page_start_num = ( ( $page - 1 ) * $per_page ) + 1;
 			$page_end_num 	= $page * $per_page <= $stickies_template->total_topic_count ? $page * $per_page : $stickies_template->total_topic_count;
-			
+
 			// Calculate the number of sticky topics that will be shown on this page
 			if ( $stickies_template->topic_count < $page_start_num ) {
 				$this_page_stickies = 0;
-			} else {			
+			} else {
 				$this_page_stickies = $stickies_template->topic_count - $per_page * floor( $stickies_template->topic_count / $per_page ) * ( $page - 1 ); // Total stickies minus sticky count through this page
-				
+
 				// $this_page_stickies cannot be more than $per_page or less than 0
 				if ( $this_page_stickies > $per_page )
 					$this_page_stickies = $per_page;
 				else if ( $this_page_stickies < 0 )
 					$this_page_stickies = 0;
 			}
-			
+
 			// Calculate the total number of topics that will be shown on this page
 			$this_page_topics = $stickies_template->total_topic_count >= ( $page * $per_page ) ? $per_page : $page_end_num - ( $page_start_num - 1 );
-			
+
 			// If the number of stickies to be shown is less than $per_page, fetch some
 			// non-stickies to fill in the rest
 			if ( $this_page_stickies < $this_page_topics ) {
 				// How many non-stickies do we need?
 				$non_sticky_number = $this_page_topics - $this_page_stickies;
-				
-				// Calculate the non-sticky offset			
+
+				// Calculate the non-sticky offset
 				// How many non-stickies on all pages up to this point?
 				$non_sticky_total = $page_end_num - $stickies_template->topic_count;
-				
+
 				// The offset is the number of total non-stickies, less the number
 				// to be shown on this page
 				$non_sticky_offset = $non_sticky_total - $non_sticky_number;
-				
+
 				// Fetch the non-stickies
 				$forum_template = new BP_Forums_Template_Forum( $type, $forum_id, $user_id, 1, $per_page, $max, 'no', $search_terms, $non_sticky_offset, $non_sticky_number );
-				
+
 				// If there are stickies to merge on this page, do it now
 				if ( $this_page_stickies ) {
 					// Correct the topic_count
 					$forum_template->topic_count += (int)$this_page_stickies;
-					
+
 					// Figure out which stickies need to be included
 					$this_page_sticky_topics = array_slice( $stickies_template->topics, 0 - $this_page_stickies );
-					
+
 					// Merge these topics into the forum template
 					$forum_template->topics = array_merge( $this_page_sticky_topics, (array)$forum_template->topics );
 				}
 			} else {
 				// This page has no non-stickies
 				$forum_template = $stickies_template;
-				
+
 				// Adjust the topic count and trim the topics
 				$forum_template->topic_count = $this_page_stickies;
-				$forum_template->topics      = array_slice( $forum_template->topics, $page - 1 );	
+				$forum_template->topics      = array_slice( $forum_template->topics, $page - 1 );
 			}
-					
+
 			// Because we're using a manual offset and number for the topic query, we
 			// must set the page number manually, and recalculate the pagination links
 			$forum_template->pag_num     = $per_page;
 			$forum_template->pag_page    = $page;
-			
+
 			$forum_template->pag_links = paginate_links( array(
 				'base'      => add_query_arg( array( 'p' => '%#%', 'n' => $forum_template->pag_num ) ),
 				'format'    => '',
 				'total'     => ceil( (int)$forum_template->total_topic_count / (int)$forum_template->pag_num ),
 				'current'   => $forum_template->pag_page,
-				'prev_text' => '&larr;',
-				'next_text' => '&rarr;',
+				'prev_text' => apply_filters( 'bp_loop_pagination_prev_text', _x( '&larr;', 'Forum topic pagination previous text', 'buddypress' ) ),
+				'next_text' => apply_filters( 'bp_loop_pagination_next_text', _x( '&rarr;', 'Forum topic pagination next text', 'buddypress' ) ),
 				'mid_size'  => 1
 			) );
-			
+
 		} else {
 			// Fetch the non-sticky topics if no stickies were found
 			$forum_template = new BP_Forums_Template_Forum( $type, $forum_id, $user_id, $page, $per_page, $max, 'all', $search_terms );
@@ -405,7 +405,7 @@ function bp_has_forum_topics( $args = '' ) {
 		// When skipping the sticky logic, just pull up the forum topics like usual
 		$forum_template = new BP_Forums_Template_Forum( $type, $forum_id, $user_id, $page, $per_page, $max, 'all', $search_terms );
 	}
-		
+
 	return apply_filters( 'bp_has_topics', $forum_template->has_topics(), $forum_template );
 }
 
@@ -864,7 +864,7 @@ function bp_forum_topic_type() {
  */
 function bp_forums_tag_name() {
 	echo bp_get_forums_tag_name();
-}	
+}
 	/**
 	 * Outputs the currently viewed tag name
 	 *
@@ -873,7 +873,7 @@ function bp_forums_tag_name() {
 	 */
 	function bp_get_forums_tag_name() {
 		$tag_name = bp_is_directory() && bp_is_forums_component() ? bp_action_variable( 0 ) : false;
-		
+
 		return apply_filters( 'bp_get_forums_tag_name', $tag_name );
 	}
 
@@ -939,7 +939,7 @@ class BP_Forums_Template_Topic {
 	function BP_Forums_Template_Topic( $topic_id, $per_page, $max, $order ) {
 		$this->__construct( $topic_id, $per_page, $max, $order );
 	}
-		
+
 	function __construct( $topic_id, $per_page, $max, $order ) {
 		global $bp, $current_user, $forum_template;
 
@@ -973,7 +973,7 @@ class BP_Forums_Template_Topic {
 				$this->post_count = count( $this->posts );
 			}
 		}
-		
+
 		// Load topic tags
 		$this->topic_tags = bb_get_topic_tags( $this->topic_id );
 
@@ -983,8 +983,8 @@ class BP_Forums_Template_Topic {
 				'format'    => '',
 				'total'     => ceil( (int)$this->total_post_count / (int)$this->pag_num ),
 				'current'   => $this->pag_page,
-				'prev_text' => '&larr;',
-				'next_text' => '&rarr;',
+				'prev_text' => apply_filters( 'bp_loop_pagination_prev_text', _x( '&larr;', 'Forum thread pagination previous text', 'buddypress' ) ),
+				'next_text' => apply_filters( 'bp_loop_pagination_next_text', _x( '&rarr;', 'Forum thread pagination next text', 'buddypress' ) ),
 				'mid_size'  => 1
 			) );
 
@@ -1068,7 +1068,7 @@ function bp_has_forum_topic_posts( $args = '' ) {
 		if ( bp_is_groups_component() && $topic_template->forum_id != groups_get_groupmeta( bp_get_current_group_id(), 'forum_id' ) )
 			return false;
 	}
-	
+
 	return apply_filters( 'bp_has_topic_posts', $topic_template->has_posts(), $topic_template );
 }
 
@@ -1334,20 +1334,20 @@ function bp_forum_topic_tag_list() {
 	 */
 	function bp_get_forum_topic_tag_list( $format = 'string' ) {
 		global $topic_template;
-		
+
 		$tags_data = !empty( $topic_template->topic_tags ) ? $topic_template->topic_tags : false;
-		
+
 		$tags = array();
-		
+
 		if ( $tags_data ) {
 			foreach( $tags_data as $tag_data ) {
 				$tags[] = $tag_data->name;
 			}
 		}
-		
+
 		if ( 'string' == $format )
 			$tags = implode( ', ', $tags );
-			
+
 		return apply_filters( 'bp_forum_topic_tag_list', $tags, $format );
 	}
 
@@ -1361,12 +1361,12 @@ function bp_forum_topic_tag_list() {
  */
 function bp_forum_topic_has_tags() {
 	global $topic_template;
-	
+
 	$has_tags = false;
-	
+
 	if ( !empty( $topic_template->topic_tags ) )
 		$has_tags = true;
-	
+
 	return apply_filters( 'bp_forum_topic_has_tags', $has_tags );
 }
 
Index: bp-groups/bp-groups-template.php
===================================================================
--- bp-groups/bp-groups-template.php
+++ bp-groups/bp-groups-template.php
@@ -168,8 +168,8 @@ class BP_Groups_Template {
 				'format'    => '',
 				'total'     => ceil( (int)$this->total_group_count / (int)$this->pag_num ),
 				'current'   => $this->pag_page,
-				'prev_text' => '&larr;',
-				'next_text' => '&rarr;',
+				'prev_text' => apply_filters( 'bp_loop_pagination_prev_text', _x( '&larr;', 'Group pagination previous text', 'buddypress' ) ),
+				'next_text' => apply_filters( 'bp_loop_pagination_next_text', _x( '&rarr;', 'Group pagination next text', 'buddypress' ) ),
 				'mid_size'  => 1
 			) );
 		}
@@ -625,15 +625,15 @@ function bp_group_admin_ids( $group = false, $format = 'string' ) {
 
 	$admin_ids = array();
 
-	if ( $group->admins ) { 
+	if ( $group->admins ) {
 		foreach( $group->admins as $admin ) {
 			$admin_ids[] = $admin->user_id;
 		}
 	}
-			
-	if ( 'string' == $format ) 
+
+	if ( 'string' == $format )
 		$admin_ids = implode( ',', $admin_ids );
-	
+
 	return apply_filters( 'bp_group_admin_ids', $admin_ids );
 }
 
@@ -655,15 +655,15 @@ function bp_group_mod_ids( $group = false, $format = 'string' ) {
 
 	$mod_ids = array();
 
-	if ( $group->mods ) { 
+	if ( $group->mods ) {
 		foreach( $group->mods as $mod ) {
 			$mod_ids[] = $mod->user_id;
 		}
 	}
-	
-	if ( 'string' == $format ) 
+
+	if ( 'string' == $format )
 		$mod_ids = implode( ',', $mod_ids );
-	
+
 	return apply_filters( 'bp_group_mod_ids', $mod_ids );
 }
 
@@ -896,11 +896,11 @@ function bp_group_show_status_setting( $setting, $group = false ) {
  * @param str $setting The setting you want to check against ('members', 'mods', or 'admins')
  * @param obj $group (optional) The group whose status you want to check
  */
-function bp_group_show_invite_status_setting( $setting, $group = false ) { 
+function bp_group_show_invite_status_setting( $setting, $group = false ) {
 	$group_id = isset( $group->id ) ? $group->id : false;
-	
+
 	$invite_status = bp_group_get_invite_status( $group_id );
-	
+
 	if ( $setting == $invite_status )
 		echo ' checked="checked"';
 }
@@ -924,7 +924,7 @@ function bp_group_show_invite_status_setting( $setting, $group = false ) {
  */
 function bp_group_get_invite_status( $group_id = false ) {
 	global $bp, $groups_template;
-		
+
 	if ( !$group_id ) {
 		if ( isset( $bp->groups->current_group->id ) ) {
 			// Default to the current group first
@@ -936,7 +936,7 @@ function bp_group_get_invite_status( $group_id = false ) {
 			return false;
 		}
 	}
-	
+
 	$invite_status = groups_get_groupmeta( $group_id, 'invite_status' );
 
 	// Backward compatibility. When 'invite_status' is not set, fall back to a default value
@@ -957,15 +957,15 @@ function bp_group_get_invite_status( $group_id = false ) {
  * @param int $group_id (optional) The id of the group whose status you want to check
  * @return bool $can_send_invites
  */
-function bp_groups_user_can_send_invites( $group_id = false ) { 
-	global $bp; 
+function bp_groups_user_can_send_invites( $group_id = false ) {
+	global $bp;
 
 	$can_send_invites = false;
 	$invite_status    = false;
-	
+
 	if ( is_user_logged_in() ) {
-		if ( is_super_admin() ) { 
-			// Super admins can always send invitations 
+		if ( is_super_admin() ) {
+			// Super admins can always send invitations
 			$can_send_invites = true;
 
 		} else {
@@ -982,8 +982,8 @@ function bp_groups_user_can_send_invites( $group_id = false ) {
 				return false;
 
 			switch ( $invite_status ) {
-				case 'admins' : 
-					if ( groups_is_user_admin( bp_loggedin_user_id(), $group_id ) ) 
+				case 'admins' :
+					if ( groups_is_user_admin( bp_loggedin_user_id(), $group_id ) )
 						$can_send_invites = true;
 					break;
 
@@ -1001,7 +1001,7 @@ function bp_groups_user_can_send_invites( $group_id = false ) {
 	}
 
 	return apply_filters( 'bp_groups_user_can_send_invites', $can_send_invites, $group_id, $invite_status );
-} 
+}
 
 /**
  * Since BuddyPress 1.0, this generated the group settings admin/member screen.
@@ -1668,9 +1668,9 @@ class BP_Groups_Group_Members_Template {
 	var $total_group_count;
 
 	function bp_groups_group_members_template( $group_id, $per_page, $max, $exclude_admins_mods, $exclude_banned, $exclude ) {
-		$this->__construct( $group_id, $per_page, $max, $exclude_admins_mods, $exclude_banned, $exclude );	
+		$this->__construct( $group_id, $per_page, $max, $exclude_admins_mods, $exclude_banned, $exclude );
 	}
-	
+
 	function __construct( $group_id, $per_page, $max, $exclude_admins_mods, $exclude_banned, $exclude ) {
 		global $bp;
 
@@ -2398,10 +2398,10 @@ class BP_Groups_Membership_Requests_Template {
 	function bp_groups_membership_requests_template( $group_id, $per_page, $max ) {
 		$this->__construct( $group_id, $per_page, $max );
 	}
-	
-	
+
+
 	function __construct( $group_id, $per_page, $max ) {
-		
+
 		global $bp;
 
 		$this->pag_page = isset( $_REQUEST['mrpage'] ) ? intval( $_REQUEST['mrpage'] ) : 1;
@@ -2572,13 +2572,13 @@ class BP_Groups_Invite_Template {
 	var $total_invite_count;
 
 	function bp_groups_invite_template( $user_id, $group_id ) {
-		$this->__construct( $user_id, $group_id ); 
+		$this->__construct( $user_id, $group_id );
 	}
-		
+
 	function __construct( $user_id, $group_id ) {
 
 		global $bp;
-		
+
 		$this->invites = groups_get_invites_for_group( $user_id, $group_id );
 		$this->invite_count = count( $this->invites );
 
@@ -2752,7 +2752,7 @@ function bp_group_activity_feed_link() {
  */
 function bp_current_group_id() {
 	echo bp_get_current_group_id();
-}	
+}
 	/**
 	 * Returns the ID of the current group
 	 *
@@ -2760,13 +2760,13 @@ function bp_current_group_id() {
 	 * @since 1.5
 	 * @uses apply_filters() Filter bp_get_current_group_id to modify this output
 	 *
-	 * @return int $current_group_id The id of the current group, if there is one 
+	 * @return int $current_group_id The id of the current group, if there is one
 	 */
 	function bp_get_current_group_id() {
 		$current_group = groups_get_current_group();
-		
+
 		$current_group_id = isset( $current_group->id ) ? (int)$current_group->id : 0;
-		
+
 		return apply_filters( 'bp_get_current_group_id', $current_group_id, $current_group );
 	}
 
@@ -2778,7 +2778,7 @@ function bp_current_group_id() {
  */
 function bp_current_group_slug() {
 	echo bp_get_current_group_slug();
-}	
+}
 	/**
 	 * Returns the slug of the current group
 	 *
@@ -2786,13 +2786,13 @@ function bp_current_group_slug() {
 	 * @since 1.5
 	 * @uses apply_filters() Filter bp_get_current_group_slug to modify this output
 	 *
-	 * @return str $current_group_slug The slug of the current group, if there is one 
+	 * @return str $current_group_slug The slug of the current group, if there is one
 	 */
 	function bp_get_current_group_slug() {
 		$current_group = groups_get_current_group();
-		
+
 		$current_group_slug = isset( $current_group->slug ) ? $current_group->slug : '';
-		
+
 		return apply_filters( 'bp_get_current_group_slug', $current_group_slug, $current_group );
 	}
 
@@ -2811,7 +2811,7 @@ function bp_current_group_name() {
 	 * @since 1.5
 	 * @uses apply_filters() Filter bp_get_current_group_name to modify this output
 	 *
-	 * @return str The name of the current group, if there is one 
+	 * @return str The name of the current group, if there is one
 	 */
 	function bp_get_current_group_name() {
 		global $bp;
Index: bp-members/bp-members-template.php
===================================================================
--- bp-members/bp-members-template.php
+++ bp-members/bp-members-template.php
@@ -174,7 +174,7 @@ class BP_Core_Members_Template {
 
 	function __construct( $type, $page_number, $per_page, $max, $user_id, $search_terms, $include, $populate_extras, $exclude, $meta_key, $meta_value ) {
 		global $bp;
-		
+
 		$this->pag_page  = !empty( $_REQUEST['upage'] ) ? intval( $_REQUEST['upage'] ) : (int)$page_number;
 		$this->pag_num   = !empty( $_REQUEST['num'] )   ? intval( $_REQUEST['num'] )   : (int)$per_page;
 		$this->type      = $type;
@@ -209,8 +209,8 @@ class BP_Core_Members_Template {
 				'format'    => '',
 				'total'     => ceil( (int)$this->total_member_count / (int)$this->pag_num ),
 				'current'   => (int) $this->pag_page,
-				'prev_text' => '&larr;',
-				'next_text' => '&rarr;',
+				'prev_text' => apply_filters( 'bp_loop_pagination_prev_text', __( '&larr;', 'buddypress' ) ),
+				'next_text' => apply_filters( 'bp_loop_pagination_next_text', __( '&rarr;', 'buddypress' ) ),
 				'mid_size'   => 1
 			) );
 		}
@@ -296,7 +296,7 @@ function bp_has_members( $args = '' ) {
 
 		'user_id'         => $user_id,      // Pass a user_id to only show friends of this user
 		'search_terms'    => $search_terms, // Pass search_terms to filter users by their profile data
-		
+
 		'meta_key'        => false,	        // Only return users with this usermeta
 		'meta_value'	  => false,	        // Only return users where the usermeta value matches. Requires meta_key
 
@@ -523,7 +523,7 @@ function bp_member_name() {
 	 */
 	function bp_get_member_name() {
 		global $members_template;
-		
+
 		// Generally, this only fires when xprofile is disabled
 		if ( empty( $members_template->member->fullname ) ) {
 			// Our order of preference for alternative fullnames
@@ -815,7 +815,7 @@ function bp_last_activity( $user_id = 0 ) {
 		$last_activity = bp_core_get_last_activity( bp_get_user_meta( $user_id, 'last_activity', true ), __('active %s', 'buddypress') );
 
 		return apply_filters( 'bp_get_last_activity', $last_activity );
-	}	
+	}
 
 function bp_user_firstname() {
 	echo bp_get_user_firstname();
Index: bp-messages/bp-messages-template.php
===================================================================
--- bp-messages/bp-messages-template.php
+++ bp-messages/bp-messages-template.php
@@ -72,8 +72,8 @@ Class BP_Messages_Box_Template {
 				'format'    => '',
 				'total'     => ceil( (int)$this->total_thread_count / (int)$this->pag_num ),
 				'current'   => $this->pag_page,
-				'prev_text' => '&larr;',
-				'next_text' => '&rarr;',
+				'prev_text' => apply_filters( 'bp_loop_pagination_prev_text', _x( '&larr;', 'Message pagination previous text', 'buddypress' ) ),
+				'next_text' => apply_filters( 'bp_loop_pagination_next_text', _x( '&rarr;', 'Message pagination next text', 'buddypress' ) ),
 				'mid_size'  => 1
 			) );
 		}
