Unterstützung für Nachrichtensyntax zur Lokalisierung

Richtlinien für Übersetzer

In Discourse enden alle Message-Format-Zeichenketzen mit einem Schlüssel, der auf “_MF” endet. Der Crowdin-Editor bietet eine Vorschau, mit der man verschiedene Werte ausprobieren kann, was bei der Überprüfung der Übersetzungen sehr hilfreich ist.

Wichtig: Sie müssen die Pluralformen Ihrer Übersetzung anpassen, wenn Ihre Sprache Formen verwendet, die über “one” (eins) und “other” (sonstige) hinausgehen. Sie können Formen innerhalb eines { FOO, plural, ... }-Blocks hinzufügen oder entfernen, damit es für Ihre Sprache funktioniert. Die Vorschau im Crowdin-Editor zeigt einen “Syntax error” (Syntaxfehler) an, wenn es ein Problem mit Ihrer Übersetzung gibt.

Die verfügbaren Pluralformen sind:

  • zero (null)
  • one (eins)
  • two (zwei)
  • few (wenige)
  • many (viele)
  • other (sonstige — erforderliche allgemeine Pluralform — wird auch für Sprachen ohne Unterscheidung zwischen Singular und Plural verwendet)

Manchmal sehen Sie in einer englischen Quellzeichenkette einen leeren =0 {}-Block, was bedeutet, dass die Variable keinen Wert von 0 annehmen kann.

Richtlinien für Entwickler

Message-Format-Zeichenketzen sind derzeit nur für Client-Übersetzungen verfügbar. Sie sind nützlich, wenn Ihre Zeichenkette mehr als eine Zahl oder viele Variablen enthält, was zu einer hohen Anzahl von Permutationen führen würde.

  • Die Schlüssel von Message-Format-Zeichenketzen müssen mit “_MF” enden

  • Verwenden Sie das folgende Format für Zahlen (# wird durch die Zahl ersetzt):

    { variable_name, plural,
        one: {# Singular text}
      other: {# Plural text}
    }
    
  • Verwenden Sie das folgende Format für Auswahlen:

    { variable_name, select,
      foo: {This is foo}
      bar: {This is bar}
      baz: {This is baz}
    }
    
  • So verwenden Sie es in JavaScript:

    I18n.messageFormat("key_MF", {
      variable1: "foo",
      variable2: 42,
    });
    
  • :loudspeaker: Empfehlung: Verwenden Sie nach Möglichkeit komplexe Argumente als äußerste Struktur einer Nachricht und schreiben Sie in ihren Unternachrichten ganze Sätze. Wenn Sie verschachtelte select- und plural-Argumente haben, platzieren Sie die select-Argumente (mit ihren festen Auswahlmengen) nach außen und nisten Sie die plural-Argumente (hoffentlich höchstens eines) darin ein. Siehe Formatting Messages | ICU Documentation

  • Machen Sie sie lesbar – siehe vorhandene Beispiele in client.en.yml

    :cross_mark: Schlecht

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

    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.
    

Werkzeuge und weitere Informationen

  • Online ICU Message Editor ermöglicht es Ihnen, eine Message-Format-Zeichenkette zu testen, falls es ein Problem mit dem Crowdin-Editor gibt. Bitte deaktivieren Sie die Option “Parse simple xml/html tags”, sonst sehen Sie möglicherweise eine Fehlermeldung.

  • ICU Message Format for Translators


Dieses Dokument wird versioniert verwaltet – schlagen Sie Änderungen auf GitHub vor.

10 „Gefällt mir“