美文网首页
Android:应用多语言切换,国际化实现

Android:应用多语言切换,国际化实现

作者: yangSmallXing | 来源:发表于2018-10-30 17:36 被阅读0次

多语言切换原理:

生成多种语言的string.xml,里面放置对应的语言,修改配置(Configuration),重启之后就会加载对应语言的string.xml。

实现步骤:

1:在res目录下,生成对应的语言包,比如英语:


image.png

在res目录下生成了可看到生成了:


image.png
2:在对应string.xml内,需要使用相同的name的string;比如
中文简体:

<string name="hello">你好</string>
英语:
<string name="hello">hello</string>
之后就可以使用getResource.getString(R.string.hello),这个字符串会加载相对应的配置的语言。
3:修改语言配置

Resources resources = context.getResources();
DisplayMetrics dm = resources.getDisplayMetrics();
Configuration config = resources.getConfiguration();
//简体中文
config.locale = Locale.SIMPLIFIED_CHINESE;
//or 繁体中文
config.locale = Locale.TRADITIONAL_CHINESE;
// or 英文
config.locale = Locale.ENGLISH;

//更新语言配置
resources.updateConfiguration(config, dm);
//重启到主页
Intent intent = new Intent(context, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(intent);
 // 杀掉进程
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);

修改语言配置后,需要重新启动进程,并且杀死进程。

多语言切换细节

1:有些手机是可以在设置里直接切换语言的,这个也就是Configuration改变。用户重新设置系统语言导致应用的语言也会重新设置。Configuration改变,如果在Manifest中不设置android:configChanges忽略掉配置改变,Activity会重新创建,那么我们就可以在Activity的onCreate中,重新修改语言配置。
2:切换语言后,退出应用,重新进来,你会发现又是系统设置的语言。所以需要在Application开启时,需要再次切换语言配置。

相关文章

  • Android:应用多语言切换,国际化实现

    多语言切换原理: 生成多种语言的string.xml,里面放置对应的语言,修改配置(Configuration),...

  • i18n国际化

    vue中如何使用i18n实现国际化 一、前言 项目中需要实现多语言切换,这时候接触到国际化,前端框架无数,其中几种...

  • Flutter 多语言&多主题实现

    目录 多语言实现 多主题实现 状态管理 切换多语言 切换多主题 多语言实现 1. AndroidStudio-> ...

  • vue中如何使用i18n实现国际化

    一、前言 项目中需要实现多语言切换,这时候接触到国际化,前端框架无数,其中几种热门的框架都有相匹配的国际化插件工具...

  • vue中如何使用i18n实现国际化

    一、前言 在4k广告机中需要实现多语言切换,这时候接触到国际化,前端框架无数,其中几种热门的框架都有相匹配的国际化...

  • iOS 国际化多语言(下)

    前言 上一片文章介绍的是根据系统语言自动切换,现在我们来说说怎么在APP中手动切换多语言。iOS 国际化多语言(上...

  • Vue3 + Element Plus + i18n 国际化

    1 前言 本篇旨在 Vue3 + Element Plus 国际化配置,支持多语言切换 2 Vue3 国际化 2....

  • Android国际化多语言切换

    最近工作中突然要求要项目进行国际化,之前没遇到过。但是也很简单呀,只需要把添加一个相应语言的的strings.xm...

  • Android国际化多语言切换

    关于App国际化,之前有讲到国际化资源、字符换、布局相关,想要了解的猛戳用力抱一下APP国际化[https://j...

  • 在WinForm应用程序中快速实现多语言的处理

    在国际化环境下,越来越多的程序需要做多语言版本,以适应各种业务需求的变化。在Winform应用程序中实现多语言也有...

网友评论

      本文标题:Android:应用多语言切换,国际化实现

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