1.前端界面代码

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:text="@string/user_id"android:textColor="#F44336"android:textSize="30sp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="@+id/textView"app:layout_constraintTop_toBottomOf="@+id/textView" /><TextViewandroid:id="@+id/textView"android:layout_width="153dp"android:layout_height="38dp"android:layout_marginTop="72dp"android:text="@string/user_name"android:textColor="#4CAF50"android:textSize="30sp"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.267"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toBottomOf="@+id/imageView" /><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="20dp"android:text="@string/user_phone"android:textColor="#03A9F4"android:textSize="30sp"app:layout_constraintStart_toStartOf="@+id/textView2"app:layout_constraintTop_toBottomOf="@+id/textView2" /><ImageViewandroid:id="@+id/imageView"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="84dp"android:src="@drawable/success"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.443"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

图片:

界面运行效果:

2.实现国际化

当手机设置相应的语言时App会自适应对应语言,如手机设置语言为英文,打开APP就自动将中文转变为英文,效果如下:

有二种实现方式:

  • 手动设置

前端的文本内容,是引用Values下的Strings.xml中的文本内容

手动方式就是新建不同的Values文件(Values-国际化后缀),然后Copy一份Strings.xml到新的Values中,然后将Strings.xml中的内容修改为对应语言描述。

这里Values的资源文件夹的写法规则有二种方式,第一种就是Values-国家简写,第二种方式就是Values-国家简写-地名。

中文(中国):values-zh-rCN
中文(中国台湾):values-zh-rTW
中文(中国香港):values-zh-rHK
英语(美国):values-en-rUS
英语(英国):values-en-rGB
英文(澳大利亚):values-en-rAU
英文(加拿大):values-en-rCA
英文(爱尔兰):values-en-rIE
英文(印度):values-en-rIN
英文(新西兰):values-en-rNZ
英文(新加坡):values-en-rSG
英文(南非):values-en-rZA
阿拉伯文(埃及):values-ar-rEG
阿拉伯文(以色列):values-ar-rIL
保加利亚文: values-bg-rBG
加泰罗尼亚文:values-ca-rES
捷克文:values-cs-rCZ
丹麦文:values-da-rDK
德文(奥地利):values-de-rAT
德文(瑞士):values-de-rCH
德文(德国):values-de-rDE
德文(列支敦士登):values-de-rLI
希腊文:values-el-rGR
西班牙文(西班牙):values-es-rES
西班牙文(美国):values-es-rUS
芬兰文(芬兰):values-fi-rFI
法文(比利时):values-fr-rBE
法文(加拿大):values-fr-rCA
法文(瑞士):values-fr-rCH
法文(法国):values-fr-rFR
希伯来文:values-iw-rIL
印地文:values-hi-rIN
克罗里亚文:values-hr-rHR
匈牙利文:values-hu-rHU
印度尼西亚文:values-in-rID
意大利文(瑞士):values-it-rCH
意大利文(意大利):values-it-rIT
日文:values-ja-rJP
韩文:values-ko-rKR
立陶宛文:valueslt-rLT
拉脱维亚文:values-lv-rLV
挪威博克马尔文:values-nb-rNO
荷兰文(比利时):values-nl-BE
荷兰文(荷兰):values-nl-rNL
波兰文:values-pl-rPL
葡萄牙文(巴西):values-pt-rBR
葡萄牙文(葡萄牙):values-pt-rPT
罗马尼亚文:values-ro-rRO
俄文:values-ru-rRU
斯洛伐克文:values-sk-rSK
斯洛文尼亚文:values-sl-rSI
塞尔维亚文:values-sr-rRS
瑞典文:values-sv-rSE
泰文:values-th-rTH
塔加洛语:values-tl-rPH
土耳其文:values--r-rTR
乌克兰文:values-uk-rUA
越南文:values-vi-rVN
缅甸语 : values-my

生成对应的string文件不用每个都改,这样很麻烦,教大家一个简单方法如下,选中文本,键盘输入alt+enter,后续操作如下:

  • 如果需要很多语言的时候,手动的切换很麻烦。这时需要用到Android Studio插件:AndroidLocalizationer,它可以实现一键国际化。

使用链接:https://github.com/DaveBoy/AndroidLocalizationer(需要申请百度或者谷歌的翻译key比较麻烦这里就不操作了)

安装成功后,右击strings.xml选择Convert to languages

点击ok就会自动生成对应的values文件

更改学习链接:点击学习!

Android实现国际化相关推荐

  1. Android语言国际化values资源文件命名规则

    今天,简单讲讲 android 里如何将语言国际化,和各个国家语言的value文件夹的命名规则. 昨天,需要将app的字符资源国际化,可是却不知道如何命名,在网上找了资料,终于解决了问题. Andro ...

  2. Android 语言国际化

    前言 我们在使用Android手机系统的时候经常在"设置"项里面会提供用户多种系统语言选择,比如:中文.英语-- 大家或许已经发现这些语言显示顺序都是"从左往右" ...

  3. Android App 国际化详解

    前言 internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化),简称L10n.一般用语言_地区的形式表示一种语言,如zh_ ...

  4. android语言国际化(最高适配Android31)

    android语言国际化适配其实也就那么回事,最主要要考虑适配的问题,sdk17以下和sdk17及以上Configuration配置Locale的方式有所改变,sdk N 及以上API发生了很大的变化 ...

  5. Android develop 国际化

    转自别人的一片文章,出处以找不到了,觉得写得不错,记录一下 一.概念 1.Internationalization(I18N) 国际化 使得App在不改的源码.资源文件的情况下,能够适应各国.各文化. ...

  6. Android之国际化部分文字生效而部分文字没有生效的坑

    1 问题 Android国际化我们知道只要在res目录下面,创建不同国家的文件夹然后,把不同国家对于的语言以键值对的方式写进strings.xml文件就行,这是一个非常简单的操作,但是今天遇到了一个很 ...

  7. 关于Android app 国际化 中英文翻译的细节处理

    导语: 最近一个项目上有要求完成app国际化,也就是如果系统语言是英文,那么你的app打开时就会自动读取string 中的字符串资源,自动完成匹配,以满足国际化需求,那么我们就按照步骤走,完成我们的a ...

  8. android i18n,Android i18n 国际化

    本文节选自<Netkiller Java 手札> Netkiller Java 手札 Mr. Neo Chan, 陈景峯(BG7NYT) 中国广东省深圳市望海路半岛城邦三期 518067 ...

  9. Android项目国际化(本地化,全球化,多语言)

    目标 在Android项目中实现国际化,支持多种语言. 开发工具 下载Android Studio 打开strings文件 添加其他语言 修改内容 关闭"Translations Edito ...

最新文章

  1. BZOJ 2820 YY的GCD 莫比乌斯反演
  2. 最强markdown编辑器typora图床教程-七牛版
  3. SAP云平台上的SSO Principal Propagation设置
  4. [JS]string.substr(start,length)str.slice(begin, end)
  5. 扎心了,程序员2017到2019经历了什么?
  6. 操作系统复习题+最终版
  7. [MEGA DEAL] Ultimate Java开发和认证指南(59%折扣)
  8. 第五十期:工作强度超996,失业半年即出局,硅谷为何如此“嗜血”?
  9. appcrash事件java,java – SpringBoot应用程序崩溃
  10. Eureka和Zookeeper注册中心的区别
  11. 语音转换截取N个文字进行转换
  12. 史上最全Android Studio快捷键 -2016-02-28
  13. 2440/6410+minitools+superboot烧写裸机新方法!
  14. 【每日新闻】Gartner:区块链热度高但实际部署较少且面临挑战 | 阿里巴巴宣布研制出全球最强量子电路模拟器“太章”...
  15. MPB:北林袁峥嵘组-​16S扩增子分析中常用软件及数据库应用现状
  16. 人体内部可视化系统市场深度研究分析报告
  17. 如何预测用户query意图 « 搜索技术博客-淘宝
  18. Excel 相同名称或ID的 内容 合并起来 同列不同内容剃加
  19. Solidworks绘制齿轮过程备注
  20. RobotStudio 建立机器人模型和虚拟示教器的使用

热门文章

  1. 智慧校园电子班牌系统开发 整套商业源码
  2. 鸿蒙定时重启软件,电脑定时自动关机怎么设置?学到就是赚到,赶紧学学!
  3. linux查看系统日志命令
  4. 数据库系统概论(第五版 王珊 萨师煊 编著)
  5. Cesium使用代理加载天地图CGCS2000切片数据
  6. 在Linux系统上运行.net core程序
  7. 离散数学复习总结 第一章 命题逻辑的基本概念
  8. 乔布斯与他的完美主义
  9. Apple Tree树状数组、前向星、DFS序(C语言)
  10. Sqlserver 修改字段长度