Переменные слоты в текстах из XML - PullRequest
1 голос
/ 23 ноября 2011

Я бы хотел включить локализацию в свое приложение.Тем не менее, я вижу, что мне нужно включить некоторые переменные в текст, и иногда они не сортируются.Самый простой пример будет с текстами валют.В английском вы можете найти что-то вроде your current income is $40.00, keep it up!, но в испанском это может быть как tus ingresos ascienden a 40.00$, ¡sigue así!.В этом случае валюта ($) и значение (40,00) являются внешними переменными, которые зависят от каждого пользователя.

Проблема в том, что я не знаю, как добавить слоты в текст, полученный из языкового стандарта xml.Было бы здорово иметь что-то вроде:

<string name="income">your current income is {currency}{money}, keep it up!</string>

Однако я не знаю, возможно ли это из коробки.Есть ли у вас какие-либо подсказки?Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 23 ноября 2011

Вы можете использовать Currency.getInstance (Locale locale) , чтобы иметь возможность обрабатывать различия. Чтобы изменить порядок, вы можете просто использовать другой порядок в разных строках, например

<string name="income">your current income is %1$s%2$,d, keep it up!</string>

или

<string name="income">tus ingresos ascienden a %2$,d%1$s, ¡sigue así!</string>

в зависимости от языка.

2 голосов
/ 23 ноября 2011

Вы хотите использовать Форматировать строковые ресурсы

...