I’d like to have the backend of WordPress in English and use a different locale for the frontend
so far I figure out perhaps I could do it by setting in the wpconfig the locale I want to use in the frontend, then add in functions.php something like this:
add_filter('locale', 'mytheme_backendlocale');
function mytheme_backendlocale($locale) {
if ( is_admin() ) {
return 'en_US';
}
return $locale;
}
is this the best practice to achieve what I want or should I do it differently?
Install the plugin WP Native Dashboard. Then you can set one language for the front-end in your
wp-config.php
and each user can choose another one for the back-end.See Change language of comments template for details and a screenshot.
There is a plugin that may be what you need.
http://wordpress.org/extend/plugins/fe-be-localization/
Till now, I think that Fulvio’s answer’s the best one. I’m using that filter even on a multisite setup, with just one line:
Basically sometimes, and in this case, I use multisite for multi-language sites instead of plugins. Also, I have 1 single theme for each language (usually child themes of the main language). So every site of the network has its own language, but on the admin side, I need all teh interfaces in italian.
So what I do is:
NOTE: that filter won’t change the admin language, so there’s no need to check if is_admin()
If anyone is still looking for that, here is what you should do since version 4.7
This forces the dashboard to load in English, then you can go to settings, set the language you desire.