Dynamische Internationalisierung
Syntax
$input.internationalize(
sourceLang: $sourceLang,
translate: $translate
)
Wandelt den Text der gegebenen Sprache in einen internationalisierten Text um.
{"en": $englishText, "de": $germanText}
.internationalize(translate: $translate)
Fasst Texte in mehreren Sprachen zu einem internationalisierten Text zusammen.
Parameter
Name | Typ | Beschreibung | Pflicht | Default |
---|---|---|---|---|
input | Text oder Wörterbuch mit Texten | Entweder der umzuwandelnde Text, oder ein Wörterbuch, das Sprachkürzel auf Texte in der jeweiligen Sprache abbildet. | ja | |
sourceLang | Zeichenkette | Die Sprache der Eingabezeichenkette. Nur relevant in der Form mit der einzelnen Zeichenkette als Eingabe. | nein | Die Standardsprache der Anwendung |
translate | Wahrheitswert | Ob der Übersetzungsservice verwendet werden soll, um die fehlenden Übersetzungen zu ergänzen. Wenn nicht alle von der Anwendung unterstützten Sprachen für die Konstruktion der internationalisierten Zeichenkette angegeben wurde, und nicht übersetzt werden soll (oder der Übersetzungsservice nicht alle Sprachen der Anwendung unterstützt) wird eine internationalisierte Zeichenkette erzeugt, die für manche Sprachen in der Standardsprache angezeigt wird. | nein | false |
Rückgabewert
Typ: Internationalisierter Text
Ein Wert der in der Sprache des angemeldeten Nutzers dargestellt werden kann. Die Eingangstexte werden zu einem internationalisierten Text zusammengefasst und optional durch generierte Übersetzungen des Übersetzungsservice ergänzt.
Beispiele
Einzelnen Text internationalisieren
Mache aus der englischen Zeichenkette "Hello world!" eine internationalisierte Zeichenkette (tl.model.i18n:I18NString
). Fülle die restlichen von der Anwendung unterstützten Sprachen mit Übersetzungen, die vom Übersetzungsservice generiert werden:
"Hello world".internationalize(lang:"en", translate: true)
Liefert einen Wert, der für einen Nutzer mit der Sprache Deutsch als "Hallo Welt!" dargestellt würde.
Texte in mehreren Sprachen zu einer internationalisierten Zeichenkette zusammenfassen
{"en": "Hello world!", "de": "Hallo Welt!"}.internationalize()
Liefert dasselbe wie das TL-Script-Literal #("Hello world!"@en, "Hallo Welt!"@de)
kann aber mit dynamischen Werten verwendet werden.