wvdongen / cakephp-i18njs
翻译JavaScript字符串,如Drupal 8。
dev-master
2021-11-24 16:17 UTC
Requires
- php: >=5.4
This package is not auto-updated.
Last update: 2024-09-20 09:26:42 UTC
README
CakePHP 2.x 插件,用于翻译JavaScript字符串。JavaScript函数和方法用于获取翻译字符串,来源于Drupal 8。
如何包含
- 将文件放入
APP/Plugin/I18nJs
- 确保在您的引导文件中包含
CakePlugin::load('I18nJs')
或CakePlugin::loadAll()
- 在HTML中包含JavaScript库
$this->Html->script('/i18n_js/js/18n_js')
- 添加生成的JavaScript翻译文件
$this->Html->script('/js/Locale/i18n_js.' . $this->Session->read('Config.language'))
JavaScript函数
I18nJs.t(str, args, options)
将字符串翻译成页面语言或指定的语言。
示例
I18nJs.t('This string needs transalation'); I18nJs.t('Welcome @name', {'@name': 'Wouter'});
I18nJs.t(count, singular, plural, args, options)
格式化包含项目计数的字符串。
示例
Drupal.formatPlural(count, '@name has 1 site.', '@name has @count sites.', {'@name': personName}); Drupal.formatPlural(count, '1 comment', '@count comments');
生成.pot文件
Console/cake I18nJs.i18n_js extract_js
这将解析您的.js和.ctp文件中的所有javascript翻译函数。这将创建文件 App/Locale/i18n_js.pot
。
创建JavaScript翻译文件
确保您的翻译位于 App/Locale/<language>/LC_MESSAGES/i18n_js.po
。
Console/cake I18nJs.i18n_js create_js
这将创建JavaScript文件作为 App/webroot/js/Locale/i18n_js.<language>.js
。
此文件应添加到您的HTML中。例如,在 default.ctp
文件中添加以下内容
echo $this->Html->script('/js/Locale/i18n_js.' . $this->Session->read('Config.language'));