oblik / kirby-plurals
为 Kirby 提供高级复数形式
1.0.0
2020-03-30 07:45 UTC
Requires
- getkirby/composer-installer: ^1.1
- oblik/pluralization: ^1.3
This package is auto-updated.
Last update: 2024-09-04 21:08:20 UTC
README
允许您使用语言变量根据 Unicode CLDR 中定义的语言复数形式来翻译字符串。有关更多信息,请查看此插件的依赖项 php-pluralization。
安装
使用 Composer
composer require oblik/kirby-plurals
使用方法
您将获得一个 tp()
(翻译复数)辅助函数,它的工作方式与其他 辅助函数 相似,特别是与 tc()
。
以下是一个示例语言文件 en.php
return [ 'code' => 'en', 'default' => true, 'name' => 'English', 'translations' => [ 'apples' => [ 'one' => '{{ count }} apple', 'other' => '{{ count }} apples' ], 'place' => [ 'one' => '{{ position }}st', 'two' => '{{ position }}nd', 'few' => '{{ position }}rd', 'other' => '{{ position }}th' ], 'cookies' => [ 'other' => '{{ start }}-{{ end }} cookies' ] ] ];
您可以将
- 基数词,通过使用
count
键 - 序数词,通过使用
position
键 - 范围,通过使用
start
和end
键
tp('apples', [ 'count' => 1 ]); // 1 apple tp('apples', [ 'count' => 3 ]); // 3 apples tp('place', [ 'position' => 1 ]); // 1st tp('place', [ 'position' => 103 ]); // 103rd tp('cookies', [ 'start' => 3, 'end' => 4 ]); // 3-4 cookies
地区映射
如果您使用不同的地区名称,可以使用 oblik.plurals.map
配置选项将它们映射。例如,如果您有两种语言 en-us
和 en-gb
,则需要将它们都映射到 en
复数化类,因为它们的复数规则相同
site/config/config.php
return [ 'oblik.plurals.map' => [ 'en-us' => 'en', 'en-gb' => 'en' ] ];
在此处检查可用的复数化类 这里。