Code::Blocks

概要:
Code::Blocks はフリー / オープンソースでクロスプラットフォームの統合開発環境 (IDE) 。
wxWidgets をGUIツールキットとして使い、C++で開発されている。

非公式な日本語化

.moファイル

概要:
Code::Blocks 用の日本語ファイル codeblocks.mo
C:\Program Files (x86)\CodeBlocks\share\CodeBlocks\locale\ja_JP\codeblocks.mo
に配置して、 Code::Blocks から日本語を設定する。
ファイル:codeblocks.mo for Code::Blocks 13.12

反映手順

1.日本語ファイルの配置

Code::Blocks 本体インストール後に日本語ファイルの配置を行う。

C:\Program Files (x86)\CodeBlocks\share\CodeBlocks\locale\ja_JP\codeblocks.mo

2.日本語ファイルの設定

メニューの[Setting][Environment...]から、[View]の[Internationalization]にチェックを入れて、[Japanese]を選択する。

メニュー
ビュー

3.Code::Blocksの再起動

Code::Blocksを一旦閉じて、起動しなおす。


非公式に国際化(i18n)手順(gettext)

概要:internationalization(i18n)
必要:GetText for Windows - GnuWin32
gettext

gettext.dot (dot.exe -Tgif gettext.dot -o gettext.gif)

拡張子の説明
拡張子 タイプ 概要
*.xrc xml xml形式のwxWidgets用リソースファイル
*.cpp text C++ ソースコード
*.pot text 翻訳テンプレート(このファイルは編集しない)
*.po text 言語ごとの翻訳ファイル
*.mo binary *.poをbinary化したもの

1..xrc(XML)を.cpp(ソース)へ

概要:リソースファイル( .xrc )をソース形式( .cpp )に変換
> wxrc src\resources\*.xrc -g -o  src\src-xrc.cpp

注釈

wxrc が無い場合

wxWidgetsC:\wxWidgets-3.0.0\utils\wxrc をビルドする

ファイル:wxrc.exe (wxWidgets-3.0.0付属のソースをMSVC2013Expressでビルドしたもの)

2..cpp(ソース)を.pot(テンプレート)へ

概要:ソースコードからメッセージを抽出
> xgettext -C -n -k_ -j --from-code=UTF-8 -o po\src.pot src\*.cpp src\*.h

3..pot(テンプレート)を.po(テキスト)へ

既存(旧バージョン)の.poファイルをマージする場合

新しい src.pot ファイルで、既存の ja.po ファイルを更新する場合:
 
> msgmerge -U ja.po src.pot
新しい src.pot ファイルと、既存の old.po ファイルから、新しい new.po ファイルを生成する場合:
 
> msgmerge old.po src.pot -o new.po

注釈

msgmergefuzzy マッチング不要オプション

Operation modifiers:
-N, --no-fuzzy-matching
 do not use fuzzy matching

既存(旧バージョン)の.poファイルが無い場合

src.pot をコピーしたものを ja.po にリネームして、ヘッダーを編集する。
"Project-Id-Version: CodeBlocks 13.12\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: \n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.6.3\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"Language: ja_JP\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: _\n"

4..po(テキスト)を.mo(バイナリ)へ

概要:ja.po ファイルを編集して ja.mo ファイルを生成

注釈

*.po ファイルの編集

msgidに対応した日本語をmsgstrに入力する

msgid “General”
msgstr “”
msgid “General”
msgstr “全般”

注釈

*.po ファイルの編集ツールがあると便利かも→ Poedit とか

ja.po ファイルから、ja.mo ファイルを生成

> msgfmt -o ja.mo ja.po

5..mo(バイナリ)を.po(テキスト)へ

概要:ja.mo ファイルを ja.po ファイルに変換
> msgunfmt ja.mo -o ja.po