Как перевести дату Twig - PullRequest
       11

Как перевести дату Twig

0 голосов
/ 30 декабря 2018

Я использую Twig для своего проекта в качестве движка шаблонов.

То, чего я хочу достичь - это перевести название месяцев.Например, 30 December до 30 Декабрь

Проект не был построен на Symfony или любой другой платформе.Это просто проект, построенный на PHP7 с шаблоном MVC.

1 Ответ

0 голосов
/ 30 декабря 2018

Возможно, вы можете использовать библиотеку Twig Extensions , которая предоставляет несколько полезных расширений для Twig: https://twig -extensions.readthedocs.io / en / latest / .

Он разработан теми же людьми, которые создали шаблонный движок Twig.

Вы можете использовать i18n Extension (https://twig -extensions.readthedocs.io / en/latest/i18n.html), то в своем коде вы будете использовать блок trans для пометки частей шаблона как переводимых:

{% trans "Hello World!" %}

{% trans string_var %}

{% trans %}
    Hello World!
{% endtrans %}

{% set name = object.name_property %}

{% trans %}
    Hello {{ name }}!
{% endtrans %}

Если вы простоЕсли вам нужно быстрое решение для перевода названий месяцев, и вы не хотите перегружать ваш проект другими зависимостями, вы можете создать простой Twig фильтр , как описано здесь: https://twig.symfony.com/doc/2.x/advanced.html#filters.

$filter = new Twig_Filter('trans', function ($string) {
    // $string is the month name...
    // return the translated string
    return ... ;
});

$twig = new Twig_Environment($loader);
$twig->addFilter($filter);

Затем используйте его в своем шаблоне:

{{ 'December'|trans }}
...