私の連絡先情報
郵便メール:
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Spring Boot での国際化とローカリゼーションの問題の解決
みなさん、こんにちは。私は Weizhuan Taoke System 3.0 の編集者です。冬にはロングジョンを着ないプログラマーでもありますが、寒い季節でも涼しくなければなりません。
国際化とローカリゼーションの概要
国際化 (略して i18n) とローカリゼーション (略して l10n) は、グローバル ユーザー向けのアプリケーションを開発する際に非常に重要な考慮事項です。国際化とは、さまざまな言語や文化的習慣のニーズに適応できるようにソフトウェア製品を設計および実装することを指します。ローカリゼーションは、よりユーザーフレンドリーなエクスペリエンスを提供するために、特定の地域や言語習慣に応じた国際化と適応に基づいています。
Spring Boot では、国際化とローカリゼーションは主に、Spring が提供するリソース ファイルと関連サポートを通じて実現されます。まず、これらの機能を構成して使用する方法を見てみましょう。
Spring Boot プロジェクトでは、プロパティ ファイル (*.properties) または YAML ファイルを使用して、さまざまな言語でテキスト情報を定義できます。通常、messages.properties (デフォルト ファイル)、messages_en.properties (英語)、messages_zh_CN.properties (簡体字中国語) など、言語ごとに対応するリソース ファイルを作成します。
サンプル リソース ファイルmessages.properties:
greeting.message=Welcome to our application!
button.submit=Submit
label.username=Username
label.password=Password
Spring Boot で、次のように渡します。MessageSource
そしてLocaleResolver
さまざまな言語でリソース ファイルをロードおよび解析し、ユーザーのロケールに応じて適応させるため。
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;
}
}
コントローラーまたはサービスで、次のように渡します。MessageSource
特定のロケールでテキスト情報を取得します。
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);
}
}
基本的な構成と使用に加えて、次の方法で国際化とローカリゼーションの効果をさらに最適化できます。
この記事では、Spring Boot プロジェクトの国際化とローカライゼーションの問題を解決し、Spring が提供する国際化サポートを使用してリソース ファイルを構成することで多言語と地域への適応を実現する方法とベスト プラクティスを紹介します。これらのテクノロジーと手法は、開発者が世界中のユーザー向けにフレンドリーでプロフェッショナルなアプリケーションを構築するのに役立ちます。
微稼ぎたおけシステム3.0の編集者が制作したものなので、品質の高いものであることは間違いありません。転載する場合は出典を明記してください。