翻訳ガイドライン

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

注釈

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

翻訳のプロセス

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

  1. 事前のビルドスクリプトが英語のための翻訳ファイルを /QGIS-Documentation/i18n/en フォルダ内に .po ファイルという名前で作成します。

  2. 次にスクリプトはこの「オリジナル」を他言語用に i18n フォルダ内にコピーします。

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

  4. 1日の終わりに、検証済みの翻訳がスクリプトによりプルされ取得されます。

  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) ファイルをソースコードからローカルにプルし、翻訳した後にはプッシュし戻す必要があります。

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

ファイルを翻訳する

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

このドキュメントのソースはここにあります。

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

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

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

  2. 私が書いたドキュメントなので私にとっては翻訳が容易です (^o^)

ビルドプロセスが英語の .po ファイルをここに生成済みです。

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

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

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

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

Transifexでの翻訳

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

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

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

    ../../_images/transifex_choose_language.png

    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 を参照してください。

Qt Linguistによる翻訳

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

  1. .po ファイル、もしくは .ts ファイルを手作業で入手します。これにはTransifexプラットフォームからダウンロードするか、GitHubのソースリポジトリの i18n/$language フォルダからダウンロードします。

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

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

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

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

../../_images/linguist_choose_language.png

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

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

OK ボタンを押すと、Qt Linguistに文章が読み込まれ、翻訳を開始することが可能になります。 Figure_translation_menu を参照してください。

../../_images/linguist_menu.png

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 ブランチを使用してください。

マニュアルを翻訳する

それでは 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 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 は変更することができます。ハイパーリンクの末尾のアンダースコアは本質的な部分なので決して削除してはいけません。

翻訳ルールのまとめ

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

  2. :ref::file: タグで始まる参照を変更しないでください

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

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

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

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

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

  8. 特殊文字やタグでホールドされるテキストをスペースで開始したり終了しないでください。

  9. 翻訳される文字列を新しい段落で終了しないでください。そうするとテキストはHTML生成時に翻訳されないでしょう。

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

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