そもそもUbuntuの翻訳ってどんな仕組みなの?
編集S:ということでUbuntuの翻訳について色々教えてください。常識人な皆様。
ミズノ:はーい。
あわしろいくや:はーい。
瀬尾浩史:……キャラが濃い人達だけが返事してる空間が出来上がってるペン。
村田:世の中なんてそんなもので味噌。
黒瀬:さて、翻訳についてですけど、どこから行きましょう?
hito:まず「Ubuntuの翻訳ってどうやってるんだろー」から。
やまね:ぬぅ……Ubuntuの翻訳だと! 中学で英語を習ってから、右拳に全体重をのせ、まっすぐ目標をぶちぬくように打つべし! 打つべし! 打つべし!
編集S:こうか。
やまね:あべし。
瀬尾浩史:なんかこっちでは複数のネタがミックスされたドツキ漫才空間が出来上がってるペン。
編集S:えーと、Launchpad Translationsで作業ができて、Webの入力フォームに日本語を入れれば作業ができそう、ってところぐらいまでは知ってます。英語が表示されてて、そこに「対応する日本語を入れてください」って感じのやつ。
hito:Launchpadの翻訳インターフェースですね。そこに日本語を入れておくと、査読の上最終的にUbuntuの日本語表示に使われるgettext用の「メッセージカタログ」になります。
黒瀬:そうやって「メッセージカタログ」を作っていくのが翻訳作業の重要な部分ですね。
編集S:うえーん、いきなり分からない。メッセージカタログを作ると、なにか裏で不思議な魔法を使ってくれて、Ubuntuの表示に使われると思っていいですか?
やまね:そんな感じなんだけど、もうちょっと説明した方がいいかな。
黒瀬:じゃあ具体例でいきますね。/usr/share/cups/locale/ja/cups_ja.poというファイルがあるので、これを開いてみてください。
編集S:開きましたー。
hito:読んでみると、なんだかよく分からないテキストファイルだってことがわかると思います。ちょっとプログラムっぽい感じのやつ。
編集S:プログラムっぽくて頭痛がしてきましたー。
黒瀬:これが「.poファイル」って呼ばれる、メッセージカタログの一形式ですー。
ミズノ:で、これを扱いやすくするEmacsのモードがありまして!
瀬尾浩史:ツッコんでおくペン。てい。
ミズノ:ぺぐぅ。
hito:まあ、どんなエディタで開いて頂いてもいいんですが、気合いを入れてちょっと読んでみると、「msgid」という部分に英語っぽい文字列が入っていて、「msgstr」に日本語らしき文字列が入っていることがわかると思います。
編集S:でもこれだけじゃ日本語で表示されないですよね?
小林:「gettext」というものを使ってプログラムを書いておくと、自動的にmsgidの部分をmsgstrで置き換えてくれます。事前に「msgid: Thank you/msgstr: ありがとう」という形で対応を準備しておくと、「Thank you」と出力する部分が自動的に「ありがとう」に置き換わるわけですね。このmsgstrを準備することが翻訳作業の目的です。
編集S:あれ、これでも日本語専用?
小林:ファイル名が「cups_ja.po」ですから、日本語専用のファイルですね。locale/以下に他の言語のファイルも準備されています。
編集S:ほほう。日本語以外にはどうやって切り替えてるのかな?
やまね:環境変数をもとに「ja」以外へ切り替え。「ge」とか。
編集S:な、なるほど。この.poってやつがLaunchpad上でも表示されてて、なにか魔法でアプリでも使われるようになるって思っていいですか?
黒瀬:おおむねそんな感じの理解でOKです。
(次ページへ続く)
この連載の記事
-
第61回
PC
~師範、Ubuntu道場が最終回です!~ -
第60回
PC
~師範、組版システム「TeX」について教えてください!~ -
第59回
PC
~師範、Ubuntu関連のイベントを教えてください!~ -
第58回
PC
~師範、日本語Remixの作り方を教えてください!~ -
第57回
PC
~師範、Ubuntu独自のテクノロジーについて教えてください!~ -
第56回
PC
~師範、いまどきの仮想化について教えてください!~ -
第55回
PC
~師範、Ubuntu 12.04の特徴を教えてください!~ -
第54回
PC
~みなさん、Ubuntuに触ったきっかけを教えてください!~ -
第53回
PC
~師範、Ubuntuのヘビーユーザーってどんな感じでしょう?~ -
第52回
PC
~師範、Ubuntuは今後どうなるんですか?~ -
第51回
PC
~師範、ARMって何ですか!~ - この連載の一覧へ