Directrices para traductores
En Discourse, todas las cadenas de Message Format tienen una clave que termina con “_MF”. El editor de Crowdin incluye una vista previa que permite experimentar con diferentes valores, lo cual resulta muy útil para revisar las traducciones.
Importante: Debes modificar las formas plurales de tu traducción si tu idioma utiliza formas distintas a “one” (uno) y “other” (otros). Puedes agregar o quitar formas dentro de un bloque { FOO, plural, ... } para que funcione correctamente en tu idioma. La vista previa del editor de Crowdin mostrará un “Syntax error” (error de sintaxis) si hay un problema con tu traducción.
Las formas plurales disponibles son:
- zero
- one
- two
- few
- many
- other (obligatoria — forma plural general — también se utiliza para idiomas que no distinguen entre singular y plural)
A veces, es posible que veas un bloque vacío =0 {} en una cadena de origen en inglés, lo que significa que la variable no puede tener un valor de 0.
Directrices para desarrolladores
Las cadenas de Message Format actualmente solo están disponibles para traducciones del lado del cliente. Son útiles si tu cadena contiene más de un número o muchas variables, lo que daría lugar a una gran cantidad de permutaciones.
-
Las claves de las cadenas de Message Format deben terminar con “_MF”
-
Utiliza el siguiente formato para números (
#se reemplazará por el número):{ variable_name, plural, one: {# texto singular} other: {# texto plural} } -
Utiliza el siguiente formato para elecciones:
{ variable_name, select, foo: {Esto es foo} bar: {Esto es bar} baz: {Esto es baz} } -
Así es como se utiliza en JavaScript:
I18n.messageFormat("key_MF", { variable1: "foo", variable2: 42, }); -
Recomendación: Si es posible, utiliza argumentos complejos como la estructura más externa de un mensaje y escribe frases completas en sus submensajes. Si tienes argumentos select y plural anidados, coloca los argumentos select (con sus conjuntos fijos de opciones) en el exterior y anida los argumentos plural (idealmente como máximo uno) en el interior. Consulta Formatting Messages | ICU Documentation -
Hazlos legibles: consulta los ejemplos existentes en client.en.yml
MaloThere {currentTopics, plural, one {is <strong>#</strong> topic} other {are <strong>#</strong> topics}}. Visitors need more to read and reply to – we recommend at least { requiredTopics, plural, one {<strong>#</strong> topic} other {<strong>#</strong> topics}}. Only staff can see this message.
BuenoThere { currentTopics, plural, one {is <strong>#</strong> topic} other {are <strong>#</strong> topics} }. Visitors need more to read and reply to – we recommend at least { requiredTopics, plural, one {<strong>#</strong> topic} other {<strong>#</strong> topics} }. Only staff can see this message.
Herramientas e información adicional
-
Online ICU Message Editor te permite probar una cadena de Message Format en caso de que haya un problema con el editor de Crowdin. Desactiva la opción “Parse simple xml/html tags” (Analizar etiquetas xml/html simples), de lo contrario podrías ver un mensaje de error.
Este documento está controlado por versiones: sugiere cambios en github.
