属性translatable =“false”到根<resources>元素?

时间:2015-10-04 14:02:55

标签: android android-resources

我在一个values/fertilizers.xml文件中有一些化学名称字符串:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="grade_dap">Diammonium phosphate - DAP (18:46:00)</string>
    <string name="grade_ssp">Single super phosphate - SSP (00:16:00)</string>
    ...
</resources>

现在因为不应该翻译此文件中的所有这些字符串,我可以将单个translatable="false"属性放到根<resources>元素中,还是必须将它放在所有单个字符串中像这样的元素:
<string name="grade_dap" translatable="false">Single super phosphate - SSP (00:16:00)</string>

2 个答案:

答案 0 :(得分:22)

如果你想用它来避免lint警告,你可以简单地把 MissingTranslation 属性覆盖它们。

<?xml version="1.0" encoding="utf-8"?>

<resources
  xmlns:tools="http://schemas.android.com/tools"
  tools:ignore="MissingTranslation">

  <string name="grade_dap">Diammonium phosphate - DAP (18:46:00)</string>
  <string name="grade_ssp">Single super phosphate - SSP (00:16:00)</string>
  ...
</resources>

答案 1 :(得分:16)

参考Android Studio Project Site

  

如果你有很多不应该翻译的资源,你可以   将它们放在名为donottranslate.xml 的文件中,lint会考虑   所有这些都是不可翻译的资源。