
I’m running an English install of WordPress multisite with a few sites in languages other than English. I was dismayed see that multisite appeared to set the locale to en_US (English for the United States) for these non-English sites.

Source code before locale setter
Mike Little helped me to implement the following code to fix this:
<?php add_filter('locale','sitename_locale'); function sitename_locale($locale){ global $current_blog; if (is_admin ()) // if this is the admin back end don't change the locale return $locale; if ('7' == $current_blog->blog_id){ // 7 is the site id for real men drink milk return 'en_GB'; }else if ('15' == $current_blog->blog_id){ // 15 is the site id for doug lawrence UAE return 'ar_AE'; }else if ('5' == $current_blog->blog_id){ // 5 is the site id for douglawrence.cn return 'zh_CN'; } return $locale; }

Source code after locale setter
The locales I used are:
en_GB English for Great Britain
ar_AE Arabic for the United Arab Emirates (to agree with the ccTLD of my Arabic domain)
zh_CN Chinese for China (as opposed to other countries where Chinese is used)
The php file was uploaded to the /httpdocs/wp-content/mu-plugins directory using FTP.
External links to other locale information:
http://wordpress.stackexchange.com/questions/52419/setting-wplang-from-a-plugin
[…] This was done as explained in the post setting locale in WordPress Multisite. […]