【问题标题】:Android Change to a different strings.xmlAndroid 更改为不同的strings.xml
【发布时间】:2023-03-27 00:35:01
【问题描述】:

我有一个小问题需要解决。
在我的应用程序中,我将有一个设置,我将我的应用程序的语言从英语更改为瑞典语并返回。所以我想知道我应该怎么做?

当用户想要更改语言时,我可以更改为不同的 strings.xml 文件还是必须手动更改 strings.xml 中的所有文本?

请提供提示和示例我应该如何解决这个问题!

【问题讨论】:

标签: android xml string settings system


【解决方案1】:

你可以这样做:

String languageToLoad  = "your language code";
Locale locale = new Locale(languageToLoad); 
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, 
getBaseContext().getResources().getDisplayMetrics());

有了这个你基本上只是改变你的语言环境,因此你的语言

【讨论】:

  • 所以我创建了自己的文件夹 values-swe,然后我将 strings.xml 放入瑞典语中?但是我是否也需要所有其他 .xml 文件?比如数组、颜色、样式等?
  • 你必须创建一个 values-swe 文件夹,然后你可以把你的 strings.xml 文件放在那里。以不同语言提供您想要的所有内容
  • 我如何更改回默认值文件夹?
  • 默认文件夹通常是带有英文字符串的文件夹,所以只需重做此操作并将语言环境设置为“en”
【解决方案2】:

您需要在本地更改语言环境:

Resources res = context.getResources();
// Change locale settings in the app.
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = new Locale('fr');
res.updateConfiguration(conf, dm);

Change language programmatically in Android

【讨论】:

    猜你喜欢
    • 2011-06-22
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多