diff --git a/wp-includes/l10n.php b/wp-includes/l10n.php
index 4559263edb..46ec621dc3 100644
--- a/wp-includes/l10n.php
+++ b/wp-includes/l10n.php
@@ -102,11 +102,11 @@ function get_user_locale( $user_id = 0 ) {
 	}
 
 	if ( ! $user ) {
-		return get_locale();
+		return apply_filters( 'user_locale', get_locale() );
 	}
 
-	$locale = $user->locale;
-	return $locale ? $locale : get_locale();
+	$locale = $user->locale ? $user->locale : get_locale();
+	return apply_filters( 'user_locale', $locale );
 }
 
 /**
