ローカライゼーション

ローカライゼーションとは何か ?

ローカライゼーションとは、国際化されたプラグインを翻訳する後続プロセスのことです。ローカライゼーションはしばしば l10n と略されます (l と n の間に10文字あるから)。

ローカライゼーション・ファイル

POT (ポータブル・オブジェクト・テンプレート) ファイル

このファイルには、プラグインの原文の文字列 (英語) が含まれています。

PO (ポータブル・オブジェクト) ファイル

各翻訳者は POT ファイルを受け取って msgstr セクションを自分の言語に翻訳します。その結果、POT と同じフォーマットで、翻訳といくつかの特定のヘッダーを持つ PO ファイルができます。1つの言語につき1つの PO ファイルが存在します。

MO (マシン・オブジェクト) ファイル

翻訳された PO ファイルから MO ファイルがビルドされます。これは機械語のバイナリファイルで、gettext 関数が実際に使用する (.POT や .PO ファイルは気にしない) ファイルであり、PO ファイルの “コンパイル済み” バージョンです。変換は、msgfmt コマンドラインツールを使って行われます。一般的に、アプリケーションは、複数の大きな論理翻訳モジュールを使用することがあり、それに応じて MO ファイルも使い分けることがあります。テキストドメインは、各モジュールのハンドルであり、異なる MO ファイルを持ちます。

POT ファイルの生成

POT ファイルは、翻訳者に渡す必要があるファイルで、そうすることで翻訳者は仕事をできます。POT および PO ファイルは、ファイル名を簡単に入れ替えることができ、問題なくファイルの種類を変更できます。

POT ファイルをプラグインと一緒に提供するのは良いアイデアで、そうすることで翻訳者から特に尋ねられる必要がなくなります。

プラグイン用の POT ファイルを生成するには、いくつかの方法があります:

WP-CLI

WP-CLI をインストールし、ドキュメントに従って、wp i18n make-pot コマンドを使用します。

Poedit

Poedit は、翻訳時にローカルでも使用できます。これはすべての主要 OS に対応したオープンソースのツールです。無料の Poedit デフォルト版は、Gettext 関数を使ったすべてのソースコードの手動スキャンをサポートしています。プロ版では、WordPress プラグインをワンクリックでスキャンする機能もあります。PO ファイルを生成した後、ファイル名を POT に変更できます。MO が生成された場合は、そのファイルは不要なので削除できます。プロ版を持っていない場合は、Blank POT を入手し、それを POT ファイル のベースとして使うことができます。空の POT を languages フォルダーに置いたら、Poedit の “Update” をクリックして、POT ファイルをあなたの文字列で更新できます。

Grunt タスク

POT の作成に使える Grunt タスクもあります。grunt-wp-i18n と grunt-pot です。Grunt をセットアップする手順は、このドキュメントの範囲外ですが、可能であることだけは認識しておいてください。プラグインのルートに置くことができる Grunt.js と package.json の例 です。

PO ファイルの翻訳

翻訳したファイルを my-plugin-{ロケール}.mo という名前で保存します。ロケールとは、言語コードや国コードのことです。たとえば、ドイツ語のロケールは de_DE です。上記のコード例では、テキストドメインは ‘my-plugin’ ですので、ドイツ語の MO および PO ファイルの名前は my-plugin-de_DE.mo と my-plugin-de_DE.po になります。言語コードと国コードの詳細情報については、あなたの言語で WordPress のインストールを参照してください。

PO ファイルを翻訳するには、複数の方法があります。

手動

テキストエディターを使って翻訳を入力できます。テキストエディターでは、次のようになります。

#: plugin-name.php:123
msgid "Page Title"
msgstr ""

引用符の間に訳語を入力します。ドイツ語の場合、次のようになります。

#: plugin-name.php:123
msgid "Page Title"
msgstr "Seitentitel"

Poedit

翻訳の際、Poedit も使用できます。無料の Poedit デフォルト版は、Gettext 関数によるすべてのソースコードの手動スキャンをサポートしています。プロ版では、WordPress のプラグインとテーマをワンクリックでスキャンする機能もあります。

オンライン・サービス

第3の方法は、オンライン翻訳サービスを利用することです。一般的なアイデアは、POT ファイルをアップロードして、ユーザーや翻訳者にプラグインの翻訳を許可するというものです。これにより、変更を追跡でき、常に最新の翻訳を持つことができ、翻訳が二度行われるのを減らすことができます。

PO ファイルをオンラインで翻訳するために使用できるツールをいくつか紹介します:

MO ファイルの生成

コマンドライン

msgfmt は、MO ファイルの作成に使用されます。msgfmt は、Gettext パッケージの一部です。そうでない場合は、コマンドラインを使うことができます。典型的な msgfmt コマンドは、以下のようなものです:

Unix オペレーティング・システム

msgfmt -o filename.mo filename.po

Windows オペレーティング・システム

msgfmt -o filename.mo filename.po

一度にたくさんの PO ファイルを変換する場合は、バッチとして実行できます。たとえば、bash コマンドを使用します:

Unix オペレーティング・システム (複数ファイル)

# Find PO files, process each with msgfmt and rename the result to MO
for file in `find . -name "*.po"` ; do msgfmt -o ${file/.po/.mo} $file ; done

Windows オペレーティング・システム (複数ファイル)

Windows の場合は、まず Cygwin をインストールする必要があります。

potomo.sh というファイルを作成し、以下のように記述します:

#! /bin/sh
# Find PO files, process each with msgfmt and rename the result to MO
for file in `/usr/bin/find . -name '*.po'` ; do /usr/bin/msgfmt -o ${file/.po/.mo} $file ; done

このコマンドは、コマンドラインで実行できます。

cd C:/path/to/language/folder/my-plugin/languages & C:/cygwin/bin/bash -c /cygdrive/c/path/to/script/directory/potomo.sh

Poedit

msgfmt も Poedit に統合されていて、MO ファイルの生成に使用できます。環境設定に有効/無効の設定があります。

国際化ローカライゼーション

Grunt タスク

すべてのファイルを変換する grunt-po2mo があります。

良い翻訳のためのヒント

機械的に翻訳するのではなく、有機的に翻訳する

マルチリンガルであるあなたは、自分が話す言語には異なる構造、リズム、トーン、抑揚があることを知っているはずです。翻訳されたメッセージは、英語のものと同じ様に構成する必要はない: 提示されたアイデアをもとに、ターゲット言語にとって自然な方法で同じことを表現するメッセージを考え出すのです。同じメッセージを作るか、同等のメッセージを作るかの違い: 複製するのではなく、置き換えるということです。より論理的で、ターゲットとする読者によりよく適応していると感じられるなら、メッセージに構造的な項目が多くても、あなたには適応したり変更したりするクリエイティブ・ライセンスがあります。

フォーマルさ (またはインフォーマルさ) のレベルを保つ様に

各メッセージは、フォーマルさ、またはインフォーマルさのレベルが異なります。ターゲット言語での各メッセージにどのレベルのフォーマルさまたはインフォーマルさを使うかは、あなた自身 (またはあなたのチーム) で考えなければならないことですが、WordPress のメッセージ (特に情報メッセージ) は、英語ではかなりインフォーマルなトーンになる傾向があります。あなたの文化的背景の範囲内で、ターゲット言語でも同等のことを達成する様にしましょう。

スラングや特定対象者特有の用語を使わない

ブログにはある程度の専門用語がつきものですが、「内輪」にしか通じない様な口語表現は控えましょう。不慣れなブロガーがあなたの言語で WordPress をインストールしたとして、その用語の意味がわかるでしょうか ? ピンバック、トラックバック、フィードのような単語は例外です。これらは一般的に翻訳が難しい専門用語であり、多くの翻訳者は英語のままにしています。

他のソフトウェアのローカライゼーションを、あなたの言語で読む

行き詰まったり、指示が必要な場合は、他の一般的なソフトウェアツールの翻訳を読んでみて、どのような用語が一般的に使用されているか、どのようにフォーマルな表現が使われているか、などの感覚をつかんでください。もちろん、WordPress には独自のトーンやフィールがあるので、他のローカライゼーションを読むときは、それを念頭に置きますが、あなたの言語の他のソフトウェアとの一貫性を保つために、UI 用語などを自由に掘り起こしてください。

ローカライゼーションの使用

language フォルダー内のローカライゼーションファイルを、プラグインの languages フォルダー内か、WordPress 3.7以降では通常 wp-content 配下のプラグイン languages フォルダー内に置きます。フルパスは wp-content/languages/plugins/my-plugin-fr_FR.mo になります。

言語は “一般設定” で変更できます。このオプションが表示されない場合、または切り替えたい言語がリストにない場合は、手動で行ってください:

  • wp-config.php の中で、WPLANG を選択した言語に定義します。たとえば、フランス語を使いたい場合は、次のようになります: define ('WPLANG', 'fr_FR');
  • wp-admin/options-general.php に移動するか、”設定” -> “一般” を選択します。
  • “サイトの言語” ドロップダウンで言語を選択します。
  • wp-admin/update-core.php に移動します。
  • 利用可能な場合は、”翻訳の更新” をクリックします。
  • 利用可能な場合は、コアの翻訳ファイルがダウンロードされます。

リソース

原文 / 日本語訳

s
検索
c
新規投稿を作成する
r
返信
e
編集
t
ページのトップへ
j
次の投稿やコメントに移動
k
前の投稿やコメントに移動
o
コメントの表示を切替
esc
投稿やコメントの編集をキャンセル