2013-11-27 44 views
2

我所有的文本都在string.xml文件中,而这些文件又包含在文件夹values-hi, values-en中。如何指定区域设置马拉或请让我知道的语言说明符值文件夹设置内容之前获取马拉串支持马拉语言

public void setLanguage(String language) { 
    Locale locale = new Locale(language); 
    Locale.setDefault(locale); 
    Configuration config = new Configuration(); 
    config.locale = locale; 
    Locale.getAvailableLocales(); 
    if (checkForLocaleSupport(locale)) { 
     getBaseContext().getResources().updateConfiguration(config, 
       getBaseContext().getResources().getDisplayMetrics()); 
    } 

} 

public boolean checkLocaleSupport(Locale locale){ 
    Locale[] locs= Locale.getAvailableLocales(); 
    for(Locale l:locs){ 
     if(l.equals(locale)){ 
      return true; 
     } 
    } 
    return false; 
} 

在我的主要活动IM设置语言setLanguage(“HI”)的onCreate()方法。然后设置内容并使用textView即时做mHeaderText.setText(R.string.my_header);我的头文件是从string.xml中读取的,其值为hi-hi文件夹。但如果我将语言设置为“mr”,则不会从values-mr文件夹中获取字符串。非常感谢您的帮助

+0

尝试回答你的问题,我目前正在读这篇文档http://developer.android.com/reference/java/util/Locale.html – Poutrathor

+1

http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes我发现marathi – Poutrathor

+0

@adi给我的方法checkForLocaleSupport()在上面的代码 – dipali

回答

4

因此,从您给我留言的2个链接中选择您的文件夹为values-mr

编辑:相关链接: http://developer.android.com/reference/java/util/Locale.html

http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

+0

请检查我的编辑以上问题。谢谢。 – Adi

+0

谢谢@Poutrathor它的工作文我删除了语言环境支持的检查。我认为我使用的设备didn hav支持“mr”语言环境 – Adi

+1

啊,很高兴听到。我理解这些行'假设所有设备具有相同的语言环境也是错误的。在美国销售的设备几乎可以肯定支持en_US和es_US,但不一定是具有相同语言但不同国家(如en_GB或es_ES)的任何语言环境,也不一定是其他语言的任何语言环境(如de_DE)。对于在欧洲销售的设备来说,情况恰好相反。“作为区域支持取决于设备制造商,而不是Android,但我不确定。 – Poutrathor