wvdongen/cakephp-i18njs

翻译JavaScript字符串,如Drupal 8。

安装次数: 6,025

依赖关系: 0

建议者: 0

安全: 0

星标: 5

关注者: 2

分支: 3

开放问题: 1

类型:cakephp-plugin

dev-master 2021-11-24 16:17 UTC

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'));