Soporte de formato de mensaje para localización

Directrices para traductores

En Discourse, todas las cadenas de formato de mensaje tienen una clave que termina en “_MF”. El Editor de Crowdin tiene una vista previa que te permite experimentar con varios valores, lo cual es muy útil para comprobar tus traducciones.

Importante: Debes modificar las formas plurales de tu traducción si tu idioma utiliza formas distintas de “one” y “other”. Puedes añadir o eliminar formas dentro de un bloque { FOO, plural, ... } para que funcione para tus idiomas. La vista previa en el Editor de Crowdin mostrará un “Error de sintaxis” cuando haya un problema con tu traducción.

Las formas plurales disponibles son:

  • zero
  • one
  • two
  • few
  • many
  • other (requerido — forma plural general — también se utiliza para idiomas sin distinción entre formas singular y plural)

A veces puedes ver un bloque vacío =0 {} en una cadena fuente en inglés, lo que significa que la variable no puede tener un valor de 0.

Directrices para desarrolladores

Las cadenas de formato de mensaje 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 que conducirían a una gran cantidad de permutaciones.

  • Las claves de las cadenas de formato de mensaje deben terminar en “_MF

  • Utiliza el siguiente formato para números (# será reemplazado por el número):

    { variable_name, plural,
        one: {# texto singular}
      other: {# texto plural}
    }
    
  • Utiliza el siguiente formato para elecciones (select):

    { 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,
    });
    
  • :loudspeaker: Recomendación: Si es posible, utiliza argumentos complejos como la estructura más externa de un mensaje y escribe oraciones 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 (ojalá como máximo uno) dentro. Consulta Formatting Messages | ICU Documentation

  • Hazlos legibles – consulta los ejemplos existentes en client.en.yml

    :cross_mark: Mal

    There {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.
    

    :green_heart: Bien

    There { 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


Este documento está controlado por versiones: sugiere cambios en github.

10 Me gusta