Извиняюсь за вопрос, но начал недавно изучать Qt4 и столкнулся с такой проблемой. Как заставить приложение отображать стандартные диалоги открытия файла, сохранения и т.д. на русском?
Нету под рукой QT4 - только 3и, сегодня вечером скажу точно что надо сделать.
Копать надо в направлениии интернационализации - посмотреть где там локаль выставляется программно. В 3м этим заведовал класс QTextCodec и локаль надо в системе выставить в родную.
Кстати, может подскажешь, столкнулся вчера с такой проблемой: есть БД мускуля, кодировка - UTF8. Системная локаль - uk_UA.UTF-8, в консоли кириллица из полей отображается нормально. Делаю морду на Qt4, QTableView на основе QSqlQueryModel. Данные в таблице отображаются кракозябрами. С разгону решения не нашел, может подскажешь что-то? :) Спасибо!
вот ссылка на решение
http://lists.trolltech.com/qt-interest/2006-11/msg00779.html#msg00779
для тех кто не ходит по ссылкам - надо в main'е написать что-то вроде
QTranslator translator;
translator.load("qt_ru","/usr/local/Trolltech/Qt-4.3.2/translations/");
app.installTranslator(&translator);
Имя директории поменять на своё. =)
Как резонный вариант для портабельности - вписать этот файлик через ресурсную систему в итоговую программу, ну или таскать его за собой везде.
Мне это проблему с нерусскими кнопками полечило =)
2 ser_bur
Попробуй например через QSqlQuery.exec() сказать в базе
"set names что-нибудь"
и с этим что-нибудь поэксперементируй.
Или прочитай мой пост чуть выше и попробуй подгрузить qt_uk.pm (у меня такой есть).
А есть ли способ в Qt4 определить, где находятся файлы с переводами типа qt_ru. Хотелось бы красивого решения, а то вшивать путь в программу - это неправильно.
Есть. Пока вопрос не встанет и не узнаешь какие классы в qt есть =)))
Для этого есть статическая функция
QLibraryInfo::location(QLibraryInfo::TranslationsPath)
Ну и вообще можно документацию по этому классу посмотреть в ассистанте - она коротенькая