android - 如何修复字符串资源警告 : "Placeholder name is missing"

标签 android eclipse warnings android-resources

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

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

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

Placeholder name is missing.

解释问题什么也没有。

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

最佳答案

我偶然发现了我认为可能是解决方案的方法。只需添加 <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 - 如何修复字符串资源警告 : "Placeholder name is missing",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21905170/

相关文章:

warnings - 我应该向 STDERR 或 STDOUT 输出警告吗?

comments - 如何向 Exuberant Ctags 配置文件添加注释?

android - Android Studio导出jar不导出任何jar

java - 如何以编程方式更新变量以匹配迭代

java - 使用 GWT 在 Eclipse Luna 中找不到 "New Web Application Project"选项

java - 无法在eclipse中将J2EE项目发布到tomcat

java - 选中的复选框数

java - android中的计算器多操作数

eclipse - Eclipse 中的 Wildfly 正在将 Maven SNAPSHOT 添加到 Web 上下文

c++ - 当有符号/无符号不匹配时会发生什么转换?