【问题标题】:Live playstore app not translating my textsLive Playstore 应用程序无法翻译我的文本
【发布时间】:2019-01-14 13:50:34
【问题描述】:

我创建了一个包含 2 个字符串文件的应用程序。 1.strings.xml里面的值 2. values-kn里面的strings.xml

当我的用户选择 kannada 时要翻译的代码如下:

Locale locale = new Locale(language);
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    getBaseContext()
            .getResources()
            .updateConfiguration(config, getBaseContext()
                    .getResources()
                    .getDisplayMetrics());

当我进行调试构建或发布构建并在不同的 Android 手机上运行它时,此代码运行良好。 但是,当我将应用程序包上传到 Play 商店时,它不会在该版本中更新我的语言。我还在 Play 商店中为 kn-in 添加了翻译,但我仍然无法将应用程序中的文本翻译成卡纳达语。

有人可以解释一下我在这里做错了什么还是我错过了什么?这个问题一直在消耗我的大脑。

【问题讨论】:

    标签: android build localization translation


    【解决方案1】:

    基本上,我的构建问题是,我正在尝试新的发布包功能并将其上传到 Play 商店。

    因此,如果您在发布时使用的是最新的 App Bundle 工具,那么它会在安装时根据用户的手机设置删除本地化文件。

    我得到了这个非常有用的tutorial,它教你如何即时更改应用程序语言,并且在它的 cmets 部分,我的问题的答案是谎言。

    要解决我的问题,我所要做的就是:

    把这个放在app文件夹内build.gradle文件的android标签内。

    android {
    //...
    //... removed for brevity
         bundle {
            language {
               enableSplit = false
            }
        }
    }
    

    希望它对可能遇到此问题的人有所帮助。干杯!

    【讨论】:

      【解决方案2】:

      根据 Google I/O 2018,Google Play 将负责即时下载所选语言。

      在极少数情况下,用户切换到一种新的语言,我们 以前不知道,Play 将动态提供相关的拆分 到他们的设备。 (https://youtu.be/0raqVydJmNE?t=13m9s)

      根据接受的答案,我们可以将其设置为 false,但在实际场景中不是必需的。用户很少可以更改语言,而 app bundle 可以帮助我们通过拆分资源来最小化 app 大小。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-13
        • 2019-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多