首页 > 编程语言 >Android应用程序的国际化与本地化

Android应用程序的国际化与本地化

时间:2023-04-30 11:02:43浏览次数:55  
标签:xml zh 本地化 应用程序 values res Android strings


internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n。

 zh_CN, zh_TW.

 http://www.loc.gov/standards/iso639-2/php/code_list.php

http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html

在 Android工程的res目录下,通过定义特殊的文件夹名称就可以实现多语言支持。比如我们的程序兼容 简体中文、日文、英文、法文和德文,在values文件夹中建立默认strings.xml,再建立 values-zh-rCN(zh表示中文rCN表示简体,类似还有美式英语,奥式英语)、values-ja、values、values-fr和 values-de文件夹。(可以用开发工具建:见javascript:void(0))

在 每个文件夹里放置一个strings.xml,strings.xml里是各种语言字符串。如果涉及到参 数配置类xml文件夹也要改成xml-zh、xml-ja、xml、xml-fr和xml-de。这样在android的系统中进行语言切换,所开发的程 序也会跟着切换语言。

    在代码中切换语言:

    Resources resources = getResources();//获得res资源对象

    Configuration config = resources.getConfiguration();//获得设置对象

    DisplayMetrics dm = resources .getDisplayMetrics();//获得屏幕参数:主要是分辨率,像素等。

    config.locale = Locale.SIMPLIFIED_CHINESE; //简体中文

    resources.updateConfiguration(config, dm);

补:

添 加列表里的,Region和Language,Region值填写两位地区代码(美国为US,中国为ZH,台湾(繁体)为 TW),Language填写两位语言代码(英语en,中文cn)。有一点要注意,简繁体中文并不是由Language识别的,不管是简体还是繁 体,Language都填cn,如果要显示繁体,Region填为TW就可以了

 中文简体drawable-zh-rCN 中文繁体layout-zh-rTW



Android 应用程序的国际化与本地化机制是比较完善的,操作起来也比较方便。我们可以把要用到的所有字符串放在res\values目录下的strings.xml 文件中,在程序中以R.string.xx的形式来引用它们。把其他语言的字符串放在形如res\values-zh-rCN、res\values- zh-rTW目录下的strings.xml文件中,应用程序会根据手机语言的设置情况自动选择合适的语言。不只是字符串,程序中所用到的图片、音频、布 局等资源文件都可以通过这种形式来实现国际化与本地化。以下示例程序实现了字符串和图片文件的国际化与本地化。

程序目录如下:

标签:xml,zh,本地化,应用程序,values,res,Android,strings
From: https://blog.51cto.com/u_548275/6237797

相关文章

  • android中的像素单位dp、px、pt、s…
    pixels(设备独立像素).不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA推荐使用这个,不依赖像素。px:pixels(像素).不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。pt:point,是一个标准的长度单位,1pt=1/72英寸,用于......
  • android中退出当前应用程序的四种…
    Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(),接下里显示的是A。在B中如何关闭整个Android应用程序呢?本人总结了几种比较简单的实现方法。1.DalvikVM的本地方法android.os.Process.killProcess(android.os.Process.myPid())//获取PID......
  • android TextView属性大全
    android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。android:bufferType指定get......
  • Android Bitmap内存溢出问题解释
    Android平台在图片处理方面经常会出现OOM的问题,在去年开发的一个项目中,我也一直被这个问题所困扰,在这方面也搜集了许多的资料,今天仅仅针对Android平台的Bitmap说事儿,今后再对内存的问题做详细的探讨,android平台对图片解码这块确实设置的有内存上限,在解码Bitmap的时候android平台会......
  • Android开发中立即停止AsyncTask和…
    程序开发中经常会有立即停止线程运行的需要,而通过api是没有办法实现这个目的的,因此对于这个情况,我们需要采取一些“特殊”的方式来实现:  1,判断标志位的办法:  我们要知道在java的线程中,没有办法停止一个正在运行中的线程。在Android的AsyncTask中也是一样的。如果必须要停......
  • android上传base64的字符图片
    一般来说,目前在手机端上传图片,方法挺多的,不过常用的就是一个文件流,另一个是二进制转base64的字符流,下面分享一下方法网络上都是千篇一律的写法,对于上传过程中失败的问题也很少提及,上传失败的bug,主要的原因当然是编码字符的问题了,一般网上都没有介绍,记得要将base64的字符串转......
  • Android 用户界面---样式和主…
    样式是给View或Window指定外观和格式的属性集合。样式能够指定如高、边距、字体颜色、字体尺寸、背景颜色等属性。样式被定义在一个与布局XML文件分开的XML资源文件中。Android中的样式与Web设计中的层叠式样表类似,允许与内容分开设计。例如,通过使用样式,可以把下面这个布局XML转换......
  • Android应用程序的安装位置(二)
    不应该安装在外部存储器上的应用程序当用户启用USB存储器来跟计算机共享文件时(或者是卸载或移除外部存储器),任何被安装在外部存储器上,并且当前正在运行的应用程序都会被杀死。在USB存储器被禁用和外部存储器被重新挂载到设备上之前,系统不会有效的感知到引用程序的存在。除了终止应......
  • Django4全栈进阶之路23 项目实战(报修类型表):应用程序命名空间app_name和分页组件pagina
    1、应用程序命名空间app_namefromdjango.urlsimportpathfrom.importviewsfrom.viewsimportRepairDetailViewapp_name='repair'urlpatterns=[path('repair_types/',views.RepairTypeListView.as_view(),name='repair_type_list�......
  • uniapp android app 铃声静音,真正的免打扰
    需要加入这个权限:<uses-permissionandroid:name=\"android.permission.ACCESS_NOTIFICATION_POLICY\"/>代码:/***设置铃声为静音,媒体音量不变(免打扰)**/setDisturb(){//#ifd......