Android studio进阶之多语言/图片–国际化

Android studio进阶之多语言/图片–国际化

Android studio进阶之多语言编程–国际化

前段时间接到一个关于PDA的项目 , 其中需要用到国际化 , 之前做Java 的时候是丢jar对应的国际化语言的jar .开发过程中踩了点,本文就是记录自己的开发过程.

国际化,听着高大上,跨国际,满足更多市场以及产品需求.

 Android 中这种独特的资源管理方式。程序的代码可以不直接和资源发生关系。Android 中,我们通常通过 R 文件提供的索引来间接的引用某一个资源。而如何维护资源索引和真正的资源之间的关系,这个活,却是 Android 系统来做的。以及面试中经常问到的屏幕适配,相信每个人都有自己的理解

总体是份为三个步骤:

1. 在该工程res中右击New—>Directory—>输入对应国家的values值 

Android studio进阶之多语言/图片--国际化


2. 新建strings.xml放入相应的values位置 (最简便的方式就是复制选择对应第一步骤values值)

Android studio进阶之多语言/图片--国际化

3. 在对应国家的string.xml中编辑字符串 


Android studio进阶之多语言/图片--国际化


当然 , 最了解用户手机的,不是用户也不是程序员,而是Android操作系统。它最了解用户当前使用的是什么语言,最了解用户当前手机的分辨率是多少,了解电量,了解内存情况…等等。系统的环境选择语言


那么图片国际化 呢?


       同理。 

       在 res 下新建 drawable-zh 文件夹,存放中文环境下的图片 

       新建 drawable-en 作为英语环境下的图片 

       在 eclipse /android studio下新建 Android 项目时,会在 res 目录下自动创建三个默认语言环境的文件夹: 

       drawable-hdpi /drawable-xxhdpi 

       drawable-ldpi /drawable-xhdpi 

        drawable-mdpi /drawable-hdpi 

        分别用于存放高、中。低分辨率的图片。Android 系统会根据手机的分辨率,而自动从不同的对应的某一个文件夹下去加载图片。 

        同样,它们也可以国际化,命名规则如: 

        drawable-zh-hdpi 

        drawable-en-ldpi 

        drawable-en-rUS-mdpi           

      使用。在 XML 中需要使用到图片的地方用表达式: @drawable/icon 

      代码中使用:R.drawable.icon。因为图片资源同样也会在 R 文件中生成一个索引




*** android多国语言文件夹文件汇总如下:


中文(中国):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


===========================================

还有在网上找的其他国家string格式

Bulgarian, Bulgaria (bg_rBG) ———————保加利亚语,保加利亚 
Catalan, Spain (ca_rES) —————————加泰隆语,西班牙 
Czech, Czech Republic (cs_rCZ) —————–捷克语,捷克共和国 
Danish, Denmark(da_rDK) ————————丹麦语,丹麦 
German, Austria (de_rAT) ————————-德语,奥地利 
German, Switzerland (de_rCH) ——————-德语,瑞士 
German, Germany (de_rDE) ———————-德语,德国 
German, Liechtenstein (de_rLI) ——————德语,列支敦士登的 
Greek, Greece (el_rGR) —————————-希腊语,希腊 
English, Australia (en_rAU) ————————-英语,澳大利亚 
English, Canada (en_rCA) ————————–英语,加拿大 
English, Britain (en_rGB) —————————-英语,英国 
English, Ireland (en_rIE) —————————–英语,爱尔兰 
English, India (en_rIN) ——————————–英语,印度 
English, New Zealand (en_rNZ) ———————英语,新西兰 
English, Singapore(en_rSG) ————————–英语,新加坡 
English, US (en_rUS) ———————————–英语,美国 
English, Zimbabwe (en_rZA) ————————–英语,津巴布韦 
Spanish (es_rES) —————————————-西班牙 
Spanish, US (es_rUS) ———————————–西班牙语,美国 
Finnish, Finland (fi_rFI) ———————————芬兰语,芬兰 
French, Belgium (fr_rBE) ——————————-法语,比利时 
French, Canada (fr_rCA) ——————————-法语,加拿大 
French, Switzerland (fr_rCH) ————————–法语,瑞士 
French, France (fr_rFR) ——————————–法语,法国 
Hebrew, Israel (he_rIL) ———————————希伯来语,以色列 
Hindi, India (hi_rIN) ————————————-印地语,印度 
Croatian, Croatia (hr_rHR) —————————-克罗地亚语,克罗地亚 
Hungarian, Hungary (hu_rHU) ————————匈牙利语,匈牙利 
Indonesian, Indonesia (id_rID) ————————印尼语,印尼 
Italian, Switzerland (it_rCH) —————————-意大利语,瑞士 
Italian, Italy (it_rIT) —————————————意大利语,意大利 
Japanese (ja_rJP) —————————————-日语 
Korean (ko_rKR) ——————————————朝鲜语 
Lithuanian, Lithuania (lt_rLT) ————————–立陶宛语,立陶宛 
Latvian, Latvia (lv_rLV) ———————————拉托维亚语,拉托维亚 
Norwegian-Bokmol, Norway(nb_rNO) —————挪威语,挪威 
Dutch, Belgium (nl_rBE) ——————————–荷兰语,比利时 
Dutch, Netherlands (nl_rNL) —————————荷兰语,荷兰 
Polish (pl_rPL) ——————————————-波兰 
Portuguese, Brazil (pt_rBR) —————————葡萄牙语,巴西 
Portuguese, Portugal (pt_rPT) ————————葡萄牙语,葡萄牙 
Romanian, Romania (ro_rRO) ————————罗马尼亚语,罗马尼亚 
Russian (ru_rRU) —————————————-俄语 
Slovak, Slovakia (sk_rSK) ——————————斯洛伐克语,斯洛伐克 
Slovenian, Slovenia (sl_rSI) —————————-斯洛文尼亚语,斯洛文尼亚 
Serbian (sr_rRS) —————————————-塞尔维亚语 
Swedish, Sweden (sv_rSE) —————————-瑞典语,瑞典 
Thai, Thailand (th_rTH) ——————————–泰语,泰国 
Tagalog, Philippines (tl_rPH) ————————–菲律宾语,菲律宾 
Turkish, Turkey (tr_rTR) ——————————-土耳其语,土耳其 
Ukrainian, Ukraine (uk_rUA) ————————–联合王国 
Vietnamese, Vietnam (vi_rVN) ———————–越南语,越南 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115056.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicat 最新激活码-激活码分享

    (navicat 最新激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32P…

    2022年3月26日
    635
  • JS除法不是默认向下取整的

    JS除法不是默认向下取整的JS除法不是默认向下取整的今天刷题的时候,用到了二分,但是测试的时候居然超时了。。。然后我检查了好久,原来是我用除法获取中间索引值的时候,没有对中间索引值进行取整处理,后来查资料之后才知道javaScript中的除法和现实中的除法一样,不会自动向下取整,太坑了!!!下次一定记住!!!console.log(10/3);console.log(Math.floor(10/3));//向下取整console.log(Math.ceil(10/3));//向上取整console.log(Mat

    2022年6月21日
    44
  • 极大平面图

    极大平面图一特殊平面图1极大平面图及其性质极大平面图的两种情况,一种是K1到K4四种特殊情况,即1阶到4阶的完全图是极大可平面图另一种就是一般的情况,任意非邻接顶点间添加一条边后,得到的图均是非可平面图。二、平面图的对偶图…

    2022年5月12日
    66
  • 【机器学习】彻底理解神经网络中的反向传播算法(BP)

    【机器学习】彻底理解神经网络中的反向传播算法(BP)目录1,前言2,例程Step1前向传播Step2反向传播3,代码实现1,前言最近在看机器学习神经网络方面的知识,也看了很多关于反向传播算法原理的介绍,有一篇文章写的很好,在这里记录下,并且加入自己的理解。反向传播法其实是神经网络的基础了,但是很多人在学的时候总是会遇到一些问题,或者看到大篇的公式觉得好像很难就退缩了,其实不难,就是一个链式求导法则反复用。如果不想…

    2022年5月3日
    55
  • 【Unity技能】做一个简单的NPC

    【Unity技能】做一个简单的NPC

    2022年1月2日
    50
  • 锐捷交换机基础配置命令

    锐捷交换机基础配置命令ip地址:ip地址就像你的名字,在你所在的地方管用。mac地址:就像你的身份证,在所有的地方都管用。enable—-进入特权模式config—-进入全局配置模式hostnameruijie2021—-更改设备名称vlan10—-创建vlan10(vlan-虚拟局域网)name123—-给vlan设置名称interfacevlan10—-进入vlan10ipaddress192.168.10.1255.255.255.0—

    2022年6月16日
    107

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号