Как исправить предупреждение строкового ресурса: отсутствует имя заполнителя

В файле Android strings.xml у меня есть строковый ресурс с двумя такими параметрами:

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

Проблема в том, что у меня есть предупреждение Android lint, в котором говорится:

Имя заполнителя отсутствует.

Объяснить проблему ничего не показывает.

Как исправить это предупреждение и что оно означает? Как я могу добавить необходимое имя заполнителя?


person Mario Kutlev    schedule 20.02.2014    source источник


Ответы (1)


Я случайно наткнулся на то, что я думаю, может быть решением. Просто добавьте теги <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 (см. в разделе «Отметить части сообщения, которые не следует переводить»).

person ehdr    schedule 01.06.2014