4

ペルシア語 (ペルシア語) などの一部の言語は、右から左への構造を持っています。

i18n と l10n を完全に行うには、文字列を変換してレイアウトを反転する必要があります。

翻訳コンポーネントを使用して文字列を完全に翻訳します。

今、私はレイアウトを反転しようとしています。symfony プロジェクト内の twig ファイルにrtl基づいて CSS のバージョンをロードするにはどうすればよいですか?loacle

4

1 に答える 1

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' %}

基本テンプレートのペルシャ語バージョンでは、html の RTL と特殊な 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 %}

次に、3 レベルの固有性を使用して、ロケールに応じて適切な基本テンプレートから継承できます。レイアウトに最初に含める必要があるものは次のとおりです。

{% extends '::base.' ~ app.request.locale ~ '.html.twig' %}
于 2012-11-06T14:41:22.773 に答える