Technology sharing

Solvendo internationalizationis et localizationis quaestiones in Ver Booz

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Solvendo internationalizationis et localizationis quaestiones in Ver Booz

Salve omnes, ego sum editor Weizhuan Taoke System 3.0, et sum etiam programmator qui non longas morigeras in hieme, sed adhuc frigida tempestate frigus habet!

Overview of Internationalization and Localization

Internationalisatio (i18n pro brevi) et Localizatione (l10n pro brevi) magni ponderis considerationes sunt, cum applicationes ad global users enucleantur. Internationalisatio refertur ad consilium et exsecutionem productorum programmatum ut possint accommodare necessitatibus diversarum linguarum et habituum culturalium; localisatio internationalisatio et aptatio fundatur secundum peculiares regiones vel consuetudines linguae, ut experientiam magis usor-amicam praebeant.

1. Internationalization configuratione in Ver Booz

In Ver Tabernis, internationalisatio et localisatio praecipue per files subsidia et subsidia relata a veris obtinentur. Inspice primum quomodo his features configurare et utere.

1.1.

In vere Booz incepto, fasciculis proprietatis (*.proprietatibus) uti potes vel fasciculis YAML ad informationes textuum variarum linguarum definiendas. Communiter creabimus congruentem fasciculum resource cuiusque linguae, ut nuntia.properties (propertiae fasciculi), nuntia_en.properties (Latina), nuntia_zh_CN.properties (Simplificata Sinica) etc.

Sample resource file epistulae.properties:

greeting.message=Welcome to our application!
button.submit=Submit
label.username=Username
label.password=Password
  • 1
  • 2
  • 3
  • 4
1.2.

In Ver Booz, passMessageSourceetLocaleResolverAd fasciculos subsidiorum onerare et parse in diversis linguis aptare et secundum Loci usoris usoris adaptare.

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.

In arbitrium vel servitium, passMessageSourceAd informationem textus sub certis Locale obtinendis.

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. Internationalization and localization best practices

Praeter fundamentalem conformationem et usum, internationalizationis et localizationis effectus, ulteriores optimized his modis possunt:

  • Pluribus linguis support: Files resource pluribus linguis iuxta necessitates usorum adde.
  • Dynamically switch linguarum: Utentes adiuvant ad linguas interfaciendum mutandas, ut per ambitum vel usoris occasus.
  • Locus datus, tempus et monetæ: Utere instrumentis formatting provisis per ver ad locum date, tempus et monetam.
  • Internationalization exceptio notitia: Internationalise applicationis exceptione informationes ad usum user emendandi.

finitione

Articulus hic introducit quomodo solvendae internationalizationis et localisationi quaestiones in Spring Boot incepta, et multi-linguarum et regionalium aptationem consequantur, lima subsidia configuranda, utendo auxilio internationalisationi a veris, et optimis exercitiis providendo. Hae technologiae ac methodi tincidunt adiuvant ut amicas et professionales applicationes ad global users.

Productus ab editore Micro-commerce Taoke System 3.0, necesse est esse productum quale summus.