好的,我只是在我自己的问题中添加一个答案,以澄清所有的故事和解决方案。这也适用于其他与lang相关的问题。
那么,我得到的是:
本地多站点安装每个站点都代表一种不同的语言每个站点都有自己的主题,主语言的子语言是意大利语(it\\it)
这只是一个生产自定义主题,因此无需分发它。我们有一个称为“父主题”的父主题和一个称为“子主题”的子主题。步骤如下:
在父主题中
时尚。css添加此行>Text Domain: parent-theme函数中的li>
。php,英寸\'after_setup_theme\' filter 添加:load_theme_textdomain( \'parent-theme\', TEMPLATEPATH . \'/languages\' );
在主题文件夹中,添加languages folder在那个文件夹里add locale.mo files. 我的意思是,例如,en\\u US。mo、fr\\U fr.mo等。。。
的。mo文件将由wordpress翻译功能(\\uuU(),\\ u e())等使用。。
这个mo文件是将从中创建的二进制文件。po文件(本质上与.pot相同),使用一些软件,如poedit或其他软件(仅谷歌)。
这个采购订单文件将包含此类内容(示例表单en\\u US.po):
#: front-page.php
msgid "prodotti"
msgstr "products"
#: front-page.php
msgid "EVENTI"
msgstr "EVENTS"
#[etc....]
在哪里
# are comments,
msgid is the original (main language) string (在本例中为意大利字符串)和
msgstr is the translation.
NOTE: case sensitive.
主题/语言中的po文件仅包含您自己需要的主题翻译定义(因此可能很少),仅此而已。
然后,您只需在主题(和子主题)中使用翻译函数(请参阅wordpress codex),如_u()、\\u e()等。。。
所以I did nothing in the child themes, 所有的工作都围绕着主题。如果需要特定的上下文,只需为子主题注册textdomain(请参阅http://codex.wordpress.org/Function_Reference/load_child_theme_textdomain), 将语言文件夹添加到子主题,并添加采购订单/生产订单文件。
NOTE: 请记住,转换函数使用get\\u locale()来选择正确的语言。要进行翻译的mo文件表单。get\\u locale()检查是否存在WPLANG constant (最终在wp config.php中设置)或其他来自admin的设置,或者它接受来自“locale”过滤器的内容。为了满足我的需要,我甚至没有设置WPLANG。
最后,可能需要have different languages in frontend but the same language for the admin 对于多站点中的所有站点。如果是这样的话,您可以从admin中的常规设置设置管理语言。然后,在每个主题的功能。php:
add_filter(\'locale\', \'set_admin_locale\');
function set_admin_locale() {
return \'en_US\';//or whichever language/locale you want in frontend
}
希望它能帮助人们在这场混乱中找到出路。这并不难,但你需要整理一下,这就是为什么我写了这么长的答案。