glib i18n в Windows - PullRequest
       17

glib i18n в Windows

1 голос
/ 07 ноября 2011

Я пытаюсь запустить приложение C ++ GTK2 в Windows 7, используя Eclipse CDT + MinGW и GTK 2.22. Он использует <glib/gi18n.h> для интернационализации и отлично работает на Linux. Тем не менее, я не могу заставить его работать на Windows. Я инициализирую локализацию, используя этот код:

setlocale(LC_ALL, "sk_SK");
bindtextdomain ("MyApp", "MyPath");
bind_textdomain_codeset ("MyApp", "UTF-8");
textdomain ("MyApp");

Ни одна из этих функций не возвращает NULL, поэтому они успешно завершаются.

Затем, когда я пытаюсь получить строку, используя:

gettext("someText");

, я получаю только «someText», что означает, что мой файл переводов не был найден.

Мой созданный GNU-gettext языковой файл - MyPath / sk_SK / LC_MESSAGES / MyApp.mo. Единственный способ сделать эту работу - установить переменную окружения LC_ALL в Windows вручную на sk_SK (но putenv("LC_ALL=sk_SK") в моем коде тоже не работает).

...