Prise en charge du format de message pour la localisation

Directives pour les traducteurs

Dans Discourse, toutes les chaînes de caractères au format Message Format ont une clé qui se termine par “_MF”. L’éditeur Crowdin dispose d’une fonction d’aperçu qui vous permet d’expérimenter avec différentes valeurs, ce qui est très utile pour vérifier vos traductions.

Important : Vous devez modifier les formes du pluriel de votre traduction si votre langue utilise des formes autres que “one” et “other”. Vous pouvez ajouter ou supprimer des formes dans un bloc { FOO, plural, ... } afin de le faire fonctionner pour vos langues. L’aperçu dans l’éditeur Crowdin vous affichera une “Syntax error” (erreur de syntaxe) dans l’aperçu s’il y a un problème avec votre traduction.

Les formes du pluriel disponibles sont :

  • zero
  • one
  • two
  • few
  • many
  • other (obligatoire — forme plurielle générale — également utilisée pour les langues sans distinction entre formes singulière et plurielle)

Parfois, vous pouvez voir un bloc vide =0 {} dans une chaîne source en anglais, ce qui signifie que la variable ne peut pas avoir la valeur 0.

Directives pour les développeurs

Les chaînes de caractères au format Message Format ne sont actuellement disponibles que pour les traductions côté client. Elles sont utiles si votre chaîne contient plus d’un nombre ou de nombreuses variables, ce qui entraînerait un grand nombre de permutations.

  • Les clés des chaînes au format Message Format doivent se terminer par “_MF”

  • Utilisez le format suivant pour les nombres (# sera remplacé par le nombre) :

    { variable_name, plural,
        one: {# texte singulier}
      other: {# texte pluriel}
    }
    
  • Utilisez le format suivant pour les choix :

    { variable_name, select,
      foo: {This is foo}
      bar: {This is bar}
      baz: {This is baz}
    }
    
  • Voici comment l’utiliser en JavaScript :

    I18n.messageFormat("key_MF", {
      variable1: "foo",
      variable2: 42,
    });
    
  • :loudspeaker: Recommandation : Si possible, utilisez des arguments complexes comme structure la plus externe d’un message et écrivez des phrases complètes dans leurs sous-messages. Si vous avez des arguments select et plural imbriqués, placez les arguments select (avec leurs ensembles de choix fixes) à l’extérieur et imbriquez les arguments plural (idéalement au plus un) à l’intérieur. Voir Formatting Messages | ICU Documentation

  • Rendez-les lisibles – consultez les exemples existants dans client.en.yml

    :cross_mark: Mauvais

    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: Bon

    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.
    

Outils et informations supplémentaires

  • Online ICU Message Editor vous permet de tester une chaîne au format Message Format en cas de problème avec l’éditeur Crowdin. Veuillez désactiver l’option “Parse simple xml/html tags” (Analyser les balises xml/html simples), sinon vous pourriez voir un message d’erreur.

  • ICU Message Format for Translators


Ce document est sous contrôle de version - suggérez des modifications sur github.

10 « J'aime »