andres-ml / cakephp-i18n
此包的最新版本(2.0)没有可用的许可信息。
CakePHP 的 I18n 插件
2.0
2024-08-22 08:42 UTC
Requires
- php: >=7.2
- cakephp/cakephp: ^5.0
Requires (Dev)
- phpunit/phpunit: ^10.1
This package is auto-updated.
Last update: 2024-09-22 08:53:40 UTC
README
允许设置翻译的默认域。
之前
__('members'); // outputs members __d('hospitals', 'members'); // outputs patients
__n('Record', 'Records', 2); // outputs Record or Records __dn('hospitals', 'Record', 'Records', 2); // outputs Visit or Visits
__x('written communication', 'He read the first letter'); // Adds additional context for use during translation __dx('hospitals', 'eye chart viewing', 'He read the first letter'); // Adds additional context for use during translation
__xn('character', 'Spy', 'Spies', 2); // Adds additional context for use during translation __dxn('hospitals', 'to see', 'Spy', 'Spies', 2); // Adds additional context for use during translation
使用插件
use Aml\I18n\I18n; __('members'); // outputs members __t('members'); // outputs members __n('Record', 'Records', 2); // outputs Records __tn('Record', 'Records', 1); // outputs Record I18n::domain('hospitals'); __('members'); // still outputs members __t('members'); // outputs patients __n('Record', 'Records', 2); // outputs Visits __tn('Record', 'Records', 1); // outputs Visit
安装
您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。
composer require andres-ml/cakephp-i18n
用法
运行 bin/cake plugin load Aml/I18n 自动加载插件
在 src/Application.php 的 bootstrap() 函数中手动加载插件,添加以下行
$this->addPlugin('Aml/I18n');
您可以在需要使用 __() 的任何地方使用 __t()。
您可以在需要使用 __n() 的任何地方使用 __tn()。
您可以在需要使用 __x() 的任何地方使用 __tx()。
您可以在需要使用 __xn() 的任何地方使用 __txn()。
请记住,为每个要支持的域在每个默认的 .po 文件旁边创建一个 domain.po 文件。(https://book.cakephp.com.cn/4.0/en/core-libraries/internationalization-and-localization.html#language-files)
自动生成默认的 .pot 基础文件
bin/cake aml/I18n.i18n extract