0

struts2プロパティファイルを使用して複数の言語をサポートしていますが、これは問題なく機能します。

一部のJSPでハードコーディングされたテキストや、適切に翻訳されていないエラーを忘れることは常に非常に簡単です。

たとえば、翻訳されたすべてのアイテムを「ZZZ」に置き換えることでこれを視覚化する簡単な方法はありますか?したがって、翻訳が提供されていない場所のみが表示されますか?

1つのアイデアは、プロパティファイル内のすべてのテキストアイテムを「ZZZ」で何らかの方法で動的に(実行時に)置き換えることです。これを行う簡単な方法はありますか?私はすべての翻訳されたアイテムを上書きすることを意味します(ファイル自体に触れることなく、メモリ内だけで)?

4

2 に答える 2

0

値を ?es_firstNameLabel などに設定してプロパティ ファイルを作成し、そのプロパティ ファイルを使用するようにロケールを設定するだけです。次に、アプリで英語 (または母国語が何であれ) を調べます。それは醜いですが、それは良いことです。

残念ながら、チェック部分を自動化する簡単な方法はありません。ページを 1 つずつ回帰するだけです。

すべてが完了したら、戻って ?es_propertyLabel のものを適切な値に置き換え始めることができるため、新しい言語エントリの作成を開始するときにうまく機能します。

于 2012-10-04T16:06:16.683 に答える
0

あなたが言及しているのは、疑似ビルドと呼ばれる概念です。置換する代わりに、リソース文字列 (プロパティ ファイルの値) にプレフィックスとサフィックスを追加し、アプリケーションのエラーをテストするのが一般的です。

残念ながら、考えられるすべての実行パスをテストする方法はほとんどないため、ハードコーディングされた文字列の欠陥のサブセットしか得られません。もちろん、テスト中に alt 属性と title 属性の内容を省略するのは簡単です。問題に気付くのに苦労するかもしれません。

正直なところ、コード内の i18n エラーを見つける簡単な方法はありません。そのためには、Globylizer などの商用ツールを実行するか、独自のツールを開発する必要があります。ハードコーディングされた文字列 (率直に言って、問題の一部にすぎません) だけに焦点を当てる場合は、正規表現をハッキングして、開始タグと終了タグの間のテキストを見つけ、それが<s:text>翻訳に使用するものと似ていない場合や欠陥を報告する場合があります。

于 2012-10-04T17:20:28.387 に答える