不要试图重用
但是说不定什么时候你使用不同的string了,这时你就需要重新创建两个新的string,而且还要修改java代码。如果一开始你就使用两个string的话,你需要修改的就只有strings.xml文件。 2. 你永远不知道你的应用要支持哪些语言。在某一种语言中-或许你可以在不同的上下文中使用同一个词语,但是在另一种语言中很可能不同的上下文需要不同的词语。 注意这里英语版本的strings.xml中,R.string.download_file_yes和 R.string.terms_of_use_yes两个string都是同一个单词-“Yes”。 但是在乌克兰语版本中R.string.download_file_yes用的是“Гаразд”,而R.string.terms_of_use_yes用的是“Так”。 分离
如果你想为每个页面创建一个strings.xml文件,可以这样命名:settings-strings.xml,profile-strings.xml。但是一个app通常有10到20个页面。所以每一个语言目录下都会有10到20个strings.xml文件,个人认为这带来的是混乱。 Format格式化
永远不要使用+号来拼接字符串,因为不同的语言语序是不同的。 正确的方式是使用Resources#getString(int id, Object… formatArgs)。 复数
永远不要在java代码中解决复数问题,因为不同语言中复数的语法规则是不同的。 正确的方式是使用Resources#getQuantityString (int id, int quantity)。 注:关于getQuantityString方法请看:Android Quantity Strings 的 getQuantityString方法取值问题 词语高亮显示
如果你想改变TextView中的某些单词的颜色-ForegroundColorSpan并不总是最佳选择,因为它的高亮是通过索引来完成的,而且在多语言下不安全。最好在strings.xml文件中使用html的font color标签。 假设你有一个“Discover and play games.” 的文本。你想让单词“Discover” 和 “play” 显示成蓝色。 编辑推荐:掘金是一个高质量的技术社区,从 Android 教程到面试经验,性能优化到炫酷动效,让你不错过互联网开发的每一个技术干货。长按图片二维码识别或到各大应用市场搜索「掘金」,技术干货尽在掌握中。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|