2013-05-19 119 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

对不起,我不认为这是可能的。这是项目早期实施的良好做法。 –