簡體   English   中英

Symfony2和Twig中的多語言

[英]Multilanguage in Symfony2 and Twig

如何在Symfony中創建多語言頁面? 在Symfony 1.0中,Jobeet教程有很好的描述。 但現在在symfony.com上,我還沒有看到與翻譯頁面有關的事情。 在symfony 1.4中,echo __('text'); 使用,但現在使用Symfony 2 TWIG。

Symfony2網站上有一個關於此的文檔部分。

你可以在這里查看: 翻譯

基本上,您可以在路由中訪問名為_locale的特殊屬性,該屬性放在您的URL中,並將用於在會話中設置區域設置。 請注意,使用此方案時,區域設置值將自動設置為Symfony2的Session

http://www.host.com/en/contact // English version
http://www.host.com/fr/contact // French version

您還可以在路由中指定默認的_locale值,因此不必在URL中提供區域設置。

http://www.host.com/contact    // English version if default _locale is 'en'

然后,在樹枝中,您使用特殊的變換器transtranschoice來翻譯消息。 您的消息可以是用作密鑰的密鑰或自然語言消息,通常是英語。

{{ 'user.prompt.welcome' | trans }} {# Key message #}
{{ 'Welcome to our site' | trans }} {# Natural language message #}

轉換消息的語言環境取自會話,因此更改會話中的語言環境(通過url或programmaticaly)會將轉換更改為其他內容。

這使用了引擎蓋下的translator服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM