2011-12-06 27 views
1

我想发布我的问题很可靠。即时更改strings.xml

我有2个strings.xml一个是英文,另一个是印度本地语言,让它是泰米尔语。

我在泰米尔strings.xml中保持的strings.xml(英文)的所有属性的含义

最初我的应用程序将加载英语的strings.xml(正常)

我有按钮地方应用来改变(在这种情况下,泰米尔语)的语言 当点击这 - 我的整个应用程序应该读我的泰米尔人的strings.xml ..

我知道下面的代码只能为默认的locale

Resources res = getResources(); 
     DisplayMetrics dm = res.getDisplayMetrics(); 
     Configuration conf = res.getConfiguration(); 
     conf.locale = Locale.GERMANY; 
     res.updateConfiguration(conf, dm); 

这可以调整来阅读我自定义的strings.xml吗?

任何想法,不胜感激。

+0

请检查我的这个线程的答案http://stackoverflow.com/questions/4022566/custom-multi-language-support/4873524#4873524.我认为这可能会有所帮助。 –

+0

嗨Shashank,感谢您的回复..但我的问题是 - 是否有可能创建像文件夹一样的新文件夹-ta(ta for tamil)并使用您在线程中发布的方法...“ja”isn'吨为日本?这是在OEM(默认类的东西)..所以我可以在飞行中更改..但泰米尔语不在LOCALE我相信..我只是创建一个(定制文件夹和strings.xml为泰米尔语意义) –

回答

0

这是不可能的。只能更改手机的语言,而不是更改应用的语言。

为什么不进行设置活动,并在那里设置了一个选项来更改将用户转移到手机设置页面中的语言环境和文本的语言?

告诉我,如果你需要一个代码或类似的东西。

+0

嗨布罗克。感谢您的回应..正确!它可能只有当区域设置是在Android OEM ...所有我想创建strings.xml,并保持在值-ta(TA为泰米尔)..并更新配置使用其方法..这可能吗? –

+0

据我所知,这是不可能的...如果我找到这样的东西,我会写在这里... – Jovan

0

你的意思是你想在你的应用程序中根据需要从英语改为泰米尔语?

我称之为我的活动的onCreate这种方法:

public void setupLocale(Activity c, String NewLocale) { 
    Resources res = c.getBaseContext().getResources(); 
    Configuration newConfig = new Configuration(res.getConfiguration()); 
    newConfig.locale = new Locale(NewLocale); 
    res.updateConfiguration(newConfig, null); 
} 

其中c是我的活动和NewLocale是语言环境字符串我想用。例如法语“fr”,丹麦语“da”。不知道泰米尔人是什么,但你可能会做。

+0

嗨Kuffs,感谢您的回应..但我的问题是 - 是否有可能创建新的文件夹喜欢价值观塔(ta为泰米尔语),并使用你发布的方法.. ..所以我可以在飞行中改变它..但泰米尔语不在LOCALE我相信..我只是创建一个(自定义文件夹和用于tamil含义的strings.xml) –