Teknologian jakaminen

Kansainvälistymis- ja lokalisointiongelmien ratkaiseminen Spring Bootissa

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.

1. Kansainvälistymismääritys Spring Bootissa

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.

1.1. Määritä resurssitiedostot

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
  • 1
  • 2
  • 3
  • 4
1.2 Kansainvälisten resurssien käyttö Spring Bootissa

Spring Bootissa, ohitaMessageSourcejaLocaleResolverVoit 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;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
1.3. Käytä kansainvälisiä resursseja

Ohjaimessa tai palvelussa, ohitaMessageSourceTietyn 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);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

2. Kansainvälistyminen ja lokalisoinnin parhaat käytännöt

Peruskonfiguroinnin ja käytön lisäksi kansainvälistymis- ja lokalisointitehosteita voidaan edelleen optimoida seuraavilla tavoilla:

  • Tukea useampia kieliä: Lisää resurssitiedostoja useammilla kielillä käyttäjien tarpeiden mukaan.
  • Vaihda kieliä dynaamisesti: Tue käyttäjiä vaihtamaan käyttöliittymän kieliä esimerkiksi pyyntöparametrien tai käyttäjäasetusten avulla.
  • Lokalisoitu päivämäärä, aika ja valuutta: Käytä Springin tarjoamia muotoilutyökaluja päivämäärän, ajan ja valuutan lokalisointiin.
  • Kansainvälistymispoikkeustiedot: Kansainvälistä sovelluspoikkeustiedot käyttökokemuksen parantamiseksi.

tiivistettynä

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!