Top > Documents > How to translate message

現在、I18N版向けドキュメントとなっています。

メッセージの翻訳方法

まだ、未翻訳なプラグインなど多数あります。ぜひ、翻訳にご協力下さい。

メッセージの翻訳方法を解説します。翻訳方法を理解すると、 メッセージのカスタマイズも簡単にできるようになります。 プログラムとメッセージが分離されているため、プログラムが更新されていも、 カスタマイズしたメッセージに影響が出ません*1。 また、プログラムが更新された場合でも、gettextというツールを利用しているため、 自動で更新箇所を特定しマージ処理を行うことも可能です。

直接、プログラムを編集することはありませんので、語学力か翻訳サイトの利用ができれば、 PHP の知識が無くても全く問題ありません。ご安心下さい。

ソフトウェアの準備

Windows環境の場合

poEDITを利用すると便利です。

このツールを利用すれば、簡単にハングル文字の編集も可能になります。 翻訳サイトを利用して、翻訳したハングル文字をそのままコピー&ペーストすることもできます。 また、gettext などの必要ツールも装備されていますから、このソフトだけ準備することで 翻訳をはじめることができます。

Linuxなどの場合

X ベースで便利に編集したいのであれば、poEDITを 利用することも可能です。 最低必要なパッケージとしては、gettext のみとなります。

rpm -q gettext

として入っていれば、問題ありません。

さぁ、翻訳

翻訳の準備

まだ、翻訳されていないプラグインのメッセージを翻訳する場合には、 ./locale/pot/プラグイン名.pot というファイルを元に、翻訳を開始します。

copy ./locale/pot/プラグイン名.pot ./locale/ja_JP/LC_MESSAGES/プラグイン名.po

これで準備が完了しました。./locale/ja_JP/LC_MESSAGES/プラグイン名.po を利用して、 翻訳を開始します。

超簡単な解説

poEDIT を利用している場合には、何も気にする必要はありません。

  • msgid
    プログラムに埋め込まれているメッセージです。変更してはいけません。
  • msgstr
    ここに、翻訳したメッセージを書いていきます。
  • fuzzy
    前回、翻訳時から更新されたメッセージに付与されます。 次回からは、この #, fuzzy を探し、更新すればよいことになります。

Sample

  • ./locale/pot/pukiwiki.pot
      0
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
     23
    
    # SOME DESCRIPTIVE TITLE.
    # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
    # This file is distributed under the same license as the PACKAGE package.
    # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
    #
    #, fuzzy
    msgid ""
    msgstr ""
    "Project-Id-Version: PACKAGE VERSION\n"
    "Report-Msgid-Bugs-To: \n"
    "POT-Creation-Date: 2006-02-07 00:20+0900\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"
     
    #: ../../lib/resource.php:12
    msgid "Sun"
    msgstr ""
     
    #: ../../lib/resource.php:12
    msgid "Mon"
    msgstr ""
  • ./locale/ja_JP/LC_MESSAGE/pukiwiki.po
      0
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
    
    # PukiWiki Plus! - Yet Another WikiWikiWeb Clone
    # Copyright (C) 2005 PukiWiki Plus! Developer Team
    # License is GPL2
    # XXXX <XXXXX@XXXXX>, 2005.
    #
    msgid ""
    msgstr ""
    "Project-Id-Version: PukiWiki Plus! 1.4.5-u2\n"
    "Report-Msgid-Bugs-To: \n"
    "POT-Creation-Date: 2006-02-07 00:20+0900\n"
    "PO-Revision-Date: 2005-04-03 21:13+0900\n"
    "Last-Translator: XXXX <XXXXX@XXXXX>\n"
    "Language-Team: Japanese <ja@li.org>\n"
    "MIME-Version: 1.0\n"
    "Content-Type: text/plain; charset=UTF-8\n"
    "Content-Transfer-Encoding: 8bit\n"
     
    #: ../../lib/resource.php:12
    msgid "Sun"
    msgstr "日"
     
    #: ../../lib/resource.php:12
    msgid "Mon"
    msgstr "月"
  • ./locale/zh_TW/LC_MESSAGE/pukiwiki.po
      0
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22
    
    # SOME DESCRIPTIVE TITLE.
    # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
    # This file is distributed under the same license as the PACKAGE package.
    # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
    #
    msgid ""
    msgstr ""
    "Project-Id-Version: PukiWiki Plus! 1.4.5_u2\n"
    "Report-Msgid-Bugs-To: XXXX <XXXXX@XXXXX>\n"
    "POT-Creation-Date: 2005-05-10 00:27+0900\n"
    "PO-Revision-Date: 2005-05-29 10:27+0800\n"
    "Last-Translator: XXXX <XXXXX@XXXXX>\n"
    "Language-Team: Traditional Chinese <zh@li.org>\n"
    "MIME-Version: 1.0\n"
    "Content-Type: text/plain; charset=UTF-8\n"
    "Content-Transfer-Encoding: 8bit\n"
     
    #: ../../lib/resource.php:12
    msgid "Sun"
    msgstr "日"
     
    #: ../../lib/resource.php:12
    msgid "Mon"
    msgstr "一"

*1 メッセージが変更された場合は、除きますよ。

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Sun, 25 Jun 2006 02:32:11 JST (1538d)