项目作者: wapmorgan

项目描述 :
Morphos adapter for Twig
高级语言: PHP
项目地址: git://github.com/wapmorgan/Morphos-Twig.git
创建时间: 2017-02-02T22:39:12Z
项目社区:https://github.com/wapmorgan/Morphos-Twig

开源协议:

下载


MorphosTwig

Latest Stable Version
License

Adds {{ plural }}, {{ name }}, {{ numeral }}, {{ ordinal }} and {{ money }} filters to Twig templating engine for Russian pluralization and declenation.

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

Will be compiled in

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

Most popular filters:

  • {{ $word|plural($count) }} - Get plural form of word. Just pass count of objects and noun.

    1. {{ 'новость'|plural(251) }}
  • {{ $value|money($currency) }} - Get money formatted as text string. Just pass value and currency (₽ or $ or € or ₴ or £).

    1. {{ 123.50|money('р') }}
  • {{ $number|numeral }} - Get cardinal of a number. Just pass number.

    1. {{ 565|numeral }}
  • {{ $number|ordinal }} - Get ordinal of a number. Just pass number.

    1. {{ 132|ordinal }}
  • {{ $name|name($case) }} - Get any case of fullname with gender detection.

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

Additional filters:

  • {{ $name|name($gender, $case) }} - Get any case of fullname. Just pass name, gender (m or f or null) and case (именительный, родительный, дательный, винительный, творительный, предложный).

    1. {{ 'Филимонов Игорь|name('m', 'дательный') }}
  • {{ $number|numeral($gender) }} - Get numeral of a number. Just pass number and gender (m or f or n) to use correct form of gender-dependent words (один/одно/одна, два/две).

    1. {{ 565|numeral('n') }}
  • {{ $word|numeral($number) }} - Get numeral with a pluralized word. Just pass number and noun.

    1. {{ 'дом'|numeral(221) }}
  • {{ $word|numeral($number, $gender) }} - Get numeral with a pluralized word. Just pass number, noun and gender (m or f or n) to use correct form of gender-dependent words (один/одно/одна, два/две).

    1. {{ 'сообщение'|numeral(565, 'n') }}
  • {{ $number|ordinal($gender) }} - Get ordinal of a number. Just pass number and gender (m or f or n) to use correct form of gender-dependent words (первый/первое/первая, второй/второе/вторая, etc).

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

Installation

Get the Package

  1. composer require wapmorgan/morphos-twig

Register the Service

Open up your services.php in your app/config folder, and add the following lines:

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

or if you using Twig separately from Symfony

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