私は Moqui で OOTB サービスを使用しています。たとえば、PartyServices.xml のサービスの場合、表示されるメッセージはサービス自体から来ていますが、表示されるメッセージを少し変更したいので、現在サービスをオーバーライドしています。私のコンポーネントでは、メッセージを変更するだけです。
だから私はベストプラクティスに従っていることを知りたかったのですか? または同じことを行う他の方法はありますか?
私は Moqui で OOTB サービスを使用しています。たとえば、PartyServices.xml のサービスの場合、表示されるメッセージはサービス自体から来ていますが、表示されるメッセージを少し変更したいので、現在サービスをオーバーライドしています。私のコンポーネントでは、メッセージを変更するだけです。
だから私はベストプラクティスに従っていることを知りたかったのですか? または同じことを行う他の方法はありますか?
これには自動国際化を使用できます。コードからのメッセージを「オリジナル」として LocalizedMessage エンティティのレコードを追加し、目的のロケール (オリジナルが英語の場合でも「en」にすることができます)、および目的のメッセージを「ローカライズ」フィールドに追加します。
「元の」は、コードからの実際のテキストでなければならないことに注意してください。${} 文字列展開がある場合は、そのままにしておく必要があります。つまり、ローカライズは文字列展開の前に行われるため、必要に応じてプレースホルダーを移動 (または変更...) して、さまざまな言語を処理したり、メッセージをカスタマイズしたりできます。
l10n メッセージを追加/編集するための UI は、Application => Tool => Localization => Messages 画面にあります。
補足として、「l10n.message」キャッシュ (アプリケーション => ツール => システム => キャッシュ リスト) を見ると、使用されているロケールと共にキャッシュされている文字列と、実行時にローカライズされた結果の文字列を確認できます。