如何翻译嫩枝日期

时间:2018-12-30 08:03:05

标签: php model-view-controller twig translate

我正在为我的项目使用Twig作为模板引擎。

我要实现的是翻译月份名称。例如google play services location30 December

项目不是基于symfony或任何其他框架构建的。它只是基于PHP7并带有MVC模式的项目。

1 个答案:

答案 0 :(得分:1)

也许您可以使用 Twig扩展库,该库为Twig提供了几个有用的扩展:https://twig-extensions.readthedocs.io/en/latest/

它是由创建Twig模板引擎的同一人开发的。

您可以使用 i18n扩展名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过滤器,如下所述:{{ 3}}。

$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 }}