在Android strings.xml文件中,我具有一个带有两个参数的字符串资源,如下所示:

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


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


  占位符名称丢失。


解释问题什么也没显示。

如何解决此警告,它是什么意思?如何添加所需的占位符名称?

最佳答案

我偶然发现了我认为可能的解决方案。只需在占位符参数周围添加<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>


<xliff:g>占位符标记的用法在Android Localization Checklist中进行了说明(请参见“标记不应翻译的消息部分”部分)。

关于android - 如何解决字符串资源警告:“缺少占位符名称”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21905170/

10-11 23:01