美文网首页
android 多语言

android 多语言

作者: 细雨么么 | 来源:发表于2023-08-30 14:44 被阅读0次

    项目背景#

    公司项目本来就是有多语言的,但是不同国家客户的人对语言翻译的认知是不同的。因此会出现一种情况。两个客户,觉得同一种语言下的翻译是不同的。

    解决方案##

     locale = new Locale("en","ab");//country 代码限制1,字母2, 两位
    

    locale中的地区是可以瞎写的。规则见注释。


    对应的文件夹

    见图,可以看到瞎写的文件夹国旗都是识别不出来的。
    但是切换是能正常识别到该文件夹下配置的内容的。

      public void updateLocales(LocaleList locales) {
            try {
                Class classActivityManager = Class.forName("android.app.ActivityManager");
                Method getService = classActivityManager.getDeclaredMethod("getService");
                Object objIActivityManager = getService.invoke(classActivityManager);
                Class classIActivityManager = Class.forName("android.app.IActivityManager");
                Method getConfiguration = classIActivityManager.getDeclaredMethod("getConfiguration");
                Configuration config = (Configuration) getConfiguration.invoke(objIActivityManager);
                config.setLocales(locales);
                Class[] clzParams = {Configuration.class};
                Method updateConfiguration = classIActivityManager.getDeclaredMethod("updatePersistentConfiguration", clzParams);
                updateConfiguration.invoke(objIActivityManager, config);
                // Trigger the dirty bit for the Settings Provider.
                BackupManager.dataChanged("com.android.providers.settings");
                killSettingApp();
            } catch (Exception e) {
                // Intentionally left blank
            }
        }
    

    相关文章

      网友评论

          本文标题:android 多语言

          本文链接:https://www.haomeiwen.com/subject/faqamdtx.html