¿Cómo puedo poner un parámetro en una cadena localizada en Android?

Necesito poner una pieza dinámica de texto en una cadena localizada, pero tiene que ir a diferentes lugares dependiendo del idioma.

Por ejemplo, necesito dos cadenas como:

Español: La hora actual es HH: mm: ss Otro idioma: HH: mm: ss es la hora actual

Puedo pensar en un enfoque, que es tener una cadena localizada preDate y postDate donde postDate está vacía en inglés y preDate está vacía en Other. Esto funcionará, pero no parece muy elegante o escalable.

¿Hay una mejor manera de hacer esto?

Yo uso esto en mi recurso de cadena.

<string name="duration"><xliff:g id="minutes" example="42" >%s</xliff:g> mins <xliff:g id="seconds" example="28" >%s</xliff:g> secs</string> 

Que imprime xx minutos yy segundos cuando llama:

 getString(R.string.duration, minutes, seconds); 

En otro idioma, puede traducirlo cambiando la ubicación de minutos y segundos. Debe imprimir, por ejemplo: mins xx secs yy

Se debe incluir un esquema en el encabezado:

 <resources xmlns:xliff="rn:oasis:names:tc:xliff:document:1.2"> 

El formato correcto de cadenas de xml de android es <string name="tst">string %1$s integer %2$d</string>

Creo que estás haciendo el camino correcto.

Otra solución no tan buena es si se pone toda la cadena de formato en recursos como

Español: La hora actual es% d:% d:% d Otro idioma:% d:% d:% d es la hora actual

En general, no me gusta este enfoque, ya que su código de formato se divide en dos lugares.

  • Soporte local de Android para idiomas regionales indios (Kannada, Tamil, etc.)
  • Cómo analizar la fecha en formato de fecha simple en localidad árabe?
  • String 'xyz' marcada como intraducible pero que existe en la localidad 'ja'
  • Cómo almacenar texto largo en Android?
  • A-GPS, restablecimiento de GPS y sendExtraCommand
  • OnLocationChanged la devolución de llamada se hace en qué hilo? El hilo principal de la interfaz de usuario?
  • Herramienta de traducción automática para Android
  • Android - La mejor manera de implementar LocationListener a través de múltiples actividades
  • Android change language escuchar
  • Google.Play interfaz web hl parámetro para el idioma árabe
  • Android.content.res.Resources $ NotFoundException: ID de recurso de cadena
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.