cakephp / i18n
CakePHP 国际化库,支持消息翻译和日期、数字本地化
5.1.0
2024-09-06 12:23 UTC
Requires
- php: >=8.1
- ext-intl: *
- cakephp/chronos: ^3.1
- cakephp/core: ^5.1
Suggests
- cakephp/cache: Require this if you want automatic caching of translators
- dev-master
- 5.x-dev
- 5.1.0
- 5.1.0-RC2
- 5.1.0-RC1
- 5.0.11
- 5.0.10
- 5.0.9
- 5.0.8
- 5.0.7
- 5.0.6
- 5.0.5
- 5.0.4
- 5.0.3
- 5.0.2
- 5.0.0
- 5.0.0-RC2
- 5.0.0-RC1
- 5.0.0-beta2
- 5.0.0-beta1
- 4.x-dev
- 4.5.7
- 4.5.6
- 4.5.5
- 4.5.4
- 4.5.3
- 4.5.2
- 4.5.1
- 4.5.0
- 4.5.0-RC1
- 4.4.17
- 4.4.16
- 4.4.15
- 4.4.14
- 4.4.13
- 4.4.12
- 4.4.11
- 4.4.10
- 4.4.9
- 4.4.8
- 4.4.7
- 4.4.6
- 4.4.5
- 4.4.4
- 4.4.3
- 4.4.2
- 4.4.1
- 4.4.0
- 4.4.0-RC2
- 4.4.0-RC1
- 4.3.x-dev
- 4.3.11
- 4.3.10
- 4.3.9
- 4.3.8
- 4.3.7
- 4.3.6
- 4.3.5
- 4.3.4
- 4.3.3
- 4.3.2
- 4.3.1
- 4.3.0
- 4.3.0-RC4
- 4.3.0-RC3
- 4.3.0-RC2
- 4.3.0-RC1
- 4.2.x-dev
- 4.2.12
- 4.2.11
- 4.2.10
- 4.2.9
- 4.2.8
- 4.2.7
- 4.2.6
- 4.2.5
- 4.2.4
- 4.2.3
- 4.2.2
- 4.2.1
- 4.2.0
- 4.2.0-RC1
- 4.2.0-beta1
- 4.1.7
- 4.1.6
- 4.1.5
- 4.1.4
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.1.0-RC2
- 4.1.0-RC1
- 4.1.0-beta1
- 4.0.x-dev
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 4.0.0-RC2
- 4.0.0-RC1
- 4.0.0-beta4
- 4.0.0-beta3
- 4.0.0-beta2
- 4.0.0-beta1
- 4.0.0-alpha1
- 3.x-dev
- 3.10.5
- 3.10.4
- 3.10.3
- 3.10.1
- 3.10.0
- 3.10.0-RC1
- 3.9.10
- 3.9.9
- 3.9.8
- 3.9.7
- 3.9.6
- 3.9.5
- 3.9.4
- 3.9.3
- 3.9.2
- 3.9.1
- 3.9.0
- 3.9.0-RC2
- 3.9.0-RC1
- 3.8.13
- 3.8.12
- 3.8.11
- 3.8.10
- 3.8.9
- 3.8.8
- 3.8.7
- 3.8.6
- 3.8.5
- 3.8.4
- 3.8.3
- 3.8.2
- 3.8.1
- 3.8.0
- 3.8.0-RC3
- 3.8.0-RC2
- 3.8.0-RC1
- 3.8.0-beta1
- 3.7.9
- 3.7.8
- 3.7.7
- 3.7.6
- 3.7.5
- 3.7.4
- 3.7.3
- 3.7.2
- 3.7.1
- 3.7.0
- 3.7.0-RC3
- 3.7.0-RC2
- 3.7.0-RC1
- 3.7.0-beta1
- 3.6.14
- 3.6.13
- 3.6.12
- 3.6.11
- 3.6.10
- 3.6.9
- 3.6.8
- 3.6.7
- 3.6.6
- 3.6.5
- 3.6.4
- 3.6.3
- 3.6.2
- 3.6.1
- 3.6.0
- 3.6.0-RC2
- 3.6.0-RC1
- 3.6.0-beta3
- 3.6.0-beta2
- 3.6.0-beta1
- 3.5.x-dev
- 3.5.17
- 3.5.15
- 3.5.14
- 3.5.13
- 3.5.12
- 3.5.11
- 3.5.10
- 3.5.9
- 3.5.8
- 3.5.7
- 3.5.6
- 3.5.5
- 3.5.4
- 3.5.3
- 3.5.2
- 3.5.1
- 3.5.0
- 3.5.0-RC2
- 3.5.0-RC1
- 3.4.x-dev
- 3.4.14
- 3.4.13
- 3.4.12
- 3.4.11
- 3.4.10
- 3.4.9
- 3.4.8
- 3.4.7
- 3.4.6
- 3.4.5
- 3.4.4
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.4.0-RC4
- 3.4.0-RC3
- 3.4.0-RC2
- 3.4.0-RC1
- 3.4.0-beta4
- 3.4.0-beta3
- 3.4.0-beta2
- 3.4.0-beta1
- 3.3.16
- 3.3.15
- 3.3.14
- 3.3.13
- 3.3.12
- 3.3.11
- 3.3.10
- 3.3.9
- 3.3.8
- 3.3.7
- 3.3.6
- 3.3.5
- 3.3.4
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.3.0-RC1
- 3.3.0-beta3
- 3.3.0-beta2
- 3.3.0-beta
- 3.2.x-dev
- 3.2.14
- 3.2.13
- 3.2.12
- 3.2.11
- 3.2.10
- 3.2.9
- 3.2.8
- 3.2.7
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.2.0-RC1
- 3.1.x-dev
- 3.1.13
- 3.1.10
- 3.1.9
- 3.1.8
- 3.1.7
- 3.1.6
- 3.1.5
- 3.1.4
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.1.0-RC1
- 3.1.0-beta2
- 3.1.0-beta
- 3.0.x-dev
- 3.0.18
- 3.0.15
- 3.0.13
- 3.0.12
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 3.0.0-RC2
- dev-5.next
- dev-4.next
- dev-3.next
- dev-3-1
- dev-3-0
This package is auto-updated.
Last update: 2024-09-21 03:06:23 UTC
README
CakePHP 国际化库
I18n 库提供了一个 I18n
服务定位器,可用于设置当前区域设置、构建翻译包和翻译消息。
此外,它还提供了 Time
和 Number
类,可用于输出指定区域设置的日期、货币和任何数字的正确格式。
用法
内部,I18n
类使用 Aura.Intl。熟悉它将帮助您了解如何构建和操作翻译包,如果您想手动创建翻译包而不是使用本库使用的约定。
设置当前区域设置
use Cake\I18n\I18n; I18n::setLocale('en_US');
设置包含 po 文件的文件夹路径。
use Cake\Core\Configure; Configure::write('App.paths.locales', ['/path/with/trailing/slash/']);
有关预期文件夹结构和文件命名的详细信息,请参阅CakePHP 手册。
翻译消息
echo __( 'Hi {0,string}, your balance on the {1,date} is {2,number,currency}', ['Charles', '2014-01-13 11:12:00', 1354.37] ); // Returns Hi Charles, your balance on the Jan 13, 2014, 11:12 AM is $ 1,354.37
创建自己的翻译器
use Cake\I18n\I18n; use Cake\I18n\Package; I18n::translator('animals', 'fr_FR', function () { $package = new Package( 'default', // The formatting strategy (ICU) 'default', // The fallback domain ); $package->setMessages([ 'Dog' => 'Chien', 'Cat' => 'Chat', 'Bird' => 'Oiseau' ... ]); return $package; }); I18n::getLocale('fr_FR'); __d('animals', 'Dog'); // Returns "Chien"
格式化时间
$time = Time::now(); echo $time; // shows '4/20/14, 10:10 PM' for the en-US locale
格式化数字
echo Number::format(100100100);
echo Number::currency(123456.7890, 'EUR'); // outputs €123,456.79
文档
请确保您检查了官方 I18n 文档。
Time 类的文档包含有关如何为所选区域设置配置和输出时间字符串的说明。
Number 类的文档展示了如何使用 Number
类在特定区域设置中显示数字。