首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android – 多语言支持

1、字符串本地化如何工作 默认情况下,Android将英语作为主要语言并加载string资源从res⇒values⇒strings.xml。...例如,如果你想添加支持法国,你应该创建一个文件夹命名值values-FR和保持strings.xml文件所有字符串翻译成法语了。...所以它是强制性,默认stings.xml文件应该包含所有的字符串值给应用程序使用,以防止其他语言strings丢失字符串。 正确做法: 在支持多种语言时,在定义字符串时应该考虑下面的做法。...: 不要硬编码在Java代码或xml中,这样对多语言支持是困难。...你项目看起来应该这样一旦你创建所需文件/文件夹。 ? 多语言支持.png 翻译为现在字符串语言和他们在适当地方strings.xml文件。

1.2K70

Android App 国际化

\n 2.Strings.xml > Excel 现在已经整理好了strings.xml文件,下一步就是让专业翻译人员翻译对应语言。...其实直接提供strings.xml文件就可以了,但是这样不容易进行去重、统计、整理,一般整理出excel文档比较合适。...3.Excel > Strings.xml 得到翻译excel文档之后 依旧可以借助excel拼接功能,在D1输入拼接语句=""&C1&..."",可以生成符合strings.xml中格式要求内容 下拉统一格式,所有的都可以自动拼接 最后在项目中res目录下创建各自资源文件夹,右击res文件夹 > New > Android...中英文之间翻译存在长度不确定性,有时会出现换行现象。从翻译角度来看,可以翻译团队根据所属界面的特殊性重新翻译,尽量控制在一定字符以内。

4.5K41
您找到你想要的搜索结果了吗?
是的
没有找到

你真的会用Android中Strings资源

Android为了帮助开发者把应用更方便发布给全球不同语言的人们使用,建议开发者在进行开发时不要把UI呈现相关文本内容硬编码,而是把内容写入到strings.xml中,这样做更加灵活,也更方便翻译成不同其他语言...基本用法 比如我想在我应用页面上呈现一句话,叫“我想买一台Kindle”,那就可以strings.xml中加入如下: 我想买一台Kindle</string...strings资源让开发者可以自主在字符串任何位置加上参数,比如要解决这个问题,可以: 一 ...,比如想说:“我想买一台Kindle送给小明”,送给谁可以自定,则可以如下表达。...,我们可以用标签标注起来,这样我们把资源文件给他人或者使用Google Play自动翻译服务时,对方就知道该部分无需翻译

1.2K91

赶走那些Android工程中得冗余字符串

Android提供了一套很方便进行资源(语言)国际化机制,为了更好地支持多语言,很多工程翻译往往会放到类似crowdin这样平台上。资源是全了,但是还是会有一些问题。...哪些问题 以下使用一些语言进行举例。其中values为工程默认资源。 某语言资源和某语言限定区域资源之间。如values-fr-rCA存在于values-fr相同字符串,这种表现最为严重。...某语言资源和默认资源之间。values-fr存在与values相同字符串,可能原因是由于values-fr存在未翻译字符串导致 为什么要去重 洁癖,容不下半点冗余。...这样可以保证在values-fr-rCA下也可以正确读取到资源。 如果values-fr存在与values相同字符串。如去除values-fr中得重复字符串,保留values条目。...") else: return (basicLanguage + '/strings.xml', filePath + "/strings.xml

51720

【Android】解决TextView.setText提示Do not concatenate text displayed with setText. Use resource string

(#lint/SetTextI18n) (Ctrl+F1 Alt+T) 请勿使用setText方法连接显示文本.用占位符使用字符串资源(提示我们尽量使用strings.xml字符串显示文本)。...这样信息不能被正确翻译。...通过以上信息,我们可以得知: 不建议使用Numer.toString()方式进行字符串转换,建议使用规范格式(%d或%f)字符串代替; 不建议直接使用字符串文字直接显示文本,建议直接使用Android...---- 解决方法 通过上述对问题分析解读,我们上述类似问题所引发警告可以通过如下方式更规范化使用TextView.setText()方法: 使用String.format方法 在strings.xml...使用Android字符串资源替换字符串文字

1.8K20

利用WebView实现网页i18n

本文将介绍一个很geeky方法利用webview实现htmli18n。 基本概念 国际化是指在设计软件,将软件与特定语言及地区脱钩过程。...当软件被移植到不同语言及地区时,软件本身不用做内部工程上改变或修正。本地化则是指当移植软件时,加上与特定区域设置有关信息和翻译文件过程。 国际化和本地化之间区别虽然微妙,但却很重要。...国际化意味着产品有适用于任何地方“潜力”;本地化则是为了更适合于“特定”地方使用另外增添特色。用一项产品来说,国际化只需做一次,但本地化则要针对不同区域各做一次。...所以上述并不是一种很好方法 更Hacky实现 实现思路主要是借助强大Android系统资源适配机制(基于设备设备信息Locale等匹配最合适资源)。...加载网页 提供多个Locale文字资源 values/strings.xml lineos:false 1 2 3 4 5 <?

1.1K20

《移动互联网技术》第六章 资源管理: 掌握定制控件样式、界面主题、可绘制资源程序编写方法

在后续内容中会涉及更复杂资源使用。程序中如果要使用字符串,通过标签定义字符串。每一个字符串用一个标签表示。...创建一个round_button.xml文件。它会根据按钮状态切换使用不同样式(指向不同drawable)呈现动态效果。...在Android SDK中可以使用SQLiteDatabase.openOrCreateDatabase方法打开任意目录中sQLite数据库文件。 2、说明Android系统中两种资源。...res目录只能有一层子目录,而且这些子目录必须是预定义,如res/layout、res/values等都是合法res/abc,res/xyz并不是合法资源目录。...第二种就是放在assets文件夹下面的原生资源文件,放在这个文件夹下面的文件不会被R文件编译,所以不能第一种那样直接使用

7410

Android项目重构之路:界面篇

资源文件单一 Android提供了各种资源文件,strings.xml用来存储字符串,arrays.xml用来存储字符串数组,colors.xml用来存储颜色值,dimens.xml用来存储尺寸值,等等...资源文件单一,是说所有相关资源信息要在资源文件里定义并引用到代码或布局文件里,不是在代码或布局文件里直接定义。...因此,就必须规范好,应用界面中字符串统一在strings.xml中定义,颜色值统一在colors.xml中定义,尺寸值统一在dimens.xml中定义,代码或布局里需要用到都去引用资源文件相应字段...下面是我觉得对保持简洁有一定作用一些操作方法。 包组织 按照组件类型分包,不是按业务模块分包。业务有可能会变,但组件类型是基本不变。...资源文件分类 strings.xml文件用来存储应用中所有字符串,包括页面标题,按钮文字,标签文字,提示文字等等,应该做好分类并统一存放。

86640

优化 iOS 程序性能 25 个方法

它自动为你管理retain和release过程,所以你就不必去手动干预了。忘掉代码段结尾release简直记得吃饭一样简单。ARC会自动在底层为你做这些工作。...你可以使用NSURLConnection异步地做网络操作: ? 或者使用AFNetworking这样框架异步地做这些操作。...注意你可以通过 NSURLConnection 获取一个URL request, AFNetworking也一样这样你就不必为采用这条tip改变所有的networking代码了。...但是XML也有XML好处,比如使用SAX解析XML就像解析本地文件一样,你不需解析json一样等到整个文档下载完成才开始解析。当你处理很大数据时候就会极大地减低内存消耗和增加性能。...如果你使用SQLite,你可以用FMDB(https://GitHub.com/ccgus/fmdb)这个库简化SQLite操作,这样你就不用花很多经历了解SQLiteC API了。 23.

70740

Android教程-保存数据-支持多种语言

例如,values-es/ 是包含带有语言编码“es”本地方言简单资源路径 . Android 会根据设备在运行时方言设置加载相近资源 . 更多信息,键 提供可选资源.... 注意:你可以在任何资源类型上使用到这个方言限定符 (或者任何配置限定符), 比如你想要提供位图方言化版本. 更多信息,见 本地化....使用 String 资源可以使用由元素名称属性定义资源名称引用你资源代码和XML文件中字符串资源。 在你源代码中,你可以使用 R.string....引用字符串资源. 有各种方法可以用这种方式接受一个字符串资源 ....文件中, 无论何时XML属性药接收一个字符串值你都可以使用语法 @string/ 应用一个字符串资源 .

56030

iOS 性能优化常用技巧总结import

它自动为你管理retain和release过程,所以你就不必去手动干预了。忘掉代码段结尾release简直记得吃饭一样简单。ARC会自动在底层为你做这些工作。...)queue completionHandler:(void (^)(NSURLResponse, NSData, NSError*))handler 或者使用AFNetworking这样框架异步地做这些操作...这样你就不必为采用这条tip改变所有的networking代码了。 如果你需要缓存其它不是HTTP Request东西,你可以用NSCache。...但是XML也有XML好处,比如使用SAX解析XML就像解析本地文件一样,你不需解析json一样等到整个文档下载完成才开始解析。当你处理很大数据时候就会极大地减低内存消耗和增加性能。...如果你使用SQLite,你可以用FMDB(https://GitHub.com/ccgus/fmdb)这个库简化SQLite操作,这样你就不用花很多经历了解SQLiteC API了。

1.1K70

iOS最全性能优化之25个建议

或者使用 AFNetworking这样框架异步地做这些操作。...NSURLConnection默认会缓存资源在内存或者存储中根据它所加载HTTP Headers。你甚至可以手动创建一个NSURLRequest然后使它只加载缓存值。...注意你可以通过 NSURLConnection 获取一个URL request, AFNetworking也一样这样你就不必为采用这条tip改变所有的networking代码了。...比如你需要很多Sprite sheets,敌人,导弹之类动作类必备元素,你可以重用这些sprites不用每次都要重新创建。 15....但是XML也有XML好处,比如使用SAX 解析XML就像解析本地文件一样,你不需解析json一样等到整个文档下载完成才开始解析。当你处理很大数据时候就会极大地减低内存消耗和增加性能。

1.5K20

Android 14 Developer Preview一览

第一,现在可以调用LocaleManagersetOverrideLocaleConfig()方法动态设置当前应用所支持语言列表,不是Android 13那样只能在AndroidManifest.xml...第二,输入法软件可以调用LocaleManagergetApplicationLocales()方法获取当前App正在显示语言。这样可以针对性地调整键盘,以满足用户输入需求。...然后在创建字符串资源时候,可以将这些性别限定符也一同进行指定: 限定符 字符串资源文件 feminine res/values-fr-feminine/strings.xml masculine res.../values-fr-masculine/strings.xml neuter res/values-fr-neuter/strings.xml 这样,我们就在法语环境下,为不同性别的人群创建了独立字符串资源文件...静态注册的话,我们可以通过在AndroidManifest.xml中配置exported属性决定是否接收外部程序发送广播。 动态注册则没长期没有这项功能。

47320

手把手教你上手python库pydbgen(附代码、安装地址)

SQL或数据科学领域初学者通常会很难轻易访问大型示例数据库文件(.DB或.sqlite练习SQL命令。...幸运是,网上有许多高质量真实数据库可用于尝试学习热门机器学习技巧。但是,从我个人经验来看从个人经验来讲,我发现学习SQL并不是这样。...你能想到在网络上使用这个?你不想给出真实电子邮件ID,但是可以给出一个相似的?...有一些问题很容易想到: 我们可以将机器学习/统计建模和这个随机数据生成器集成? 可视化功能可以被添加到发生器中?...你也可以在Python,R或MATLAB以及机器学习资源中查找作者GitHub存储库(链接:https://github.com/tirthajyoti?

83660

第一个 Mono for Android 应用

资源将会和应用程序一起部署, 在运行时可以通过 AssetManager 使用类似下面的代码进行访问: public class ReadAsset : Activity { protected...比如, 一个简单 Android 应用包含一个界面描述文件 (main.axml) , 一个国际化字符串字典 (strings.xml) 以及图标 (icon.png) , 这些文件按照下面的结构保存在...则可以引用 values/strings.xml 文件中第一个字符串。... Android 程序则不同, 一个 Android 程序由一些松散 Activity 提供界面组成, 因此看起来有点儿 Web 应用程序, 任何一个 Activity 都可以通过 URL 启动...还是那句话, Mono for Android 最大好处是可以利用现有的 .Net 代码, CodePlex 以及 Github 上有丰富资源可以利用, 如果你熟悉 .Net 开发, Mono for

96610
领券