Wersje językowe programu w c++

0

Witam.

Chciałbym aby mój program był wielojęzyczny.
Zdecydowałem, że aby był łatwy do tłumaczenia to użyję do tego celu plików INI.

Wszystko byłoby OK ale jak chcę podmienić tekst z pliku to Label->Caption to jest problem z kodowaniem.
Plik INI koduję w UTF-8. Jest to konieczne bo program będzie tłumaczony na np: chiński ?

Właściwość labela Form > Charset nie zawiera typu utf-8 i przez to wszystko się krzaczy.
Prosiłbym o pomoc

Przykład kodu:

AnsiString Lang(AnsiString sekcja, AnsiString wartosc)
{
	char cCurrentPath[1024];
	GetCurrentDirectory(sizeof(cCurrentPath), cCurrentPath);

	AnsiString langfile = "\\PL.ini";
	AnsiString x = cCurrentPath;
	TIniFile *val = new TIniFile(x + langfile);

	AnsiString lng;
	lng = val->ReadString(sekcja, wartosc, "brak wartości");
	return lng;
}
Label3->Caption = Lang("MainForm", "label3");

Pozdrawiam :)

0

Nie jest to chyba najlepsze wyjście. Spróbuj użyć gettext.

0

Czy mógłbym prosić o jakiś przykład ?

Nie jestem dobry w CPP tylko w PHP.
Ale muszę zrobić ten fragment

0

Gettext jest też dla PHP: http://pl.wikipedia.org/wiki/GNU_gettext Niestety z oficjalną mi się nie chciało połączyć, ale zobacz tam masz link do oficjalnej dokumentacji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1