我有翻譯成3種語言的應用程序:英語,德語,波蘭語如何避免由於缺少字符串條目而導致的崩潰?
所以,我對於該項目的語言這三個文件夾:
values
strings.xml
values-en
strings.xml
values-de
strings.xml
values-pl
strings.xml
我已經意識到,如果我把所有字符串成值文件夾,並在波蘭語版本中缺少一些字符串,導致應用程序在訪問波蘭語版本中缺少的字符串時崩潰。
我原以爲系統只是從默認值文件夾中獲取字符串,如果它沒有在values-pl文件夾中找到它的話。
有什麼辦法可以捕捉到這些潛在的缺失字符串崩潰? EVen如果我可以在編譯器中得到一個警告,說明任何語言的字符串都丟失了,那麼可以嗎?
編輯和添加
其實另一個字符串缺少默認太....所以謝謝你的答案/評論!
但是現在我也測試了在默認的strings.xml文件中只有一個字符串缺少的情況,但是隻存在於所有其他文件中。我沒有得到任何警告或任何其他。
因此,在這種情況下,如果所有的字符串存在於德語,英語,PL但一個是在默認情況下丟失,那麼在中國的應用程序崩潰,例如(我當然明白的,因爲默認的缺失)。
但是困擾我的是我沒有找到任何方法來檢查代碼中所有引用字符串的完整性。這是我訪問缺失的字符串:
context.getString(R.string.MYTRING_abc),
從我expiriens如果有遺漏串項目不編譯。我正在使用eclipse juno。 – NickF 2013-04-25 19:54:43
如果你測試你的應用程序,用所有可用的語言,你不會問這個問題。對我來說,這是沒有道理的,爲什麼你只是不確定,在發佈你的應用程序之前,字符串是可用的。並非所有的例外都應該被捕捉,應該在它們發生之前處理。 – Darwind 2013-04-25 20:00:12
「我的應用程序已翻譯成3種語言:英語,德語,波蘭語」 - 不,您的應用翻譯成四種語言:英語,德語,波蘭語,以及您的'res/values /'目錄中的任何語言。如果你真的只把你的應用翻譯成三種語言,那麼其中一種語言需要轉移到'res/values /'中。你希望'res/values /'對於每一個字符串資源都有默認值,無論你希望認爲你的默認語言是什麼。 – CommonsWare 2013-04-25 20:10:47