dsi-agpt/zf2-assetic-i18n

几个类,用于为 assetic 添加 JavaScript 国际化功能

0.0.4 2017-03-03 13:47 UTC

This package is not auto-updated.

Last update: 2024-10-02 10:17:19 UTC


README

在 zf2 环境中为 assetic 添加 JavaScript 国际化功能的一些类(通过 widmogrod/zf2-assetic-module)。

字符串管理

将所有字符串替换为 js 文件中的代码,并用花括号包围。

alert("{UC-03-TRS-MSG-01}");

然后,在 ZF2 配置中的任何位置创建一个 text 条目,将您的代码转换为带 gettext 标记的 主字符串,以便您的字符串由 i18n 工具(例如 poedit)加载。

'text' => array(
        'UC-03-TRS-MSG-01' => _("This an i18n test.")
    )

配置要求

在配置的翻译者键下添加一个 available_language 条目。

'translator' => array(
  'available_languages' => array(
      'fr_FR',
      'en_US',
      'de_DE'
  ),

模块的功能

在构建时

您的 assetic 配置中的所有 JavaScript 集合将按以下方式展开:asset_js 给出 en_US_asset_js、fr_FR_asset_js 等。每个集合都接收一个过滤器,该过滤器执行代码替换为主字符串,并将主字符串翻译为目标语言。

在运行时

修改了 HeadScript 和 InlineScript 视图辅助程序的行为,以便将 JavaScript 文件的路径前缀为当前区域设置。这种方法的优点是在运行时不会执行翻译。国际化的 JavaScript 文件作为静态资源提供。

问题

ServiceLocatorFactory 模块必须引入以在替代 ViewHelperStrategy 中获取服务定位器。但这是一种不良做法。