某些语言如波斯语(波斯语)有从右到左的结构。
要完全执行i18n和l10n,我应该翻译字符串并翻转布局。
我完全使用翻译组件翻译字符串。
现在我正在尝试翻转布局。如何在symfony项目的twig文件中基于rtl
加载loacle
版本的CSS?
答案 0 :(得分: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 %}
然后,您可以添加基本模板的英语和波斯语(或任何您想要的语言)
应用/资源/视图/ base.en.html.twig 强>
{% extends '::base.html.twig' %}
在您的基本模板的波斯语版本中,由于您需要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 %}
然后,使用三级不变,您可以根据您的语言环境从右侧基本模板继承。这是您的布局首先应包含的内容,
{% extends '::base.' ~ app.request.locale ~ '.html.twig' %}