oblik/kirby-plurals

为 Kirby 提供高级复数形式

安装: 178

依赖: 0

建议者: 0

安全: 0

星标: 17

关注者: 6

分支: 1

开放问题: 0

类型:kirby-plugin

1.0.0 2020-03-30 07:45 UTC

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
  • 范围,通过使用 startend
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-usen-gb,则需要将它们都映射到 en 复数化类,因为它们的复数规则相同

site/config/config.php

return [
    'oblik.plurals.map' => [
        'en-us' => 'en',
        'en-gb' => 'en'
    ]
];

在此处检查可用的复数化类 这里