免插件为wordpress前台设置不同语言包

一直以来,都比较排斥使用中文版的WP,因为觉得后台部分翻译得不好。所以导致前台的界面也一直是英文的。
今天搜了一下让前台和后台设置不同语言的方案,发现给出的都是下载一个叫admin-locale的插件。
下载这个插件之后,发现其只有寥寥几行。这种简单的东西如果还允许作为插件存在,就太面上无光了。
把里面的内容去芜存菁(因为我不用区别后台和插件是否有语言包)以后,就剩下简单粗暴的干货了。如下。

add_filter( 'locale', 'my_locale', 99 );
function my_locale( $locale )
{
	if ( is_admin() )
	{
		return $locale ; /*或者指定某种语言*/
	}
	return 'zh_CN' ; /*或者指定某种语言*/
}

当然这样还不算完。因为有主题上的很多文字部分使用的不是主题语言包,而是系统语言包。所以,还要把zh_CN.po和zh_CN.mo拷贝到/wp-content/languages/下(因为我不喜欢中文的其他处理,所以只拷贝这两个文件。)

或者如果主题的语言包写得好的话,也可以采用另外一种温柔一点的方式:

add_filter( 'theme_locale', 'my_theme_locale', 999 );
function my_theme_locale( $locale, $domain )
{
	return 'zh_CN' ;
}

搞定收工!

已有4条评论

  1. 强迫症吗?我觉得这个没有折腾的必要吧!

    1. 是有一点.看后台中文不顺眼.

  2. 文章没弄懂,这一壁的书,让我羡慕死了!哈哈。

    1. 显然是扒来的图.我就算有这么多书也没地方摆这么大的书柜.

  3. 很久不折腾主题啊,什么的了!

    1. 我这也是趁着换服务器三分钟热度.

  4. 我用的好像都是中文版,就算后来升级为英文版,好像显示的也是中文,所以这个方面很少关注

    1. 中文版做得不好,对他们很多地方的翻译不满意,所以后台从不用中文。现在前台的主题是自己做的,所以也没必要用中文包。

你好,新朋友。留言前请先填写昵称邮箱