如何修复字符串资源警告:“缺少占位符名称”

时间:2014-02-20 10:37:03

标签: android eclipse warnings android-resources

在Android strings.xml文件中,我有一个包含两个参数的字符串资源:

<string name="menu_greeting_loggged_in">Hello %1$s %2$s</string>

问题是我有一个Android lint警告说:

  

缺少占位符名称。

解释问题没有显示。

如何修复此警告及其含义是什么?如何添加所需的占位符名称?

1 个答案:

答案 0 :(得分:2)

我偶然发现了我认为可能解决的问题。只需在占位符参数周围添加<xliff:g>标记,如下所示:

<xliff:g id="HOURS" example="2 hours">%1$s</xliff:g>

因此,对于上面的示例,请将字符串定义替换为例如:

<string name="menu_greeting_loggged_in">Hello
  <xliff:g id="first_name" example="Jane">%1$s</xliff:g>
  <xliff:g id="last_name" example="Doe">%2$s</xliff:g>
</string>

Android Localization Checklist中解释了使用<xliff:g>占位符标记(请参阅“标记不应翻译的消息部分”部分。)