Cómo utilizar Android xliff: g

¿Puede alguien por favor explicar el xliff:g para cadenas / localización.

Entiendo que xliff:g no se supone que traducir algo dentro de las cosas <> , pero estoy confundido cómo exactamente usaría esto en el código.

Un ejemplo que tengo en mi caso es la práctica de las traducciones españolas que tengo tiene:

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

Ahora estoy tratando de obtener cadenas localizadas con xliff:g para trabajar. ¿Qué es id aquí y qué hace? ¿Y cómo se llama?

¿Cuál es el %d y qué hace? ¿Cuál es el punto de example ? Además, ¿cómo lo llamaría en código, si es que lo hago?

¿Por qué alguien no puede hacer el siguiente código para insertar el siguiente xml:

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

En java así:

 getString(R.string.quant) + quantity 

De modo que la forma concactenates la cantidad variable en el getString ?

Pequeño error de tipografía en su ejemplo, debería haber una etiqueta de cierre:

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

El atributo id sólo se utiliza para identificar lo que representa el parámetro de sustitución (en su caso, representa la cantidad). Es como usted dijo, una nota, y no se utiliza realmente mediante programación.

Dicho esto, en Android Studio, si tiene habilitado Cifrado de código para cadenas, se sustituirá en el ID cuando muestre la cadena contraída. Verías algo como esto:

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

En cuanto a su segunda pregunta, ¿por qué no utilizar la concatenación de cadena? En otros idiomas, la sustitución no puede ir al final de la cadena. Usted podría tener algo como:

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

Así que usted puede ver que en este caso, simplemente agregando las cadenas juntas no le daría un resultado válido.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.