2009-12-28 28 views
0

如何設置WebOs項目的dault語言? 在WebOS中添加國際化的標準方法是使用$ L()函數,我可以在其中設置翻譯字符串的關鍵字。但是,如果當前語言未在項目中指定,WebOS會向用戶顯示密鑰。我怎樣才能阻止這種行爲,並設置一個默認的語言,而不是密鑰。如何在WebOs中設置默認語言

PS:我認爲掌握真實世界語句的方式並不是編程的好方法。

錯誤的例子:$L("This should be not a real world sentence!!")
更好的例子:$L("key.subKey")

+0

有關背景, 「現實世界中的句子」 是使用的方法通過GNU gettext。 http://en.wikipedia.org/wiki/GNU_gettext – 2010-01-06 00:05:12

回答

1

您可以使用鍵值對解決這個問題(從Palm documentation):

如果原始字符串不適合作爲一個鍵,$ L()函數可以用一個明確的鍵調用:

$L("value":"Done", "key": "done_key"); 

在運行時,th調用$ L()的結果是作爲值傳遞的字符串的翻譯。該翻譯在/resources/locale/strings.json文件中「活」。

例子: 內容文件APP_NAME /資源/ es_us/strings.json的:

{

"My text here": "Mi texto aquí", 
"done_key": "Listo", 
"Some other string": "Some other string's translation" 

}

+0

這不完全是我想看到的解決方案。正如文檔所述,如果原始字符串不適合作爲關鍵字,則使用此示例,但如果未在資源中指定關鍵字,則不作爲回退。 在iPhone上,如果未在當前語言資源文件中指定密鑰,並且只有在此後備失敗時該密鑰顯示在應用程序中,纔可以設置默認語言。 – AlexVogel 2010-01-04 07:45:54

+0

這可能是如何工作的(我不知道)。如果您的strings.json沒有您已經本地化的字符串,是不是隻使用您在$ L()中放置的那個字符串?因此,您可以使用$ L作爲鍵值,並且如果該鍵存在於您的strings.json文件中,則會使用本地化版本,否則將使用您指定的值。 – etlovett 2010-01-04 16:58:47

相關問題