2012-11-05 23 views
4

波斯語(波斯語)等語言具有從右向左的結構。symfony2中的模板本地化

要完全做i18n和l10n,我應該翻譯字符串和翻轉佈局。

我完全使用翻譯組件翻譯字符串。

現在我試圖翻轉佈局。我怎樣才能加載rtl版本的CSS基於loacle在symfony項目內的樹枝文件?

回答

7

換句話說,你想根據你的語言環境加載正確的CSS文件。

小枝讓你順利處理這個。 這裏是你如何能做到這一點的例子,

首先,創建包含

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

然後,您可以添加的英語和波斯語(或任何你想要的語言)版本的全球app/Resources/views/base.twig.html模板您的基本模板

應用程序/資源/視圖/ base.en.html.twig

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

在你的基地模板的波斯版本,因爲你需要的RTL HTML和CSS的專業,你需要設置更多的細節就可以了,

應用程序/資源/視圖/ 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 %} 

然後,使用三級inherentence你可以從右邊基本模板根據您的語言環境中繼承。這裏是你的佈局應該首先包含什麼,

{% extends '::base.' ~ app.request.locale ~ '.html.twig' %} 
+0

我接受你的答案,但我一直在尋找資產的方式。可能是一個超過資產的插件 –