国際化、別名i18n、なぜこの名前なのか? 国際化英語は国際化であるため、iとnの間に18文字があるため、i18nと呼ばれます。 アプリケーションが国際化されていれば、異なる言語環境で簡単に切り替えることができ、最も一般的なのは中国語と英語の切り替えであり、国際化機能もかなり一般的です。
例えば、特定のリクエストを送信する際には、ヘッダーに「Accept-Language」:zhというキーと値のペアを設定し、対応するAccept-Languageの値を通じてサーバーはどのリージョン言語を使うかを決定し、対応するリソースファイルを見つけてフォーマットし、クライアントに返すことができます。
新しいSpring Bootプロジェクトを作成し、resourcesフォルダ内にi18nファイルを作成し、下の図のように「言語略語表」形式に従ってこのフォルダ内に新しい設定ファイルを作成します。
メッセージ.プロパティ
message_en.プロパティ
application.propertiesを編集するための設定パラメータを追加して、構成を効果的にしてください:
春が定義するメッセージソース国際化された情報にアクセスするためのインターフェース。
getMessage(String code, Object[] args, String defaultMessage, Locale locale) getMessage(String code, Object[] args, Locale locale) getMessage(MessageSourceResolvable resolvevable, Locale locale)
新しいコントローラーを作成し、別のリソースファイルを呼び出して以下のコードでプロンプトを返そうとします。
このプロジェクトは中国語のWindowsサーバー上で展開されており、中国人が中国語にアクセスする問題はありません。 Linuxの英語版にデプロイする際、中国人は英語のプロンプト(英語リソースファイルの設定を参照)をプロンプトします。
その理由は私たちのせいです新しい中国語の.propertiesファイルは一切なく、この時点でプログラムは現在のシステム言語に合致するリソースファイルを読み込み、再度読み取れなければ、特定されたプロパティファイルの構成を読み取ることができなくなります。 プロジェクトをLinux英語システムに公開すると、プログラムは中国語の設定を読み取れませんが、_en.propertiesの設定ファイルを読み取るため、インターフェースは中国語プロンプトを返します。
解法と設定FallbackToSystemLocalefalse、コードは以下の通りです:
(終わり)
|