そろそろ日本語UIを作ろうかなと思っていたのと、他の言語のUIを作ってやるという申し出をいくつか貰っていたので、ローカライズするための仕組みを作り始めました。
色々考えたのですが*1、結局素直に各DLLに対してローカライズ用のDLLを用意することにしました。ファイル名は、<DLL名>.<言語ID>.muiで。例えば日本語版のqmu.dllはqmu.dll.0411.muiになります。Pocket PC 2003SE以降では、勝手にこの名前でロードしてくれるようですが、他のプラットフォームのために明示的にロードするようにしてあります。
*1 EXEやDLLそれぞれに対してローカライズ用のDLLを用意するとDLL数が多くなりすぎるとか