この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 9087|答える: 0

[出典] スプリングブーツメッセージソース 国際化言語の穴

[リンクをコピー]
2022年1月27日 14:52:03に投稿 | | | |
国際化、別名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、コードは以下の通りです:

(終わり)





先の:Dockerコンテナの指標を収集するための実用的なcAdvisorの活用
次に:フロントエンドのJSはブロブを文字列に変換します
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com