2013-05-19 166 views
1

我有代碼在哪裏選擇語言版式,並沒有 的工作。我們用ISO 3代碼deu的德文(deutsch)和西班牙文的spa進行了測試 - 它也沒有工作,或者代碼不同?Android語言選擇

String locale = Locale.getDefault().getISO3Language().toString(); 
if (locale.equals("spa")) { 
    setContentView(R.layout.es_pcversion); 
} else { 
    setContentView(R.layout.pcversion); 
} 
+0

什麼是 「語言環境」,使用Log.d其打印(TAG, 「區域:」 +區域)的值; – JafarKhQ

+0

我是Java和Android新手,你可以寫一些代碼嗎? – Atukamix

+1

爲什麼不使用res/values-de和res/values-es?然後,Android將只使用正確的值。在字符串區域設置= Locale.get ....後添加Log.d(「TAG」,「locale:」+ locale)後的 – Simon

回答

2

您必須使用值文件並翻譯您的文本里面。

例如,values-es中的string.xml將是您的西班牙語文本。

包含string.xml文件的增益文件夾是您的默認語言。

點擊此處瞭解詳情: Supporting Different Languages

+0

請問有什麼辦法如何提取所有硬編碼的文本到字符串?我有成千上萬行的XML代碼與硬編碼文本:D – Atukamix

+1

對不起,我不認爲這是可能的。這是項目早期實施的良好做法。 –