12.2.2. 国際化

今のところ、Groongaには日本語でのドキュメントしかありません。1.2.2からgettextベースの Sphinx I18N feature を使ってドキュメントの国際化対応を始めました。この仕組みではベースの言語として英語を使い、日本語などの他の言語には英語からその言語に翻訳します。すべてのドキュメントはdoc/source/以下において、それをSphinxで処理します。

しかし、今のところ、doc/source/では日本語を使っています。そのため、まずは、doc/source/以下にある日本語のドキュメントを英語に翻訳する必要があります。ドキュメントを翻訳して、パッチを送ってくれるととても喜びます。

12.2.2.1. 翻訳の流れ

doc/source/*.txtを更新したら、翻訳を始めます。

これが翻訳の流れです:

  1. Sphinxをインストールします。(インストールされていない場合)

  2. Groongaのリポジトリをcloneします。

  3. .edit ファイルを更新します。

  4. .edit ファイルを編集します。

  5. .po ファイルを更新します。

  6. HTMLファイルを生成します。

  7. HTMLの出力を確認します。

  8. 翻訳が完了するまで、3.-7.を繰り返します。

  9. 翻訳作業の成果をGroongaプロジェクトに送ってください!

上記の流れを実行するコマンドラインです。詳細は以降のセクションで説明します。

# Please fork https://github.com/groonga/groonga on GitHub
% git clone https://github.com/${YOUR_GITHUB_ACCOUNT}/groonga.git
% ./autogen.sh
% ./configure --enable-document
% cd doc/locale/${LANGUAGE}/LC_MESSAGES # ${LANGUAGE} is language code such as 'ja'.
% make # *.edit are updated
% editor *.edit # translate *.edit # you can use your favorite editor
% make # *.po are updated
% cd ..
% make html
% browser html/index.html # confirm translation
% git add LC_MESSAGES/*.po
% git commit
% git push

12.2.2.2. Sphinxのインストール方法

導入 を参照してください。

12.2.2.3. Groongaリポジトリのcloneの仕方

はじめに、GitHub上のGroongaリポジトリをforkしてください。 https://github.com/groonga/groonga にアクセスして Fork ボタンを押すだけです。これで自分のGroongaリポジトリをcloneすることができます。:

% git clone https://github.com/${YOUR_GITHUB_ACCOUNT}/groonga.git

cloneした後はconfigureする必要があります。:

% cd groonga
% ./autogen.sh
% ./configure --enable-document

この作業は初回セットアップ時のみだけの作業です。

以上の作業で問題があった場合は、 https://packages.groonga.org/source/groonga/ にあるソースファイルを利用してもよいです。

12.2.2.4. .edit ファイルの更新の仕方

doc/locale/${LANGUAGE}/LC_MESSAGES ディレクトリで make を実行すると .edit ファイルを更新できます。(${LANGUAGE} は'ja'など自分の言語の言語コードに置き換えてください。):

% cd doc/locale/ja/LC_MESSAGES
% make

12.2.2.5. .edit ファイルの編集の仕方

edit ファイルと po ファイルはどちらも PO ファイル です。 .edit ファイルは編集用で、 .po ファイルはバージョン管理用です。

様々なツールで .edit ファイルを編集できます。 .edit ファイルは単なるテキストなので好きなエディタで編集できます。

以下は .edit ファイルの編集に特化したエディタのリストです。.edit ファイルの実体は .po ファイルなので、これらのエディタを使うことができます。

Emacs's po-mode

gettextに同梱されています。

Poedit

.po 専用エディタです。たくさんのプラットフォームで動作します。

gted

これも .po 専用エディタです。Eclipseプラグインとして実装されています。

12.2.2.6. .po ファイルの更新の仕方

.edit ファイルを編集した後、 doc/locale/${LANGUAGE}/LC_MESSAGES ディレクトリで make を実行すると .po ファイルを更新できます。(${LANGUAGE} は'ja'など自分の言語の言語コードに置き換えてください。)

% cd doc/locale/ja/LC_MESSAGES
% make

12.2.2.7. HTMLファイルの生成方法

doc/locale/${LANGUAGE}ディレクトリで make html を実行すると更新した .po ファイルを使ってHTMLファイルを生成できます。(${LANGUAGE} は'ja'など自分の言語の言語コードに置き換えてください。):

% cd doc/locale/ja/
% make html

全ての言語のHTMLファイルを生成するにはdoc/locale/ディレクトリで make html を実行します。:

% cd doc/locale
% make html

注釈

.moファイルは make html で自動的に更新されるので、.moファイルのことを気にする必要はありません。

12.2.2.8. HTML出力の確認の仕方

HTMLファイルはdoc/locale/${LANGUAGE}/html/以下に出力されます。(${LANGUAGE} は'ja'など自分の言語の言語コードに置き換えてください。)好きなブラウザで出力されたHTMLを確認してください。:

% firefox doc/locale/ja/html/index.html

12.2.2.9. 翻訳の成果の送り方

翻訳の成果はGitHubのpull requestかメールで送ってください。メールで送る場合はパッチでも .po ファイルそのものでも構いません。

12.2.2.9.1. pull requestの送り方

pull requestを送るためのコマンドライン:

% git add doc/locale/ja/LC_MESSAGES/*.po
% git commit
% git push

これでGitHub上でpull requestを送る準備ができました。あとは、GitHub上の自分のリポジトリのページへアクセスして Pull Request ボタンを押すだけです。

12.2.2.9.2. パッチの送り方

パッチを作るためのコマンドライン

% git add doc/locale/ja/LC_MESSAGES/*.po
% git commit
% git format-patch origin/master

カレントディレクトリに000X-YYY.patchという名前のファイルができていると思います。これをGroongaプロジェクトに送ってください!

参考

コミュニティ に連絡先の情報があります。

12.2.2.9.3. .po ファイルの送り方

doc/locale/${LANGUAGE}/LC_MESSAGES/以下を.tar.gzや.zipなどでアーカイブにしてGroongaプロジェクトに送ってください!(${LANGUAGE} は'ja'など自分の言語の言語コードに置き換えてください。)こちらでアーカイブの中の内容をマージします。

参考

コミュニティ に連絡先の情報があります。

12.2.2.10. 新しい言語の追加方法

新しい翻訳対象の言語を追加するコマンドライン:

% cd doc/locale
% make add LOCALE=${LANGUAGE} # specify your language code such as 'de'.

${LANGUAGE} は'ja'などの自分の言語の言語コードに置き換えてください。