国際化対応

会社ではBorlandのC++Builderなるツールを使用しています。
で、作成しているアプリケーションは英語での使用も考慮しますので、
日本語と英語を自動的に切り分けられるようにします。
いえ、別々の実行ファイルにしてもいいのですが、インストーラの作成
がちょっと面倒になりますし、プロジェクトを2つメンテナンスしなけれ
ばならないなど、デメリットが多いのです。

で、リソースDLLウイザードなるシステムを使用して作りわけをサポート
してもらい、プログラム中で使用する文字列だけを作りわけすればいい
ようにしていました。
具体的には、Captionなど文字列をすべて、LoadStrでリソースから
持ってくるようにします。
で、そのリソースは、resource.hにグローバル定数を宣言し、
Message.rcファイルにその定数と実際の文字列を定義します。
resouce.hはこんな感じ。
#define IDS_FORMCAPTION 1
Message.rcはこんな感じ

#include "resource.h"
STRING DISGARDABLE
BEGIN
IDS_FORMCATPION "フォームへの文字列"
END

で、Message.rcをプロジェクトに登録すれば、リソースDLLウイザードで、
国際化対応用のファイル類(フォームとこのMessage.rc)をカレントフォルダ
以下に国際化用フォルダ(日本語がターゲットならJPN)を作ってコピーして
くれます。
あとは、このフォームやrcファイルを翻訳するだけで、あっという間に国際化
対応プログラムの完成。

だったのですが、なにか去年の3月ごろ突然このリソースDLLウイザードが
使用できなくなってしまいました。
ネットに情報はほとんど無く、しかし、いつか手がかりが見つかるだろうと
思い、LoadStrによる文字列表示はし続けました。

で、本日その対応方法を見つけました。

以前、リソースDLLウイザードを使用していた残骸を見て気がついたのです。

まず、DLLウイザードでプロジェクトをひとつ作ります。
保存先は、リソースDLLウイザードと同じように、ロケール文字3文字の
フォルダを対象としたいプロジェクトのフォルダ以下に作ります。
それようのcppの中身を全部削除して、以下のような行にします。
これは使用しているすべてのフォームを記述します。
その後、使用しているフォームのdfmをコピーします。

トラックバック(0)

トラックバックURL: http://www.asteria-net.jp/~mars/cgi-bin/mt5/mt-tb.cgi/329

コメントする

2015年8月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

カウンター
あなたは
番目の訪問です。

月別 アーカイブ

ウェブページ

Powered by Movable Type 5.03

☆ここにある写真は個人的に楽しまれる目的でダウンロードするのは構いません。 ☆ここにある写真を許可無く雑誌等への転載、商用利用することはお断りします。 ☆ここにある文章、写真等の著作権はえふまるにあります。 ☆連絡先は、karan@pb3.so-net.ne.jpです。

このブログ記事について

このページは、日々是知新(MT5版)が2005年3月30日 00:00に書いたブログ記事です。

ひとつ前のブログ記事は「しまった。」です。

次のブログ記事は「ザーサイ」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。