テキストエディタでのPO編集

Last-modified: 2021-11-08 (月) 13:21:56

以下はPOファイルの中身の例です。

# #-#-#-#-#  w
# #-#-#-#-#  wesnoth.cpp1.po (Battle for Wesnoth VERSION)  #-#-#-#-#
# Japanese translations for Battle for Wesnoth package.
# Copyright (C) 2005 Wesnoth development team
# This file is distributed under the same license as the Battle for Wesnoth package.
 
msgid ""
msgstr ""
"Project-Id-Version: 0.9.5\n"
"Report-Msgid-Bugs-To: http://bugs.wesnoth.org/\n"
"POT-Creation-Date: 2005-10-15 01:08+0200\n"
"PO-Revision-Date: 2005-08-16 15:15:38+0900\n"
"Language-Team: Japanese Translation Team\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
 
#: data/campaigns/Heir_To_The_Throne.cfg:6
msgid "Heir to the Throne"
msgstr "王位継承者"
(略)
#: data/scenarios/Heir_To_The_Throne/A_Choice_Must_Be_Made.cfg:78
msgid "Unan-Ka'tall"
msgstr "Unan-Ka'tall"
 
#: data/scenarios/Heir_To_The_Throne/A_Choice_Must_Be_Made.cfg:138
msgid ""
"Well, thank you for helping me get back to the surface, but now I must take "
"what is mine!"
msgstr ""
"さて、地上に戻るのを手伝ってくれてありがとう。でも、これから私のものをいただ"
"かなくては!"

最初の数行では行頭に#が付いていますが、#はコメント行の印です。
コメントの後にある最初のブロックはPOの設定などが含まれる部分です。
先頭のmsgidとmsgstrあたりはおまじないみたいないものです。
次の行"Project-Id-Version: 0.9.5\n"から下数行は、このpoファイルのプロジェクト名、編集者、最終更新日などの情報を示しています。
自分で編集しておいてください(poeditなどのツールは自動で書き換えてくれます)。

 

その下には、msgid と msgstrが付いた行が続いています。
msgid の後ろに続いている文字列が翻訳前の原文で、その下にあるmsgstrの後ろに続いている文字列が原文に対応する翻訳です。

msgid "翻訳前の原文"
msgstr "翻訳後の文章"

文字列は全て""で囲います。
ただし、""で囲われる文字列の途中に改行を入れてはいけません。
msgstrブロック途中で改行したい場合は、最後の部分のようにいったん"で閉じてから改行し、次の行も"で始めます。
どこで切ってもゲームでは切れ目なくつながるので大丈夫です。
ゲーム内の文章に改行を入れたい場合は、文字列中に\nを入れてください

 

他にref,italicなどのタグがありますが、これは原文が使用している場合のみコピーしておけばよいかと思います

msgid "<i>Italic</i>"
msgstr "<i>イタリック</i>"
 

また、次のように原文の方に^が付いていることがあります

msgid "Elvish Archer"
msgstr "エルフの射手"
msgid "female^Elvish Archer"
msgstr "エルフの女射手"

これは注意書きのようなもので、↑では女性のユニットであることを表しています。^の左の部分は翻訳後の文章には不要です。

各メッセージの頭に#: data/ ... / hoge.cfg:123
みたいな行がありますが、これはdata/.../にあるシナリオファイルhoge.cfgの123行目のメッセージだよ、という意味です。
ときにはシナリオファイルを覗くと翻訳の役に立つかもしれません。
メッセージはフォルダ名・ファイル名でちゃんと整理されているので、どこを訳しているのかわからないといった状況は防げるはずです

 
  • 実際にテキストエディタで編集する際は以下のような作業になります。
    まず、一番最初に以下のようなコードを書く必要があります。
     
    msgid ""
    msgstr ""
    "Project-Id-Version: Battle for Wesnoth 1.10.3-CVS\n"
    "Report-Msgid-Bugs-To: http://bugs.wesnoth.org/\n"
    "POT-Creation-Date: 2014-02-21 18:28+0200\n"
    "PO-Revision-Date: 2014-02-27 14:12+0900\n"
    "Last-Translator: 訳者の名前\n"
    "Language-Team: 訳しているチーム名\n"
    "MIME-Version: 1.0\n"
    "Content-Type: text/plain; charset=UTF-8\n"
    "Content-Transfer-Encoding: 8bit\n"
     
    続いて以下のようなコードを書いていきます。msgid(原文テキスト)とmsgstr(翻訳テキスト)のセットです。
     
    msgid "sword"
    msgstr "剣"
     
    msgid "spear"
    msgstr "槍"
     
    msgid "staff"
    msgstr "杖"
     
    msgid "Survive until turn 50."
    msgstr "50ターン生き残る"
     
    msgid "Kill enemy leader(s)"
    msgstr "敵のリーダー(達)を倒す"
     
    msgid "teamname^West"
    msgstr "西軍"
     
    msgid ""
    "You wouldn’t do anything stupid like charging that quintain yourself again, "
    "now would you?\n"
    "Use the fighters you recruited first; they’ll be a lot of help."
    msgstr ""
    "もう一度クィンティンに自分で突撃するような馬鹿な真似はしないだろうな?\n"
    "雇用した戦士を先に使うのだ。彼らは非常に助けになってくれるだろう。"
     
    このような感じです。