2016-05-13 17 views
-2

我使用來自yesod(模塊Text.Shakespeare.I18N)的應用程序的本地化。 下面是示例代碼Yesod中的本地化

data STest = STest 
mkMessage "STest" "messages" ("ru") 
trMsg msg = renderMessage STest ["ru"] msg 

但是,如果我想在同一時間使用多個本地化,我嘗試

mkMessage "STest" "messages" ("ru") 
mkMessage "STest" "messages" ("en") 

mkMessage "STest" "messages" ("ru", "en") 

這一決定是一個錯誤! 如何在同一時間使用多個本地化?

非常感謝您的幫助!

回答

3

我認爲yesod book有一個應該完全解決您的問題的例子,應該顯示兩種語言(希伯來語,英語)和消息。

另外,documentation大約是這個mkMessages功能

mkMessage

:: String基本名稱很清楚使用翻譯類型
-> FilePath子目錄包含翻譯文件
-> Lang默認翻譯語言
-> Q [Dec]從translat生成翻譯離子文件

此功能將:

看在在。味精結尾的文件所提供的子目錄基於構造函數一個 類型發現創建一個RenderMessage實例

所以,你想有多種默認語言 - 這是不可能的。請閱讀我提供給yesod書籍的鏈接 - 我希望這可以解決您的所有問題。