6

Djangoプロジェクトを翻訳する方法を探しています。Djangoに付属している組み込みのメカニズムは素晴らしいですが、いくつかの弱点があり、代わりの方法を探しに行きました。

プロジェクトの所有者は、英語(元の翻訳)を含むすべての翻訳を編集できる必要があります。gettextを使用すると、Pootleなどのツールを使用して翻訳を編集できますが、元の文字列はファイルソースまたはテンプレート内にハードコードされたままになります。プロダクトオーナーがそれらを変更できる方法はありません。

考えられる解決策は、gettextにいくつかの一意の識別子を翻訳させ、次のように英語を含むすべての言語に翻訳することです。

_('form_sumbit_button')

しかし、これにより、pootleのようなツールを翻訳者が使用することはほとんど不可能になります。

質問:私のニーズに合うDjangoプロジェクト翻訳用のツールはありますか?

4

3 に答える 3

4

一部のメッセージ ID を使用すると、理解できない ("message_2215") か、メッセージ ID を実際のメッセージに同期させる必要があります ("Please press any key" = "please_press_any_key" => "Any key to continue)。 " = "any_key_to_continue")。いずれにせよ、プログラマーとツールにとっては、実際の文字列の方が優れています。

ただし、文字列に別の校正者を使用する場合は、次のことができます。

  1. 英語の「翻訳」ファイルを作成します (はい、これで動作します)
  2. Pootle やその他のツールを使用して、校正者に英語から英語に「翻訳」してもらいます
  3. コード内の文字列を更新して、プログラマーがその翻訳ファイルを翻訳しないようにしてください。
  4. (オプション) タイプミスをすばやく修正できるように、メイン コードから独立して翻訳を展開する方法を作成します。
于 2010-12-30T13:15:57.123 に答える
1

Pootle のカスタマイズの容易さによっては、_("message_id") アプローチで Pootle を使用できる場合があります (内部構造がわからないため、何とも言えませんが、IIUC では通常、テンプレートの変更が行われる Django を使用します)。簡単です)。

たとえば、Pootle の翻訳画面には「オリジナル」セクションと「翻訳」セクションがあります。テンプレートを調整して、「オリジナル」セクションの下に、特定の参照言語 (英語など) を使用した標準的な翻訳を表示する「参照」セクションを表示することができます。

または、Pootle をカスタマイズする必要なく、 Pootle の代替ソース言語機能を使用できる場合もあります。未使用の言語コード (または作成されたもの) を使用して、翻訳の正規バージョンを保存できます。

于 2010-12-29T16:25:25.313 に答える
0

識別子の使用は Gettext で確実に可能であり、これをサポートするツールがあります。ただし、一部の翻訳者はオフライン翻訳用に .po ファイルのみをダウンロードすることに慣れており、単一言語の翻訳では機能しないため、これは珍しいことかもしれません。

たとえば、Weblateは単一言語の Gettext ファイルを問題なくサポートしています (私はこのツールの作成者です): https://docs.weblate.org/en/latest/formats.html#monolingual-gettext

于 2015-06-30T05:30:02.647 に答える