【问题标题】:change language apk failed更改语言 apk 失败
【发布时间】:2020-04-16 08:10:18
【问题描述】:

我想更改英语应用程序的语言。我创建了一个 strings.xml 和 values-fr 文件,但是当我启动应用程序时,它仍然是英文的。并且当我用FR直接替换原始字符串时,重新编译失败了。我该怎么办

谢谢

【问题讨论】:

  • 能否请您添加版本和代码示例?
  • 这听起来很正确。 Android 将使用手机设置中设置的语言。说英语的用户会得到英文文本。法语用户使用法语文本。
  • 是的,但是当我在我的法国手机上加载 apk 时,它的英文文本......但我不知道在哪里可以找到我必须更改本地文件 FR 的文件

标签: android apk apktool


【解决方案1】:

您已经更新了应用程序的 Locale 和 Configration ,下面给出了如何设置应用程序 Locale 的示例。

private static Context updateResources(Context context, String language) {
        Locale locale = new Locale(language);
        Locale.setDefault(locale);

        Resources res = context.getResources();
        Configuration config = new Configuration(res.getConfiguration());
        if (Build.VERSION.SDK_INT >= 17) {
            config.setLocale(locale);
            context = context.createConfigurationContext(config);
        } else {
            config.locale = locale;
            res.updateConfiguration(config, res.getDisplayMetrics());
        }
        return context;

   }

就像您的情况一样,您可以将其设置为 -

updateResources(this, "fr")

【讨论】:

  • 我没有这样做。这些行在哪个文件夹中?我开始.. Asset, lib, original,res ;smali ?谢谢
  • image.noelshack.com/fichiers/2020/16/4/… 它是一个屏幕;哪里可以找到这段代码,什么文件?