symfony2中的模板本地化

Moh*_*ari 4 localization symfony twig

像波斯语(波斯语)这样的语言有从右到左的结构.

要完全做i18n和l10n,我应该翻译字符串和翻转布局.

我完全使用翻译组件翻译字符串.

现在我正在尝试翻转布局.如何在symfony项目中的twig文件中加载rtl基于CSS的CSS版本loacle

Ahm*_*ani 7

换句话说,您希望根据您的语言环境加载正确的CSS文件.

Twig可让您顺利处理.这是一个如何做到的例子,

首先,创建一个app/Resources/views/base.twig.html包含的全局模板

{% block head %}
{% block direction %}
    <HTML>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
{% endblock %}
    <head>
    <!-- put here your head meta data -->
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

然后,您可以添加基本模板的英语和波斯语(或您想要的任何语言)版本

应用程序/资源/视图/ base.en.html.twig

{% extends '::base.html.twig' %}
Run Code Online (Sandbox Code Playgroud)

在您的基本模板的波斯语版本中,由于您需要RTL for html和专门的CSS,您需要在其上设置更多详细信息,

app/Resources/views/base.fa.html.twig(我猜"fa"是波斯语的语言代码)

{% extends '::base.html.twig' %}

{% block direction %}
    <HTML DIR="RTL">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
{% endblock %}
{% block stylesheet %}
    {{ parent() }}
    <!-- Add here your specified stylesheets -->
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

然后,使用三级不变,您可以根据您的语言环境从右侧基本模板继承.这是您的布局首先包含的内容,

{% extends '::base.' ~ app.request.locale ~ '.html.twig' %}
Run Code Online (Sandbox Code Playgroud)