4. 翻訳ガイドライン
このマニュアルは翻訳者の助けとなるよう書かれました。最初に、翻訳の全体のプロセスが技術的にどのように進行するかを説明します。次に実際の翻訳がどのように行われるかを、英語のrstドキュメントからオランダ語への翻訳に例をとって説明します。最後に 翻訳ルールのまとめ を見てください。
注釈
このガイドラインでは QGIS ドキュメントに焦点を当てますが、下記の方法やルールは QGIS アプリケーションや QGIS ウェブサイトの翻訳にも適用可能です。
4.1. 翻訳プロセス
QGIS のドキュメントは .rst
ファイルを使い英語で書かれています。翻訳を提供するには次のようにします。
事前ビルドスクリプトによって
.po
ファイルと呼ばれる翻訳用のファイルが、/QGIS-Documentation/locale/en
フォルダーの中に作成されます。スクリプトによって、これら「オリジナル」が、その他の言語のために
locale
フォルダーにコピーされます。.po
ファイルの中の文が Transifex のウェブプラットフォームにプッシュされ、英語から各言語へと、翻訳者がエディターを使って翻訳できるようになります。1日の終わりに、すべての検証済みの翻訳がスクリプトによって取得され、元の
.po
ファイルに反映されます。これらの翻訳は、ドキュメントの次のビルド(少なくとも1日に1回は行われます)の際に、翻訳版ドキュメントを作成するために、スクリプトによって再度利用されます。
.rst
ドキュメントが更新されると、新しく英語の.po
ファイルが作られます。この新しいファイルの内容は、各言語の既存の.po
ファイルへとマージされます。言い換えると、翻訳済みの.rst
ドキュメントに新たな文が追加されても、翻訳済みの.po
には新しい(あるいは修正された)文だけが追加され、その部分だけを翻訳し直せばよいということです。このため、次のリリースのための翻訳の更新作業は、比較的少なく済むはずです。
注釈
上記のプロセスは、QGIS ウェブサイト、QGIS デスクトップアプリケーション、QGIS サーバーのいずれの翻訳でも、同じように行われます。ただしアプリケーションの翻訳では、.po
ファイルではなく、.py
ファイルや .cpp
ファイル、 .yaml
ファイルなどのアプリケーションを形作るファイルの中のすべての翻訳可能な文字列が、単一の .ts
ファイルとして Transifex との間でやりとりされるという違いがあります。
現在、2つの異なるツールが、 QGIS での翻訳を行うために使用されています。
Transifex ウェブプラットフォーム, は、QGISを翻訳するのに一番簡単でお勧めの方法です。上で説明したプロセスは透過的に行われ、またすべての翻訳可能なテキストは1箇所に集められています。翻訳者は希望のファイルを選んで翻訳するだけです。別のリリースがプッシュされ翻訳を再開するまで、翻訳済みファイルはこのプラットフォームの中に保存されています。
Qt Linguist は Qt の開発ツールです。翻訳者は
.po
(もしくは.ts
) ファイルをソースコードからローカル環境に取得し、翻訳した後は送り返す必要があります。
どちらのツールを選ぼうと、翻訳のルールは同じであることに注意してください。
4.2. ファイルを翻訳する
ヒートマッププラグインの例を使って翻訳の作業を説明します。この例では英語からオランダ語に翻訳を行いますが、他のドキュメントや言語でもほぼ同じでしょう。
ヒートマッププラグインのドキュメントのソースは以下の場所にあります。
QGIS-Documentation/source/docs/user_manual/plugins/plugins_heatmap.rst
なんでこのドキュメントを例として選んだのかですって?
このドキュメントには画像、キャプション、ヘッダー、参照、置換があるからです
このドキュメントを書いたのは私なので、私には翻訳が容易だからです (^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 を使って翻訳するには、以下のようにしてください。
Languages チームの一員となったら、該当するプロジェクト(ここでは
QGIS Documentation
です)をクリックします。翻訳が可能な言語の一覧が、その進捗の割合とともに表示されます。翻訳する言語の上にカーソルを持ってきて、次のいずれかをクリックしてください。
リソースを表示: 翻訳可能な
.po
ファイルが、その翻訳の割合と文字列数とその他のメタデータとともに表示されます。翻訳: 翻訳可能なすべての
.po
ファイルと翻訳インターフェースが開きます。
翻訳したいファイル(この例では
docs_user-manual_plugins_plugins-heatmap
という名前のheatmap pluginのファイルを探します)か、もしくはなんでもいいので翻訳の終わっていないファイルを見つけて、それをクリックしてください。するとそのファイル中の文字列が読み込まれ、絞り込みや翻訳、提案などのインターフェースを利用できるようになります。ちなみに
ドキュメントとウェブサイトの翻訳では、ページのフッターにある
このページを修正
のリンクをクリックすれば、Transifexの対応する翻訳ページに直接移動することができます。あとは個々のテキストを選んで、下記の guidelines に従って翻訳するだけです。
Transifex の Web エディターについてのより詳しい情報は、https://help.transifex.com/en/articles/6318216-translating-with-the-web-editor を参照してください。
4.2.2. Qt Linguist による翻訳
Qt Linguist を使って翻訳するには、以下に従ってください。
手動で
.po
または.ts
ファイルを取得します。Transifex プラットフォームから、またはソースリポジトリ (GitHub) のlocale/$language
フォルダーから、ファイルをダウンロードすることで実現できます。ローカルで翻訳に取りかかります。
修正を行ったファイルを元の場所 (Transifex または GitHub) へアップロードします。
翻訳可能なファイルを Transifex を使ってダウンロードしたりアップロードしたりすることも可能ですが、この手順はお勧めできません。というのも、 Transifex にはバージョン管理システムがないために、あなたがアップロードしたファイルは単純に既存のファイルを置き換えるだけなので、その間に Transifex で他の人によって行われた変更を上書きしてしまう可能性があるからです。
Qt Linguist で初めてそのファイルを開くときは、次のようなダイアログが表示されます。
Target language は正しく選択する必要があります。 Source language は POSIX、Country/Region はAny Country のままでかまいません。
OK ボタンを押すと、 Qt Linguist は文を埋め、翻訳を始めることができます。 図 4.22 を参照してください。
メニューには使うと便利な以下のようなボタンがあります。
[翻訳を完了して次へ] ボタンは、最も重要なボタンです。翻訳が必要な項目では、テキストフィールドに翻訳を入力してこのボタンを押してください。翻訳を必要としない項目では、テキストフィールドは空のままでこのボタンを押してください。これで翻訳完了となり、次の項目に進みます。
[次のするべき] ボタンは、翻訳が必要な次の翻訳項目にジャンプします。ソースファイルの変更によって追加や修正が行われた文だけを翻訳する必要があるときに便利です。
Qt Linguist の使い方についての詳しい情報は、 https://doc.qt.io/qt-5/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 構文があります。
|heatmap|
のように|
に挟まれた言葉は、置換されるので決して翻訳してはいけません。ここではヒートマッププラグインのアイコンに置換されます。: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.
この場合、 load_core_plugin
は一意の参照識別子であり、キャプションのある rst アイテムの前に配置されます。この 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. 翻訳ルールのまとめ
|bronze|
、|checkbox|
、|labels|
、|selectString|
、|addLayer|
... のような、2つの|
の文字に挟まれたテキストは変更しないでください。これらは、画像に置換するために使用される特殊なタグです:ref:
,:file:
,:numref:
などで始まる役割を持つ参照は、タイトルが含まれていない限り変更しないでください。タイトルが含まれている場合は、タイトルを翻訳することはできますが、リンク(すなわち<
と>
で囲まれたテキスト)は変更せずにおいてくださいちなみに
参照にタイトルが提供されている場合、Transifex は英語の原文にリンク部分を数字に置き換えて表示することがあります。原文の数字をクリックすると、翻訳中のタイトルの横に参照のリンクが追加されます。
figure_labels_1_
のようなアンダースコアで終わる参照を変更しないでください。ハイパーリンクの URL を変更しないでください。ただし読者に表示される記述は変更できます。ハイパーリンクの末尾のアンダースコア (
>`_
) は空白を加えたりせずそのまま残しておいてください。:index:
、:sup:
、:guilabel:
、:menuselection:
タグに続く引用符内のテキストは変更してください。それが QGIS アプリケーションで翻訳されているかどうか、どう翻訳されているかを確認してください。タグ自体は変更しないでください。二重星と二重引用符の間のテキストは多くの場合、値もしくはフィールド名を示しています。翻訳の必要があることもあれば、ないこともあります。
`
,``
,*
,**
,::
などの特殊文字は、正確に元のテキストと同じ文字を(同じ数だけ)使用するよう注意してください 。これらは情報の見た目を整えるのに貢献しています。特殊文字やタグで囲まれた部分のテキストを、スペースで始めたり終わらせたりしないでください。
翻訳文字列の後に段落を開始して終了しないでください。そうすると HTML 生成時にテキストが翻訳されません。
以上のルールを守ってドキュメントの品質を良くしましょう!
何か質問があれば QGIS コミュニティチーム または QGIS 翻訳チーム までご連絡ください。