2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Kansainvälistymis- ja lokalisointiongelmien ratkaiseminen Spring Bootissa
Hei kaikki, olen Weizhuan Taoke System 3.0:n editori, ja olen myös ohjelmoija, joka ei käytä pitkiä housuja talvella, mutta joka on silti viileä kylmällä säällä!
Kansainvälistymisen ja lokalisoinnin yleiskatsaus
Kansainvälistyminen (lyhyesti i18n) ja lokalisointi (lyhyesti l10n) ovat erittäin tärkeitä näkökohtia kehitettäessä sovelluksia maailmanlaajuisille käyttäjille. Kansainvälistymisellä tarkoitetaan ohjelmistotuotteiden suunnittelua ja toteutusta siten, että ne voivat mukautua eri kielten ja kulttuuritottumusten tarpeisiin. Lokalisointi perustuu kansainvälistymiseen ja mukauttamiseen tiettyjen alueiden tai kielitottumusten mukaan käyttäjäystävällisemmän kokemuksen tarjoamiseksi.
Spring Bootissa kansainvälistyminen ja lokalisointi saavutetaan pääasiassa resurssitiedostojen ja siihen liittyvän Springin tarjoaman tuen avulla. Katsotaanpa ensin, kuinka nämä ominaisuudet määritetään ja käytetään.
Spring Boot -projektissa voit käyttää ominaisuustiedostoja (*.properties) tai YAML-tiedostoja tekstitietojen määrittämiseen eri kielillä. Normaalisti luomme kullekin kielelle vastaavan resurssitiedoston, kuten messages.properties (oletustiedosto), messages_en.properties (englanniksi), messages_zh_CN.properties (yksinkertaistettu kiina) jne.
Esimerkkiresurssitiedosto messages.properties:
greeting.message=Welcome to our application!
button.submit=Submit
label.username=Username
label.password=Password
Spring Bootissa, ohitaMessageSource
jaLocaleResolver
Voit ladata ja jäsentää resurssitiedostoja eri kielillä ja mukauttaa käyttäjän kieliasetuksen mukaan.
package cn.juwatech.localization;
import cn.juwatech.Application;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.MessageSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver;
import java.util.Locale;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public LocaleResolver localeResolver() {
AcceptHeaderLocaleResolver resolver = new AcceptHeaderLocaleResolver();
resolver.setDefaultLocale(Locale.US); // 设置默认Locale
return resolver;
}
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("classpath:messages");
messageSource.setDefaultEncoding("UTF-8");
return messageSource;
}
}
Ohjaimessa tai palvelussa, ohitaMessageSource
Tietyn kieliasetuksen tekstitietojen hankkiminen.
package cn.juwatech.localization;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class GreetingController {
@Autowired
private MessageSource messageSource;
@GetMapping("/greeting")
public String greeting() {
Locale locale = LocaleContextHolder.getLocale();
return messageSource.getMessage("greeting.message", null, locale);
}
}
Peruskonfiguroinnin ja käytön lisäksi kansainvälistymis- ja lokalisointitehosteita voidaan edelleen optimoida seuraavilla tavoilla:
Tämä artikkeli esittelee, kuinka voit ratkaista kansainvälistymis- ja lokalisointiongelmia Spring Boot -projekteissa ja saavuttaa monikielisiä ja alueellisia mukautuksia määrittämällä resurssitiedostoja, käyttämällä Springin tarjoamaa kansainvälistymistukea ja parhaita käytäntöjä. Nämä tekniikat ja menetelmät auttavat kehittäjiä rakentamaan ystävällisiä ja ammattimaisia sovelluksia maailmanlaajuisille käyttäjille.
Micro-earning Taoke System 3.0:n toimittajan tuottaman tuotteen on oltava korkealaatuinen. Ilmoita lähde uusintapainossa!