Название: Подскажите с локализацией строк самой библиотеки Qt Отправлено: Mikor от Октябрь 15, 2007, 13:53 Вот есть QFileDialog, он конечно английский. У меня в программе используется свой *.ts файл для перевода своих строчек. В Qt валяется еще qt_ru.ts с переводом всего, что есть в самих Qt*.dll. Как сделать, чтобы в программе объединялся мой собственный перевод и стандартный Qt?
Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: QCasper от Октябрь 15, 2007, 14:12 Скопировать qt_ru.ts к себе в папку (или в одну из подпапок) с проектом и проделать с ним те же манипуляции, что и с Вашим файлом перевода.
Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: Sergey B. от Октябрь 15, 2007, 14:35 Вам нужны файлы с расширением qm.
qt_ru.qm и ваш_файл_перевода_проги.qm. Просто скопируйте в папку с программой и напишите код загрузки в ассистенте есть пример. Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: alex12 от Октябрь 15, 2007, 15:42 Я делаю так:
в main() Код: int main(int argc, char *argv[]) и в .qrc Код: <RCC> Все работает правильно. Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: QCasper от Октябрь 15, 2007, 21:47 не понимаю какое отношение к теме имеют строки:
Код: QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251")); ? Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: Sergey B. от Октябрь 15, 2007, 22:25 Мне кажется никакого, если писать всё на английском, а потом лингвистом пройтись, то всё работает прекрасно и без установки кодеков.
Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: Mikor от Октябрь 16, 2007, 00:36 Ну один QTranslator я могу загрузить. Мне надо чтобы qt_ru.qm и мойфайл.qm грузились вместе в программе
Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: pastor от Октябрь 16, 2007, 01:13 Ну один QTranslator я могу загрузить. Мне надо чтобы qt_ru.qm и мойфайл.qm грузились вместе в программе А какая проблема использовать несколько QTranslator для подгрузки qt_ru.qm и мойфайл.qm? Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: Mikor от Октябрь 16, 2007, 03:15 Извините, не обратил внимание на то, что можно несколько одновременно устанавливать
Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: juvf от Октябрь 16, 2007, 06:42 подгрузил qt_ru.qm который находился в исходниках qt (qt-x11-opensource-src-4.2.2). Но там не полный перевод. только процентов 50 переведено. Например в QPrintDialog нет перевода "Print to file". Сижу с лингвистом и перевожу недостающий перевод. А есть qt_ru.qm или qt_ru.ts c полным переводов всех текстов диалогов Qt?
Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: juvf от Октябрь 16, 2007, 08:57 И вот ище:
как заставить QFile::errorString() возвращять не "No such file or directory", а "Не могу найти файл или папку"? Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: QCasper от Октябрь 16, 2007, 12:31 И вот ище: как заставить QFile::errorString() возвращять не "No such file or directory", а "Не могу найти файл или папку"? Перевести QFile :) Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: juvf от Октябрь 18, 2007, 07:59 Цитировать Перевести QFile в исходниках Qt чтоли? и перекомпилять qt (((. А других путей нет? Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: QCasper от Октябрь 18, 2007, 08:29 Цитировать Перевести QFile в исходниках Qt чтоли? и перекомпилять qt (((. А других путей нет? Ой, не QFile, а QIODevice. Зачем в исходниках, всё в том же самом qt_ru.ts. Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: juvf от Октябрь 18, 2007, 09:47 В qt_ru.ts у меня вот что.
Цитировать <context> <name>QIODevice</name> .... <message> <source>No such file or directory</source> <translation>Нет такого файла или папки</translation> </message> .... </context> С помощью лингвиста перевел qt_ru.ts и сделал qt_ru.qm и подгрузил к приложению. Все равно не работает. (( Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: QCasper от Октябрь 18, 2007, 10:37 В qt_ru.ts у меня вот что. Цитировать <context> <name>QIODevice</name> .... <message> <source>No such file or directory</source> <translation>Нет такого файла или папки</translation> </message> .... </context> С помощью лингвиста перевел qt_ru.ts и сделал qt_ru.qm и подгрузил к приложению. Все равно не работает. (( Не работает только этот перевод, или вообще никакие? Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: juvf от Октябрь 18, 2007, 11:39 не знаю.
сообщения от QFileDialog и от QFilePrinter - работают на русском. А из сообщений от QIODevice я другие сообщения не проверял, т.к. у меня есть функция на открытие файла, на запись нет. А другие сообщения от QOIDevice - это запись. Надо код править чтоб ошибку создать. Ну если это поможет делу то вызову все сообщения(кроме unknow error) от QIODevice и проверю. Но мне кажется что они тоже будут на аглицком. Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: QCasper от Октябрь 18, 2007, 12:15 Хм, действительно не работает. Значит, судя по всему, баг. Подобный баг есть и в QHttp. Выход я нашел один: в случае с errorString() можно переводить так:
Код: QFile f; Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: Emc от Октябрь 18, 2007, 17:02 только что заметил, под виндой не работает след. перевод
<message> <source>Ctrl+Space</source> <translation>Ctrl+Пробел</translation> </message> после перевода выглядит как "Ctrl+" (под linux все нормально) или shortcut'ы вообще нельзя переводить? Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: Примерный ученик от Май 11, 2008, 12:05 В qt_ru.ts у меня вот что. Цитировать <context> <name>QIODevice</name> .... <message> <source>No such file or directory</source> <translation>Нет такого файла или папки</translation> </message> .... </context> С помощью лингвиста перевел qt_ru.ts и сделал qt_ru.qm и подгрузил к приложению. Все равно не работает. (( подгрузил к приложению - это положил в папку с исполняемым файлом? if ( qt_translator->load( "с:/myfolder/qt_ru.qm" ) ) Важно, чтобы при загрузке транслятора файл был найден!!! У меня все сработало... VC60, QT338, winxp Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: Hort от Октябрь 14, 2008, 22:31 А какая проблема использовать несколько QTranslator для подгрузки qt_ru.qm и мойфайл.qm? а можно необходимые строки скопировать в свой файл. просто желательно чтобы 1 файлом перевод былНазвание: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: ритт от Октябрь 15, 2008, 02:05 а где такое сказано?
Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: Alex03 от Октябрь 15, 2008, 05:40 И вот ище: Это не qt-ошибка а системная. Под *nix-ами как правило используют strerror(errno).как заставить QFile::errorString() возвращять не "No such file or directory", а "Не могу найти файл или папку"? Линуксячий man говорит: Цитировать The strerror() function returns a string describing the error code passed in the argument errnum, possibly using the LC_MESSAGES part of the current locale to select the appropriate language. This string must not be modified by the application, but may be modified by a subsequent call to perror() or strerror(). No library function will modify this string. Т.е. если у Вас нормально настроены локали, в том числе LC_MESSAGES (или LC_ALL) и если в системе установлены файлы переводов сообщений то всё должно быть ОК. Просто в шеле "cat non_existing_file" на каком языке матерится? Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: Alex03 от Октябрь 15, 2008, 06:22 Упс....
Посмотрел QString qt_error_string(int errorCode)... для четырёх кодов есть: Код: switch (errorCode) { Код: if (s) Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: olegmar от Февраль 23, 2009, 09:20 Вообще-то работает, но только для кутёвых диалогов (почему-то!?!). То есть для QPrintPreviewDialog всё отлично, а вот для PrintDialog уже не работает((
Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: faithman от Март 03, 2009, 18:12 У меня тож проблема:
Связка QFileSystemModel+QTreeView: файл перевода библиотеки стоит,транслятор для Qt подключен,переключение на русский работает,но интересует ,в каком месте искать такие строки выдаваемые в QTreeView в колонке "Тип" - Drive , File Folder , ini File , jpg File... Искал в QFileSystemModel там перевёл только колонки,а эти вещи где ? Случаем это не из винды инфа берётся ? Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: lit-uriy от Март 03, 2009, 18:41 2 faithman, запусти поиск в Лингвисте, если нету, то может из ОСьки, а может надоступно для перевода.
Название: Re: Подскажите с локализацией строк самой библиотеки Qt Отправлено: faithman от Март 03, 2009, 20:45 2 faithman, запусти поиск в Лингвисте, если нету, то может из ОСьки, а может надоступно для перевода. Нашёл методом тыка: Это QFileDialog.Надо было только глянуть в Assistant и почитать. |