シェルスクリプトの日本語化
Posted: 13/04/21(日) 12:58
パピー独自の小さなアプリの多くはシェルスクリプトで書かれています。
昔はこれらを日本語化するのに、メッセージ部分を日本語に書き換えるなどで対応していました。
しかし最近は gettext による国際化に移行しています。gettext化されたシェルスクリプトの日本語化についてのメモ。
既存の mo ファイルから po ファイルを作るなどのツール Edit-mo は→ viewtopic.php?f=25&t=2276
また最近のパピーに組み込まれている MoManagerを使う方法もある。devxも必要。
以下はpoeditを使ったもの。poedit-1.4.2-4.sfs が http://shino.pos.to/party/bridge.cgi?puppy/opt/ にある。
Precise Puppy の場合は http://shino.pos.to/party/bridge.cgi?puppy/precise/opt/ にある poedit-1.4.6.1-1-presice.sfs 。
参考: poEdit で翻訳ファイルを作る
大きな流れ
手順1: 端末からのコマンドでpotファイルを作る。
例: /usr/sbin/dotpup を確認すると、始めの部分に export TEXTDOMAIN=dotpup とあるから、作るべき potファイルは dotpup.pot。
これをGUIで実行する PoConvert を作りました。2つ先の記事。
手順2: poファイルを作る。poedit のメニュー「ファイル」→「potファイルを元に新しいカタログを作成」
例 dotpup.pot を選び、言語を「Japanese」、国を「Japan」とする。dotpup.po として保存。
手順3: moファイルを作る。各文の日本語訳を書き込み、保存すると dotpup.mo ができる。
手順4: moファイルを /usr/share/locale/ja/LC_MESSAGES に置く。例: /usr/share/locale/ja/LC_MESSAGES/dotpup.mo
昔はこれらを日本語化するのに、メッセージ部分を日本語に書き換えるなどで対応していました。
しかし最近は gettext による国際化に移行しています。gettext化されたシェルスクリプトの日本語化についてのメモ。
既存の mo ファイルから po ファイルを作るなどのツール Edit-mo は→ viewtopic.php?f=25&t=2276
また最近のパピーに組み込まれている MoManagerを使う方法もある。devxも必要。
以下はpoeditを使ったもの。poedit-1.4.2-4.sfs が http://shino.pos.to/party/bridge.cgi?puppy/opt/ にある。
Precise Puppy の場合は http://shino.pos.to/party/bridge.cgi?puppy/precise/opt/ にある poedit-1.4.6.1-1-presice.sfs 。
参考: poEdit で翻訳ファイルを作る
大きな流れ
手順1: 端末からのコマンドでpotファイルを作る。
例: /usr/sbin/dotpup を確認すると、始めの部分に export TEXTDOMAIN=dotpup とあるから、作るべき potファイルは dotpup.pot。
コード: 全て選択
# xgettext --lang=shell /usr/sbin/dotpup -o - > dotpup.pot
手順2: poファイルを作る。poedit のメニュー「ファイル」→「potファイルを元に新しいカタログを作成」
例 dotpup.pot を選び、言語を「Japanese」、国を「Japan」とする。dotpup.po として保存。
手順3: moファイルを作る。各文の日本語訳を書き込み、保存すると dotpup.mo ができる。
手順4: moファイルを /usr/share/locale/ja/LC_MESSAGES に置く。例: /usr/share/locale/ja/LC_MESSAGES/dotpup.mo