2016-11-11 46 views
1

我想創建Symfony包,它將爲不同的語言保存不同的文本/標誌等。Symfony Bundle包含不同語言的不同文本

是否有可能(並正確)使用Symfony翻譯器以某種方式爲此功能? 或者它只是兩張桌子?

+1

爲什麼你不應該使用symfony的翻譯器來翻譯文本? – Federkun

+0

我不想做純粹的翻譯。如果我將例如ArticleBundle與此功能,我想在管理中設置爲cz - 標誌活動,文本 - 我們很酷vs en - 標誌不活動,文本 - 他們是壞的 – Jimi

回答

1

不確定,如果我理解正確的問題。

但對於不同的語言不同的文本,只要使用翻譯組件http://symfony.com/doc/current/translation.html

基本上,你創建兩個文件 - mytranslation.en.ymlmytranslation.cs.yml(英文和捷克)。他們每個人都有相同的轉換鍵,例如:

app.title: My English title 
app.description: This is my English translation. 
app.counter: You have been here %count% times so far. 

然後,控制器或服務,這樣使用翻譯服務:

$title = $this->get('translator')->trans('app.title', [], 'mytranslation'); 

或用一個參數:

$counter = $this->get('translator')->trans('app.counter', ['%counter%' => 2], 'mytranslation'); 

在一根樹枝模板,你可以做同樣的是這樣的:

{% trans_default_domain "mytranslation" %} 
{{ 'app.title'|trans }} 
{{ 'app.counter'|trans({'%counter%': 2}) }}