[英]Symfony2: How to set default locale and case insensitive translation
我剛剛開始使用symfony2,面臨一些困難,需要像你這樣的專家的幫助。
問題1:如何設置默認的區域設置和后備區域設置,以便人們嘗試點擊類似www.example.com/home或www.example.com/fr/home(不支持的區域設置)的內容將重定向到www.example.com / CN /家?
我從symfony2文檔( http://symfony.com/doc/current/book/translation.html )上閱讀了很多內容,並在谷歌搜索但我仍然無法使其工作。 不僅默認語言環境不起作用,后備語言環境也無效。 例如,當用戶嘗試輸入我的應用程序不支持的www.example.com/fr/home時,它會將用戶重定向到www.example.com/cn/home,但它無法執行此操作。
我也嘗試清除緩存,但似乎無法正常工作。
問題2:如何在不區分大小寫的情況下匹配翻譯密鑰?
例如,在我的翻譯文件(“message.cn.yml”)中包含
Welcome: 歡迎
所以在我的twig模板中,我使用{{' Welcome '| 它會幫助我轉換為歡迎但是當我使用{{' welcome '| 它不會轉換。 有沒有辦法讓它不區分大小寫,所以我不需要故意在message.cn.yml文件中加入“ welcome :歡迎”鍵。
非常感謝您的幫助和建議。 謝謝。
以下是我的應用文件供您參考:
翻譯文件:
參數文件:
配置文件:
特定包中的路由文件(“Acme / DemoBundle”):
樹枝文件:
這是我擊中時的結果
您可以為請求設置區域設置:
$this->container->get('request_stack')->getCurrentRequest()->setLocale($locale);
並且您可以使用請求偵聽器為每個請求設置區域設置: http : //symfony.com/doc/current/cookbook/service_container/event_listener.html#request-events-checking-types
對於第二個問題,您可以將轉換添加到小寫:
{{ 'WELCOME'|lower | translate}}
或者你可以創建自己的自定義枝條擴展,正在進行翻譯和其他內容: http : //symfony.com/doc/current/cookbook/templating/twig_extension.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.