Android-语言国际化
Android-语言国际化
参考
http://www.loc.gov/standards/iso639-2/php/code_list.php 各国语言表
Overview
Internationalization(国际化),又名I18n(因为这个单词的开头
I和结尾n只有有18个字母),与国际化相对的还有Localization(本地化),又名L10n(命名缘由相同)。Android 语言国际化,就是根据不同的区域(由系统设定)显示不同的语言.
Android国际化
这里我们以中文 和English 之间的国际化。
建立不同国家的values文件夹


因为我们这里要做的是中文和英文之间的国际化,所以我们这里仅仅就建立了values-en 这个目录,而values下的额strings.xml 则是我们的默认的语言(当系统的语言在程序的资源中没有被定义的话就加载此资源)。
开始进行布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="10dp"
    tools:context="little_david.internationalizationdemo.MainActivity">
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="用户名"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="密码"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="登录"
        android:textAllCaps="false"/>
</LinearLayout>
光标选中 hint 属性后按ALT+Entry 快捷键,依次的将所有的字符串都进行提取。


修改汉语为英语
编辑vlaues-en/strings.xml 文件
<!-- 这是编辑之前的文件 -->
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!--这是我们的应用程序名称,不会自动生成我们需要手动添加一下-->
    <string name="app_name">国际化 Demo</string>
    <string name="login_username">用户名</string>
    <string name="login_password">密码</string>
    <string name="login_login_btn">登录</string>
</resources>
<!-- 这是修改后的文件 -->
<resources>
    <!--这是我们的应用程序名称,不会自动生成我们需要手动添加一下-->
    <string name="app_name">Internationalization Demo</string>
    <string name="login_username">Username</string>
    <string name="login_password">Password</string>
    <string name="login_login_btn">Login</string>
</resources>
测试效果
在设置中修改当前语言版本为中文

修改当前系统语言为英文

总结
手动进行国际化太累了啊,我们要借助AndroidStudio的插件来帮助我们进行国际化操作。该插件的名称是
AndroidLocalizationer。 如何使用请百度。
Android-语言国际化的更多相关文章
- Zend_Frameowrk中进行多语言国际化的相关的配置和使用
		在使用Zend_Framework建立网站,若网站在以后的使用中面向国际,这时就需要实现网站的多语言国际化问题.使用Zend_Framework开发的网站需要进行多语言的开发时,就需要用到了Zend_ ... 
- android 语言切换过程分析
		android 语言切换过程分析 2014-02-27 18:13 1207人阅读 评论(0) 收藏 举报 语言切换android语言切换android改变语言 最近在看一个bug,系统切换语言后,本 ... 
- (三)Qt语言国际化
		Vs 2010+ Qt5 实现语言国际化 创建一个工程,cpp代码如下: 1.创建工程 #include "languageinternationalized.h" #includ ... 
- i18next-页面层语言国际化js框架介绍
		因为工作需要,最近研究了下网站语言国际化的问题,根据当前项目架构,寻求一种较好的解决方案.首先总结下项目中语言切换实现方式大概有以下几种: 1,一种语言一套页面,如:index_CN.html,ind ... 
- iOS语言国际化
		参考网站:http://blog.sina.com.cn/s/blog_7b9d64af0101jncz.html 语言国际化:根据系统不同的语言自动切换 Xcode6.2 一.在不同语言下工 ... 
- 自定义JSP标签实现语言国际化(类似struts text标签),并同时支持图片、JS文件国际化
		源代码及样例下载地址: http://download.csdn.net/detail/u014569459/7169385 一.功能说明: 1. 支持语言国际化 2. 支持图片文件.JS文件国际化 ... 
- JavaWeb之多语言国际化
		这周打算把国际化.JDBC和XML学习一下,从下周就开始学习三大框架,再坚持一个半月吧就能入门JavaWeb了,上周周末两天过的真是生不如死,两天坐在家里,醒来就写博客,原本在公司也自己操作了一遍,其 ... 
- Spring Boot + Freemarker多语言国际化的实现
		最近在写一些Web的东西,技术上采用了Spring Boot + Bootstrap + jQuery + Freemarker.过程中查了大量的资料,也感受到了前端技术的分裂,每种东西都有N种实现, ... 
- 使用 PySide2 开发 Maya 插件系列三:qt语言国际化(internationalization)
		使用 PySide2 开发 Maya 插件系列三:qt语言国际化(internationalization) 前言: 这是 qt for python 的语言国际化,基于 UI 的,python 也有 ... 
- Winform下的语言国际化,几行代码轻松实现
		最近做了一些关于winform的项目,需要用到winform的语言国际化,在初使化的时候用起来非常方便.可以参考一下: 核心逻辑: 预览效果演示: OK,以下是核心代码和操作流程 一,添加Langua ... 
随机推荐
- Pycharm使用详解
			Pycharm使用详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 古人云,工欲善其事,必先利其器.想要学好Python且拥有高效的开发效率,这个时候每个程序员都有自己的开发方式 ... 
- Java URL
			1.在网络编程的时候,一定不要忘记 <uses-permission android:name="android.permission.INTERNET"></u ... 
- mysql 创建用户自定义函数
			为了防止分号产生的中途输出,自己定义一个 分隔符,这里仿照mysql官方的例子:使用两个美元符号 $$ 作为分割符号,下面这段代码就是创建一个自定义mysql函数的原型了,可以在这个基础上修改,这样, ... 
- AngularJS开发指南:表达式
			---恢复内容开始--- 表达式是类似Javascript的代码片段,通常在绑定中用到,写在双大括号中如{{表达式}}.表达式是用$parse方法来处理的. 下面是一些合法的AngularJS表达式 ... 
- HDU 1229 还是A+B(A+B陶冶情操)
			题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1229 解题报告:A+B #include<cstdio> int main() { int ... 
- Struts2不扫描jar包中的action
			今天在做一个二开的项目,将struts打成jar包放在WEB-INF的目录下却扫描不到指定的路径,也就是http访问访问不到我们指定的action,其他代码可以正常使用,就是访问不到action.st ... 
- centos7和centos6的区别【转】
			最近发的文章,有人咨询我,说为啥不用centos7,而用centos6,这个跟个人习惯和生产环境元素决定的.centos7和6变化的就很大的.我收集了一些区别,给大家看看. 注意:生产环境推荐cent ... 
- 设计模式及Python实现
			设计模式是什么? Christopher Alexander:“每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心.这样你就能一次又一次地使用该方案而不必做重复劳动.” 设计 ... 
- HTTP2.0新特性
			参考:http://www.tuicool.com/articles/mq2qm26 
- 【前端node.js框架】node.js框架express
			server.js /* 以下代码等下会有详细的解释 */ var express = require('express'); // 用来引入express模块 var app = express() ... 
