不要试图重用不同的页面,也不要重用一个字符串。1.假设您的登录和注册页面都有一个加载对话框。您决定使用相同的string-R.string.loading,因为两者都有一个加载接口。但也许当您使用不同的字符串时,您需要重新创建两个新字符串并修改java代码。如果您从两个字符串开始,则只需修改strings.xml文件即可。2.你永远不知道你的应用会支持哪些语言。在一种语言中——也许你可以在不同的语境中使用同一个词,但在另一种语言中,不同的语境可能需要不同的词。请注意,在英文版的strings.xml中,字符串R.string.download_file_yes和R.string.terms_of_use_yes都是同一个词-"Yes"。但在乌克兰语版本中,R.string.download_file_yes使用“Γаразд”,而R.string.terms_of_use_yes使用“Так”。在同一页面上分隔字符串用前缀和注释分隔为每个字符串添加页面前缀,帮助您立即识别字符串属于哪个页面。干净的strings.xml文件可帮助您轻松维护和翻译成不同的语言-一次一页。为每个页面创建一个单独的strings.xml文件如果你想为每个页面创建一个strings.xml文件,你可以这样命名:settings-strings.xml,profile-strings.xml。但是一个应用程序通常有10到20个页面。所以每个语言目录下会有10到20个strings.xml文件。我个人认为这会带来混乱。Format格式化使用Resources#getString(intid,Object...formatArgs)格式化字符串千万不要用+号来连接字符串,因为不同的语言有不同的词序。正确的方法是使用Resources#getString(intid,Object...formatArgs)。复数使用Resources#getQuantityString(intid,intquantity)来处理复数永远不要在java代码中解决复数,因为复数的语法规则在不同的语言中是不同的。正确的方法是使用Resources#getQuantityString(intid,intquantity)。注:getQuantityString方法请看:AndroidQuantityStrings的getQuantityString方法取值问题单词高亮使用html文本高亮静态单词如果想改变TextView中部分单词的颜色-ForegroundColorSpan不总是***选择,因为它的高亮是通过索引完成的,而且在多种语言中是不安全的。***在strings.xml文件中使用html的字体颜色标签。假设您有一条文字为“发现并玩游戏”。您希望“Discover”和“play”这两个词以蓝色显示。
