Debian ウェブページの翻訳

翻訳者の作業をできるだけ簡単にするため、私たちのページは普段多くの人が 行なっているのとは少し違った方法でページを生成しています。ウェブページは 実際には wml でマークアップされたソースを使って生成されます。 各言語毎に分かれたディレクトリが存在します。

もし Debian ウェブサイトの新規言語翻訳を開始したい場合は、 新規言語の翻訳を始める の節をご覧ください。

訳注: 日本語への翻訳作業については、 Debian JP Projectウェブページ翻訳作業マニュアルDebian JP Doc/WWW 対訳表 を併せて参照してください。

個々のページの翻訳

複数のページに共通する内容を、個々の内容から分離するために、 WML が使われています。つまり、HTML ファイルを編集するのではなく、 WML ソースファイルを編集しなければならない、ということです。 Git を利用 して現在のソースを入手してください。 少なくとも webwml/english/webwml/<language>/ の 2 つのディレクトリを check out する必要があります。

あるページを英語からあなたの言語へ翻訳するためには、 オリジナルの .wml ファイルを翻訳し、翻訳先言語のディレクトリに 置く必要があります。リンクが正しく働くために、 相対パスとファイル名は、英語版と同じでなければなりません。

翻訳ヘッダ

翻訳対象となったオリジナルファイルの正確なリビジョンを記録し、 更新を容易にするための行を、ヘッダ部分の 最後の #use 行の直後に追加することを強くお勧めします。 その行は、以下のようなものです: #use wml::debian::translation-check translation="<git_commit_hash>" 翻訳しようとするファイルを生成するにはcopypage.plを使い(強く推奨) Gitのコミットハッシュを自動的に生成します。 copypage.plの使い方は後述します。

また、いくつかの翻訳チームは、各ウェブページの公式な翻訳者を記録するのに この行を使っています。そうしていると、保守しているページの英語版が更新された 時に自動的にメールを受け取れるようになり、翻訳を更新する必要があることに 気づくことができます。そのためには、#use 行の末尾に メンテナとしてあなたの名前を単純に付け加えます。以下のようになります: #use wml::debian::translation-check translation="git_commit_hash" maintainer="あなたの名前"DWWW_MAINT 環境変数をセットするか、コマンドラインで -m スイッチを指示すると copypage.pl が自動的に行います。

webwml のルートディレクトリにある copypage.pl スクリプトを使うと、ウェブページのヘッダは簡単に作成できます。 このスクリプトは、ページを正しい位置にコピーしてくれます。 必要ならディレクトリや makefile も作成してくれます。そして、 必要なヘッダを自動的に追加してくれます。 (古くなりすぎたために)そのページがリポジトリから削除された、 あるいは誰かが既に翻訳を済ませていてリポジトリの手元のコピーが最新ではなく、 コピーしようとしたページがリポジトリに存在する場合は警告されます。

copypage.pl の使用開始にあたっては、まず language.conf ファイルを設定してください。このファイルにより翻訳する先の言語を決定します。 このファイルには言語名の行、これだけはなくてはなりません。また、 DWWW_LANG 環境変数を使って言語を、DWWW_MAINT 環境変数を使って自分の名前をセットすることで、生成される wml ファイルに翻訳の担当者として追加することもできます。 もしくは、翻訳先の言語や翻訳の対象者をコマンドライン引数 -l german -m "Donald Duck"として指定し、 language.confを使わないようにすることもできます。 スクリプトには他の機能もあります。 何の引数も無しで実行してヘルプを見てください。

./copypage.pl file.wml を実行した後で、そのファイルの中の文章を翻訳してください。 もしファイル中に翻訳してはならない部分がある場合には、 コメントによって示されています。その場合は、そのコメントに 従ってください。フォーマットに不要な変更を加えないでください。 もし修正が必要な場合、その修正はオリジナル版にも必要でしょうから。

ページの作成と発行

私たちは 内容交渉を使っているので、 HTML ファイルのファイル名は file.html ではなく file.<lang>.html となります。ここで <lang> は、 ISO 639 に基づく 2 文字の言語コードです (例えば日本語は「ja」です)。

WMLからHTMLを生成するには make file.<lang>.html を実行します。 実行できたら、構文が完全に正しいかどうかを weblint file.<lang>.html で確認してください。

訳注: ウェブページは www-master においてgitで管理されたwmlのソースコードをもとに定期的に作成されます。 この処理はたいていの場合、エラーが出ても停止しませんが、 もし壊れたファイルを翻訳のトップレベル (例えばトップレベルの index.wml) にコミットした場合、 作成処理が壊れてしまい、他のすべてのウェブページの更新が止まってしまいます。 これらのファイルには、特に注意してください。

新規言語の翻訳を始める

Debian ウェブページを新規言語に翻訳したい方は、 webmaster@debian.org までメールを (英語で) ください。

まず第一に、CVS 紹介ページに記述してあるように ソースツリーのチェックアウトが適切にできたことを確認してください。

webwml/ ディレクトリと (少なくとも) webwml/english/ をチェックアウトした後、english/ やその他の隣にあなたの言語用の新規 ディレクトリを作成するところから始めます。翻訳ディレクトリの名称は、 英語で、すべて小文字でなければなりません (例えば、 「Deutsch」ではなく「german」です)。

Make.lang.wmlrc のファイルを english/ ディレクトリから新しく作った翻訳ディレクトリにコピーします。 これらのファイルは、あなたの翻訳を WML ファイルから構築するために必須の ファイルです。これらのファイルをコピーした後、以下に示した項目 だけを変更すればいいようになっています。

  1. Make.lang ファイル中の LANGUAGE 変数は 変更しなければなりません。
  2. .wmlrc ファイル中の CUR_LANG, CUR_ISO_LANG, CHARSET 変数は変更しなければなりません。 ソートのために必要であれば CUR_LOCALE 変数をこのファイルに追加してください。
  3. いくつかの言語では文字セットを扱うための特別な処理が必要になるか もしれません。これは wml の --prolog と --epilog オプションを利 用することで行なえます。これを行なうには Make.lang 中で WMLPROLOG 変数と WMLEPILOG 変数を利用します。
  4. あなたの言語が他の言語と一緒に www.debian.org に構築されるために、 webwml/Makefile ファイル中の LANGUAGES 変数を変更する必要があります。 私たちは、この変更をウェブ管理者に委ねてもらうことを好みます。 というのは、CVS によって再びチェックアウトされた時に あなたの翻訳が壊れているかもしれないからで、もしそうなれば ウェブサイトの他のページの構築にも悪影響を及ぼす可能性があるからです。

このあと、そのディレクトリに新しく「Makefile」という名前のファイルを 作成し、以下に示す行を置いてください:

include $(subst webwml/yourlanguagedir,webwml/english,$(CURDIR))/Makefile

(もちろん、yourlanguagedir は、あなたの言語のディレクトリ名で 置き換えてください)。

次に、あなたの言語のディレクトリの下に、「po」という名前の サブディレクトリを作成し、同じ Makefile をそのサブディレクトリに コピーしてください (cp ../Makefile .)。

po/ ディレクトリの中で、make init-po を実行し、 初期状態の *.po ファイル群を作成してください。

これで骨格部分ができあがったので、 テンプレートに使われている共通の WML タグの翻訳作業が開始できます。 ヘッダのキーワード、ナビゲーションバーの項目、フッタなど、 すべてのウェブページに使われる語句から翻訳を始めるのが良いでしょう。

po/templates.xy.po ファイルの翻訳を始めます (ここで、xy は 2 文字の言語コードです)。 初期状態では、すべての msgid "something" に対し、msgstr "" が存在します。something を翻訳したものを、msgstr のあとの引用符の中に書いてください。

すべての .po ファイル中のすべての文字列を翻訳する必要はありません。 翻訳されたページが必要とする部分だけで構いません。ある文字列の翻訳が 必要かどうかを調べるには、各 msgid の直前に書かれてある コメントを見てください。もし english/template/debian ディレクトリ中のファイルが参照されていたら、それは翻訳したほうがいいです。 そうでなければ、それに関連し、その部分を必要とするウェブページを 翻訳するまで、その部分の翻訳を延期しても構いません。

po/ ファイルのポイントは翻訳者にとって物事をもっとやり易くすることであり、 english/template/debian ディレクトリ自体の中で何かを編集する必要は (ほぼ) ありません。 テンプレートディレクトリ内で何かをセットアップする上で問題に気付いたら、 (通常) 大きな問題となりかねない実際の翻訳をテンプレートに commit するよりも、 問題が一般的なやり方で修正されないかどうか確認してください (それをしてくれるよう誰かほかの人に遠慮なく頼んでください)。

もし正しく作業できたかどうか自信がないときは、commit する前に、debian-www メーリングリストで相談してください。

注意: もしそれ以外の部分で変更が必要であれば、 問題が解決するために、 どんな変更をなぜ加えるのかを debian-www で説明してください。

テンプレートの骨格ができあがったら、フロントページやその他の *.wml ファイルを翻訳してください。最初に翻訳すべきファイルの一覧が、 翻訳に役立つ情報のページにあります。 *.wml ページの翻訳のやりかたについては、このページの最初を見てください。

失効した翻訳の復活

ウェブサイトの翻訳を最新に保つ方法で説明しているように、 ウェブサイトの失効した翻訳が更新されないまま長期間が過ぎると自動的に削除されることがあります。

過去に削除されたファイルをチェックアウトして編集し直すには、gitのコマンドを利用して コミット履歴を探すことになるでしょう。

例えば削除されたファイルが "deleted.wml" なら、履歴をこのように検索します。

   git log --all --full-history -- <path/to/file/deleted.wml>

復元させたいファイルのコミットのハッシュ文字列をみつけることでしょう。 そのコミットでなされた修正の詳細を表示するには git show サブコマンドを使います:

  git show <COMMIT_HASH_STRING> -- <path/to/file/deleted.wml>

もしそのコミットが削除されたファイルのものなら、ワークスペースにgit checkoutで復元できます。

  git checkout <COMMIT_HASH_STRING>^ -- <path/to/file/deleted.wml>

復元したら、もちろんですが、再度反映するまえにドキュメントを更新してください。 さもないと、再び削除されることでしょう。

最後に

おそらく上記の説明だけで、翻訳を始めるのに十分でしょうが、あとで更に 詳しい説明や役立つ情報を補足してくれる以下のドキュメントを参照したほうが いいでしょう。

ウェブページの翻訳作業をできるだけ簡単にしていくよう、これまでの 私たちの作業をわかっていただければ幸いです。すでに述べたように、 もしなにか質問があれば debian-www メーリングリストで 聞いてください。