获取两种语言可湿性粉剂站点的简单方法

时间:2015-11-29 作者:piot3rs

我正在尝试用两种语言创建一个网站。我在寻找解决方案,但没有找到简单的解决方法。而且,如果可能的话,我宁愿不使用插件。

我想做的是:

1) 有一个domain.com/endomain.com/ru 默认重定向位于domain.com/en.

2) 安装一个WP引擎,相同的管理面板,使用相同的语言-英语。

3) 自由设置样式的方式(这也包括html,而不仅仅是css)。这当然是最有问题的部分。

我不知道该怎么做。我知道有一种方法可以调用不同的页眉和页脚,但我不知道如何使用两种语言的网站有效地管理这一点。例如,我可以为不同的语言使用不同的类别,但这是一种良好的做法吗?这是否能正常工作?

2 个回复
SO网友:irandoust

您可以使用以下代码翻译字符串:

add_filter(\'gettext\', \'translate_text\');
add_filter(\'ngettext\', \'translate_text\');

function translate_text($translated) { 
    $translated = str_ireplace(\'Choose an option\', \'Select\', $translated); 
    $translated = str_ireplace(\'Original Text\', \'Your Replacment Text\', $translated); 
return $translated; 
}
但我不知道如何翻译复杂的内容。我知道你不想使用插件,但根据我的研究,我们必须编写大量php代码作为插件才能工作。我推荐WPGLOBUS, 它为每个帖子或页面字段(如标题、内容或分类等)创建一个图标,当您单击图标时,您可以输入您的翻译,以获得您之前在设置中设置的无限数量的语言,插件会生成一个yoursite.com/ru 无需生成或需要任何新样式表、js或页面,也无需加载任何其他文件。

SO网友:cjbj

以下是一个简单(并非详尽)的方法:

制作两种自定义帖子类型,“en”和“ru”。这将确保您的所有帖子都有URLwww.example.com/en/post-slugwww.example.com/ru/post-slug

制造。采购订单和。两种语言的mo文件(如果英语已经是主题的默认语言,则仅适用于俄语)

在您的functions.php 确保使用加载了正确的textdomainlocale filter 根据岗位类型:

add_filter( \'locale\', \'wpse210218_set_locale\' ); function wpse210218_set_locale ($lang) { if ( \'ru\' == get_post_type() ) { return \'ru_RU\'; } else { return \'en_EN\'; } }

相关推荐

如何删除LANGUAGE_ATTRIBUTES()上的XMLN?

Hello I\'am get this error on w3c,因为xmlns 已弃用。如何删除xmlns?属性xmlns:此处不允许fb<html lang=\"en-US\" xmlns:fb=\"http://ogp.me/ns/fb#\" xmlns:addthis=\"http://www.addthis.com/help/api-spec\" prefix=\"og: http://ogp.me/ns#\"> 我的代码是<html <?php langu