Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Pixel от Сентябрь 17, 2012, 22:50



Название: Перевод программы
Отправлено: Pixel от Сентябрь 17, 2012, 22:50
хочу перевести приложение на русский. Прочитал много статей с примерами (вот к примеру хорошая тема http://how2.org.ua/art/105) и никак не могу понять что значит эта строка: "Теперь нам необходимо сгенерировать эти файлы. Это делается при помощи утилиты lupdate. Выполните в каталоге проекта такую команду: lupdate project.pro". Что такое lupdate? Как это выполнить команду в каталоге проекта? Я нашел несколько экземпляров приложений "lupdate.exe" в папке QtSDK, но их запуск ни к чему не приводит.


Название: Re: Перевод программы
Отправлено: Bepec от Сентябрь 17, 2012, 22:55
Если у тебя винда, то идёшь в папку со своим проектом(*.pro там должен быть). После чего вводишь в командную строку (в тотал коммандере внизу, или же cmd в Пуск->Выполнить) и пишешь там lupdate. И он тебе сгенерирует файлы.


Название: Re: Перевод программы
Отправлено: V1KT0P от Сентябрь 17, 2012, 22:59
хочу перевести приложение на русский. Прочитал много статей с примерами (вот к примеру хорошая тема http://how2.org.ua/art/105) и никак не могу понять что значит эта строка: "Теперь нам необходимо сгенерировать эти файлы. Это делается при помощи утилиты lupdate. Выполните в каталоге проекта такую команду: lupdate project.pro". Что такое lupdate? Как это выполнить команду в каталоге проекта? Я нашел несколько экземпляров приложений "lupdate.exe" в папке QtSDK, но их запуск ни к чему не приводит.
Прочитай документацию: http://doc.qt.nokia.com/4.7-snapshot/linguist-manager.html (http://doc.qt.nokia.com/4.7-snapshot/linguist-manager.html). Там описано что и как делать.
Я например запускаю обе программы из Qt Creator-а: Инструменты -> Внешние -> Linguist


Название: Re: Перевод программы
Отправлено: Pixel от Сентябрь 17, 2012, 23:04
lupdate в консоли: "не является командой"
через qt creator ни lupdate ни lrelease результата не дают
p.s. в файле проекта прописано: "TRANSLATIONS += ru.ts"


Название: Re: Перевод программы
Отправлено: V1KT0P от Сентябрь 17, 2012, 23:09
lupdate в консоли: "не является командой"
через qt creator ни lupdate ни lrelease результата не дают
p.s. в файле проекта прописано: "TRANSLATIONS += ru.ts"
А что в "Основные сообщения" пишет? Там должно быть что-то типа такого:
Цитировать
Запускается внешняя утилита 'F:/Projects/QtSDK/Qt480/bin/lupdate.exe
Дальше путь к проекту, файлам проекта и результат: сколько найдено, сколько добавлено и т.д.


Название: Re: Перевод программы
Отправлено: Pixel от Сентябрь 17, 2012, 23:14
Запускается внешняя утилита 'D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/bin/lrelease.exe' "C:/Documents and Settings/Pixe/project/project.pro"
«D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/bin/lrelease.exe» завершилась
Запускается внешняя утилита 'D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/bin/lupdate.exe' "C:/Documents and Settings/Pixe/project/project.pro"
«D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/bin/lupdate.exe» завершилась


Название: Re: Перевод программы
Отправлено: V1KT0P от Сентябрь 17, 2012, 23:24
Запускается внешняя утилита 'D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/bin/lrelease.exe' "C:/Documents and Settings/Pixe/project/project.pro"
«D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/bin/lrelease.exe» завершилась
Запускается внешняя утилита 'D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/bin/lupdate.exe' "C:/Documents and Settings/Pixe/project/project.pro"
«D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/bin/lupdate.exe» завершилась
Как минимум он должен написать такой текст:
Цитировать
Updating 'translate_ru.ts'...
    Found 0 source text(s) (0 new and 0 already existing)
Попробуй запустить "D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/bin/lupdate.exe" вручную, может библиотеку какую ему надо, а у тебя просто путь к либам не прописан.


Название: Re: Перевод программы
Отправлено: Pixel от Сентябрь 17, 2012, 23:31
http://screenshot.su/show.php?img=314b3f4a6e7be48ce0f86b41257e02a7.jpg
запуск вручную: "приложению не удалось запуститься, по скольку libgcc_s_dw2-1.dll не был найден". Где можно его достать?


Название: Re: Перевод программы
Отправлено: V1KT0P от Сентябрь 17, 2012, 23:38
http://screenshot.su/show.php?img=314b3f4a6e7be48ce0f86b41257e02a7.jpg
запуск вручную: "приложению не удалось запуститься, по скольку libgcc_s_dw2-1.dll не был найден". Где можно его достать?
Поищи поиском по папке "D:/Programs/QtSDK". Эта библиотека из состава MinGW, ты когда его устанавливал должен был добавить в PATH путь к папкам bin MinGW и Qt.


Название: Re: Перевод программы
Отправлено: Pixel от Сентябрь 17, 2012, 23:45
нашел такой файл и еще пару штук, которые потребовала консоль, кинул к не в папку, заработало. из под qt creator создался файлик ts. Спасибо) пойду разбираться дальше что делать


Название: Re: Перевод программы
Отправлено: Pixel от Сентябрь 17, 2012, 23:54
Еще одна проблема.
Код
C++ (Qt)
#include <QtGui>
#include <QtCore>
 
int main(int argc, char *argv[])
{
  QApplication app(argc, argv);
 
  QLabel label(app.translate("Hello, World!"));
  label.show();
 
  return app.exec();
}

вывод:
Запускается внешняя утилита 'D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/bin/lupdate.exe' "C:/Documents and Settings/Pixe/project/project.pro"
D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtCore/qbytearray.h:618: circular inclusion of D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtCore/qstring.h
D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtCore/qstringbuilder.h:45: circular inclusion of D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtCore/qstring.h

D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtGui/qwmatrix.h:45: circular inclusion of D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtGui/qmatrix.h

D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtGui/qactiongroup.h:45: circular inclusion of D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtGui/qaction.h

D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtGui/qlayout.h:236: circular inclusion of D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtGui/qboxlayout.h
D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtGui/qgridlayout.h:45: circular inclusion of D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/include/QtGui/qlayout.h

Updating 'ru.ts'...
    Found 0 source text(s) (0 new and 0 already existing)

«D:/Programs/QtSDK/Desktop/Qt/4.8.1/mingw/bin/lupdate.exe» завершилась

Linguist не открывает файл, так как он пустой


Название: Re: Перевод программы
Отправлено: V1KT0P от Сентябрь 18, 2012, 00:02
Еще одна проблема.
Ты пробовал скомпилить то что написал?
Замени на:
Код
C++ (Qt)
QLabel label(QObject::tr("Hello, World!"));
И настоятельно советую прочитать Qt документацию.


Название: Re: Перевод программы
Отправлено: lighting от Сентябрь 18, 2012, 10:32
я-бы еще посоветовал установить Qt на диск С, когда у меня он был установлен на диск D по непонятной причине не запускался симулятор, после переустановки на C все само собой пролечилось.


Название: Перевод программы горячих клавиш
Отправлено: malor от Октябрь 26, 2013, 11:38
Хочу перевести приложение на русский. Прочитал много статей с примерами (вот к примеру хорошая тема http://how2.org.ua/art/105)

Там статья "Глобальные горячие клавиши в Qt при помощи Qxt". Так это ж не про локализацию?