Mac OSXでpoからmo変換の国際化環境を構築する 〜gettextをインストールしてpoからmoにコンバートする〜

前回のMac OSXでpoからmo変換の国際化環境を構築する 〜MacPortsをインストールする〜に引き続いて、インストールしたMacPortsを使用してgettextをインストールします。gettextは国際化対応に必要なツールを集めたライブラリでgettextのmsgfmtコマンドを使うとpoからmoへのコンバートが出来る様です。

まずはアプリケーション>ユーティリティ>ターミナルを起動します。そしてターミナルからMacPortsを使ってgettextのライブラリを探します。ターミナルに「sudo port search gettext」と入力してエンターを押してください。パスワードを求められるので、自分のMacの管理者パスワードを入力します。

sudo port search gettext

しばらくすると検索結果に該当する結果の一覧が表示されます。

gettext @0.17 (devel)<br /> GNU gettext package<br /> gettext-lint @0.4 (devel)<br /> gettext lint tools<br /> p5-libintl-perl @1.16 (perl)<br /> Perl internationalization library<br /> p5-locale-gettext @1.05 (perl)<br /> Perl interface to GNU gettext<br /> poedit @1.4.2 (devel, aqua)<br /> poEdit is a cross-platform gettext catalogs (.po files) editor.<br /> rb-gettext @1.93.0 (ruby, devel)<br /> a Localization library and tools which modeled GNU gettext. <br /> Found 6 ports.

今回欲しいのは一番上のgettextライブラリなのでこれをインストールします。ターミナルで「sudo port install gettext」と入力します。

sudo port install gettext

gettextのインストールが開始され、関連するライブラリ一式がインストールされます。

—> Fetching expat<br /> —> Verifying checksum(s) for expat<br /> —> Extracting expat<br /> —> Configuring expat<br /> —> Building expat<br /> —> Staging expat into destroot<br /> —> Installing expat @2.0.1_0<br /> —> Activating expat @2.0.1_0<br /> —> Cleaning expat<br /> —> Fetching gperf<br /> —> Verifying checksum(s) for gperf<br /> —> Extracting gperf<br /> —> Configuring gperf<br /> —> Building gperf<br /> —> Staging gperf into destroot<br /> —> Installing gperf @3.0.3_0<br /> —> Activating gperf @3.0.3_0<br /> —> Cleaning gperf<br /> —> Fetching libiconv<br /> —> Verifying checksum(s) for libiconv<br /> —> Extracting libiconv<br /> —> Applying patches to libiconv<br /> —> Configuring libiconv<br /> —> Building libiconv<br /> —> Staging libiconv into destroot<br /> —> Installing libiconv @1.12_2<br /> —> Activating libiconv @1.12_2<br /> —> Cleaning libiconv<br /> —> Fetching ncursesw<br /> —> Verifying checksum(s) for ncursesw<br /> —> Extracting ncursesw<br /> —> Configuring ncursesw<br /> —> Building ncursesw<br /> —> Staging ncursesw into destroot<br /> —> Installing ncursesw @5.7_0<br /> —> Activating ncursesw @5.7_0<br /> —> Cleaning ncursesw<br /> —> Fetching ncurses<br /> —> Verifying checksum(s) for ncurses<br /> —> Extracting ncurses<br /> —> Configuring ncurses<br /> —> Building ncurses<br /> —> Staging ncurses into destroot<br /> —> Installing ncurses @5.7_0<br /> —> Activating ncurses @5.7_0<br /> —> Cleaning ncurses<br /> —> Installing gettext @0.17_4<br /> —> Activating gettext @0.17_4<br /> —> Cleaning gettext

gettextが正常にインストールされたか確認してみます。「sudo port installed」と入力します。

sudo port installed

すると現在MacPortsでインストールされているソフトの一覧が表示されます。

The following ports are currently installed:<br /> expat @2.0.1_0 (active)<br /> gettext @0.17_4 (active)<br /> gperf @3.0.3_0 (active)<br /> libiconv @1.12_2 (active)<br /> ncurses @5.7_0 (active)<br /> ncursesw @5.7_0 (active)

gettextは正常にインストールされているようです。また関連するソフトも色々と入っています。さってやっとpoからmoへ変換する準備が整いました。Mac OSXでpoからmo変換の国際化環境を構築する 〜poファイルを編集する〜で編集したpoファイルのパスを確認します。僕はデスクトップに置いて変換します。ターミナルで「msgfmt -o Desktop/ja.mo Desktop/ja.po」と入力します。ja.poはファイル名なので各自のファイル名に置き換えます。-oの後が出力先ファイルになるので、出力したいパスとファイル名を指定します。

msgfmt -o Desktop/ja.mo Desktop/ja.po

これで指定した出力パスにmoファイルが完成しました。

2009012501

あとは、これを「lang」または「languages」フォルダにアップすると無事日本語化が完了します。

ながい道のりでした。。。でも今回の件でMacPortsが超絶便利じゃね?ってことが分かったのでこれから色々試しいこうと思います。

  1. Mac OSXでpoからmo変換の国際化環境を構築する 〜poファイルを編集する〜
  2. Mac OSXでpoからmo変換の国際化環境を構築する 〜MacPortsをインストールする〜
  3. Mac OSXでpoからmo変換の国際化環境を構築する 〜gettextをインストールしてpoからmoにコンバートする〜