#use wml::debian::template title="Debianページの翻訳の仕方"

Debianのwebページの翻訳作業を手伝って下さって有り難うございます。 各言語に翻訳されたwebページを公開している数多くのサイトがあるにもかかわらず、 翻訳作業はwebページの翻訳されたものが管理されているプライマリサイト上で集中的に行うことが望まれている。

背景

webサイト上の全てのオリジナル(Linuxドキュメントではない)htmlファイルは wmlを使って作成されている。 これらのファイルは、CVSを利用して、cvs.debian.orgに蓄積されています。 自宅の機械で編集するためにwmlファイルのローカルコピーをチェックアウトすることになります。 変更が完了すれば、cvs.debian.orgに変更をコミットできます。 日に一度、master.debian.org上のレポジトリは更新されます。 Makefileが実行されることにより更新されたwebページができあがります。 そして、各ページは全てのミラーサイトに分配されます。

現在の翻訳コーディネータ

翻訳プロジェクトに参加するには上記のコーディネータに直接連絡を取って下さい。 もし新しい言語についての翻訳コーディネータになるのであれば、 webmaster@debian.orgまでメールを送って下さい。 あるいは、Debian webメーリングリスト(debian-www@list.debian.org)に参加して、そちらで尋ねて下さい。 購読に関する情報は http://www.debian.org/MailingLists/subscribe を参照して下さい。

CVSの利用法

以下では anonymous によるアクセスを例に取ります。 もしレポジトリへの書き込み権利を付加された他のアカウントでアクセスする場合にはそのアカウントを代わりに使って下さい。 CVSを使い始めるために、まずはCVSさーばへ

login
しなければなりません。
   cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml login
(anonymousのパスワードにはリターンキーだけを押下して下さい)

自分のローカルコンピュータ上にwmlファイルをチェックアウトするためには、以下のように入力して下さい

   cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml checkout webwml/<lang>
<lang> にはご希望の言語を指定して下さい。 おそらく作業中の言語に付加して英語版も必要となるでしょう。 もし必要な部分のみページが欲しいのであれば、例えば、 cvs -d :pserver:anonymous@cvs.debian.org:/cvs/webwml checkout webwml/english/SPI 、あるいは、もしユーザ(username)とパスワードが与えられているのであれば、anonymousの代わりにそれを利用して下さい、 cvs -d :pserver:username@cvs.debian.org:/cvs/webwml checkout webwml/english/SPI

これより後は、'-d :pserver:...' の部分は必要ありません。 数日後に変更されたファイルをレポジトリから取得するために

   cvs update -d
を実行して下さい。-d は自動的に全ての新規のディレクトリでも追加します。

以下はレポジトリの書き込み権利を持った方にのみ有効です。 ページが完了したら、レポジトリに変更をコミットするために

   cvs commit <file>.wml
あるいは
   cvs commit <dir>   (<dir> の変更をコミットします)
それとも
   cvs commit          (現在のディレクトリ配下の全ての変更をコミットします)
と入力してください。

もし最初にページを翻訳したのであれば、コミットする前に

   cvs add <file>.wml
を実行して下さい。 注意:'cvs add'は再帰的ではありませんので内容を追加する前にディレクトリを追加する必要があります。

CVSに関するさらなる情報は、'info cvs'を利用して下さい。

ページの翻訳作業

翻訳作業をより簡単にできるようにするために、多くの方が今までやってこられた方法とは少々異なった方法でページは作成されます。 webページは実際にはwmlによって記述されたソースを使って作成されています。 各言語に対してそれぞれにディレクトリが存在しています。 新規で翻訳するためには、最初に english/template/debian/*.wml にある wmlテンプレートファイルに翻訳を追加しなければなりません(大した作業ではありません)。 各ファイルにあるコメント(これらは翻訳しないで下さい)に従って下さい。 コメントはwmlでは'#'で始まっています。

サーバの設定(content negotiationを利用)によって、内部のリンクを一切変更する必要がありません。 もしリンクが正しくないと思ったならば変更する前にdebian-wwwまで知らせて下さい。 内容に変更を加えたいと思った場合には翻訳をしましょう。 一例としてサポートページをあげます; おそらく言語に特有のメーリングリスト(例・フランス語のページではdebian-french)の購読方法の例を含めたくなるでしょう。 どのような変更を行う場合でも、 できる限り異なった言語間でも同一内容を保ちたいので debian-www@lists.debian.org までお知らせ下さい。

我々の行ったことによってページの翻訳がより簡単になればと思います。

注記:ページを最初に翻訳した場合には、そのほかのページが再度作成されるまで翻訳したページへのリンクは作成されません。

サーバはどの様にいずれのファイルを配信するかを決定するのか

内部リンクが.htmlで終わっていないことにお気づきでしょう。 これはサーバがいずれの言語の文書を配信するかを決定するのにcontent negotiationを利用しているからです。 一つ以上の候補がある場合に、サーバは全ての取得可能なファイルのリストを作成します。 例えば、'about'が要求された場合には、about.en.htmlとabout.de.htmlがリストアップされるでしょう。 Debianサーバのデフォルト設定は英語版のドキュメントを配信するようになっておりますが、これは変更可能です。

クライアントに適切な変数の設定がしてあれば、 例えばドイツ語の設定をしてあれば、 上記の例ではabout.de.htmlが配信されます。 この設定の良い所は 要求した言語が無い場合には代わりに他の言語が配信される事にあります (なにも配信されないよりもいいでしょう)。 どのドキュメントを配信するかの決定方法は少々難解ですので、 この場で解説する代わりに、もし興味があれば、 http://www.apache.org/docs/content-negotiation.html からちゃんとした答えを得て下さい。

多くのユーザはcontent-negotiationの存在をまだ知りませんので、 全てのページの末尾に取得できる他の全ての言語版への直接のリンクを付けています。 このリンクはページが作成されるときにwmlと呼ばれるperlスクリプトをつかって生成されます。

翻訳作業開始の一例

フランス語を例に取ります。
   cvs checkout webwml/english
   cd webwml
   mkdir french
   cvs add french
   cd french
   cp ../english/.wmlrc .
   cvs add .wmlrc
変更: '-D CUR_LANG=English' から '-D CUR_LANG=French' へ
      '-D CUR_ISO_LANG=en' から '-D CUR_ISO_LANG=fr' へ
      必要であれば 'CHARSET=iso-8859-1' を追加
.wmlrcへは他の修正を絶対に加えないで下さい。
english/template/debian/*.wmlを編集し
全てのタグに関する翻訳を使いして下さい。
素直に
   cp ../english/Make.* ../english/Makefile .
   cvs add Make*
を行い、Make.langで'LANG=en'から'LANG=fr'へそして'LANGUAGECAP=EN'から
'LANGUAGECAP=FR'へ変更して下さい。マルチバイトキャラクタを利用する言語を
翻訳しない限りはMakefileへのその外の修正は行う必要がありません。
全てのディレクトリにあるmakefileは全ての見つかった.wmlファイルをコンパイルします。
ページを追加しおわったらwebwmlディレクトリから、
   cvs commit
を実行して下さい。
さあページの翻訳をしましょう。

ページ翻訳の一例

例としてsocial contract(社会契約)のフランス語への翻訳を上げます。
   cvs checkout webwml/english webwml/french   (if you hadn't already)
   cd webwml/french
   cp ../english/social_contract.wml .
   cvs add social_contract.wml
social_contract.wmlを編集し文書を翻訳してください。どのような方法でもリンクを翻訳する事や変更する事はしないでください。もし変更してしまった場合には
   cvs commit -m "簡単な変更の説明" social_contract.wml
を実行して下さい。

wmlのコンパイル

既にwmlがインストールされているものとします。 webwml/<lang>ディレクトリで単純にmakeと入力して下さい。 make installと入力すれば、../../debian.org/ディレクトリにhtmlファイルを配置します。

マルチバイト系の言語では正しくキャラクタセットが扱われるようにwmlファイルに対して特別な事前あるいは事後処理が必要になるかもしれない。 この処理は、webwml/<lang>/Make.langWMLPROLOGWMLEPILOGの変数を適切に変更する事により、出来るようになります。 WMLEPILOGに指定されたプログラムがどのように動作するかによって、WMLOUTFILE変数の内容を変更しなければならないかもしれない。

特別なファイルやディレクトリ