Internacionalizācija, ko sauc arī par i18n, kāpēc šis nosaukums? Tā kā internacionalizācija angļu valoda ir internacionalizācija, starp i un n ir 18 burti, tāpēc to sauc par i18n. Ja mūsu lietojumprogramma ir internacionalizēta, to var viegli pārslēgt dažādās valodu vidēs, visbiežāk ir pārslēgšanās starp ķīniešu un angļu valodu, un internacionalizācijas funkcija ir arī diezgan izplatīta.
Piemēram, nosūtot konkrētu pieprasījumu, galvenē iestatiet atslēgas-vērtības pāri: "Accept-Language":"zh", izmantojot atbilstošo vērtību Accept-Language, serveris var izlemt, kuru reģiona valodu izmantot, atrast atbilstošo resursu failu, formatēt to un atgriezt klientam.
Izveidojiet jaunu Spring Boot projektu, izveidojiet i18n failu resursu mapē un izveidojiet jaunu konfigurācijas failu šajā mapē saskaņā ar formātu "Valodas saīsinājumu tabula", kā parādīts zemāk redzamajā attēlā:
ziņojums.rekvizīti
message_en.properties
Neaizmirstiet pievienot konfigurācijas parametrus, lai rediģētu application.properties, lai padarītu mūsu konfigurāciju efektīvu:
Pavasaris definēZiņojuma avotssaskarnes piekļuvei internacionalizētai informācijai.
getMessage(Virknes kods, Objekts[] argumenti, Virknes defaultMessage, Lokalizācijas lokalizācija) getMessage(Virknes kods, Objekta[] argumenti, Lokalizācijas lokalizācija) getMessage(MessageSourceResolvable atrisināms, lokalizācijas lokalizācija)
Izveidojiet jaunu kontrolieri un mēģiniet izsaukt citu resursu failu, lai atgrieztu uzvedni ar šādu kodu:
Projekts tiek izvietots Windows serverī ķīniešu valodā, un nav problēmu ar ķīniešu lietotājiem, kas piekļūst ķīniešu valodai. Izvietojot Linux angļu valodas versiju, ķīniešu lietotāji parādīs angļu valodas uzvedni (izlasiet angļu valodas resursu faila konfigurāciju).
Iemesls tam ir mūsu dēļVispār nav jauna ķīniešu .properties faila, šobrīd programma nolasīs resursu failu, kas atbilst pašreizējai sistēmas valodai, un, ja to nevar lasīt vēlreiz, tas nevarēs lasīt nevienu identificēto rekvizītu faila konfigurāciju。 Publicējot projektu Linux angļu sistēmā, lai gan programma nevar nolasīt ķīniešu konfigurāciju, tā nolasīs _en.properties konfigurācijas failu, tāpēc saskarne atgriež ķīniešu uzvedni.
Risinājums, iestatīšanaFallbackToSystemLocalefalse, kods ir šāds:
(Beigas)
|