KI18NEditor

はじめに

メニューやメッセージの国際化(日本語化)をします。
KConfigEditorをベースに、アプリケーション名はKI18NEditorとします。

日本語の扱いについて

Qt-KDEでは内部の文字コードをすべてUnicodeで扱います。
もしあなたがソース内に(コメント以外で)直接日本語を書きたい場合はソースコードをUTF-8でエンコードすることでメニューやメッセージに日本語を表示させることができます。

しかし、KDEでは国際化という観点から、より素晴しい方法を提供してくれます。それはI18Nと呼ばれる国際化方法です。
いままでは解説してきませんでしたが、ソースコードで表示にかかわるメッセージはほぼi18n()I18N_NOOP()でかこんできました。
(忘れている部分もありましたが)

今回のKI18NEditorではこの囲まれた部分を日本語に翻訳し、日本語ロケールで起動された場合には日本語で表示されるようにします。

翻訳環境の作成

i18n、I18N_NOOPで囲まれた文字列をソースコードから抽出し、翻訳前の状態を作る作業をします。
まずはじめにトップのディレクトリにpoディレクトリを作成してください。
poディレクトリに「POFILES = AUTO」という内容のMakefile.amを作成してください。
翻訳作業はpoディレクトリで行うことになります。

次にソースファイルからpotファイルを作成するために、ソースディレクトリにあるMakefile.amに以下の行を追加して下さい。

# messages.poの作成。../po/に移動する。poディレクトリで"make merge"する
# -xオプションを指定すれば、kdelibsで翻訳されているメッセージを無視する。
messages:
    $(XGETTEXT) -C -ki18n -kI18N_NOOP -x $(includedir)/kde.pot $(ki18neditor_SOURCES) && mv messages.po ../po/ki18neditor.pot

それではとりあえず実行してみましょう。KConfigEditorと同じものが表示されましたね?

翻訳作業

まず始めに翻訳元のファイルを作成します。
ソースファイルのディレクトリで

$ make messages

とするとpo以下にki18neditor.potというファイルが生成されます。
これはソースファイル内のi18n、I18N_NOOPから抽出されたメッセージです。

次に日本語用の翻訳ファイルを作成します。
poディレクトリで以下のように作成します。

$ cp ki18neditor.pot ja.po

翻訳作業はKBabelというアプリケーションを使うと楽です。
Vine Plus内にあるのでaptでインストールしてください。

KBabelでja.poを開き上部ペインの原文を下部ペインで日本語訳します。
「&Test」など&がついた文字列は「テスト(&T)」としましょう。

この翻訳作業が終わったら

$ Make -f Makefile.cvs
$ ./configure
$ make
# make install

をして、KI18NEditorをインストールしてみてください。
日本語で表示されましたか?

補足

ソースファイルにメッセージを追加したり変更したり削除した場合には

$ make messages

をしなおしてください。
この作業では翻訳元のファイルしか変更されないので、各国語用にマージするためにpoディレクトリで以下のコマンドを実行してください。

$ make merge

このあと各国語用の翻訳ファイルの未翻訳部分を翻訳していきます。

KDEメニューやタイトルのアプリケーション名を日本語化するにはki18neditor.desktopに以下の行を追加してください。

Name[ja]=国際化エディタ

重要なのはここでファイルのエンコーディングをUTF8にして保存することです。

おわりに

今回作成した全てのファイルはki18neditor.tar.gzからダウンロードすることができます。

スポンサード リンク

トラックバック

トラックバックURL
https://linux-life.net/tb/program/cc/kde/doc/ki18neditor/
Linux Life 〜 No linux, No life 〜
プログラミング > C++ > KDE > KDEプログラミング入門 > KI18NEditor