में लोकेल बदलना मैंने QLocale और setDefault फ़ंक्शन का उपयोग करके लोकेल को बदलने की कोशिश की लेकिन ऐसा लगता है कि यह काम नहीं करता है। सी स्थानीयकरण पुस्तकालय और QLocale का उपयोग कर लोकेल बदलने का उदाहरण यहां दिया गया है। सी स्थानीयकरण पुस्तकालय के लिए ऐसा लगता है कि यह काम करता है, लेकिन QLocale के लिए ऐसा लगता है कि setDefault फ़ंक्शन कॉल को अनदेखा किया जाता है।Qt
QLocale curLocale(QLocale("pl_PL"));
QLocale::setDefault(curLocale);
QDate date = QDate::currentDate();
QString dateString = date.toString();
// prints "Fri Nov 9 2012" but that was not expected
std::cout << dateString.toStdString() << std::endl;
// prints "en_US", but shouldn't it be "pl_PL"?
std::cout << QLocale::system().name().toStdString() << std::endl;
std::setlocale(LC_ALL, "pl_PL");
// prints "pl_PL"
std::cout << std::setlocale(LC_ALL, 0) << std::endl;
std::time_t currentTime;
std::time(¤tTime);
std::tm* timeinfo = std::localtime(¤tTime);
char charArray[40];
std::strftime(charArray, 40, "%a %b %d %Y", timeinfo);
// prints "pi lis 09 2012" and that's cool
std::cout << charArray << std::endl;
क्यूटी में उचित लोकेल को कैसे बदला जाए, तो यह प्रोग्राम को प्रभावित करता है?