Windows用のmsgfmtを入手する方法(gettext) - AWK
AWKプログラムを国際化対応する時は、msgfmt というプログラムを入手する必要があります。Windows用の msgfmt を入手する方法は2通りあります。
o Windows版の gettextパッケージを使う方法
o 他の言語で書かれている msgfmt を利用する方法
+ 誰かが移植している事があります。
このページでは、Windows版の gettextパッケージを使う方法について記します。
# AWKプログラムの国際化対応は、Gawkの専用機能です。
# システムの言語設定に応じて、AWKプログラム中で使用されている文字列を切り替える機能です。
#
**** 手順
** 手順の概要
o 次のパッケージをダウンロードして、必要なファイルを揃えます。
+ GetText for Windows
+ LibIconv for Windows
+ MSVCRT.DLL (= 動かしてエラーになる時 = Visual C++のランライムライブラリです。)
** gettextの入手
o ▽GetText for Windows のホームページを開きます。
o Download欄がありますので、その中で、次の2つのどちらかをダウンロードします。
+ Complete package, except sources の「Setup」リンク(= インストール形式)
+ Binaries の「Zip」リンク
o 念の為、ウィルスチェックします。
** libiconvの入手
o ▽LibIconv for Windows のホームページを開きます。
o Download欄がありますので、その中で、次の2つのどちらかをダウンロードします。
+ Complete package, except sources の「Setup」リンク(= インストール形式)
+ Binaries の「Zip」リンク
o 念の為、ウィルスチェックします。
** MSVCRT.DLLの入手
o Vecterなどのダウンロードサイトで配布していました。
o 必要な方は Web検索
o でも、Windows Updateすると、普通に入っているような気もします。
** ファイルの展開、もしくはインストール
o 「Setup」リンクで入手した時は、インストールします。
o 「Zip」リンクで入手した時は、展開(= 解凍)します。
** 展開したプログラムの統合
o フォルダーを作って、次のファイルを入れます。
o GetText for Windows の binフォルダーの内容
+ 必要なファイルは、msgfmt.exe と dllファイルです。(= libgettextpo.dllは無くても動くみたいです)
+ 他のファイルを一緒にコピーしても、大丈夫です。
o LibIconv for Windows の binフォルダーの内容
+ 必要なファイルは、libiconv2.dll です。
+ 他のファイルを一緒にコピーしても、大丈夫です。
o 必要な時は、入手した msvcrt.dll
ファイル名 | 場所 | 説明 |
GetText for Windows | ||
---|---|---|
msgfmt.exe | bin | 本体 |
libgettextlib.dll | bin | 部品 |
libgettextsrc.dll | bin | 部品 |
libintl3.dll | bin | 部品 |
LibIconv for Windows | ||
libiconv2.dll | bin | 部品 |
Visual C++のランタイムライブラリ | ||
msvcrt.dll | 部品。実行時に要求された時だけ入手 |
** msgfmtの動作確認
o msgfmt.exe をダブルクリックしてみて、黒い画面が一瞬で開閉すると、成功です。
+ 不足しているDLLがあると、メッセージを出して止まります。
o 普通に確認したい方は、コマンドプロンプト画面を開いて、次のコマンドを打ってみます。
+ コマンドの説明が表示されたら成功です。
--------
(ファイルを置いた場所)\msgfmt.exe --help
--------
o 簡単に入力したい時は、msgfmt.exe をエクスプローラーから貼り付けて、後ろに「 --help」を加えます。
o 場所を入力したくない時は、次のようにします。
+ カレントディレクトリを msgfmt.exeのある場所に合わせるか、
+ PATH環境変数に msgfmt.exe ファイルを置いた場所を追加します。区切り文字はセミコロンです。
==
関連ページ:
▼AWKの国際化対応 i18n
▼AWKプログラムを書く(▼ABC順)
▼AWK
▼制作メモ
> _(アンダーライン) = 国際化する文字列を指定する
(2010年10月27日追加。msgfmt プログラムを動かす時に必要なファイルの表)