Russian Qt Forum

Программирование => С/C++ => Тема начата: Antrix от Январь 13, 2009, 18:24



Название: Gettext() & Windows
Отправлено: Antrix от Январь 13, 2009, 18:24
Gettext() & Windows   (http://www.gnu.org/software/gettext/)

Написал тестовый проект "Привет мир", в котором пытаюсь перевести фразу "Hello, world!" на на разные языки мира. Вот исходный код:
Код:
#include <iconv.h>
#include <cassert>
#include <cerrno>
#include <string>
#include <stdexcept>
#include <iostream>
#include "windows.h"

#include <libintl.h>

using std::string;
using std::cout;
using std::endl;

int main(int argc, char* argv[]) {
string package("test");

cout << setlocale(LC_ALL, "") << endl;
bindtextdomain(package.c_str(), "./locale");
textdomain(package.c_str());

cout << gettext("Hello, world!") << endl;
cout << "codeset = " << bind_textdomain_codeset(package.c_str(), "CP1251") << endl;
cout << gettext("Hello, world!") << endl;

return 0;
}

В в папке "./locale" есть два файла с переводом, один на русском, другой на украинском языке. Но почему-то, когда я задаю русскую локаль setlocale(LC_ALL, "Russian_Russia" программа выводит только на украинском, хотя под линуксом все работает. Подскажите в чем проблемма