1

私のインターンシップでは、ソフトウェアの国際化と現在の慣行と解決策について調査するよう依頼されました。

私はいくつかの調査を行いましたが、実行可能な解決策はありません。プロジェクト マネージャーから、stackoverflow で質問するように依頼されました。

Javaソフトウェアを国際化するために、あなたの仕事で現在どのような慣行を行っていますか?

編集

以下は、他の人が私の調査結果に興味を持っている場合に備えて、私の調査の要約です。

ソフトウェアは Java で記述されているため、当然 RessourceBundles が使用されます。RessourceBundles は、現在のロケールの特定の翻訳が存在しない場合に、既定値にフォールバックする適切なキー値ルックアップを提供します。ResourceBundle は、テキストの翻訳だけでなく、リソースの国際化にも使用されます。たとえば、色やイメージは、文化が異なれば意味も異なります。

それはすべて素晴らしいことですが、純粋に Java PropertiesResourceBundles を使用するだけでは、翻訳者にメタデータを提供できず、複数形を処理できません。

GNU Gettext は、国際化に別のアプローチを採用しています。メッセージは英語のソース コードで記述され、抽出されてファイルに保存されます。抽出プログラムは関数呼び出しを検索し、パラメーターを抽出します。たとえば、コマンド ライン ユーティリティ xgettext の tr("Hello, World!") は、関数 "tr" の発生を検索し、すべての文字列リテラルを抽出します。

次のような gettext の Java 実装が存在します。

ResourceBundles が提供しない gettext は、複数形の処理と翻訳のコンテキストです。

4

2 に答える 2

0

ほとんどの質問に答えるはずなので、このトレイルを読んでください。

Web アプリケーションには、JavaEE が提供する標準機能を使用します。これは基本的に、メッセージ バンドルを JSF ページに渡し、ページで次のようなマークアップを使用することを意味し#{msg.hello}ます。「msg」はメッセージ バンドルの名前で、「hello」は翻訳された文字列を検索するために使用されるキーです。

翻訳はすべて、標準化された形式と命名規則を持つプロパティ ファイルに保持されます。このプロセスは、クライアント アプリケーションの場合とほとんど同じように機能しますが、それほどスムーズではないと思います

私が理解しているように、プロの翻訳者は、プロパティ ファイルを読み込んで翻訳の作成を支援するソフトウェアを持っています。プロパティ ファイルにコメントを追加すると、翻訳者が翻訳時にコンテキストを把握できるので便利です。

于 2013-06-19T14:30:14.920 に答える