Internationalisierung, auch i18n genannt – warum dieser Name? Da Internationalisierung Englisch Internationalisierung ist, stehen 18 Buchstaben zwischen i und n, daher heißt es i18n. Wenn unsere Anwendung internationalisiert ist, kann sie in verschiedenen Sprachumgebungen leicht gewechselt werden; am häufigsten ist der Wechsel zwischen Chinesisch und Englisch, und die Internationalisierungsfunktion ist ebenfalls recht verbreitet.
Zum Beispiel kann beim Senden einer bestimmten Anfrage ein Schlüssel-Wert-Paar im Header gesetzt werden: "Accept-Language":"zh"; über den entsprechenden Wert Accept-Language kann der Server entscheiden, welche Regionssprache verwendet wird, die entsprechende Ressourcendatei finden, sie formatieren und an den Client zurückgeben.
Erstellen Sie ein neues Spring Boot-Projekt, erstellen Sie eine i18n-Datei unter dem Resources-Ordner und erstellen Sie unter diesem Ordner eine neue Konfigurationsdatei gemäß dem Format "Language Abbreviation Table", wie in der Abbildung unten gezeigt:
Nachricht.Eigenschaften
message_en.Eigenschaften
Denken Sie daran, Konfigurationsparameter hinzuzufügen, um application.properties zu bearbeiten, damit unsere Konfiguration effektiv wird:
Spring definiertMessageSourceSchnittstellen zum Zugriff auf internationalisierte Informationen.
getMessage(Stringcode, Object[] args, String defaultMessage, Locale locale) getMessage(String-Code, Objekt[] args, Locale locale) getMessage(MessageSourceResolvable resolvable, Locale locale)
Erstellen Sie einen neuen Controller und versuchen Sie, eine andere Ressourcendatei aufzurufen, um eine Eingabeaufforderung mit folgendem Code zurückzugeben:
Das Projekt wird unter einem Windows-Server auf Chinesisch bereitgestellt, und es gibt kein Problem mit chinesischen Nutzern, die auf Chinesisch zugreifen. Beim Bereitstellen auf die englische Linux-Version geben chinesische Nutzer eine englische Eingabeaufforderung (siehe die Konfiguration der englischen Ressourcendatei).
Der Grund dafür ist unser GrundEs gibt überhaupt keine neue chinesische .properties-Datei, zu diesem Zeitpunkt liest das Programm die Ressourcendatei, die mit der aktuellen Systemsprache übereinstimmt, und wenn sie nicht erneut gelesen werden kann, kann es keine identifizierten Eigenschaften-Dateikonfigurationen lesen。 Wenn wir das Projekt auf das Linux-Englischsystem veröffentlichen, kann das Programm zwar die chinesische Konfiguration nicht lesen, liest aber die Konfigurationsdatei von _en.properties, sodass die Schnittstelle die chinesische Eingabeaufforderung zurückgibt.
Lösung, SettingFallbackToSystemLocalefalsch lautet der Code wie folgt:
(Ende)
|