Java でタイプセーフな i18n を実行できるかどうか (およびどのツールを使用するか) を知りたいです。明確ではないかもしれないので、以下にいくつかの詳細を示します。MessageFormat
1) タイプセーフなパラメータを使用して翻訳する
String translate(Object key,Object... values)
値が型指定されていないようなインターフェースを持つことは避けたいと思います。不正なパラメータ タイプで呼び出すことは不可能です。
すべてのキーの入力を指定しても問題ないことに注意してください。私が探しているソリューションはスケーラブルであり、バックエンドの起動時間を大幅に増加させるべきではありません。
2) コンパイル時にどのキーがまだ使用されているかを知る必要があります
私の翻訳キーのベースが多くの Web サイトの CSS のようになりたくありません。永遠に成長し続け、誰もがキーを削除することを恐れています。
JS/React ランドには、コード内にまだ存在する変換キーをコンパイル時に抽出できるようにするbabel-plugin-react-intlがあります。次に、これらのキーを翻訳バックエンド/SaaS と比較し、未使用のキーを自動的に削除できます。Java の土地でその経験に近いものはありますか?
を探しています:
- 私が持っているこれらの2つの問題に関して、Javaでi18nをより管理しやすくするためのトリック
- 問題の解決に役立つ可能性のある現在のツール
- ツールが存在しない場合に何かカスタムを実装する方法に関するヒント
また、Enum は翻訳キーの膨大な固定リストを格納するのに適していますか?