i18n Struts アプリケーションでリソース バンドルを使用しています。ほとんどのページでは、リソース バンドルが適切な言語を選択します (言語は i18n struts インターセプターを介して設定されます)。また、あるページでは、リソース バンドルが適切な言語を選択していません。理由がわかりません。そのため、ResourceBundle のロケールがどこから来たのか疑問に思っていました。
フレーム内でアクションを呼び出すと、リソース バンドルに問題が発生する可能性はありますか?
わかりましたので、Strutsアクションには次のものがあります:
ResourceBundle resourceBundleProcess = null;
try {
resourceBundleProcess = ResourceBundle
.getBundle(BpmUiConstantes.BPMUI_PROCESS_CONF_FOLDER + "/"
+ caseType);
LOG.info("Locale used by bundle : " + resourceBundleProcess.getLocale()) ;
}
URL を介して、たとえば request_locale=en を指定して、ロケールを「en」に設定しました。i18n struts インターセプターは、ロケールを取得して使用することになっています。ただし、ResourceBundles に影響するかどうかはわかりません。私の他のページではテキストが適切な言語で表示されているので、そうだと思いました。しかし、ここでは何らかの理由で LOG が "fr" と表示されます (ブラウザも英語です)。