【问题标题】:How to make work 'wp_set_script_translations' function automatically?如何自动使“wp_set_script_translations”功能工作?
【发布时间】:2019-04-23 09:06:45
【问题描述】:

我正在尝试让“wp_set_script_translations”与 wpml 结合使用主题。

我已经实施了 Wordpress Codex 的所有建议。 WPML 插件在“\wp-content\languages\wpml”文件夹中生成“locale-domain-handle.json”格式的文件。但是文件生成时没有翻译并且使用错误的域名“消息”而不是我指定的域。我还检查了 WPML 字符串翻译文件,似乎 JED 函数生成了错误的 json,该函数总是设置“消息”域并忽略客户域名。

{
  "translation-revision-date": "2019-04-23 08:33:37+0000",
  "generator": "WPML String Translation 2.10.2",
  "domain": "messages",
  "locale_data": {
    "messages": {
      "": {
        "domain": "messages",
        "plural-forms": "nplurals=2; plural=n != 1;",
        "lang": "fr_FR"
      }
    }
  }
}

我希望在文件中查看具有正确域名的翻译或无需手动生成翻译文件的替代和自动化方法。

【问题讨论】:

    标签: php wordpress wpml


    【解决方案1】:

    翻译终于得到了适当的开发和记录:https://developer.wordpress.org/block-editor/developers/internationalization/

    基本上,您需要:

    1. 使用 wp-i18n 包定义项目中哪些字符串是可翻译的。
    2. 编译您的代码(wp i18n make-pot 将在您编译的代码中搜索翻译字符串,而不是在您的源代码中)。
    3. 使用 WP-CLI (wp i18n make-pot) 创建一个 .pot 文件,就像我们一直使用 WP 主题和插件一样。
    4. 根据我们之前创建的.pot 生成一个.po 文件并翻译其内容。
    5. 再次使用 WP-CLI (wp i18n make-json) 将我们的 .po 文件转换为所需的 JSON 格式。
    6. 使用wp_set_script_translations PHP 函数加载翻译文件。

    希望这对那里的人有所帮助;)

    【讨论】:

      猜你喜欢
      • 2017-10-09
      • 1970-01-01
      • 2013-10-03
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多