Comments
Description
Transcript
Porteus とか Trinity とかの日本語翻訳
Porteus とか Trinity とかの日本語翻訳 2011/9/10 おかの 宣伝 11 月 19 日(土)、20 日(日)に明星大学で開催される OSC 2011 Tokyo/Fall に Doc-ja Archive Project で出展し、翻訳 BoF をやります。翻訳等に関心のある方の参加をお待ちしています。 GNOME や Ubuntu 方面で、カタカナ語の長音符の扱いが議論されていたりするので、訳語の統一 問題とかやりたいですが、そっち方面から参加表明がないのが微妙っつーか。 http://www.ospn.jp/osc2011-fall/ http://openlab.ring.gr.jp/doc-ja/ Porteus とは Slax から派生したディストリビューションです。 以前は Slax remix という名前でした。 というか、 最初の方向性はちょっと違ったようで。 参考までに、過去のアナウンス等のやっつけ訳を最後につけました。 なぜ Porteus? C80 で Linux User の付録に Porteus-ja がついてきたからに決まってるじゃないですか。 いつまでたっても新版がでない Slax に業を煮やしたはとちゃんが、新しい何かを探した結果、 Porteus を選んだというかんじ? Porteus-ja とは オリジナルの Porteus には 32 ビット版と 64 ビット版がありますが、夏コミの CD は 32 ビット 版をベースに日本語化しています。 夏コミの 1 週間前の例会で、はとちゃんから「今試してるけど、まだ動いてない」という報告があ り、そのあとなんとかなったので、はとちゃんが前日夜から当日朝にかけて泣きながら CD-R を焼い てレーベルを印刷したというシロモノです。 1 ということで、売り子は詳細を知らないまま コミケ本番に臨んだといういうアレなことになったり しました。まとはらさんがノート PC 持ち込みで VirtualBox 上でデモをしようとしましたが、うまく 動きませんでした。 メッセージの翻訳状況 デスクトップ環境は 64 ビット版と 32 ビット版で異なっており、 64 ビット版は KDE4、32 ビッ ト版は KDE3 ベースです。ふつーに日本語の表示や入力ができます。IPA フォントは 8 ビットにする とビットマップがきれいに出て重要らしく。 1 今回の付録は新しいディストロですよー」などと言って売っていたはいいものの、読み方すら最初はわ からなかったという。 ……が、一部メッセージは英語のままです。 これは KDE 翻訳プロジェクトが怠けたわけではありません(KDE3 では、これらに相当するメッ セージは日本語に訳されています)。Porteus のデスクトップ環境は一見 KDE ですが、実は派生品の Trinity であり、そちらでメッセージが未訳となっているためです。 Trinity について Trinity は KDE3.5 から派生したデスクトップ環境です。 http://www.trinitydesktop.org/ リポジトリーは KDE の SVN リポジトリーにあります。 http://websvn.kde.org/branches/trinity/ この web サイトには、Help Wanted! (手助け求む) The Trinity team is currently looking for help in the following areas: (Trinity チームでは現在、以下の分野で手伝ってくれる方を探しています)とし て、「Language translation/support」(言語対応と翻訳) と書いてありますが、翻訳プロジェクトの ようなものはなさげです。 配布物では KDE 3.5.10 の翻訳メッセージをそのまま使っています。というか、ソースリポジト リーにも KDE 3.5.10 の配布物 tarball がそのまま突っ込まれています。 http://websvn.kde.org/branches/trinity/kde-i18n/ -2- 一方、Trinity のメッセージ原文は「KDE」を「Trinity」に変更するなど、KDE 3.5.10 とは異なっ ています。これらは翻訳されていないので、原文のまま表示されるというわけです。 で、これを小江戸のみんなでなんとかしなイカ? というわけですよ。 メッセージの修正方法 「翻訳ってどうやるの?」という向きのために簡単に説明してみます。 KDE といえば Konqueror、Konqueror といえば KDE、というわけで、最初に手を付けるのは Konqueror です。 メッセージカタログのバイナリー (MO ファイル) は /usr/share/locale/ja/LC_MESSAGES/ 以下 に置かれていて、Trinity はこれをもとに日本語メッセージを表示しています。たとえば Konqueror 用のメッセージカタログは konqueror.mo です。 ここでは、既存の日本語訳を書き変えてみます。 MO ファイルは人間が読めなさげなバイナリーなので、msgunfmt(1) で、人間が読める形式 (PO ファイル) にします。 % msgunfmt /usr/share/locale/ja/LC_MESSAGES/konqueror.mo mo \ o konqueror.po PO ファイルの内容はこんなかんじで、原文と日本語訳のセットがたくさん並んでいます。 -3- msgid "Conquer your Desktop!" msgstr "デスクトップを征服せよ!" このファイルを適当に書き換えてやります。 msgid "Conquer your Desktop!" msgstr "デスクトップを侵略するでゲソ!" あとは、msgfmt(1) で MO ファイルを作って、元あった場所にインストールします。 # msgfmt konqueror.po \ o /usr/share/locale/ja/LC_MESSAGES/konqueror.mo Konqueror を起動しなおすと、PO ファイルを修正したとおり、メッセージが変わります。 MO ファイルを全部書き換えれば、イカっぽい Porteus のできあがりです。なお、Porteus-ja に標 準で入っている gettext の日本語メッセージは 112,714 個です。 実際にやらなきゃいけないこと Konqueror の例では、既存の翻訳メッセージを書き換えただけなので、このような方法でよいです -4- が、Trinity 翻訳をまじめにやろうとすると、この方法は使えません。 コメントや未訳メッセージなどは MO ファイルでは失われているので、まじめに Trinity 翻訳をな んとかしようとすると、メッセージカタログの雛型 (POT ファイル) を作成して作業する必要がありま す。 ここでは、Trinity アプリケーションの「ヘルプ」メニューから「Trinity について」を選んだとき に現れるウィンドウを例にとります。 KDE 3.5.10 ではこのウィンドウのメッセージはすべて翻訳されていました。 KDE 3.5.10 のソース : kdelibs-3.5.10/kdelibs/kdeui/kaboutkde.cpp const QString text1 = i18n("" "The <b>K Desktop Environment</b> is written and maintained by the " "KDE Team, a worldwide network of software engineers committed to " "<a href=\"http://www.gnu.org/philosophy/freesw.html\">Free Software</a> development.<br><br>" "No single group, company or organization controls the KDE source " "code. Everyone is welcome to contribute to KDE.<br><br>" "Visit <A HREF=\"http://www.kde.org/\">http://www.kde.org</A> for " "more information on the KDE project. "); KDE 3.5.10 メッセージカタログ : kde-i18n-ja-3.5.10/messages/kdelibs/kdelibs.po -5- #: kdeui/kaboutkde.cpp:34 msgid "" "The <b>K Desktop Environment</b> is written and maintained by the KDE Team, a " "worldwide network of software engineers committed to <a " "href=\"http://www.gnu.org/philosophy/freesw.html\">Free Software</a> " "development." "<br>" "<br>No single group, company or organization controls the KDE source code. " "Everyone is welcome to contribute to KDE." "<br>" "<br>Visit <A HREF=\"http://www.kde.org/\">http://www.kde.org</A> " "for more information on the KDE project. " msgstr "" "「K デスクトップ環境」は KDE チームによって開発され、保守されています。世界中のソフトウェア開発 者のネットワークが<a " "href=\"http://www.gnu.org/philosophy/freesw.html\">フリーソフトウェア</a>の開発に参 加しています。" "<br>" "<br>KDE のソースコードは特定のグループや企業、組織がコントロールしているのではありません。どな たでも自由に KDE の開発に参加してい ただけます。" "<br>" "<br>KDE プロジェクトの詳細については <A HREF=\"http://www.kde.org/\">http://www.kde.org</A> " "をご覧ください。" Trinity 3.5.12 のソース : kdelibs/kdeui/kaboutkde.cpp const TQString text1 = i18n("" "The <b>Trinity Desktop Environment</b> is a fork of the " "K Desktop Environment version 3.5, which was originally written by the KDE Team, " "a worldwide network of software engineers committed to <a " "href=\"http://www.gnu.org/philosophy/freesw.html\">Free Software</a> " "development.<br><br>No single group, company or organization controls the " "Trinity source code. Everyone is welcome to contribute to Trinity.<br><br>Visit <A " "HREF=\"http://trinity.pearsoncomputing.net/\">http://trinity.pearsoncomputin g.net</A> for more information " "about Trinity, and <A HREF=\"http://www.kde.org/\">http://www.kde.org</A> " "for more information on the KDE project. "); Trinity 3.5.12 のメッセージカタログは KDE 3.5.10 のままなので、このようにメッセージの原文 が変わると、(そのメッセージの翻訳がないので) 表示が原文になってしまうというわけです。 KDE を Trinity に置き換えたメッセージもけっこうありますが、この例のように「KDE」のままの 部分もあるので、機械的に置換すればいいというわけでもありません。 具体的な手順 Trinity のソースからの構築方法は、以下のページにあります。 -6- http://www.trinitydesktop.org/wiki/bin/view/Developers/HowToBuild Trinity 3.5.12 の配布物 kdelibs-3-5-12.tar.gz を取ってきて展開します。configure したのちに、 admin ディレクトリーにある cvs.sh を実行すれば POT ファイルができます。やりたいことは、C++ などのソースからメッセージを抽出するだけですが、Trinity の構築に必要なライブラリー等が必要 だったりしてアレです。 以下、Ubuntu 11.04 での作業例ですが、これで合っているのかは激しく謎なので詳しいかた教え てください。 # aptget install automake libtool kdelibs4c2a libx11dev $ tar xvzf kdelibs3.5.12.tar.gz $ cd kdelibs $ cp pR /usr/share/libtool/config/ltmain.sh admin/ltmain.sh $ cp pR /usr/share/aclocal/libtool.m4 admin/libtool.m4.in $ make f admin/Makefile.common $ ./configure prefix=/opt/kde3 \ includedir=/opt/kde3/include/kde \ mandir=/opt/kde3/share/man \ infodir=/opt/kde3/share/info \ withextralibs=/opt/kde3/lib \ sysconfdir=/etc \ localstatedir=/var \ libexecdir="\${prefix}/lib/kdebasekde3" \ disablerpath \ withxinerama \ enableclosure \ withoutarts $ mkdir po $ sh admin/cvs.sh packagemessages 上記ページの説明どおりに configure すると、aRts を要求されますが、すでに Ubuntu のパッ ケージはないので、--without-arts を追加しました。つーか、ここは Trinity で作業するのがヨサゲ? これで kdelibs.pot ができあがりますので、KDE 3.5.10 の日本語メッセージカタログ kdelibs.po とマージします。 % msgmerge kdelibs.po kdelibs.pot o trinitiykdelibs.po マージされたメッセージカタログを適当に編集します。 #: kdeui/kaboutkde.cpp:34 msgid "" "The <b>Trinity Desktop Environment</b> is a fork of the K Desktop " "Environment version 3.5, which was originally written by the KDE Team, a " "worldwide network of software engineers committed to <a href=\"http://www." "gnu.org/philosophy/freesw.html\">Free Software</a> development.<br><br>No " "single group, company or organization controls the Trinity source code. " "Everyone is welcome to contribute to Trinity.<br><br>Visit <A HREF=\"http://" "trinity.pearsoncomputing.net/\">http://trinity.pearsoncomputing.net</A> for " "more information about Trinity, and <A HREF=\"http://www.kde.org/\">http://" "www.kde.org</A> for more information on the KDE project. " msgstr "" "「Trinity デスクトップ環境」は K デスクトップ環境 (KDE) バージョン3.5 から派生しました。" -7- "KDE は、もともと KDE チームによって開発されたもので、世界中" "のソフトウェア開発者のネットワークが<a href=\"http://www.gnu.org/philosophy/" "freesw.html\">フリーソフトウェア</a>の開発に参加しています。<br><br>Trinity の" "ソースコードは特定のグループや企業、組織がコントロールしているのではありませ" "ん。どなたでも自由に Trinity の開発に参加していただけます。<br><br>Trinity プロジェク" "トの詳細については <A HREF=\"http://" "trinity.pearsoncomputing.net/\">http://trinity.pearsoncomputing.net</A> を" "、KDE プロジェクトの詳細については <A HREF=\"http://www.kde.org/\">http://www.kde.org</A> " "をご覧ください。" MO ファイルにコンパイルしてインストールすれば、こんなふうに日本語表示になります。 一人でやるなら、しこしこ作業すればよいですが、Trinity のような大規模なソフトをみんなでやろ うとすると、進捗管理とか提出とかを自動化しないとたぶん死ねます。 それ以前に、冬コミ以降も Porteus-ja を出すのかどうかははとちゃん次第なので、 作業しても (Linux User 的には) 無駄になっちゃう可能性もありますが、気にしない方向で。 てゆか、Trinity 以外に Porteus 固有のメッセージがあったり、PO ファイル以外にもオンラインヘ ルプ とかマニュアルとかあったりして、ほかにもやることはいっぱいあります。 -8- 参考までに 以下、Slax-Remix や Trinity 関係の過去のアナウンスとか FAQ のやっつけ抄訳。Slax フォーラム は古い記事の投稿日時が wrote 1 year ago などとしか表示されないので、今となってはいつのことや らわからんですよ。 つーか、記事を後から修正できるっぽいので、やはり今となってはよくわからんですよ。 [Slax-Remix] v01/2.6.32-zen4 ready to download! http://www.slax.org/forum.php?action=view&parentID=54463 slax-remix はどんな人向け? - 以下の HOWTO に書かれているようなカスタムカーネルのコンパイルで問題が起きている人: http://www.slax.org/forum.php?action=view&parentID=53917 ※註: zen-kernel - カーネル 2.6.27.27 で未対応あるいは対応が不十分なハードウェアのユーザー - zen kernel (詳細は http://zen-kernel.org/included-code) を使ってみたりテストしたりしたいパ ワーユーザー ライブ USB バージョンの作り方は? ふつーにやればおっけー: iso ファイルの内容を USB メモリーに展開し、ブートできるようにする ために boot フォルダーで bootinst.bat or bootinst.sh を実行します。 本家 slax-6.1.2 とは何が違うのか? - 新しいカーネル 2.6.32 に zen-4 パッチをあてた。つまり、新ドライバーや新機能がたくさん - firefox を 3.5.5 に、flash を 10.0-r32 に更新 - 他の slax モジュールを新しい squashfs4 形式に変換するための squashfs4-tools - slax.cfg ファイルの各ブートオプションに、標準で max_loop=50 というチートコードを追加 - konsole の全機能を使えるよう、003-desktop.lzm/root/.kde/share/config/konsolerc ファイル を削除 欠点は? - slax サイトからダウンロードしたモジュールは、すべて squashfs4-tools を使って新形式に変換 する必要があります。 - 現在のところは、drivers.lzm に initrd.gz が入っていないので PXE ブートができません (要望が あるようなら次回リリースで追加可能です) -9- 課題一覧: - カーネル依存モジュールの作成: Nvidia および Ati ドライバー、Virtualbox 等 (作業中) - squashfs3 形式と squashfs4 形式の自動変換スクリプト - 006-devel に入っている使えないカーネルソースを 2.6.32 に更新する (完了) 警告: 非公式な slax リリースなので、バグ報告、問題、要望等はこのスレッドだけに書いてね。 警告: squashfs4-tools で作ったモジュールは slax サイトにアップロードしないでね 通常の slax-6.1.2 利用者が混乱したり、モジュールのセクションがさらに混沌としちゃうから [Slax-Remix] v02 is out! http://www.slax.org/forum.php?action=view&parentID=54857 なんで slax-remix の iso イメージは通常の slax-6.1.2 より少し大きいの? 以下に詳しい説明があります http://www.slax.org/forum.php? action=view&parentID=54463&anchorid=55131#postid55131 ※訳註: slax モジュールで使われている squashfs 形式 (ファイルシステムイメージ) のブロックサ イズにより、イメージサイズが異なってくる。 ブロックサイズを小さくするとイメージサイズは大き くなるが、システムの応答性はよくなる(特に古いマシンでは)。 [Slax-Remix] v03/2.6.32.4-zen5 is released :) http://www.slax.org/forum.php?action=view&parentID=55706 KDE-4x への移行計画は? ありません。理由は簡単です。slax-remix を 200MB より大きくしたくないからです。 KDE-4* が好きな方は、Slax-7 を待つか、自分で KDE-4 を入れるかしてください。 [Slax-Remix] v04/2.6.32-zen6 is ready! http://www.slax.org/forum.php?action=view&parentID=56292 - 10 - slax-remix はどんな人向け? (snip) - (必ずしも十分テストされていない) バグが予想される slackware-current のソフトウェアを使う ことを厭わない、アレなユーザー [Slax-Remix] v06/2.6.33.2 released! http://www.slax.org/forum.php?action=view&parentID=60839 警告: 質問の前に FAQ を読め! http://www.slax.org/forum.php?action=view&parentID=60836 Slax-remix-v09 32-bit FAQ http://www.slax.org/forum.php?action=view&parentID=60836 12. ブートスプラッシュテーマを標準のものから変更する方法は? 独自のテーマと、 remix の 'Download section' からダウンロードしたままの 'initrd.lz' ファイルを、 /etc/bootsplash ディレクトリーに置きます。 そして、以下のコマンドを実行します: splash -s -f /etc/bootsplash/XXXX/bootsplash.conf >> initrd.lz ブートローダーの設定ファイルに、以下のようなパラメーターがあることを確認してください: 'vga=791 splash=silent quiet' ブートの際、F2 キーを押すと、詳細出力モードに切り替えることができます。 'Porteus' as a new name for 'Slax-Remix' project! https://porteus.org/forum/viewtopic.php?f=35&t=117 'Slax-Remix' プロジェクトの新名称は、'Porteus' だにょ! 2011/01/05 12:03 fanthom みなさんこんにちは。 プロジェクトの新名称をお知らせできることをうれしく思います。 - 11 - たった今から、プロジェクト名は 'Porteus' になりますた。 先週実施された投票では 'Proteus' が最多得票となりましたが、Jayflood と議論した結果、 'Porteus' のほうが google 検索で見つかる件数が少ないので ('Proteus' ではなく) 'Porteus' にするこ とに決めました。 'Porteus' は、'Portablility' と 'Proteus' の二語の合成です。 'Proteus' とは、ギリシャ神話の海神で、自分の姿を好きなように変える能力を持っています。 この名前は、「柔軟性」をあらわしているといえます。 可搬性 (小容量) と柔軟性 (モジュール化) の両方の意味を、Porteus という一つの名前に込めること になりました。 これに、「高速」の意味もこっそり込めたかったのですが、ちょっと無理かもしれません :) 名称が新しくなったので、これに合わせてスクリプト、ロゴ、ドキュメント、チュートリアル、 HOWTO を全部書き換えるという膨大な作業が必要になりました。 このフォーラムの過去の投稿をご覧になる皆さんには、remix, UnknownOS, fanthomX 等の名称 を、必要に応じて 'Porteus' に読み替えていただくようお願いしたいと思います。 また、チュートリアルが 'Slax' ディストリビューション (markds HOWTO など) を参照している場 合には、書き換えずに、「Porteus でも動作する」旨を追記するようにしてください。 皆さんのご協力に感謝します。 Porteus チーム - 12 -