Usa la cadena real
Pega una plantilla MF1 o carga el ejemplo plural, select o anidado. El ejemplo incorrecto muestra qué ocurre si falta la rama obligatoria other. Las construcciones MF2 como {$name} no pertenecen a esta sintaxis.
Herramientas de localización
Ejecuta una plantilla ICU tradicional con argumentos JSON y compara el resultado para siete valores numéricos.
Añade una variable plural o selectordinal para ver los límites.
El mensaje y los argumentos se procesan solo en esta pestaña; no se suben.
Las categorías plurales vienen de Intl en este navegador. Su versión de CLDR varía y puede diferir de la de tu aplicación.
El resultado está desactualizado. Ejecuta la prueba antes de exportar.
Una traducción puede sonar bien con 1 y fallar con 11 o 21. Para probar mensajes ICU, este panel muestra la categoría plural y la frase completa de cada valor, sin alterar el JSON original.
Puedes probar mensajes ICU durante la revisión de una sola cadena, al investigar una variable ausente o al validar un select anidado. La ejecución usa FormatJS y las reglas Intl del navegador actual; si tu aplicación usa otro motor o versión de CLDR, verifica también allí el resultado final.
Ver una frase correcta no demuestra que todas las ramas lo sean.
Al probar mensajes ICU se ejecutan 0, 1, 2, 5, 11, 21 y 101. Una rama exacta =0 tiene prioridad sobre la categoría plural. La tabla enseña la categoría y la frase renderizada, y conserva intactos tus argumentos JSON.
Una variable como {name} exige una clave JSON con el mismo nombre y las mismas mayúsculas. El validador señala valores ausentes y errores de sintaxis, en vez de dar por buena una plantilla sin sustituir. Select y plural anidados se procesan con el mismo motor.
Pega una plantilla MF1 o carga el ejemplo plural, select o anidado. El ejemplo incorrecto muestra qué ocurre si falta la rama obligatoria other. Las construcciones MF2 como {$name} no pertenecen a esta sintaxis.
Proporciona un objeto JSON, con claves que coincidan exactamente con las variables. Cambia el idioma BCP 47 para ver si la misma cifra elige otra categoría; la versión CLDR depende del navegador.
Selecciona una variable numérica y compara especialmente 0, 1, 11 y 21. Cada prueba sustituye ese valor solo durante el cálculo. Cuando la entrada cambia, copiar y descargar quedan inhabilitados hasta ejecutar de nuevo.
Para probar mensajes ICU se usa el mismo parser y formateador de FormatJS. Abarca plural, select, selectordinal, offset, ramas anidadas y formato numérico básico de MF1.
Una lista de reglas de plural no basta para revisar traducciones. La matriz ofrece valor, categoría y frase final, de modo que un fallo con 11 o 21 se puede reproducir sin editar el JSON.
La validación de sintaxis ICU informa línea y columna cuando el parser las ofrece. JSON inválido, variable ausente e idioma no disponible tienen errores distintos; una salida antigua no se puede copiar.
La prueba automática espera a que dejes de escribir. Antes de cargar un ejemplo o borrar, aparece una vista previa y el número de caracteres; luego se puede deshacer una vez.
Android tiene sus propios recursos y reglas de carga. Aquí puedes pegar una cadena ICU MF1 y observar cómo un locale selecciona ramas plural; esto no convierte automáticamente los recursos XML de Android ni sustituye la prueba dentro de la app.
Usa argumentos nombrados en la plantilla y claves iguales en el objeto JSON. Para un conteo emplea plural. El panel marca claves ausentes y valores no numéricos cuando la rama necesita un número.
Incluye las categorías necesarias y conserva other, que es obligatorio. Para probar mensajes ICU con varias cifras, compara 0, 1, 2, 5, 11, 21 y 101 y revisa la frase real, no solo el nombre de la categoría.
Select elige una rama a partir de un valor explícito como female, male u other. La herramienta no deduce el género de un nombre; introduce el valor que tu aplicación proporcionará.
Sí, si vas a ejecutar esta sintaxis en producción necesitas un motor compatible. Este tester usa FormatJS para MF1; otros marcos o MessageFormat 2 pueden interpretar de forma diferente la misma cadena.
¿El resultado difiere del de tu aplicación?
Cambia count en el ejemplo y compara el resultado de 11 con el de 21.
Vuelve a probar mensajes ICU cuando una traducción falle solo para un valor concreto.
Se ejecuta localmente en tu navegador.