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 ...
随机推荐
- pytho部分命令
python --version查看版本号 pip install XXX 安装模块 pip uninstall XXX 卸载模块
- 蓝桥杯 大臣的旅费_树的最长度_两次DFS
#include <iostream> #include <cstdio> #include <cstdlib> #include <algorithm> ...
- myBatis 3.2.7 如何打印 sql
该文中使用的log框架为logback myBatis3.0.6左右的版本时 打印sql的时候只需要配置如下属性: <logger name="java.sql.Connection& ...
- jQuery中Animate进阶用法(二)
Step Type: Function( Number now, Tween tween )每个动画元素的每个动画属性将调用的函数.这个函数为修改Tween 对象提供了一个机会来改变设置中得属性值. ...
- 从零开始编写自己的JavaScript框架(二)
2. 数据绑定 2.1 数据绑定的原理 数据绑定是一种很便捷的特性,一些RIA框架带有双向绑定功能,比如Flex和Silverlight,当某个数据发生变更时,所绑定的界面元素也发生变更,当界面元素的 ...
- 有关楼层滚动且对应楼层Nav导航高亮显示
$(document).ready(function(e) { //定义数组,储存楼层距离顶部的高度(floorsTop) var floorsTop=[]; function floorsTopF( ...
- 20155238 2016-2017-2 《Java程序设计》第五周学习总结
教材学习内容总结 Java语言中所有的错误都会包装为对象.使用try.catch可以对对象做处理. 设计错误对象都继承自java.lang.Throwable类.Throwable定义了取得错误信息, ...
- XMPP 基础
CHENYILONG Blog XMPP 基础 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilong ...
- Hash::make与Hash::check
调用方法之前要先去引用: use Illuminate\Support\Facades\Hash; 可以调用 Hash 门面上的 make 方法对存储密码进行哈希: $pwd = Hash::make ...
- 第11月第18天 RACSequence
1. RACSequence的内部存储结构就像一个单链表,有两个指针head和tail,head指针指向了当前链表的第一个元素,tail指向head指针下一个元素:根据RACSequence是否还有内 ...