本記事は「Automated translation of Qt documentation」の抄訳です。
Qt のドキュメントが充実していることが知られており、近年、ドキュメントを頼りにするユーザがかなり増えてきました。これらのユーザーの中には、特定の言語でドキュメントを読みたい人もいるため、自動翻訳ツールを使用されています。翻訳ツールのほとんどは指示しない限り、ページ全体を選択した言語に翻訳します。例えば、以下のスクリーンショットは、QString APIリファレンスのフランス語のGoogle翻訳出力を示しています。
ここでQStringのAPI概要も翻訳され、メソッドやプロパティ名が変更されていることに注目してください。
自動翻訳ツールはドキュメントの特定の部分、特にAPIリファレンスのサマリーをスキップするように指定できます。これの実現方法はいくつかあり、そのひとつが translate 属性を使用する方法です。
ドキュメントの作成に使用しているQDocツールでは、翻訳すべきでないHTMLブロックにtranslate=no 属性を追加しています。この属性は、ユーザーがページを翻訳したときに、翻訳ツールが該当ブロックをスキップすることを可能にし、より良い翻訳を提供します。
QDocを使ってプロジェクトのドキュメントを生成する場合、出力形式としてHTMLとDocBook XMLのいずれかが選択可能です。HTML出力と同様に、QDocは翻訳不可能な部分に適用するメタデータを含むDocBook XMLを生成します。通常、DocBookは中間形式として使われ、Pandoc等別ツールを利用して追加処理します。 これらのサードパーティツールは、翻訳不可能な部分のメタデータを使用して、適切なHTML出力を生成します。
以下のスクリーンショットでは、translate=no 属性の翻訳結果への影響を示します。
https://doc-snapshots.qt.io/ のドキュメントセットでは、すでに translate 属性が使用されており、近々 https://doc.qt.io/ のドキュメントにも本機能を展開していく予定です。この機能を試してみて、感想をご連絡ください。問題等ある場合は、JIRAにチケットを作成してご報告ください。