#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ページができあがります。 そして、各ページは全てのミラーサイトに分配されます。
以下では 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 を実行して下さい。さあページの翻訳をしましょう。
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ファイルに対して特別な事前あるいは事後処理が必要になるかもしれない。 この処理は、webwml/<lang>/Make.langのWMLPROLOGとWMLEPILOGの変数を適切に変更する事により、出来るようになります。 WMLEPILOGに指定されたプログラムがどのように動作するかによって、WMLOUTFILE変数の内容を変更しなければならないかもしれない。
翻訳したい記事を翻訳して下さい。 時間の制約があるのであれば、Debianの新しいリリースのアナウンスのような、 特別な記事のみを翻訳するだけでかまいません。 何を翻訳するかは全てあなた次第です。 スクリプトは、一覧のページを作成するためにニュースの表題を取得し、 webのメインページ上の記事にはニュース記事の翻訳を確認し、 もし翻訳されたものが無ければ、英語版のタイトルを利用する。
このページのその他の文書は翻訳しないで下さい。[EN:Country:]\ [ES:Pa-is:]\ [DE:Land:]\