簡體   English   中英

Symfony2區域設置檢測和轉換

[英]Symfony2 locale detection and translation

這就是我所堅持的。 我正在研究Symfony2並嘗試使翻譯工作。 但不知何故,我無法讓它按預期工作。 這就是我得到的。 在config.yml中

translator:      { fallback: de }
session:
        default_locale: en

messages.en.yml我有這個結構:

Please log in: Bitte melden Sie sich an

我也有類似的文件messages.en_US.ymlmessages.ru.yml等。

在代碼中我使用$this->get('session')->setLocale('ru_RU'); 更改區域設置。

但只有當語言環境設置為“en_US”或“de_DE”時,翻譯才有效。 在任何其他情況下,它返回鍵,而不是值。 我嘗試使用此代碼進行翻譯

return new Response($this->get('translator')->trans('Please log in').' '.$this->get('session')->getLocale()); 它返回我設置的語言環境。

那么什么可能導致這個問題呢?

您應該使用symfony命令清除緩存

app/console cache:clear --no-debug

然后最終恢復高速緩存的寫入權限/和描述日志/文件夾, 在這里

我自己找到了答案。 只需要清理Symfony的緩存。 使用控制台這樣做。 將目錄更改為myProject/app並使用此命令清理緩存和日志:

sudo rm -R cache/
sudo rm -R logs/

暫無
暫無

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

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