- PR -

staticな変数の取り扱いについて

1
投稿者投稿内容
butthead
大ベテラン
会議室デビュー日: 2004/01/14
投稿数: 162
投稿日時: 2008-08-19 00:14
いつもお世話になっております。

現在、日本語と英語の両方が使えるようローカライズタスクをしているのですが
方針として一箇所迷っている部分があります。
ぜひとも、ご存知もしくは経験されている方がいらっしゃいましたらお教えいただければと思います。

test.h

Test
{
static CString test;
}

test.cpp

CString test = "test";

このようにstaticの場合は一度外側で値を初期化しなければならないと思いますが、
もしも、すべての値をリソースファイルから読み込みその上で使いたい場合、
(リソースファイルをもつサテライトDLLを作るため)
この初期化部分で、LoadStringを使用できません。この場合直接記入が必要です。

これだと、たとえばこのtestという値がGUIに映えるものだとしたら
リソースファイルにハードコードしたいのにできないことになります。

ローカライズ経験者もしくは、一般的な知識でもこの場合どのような施策をとるのが
正しいのでしょうか?

そのまま英語をデフォルトとするなら、ソースコード上に残すべきなのか、
それともほかの手でやるのでしょうか?

迷うところなのですが、ぜひともご提言いただけたらと思います。
よろしくお願いします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-08-19 07:27
なぜ static なのでしょう?
提示されている条件からは、static でなければならない理由が見つかりません。


「外側」ってのも、ちょっと、わかりません。クラス内のメソッドで変更できますよ?
1

スキルアップ/キャリアアップ(JOB@IT)