Как использовать Android xliff: g

Может кто-нибудь объяснить xliff:g для строк / локализации.

Я понимаю, что xliff:g не должен переводить что-либо внутри вещей <> , но я смущен, как именно я буду использовать это в коде.

Пример, который у меня есть в моем случае, – это практика испанских переводов, которые у меня есть:

 <string name="order_quantity">Cantidad: <xliff:g id="quantity" example="2">%d/xliff:g</string> 

Теперь я пытаюсь получить локализованные строки с xliff:g для работы. Что здесь такое и что он делает? И что он называет?

И что такое %d и что он делает? Какой example ? Кроме того, как я могу назвать это кодом, если вообще?

Почему не может кто-то просто выполнить следующий код, чтобы вставить следующий xml:

 <string name="quant">Quantity: </string> 

В java:

 getString(R.string.quant) + quantity 

Так что он конакцирует переменную количества в getString ?

Solutions Collecting From Web of "Как использовать Android xliff: g"

Незначительная опечатка в вашем примере, должен быть закрывающий тег:

 <string name="order_quantity">Cantidad: <xliff:g id="quantity" example="2">%d</xliff:g></string> 

Атрибут id используется только для определения того, что представляет собой параметр подстановки (в вашем случае оно представляет количество). Это, как вы сказали, записка, и на самом деле не используется программно.

Тем не менее, в Android Studio, если у вас включена функция сгибания кода для строк, она будет заменяться идентификатором, когда будет показана свернутая строка. Вы увидите что-то вроде этого:

 // This... mTextView.setText(getString(R.string.order_quantity, 2)); // Will show as this when folded: mTextView.setText("Cantidad: {quantity}"); 

Что касается вашего второго вопроса, почему бы просто не использовать конкатенацию строк? В других языках замена не может идти в конце строки. У вас может быть что-то вроде:

 values/strings.xml <string name="order_quantity">%d items</string> values-es/strings.xml <string name="order_quantity">Cantidad: %d</string> 

Таким образом, вы можете видеть, что в этом случае просто добавление строк вместе не даст вам действительного результата.