现在我在android字符串资源中遇到%的疑问。问题如下:
如果我想在其他语言中使用%符号,例如中文。我必须在/values-zh-rCN/strings.xml中添加格式化字符串formatted =“false”。
是的,字符串标记必须具有格式化属性。
但是,它无法在英语语言的/values/strings.xml中添加此格式化的属性。它编译成功,运行良好。
为什么?
我在android开发者网站上找不到任何答案。
ps:我如何在stackoverflow编辑器中编写尖括号。我是大一新生。
Java代码:
autoDownloadLayout.findViewById(R.id.setItemContent)).setText(R.string.setting_auto_update_title_1_subtitle);
/values/strings.xml:
<string name="setting_auto_update_title_1_subtitle">Automatically download updates when connected to Wi-Fi, when the battery level is greater than 30% and CPU usage is less than 50%</string>
/values-zh-rCN/strings.xml:
<string formatted="false" name="setting_auto_update_title_1_subtitle">"仅在 WLAN 网络,手机电量高于 30% 且 CPU 占用率低于 50% 时,预先下载游戏更新包"</string>
答案 0 :(得分:0)
与默认字符串相比,检查翻译字符串时,Android Lint似乎有不同的想法。这是一个未解决的问题(Issue 74959)(虽然这不是你的问题)。从技术上讲,您应该将formatted="false"
添加到/values
中的字符串以及/values-zh-rCN
中的字符串中。
或者,您可以将所有文字百分号都编码为%
(或%
)。这可能是最简单(风险最小)的方法。