win7 64+VS2008
I wrote a simple gettext test procedures are as follows:
#include <stdio.h>
#include <locale.h>
#include "libintl.h"
#include <windows.h>
#pragma comment(lib,"libintl.lib")
#define _(S) gettext(S)
#define PACKAGE "hello"
int main(int argc, char **argv)
{
char tmp[51]= {0};
int t;
char path[MAX_PATH]= {0};
_snprintf(tmp, 51, "LANG=%s", argv[1]);
t=putenv(tmp);
bindtextdomain(PACKAGE, "locale");
textdomain(PACKAGE);
printf(_("Hello!"));
return 0;
}
And then build Hello.Po, translation in the generated Hello.Mo file separately
Placed in the following location:
.\Debug\locale\zh_TW\LC_MESSAGES\hello.mo
.\Debug\locale\zh_CN\LC_MESSAGES\hello.mo
.\Debug\locale\ja\LC_MESSAGES\hello.mo
.\Debug\locale\en_US\LC_MESSAGES\hello.mo
.\Debug\hello.exe
.\Debug\libiconv2.dll
.\Debug\libintl3.dll
Then you run Hello.exe zh_TW (Hello.exe ja Hello.exe en_US) show all Chinese instead of the appropriate language。\Debug\locale\ja\LC_MESSAGES\hello.mo,.\Debug\locale\en_US\LC_MESSAGES\hello.mo,
.\Debug\locale\zh_TW\LC_MESSAGES\hello.mo
Copy respectively. under \Debug\locale\zh_CN\LC_MESSAGES\ was able to copy the appropriate language is displayed。
Is unable to switch the interface language, toggle the display of all Chinese,why is this?