4. 翻訳ガイドライン

このマニュアルは翻訳者の助けとなるよう書かれました。最初に、翻訳の全体のプロセスが技術的にどのように進行するかを説明します。次に実際の翻訳がどのように行われるかを、英語のrstドキュメントからオランダ語への翻訳に例をとって説明します。最後に 翻訳ルールのまとめ を見てもらいます。

注釈

このガイドラインではQGISドキュメントに焦点を当てますが、下記の方法やルールはQGISアプリケーションやQGISウェブサイトの翻訳にも適用可能です。

4.1. 翻訳のプロセス

QGISのドキュメントは .rst ファイルを使い英語で書かれています。翻訳は次のプロセスを経て提供されます。

  1. プレビルドスクリプトによって、 .po ファイルと呼ばれる翻訳用のファイルが、まず英語のために /QGIS-Documentation/locale/en フォルダの中に作成されます。

  2. 次にスクリプトによって、この「オリジナル」が、その他の言語のために locale フォルダにコピーされます。

  3. .po ファイルの中の文章がTransifexのウェブプラットフォームにプッシュされ、英語から各言語へと、翻訳者がエディタを使って翻訳できるようになります。

  4. 1日の終わりに、すべての検証済みの翻訳がスクリプトによって取得され、元の .po ファイルに反映されます。

  5. これらの翻訳は、ドキュメントの次のビルド(少なくとも1日に1回は行われます)の際に、翻訳版ドキュメントを作成するために、スクリプトによって再度利用されます。

  6. 原文の .rst ドキュメントが更新されると、新しく英語の .po ファイルが作られます。この新しいファイルの内容は、各言語の既存の .po ファイルへとマージされます。言い換えると、翻訳済みの .rst ドキュメントに新たな文章が追加されても、翻訳済みの .po には新しい(あるいは修正された)文章だけが追加され、その部分だけを翻訳し直せばよいということです。このため、次のリリースのための翻訳の更新作業は、比較的少く済むはずです。

注釈

上記のプロセスは、QGISウェブサイト、QGISデスクトップアプリケーション、QGISサーバのいずれの翻訳でも、同じように行われます。ただしアプリケーションの翻訳では、.po ファイルではなく、.py ファイルや .cpp ファイル、 .yaml ファイルなどのアプリケーションを形作るファイルの中のすべての翻訳可能な文字列が、単一の .ts ファイルとしてtransifexとの間でやりとりされるという違いがあります。

現在、ふたつの異なるツールが、QGISでの翻訳を行うために使用されています。

  • Transifexのウェブプラットフォーム, は、QGISを翻訳するのに一番簡単でお勧めの方法です。上で説明したプロセスは透過的に行われ、またすべての翻訳可能なテキストは1箇所に集められています。翻訳者は希望のファイルを選んで翻訳するだけです。別のリリースがプッシュされ翻訳を再開するまで、翻訳済みファイルはこのプラットフォームの中に保存されています。

  • Qt Linguist はQtの開発ツールです。翻訳者は .po (もしくは .ts) ファイルをソースコードからローカル環境に取得し、翻訳した後は送り返す必要があります。

どんなツールを選ぼうと、翻訳のルールは同じであることに注意してください。

4.2. ファイルを翻訳する

ヒートマッププラグインの例を使って翻訳の作業を説明します。この例では英語からオランダ語に翻訳を行いますが、他のドキュメントや言語でもほぼ同じでしょう。

ヒートマッププラグインのドキュメントのソースは以下の場所にあります。

QGIS-Documentation/source/docs/user_manual/plugins/plugins_heatmap.rst

なんでこのドキュメントを例として選んだのかですって?

  1. このドキュメントには画像、キャプション、ヘッダー、参照、置換があるからです

  2. このドキュメントを書いたのは私なので、私には翻訳が容易だからです (^o^;)

ビルドプロセスが英語の .po ファイルを以下の場所に生成しています。

QGIS-Documentation/locale/en/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po

これに対応するオランダ語の .po ファイル(基本的にコピーです)は以下の場所にあります。

QGIS-Documentation/locale/nl/LC_MESSAGES/docs/user_manual/plugins/plugins_heatmap.po

このファイルと並んでごく小さなサイズの .mo ファイルがあるのに気づかれると思いますが、今の所このファイルにはなんの翻訳も含まれていません。

4.2.1. Transifexでの翻訳

Transifexを使って翻訳するには、以下に従ってください。

  1. Transifexでアカウントを作成し、QGISプロジェクトに参加します。.

  2. Languagesチームの一員となったら、該当するプロジェクト(ここでは QGIS Documentation です)をクリックします。翻訳が可能な言語の一覧が、その進捗の割合とともに表示されます。

    ../../_images/transifex_choose_language.png

    図 4.15 Transifexのメニューで翻訳する言語を選んでください

  3. 翻訳する言語の上にカーソルを持ってきて、次のいずれかをクリックしてください。

    • リソースを表示: 翻訳可能な .po ファイルが、その翻訳の割合と文字列数とその他のメタデータとともに表示されます。

    • 翻訳: 翻訳可能なすべての .po ファイルと翻訳インターフェースが開きます。

  4. 翻訳したいファイル(この例では docs_user-manual_plugins_plugins-heatmap という名前のheatmap pluginのファイルを探します)か、もしくはなんでもいいので翻訳の終わっていないファイルを見つけて、それをクリックしてください。するとそのファイル中の文字列が読み込まれ、絞り込みや翻訳、提案などのインターフェースを利用できるようになります。

    ちなみに

    ドキュメントとウェブサイトの翻訳では、ページのフッターにある このページを修正 のリンクをクリックすれば、Transifexの対応する翻訳ページに直接移動することができます。

  5. あとは個々のテキストを選んで、下記の guidelines に従って翻訳するだけです。

TransifexのWebエディターについてのより詳しい情報は、https://docs.transifex.com/translation/translating-with-the-web-editor を参照してください。

4.2.2. Qt Linguistによる翻訳

Qt Linguistを使って翻訳するには、以下に従ってください。

  1. manually grab the .po or .ts file(s). This can be achieved by downloading the file(s) either from Transifex platform or from the locale/$language folder of the source repository (in GitHub),

  2. ローカルで翻訳に取りかかります。

  3. 修正を行ったファイルをTransifexかGitHubの元の場所へアップロードします。

翻訳可能なファイルをTransifexを使ってダウンロードしたりアップロードしたりすることは可能ですが、この手順はお勧めできません。というのも、Transifexにはバージョン管理システムがないために、あなたがアップロードしたファイルは単純に既存のファイルを置き換えるだけなので、その間にTransifexで他の人によって行われた変更を上書きしてしまう可能性があるからです。

Qt Linguistで初めてそのファイルを開くときは、次のようなダイアログが表示されます。

../../_images/linguist_choose_language.png

図 4.16 linguist メニューから翻訳する言語を選んでください

ターゲット言語は正しく選択する必要があります。ソース言語はLanguageはPOSIX、Country/RegionはAny Countryのままでかまいません。

When you press the OK button Qt Linguist is filled with sentences and you can start translating, see 図 4.17.

../../_images/linguist_menu.png

図 4.17 Qt Linguistのメニューを使用して翻訳

メニューには使うと便利な以下のようなボタンがあります。

  • linguist_done_next [翻訳を完了して次へ] ボタンは、最も重要なボタンです。翻訳が必要な項目では、テキストフィールドに翻訳を入力してこのボタンを押してください。翻訳を必要としない項目では、テキストフィールドは空のままでこのボタンを押してください。これで翻訳完了となり、次の項目に進みます。

  • linguist_previous [前へ行く] ボタンで、その前の翻訳項目に移動することができます。

  • linguist_next [次へ行く] ボタンで、その次の翻訳項目に移動することができます。

  • linguist_next_todo [次のするべき] ボタンは、翻訳が必要な次の翻訳項目にジャンプします。ソースファイルの変更によって追加や修正が行われた文だけを翻訳する必要があるときに便利です。

  • linguist_previous_todo [前のするべき] ボタンは逆方向に検索を行い、最初に見つかった未翻訳の項目にジャンプします。

Qt Linguist の使用についてのより詳しい情報は、 https://doc-snapshots.qt.io/qt5-5.12/linguist-translators.html を参照してください。

警告

翻訳のためにソースリポジトリからファイルをダウンロードするときは、絶対に master ブランチで行なってはなりません。ある特定のバージョンで英語での更新が完了した後は、常に翻訳用ブランチが有効になっています。翻訳のためにはそのブランチを使用してください。例えばQGIS 2.8の翻訳では、manual_en_v2.8 ブランチを使用してください。

4.2.3. マニュアルを翻訳する

それでは plugin_heatmap マニュアルの翻訳を始めましょう!

センテンスのほとんどはそのまま翻訳するべきです。特別な翻訳をしなければならない部分(rst文)を、この翻訳セッションの中で挙げていきます。

以下で翻訳の対象として興味深いセンテンスを見ていきましょう。

The |heatmap| :sup:`Heatmap` plugin allows to create a heatmap from a
point vector map. A heatmap is a raster map showing the density or
magnitude of point related information. From the result "hotspots" can
easily be identified.

このセンテンスには2つのrst構文があります。

  1. |heatmap| のように | の間にある言葉は置換されるので決して翻訳してはいけません。ここではヒートマッププラグインのアイコンに置換されます。

  2. :sup:`Heatmap` のような :sup: 文は上付き文です。続くテキストを少し高く出力します。これはツールバー項目の上にマウスを当てた時に表示されるポップアップテキストを表示するために使用されますが、実際のQGISアプリケーションでの翻訳とは異なる場合があります。オランダ語の場合はそうではありません。

このセンテンス中のそれ以外のプレーン・テキストはすべて翻訳してかまいません。

次の文章には 、通常マニュアルの別のセクションを参照するために使用される :ref: 文が含まれています。 :ref: 文に続くテキストは一意の識別子であるため、 変更してはいけません。

First this core plugin needs to be activated using the Plugin Manager
(see Section :ref:`load_core_plugin`). After activation the heatmap icon
|heatmap| can be found in the Raster Toolbar.

In this case load_core_plugin is a unique reference identifier placed before an rst item that has a caption. ref文は見出しテキストに置換され、ハイパーリンクになります。 参照されている見出しが翻訳された時は、この見出しを参照しているすべてのref文も自動的に同じように翻訳されます。

次の文章には rst-タグ :menuselection: があります。後ろに続くテキストは実際にQGISアプリケーションのメニューで表示されるテキストです。これはアプリケーションでは翻訳されているかもしれませんので、その場合は変更すべきです。

Select from menu :menuselection:`View --> Toolbars --> Raster` to activate
the Raster Toolbar when it is not yet activated.

ここではオランダ語へのローカライズQGISアプリケーションで使用される翻訳ですので、上記の「View -->」は実際には「Beeld -->」と翻訳されます。

次のように、もう少しトリッキーな文章のこともあります。

The |heatmap| :sup:`Heatmap` tool button starts the Dialog of the Heatmap
plugin (see :numref:`figure_heatmap_settings`).

この文章には、図 figure_heatmap_settings_ への参照があります。セクションへの参照と同様に、この参照を変更してはいけません。rstドキュメントでの参照定義は .po ファイルには含まれていないため、これを変更することはできません。このことは図への参照は翻訳できないことを意味します。HTML生成時には figure_heatmap_settings と表示されます。PDF生成の際には figure_heatmap_settings_ は図番号に置き換えられます。

次の rst属性付きの文章はこのようなものです。

**Input Point dialog**: Provides a selection of loaded point vector maps.

上の行内の二重星印を削除しないでください。二重星印に挟まれたテキストは太字で印刷されます。テキストそのものは多くの場合、ダイアログ中のテキストであり、アプリケーションでは翻訳されているかもしれません。

以下の文章には :guilabel: rstタグが含まれています。

When the |checkbox| :guilabel:`Advanced` checkbox is checked it will
give access to additional advanced options.

guilabelタグの テキスト Advanced はQGISアプリケーション中でおそらく翻訳されるのでたぶん変更する必要があります!

以下の文章には ``airports`` が含まれています。引用符は、テキストに別のテキストフォントを与えるために使用されています。このケースでは、リテラル値であり、翻訳を必要としません。

For the following example, we will use the ``airports`` vector point
layer from the QGIS sample dataset (see :ref:`label_sampledata`).
Another excellent QGIS tutorial on making heatmaps can be found on
`https://www.qgistutorials.com
<https://www.qgistutorials.com/en/docs/creating_heatmaps.html>`_.

この文章には、URLと表示テキストの両方を持つハイパーリンクも含まれています。URLはもちろん手をつけずそのまま残すべきですが、読者に表示される方のテキストである https://www.qgistutorials.com は変更することができます。ハイパーリンクの末尾のアンダースコアは本質的な部分なので決して削除してはいけません。

4.2.4. 翻訳ルールのまとめ

  1. |bronze||checkbox||labels||selectString||addLayer| ... のような、2つの 文字 | の間のテキストを変更しないでください。これらは画像に置換するために使用される特殊なタグです。

  2. Do not change references that start with roles like :ref:, :file:, :numref: unless they include a title. In that case, you can translate the title but keep unchanged the link (i.e., the text between < and >)

    ちなみに

    When a title is provided for a reference, Transifex may display a number in the English source text in replacement of the link part. Click on the number in the source text to add the reference link next to the title being translated.

  3. figure_labels_1_ のようなアンダースコアで終わる参照を変更しないでください。

  4. ハイパーリンクのURLを変更しないでください。ただし読者に表示される記述は変更できます。ハイパーリンクの末尾のアンダースコア (>`_) は空白を加えたりせずそのまま残しておいてください。

  5. :index::sup::guilabel::menuselection: タグに続く引用符内のテキストは変更してください。それがQGISアプリケーションで翻訳されているかどうか(翻訳されていたらどう翻訳されているか)を確認してください。タグ自体は変更しないでください。

  6. 二重星と二重引用符の間のテキストは多くの場合、値もしくはフィールド名を示しています。翻訳の必要があることもあれば、ないこともあります。

  7. `, ``, *, **, :: などの特殊文字は、正確に元のテキストと同じ文字を同じ数だけ使用するよう注意してください 。これらは情報の見た目を整えるのに貢献しています。

  8. 特殊文字やタグで囲まれたテキストの前後にスペースを入れないでください。

  9. 翻訳文字列の後に段落を開始して終了しないでください。そうするとHTML生成時にテキストが翻訳されません。

以上のルールを守ってドキュメントの品質を良くしましょう!

ご質問がございましたら、 QGISコミュニティチーム または QGIS翻訳チーム までご連絡ください。