dsi-agpt / zf2-assetic-i18n
几个类,用于为 assetic 添加 JavaScript 国际化功能
0.0.4
2017-03-03 13:47 UTC
Requires
- php: >=5.4
- widmogrod/zf2-assetic-module: 1.*
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 中获取服务定位器。但这是一种不良做法。