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-语言国际化的更多相关文章

  1. Zend_Frameowrk中进行多语言国际化的相关的配置和使用

    在使用Zend_Framework建立网站,若网站在以后的使用中面向国际,这时就需要实现网站的多语言国际化问题.使用Zend_Framework开发的网站需要进行多语言的开发时,就需要用到了Zend_ ...

  2. android 语言切换过程分析

    android 语言切换过程分析 2014-02-27 18:13 1207人阅读 评论(0) 收藏 举报 语言切换android语言切换android改变语言 最近在看一个bug,系统切换语言后,本 ...

  3. (三)Qt语言国际化

    Vs 2010+ Qt5 实现语言国际化 创建一个工程,cpp代码如下: 1.创建工程 #include "languageinternationalized.h" #includ ...

  4. i18next-页面层语言国际化js框架介绍

    因为工作需要,最近研究了下网站语言国际化的问题,根据当前项目架构,寻求一种较好的解决方案.首先总结下项目中语言切换实现方式大概有以下几种: 1,一种语言一套页面,如:index_CN.html,ind ...

  5. iOS语言国际化

    参考网站:http://blog.sina.com.cn/s/blog_7b9d64af0101jncz.html   语言国际化:根据系统不同的语言自动切换 Xcode6.2   一.在不同语言下工 ...

  6. 自定义JSP标签实现语言国际化(类似struts text标签),并同时支持图片、JS文件国际化

    源代码及样例下载地址: http://download.csdn.net/detail/u014569459/7169385 一.功能说明: 1. 支持语言国际化 2. 支持图片文件.JS文件国际化 ...

  7. JavaWeb之多语言国际化

    这周打算把国际化.JDBC和XML学习一下,从下周就开始学习三大框架,再坚持一个半月吧就能入门JavaWeb了,上周周末两天过的真是生不如死,两天坐在家里,醒来就写博客,原本在公司也自己操作了一遍,其 ...

  8. Spring Boot + Freemarker多语言国际化的实现

    最近在写一些Web的东西,技术上采用了Spring Boot + Bootstrap + jQuery + Freemarker.过程中查了大量的资料,也感受到了前端技术的分裂,每种东西都有N种实现, ...

  9. 使用 PySide2 开发 Maya 插件系列三:qt语言国际化(internationalization)

    使用 PySide2 开发 Maya 插件系列三:qt语言国际化(internationalization) 前言: 这是 qt for python 的语言国际化,基于 UI 的,python 也有 ...

  10. Winform下的语言国际化,几行代码轻松实现

    最近做了一些关于winform的项目,需要用到winform的语言国际化,在初使化的时候用起来非常方便.可以参考一下: 核心逻辑: 预览效果演示: OK,以下是核心代码和操作流程 一,添加Langua ...

随机推荐

  1. 菜单栏--Dom选择器

    制作一个左侧菜单栏,包含菜单目录和内容 点击菜单栏才会展示内容,否则隐藏内容 二.事例 2.1 菜单栏基本样式 <body> <div style="height: 48p ...

  2. poj 1776 Task Sequences

    http://poj.org/problem?id=1776 题意: 有一个机器要完成N个作业, 给你一个N*N的矩阵, M[i][j]=1,表示完成第i个作业后不用重启机器,继续去完成第j个作业 M ...

  3. [整理]ASP.NET MVC 5

    1.入门 1.1官方资料 http://www.asp.net/mvc/overview/getting-started/introduction/getting-started 疑问: startu ...

  4. STS热部署,springboot项目中修改代码不用重新启动服务

    方法如下: 1.在pom文件中引入  devtools  依赖: <dependency> <groupId>org.springframework.boot</grou ...

  5. [WC2008]游览计划 「斯坦那树模板」

    斯坦那树 百度释义 斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种.最小生成树是在给定的点集和边中寻求最短网络使所有点连通.而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开 ...

  6. KVM -> 虚拟化简介&虚拟机安装_01

    什么是虚拟化? 在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU.内存.磁盘空间.网络适配器等),予以抽象.转换后呈现 ...

  7. Java中获取包含变量的配置文件config.properties内容

    应用场景 有些时候项目中会用到很多路径,并且很可能多个路径在同一个根目录下,那为了方便配置的修改,达到只修改根目录即可达到一改全改的效果,此时就会想到要是有变量就好了: 另外有时候路径中的文件名是不确 ...

  8. 09 Go 1.9 Release Notes

    Go 1.9 Release Notes Introduction to Go 1.9 Changes to the language Ports ppc64x requires POWER8 Fre ...

  9. PHPWeb开发相关知识

    转载:https://blog.csdn.net/wj610671226/article/details/78426698 正则表达式 作用:分割.查找.匹配.替换字符串 分割符:正斜线(/).has ...

  10. SP14932 【LCA - Lowest Common Ancestor】

    专业跟队形 唯一一个有$\LaTeX$的 裸的$LCA$,我用的是$Tarjan~LCA$,注意两点相同特判 #include<iostream> #include<cstdio&g ...