Internationalisierungsüberschreibungen („i18n-Umschreibungen“) verwenden, um unterschiedliche Inhalte bereitzustellen je nach Land oder bevorzugter Sprache des Nutzers. Hier einige Beispiele: Konfigurationen, die Sie einrichten könnten:
allen Nutzern, die Französisch bevorzugen, dieselben französischen Inhalte des Landes).
Beispiel: eine Startseite mit französischem TextBieten Sie Nutzern, die Französisch bevorzugen, Inhalte in Standardfranzösisch an. Kanada-Nutzer, die Französisch bevorzugen, erhalten stattdessen Inhalte in kanadischem Französisch.
Beispiel: eine Startseite mit französischer Standardformulierung im Vergleich zu einer Startseite mit Formulierung im kanadischen Französischallen Nutzern in Kanada die gleichen Inhalte zur Verfügung stellen (unabhängig von deren Spracheinstellung).
Beispiel: eine Startseite mit der Standardeinstellung Ihrer Website Sprache, aber mit einer Funktion für Kanada (z. B. Feiertagsdesign)Inhalte für kanadische Nutzer, die Französisch bevorzugen, bereitstellen
Beispiel: eine Startseite mit Formulierungen in kanadischem Französisch und einer kanadischen Funktion (z. B. ein Feiertagsthema)
Firebase Hosting ermittelt das Land eines Nutzers anhand seiner IP-Adresse und einer
Spracheinstellungen des Nutzers aus dem Accept-Language
-Anfrageheader (in der Regel
automatisch über den Webbrowser festgelegt).
i18n-Umschreibungen einrichten
Um i18n-Umschreibungen für Ihre Hosting-Website einzurichten, müssen Sie eine
Inhalt“ für alle Ihre lokalisierten Inhalte ein und fügen Sie dann das Attribut i18n
hinzu
auf Ihre firebase.json
-Datei, um auf Ihren neuen „i18n-Inhalt“ zu verweisen -Verzeichnis.
So gehts:
Erstellen Sie im Ordner
public
Ihres lokalen App-Verzeichnisses ein separates Verzeichnis für Ihren „i18n-Inhalt“, erstellen Sie dann Unterordner für jede Sprache und Länderkombination, die von Ihrer Website unterstützt werden.Fügen Sie in jedem Unterordner die für diese Kombination spezifischen Inhalte hinzu, z. B. Startseiten mit saisonalen Themen oder sprachspezifische 404-Seiten.
Hier ist ein Beispiel für einen „i18n-Inhalt“ Verzeichnis namens
localized-files
:public/ index.html // your site's default homepage 404.html // your site's custom 404 page localized-files/ ALL_ca/ index.html es_ALL/ index.html 404.html fr/ index.html 404.html fr_ca/ index.html
Das Verzeichnis
localized-files/
enthält separate Unterordner für jede Kombination aus Sprache und Land, die von Ihrer Website unterstützt wird. Das Benennungsmuster muss für jeden Unterordner eines der folgenden Formate haben:languageCode_countryCode
: enthält für Nutzer spezifische Inhalte mit dieser Spracheinstellung und diesem LändercodelanguageCode
: Enthält Inhalte, die speziell für Nutzer gedacht sind, die Spracheinstellungen, aber die Inhalte sind nicht landesspezifisch im Grunde entsprichtlanguageCode_ALL
Weitere Informationen zu diesen Codes finden Sie unten im Abschnitt Länder- und Sprachcodes. Sie können den Wert von
ALL
verwenden. (Groß-/Kleinschreibung beachten) zur Angabe von beliebigem Land (z. B.es_ALL/
) oder any Sprache (z. B.ALL_ca/
).Die Dateien in einem Unterordner müssen im
public
keine entsprechenden Dateien haben Verzeichnis oder anderen Unterordnern. Sie können Inhalte erstellen, die die für eine bestimmte Sprache und/oder ein bestimmtes Land gelten.Fügen Sie der Datei
firebase.json
das Attributi18n
hinzu und geben Sie das Attribut das Ihre „i18n-Inhalte“ enthält. Fortsetzung des Beispiels:// firebase.json "hosting": { "public": "public", "ignore": [ "firebase.json", "**/.*", "**/node_modules/**" ], "i18n": { "root": "/localized-files" // directory that contains your "i18n content" } ... }
Das für
root
angegebene Verzeichnis muss der Name des Verzeichnisses sein, das enthält alle Ihre „i18n-Inhalte“ Unterordner. Wenn Sie alle Ihre „i18n Inhalte“ Unterordner im Stammverzeichnis Ihrespublic
-Verzeichnisses verwenden Sie/
für den Wertroot
. Voran- und nachgestellte Schrägstriche im Wertroot
sind optional.i18n-Inhalte bereitstellen und config zu Ihrer Hosting-Website hinzufügen.
Sie können Ihre Einrichtung mithilfe von Cookie-Überschreibungen testen.
Länder- und Sprachcodes
Achten Sie beim Benennen von Unterordnern unter „i18n-Inhalte“ darauf, dass sowohl Länder- als auch Sprachcodes in Kleinbuchstaben geschrieben werden. Sie können den Wert ALL
(Groß- und Kleinschreibung beachten) verwenden, um ein beliebiges Land (z. B. es_ALL/
) oder eine beliebige Sprache (z. B. ALL_ca/
) anzugeben.
Hosting ruft den Ländercode aus der IP-Adresse des Nutzers ab. Ländercodes sind zweistellige ISO 3166-1 alpha-2-Codes.
Die Sprachcodes stammen aus dem Accept-Language
-Anfrageheader des Nutzers
(normalerweise
automatisch über den Webbrowser festgelegt) werden.
Dabei handelt es sich um ISO 639-1-Codes.
Beachten Sie bei der Verwendung von Sprachcodes Folgendes:
Wenn Hosting nach den „i18n-Inhalten“ sucht, die ausgeliefert werden sollen, werden die Sprachen anhand der Qualitätswerte im
Accept-Language
-Header sortiert.Hosting löscht alle regionalen und länderspezifischen Subtags in
Accept-Language
sodass der Sprachcode in einem "i18n-Inhalt" Unterordnername darf nicht diese Subtags enthalten. Sie können z. B. nichtes-419
oderes-US
als Sprachcode in den Namen eines Unterordners ein. Sie können jedoches
verwenden.Wenn Sie für bestimmten regionalen oder länderspezifischen Content werben möchten, können Sie Unterordner mit den sprach- bzw. landesspezifischen Inhalten, die Sie speichern möchten. Support.
Prioritätsreihenfolge für „i18n-Inhalte“
Wenn Sie i18n-Umschreibungen einrichten, liefert Hosting Inhalte basierend auf den folgenden Prioritätsreihenfolge:
Reservierte Namespaces, die mit einem Pfadsegment
/__/*
beginnenKonfigurierte Weiterleitungen
Statische Inhalte mit exakter Übereinstimmung
Sprach- und Ländercode (z. B. Inhalte aus
fr_ca/
)
Die Reihenfolge folgt den Qualitätswerten für jede Sprache in derAccept-Language
-Header.Nur Ländercode (z. B. Inhalte aus
ALL_ca/
)Nur Sprachcode (z. B. Inhalte aus
fr/
oderes_ALL/
)
Die Reihenfolge folgt den Qualitätswerten für jede Sprache in derAccept-Language
-Header.„Standard“ Statischer Inhalt „genau passend“
Das sind Inhalte außerhalb des i18n-Inhalts wie im Verzeichnis Stammverzeichnis despublic
-Verzeichnisses.
Konfigurierte Umschreibungen
Umgang mit 404-Fehlern
i18n 404-Seiten
Dies entspricht der oben aufgeführten Prioritätsreihenfolge für „Genau passend“. statische Inhalte.Standard-404-Seite (von Firebase bereitgestellt)
Beispiel für die Reihenfolge der Priorität
Fahren wir mit dem obigen Beispiel fort. Wir verwenden dasselbe Beispielverzeichnis und eine Beispielanfrage.
Beispiel für ein lokales Projektverzeichnis mit „i18n-Inhalt“ Verzeichnis (
localized-files
)public/ index.html // your site's default homepage 404.html // your site's custom 404 page localized-files/ ALL_ca/ index.html es_ALL/ index.html 404.html fr/ index.html 404.html fr_ca/ index.html
Beispiel für Anfrageinformationen
Sprachcodes:
fr
,en
(Französisch, dann Englisch)
Die Sprachcodes sind nach Qualitätswerten in derAccept-Language
-Header.Ländercode:
ca
(Kanada)
Entsprechend der Prioritätsreihenfolge bei genau passender Übereinstimmung und den Qualitätswerten für die Spracheinstellungen aktiviert, sucht Hosting in den Verzeichnissen nach einer angeforderten Seite in der folgenden Reihenfolge an.
public/localized-files/fr_ca/
public/localized-files/en_ca/
public/localized-files/ALL_ca/
public/localized-files/fr_ALL/
public/localized-files/fr/
public/localized-files/en_ALL/
public/localized-files/en/
public/
Umgang mit 404-Fehlern
Welche Seite wird dem Nutzer präsentiert?
Angeforderte Seite:
index.html
Angeforderte Seite:
awesome-page.html
Beachten Sie Folgendes zu diesem Search-and-Serve des I18n-Inhalts Verzeichnis:
Das Verzeichnis
localized-files/
enthält nichten_ca/
,en_ALL/
oderen/
, sodass Hosting die Prioritätsliste hinzufügen, bis ein passender Unterordner für die Anfrage die Kombination aus Land und Sprache.Das Verzeichnis
localized-files/
enthält zwar eines_ALL/
-Objekt, Unterordner enthält, enthält die Beispielanfrage oben wederes
noches-foo
Sprachcode eingeben, sodass Hosting nicht nach "i18n content" sucht das entsprichtes
.Die Unterordner
fr/
undfr_ALL/
sind aus Sicht von die Länder- und Spracheinstellungen der Nutzenden. Wenn jedoch beide Unterordner vorhanden ist, liefert Hostingfr_ALL/
-Inhalte vorfr/
-Inhalten.
Sprach- und Ländercodes mit Cookies überschreiben
Du kannst ändern, welche Inhalte bereitgestellt werden, indem du Cookies verwendest, um das Land zu überschreiben und Sprachüberschriften.
Hier sind einige Möglichkeiten, wie Sie Cookie-Überschreibungen verwenden können:
Testen Sie eine Funktion mit verschiedenen Kombinationen aus Sprache und Land, um zu ermitteln, Content ausgeliefert wird.
Nutzern ermöglichen, die für sie angezeigten Inhalte zu ändern So können Sie zum Beispiel eine Sprachauswahl implementieren und dann
firebase-language-override
.
Um Cookie-Überschreibungen zu konfigurieren, setzen Sie Cookies mit beiden oder einem dieser Namen:
firebase-country-override
und firebase-language-override
. Beispiel:
überschreibt das folgende JavaScript-Code-Snippet den Ländercode mit ca
und
den Accept-Language
-Header in fr,en
ein:
document.cookie = "firebase-country-override=ca";
document.cookie = "firebase-language-override=fr,en";
Sprach-Cookie-Überschreibungen müssen eine durch Kommas getrennte Liste von Sprachcodes in ohne Subtags oder Qualitätswerte.
Cookie-Überschreibungen werden in Protokollen nicht angezeigt.