wapmorgan/morphos-twig

为俄罗斯语复数和变格,向Twig模板引擎添加了 {{ plural }}, {{ name }}, {{ numeral }}, {{ ordinal }} 和 {{ money }} 过滤器。

安装次数: 30 173

依赖项: 0

建议者: 0

安全性: 0

星标: 9

关注者: 3

分支: 2

开放问题: 1

类型:twig-extension

1.6.0 2017-08-15 21:10 UTC

This package is auto-updated.

Last update: 2024-09-09 15:43:16 UTC


README

Latest Stable Version License

为Twig模板引擎添加 {{ plural }}, {{ name }}, {{ numeral }}, {{ ordinal }} 和 {{ money }} 过滤器,以支持俄罗斯语的复数和变格。

<div>
{{ 'новость'|plural(252) }} от {{ 'Иванов Иван Иванович'|name('родительный') }}
{{ 'сообщение'|numeral(565, 'n') }} и {{ 123.50|money('') }} за Ваше отсутствие
Это Ваше {{ 351|ordinal('n') }} посещение нашего сайта за сегодня!
</div>

将被编译在

<div>
252 новости от Иванова Ивана Ивановича
пятьсот шестьдесят пять сообщений и 123 рубля 50 копеек за Ваше отсутствие
Это Ваше триста пятьдесят первое посещение нашего сайта за сегодня!
</div>

最受欢迎的过滤器

  • {{ $word|plural($count) }} - 获取单词的复数形式。只需传递对象的数量和名词。

    {{ 'новость'|plural(251) }}
  • {{ $value|money($currency) }} - 获取以文本字符串格式化的货币。只需传递值和货币(₽ 或 $ 或 € 或 ₴ 或 £)。

    {{ 123.50|money('р') }}
  • {{ $number|numeral }} - 获取数字的基数。只需传递数字。

    {{ 565|numeral }}
  • {{ $number|ordinal }} - 获取数字的序数。只需传递数字。

    {{ 132|ordinal }}
  • {{ $name|name($case) }} - 获取任何格的全名,并检测性别。

    {{ 'Иванов Иван Иванович'|name('родительный') }}

附加过滤器

  • {{ $name|name($gender, $case) }} - 获取任何格的全名。只需传递名称、性别(mf 或 null)和格( именительный, родительный, дательный, винительный, творительный, предложный)。

    {{ 'Филимонов Игорь|name('m', 'дательный') }}
  • {{ $number|numeral($gender) }} - 获取数字的数。只需传递数字和性别(mfn),以使用性别依赖词的正确形式(один/одно/одна, два/две)。

    {{ 565|numeral('n') }}
  • {{ $word|numeral($number) }} - 获取带复数单词的数。只需传递数字和名词。

    {{ 'дом'|numeral(221) }}
  • {{ $word|numeral($number, $gender) }} - 获取带复数单词的数。只需传递数字、名词和性别(mfn),以使用性别依赖词的正确形式(один/одно/одна, два/две)。

    {{ 'сообщение'|numeral(565, 'n') }}
  • {{ $number|ordinal($gender) }} - 获取数字的序数。只需传递数字和性别(mfn),以使用性别依赖词的正确形式(первый/первое/первая, второй/второе/вторая, 等)。

    {{ 'сообщение'|ordinal('n') }}

安装

获取包

composer require wapmorgan/morphos-twig

注册服务

在您的 app/config 文件夹中打开 services.php,并添加以下行

$container
    ->register('morphos.twig_extension', morphos\MorphosTwigExtension::class)
    ->setPublic(false)
    ->addTag('twig.extension');

或者如果您使用Twig独立于Symfony

$twig = new Twig_Environment($loader);
$twig->addExtension(new morphos\MorphosTwigExtension());