当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「WordPress の翻訳」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(翻訳完了)
(外部転送先が変わったため再転送。)
 
(3人の利用者による、間の11版が非表示)
1行目: 1行目:
{{NeedTrans|一部}}
+
このページは https://ja.wordpress.org/team/handbook/translation/ へ移動しました。
 
+
__TOC__
+
「インターナショナリゼーション(国際化/i18n)」や「ローカライゼーション(地域化/L10n)」とは、WordPress をはじめとするさまざまなソフトウェアやプロジェクトなどを、もともとのターゲットとする言語や地域以外のユーザーにも利用できるようにする試みのことです。
+
 
+
プログラムのローカリゼーションには2つのステップがあります。まず、プログラムの開発者が世界中のユーザーに向けて、各地の状況や言語に合わせてプログラムの内部やインターフェースをいずれ翻訳するための仕組みを整えることから始まります。WordPress ではこの作業がすでに行われているので、理論上はどんな言語でも利用出来るようにできます。
+
 
+
次のステップは、実際の「ローカライゼーション」です。この段階ではソフトウェアの開発者の指定したフレームワークを使ってページ上のテキストや設定を翻訳し、他の言語や文化に適合させます。WordPress はすでにたくさんの言語に翻訳されています([[:en:WordPress in Your Language|WordPress in Your Language]] を参照<!-- 日本語訳では他の言語へのリンクは削除されているので英語版にリンク -->)。
+
 
+
このページでは翻訳者(複数の言語を知っている WordPress ユーザー)が WordPress をより多くの言語にローカライズするために必要なツールや手順についてご紹介します。
+
 
+
<div id="Translating_WordPress">
+
== WordPressを翻訳する ==
+
</div>
+
 
+
WordPress の翻訳に足を踏み入れる前に、[[:en:WordPress in Your Language|WordPress in Your Language]] ページを確認して、「[[#「地域(ロケール)」について|ロケール]]」がすでに存在していないか確認しましょう。もしかしたら、誰か(あるいはどこかのチーム)がすでに翻訳に動いているが完了していないかもしれません ([[:en:WordPress in Your Language#Japanese(日本語)(ja)|日本語はすでに存在]]しており、[[WordPress_への協力#WordPress の日本語化|作成に参加]]できます)。
+
 
+
もし翻訳したいロケールが公式 [http://svn.automattic.com/wordpress-i18n/ WordPress ローカリゼーションレポジトリ]に見当たらない場合、[http://wppolyglots.wordpress.com/ polyglotsのブログ]に参加するのが一番良い初めの一歩でしょう。自己紹介をし、そのロケールをすでに翻訳し始めている人がいないか聞いてみましょう。また、[[:en:L10n:Localization_Teams|ローカリゼーションチーム]]と[[:en:L10n:Teams Currently Forming|現在結成中のローカリゼーションチーム]]のリストもあります。
+
 
+
<div id="Qualifications">
+
=== 翻訳への参加資格 ===
+
</div>
+
<!-- ★不要?★ -->
+
<!-- Assuming that a WordPress translation into your language does not already exist or has someone working on it, you may want to volunteer to create a public translation of WordPress into your language. If so, here are the qualifications you will need:-->
+
<!-- ★一応訳しときました by djkaz ★ -->
+
<!-- WordPressがあなたの言語に訳されていない、または訳す作業も行われていない場合、公式な翻訳を作成するためのボランティアになることができます。その場合、以下の資格が必要です: -->
+
* 英語および翻訳する言語が両方とも十分に読み書きできること。不十分な場合、作業が困難になるのに加え、完成したローカリゼーションファイルがネイティブスピーカーにとって分かりにくいものになってしまいます。
+
* PHP の知識があること。最適な方法でメッセージの翻訳を行うために WordPress のコードを読まなければいけないこともあります。
+
* 文法の知識があり、英語で書かれたメッセージの文脈を理解する能力があること。
+
 
+
<div id="About_Locales">
+
=== 「地域(ロケール)」について ===
+
</div>
+
 
+
'''ロケール'''とは、言語と地域の方言を組み合わせたもののことです。普通、「ポルトガル語(ポルトガル)」や「ポルトガル語(ブラジル)」というように、ロケールは国と対応しています。
+
 
+
翻訳するロケールは自由に選ぶことができます。例えばカナダ英語やオーストラリア英語のように、地域に独特な単語のつづり方や慣用句似合わせた翻訳なども可能です。
+
 
+
WordPress の基準ロケールは米国英語(en_US)です。
+
 
+
<div id="Localization_Technology">
+
== ローカライゼーション技術 ==
+
</div>
+
 
+
WordPress 開発者は [http://www.gnu.org/software/gettext/gettext.html GNU Gettext] ローカリゼーションフレームワークを採用しています。Gettext はオープンソースソフトウェアのモジュール形式の翻訳に事実上のスタンダードとして広く使われている成熟したフレームワークです。
+
 
+
gettextは''メッセージレベル''の翻訳を用います &mdash; これは、ユーザーに表示される各"メッセージ"が、パラグラフであっても単語であっても、個別に訳されるものです。WordPressではこうした"メッセージ"が生成され、翻訳され、2つのPHP関数を経て、WordPressのPHPファイルで使われます。<tt>__()</tt>はメッセージが他の関数に対する引数として渡される時に用いられます。<tt>_e()</tt>はメッセージをページヘ直に書き込む際に用いられます。これら2つの関数の詳細は:
+
 
+
; <tt>__('message')</tt> : この関数は<tt>'message'</tt>を翻訳するためのローカライゼーションモジュールを検索し、翻訳結果をPHPの<tt>return</tt>ステートメントに渡します。もし<tt>'message'</tt>の翻訳がなかった場合、単に<tt>'message'</tt>を渡します。
+
; <tt>_e('message')</tt> : この関数は<tt>'message'</tt>を翻訳するためのローカライゼーションモジュールを検索し、翻訳結果をPHPの<tt>echo</tt>ステートメントに渡します。もし<tt>'message'</tt>の翻訳がなかった場合、単に<tt>'message'</tt>を出力します。
+
 
+
テーマやプラグインの翻訳を行なっている場合、"Text Domain"を用いるべきです。プラグインでの使用方法について、詳しくは[[プラグインの作成]]を参照してください。テーマについても同様です。テーマやプラグインでの"Text Domain"使用例は以下です:
+
 
+
%%%<?php $translated_text = __( 'text', 'domain' ); ?>%%%
+
 
+
gettextのフレームワークはWordPressのほとんどの部分に適用されます。しかし、WordPressディストリビューションでgettextが使えない部分がいくつかあります。それらの部分の翻訳方法については、[[Files For Direct Translation]]を参照してください。
+
 
+
<div id="gettext_files">
+
=== gettextのファイル ===
+
</div>
+
 
+
gettextの翻訳フレームワークでは三種類のファイルが使われています。これらのファイルは翻訳プロセスの中でツールに依って、以下のように使用または生成されます。
+
 
+
; POT (Portable Object Template) ファイル : ローカライゼーションプロセス最初のステップは、WordPressのソースコードを検索し、<tt>__()</tt>または<tt>_e()</tt>関数に引き渡すメッセージをピックアップするプログラムが用いられることです。英語のメッセージリストは、特別のフォーマットされたテンプレートファイル (POTファイル)に入り、全ての翻訳の基礎を形作ります。一般的にPOTファイルをWordPress向けにダウンロードすることができるので、自ら作成する必要はありません。テーマやプラグインの開発者が<tt>__()</tt>や<tt>_e()</tt>関数へ全てのテキストを入れている場合、テーマやプラグインごとに個別のPOTファイルを作成することもできます。
+
 
+
; PO (Portable Object) ファイル : ローカライゼーションプロセス二番目のステップは、翻訳者がPOTファイルにある全てのメッセージを翻訳し、POファイルに英語と翻訳した言語の両方を保存することになります。
+
 
+
; MO (Machine Object) ファイル : ローカライゼーションプロセス最後のステップは、POファイルをmachine-readableに最適化されたバイナリーファイル (MO file)に変換するプログラムを実行することです。翻訳をマシンコードにコンパイルすることで、ローカライズされたプログラムが実行中に翻訳を出力することが遥かに早くなります。
+
 
+
<div id="Translation_Tools">
+
== 翻訳ツール ==
+
</div>
+
 
+
翻訳するために便利なツールをご紹介しますので、あなたの環境に合ったお好みの方法を選んでください。
+
 
+
; [http://translate.wordpress.org/ GlotPress] :GlotPressはあなたやチームがお好きなソフトウェアを翻訳します。これはWebベースでありオープンソースであります。これはまた、メインのレポジトリーと同期をとっており、WordPressをあなたの言語へ翻訳するために好まれているメソッドです。
+
 
+
; [https://translations.launchpad.net/ Launchpad] :この Ubuntu Linux プロジェクトにはサイトがあり、PO/POT ファイルなどを眼にすることなくメッセージを翻訳し、直接 MO ファイルをエクスポートできます。
+
 
+
: ''Note: 多くの翻訳者がRosettaを良い取り掛りになると考えます。しかし翻訳されたリストを校閲すると、多くの人々が手動またはpoEditやKBabelを用いてPOファイルを編集することが効率が良いことに気づきます。Rosettaのインターフェイスは検索機能がなく、校閲や編集段階でその他の作業が必要となることに気づくのです。''
+
 
+
; [http://pootle.locamotion.org/projects/wordpress/ Pootle] :オープンソースの Web ベース翻訳システム。Locamotion.org サーバーでは現在 WordPress の翻訳ができるようになっています。
+
 
+
;[http://www.poedit.net/ Poedit]: Windows, MacOS, UNIX/Linuxで使えるオープンソースデスクトッププログラム。容易にPOファイルの編集を行い、MOファイルの作成を行える GUIを持つ。
+
 
+
;[http://i18n.kde.org/tools/kbabel/ KBabel]: Linux 向けの PO 編集用オープンソースプログラム。
+
 
+
;[http://www.gnu.org/software/gettext/ GNU Gettext]: 公式 Gettext ツールパッケージ。POT ファイル作成、PO ファイル編集、MO ファイル作成用のコマンドラインツールを含む。コマンドシェルを得意とする人向け。
+
 
+
<div id="Translating_With_GlotPress">
+
=== GlotPress を使った翻訳 ===
+
</div>
+
GlotPressを用いた翻訳方法を説明したページが、on the [http://translate.wordpress.org/getting-started Getting Started guide.]にあります。もしあなたの言語がリスト化されていない場合、[http://wppolyglots.wordpress.com/ WP Polyglots blog]へ要望を上げてください。
+
 
+
[[:en:Translating_WordPress_with_Launchpad|Launchpad を使った翻訳手順]]については英語版 Codex の説明をご覧ください。日本語版パッケージ作成チームでは、現在利用していません。<!-- 日本語チームでは使っていないので英語版にリンクのみ -->
+
 
+
<div id="Translating_With_Launchpad">
+
=== Launchpad を使った翻訳 ===
+
</div>
+
 
+
[[:en:Translating_WordPress_with_Launchpad|Launchpad を使った翻訳手順]]については英語版 Codex の説明をご覧ください。日本語版パッケージ作成チームでは、現在利用していません。<!-- 日本語チームでは使っていないので英語版にリンクのみ -->
+
 
+
<div id="#Translating_With_Pootle_.28at_Locamotion.org.29">
+
=== Pootle を使った翻訳 (Locamotion.orgにて) ===
+
</div>
+
 
+
[[:en:Translating_WordPress#Translating_With_Pootle_.28at_Locamotion.org.29|Pootle を使った翻訳手順]]については英語版 Codex の説明をご覧ください。日本語版パッケージ作成チームでは、現在利用していません。<!-- 日本語チームでは使っていないので英語版にリンクのみ -->
+
 
+
<div id="Translating_With_Poedit">
+
=== Poedit を使った翻訳 ===
+
</div>
+
 
+
# [http://www.poedit.net/ Poedit]をダウンロード、インストールします。
+
# [http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot 公式 WordPress POTファイル] をダウンロードします。
+
# POTファイルをPoeditで開きます。
+
# まず最初に「ファイル>名前をつけて保存」を選択し、このPOTファイルを翻訳する言語のPOファイルとして保存しなおします。この際の名前のつけかたは、[[#WordPressローカライゼーションレポジトリ|WordPressローカライゼーションレポジトリ]]の項目を参考にしてください。
+
# インターフェースは6つのパネルに分かれています。上部には現在の翻訳状況、右下には英語版と翻訳版のメッセージ、左下にはコメント欄があります。上部で翻訳したいメッセージを選択し、一番右下のパネルに対応する翻訳を記入していきます。
+
# 翻訳が完了したら、「名前をつけて保存」を再度選択し、MOファイルを作成します。
+
# 「ファイル>設定>編集」メニューから、保存時にいつでもMOファイルを自動生成するようにしておくこともできます。また、コメント欄を編集可能にする場合もここで変更できます。
+
 
+
'''関連情報'''
+
*[http://homepage3.nifty.com/peterpan/Docs/poedit-help.html Poedit ヘルプ]
+
*[http://wp.mmrt-jp.net/plugin-japanization-project/poedit/ Poedit 取扱説明書] (MMRT daily life)
+
*[http://hucha.pindang.com/archives/10 Poeditの使い方メモ] (hucha on blog)
+
*[http://hiromasa.zone.ne.jp/blog/archives/452/ Poedit Windows 版インストール方法] (hiromasa.zone :o))
+
 
+
<div id="Translating_With_KBabel">
+
=== KBabel を使った翻訳 ===
+
</div>
+
 
+
[http://kbabel.kde.org/ KBabel]とは、Unix系OSデスクトップ環境構築用ソフトウェアである[http://www.kde.org/ KED]に含まれているツールです。
+
# [http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot 公式 WordPress POTファイル] をダウンロードします。
+
# POTファイルをKBabelで開きます。
+
 
+
詳しい使い方については、[http://www.kde.gr.jp/pukiwiki/ KBabel Wiki](日本語)が参考になります。
+
 
+
<div id="Translating_With_Gettext_Tools">
+
=== Gettext ツールを使った翻訳 ===
+
</div>
+
 
+
[http://www.gnu.org/software/gettext/gettext.html Gettext]を使う場合、UNIX環境またはCygwinなどのUNIX互換環境が必要になります。
+
# [http://svn.automattic.com/wordpress-i18n/pot/trunk/wordpress.pot 公式 WordPress POTファイル] をダウンロードします。
+
# POTファイルをお好きなテキストエディタで開きます。
+
# ヘッダー情報(以下参照)を更新します。
+
# メッセージを翻訳します。
+
# ファイルの拡張子を「.po」に変更して保存します。
+
# 以下を実行します。<tt>msgfmt -o ''filename''.mo ''filename''.po</tt>
+
 
+
'''関連情報'''
+
*[http://sohda.net/cygwin/ Cygwin を使う。] - Windows上でGNUの開発ツールなどUNIXのツールを使えるようにするソフト、Cygwinの日本語解説。
+
*[http://mput.dip.jp/osx/?date=20030508 Mac OS X インストールメモ - gettext]- Mac OS X上でのGettextのインストール手順。
+
 
+
<div id="The_PO_File_Header">
+
==== POファイルのヘッダー情報 ====
+
</div>
+
POファイルの先頭には、''ヘッダー''情報があります。これは翻訳がどのパッケージのどのバージョン向けなのか、誰が翻訳をしたのか、いつそれが作成されたのかという情報が記載されています。このヘッダーの特定部分は、全てのWordPress翻訳で普遍的であるべきです。
+
 
+
 
+
# '''LANGUAGE (LOCALE) translation for WordPress.'''
+
# Copyright (C) '''YEAR WordPress contributors.'''
+
# This file is distributed under the same license as the '''WordPress''' package.
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+
#
+
#, fuzzy
+
msgid ""
+
msgstr ""
+
"Project-Id-Version: '''WordPress VERSION'''\n"
+
"Report-Msgid-Bugs-To: \n"
+
"POT-Creation-Date: 2005-02-27 17:11-0600\n"
+
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+
"Language-Team: LANGUAGE <LL@li.org>\n"
+
"MIME-Version: 1.0\n"
+
"Content-Type: text/plain; charset=CHARSET\n"
+
"Content-Transfer-Encoding: 8bit\n"
+
 
+
太文字で書かれた部分を適切な内容に変更しましょう。
+
 
+
<div id="Message_Format">
+
==== メッセージの形式 ====
+
</div>
+
 
+
ヘッダー以降のファイル内容は以下のようになっています。
+
 
+
#: wp-comments-post.php:13
+
msgid "Sorry, comments are closed for this item."
+
msgstr ""
+
+
#: wp-comments-post.php:29
+
msgid "Sorry, you must be logged in to post a comment."
+
msgstr ""
+
+
#: wp-comments-post.php:35
+
msgid "Error: please fill the required fields (name, email)."
+
msgstr ""
+
 
+
各メッセージの最初の行はWordPressコードのメッセージの場所を示します。これらのメッセージの場合、全てwp-comments-post.phpのそれぞれ13行目、29行目、35行目に入っています。往々にして使用される背景をチェックする必要があるメッセージを見つけることがあります。これはWordPressコアの一つまたは複数の行を見て、いつどこでそのメッセージが表示されるかを見極め、場合によってはブラウザで自ら再現させる必要も出てくるでしょう。いくつかのメッセージは、複数箇所に同じテキストを表示させることもあります。この場合は、一つのファイル複数の行を指定する必要があるでしょう。
+
 
+
次の行、<tt>msgid</tt>は''ソース''メッセージです。これがWordPressが<tt>__()</tt> や <tt>_e()</tt> 関数に引き渡すメッセージで、翻訳の必要があるものです。
+
 
+
最後の行、<tt>msgstr</tt>は空白のストリングで、翻訳結果を埋める部分です。
+
 
+
'''[http://svn.automattic.com/wordpress-i18n/fr_FR/trunk/messages/fr_FR.po フランス語(フランス)]''' ロケールの場合の実際の内容です。
+
 
+
#: wp-comments-post.php:13
+
msgid "Sorry, comments are closed for this item."
+
msgstr "'''L'ajout de commentaire n'est pas ou plus possible pour cet article.'''"
+
+
#: wp-comments-post.php:29
+
msgid "Sorry, you must be logged in to post a comment."
+
msgstr "'''Vous devez &ecirc;tre connect&eacute; pour r&eacute;diger un commentaire.'''"
+
+
#: wp-comments-post.php:35
+
msgid "Error: please fill the required fields (name, email)."
+
msgstr "'''Erreur : veuillez remplir les champs obligatoires vides (nom, e-mail).'''"
+
 
+
'''注:''' HTML 実体参照文字をどんなときに使うべきかについては、以下の '''[[#Character_Encodings|文字コード]]'''および'''[[#HTML_Character_Entities|HTML 実体参照文字]]'''を参照。
+
 
+
<div id="Types_of_messages">
+
 
+
== メッセージのタイプ ==
+
</div>
+
 
+
<div id="Labels">
+
=== ラベル ===
+
</div>
+
 
+
'''ラベル'''は、<tt>&lt;label&gt;</tt>、<tt>&lt;legend&gt;</tt>、<tt>&lt;a&gt;</tt>、<tt>&lt;select&gt;</tt>HTMLタグ内で使われる、簡潔なUI(ユーザーインターフェース)要素の説明です。短い単語・文章ながら、前後関係に基づいた正確な翻訳が難しいこともあるので気をつけましょう。ほとんどの'''ラベル'''は、適切な訳を見つけ出す前にコードを検索して、それが使用される前後関係を見つける必要があります。
+
 
+
メッセージの多くはWordPressアドミニストレーションインターフェイスの一部であるため、'''ラベル'''は恐らく最も頻繁に使われる、翻訳されるべきメッセージと言えるでしょう。
+
 
+
<div id="Examples">
+
'''例'''
+
</div>
+
 
+
msgid "Post"
+
msgstr "Artikkeli"
+
 
+
''"Post"は命令形の動詞と解釈することもできますが、ここでは名詞として使われています。例えば上記の'[http://svn.automattic.com/wordpress-i18n/bg_BG/trunk/messages/bg_BG.po フィンランド語(フィンランド)]翻訳のように、「記事」といった意味の単語を使って翻訳しているロケールが多いようです。''
+
 
+
#: wp-login.php:79 wp-login.php:233 wp-register.php:166
+
#: wp-includes/template-functions-general.php:46
+
msgid "Register"
+
msgstr "&#2352;&#2332;&#2367;&#2360;&#2381;&#2335;&#2352;"
+
 
+
''上記は "Register" というラベルのヒンズー語翻訳です。''
+
 
+
#: wp-admin/admin-functions.php:357
+
msgid "- Select -"
+
msgstr " - Dewis -"
+
 
+
''単語をの前後につけるダッシュ記号などは、ロケールによっては省略したり他の記号と置き換えたりすることが必要になるかもしれません。英語と対応する、一般的な表記を選びましょう。上記はウェールズ語翻訳の例で、ダッシュ記号をそのまま使用しています。''
+
 
+
<div id="Informational_Messages">
+
=== 通知メッセージ ===
+
</div>
+
 
+
ラベルに加えてよく使われるのが'''通知メッセージ'''です。これは単語ではなく完全な文章から成っており、ユーザーに情報を伝えたり、アクションを要求したりするときによく使われます。これらは'''ラベル'''よりも長い文章になることが多いので、比較的翻訳しやすいといえるでしょう。しかし同時に、長めの文章の場合では丁寧な表現と簡潔な表現のばらつきが大きくなってしまうため、翻訳者は注意する必要があります。
+
 
+
'''例'''
+
 
+
#: wp-login.php:146
+
msgid "Your new password is in the mail."
+
msgstr "&#1042;&#1072;&#1096;&#1072;&#1090;&#1072; &#1085;&#1086;&#1074;&#1072; &#1087;&#1072;&#1088;&#1086;&#1083;&#1072; &#1077; &#1074; &#1077;&#1083;&#1077;&#1082;&#1090;&#1088;&#1086;&#1085;&#1085;&#1072;&#1090;&#1072; &#1074;&#1080; &#1087;&#1086;&#1097;&#1072;."
+
 
+
''このメッセージでは比較的砕けた、英語の型通りの表現 ("the check/cheque is in the mail") が使われています。''('''[http://svn.automattic.com/wordpress-i18n/bg_BG/trunk/messages/bg_BG.po ブルガリア語(ブルガリア)]'''翻訳より。)''
+
 
+
#: wp-includes/functions.php:1636
+
msgid "&lt;strong&gt;Error&lt;/strong&gt;: Incorrect password."
+
msgstr "&lt;strong&gt;FEL&lt;/strong&gt;: Felaktigt l&ouml;senord."
+
 
+
''エラーメッセージは短く簡潔であるため、丁寧でシンプルな表現になりがちです。''('''[http://svn.automattic.com/wordpress-i18n/sv_SE/trunk/messages/sv_SE.po スウェーデン語(スウェーデン)]'''翻訳より。)''
+
 
+
#: wp-includes/functions-post.php:467
+
msgid "Sorry, you can only post a new comment once every 15 seconds. Slow down cowboy."
+
msgstr "Leider kannst du nur alle 15 Sekunden einen neuen Kommentar eingeben. Immer locker bleiben."
+
 
+
''もちろん、全てがそうであるとは限りません。''('''[http://svn.automattic.com/wordpress-i18n/de_DE/trunk/messages/de_DE.po ドイツ語(ドイツ)]'''翻訳より。)''
+
 
+
<div id="Strings_with_Description">
+
=== 説明付きの文字列 ===
+
</div>
+
 
+
もし文字列が縦線 | を含む場合、その右側が説明を表します。これを知ることで、文字列を訳し、適切な場所に配置し、追加情報を提供することが容易になります。
+
 
+
==== 例 ====
+
 
+
#: wp-includes/locale.php:186
+
msgid ""
+
"number_format_decimal_point|$dec_point argument for http://php.net/number_format, default is ."
+
msgstr ","
+
 
+
この説明には、文字列を翻訳するために参照すべき Web ページが記入されています。
+
 
+
<div id="Date_and_Time_Locale_Settings">
+
=== 地域ごとの日時設定 ===
+
</div>
+
 
+
PHP が持つ地域設定は非常に多くの言語に対して十分な対応ができているとは言い難いため、WordPress では gettext 翻訳モジュールによって日付や時刻の翻訳とフォーマットを行ないます。<!-- Rather than using PHP's built-in locale switching features, which is not configured for very many languages on most hosts, WordPress uses the gettext translation module to accomplish date and time translations and formatting. -->
+
 
+
WordPress は以下のように翻訳を行っています。
+
 
+
<div id="Month_names">
+
==== 月 ====
+
</div>
+
 
+
#: wp-includes/locale.php:42 wp-includes/locale.php:57
+
msgid "May"
+
msgstr "Květen
+
 
+
''('''[http://svn.automattic.com/wordpress-i18n/cs_CZ/trunk/messages/cs_CZ.po チェコ語(チェコ共和国)]'''翻訳より。)''
+
 
+
<div id="Month_abbreviations">
+
==== 月の略称 ====
+
</div>
+
 
+
#: wp-includes/locale.php:57
+
msgid "May_May_abbreviation"
+
msgstr "Mag"
+
 
+
''普通では使わない<tt>msgid</tt>に気をつけてください。これらのメッセージは文面通り訳される'''べきではありません'''。これらは英語での事実を回避するためのハック手段です。5月のフルネームと略称は同じであるため、gettextが誤って一つのエントリーとして訳してしまいます。''('''[http://svn.automattic.com/wordpress-i18n/it_IT/trunk/messages/it_IT.po イタリア語(イタリア)]'''翻訳より。)''
+
 
+
<div id="Weekday_Names">
+
==== 曜日 ====
+
</div>
+
 
+
#: wp-includes/locale.php:7
+
#: wp-includes/locale.php:18
+
#: wp-includes/locale.php:31
+
msgid "Tuesday"
+
msgstr "&#28779;&#26332;&#26085;"
+
 
+
''('''[http://svn.automattic.com/wordpress-i18n/ja/trunk/messages/ja.po 日本語(日本)]'''翻訳より。)''
+
 
+
<div id="Weekday_Abbreviations">
+
==== 曜日の略称 ====
+
</div>
+
 
+
#: wp-includes/locale.php:31
+
msgid "Tue"
+
msgstr "&#1059;&#1090;&#1086;"
+
 
+
''('''[http://svn.automattic.com/wordpress-i18n/sr_RS/trunk/messages/sr_RS.po セルビア語(セルビア)]'''翻訳より。)''
+
 
+
<div id="Weekday_Initials">
+
==== 曜日のイニシャル ====
+
</div>
+
 
+
#: wp-includes/locale.php:18
+
msgid "T_Tuesday_initial"
+
msgstr "ti"
+
 
+
''曜日のイニシャルはWordPressのカレンダー機能のためにあります。そして月の略称と同じハックが用いられ、英語のTuesdayとThursdayはどちらも同じ頭文字を持つことに対応しています。全てのロケールが一文字の略称を全ての曜日に適用しているとは限りません。ノルウェーボクマール語の例では、'tirsdag'' (Tuesday) と ''torsdag'' (Thursday)を区別するために、文字が追加されています。''('''[http://svn.automattic.com/wordpress-i18n/bg_BG/trunk/messages/bg_BG.po ノルウェーボクマール語(ノルウェー)]'''翻訳より。)''
+
 
+
<div id="Date_Formatting_Strings">
+
==== 日付のフォーマット ====
+
</div>
+
 
+
これらは [http://php.net/date PHP <tt>date()</tt>] フォーマットの文字列で、日時のフォーマットをあなたのロケールに合わせて変更してくれます。
+
 
+
WordPressは月や曜日の名前などの翻訳を、ローカライズされたファイルの他の場所で使用します。この特別な文字列は、日時やその表示させる順番を示したエレメントです。
+
 
+
<tt>theme.pot</tt>にある、以下の<tt>msgid</tt>を見てみましょう。
+
 
+
#: archive.php:40 search.php:19 single.php:22
+
msgid "l, F jS, Y"
+
msgstr ""
+
 
+
これは、英語では以下のように表示されます。
+
 
+
Sunday, February 27th, 2005
+
 
+
しかし、ロケールによっては常にこの通りとは限りません。例えばデンマーク語では、以下のように日付を表記します。
+
 
+
s&oslash;ndag, 27. februar 2005
+
 
+
この表記を可能にするために、上記の<tt>msgid</tt>を以下のように翻訳する必要があります。
+
 
+
#: archive.php:40 search.php:19 single.php:22
+
msgid "l, F jS, Y"
+
msgstr "l, j. F Y"
+
 
+
別の例として、中国語および日本語では、以下のように日付を表記します。
+
 
+
2005&#24180;2&#26376;27&#26085;
+
 
+
このためには、以下のように翻訳します。
+
 
+
#: archive.php:40 search.php:19 single.php:22
+
msgid "l, F jS, Y"
+
msgstr "Y&#24180;n&#26376;j&#26085;"
+
 
+
最後に、もしアルファベットをそのまま日付表記内に含める必要がある時は、以下のスペイン語の例のようにアルファベットの前にバックスラッシュ(または&yen;記号)をつけます。
+
 
+
#: archive.php:40 search.php:19 single.php:22
+
msgid "l, F jS, Y"
+
msgstr "l j \d\e F \d\e Y "
+
 
+
これは、以下のように出力されます。
+
 
+
domingo 27 de febrero de 2005
+
 
+
<div id="Translation_via_WordPress-PHP">
+
==== WordPress-PHP を通じた翻訳 ====
+
</div>
+
 
+
日付を翻訳するために、例えばプラグインの中では、[[Function_Reference/mysql2date|mysql2date()]] や [[Function_Reference/date_i18n|date_i18n()]]を用います。タイムスタンプを元にした日付がローカライズされたフォーマットとなって返されます。
+
 
+
<div id="Messages_With_Placeholders">
+
 
+
=== 代替値を含むメッセージ ===
+
</div>
+
 
+
さまざまなメッセージの中に見られる特殊なPHP形式の代替値は、メッセージの翻訳後に翻訳不能な動的コンテンツを挿入するためのものです。この代替値には、2つの異なるフォーマットがあります。
+
<!-- Many messages contain special PHP formatting placeholders, which allow the insertion of untranslatable dynamic content into the message after it is translated. The PHP placeholders come in two different formats: -->
+
 
+
; <tt>%s</tt> : 代替値を1つだけ含む場合、この代替値に動的コンテンツが挿入されます。 <!-- When only one placeholder is present, this marker is used. -->
+
; <tt>%1$s</tt>, <tt>%2$s</tt>, <tt>%3$s</tt>, &hellip; : 番号付きの代替値は、文字列の中で代替値の並び順を入れ替えて翻訳するときに利用します。<!--  Numbered placeholders, which allow translations to rearrange the order of the placeholders in the string while maintaining the information each is replaced with. -->
+
 
+
==== 例 ====
+
#: wp-login.php:116
+
msgid "The e-mail was sent successfully to %s's e-mail address."
+
msgstr "El e-mail fue enviado satisfactoriamente a la direcci&oacute;n e-mail de %s"
+
 
+
上記は、メールを送信したユーザー名を文章に挿入するメッセージの[http://svn.automattic.com/wordpress-i18n/es_ES/trunk/messages/es_ES.po スペイン語(スペイン)]訳です。
+
 
+
#: wp-admin/upload.php:96
+
#, php-format
+
msgid "File %1$s of type %2$s is not allowed."
+
msgstr "&#31867;&#22411;&#20026;%2$s&#30340;&#25991;&#20214;%1$s&#19981;&#20801;&#35768;&#34987;&#19978;&#20256;&#12290;"
+
 
+
上記の[http://svn.automattic.com/wordpress-i18n/zh_CN/trunk/messages/zh_CN.po 中国語(中国語)]では、ファイル名とファイルの種類を挿入する部分が英語とは逆になっています。
+
 
+
<div id="Tips_for_Good_Translations">
+
 
+
== 上手な翻訳をするためのヒント ==
+
</div>
+
 
+
;一字一句直訳するのではなく、全体を見て訳をしよう :あなたが複数の言語を扱うことができるなら、言葉によって構造、リズム、トーン、語尾などが異なることはご存知でしょう。翻訳されたメッセージは必ずしも英語と同じ構造である必要はありません。表される内容を把握し、翻訳しようとした言語での自然な言い回しを表現することが大事です。これは''equal''なメッセージと''equivalent''なメッセージを作成する違いとも言えるでしょう。再現や置き換えはしないでください。メッセージの中にはより構造的なものもありますが、その場合でも、読み手にとってよりロジカルでより良く適合するものがあると感じた場合、あなたはクリエイティブにそれを変更する資格があるのです。
+
 
+
;表現の丁寧さを統一しよう :各メッセージは異なったレベルの丁寧さまたは口語らしさを持っています。各メッセージを翻訳する時、どのレベルの丁寧さまたは口語らしさを用いるかというのはあなた (またはあなたのチーム) 自身が見出す必要があります。しかし、WordPressのメッセージは (''情報メッセージ'' では特に) 英語では丁寧な口語体トーンになりがちです。翻訳する言語で、同等なメッセージとなるよう、あなたの文化的な背景の中で、適切な表現を探してみてください。
+
 
+
;スラングや分かりにくい用語は避けよう :ブログには一定量の専門用語が載っていることが期待されますが、雲を掴むような口語的な表現は避けるべきです。もし初心者のブロガーがWordPressをあなたの言語でインストールしようとした時、その用語の意味がわかりますか? ただし、 ''pingback''、 ''trackback''、 ''feed''のような言葉はこのルールの例外となるでしょう。それらは翻訳するには難しい単語であり、多くの翻訳者が英語のままにしておくことを選んでいます。
+
 
+
;他のソフトウェアの翻訳を読んで、用語の一般的な使い方を知ろう :もし行き詰まったり指示が欲しいと思った時は、他の人気ソフトウェアツールの翻訳を読んでみましょう。そうすることで、どの用語が一般に使われているか、どの程度形式的に書かれているか等が感じ取れることでしょう。もちろんWordPressは独自のトーンと雰囲気を持っているので、他の翻訳を読む時には気をつける必要があります。しかし、ユーザーインターフェイス用語などを掘り起こし、他のソフトウェア翻訳との一貫性を保つようにすることを心がけましょう。
+
 
+
<div id="WordPress_Localization_Repository">
+
== WordPress ローカライゼーションレポジトリ ==
+
</div>
+
 
+
「'''[http://svn.automattic.com/wordpress-i18n/ WordPress ローカライゼーションレポジトリ]'''」は、WordPressの公式翻訳版を管理している [[Using_Subversion|Subversion]] レポジトリです。さまざまなチームが協力して母国語の翻訳を行っており、チーム内の管理者がレポジトリにあるファイルの更新を担っています。
+
 
+
<div id="Participating">
+
=== 参加者募集中! ===
+
</div>
+
 
+
誰でもローカライゼーションレポジトリへ参加することができます。[http://wppolyglots.wordpress.com WP Polyglots Blog]に登録し、自己紹介を行い、どのロケールの翻訳に参加したいかを表明しましょう。その言語やロケールのチームが存在する場合、その旨教えてもらえるでしょう。その言語がなかった場合、その維持要員として志願することができます。あるいは単純にローカライズ化に寄与することで、レポジトリの維持者が追加してくれるでしょう。
+
 
+
<div id="Guidelines_and_requirements">
+
=== 手引きと必須事項 ===
+
</div>
+
 
+
''注: これらのガイドラインはシステムの変化にしたがって変更になることがあります。レポジトリの維持者はガイドラインの変更に伴ってあなたが更新したファイルの更新を喜んでお手伝いすることでしょう。''
+
 
+
<div id="Character_Encodings">
+
==== 文字コード ====
+
</div>
+
 
+
すべてのローカリゼーションには最低限UTF-8バージョンを含めるべきですが、そのほかにロケールごとに良く使われている別の文字コードのバージョンを含めることもできます(例:日本語でのShift_JISやEUC-JPなど)。
+
 
+
PHPはバイトオーダーマーク(BOM)に対応していません。UTF-8のファイルにはBOMをつけないで保存するようにしましょう。
+
 
+
<div id="HTML_Character_Entities">
+
==== HTML 実体参照文字 ====
+
</div>
+
 
+
一部の例外を除き、翻訳したすべての文字列は HTML の実体参照文字ではなく普通のテキストで書きましょう。
+
 
+
XHTMLマークアップとの干渉を防ぐために、山形カッコ(<tt>&amp;lt;</tt> と <tt>&amp;gt;</tt>)とアンド記号(<tt>&amp;amp;</tt>)を半角で使う場合、必ず実体参照で表記する必要があります。また、空白(<tt>&amp;nbsp;</tt>)、斜体クォート(<tt>&amp;laquo;</tt> と <tt>&amp;raquo;</tt>)、巻きアポストロフィ(<tt>&amp;#8217;</tt>)、巻き引用符(<tt>&amp;#8220;</tt> と <tt>&amp;#8221;</tt>)も実体参照を使うことが勧められています。
+
 
+
W3C による文字コードおよび実体参照関連の慣行については、以下のリンクを参照してください。
+
 
+
* [http://www.w3.org/TR/2004/WD-i18n-html-tech-char-20040509/#IDAPNGO Representing characters using escapes]
+
* [http://www.w3.org/International/tutorials/tutorial-char-enc/#Slide0440 Only use escapes in exceptional circumstances]
+
 
+
 
+
<div id="Repository_File_Structure">
+
==== レポジトリ内のファイル構成 ====
+
</div>
+
 
+
ローカライゼーションレポジトリには各ロケールごとのディレクトリがあります。これらのディレクトリは、基本的に以下のルールに従って名づけられています。
+
 
+
* [http://en.wikipedia.org/wiki/ISO_639 ISO 639 言語コード] (半角小文字)
+
* アンダースコア(_)
+
* [http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2 国コード] (半角大文字)
+
* もし同じロケールの別スクリプト用ディレクトリの場合、さらに @ マークと[http://www.unicode.org/iso15924/iso15924-codes.html ISO 15924 スクリプトコード]が続く。
+
 
+
(訳注: 日本で話されている日本語はこのルールに基づくと ja_JP ですが、実際の WordPress でのロケールコードは単に '''ja''' となっています。[http://lists.automattic.com/pipermail/wp-polyglots/2005-April/000533.html 関連 ML 投稿、2005年4月])
+
 
+
各ロケールのディレクトリ内には、Subversion標準のバージョニングディレクトリ(branches/、tags/、 trunk/)があります。
+
 
+
バージョンニングディレクトリ内には'''dist/'''というサブディレクトリがあります。このディレクトリにはWordPressの配布パッケージのうち、Gettextを使えないファイルを翻訳したもの(例えばreadme.htmlなど)を含めます。
+
 
+
もし翻訳後のファイルが UTF-8 形式のみの場合、ここに WordPress ルートディレクトリと同じ構造でファイルを置きます。
+
 
+
===== messages/ =====
+
 
+
<ul>
+
<li>messages/</li>
+
    <ul>
+
        <li>kubrick</li>
+
    </ul>
+
</ul>
+
 
+
このディレクトリには、各ロケール用の Gettext の MO/PO ファイルが含まれます。メッセージファイルにはロケール名をもとにした名前がつけられています。
+
 
+
<code>kubrick</code> フォルダーには wordpress-i18n svn レポジトリ内にある[http://svn.automattic.com/wordpress-i18n/theme/ 国際化済みデフォルトテーマ]と、(上記の通りの P0/MO ファイル命名規則に基づいた)翻訳ファイルを置きます。さらに別のデフォルテーマ翻訳方法があります。
+
 
+
===== dist/ =====
+
 
+
このディレクトリには [[Files_For_Direct_Translation|Gettexted で翻訳できない WordPress ディストリビューション内のファイル]] /[[:en:Files_For_Direct_Translation|en]] が翻訳された状態ですべて含まれています。
+
 
+
ロケールが UTF-8 文字コードのみの場合、dist/ ディレクトリ直下にファイルが置かれ、この中身は WordPress のルートディレクトリ構造のミラーになります。各文字コードごとのサブディレクトリが必要になります。以下は、その例です。
+
 
+
<ul>
+
<li>dist/
+
<ul>
+
<li>license.html</li>
+
<li>readme.html</li>
+
<li>wp-config-sample.php</li>
+
<li>&hellip;</li>
+
<li>wp-admin/
+
<ul>
+
<li>install.php</li>
+
<li>upgrade.php</li>
+
<li>&hellip;</li>
+
</ul>
+
</li>
+
</ul>
+
</li>
+
</ul>
+
 
+
===== theme/ =====
+
 
+
'''注:''' <tt>theme/</tt> ディレクトリを使うより、国際化済みのデフォルトテーマを使うことが勧められています。上記の <tt>messages/</tt> を覧ください。
+
 
+
<tt>dist/</tt> ディレクトリと同様に、 <tt>theme/</tt> はhard translationされたテーマファイルが置かれます。もしUTF-8翻訳のみがある場合、ディレクトリには各翻訳されたテーマごとのサブディレクトリが配置されます。これらのサブディレクトリはオリジナルのテーマと全く同じファイル(ただし翻訳されているもの)を格納します。そしてオリジナルのテーマと同じ名前がつきます:
+
 
+
<ul>
+
<li>theme/
+
<ul>
+
<li>default/
+
<ul>
+
<li>404.php</li>
+
<li>index.php</li>
+
<li>sidebar.php</li>
+
<li>&hellip;</li>
+
<li>images/
+
<ul>
+
<li>&hellip;</li>
+
</ul>
+
</li>
+
</ul>
+
</li>
+
</ul>
+
</li>
+
</ul>
+
 
+
dist/ ディレクトリと同じく、テーマに複数の文字コードがある場合、翻訳されたテーマを含む各文字コードごとのサブディレクトリが必要です。
+
 
+
<div id="#Using_Localizations">
+
== ローカリゼーションファイルを利用する ==
+
</div>
+
 
+
インストールしたWordPressをローカライズするときは、''wp-includes''の中に''languages''ディレクトリを作成します。次に適切なローカライズしたファイルを[http://svn.automattic.com/wordpress-i18n/ サブバージョンレポジトリ]から上記に説明したように持ってきます。メインの.moファイルと、翻訳言語用continentの.moファイルを''languages''ディレクトリ内に配置します。''wp-config.php''内のWPLANGを選択した言語にセットします。例えばフランス語にする場合は以下のようにします:
+
 
+
<pre>define ('WPLANG', 'fr_FR');</pre>
+
 
+
<!-- Rosettaの説明は省きます
+
== トラブルシューティング ==
+
 
+
; Rosetta won't export my translation as an MO file. It just says, "A system error occurred." :There is a syntax error in your translation that is preventing it from compiling to an MO. Download the PO instead and try compiling it manually with <tt>msgfmt</tt>. This will tell you which lines the errors are on so you can correct them by hand. If you don't have the GNU Gettext package installed, you can try opening the PO file in poEdit or KBabel to see if they will help you correct the errors, or you can email the [[Mailing_Lists#Polyglots|wp-polyglots mailing list]] and ask for someone to debug it for you.
+
-->
+
== 関連ページ ==
+
{{ローカライズ関連リンク}}
+
 
+
<!-- ==Resources==
+
* [http://boren.nu/archives/2004/11/01/localizing-plugins-and-themes/ Ryan Boren's Localizing Plugins and Themes]
+
* [http://urbangiraffe.com/articles/translating-wordpress-themes-and-plugins/ Translating WordPress into another language (themes and plugins too)]
+
-->
+
== 外部資料 ==
+
国際化関数の記述などが古くなっているものもありますので注意してください。
+
 
+
* [http://hucha.pindang.com/archives/10 hucha on blog &raquo; poEditの使い方メモ] (2005-08-09)
+
* [http://zone.maple4ever.net/blog/archives/366/ hiromasa.zone :o) &raquo; WordPress プラグイン日本語化 Tips] (2005-08-28) -- <code>load_plugin_textdomain($domain)</code> の小技、メッセージの <code>__</code> 関数 <code>_e</code> 関数 でのくくりだし Tips
+
* [http://zone.maple4ever.net/blog/archives/452/ hiromasa.zone :o) &raquo; poEdit Windows 版インストール方法] (2005-11-23)
+
* [http://wp.mmrt-jp.net/plugin-japanization-project/poedit/ MMRT daily life &raquo; poEdit 取扱説明書]
+
* [http://ideasilo.wordpress.com/2006/08/09/localization-for-plugins-and-themes/ iDeasilo &raquo; プラグインとテーマをローカライズする] (2006-08-09)
+
* [http://ideasilo.wordpress.com/2006/08/14/edit-language-files-with-poedit/ iDeasilo &raquo; poEdit で翻訳ファイルを作る] (2006-08-14)
+
 
+
{{原文|Translating WordPress|84888}}
+
 
+
{{DEFAULTSORT:ほんやく}}
+
[[Category:WordPress の翻訳]]
+
[[Category:上級トピック]]
+
[[Category:WordPress の開発]]
+
 
+
[[en:Translating WordPress]]
+

2020年9月18日 (金) 22:57時点における最新版

このページは https://ja.wordpress.org/team/handbook/translation/ へ移動しました。