Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 9087|Svar: 0

[Källa] Spring Boot MessageSource Gropen av internationaliserade språk

[Kopiera länk]
Publicerad den 27 januari 2022 14:52:03 | | | |
Internationalisering, även kallat i18n, varför detta namn? Eftersom internationalisering är engelska internationalisering finns det 18 bokstäver mellan i och n, så det kallas i18n. Om vår applikation är internationaliserad kan den enkelt bytas i olika språkmiljöer, den vanligaste är växlingen mellan kinesiska och engelska, och internationaliseringsfunktionen är också ganska vanlig.

Till exempel, när du skickar en specifik förfrågan, ställ in ett nyckel-värde-par i headern: "Accept-Language":"zh", genom motsvarande värde Accept-Language kan servern bestämma vilket regionspråk som ska användas, hitta motsvarande resursfil, formatera den och returnera den till klienten.

Skapa ett nytt Spring Boot-projekt, skapa en i18n-fil under resursmappen och skapa en ny konfigurationsfil under denna mapp enligt formatet "Language Abbreviation Table", som visas i figuren nedan:




meddelande.egenskaper

message_en.egenskaper

Kom ihåg att lägga till konfigurationsparametrar för att redigera application.properties för att göra vår konfiguration effektiv:

Spring definierarMessageSourcegränssnitt för att få tillgång till internationaliserad information.

getMessage(Strängkod, Objekt[] args, Sträng defaultMessage, Lokallokalisation)
getMessage(Strängkod, Objekt[] args, Lokallokalort)
getMessage(MessageSourceResolvable resolvable, Locale locale)



Skapa en ny kontroller och försök anropa en annan resursfil för att returnera en prompt med följande kod:



Projektet är distribuerat under en Windows-server på kinesiska, och det är inga problem med kinesiska användare som får tillgång till kinesiska. När man distribuerar till den engelska versionen av Linux kommer kinesiska användare att visa en engelsk prompt (läs konfigurationen av den engelska resursfilen).

Anledningen till detta är på grund av ossDet finns ingen ny kinesisk .properties-fil alls, vid denna tidpunkt kommer programmet att läsa resursfilen som matchar det aktuella systemspråket, och om den inte kan läsas igen kommer det inte kunna läsa någon identifierad egenskapsfilkonfiguration。 När vi publicerar projektet till Linux-engelska systemet, även om programmet inte kan läsa den kinesiska konfigurationen, kommer det att läsa konfigurationsfilen _en.properties, så gränssnittet returnerar den kinesiska prompten.

Lösning, miljöFallbackToSystemLocalefalsk, koden är följande:

(Slut)





Föregående:Praktisk användning av cAdvisor för att samla in Docker-containermetriker
Nästa:Front-end JS konverterar blobs till strängar
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com