【问题标题】:Which factor decides the language to be displayed?哪个因素决定了要显示的语言?
【发布时间】:2018-01-16 07:12:46
【问题描述】:

我正在开发基于 wordpress 多站点方法的 CMS。到目前为止,我有 5 种语言,并且为每种语言创建了一个网站。 想法是当用户去

www.mydomian.com/uk - displays English version.

www.mydomian.com/es - 显示西班牙语版本。 www.mydomian.com/fr - 显示法语版本。

现在我已经实现了主题的本地化。正如主题开发者手册中提到的,我知道 wordpress 中的主题本地化功能和其他选项。但我很困惑,我将如何通知我的主题根据选择的用户站点加载翻译。例如。如果用户正在浏览 www.mydomian.com/es 主题应加载所有西班牙语翻译。

请告诉我们最好的选择。

【问题讨论】:

  • 请阅读_e()的文档
  • 是的,我知道这个功能。但我的问题是,如果一个字符串有 3 种翻译可用,那么选择特定翻译的决定因素是什么。是常规设置中的站点语言选择器下拉菜单吗?
  • _e() 的第二个参数指定了要加载的语言。您也可以setlocale() 更改主题标题中的当前语言环境。默认语言是您在“设置”>“常规”中选择的语言。
  • 太好了!!谢谢你:)。
  • @Raptor 我们可以将它传递给文本域参数的可能值是什么?是翻译文件名吗?还是像 en-UK、fr-FR 这样的语言代码?

标签: wordpress localization themes translation


【解决方案1】:

您在 WordPress 多站点中添加的每个站点都有自己的“站点语言”设置,因此您无需从 URL 模式中设置区域设置。将根据其设置自动为每个站点加载正确的主题翻译。

如果您在添加每个站点时没有设置语言,请进入每个站点的设置,并将标有“WPLANG”的字段分别更改为“es_ES”和“fr_FR”。

站点设置位于“我的站点”>“网络管理员”>“站点”下,然后单击所需站点下的“编辑”,然后选择“设置”选项卡。 或跳转到:wp-admin/network/site-settings.php?id=<siteId>,如果您知道站点 ID 号。

多站点的站点设置屏幕不像独立设置页面那样用户友好。没有可用语言的下拉菜单,因此请务必正确输入区域设置代码。

您选择什么作为多站点子目录或子域模式并不重要,请注意您在示例中使用的代码不是official WordPress locale codes

  • 西班牙语是es_ES(不是es
  • 法语是fr_FR(不是fr):
  • 英式英语是en_GB(不是uk

【讨论】:

  • 这真的很有趣:)。我会试试这个
  • 我按照以下步骤翻译主题。
  • 1.如前所述,我在站点设置中为每个站点提供了正确的区域设置代码。 2. 创建.mo 文件并放置在主题根文件夹中名为languages 的文件夹中。 3.在主题functions.php中定义了加载文本域的函数。 4. 所有需要翻译的字符串都更改为这种格式。 5. 但是翻译仍然没有发生。我在这里错过了任何其他步骤。非常感谢您的宝贵时间。
  • 现在这个问题与您原来的问题完全不同。发布文件加载器的代码和所有 MO 文件的路径。可能最好作为一个新问题。
猜你喜欢
  • 1970-01-01
  • 2018-08-28
  • 1970-01-01
  • 1970-01-01
  • 2022-10-01
  • 2017-07-31
  • 1970-01-01
  • 2022-11-30
相关资源
最近更新 更多