Здравствуйте.
В программе работаю с классом, унаследованным от класса QColorDialog. Все надписи там, разумеется, на английском. Решил перевести. Для этого пошел по пути, описанному в книге Шлее. Пример я посмотрел, но возник вопрос.
Если, допустим, вся программа содержится в одном файле main.cpp и в нем все отображаемые строки заключены в tr(), то все вроде ясно, при вызове
lupdate main.cpp -ts main_ru.ts
создасться файл main_ru.ts, который и нужно править. Но как поступать, если в своей программе я создаю объект класса QColorDialog, а все строки для перевода заключены в исходном файле, который находится далеко не в папке проекта?
Я пробовал создать файл перевода из самого qcolordialog.cpp и поместить в папку с проектом, но при вызове
выводится текст ошибки о некорректных данных. Как я понял в файле перевода текст по строкам идентифицируется, а при подключении к моей проге таких строк нет и в помине. В общем я не понимаю, каким образом можно создать файл перевода для подключаемого файла с исходным текстом.
Например, программа:
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QColorDialog pCD;
pCD.show();
return a.exec();
}
при вызове:
lupdate main.cpp -ts main_ru.ts
создается файл со следующим содержимым:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0">
</TS>
Т.е. текста типа Red, Green, Blue, Hue, Alpha Chanel и т.д. нет.
Подскажите пожалуйста, каким образом можно осуществить перевод этого диалога (понимаю, что аналогично для всех). Заранее благодарен.