Android: I18n con parámetros
Sé que hay soporte en Android para 18n una aplicación, pero ¿puedo dar parámetros a tal cadena? En Rails, puedo hacer algo como esto:
en: hello: "Hello %{name}! You've got %{count} messages." t("hello", name: "Klaus", count: 5)
¿Hay algo similar en Android o tengo que hacerlo yo mismo?
- ¿Cómo puedo tener res / values-pt_PT y res / values-pt_BR en Android?
- Android Text-to-Speech habla cantonés con "alfabeto" por programa
- ¿Cómo apoyar el texto en árabe en Android?
- Código de lengua para flamenco
- Soporte de idioma indico para SDK pero no para PhoneGap
- Android sync strings.xml
- Tengo la aplicación Android que se está ejecutando en la versión en Inglés Ahora los clientes quieren que se convierta en idioma árabe
- Cómo manejas la internacionalización para "Tu entrada 'xyz' es excelente!"
- Android: cómo obtener el día actual de la semana (lunes, etc ...) en el idioma del usuario?
- ¿Cómo puedo encontrar todas las cadenas codificadas en mi proyecto en Android Studio
- internacionalización en android
- ToUpperCase en Android es incorrecto para los argumentos de dos argumentos y el idioma griego y turco predeterminados
- ¿Cómo puedo crear una aplicación androide multilingüe?
Para elaborar la respuesta de Heiko, y para mostrar su ejemplo específico, si desea tener más de una cadena necesita numerarlos:
<string name="hello">Hello %1$s! You've got %2$d messages.</string>
De esta manera puede cambiar el orden de las cadenas en cada traducción. Usarlo sería:
String hello = getString(R.strings.hello, "Klaus", 5);
Puedes hacer lo mismo
En strings.xml puedes poner
<string name="xyz">Do you really want to report [%s] as spammer?</string>
Y luego en su código que poner
String foo = getString(R.strings.xyz,"Joe Doe");
Vea Context.getString ()
- ¿Cómo puedo exportar datos de Point Cloud (Project Tango)?
- Gson 2.2.2 causando un stackoverflow solo en 4.2.1