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) ———————–越南语,越南 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • VBA获取股票历史数据方法

    VBA获取股票历史数据方法Sub股票历史记录查询()Worksheets(“历史记录表”).Cells.Clear”输出结果表X=Application.CountA(Worksheets(“代码”).Range(“A:A”))”需要提取的股票代码Y=1Fori=2ToXdm=IIf(Worksheets(“代码”).Cells(i,1)<600000,…

  • 程序员java_java多线程的实现方式

    程序员java_java多线程的实现方式引言:“作为一名工作了十五年的老程序员,我深知编程行业的不容易,不仅需要应对高强度的工作,还需要学习大量的技术知识,而且不像医生、律师这些知识相对稳定的行业越老越吃香,软件行业的技术每隔一段时间就会更新换代,让你清零,逼着你从头再来。所谓“活到老,学到老”,用到程序员身上再合适不过了。在不断学习的过程中,我“痛恨”那些采用bottom-up方式来讲解技术的资料和文章,一上来就是技术细节、安装步骤、配置方法,让初学者晕头转向、不知所云,看完了以后也不知道为什么有这个东西、解决了什么问题、它有什么来龙去

  • 提升Mac os x 10.10+xcode6.1之后,Cocoapods发生故障的解决方案

    提升Mac os x 10.10+xcode6.1之后,Cocoapods发生故障的解决方案

  • docker离线安装配置

    docker离线安装配置1、下载docker的安装文件下载地址这里下载docker-20.10.8.tgz,将docker-20.10.8.tgz文件上传到系统上:将解压出来的docker文件内容移动到/usr/bin/目录下进入/etc/systemd/system/目录,并创建docker.service文件编辑docker.service:打开docker.service文件,将以下内容复制:[Unit]Description=DockerApplicationContainerEngin

  • Flume和Kafka结合使用的分析[通俗易懂]

    Flume和Kafka结合使用的分析[通俗易懂]转载地址:https://www.zhihu.com/question/36688175/answer/68692597http://blog.csdn.net/crazyhacking/article/details/45746191采集层主要可以使用Flume,Kafka两种技术:Flume:Flume是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展API。

  • datagrip激活码文本2021破解方法「建议收藏」

    datagrip激活码文本2021破解方法,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

发表回复

您的电子邮箱地址不会被公开。

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