Internacjonalizacja, zwana też i18n, dlaczego ta nazwa? Ponieważ internacjonalizacja angielski to internacjonalizacja, między i a n jest 18 liter, dlatego nazywa się to i18n. Jeśli nasza aplikacja jest umiędzynarodowiona, można ją łatwo przełączać w różnych środowiskach językowych, najczęściej przełączana jest zmiana między chińskim a angielskim, a funkcja internacjonalizacji jest również dość powszechna.
Na przykład, wysyłając konkretne żądanie, ustaw parę klucz-wartość w nagłówku: "Accept-Language":"zh", a przez odpowiednią wartość Accept-Language serwer może zdecydować, którego języka regionu użyć, znaleźć odpowiedni plik zasobu, sformatować go i zwrócić klientowi.
Stwórz nowy projekt Spring Boot, stwórz plik i18n w folderze resources i utwórz nowy plik konfiguracyjny w tym folderze zgodnie z formatem "Language Abbreviation Table", jak pokazano na poniższym rysunku:
message.properties
message_en. własności
Pamiętaj, aby dodać parametry konfiguracyjne do edycji property.application, aby nasza konfiguracja była skuteczna:
Spring definiujeMessageSourceinterfejsy do dostępu do informacji międzynarodowych.
getMessage(Kod ciągu ciągów, Object[] args, String defaultMessage, Locale locale) getMessage(String code, Object[] args, locale locale) getMessage(MessageSourceResolvable resolvable, Locale locale)
Stwórz nowy kontroler i spróbuj wywołać inny plik zasobu, aby zwrócić prompt z następującym kodem:
Projekt jest wdrażany na serwerze Windows w języku chińskim i nie ma problemu z chińskimi użytkownikami, którzy korzystają z chińskiego. Podczas wdrażania na angielską wersję Linuksa chińscy użytkownicy wyświetlą angielski komunikat (przeczytaj konfigurację pliku zasobów angielskiego).
Powodem tego jesteśmy myNie ma w ogóle nowego chińskiego pliku .properties, w tym momencie program odczyta plik zasobu odpowiadający obecnemu językowi systemowemu i jeśli nie będzie można go ponownie odczytać, nie będzie w stanie odczytać żadnej konfiguracji pliku z zidentyfikowanymi właściwościami。 Gdy publikujemy projekt do systemu Linux English, chociaż program nie może odczytać chińskiej konfiguracji, odczytuje plik konfiguracyjny _en.properties, więc interfejs zwraca chiński prompt.
Rozwiązanie, miejsce akcjiFallbackToSystemLocalefałsz, kod jest następujący:
(Koniec)
|