Jede internationalisierte Erweiterung oder App hat mindestens eine Datei mit dem Namen messages.json
, die
länderspezifischen Zeichenfolgen verwendet. Auf dieser Seite wird das Format von messages.json
-Dateien beschrieben. Informationen zur Internationalisierung und Lokalisierung finden Sie auf der Seite Internationalisierung.
Felder – Übersicht
Der folgende Code zeigt die unterstützten Felder für messages.json
. Nur der name und „Nachricht“
sind Pflichtfelder.
{
"name": {
"message": "Message text, with optional placeholders.",
"description": "Translator-aimed description of the message.",
"placeholders": {
"placeholder_name": {
"content": "A string to be placed within the message.",
"example": "Translator-aimed example of the placeholder string."
},
...
}
},
...
}
Beispiel
Hier ist eine messages.json
-Datei, in der drei Nachrichten mit den Namen „prompt_for_name“, „hello“ und
„bye“:
{
"prompt_for_name": {
"message": "What's your name?",
"description": "Ask for the user's name"
},
"hello": {
"message": "Hello, $USER$",
"description": "Greet the user",
"placeholders": {
"user": {
"content": "$1",
"example": "Cira"
}
}
},
"bye": {
"message": "Goodbye, $USER$. Come back to $OUR_SITE$ soon!",
"description": "Say goodbye to the user",
"placeholders": {
"our_site": {
"content": "Example.com",
},
"user": {
"content": "$1",
"example": "Cira"
}
}
}
}
Felddetails
In diesem Abschnitt werden alle Felder beschrieben, die in einer messages.json
-Datei vorkommen können. Weitere Informationen zur Verwendung der Datei „messages“, z. B. was passiert, wenn für ein Gebietsschema nicht alle Meldungen definiert sind, finden Sie unter Internationalisierung.
name
Es gibt kein Feld namens „name“. Der Name dieses Felds ist der Name der Nachricht. Es ist derselbe Name, der in __MSG__name___
oder getMessage("_name_")
angezeigt wird.
Der Name ist ein Schlüssel, mit dem die Groß- und Kleinschreibung nicht berücksichtigt wird, um den lokalisierten Nachrichtentext abzurufen. Der Name kann die folgenden Zeichen enthalten:
- A–Z
- a-z
- 0-9
- _ (Unterstrich)
- @
Hier sind drei Beispiele für Namen aus dem Abschnitt Beispiel:
"prompt_for_name": {
...
},
"hello": {
...
},
"bye": {
...
}
Weitere Beispiele zur Verwendung von Namen finden Sie auf der Seite Internationalisierung.
Nachricht
Die übersetzte Nachricht in Form eines Strings, der Platzhalter enthalten kann. Verwenden Sie
$_placeholder_name_$
(Groß-/Kleinschreibung nicht berücksichtigend), um auf einen bestimmten Platzhalter zu verweisen. So können Sie zum Beispiel
auf den Platzhalter „our_site“ verweisen als $our_site$
, $OUR_SITE$
oder $oUR_sITe$
.
Hier sind drei Beispiele für Meldungen aus dem Abschnitt Beispiel:
"message": "What's your name?"
...
"message": "Hello, $USER$"
...
"message": "Goodbye, $USER$. Come back to $OUR_SITE$ soon!"
Wenn Sie ein Dollarzeichen ($
) in den String einfügen möchten, verwenden Sie $$
. For example, use the following code to specify
the message Amount (in $):
"message": "Amount (in $$)"
.Platzhalter wie
$USER$
sind die bevorzugte Methode, um auf Substitutionsstrings (Strings, die mit dem Parameter substitutions von i18n.getMessage angegeben werden) zu verweisen. Sie können aber auch direkt in der Nachricht auf Substitutionsstrings verweisen. Die folgende Meldung bezieht sich beispielsweise auf die ersten drei Substitutionsstrings, die angetMessage()
übergeben wurden:"message": "Params: $1, $2, $3"
Trotz dieses Beispiels empfehlen wir, anstelle von
$_n_
-Strings Platzhalter zu verwenden. in Ihren Nachrichten. Platzhalter sind gute Variablennamen. Eine Woche, nachdem Sie Ihre werden Sie wahrscheinlich vergessen, worauf sich$1
bezieht. Sie werden aber wissen, worauf sich die Platzhalter beziehen. Weitere Informationen zu Platzhaltern und Ersetzungsstrings finden Sie im Abschnitt Platzhalter.Beschreibung
Optional. Eine Beschreibung der Nachricht mit Kontext oder weiteren Details, um dem Übersetzer zu helfen. um die bestmögliche Übersetzung zu erzielen.
Hier sind drei Beispiele für Beschreibungen aus dem Abschnitt Beispiel:
"description": "Ask for the user's name" ... "description": "Greet the user" ... "description": "Say goodbye to the user"
Platzhalter
Optional. Hiermit werden ein oder mehrere Teilstrings definiert, die in der Nachricht verwendet werden sollen. Hier sind zwei Gründe, einen Platzhalter verwenden:
- Zur Definition des Textes für einen Teil Ihrer Nachricht, der nicht übersetzt werden soll. Beispiele: HTML-Code, markenrechtlich geschützten Namen, Formatierungsspezifizierern.
- Damit wird auf einen Substitutionsstring verwiesen, der an
getMessage()
übergeben wird. Beispiel:$1
.
Jeder Platzhalter hat einen Namen, einen „Inhalt“ und ein optionales "Beispiel" . Bei einem Platzhalternamen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Er kann dieselben Zeichen wie ein Nachrichtenname enthalten.
Der „Inhalt“ Der Wert des Elements ist eine Zeichenfolge, die auf Ersatzzeichenfolgen verweisen kann, die angegeben werden.
mithilfe des Parameters Substitutions der Methode i18n.getMessage. Der Wert von „content“ Element ist
normalerweise etwa „beispiel.de“ oder "$1". Wenn Sie auf einen Ersatzstring verweisen,
erhalten Sie einen leeren String. In der folgenden Tabelle wird gezeigt, wie $_n_
-Strings mit Strings übereinstimmen, die durch den Parameter substitutions angegeben werden.
Parameter Substitutions | Wert von 1 € | Wert von 2 € | Wert: 3 € |
---|---|---|---|
userName | Wert von userName | "" | "" |
["Cira", "Kathy"] | "Cira" | "Kathy" | "" |
Das „Beispiel“ (optional, aber dringend empfohlen) hilft den Übersetzern, den Inhalt
der Endanwendenden angezeigt wird. Ein Platzhalter für einen Eurobetrag sollte beispielsweise folgendes Beispiel enthalten:
"$23.45"
Das folgende Snippet aus dem Abschnitt Beispiel zeigt ein Element „placeholders“ mit zwei Platzhaltern namens „our_site“ und „user“. „our_site“ Platzhalter hat kein „Beispiel“ -Element, da sein Wert an der Spalte "content" deutlich ist. ein.
"placeholders": {
"our_site": {
"content": "Example.com",
},
"user": {
"content": "$1",
"example": "Cira"
}
}