Lokalisierung
Für Unternehmen mit Kund:innen in vielen Ländern kann eine frühzeitige Lokalisierung auf Ihrer Braze-Journey Zeit und Ressourcen sparen.
So funktioniert es
Locale-Informationen werden im Profil von Nutzer:innen gespeichert, basierend auf Daten, die Sie über ein Braze SDK (automatisch) oder die REST API erfassen. Das Locale enthält die Sprache und eine Regionskennung. Diese Informationen sind im Braze-Segmentierungs-Tool unter Land und Sprache verfügbar.

Übersetzungsverwaltung
Ziehen Sie die folgenden Ansätze für die Verwaltung Ihrer Übersetzungen in Betracht.
Ein Template für alle
Bei diesem Ansatz wird die Lokalisierung mithilfe von Liquid auf ein einzelnes Template in Braze angewendet. Nach dem Versand zeigt das Dashboard aggregierte Campaign-Analytics an. Das Engagement auf Nutzer:innenebene kann über angepasste Segment-Funnel gemessen werden, z. B. durch die Kombination der Filter Land und Campaign erhalten.
| Vorteile | Überlegungen |
|---|---|
| - Zentralisierter Ansatz - Reduzierte E-Mail-Erstellungszeit, kein Bedarf, eine E-Mail mehrfach zu erstellen |
- Manuelle Berichterstellung - Campaign-Bericht zeigt aggregierte Metriken statt Metriken pro Land - Liquid muss gründlich getestet werden, um sicherzustellen, dass es wie erwartet befüllt wird - Je nachdem, wie Sie den Länderwert abrufen oder wie viele Länder Sie eingerichtet haben, kann es schwierig sein, jedes Land zu testen - Schwieriger, Sendungen für bestimmte Zeiten über Zeitzonen hinweg zu planen - Schwieriger zu verwenden, wenn Sie separate Inhalte pro Land senden möchten. |
Ein Template pro Land
Bei diesem Ansatz werden Templates in verschiedene Versand-Locales aufgeteilt. Nach dem Versand zeigt das Dashboard die Versandanalysen für jedes Land separat an, und alle nachgelagerten Currents-Events auf Nutzer:innenebene werden ebenfalls einer bestimmten Campaign zugeordnet.
- Templates profitieren von der Implementierung von Tags für Wartungs- und Tracking-Zwecke.
- Campaigns können die Konfigurationen desselben Braze-Templates und derselben Content Blocks übernehmen (z. B. E-Mail-Templates, die Liquid enthalten).
- Bereits vorhandene Campaigns und Templates können dupliziert werden, um eine schnellere Wertschöpfung zu ermöglichen.
| Vorteile | Überlegungen |
|---|---|
| - Skalierbar auf mehrere Standorte - Umsatzberichte pro Land innerhalb von Braze (z. B. pro Campaign) - Flexibilität bei stark unterschiedlichen Inhalten pro Land |
- Erfordert strategische Strukturierung - Mehr Erstellungsaufwand erforderlich (z. B. separate Campaigns für jedes Land) |
Eine Journey für alle
Bei diesem Ansatz wird die Lokalisierung innerhalb der Canvas-Grundlagen und mit Liquid gehandhabt, um das Messaging für alle Nutzer:innen zu definieren.
Nach dem Versand eines Canvas zeigt das Dashboard aggregierte Canvas-Analytics an, während das Engagement auf Nutzer:innenebene über angepasste Segment-Funnel gemessen werden kann, z. B. durch die Kombination der Filter Land und Canvas-Schritt erhalten.
| Vorteile | Überlegungen |
|---|---|
| - Zentralisierter Ansatz - Reduzierte E-Mail-Erstellungszeit – kein Bedarf, eine E-Mail mehrfach zu erstellen. |
- Manuelle Berichterstellung - Canvas-Bericht zeigt aggregierte Metriken statt Metriken pro Land - Liquid muss gründlich getestet werden, um sicherzustellen, dass es wie erwartet befüllt wird - Je nachdem, wie Sie den Länderwert abrufen oder wie viele Länder Sie eingerichtet haben, kann es schwierig sein, jedes Land zu testen - Schwieriger, Sendungen für bestimmte Zeiten über Zeitzonen hinweg zu planen - Schwieriger zu verwenden, wenn Sie separate Inhalte pro Land senden möchten. |
Eine Journey pro Land
Bei diesem Ansatz bietet der Canvas-Journey-Builder die Flexibilität, Nutzer:innen-Journeys über mehrere Canvas-Komponenten zu erstellen. Diese Komponenten können auf Komponenten- und Gesamtjourney-Ebene dupliziert werden.
Die Lokalisierung kann mit den folgenden Methoden erreicht werden:
- Separate Canvases pro Land – so werden die komplexen Nutzer:innen-Journeys am Anfang des Funnels mithilfe von Zielgruppen-Filtern definiert
- Maßgeschneiderte Nutzer:innen-Journeys pro Land – die Implementierung von Zielgruppenpfaden ermöglicht eine intuitive Segmentierung von Nutzer:innen in großem Maßstab für jede Journey, indem separate Nachrichtenstränge für jedes Land in einem einzigen Canvas erstellt werden
Nach dem Versand zeigt das Dashboard dynamische Analytics pro Land an, und innerhalb der Currents-Events auf Nutzer:innenebene basierend auf dem aktuellen Standort der Kund:innen.
| Vorteile | Überlegungen |
|---|---|
| - Umsatzberichte pro Land innerhalb von Braze (z. B. pro Canvas, Variante oder Schritt) - Flexibilität bei stark unterschiedlichen Inhalten pro Land - Weitere Kanäle können in Zukunft als Teil der Journey hinzugefügt werden |
- Erfordert strategische Strukturierung - Mehr Erstellungsaufwand erforderlich (z. B. separate Nachrichtenschritte für jedes Land) - Canvas kann groß und schwer lesbar werden, wenn Sie angepasste, komplexe Journeys für jedes Land in einem einzigen Canvas haben. |
Übersetzte Nachrichten senden
Um personalisierte Nachrichten basierend auf der Sprache, dem Locale oder angepassten Attributen von Nutzer:innen zu senden, verwenden Sie eine der folgenden Methoden.
Übersetzungs-Liquid-Tags (empfohlen)
Braze unterstützt einen {% translation salutation %}Hello!{% endtranslation %} Liquid-Tag, um Nutzer:innen in verschiedenen Sprachen mit einer einzigen Nachricht anzusprechen.
Eine vollständige Anleitung finden Sie im Leitfaden zur Verwendung von Übersetzungs-Tags.
Alternative Ansätze
Sie können Ihre Inhalte manuell in den Nachrichtentext einfügen und Liquid verwenden, um die korrekte Sprache bedingt für die Empfänger:innen anzuzeigen. Gehen Sie dazu wie folgt vor:
- Verfassen Sie Ihre Nachricht und wählen Sie dann Sprache aus, um bedingte Liquid-Logik für jede Ihrer ausgewählten Sprachen zu generieren.
-
Sie können das folgende Liquid-Template verwenden, um Ihre Nachricht zu erstellen. Für jedes Feld mit Templating sollten Sie die Variationen nach dem eingeklammerten Templating-Abschnitt eingeben. Die Variation sollte dem Sprachcode entsprechen, der in den Klammern davor referenziert wird.
1 2 3 4 5 6 7 8 9
{% if ${language} == 'en' %} This is a message in English from Braze! {% elsif ${language} == 'es' %} Este es un mensaje en español de Braze ! {% elsif ${language} == 'zh' %} 这是一条来自Braze的中文消息。 {% else %} This is a message from Braze! This will go to anyone who does not match the other specified languages! {% endif %}
- Testen Sie Ihre Nachricht vor dem Versand, indem Sie die ID oder E-Mail-Adresse von Nutzer:innen eingeben, um zu prüfen, wie eine Nachricht je nach Sprache für eine Person aussehen würde.

Wir empfehlen immer, eine {% else %}-Anweisung in Ihr Messaging einzufügen. Während die meisten Nutzer:innen Nachrichten in ihrer spezifischen Sprache sehen werden, ist der Text für diejenigen sichtbar, die:
- Keine Sprache ausgewählt haben
- Eine Sprache haben, die Braze nicht unterstützt
- Ein Gerät haben, bei dem die Sprache nicht erkannt werden kann
Braze Content Blocks sind wiederverwendbare Inhaltsblöcke. Wenn ein Block geändert wird, ändern sich alle Referenzen auf diesen Block. Zum Beispiel werden Aktualisierungen an einem E-Mail-Header oder -Footer in allen E-Mails widergespiegelt, oder sie können Übersetzungen beherbergen. Diese Blöcke können auch über die REST API erstellt und aktualisiert werden, und Nutzer:innen können Übersetzungen programmatisch hochladen.
Beim Erstellen einer Campaign im Dashboard können Content Blocks mit dem Tag {{content_blocks.${name_of_content_block}}} referenziert werden. Diese Blöcke können alle Übersetzungen innerhalb bedingter Logik für jede Sprache enthalten, wie in Option 1 gezeigt, oder es kann ein separater Block für jede Sprache verwendet werden.
Content Blocks können auch als Übersetzungsverwaltungsprozess genutzt werden, bei dem Inhalte, die übersetzt werden müssen, in einem Content-Block gespeichert, abgerufen, übersetzt und dann aktualisiert werden:
- Erstellen Sie manuell einen Content-Block im Dashboard mit dem Tag „Needs Translation“.
- Ihr Dienst führt einen nächtlichen Abruf aller Content Blocks über den
/content_blocks/list-Endpunkt durch. - Ihr Dienst ruft Details zu jedem Content-Block über den
/content_blocks/info-Endpunkt ab, um zu sehen, welche Blöcke zur Übersetzung markiert sind. - Ihr Übersetzungsdienst übersetzt den Inhalt aller Content Blocks mit dem Tag „Needs Translation“.
- Ihr Dienst ruft den
/content_block/update-Endpunkt auf, um den übersetzten Inhalt zu aktualisieren und den Tag auf „Translation Complete“ zu ändern.
Kataloge ermöglichen es Ihnen, über API und CSV-Dateien auf Daten aus importierten JSON-Objekten zuzugreifen, um Ihre Nachrichten anzureichern – ähnlich wie angepasste Attribute oder angepasste Event-Eigenschaften über Liquid. Zum Beispiel:
Erstellen Sie einen Katalog über den folgenden API-Aufruf:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
curl --location --request POST 'https://your_api_endpoint/catalogs' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"catalogs": [
{
"name": "translations",
"description": "My localization samples",
"fields": [
{
"name": "id",
"type": "string"
},
{
"name": "context",
"type": "string"
},
{
"name": "language",
"type": "string"
},
{
"name": "body",
"type": "string"
}
]
}
]
}'
Fügen Sie Artikel über den folgenden API-Aufruf hinzu:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
curl --location --request POST 'https://your_api_endpoint/catalogs/translations/items' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"items": [
{
"id": "1",
"context": "1",
"language": "en",
"body": "Hey"
},
{
"id": "2",
"context": "1",
"language": "es",
"body": "Hola"
},
{
"id": "3",
"context": "1",
"language": "pt",
"body": "Oi"
},
{
"id": "4",
"context": "1",
"language": "de",
"body": "Hallo"
}
]
}'
Erstellen Sie eine CSV-Datei im folgenden Format:
| id | context | language | body |
|---|---|---|---|
| 1 | 1 | en | Hey |
| 2 | 1 | es | Hola |
| 3 | 1 | pt | Oi |
| 4 | 1 | de | Hallo |
| 5 | 2 | en | Hey |
| 6 | 2 | es | Hola |
| 7 | 2 | pt | Oi |
| 8 | 2 | de | Hallo |
| 9 | 3 | en | Hey |
| 10 | 3 | es | Hola |
| 11 | 3 | pt | Oi |
| 12 | 3 | de | Hallo |
Diese Katalogartikel können dann über Personalisierung (wie unten gezeigt) oder Auswahlen referenziert werden, mit denen Sie Datengruppen erstellen können.
1
2
3
{% catalog_items translations 1 %}
{{items[0].body}}
//returns “Hey”
Viele Braze-Partner bieten Lokalisierungslösungen an, darunter Transifex und Crowdin. In der Regel nutzen Anwender:innen die Plattform zusammen mit einem internen Team und einer Übersetzungsagentur. Diese Übersetzungen werden dort hochgeladen und sind dann über die REST API zugänglich. Diese Dienste nutzen häufig auch Connected-Content, sodass Nutzer:innen die Übersetzungen per API abrufen können.
Zum Beispiel rufen die folgenden Connected-Content-Aufrufe Transifex und Crowdin auf, um eine Übersetzung abzurufen, wobei {{${language}}} verwendet wird, um die korrekte Übersetzung für bestimmte Nutzer:innen zu identifizieren. Diese Übersetzung wird dann im JSON-Block „strings“ gespeichert und referenziert.
1
2
{% connected_content https://www.transifex.com/api/2/project/example/resource/example/translation/{{${language}}}/strings :basic_auth semc :save strings %}
{{strings[0].translation}}
1
2
{% connected_content https://api.crowdin.com/api/project/braze-test/export-file?key=you_api_key&language={{${language}}}&file=test.json&export_translated_only=1 :save response %}
{{response.value_1}}
Speichern Sie Übersetzungen in einer Tabellenkalkulation und verwenden Sie dann eine der folgenden Methoden, um Ihre Nachricht in der entsprechenden Sprache zu senden.
Sie können mit einer Übersetzungsagentur zusammenarbeiten, um Übersetzungen in einer Google-Tabelle zu speichern, und diese Inhalte dann über Braze Connected-Content abfragen. Wenn Sie eine Nachricht senden, wird die entsprechende Übersetzung für alle Nutzer:innen basierend auf deren ausgewählter Sprache in Ihren Campaign-Text eingefügt.

Die Google Sheets API hat ein Limit von 500 Anfragen pro 100 Sekunden pro Projekt. Connected-Content-Aufrufe können zwischengespeichert werden, aber diese Lösung ist nicht skalierbar für eine Campaign mit hohem Datenverkehr.
Diese Option bietet eine alternative Methode, um Google Sheets in JSON-Objekte umzuwandeln, die über Connected-Content abgefragt werden. Indem Sie eine Tabellenkalkulation über SheetDB in eine JSON-API umwandeln, können Sie je nach Häufigkeit der API-Aufrufe aus mehreren Abo-Stufen wählen.
Die Tabellenstruktur folgt den Schritten in Option 4, aber SheetDB bietet auch zusätzliche Filter zum Abfragen der Objekte.
Einige Nutzer:innen bevorzugen möglicherweise die Implementierung von SheetDB mit weniger Liquid- und Connected-Block-Abhängigkeiten, indem sie die Suchmethode von SheetDB in GET-Anfragen verwenden, um die JSON-Objekte basierend auf dem {{${language}}} Liquid-Tag zu filtern und automatisch die Ergebnisse für eine einzelne Sprache zurückzugeben, anstatt große bedingte Blöcke zu erstellen.
1. Schritt: Google-Tabelle formatieren
Erstellen Sie zunächst die Google-Tabelle so, dass die Sprachen verschiedene Objekte sind:
| language | title1 | body1 | title2 | body2 |
| en | Hey | 1 | Hey2 | 5 |
| es | Hola | 2 | Hola2 | 6 |
| pt | Oi | 3 | Oi2 | 7 |
| de | Hallo | 4 | Hallo2 | 8 |
2. Schritt: Sprach-Liquid-Tag in einem Connected-Content-Aufruf verwenden
Implementieren Sie als Nächstes den {{${language}}} Liquid-Tag innerhalb eines Connected-Content-Aufrufs. Beachten Sie, dass SheetDB die sheet_id automatisch beim Erstellen der Tabellenkalkulation generiert.
1
{% connected_content https://sheetdb.io/api/v1/[sheet_id]/search?language={{${language}}} :save result%}
3. Schritt: Nachrichten mit Templates erstellen
Verwenden Sie abschließend Liquid für das Templating Ihrer Nachrichten:
1
2
{{result[0].title1}} //returns “Hey”
{{result[0].title2}} //returns “Hey2”
Überlegungen
- Das Feld
{{${language}}}muss für alle Nutzer:innen definiert sein; andernfalls muss ein bedingter Liquid-Block als Fallback-Handler für Nutzer:innen ohne Sprache eingebunden werden. - Die Datenmodellierung innerhalb von Google Sheets muss einer anderen sprachgesteuerten vertikalen Struktur folgen, anstatt Nachrichtenobjekte zu verwenden.
- SheetDB bietet ein begrenztes kostenloses Konto und mehrere kostenpflichtige Optionen, die basierend auf Ihrer Campaign-Strategie berücksichtigt werden sollten.
- Connected-Content-Aufrufe können zwischengespeichert werden. Wir empfehlen, die voraussichtliche Häufigkeit der API-Aufrufe zu messen und einen alternativen Ansatz zu prüfen, bei dem der Haupt-SheetDB-Endpunkt aufgerufen wird, anstatt die Suchmethode zu verwenden.