我试图将应用程序本地化为代码集中的语言:ISO 639-3。 这种语言在澳大利亚使用,被称为Gupapuyŋu。
在目录树中,我创建了:res / values-guf / strings.xml。但是,没有加载任何本地化字符串:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">ABN Dhupuma</string>
<string name="action_settings">Ŋäj</string>
<string name="about">Nhämirri</string>
</resources>
以下是代码:
private void setLocaleGupapuyŋu() {
Locale gupapuyŋu;
Context con = getBaseContext();
Resources res = con.getResources();
if(BuildConfig.VERSION_CODE < Build.VERSION_CODES.LOLLIPOP) {
//gupapuyŋu = new Locale("guf", "au");
gupapuyŋu = new Locale("guf");
} else {
gupapuyŋu = new Locale.Builder()
.setLanguage("guf")
//.setRegion("au")
//.setScript("lati")
.build();
}
Log.v("Language", gupapuyŋu.getDisplayCountry());
Locale.setDefault(gupapuyŋu);
Configuration config = new Configuration();
config.locale = gupapuyŋu;
DisplayMetrics displayMetrics = con.getResources().getDisplayMetrics();
res.updateConfiguration(config, displayMetrics);
}
谢谢你们和男士们,感谢他们的努力。