2015-08-21 63 views
1

在symfony2 multi-tenant architecture項目(具有專用可定製前端的多個用戶)上工作,其中多個客戶端在單獨文件夾中具有獨立資產,子域用於區分客戶端並根據客戶端加載相應的數據和資產,這就是設置我將如何去爲每個客戶端設置不同的語言,例如:客戶端1想要使用英文和西班牙文的網站,客戶端2希望英文和法文。symfony2將數據翻譯成其他語言(國際化和本地化)

  • 請問該應用下的symfony處理國際

>資源>翻譯我可以有不同的messages.yml但如何將他們(客戶端1的messages.en.yml和客戶端2的消息之間區分.en.yml)和我將如何動態加載

  • 如何加載只有特定的翻譯文件動態
+1

看看這個:http://www.webtipblog.com/extend-symfony-2-translator-to-log-untranslated-messages-to-a-database/ – malcolm

+0

@malcolm在博客中提到的RosettaBundle看起來很有前途 – Dheeraj

回答

0

如果我正確理解你,你想讓用戶考慮語言來顯示你的網站,對吧?

如果是,Symfony的提供國際化強大的機制: 在configuration.yml附加:

framework: 
    translator:  { fallback: "%locale%" } 
    default_locale: "%locale%" 

然後在routing.yml導入你的路線:

main: 
    resource: "@MyAwesomeBundle/Resources/config/routing.yml" 
    prefix: /{_locale} 
    requirements: 
    _locale: |uk|en 
    defaults: { _locale: en } 

更多信息,你可以得到here。如果你想在數據庫中存儲你的翻譯,你應該看看DoctrineExtensionsBundle。希望它會有所幫助。