Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Переводы _ Qt Assistant и переводы

Автор: Litkevich Yuriy 11.1.2008, 18:32

А кто нибудь пробывал в Assistant засовывать переводы?
Я попробывал у себя пару строчек перевести, получил в Assistant'е билебирду, кодировки перепробывал разные, и в настройках Assistant'а выставлял кирилицу, последнее почему-то влияет только на ширину шрифта и только, все тщетно :angry:

Автор: ViGOur 11.1.2008, 18:58

У меня все нормально, ты случаем не в FAR'e пишешь?
Просто в нем нужно переключаться на кодировку Windows, так как по умолчанию у него стоит DOS.
Если в DreamWeaver'e, то там тоже какая-то по умолчанию кодировка стоит, в которой открываются документы с неуказанной кодировкой...
:)

Автор: Litkevich Yuriy 11.1.2008, 19:26

в SciTE (локальная либо UTF-8 ) или FOXe(все или почти все кодировки)
я с кирилицей все перепробывал, (Windows, KOI-8R, ISO,DOS,Mac :rolleyes: ну и UTF-8 )
разумеется и соответствующие тэги где кодировка указана подправлял, в SciTE, а FOXe сам при смене кодировки корректно правит.

Автор: balbes 11.1.2008, 19:40

Поставь кодировку Windows-1251, или вообще в блокноте правь... :)

Автор: Litkevich Yuriy 11.1.2008, 19:57

у меня шапка у всех файлов *.html такая:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!-- /tmp/qt-4.3.2-qt-1191242837684/qt-win-opensource-src-4.3.2/doc/src/examples/tutorial.qdoc -->
<head>
  <title>Qt 4.3: Qt Tutorial 8 - Preparing for Battle</title>
  <link rel="prev" href="tutorial-t7.html" />
  <link rel="contents" href="tutorial.html" />
  <link rel="next" href="tutorial-t9.html" />
  <link href="classic.css" rel="stylesheet" type="text/css" />
</head>


я раньше не видел чтобы html'ные файлы с тэга xml начинались <_<

в кодировке CP-1251 пробывал (Сyrillic-Windows), не помогает

Автор: ViGOur 11.1.2008, 20:06

Не, ты не понял, нужно просто писать в ASCII русскими буквами и все, а авто определение все само разрулит, в зависимости от ОС и ее языка...

Автор: nick shaforostoff 12.1.2008, 18:03

вы чё, издеваетесь?

надо только в utf-8 писать

Автор: Litkevich Yuriy 13.1.2008, 11:35

в ASCII я тоже писал, не катит,
и здесь

<?xml version="1.0" encoding="iso-8859-1"?>

хоть указывать кодировку хоть нет
и с языком пытался играться
xml:lang="en" lang="en"


а nick shaforostoff кстати прав я думаю, т.к. формат DTD XHTML 1.0 Strict подразумевает UTF-8
может троли для этого и приделали строчку
<?xml version="1.0" encoding="iso-8859-1"?>


А вот в любом браузере уменя все путем отображается только в Qt Assistant'е нет :angry:

Автор: ViGOur 13.1.2008, 11:47

Будет врямя тоже попробую поиграться с этим, чтобы когда выложим переведенный мануал небыло проблем с его засовыванием в Assistant...

Автор: AlexzAK 23.3.2008, 16:39

Цитата(ViGOur @ 13.1.2008, 11:47) *
Будет врямя тоже попробую поиграться с этим, чтобы когда выложим переведенный мануал небыло проблем с его засовыванием в Assistant...


Столкнулся с похожей проблемой...
Мучался с assistant'ом 3 часа :(

вот такой документ у меня отображаеться корректно:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<h1> rus(русский) </h1>
<p>А кто нибудь пробывал в Assistant засовывать переводы?</p>
</body>
</html>

Автор: Litkevich Yuriy 23.3.2008, 18:55

ну текущий http://crossplatform.ru/documentation/qtdoc4.3/_download.php катит, но мне не нравится то, что кодировка там Win1251, не универсальная

Автор: Admin 23.3.2008, 19:35

Цитата(Litkevich Yuriy @ 23.3.2008, 19:55) *
ну текущий http://crossplatform.ru/documentation/qtdoc4.3/_download.php катит, но мне не нравится то, что кодировка там Win1251, не универсальная
Ок, попробуем перекодировать в UTF-8, постараюсь завтра конвертер своять, но не обещаю...

Автор: Litkevich Yuriy 24.3.2008, 5:05

UTF-8 спасет от такого http://trac2.assembla.com/qtrtt/changeset/17, так что если зделаешь, я то точно буду рад

Автор: ViGOur 28.3.2008, 14:34

Как я понимаю нужно поменять не только кодировку во всех файлах, но и:

Цитата
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

на
Цитата
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Иначе будет не читабельно и по умолчанию будет считаться как iso-8859-1. :(

Автор: ViGOur 28.3.2008, 15:02

Выложил, оценивайте, критика приветствуется. :)

Автор: Litkevich Yuriy 28.3.2008, 18:27

ну на первый взгляд все путем, и в Opera и в QAssistant.
---
спасибо!

Автор: Litkevich Yuriy 28.3.2008, 19:38

пока не рискую заливать файлы в UTF-8 в репозитарий, надо подумать как это делать, а то опять 40 МиБ гонять.
Я думаю надо так поступить, файл который человек только собрался переводить, закидывает в рабочую копию в формате UTF-8 переводит, фиксирует правку и в репозитрии уже будет в UTF-8, так почуть чуть и переведем репозитарий на UTF-8.

Автор: ViGOur 28.3.2008, 19:49

Думаю не стоит, так как можем сами забыть или новички, и может возникнуть путаница. Да и прийдется все время держать в голове, что нужно делать. А так один раз заменил, народу мало, все обновили и все в порядке ни о чем голова не болит. :)

Автор: shadone 28.3.2008, 19:54

обнаружил ваш форум и ваш проект перевода документации по Qt. Так держать! думаю многим ваш перевод пригодится (мне самому удобнее читать в оригинале).

Но вот только какой смысл переводить сгенерированные html-страницы вместо исходника документации? основной источник документации это http://labs.trolltech.com/gitweb?p=qt-snapshot;a=tree;f=doc/src;h=810d547d7a9dd66836b1d9c5b27c498ca4370f50;hb=7f67742eb60a905a9262e98ae288126c2001f5b4-файлы и собственно исходные тексты. В этом случае работа по переводу чуть усложняется (нужно изменять исходники с документацией) но при этом будет возможность сгенерировать документацию для нового assistant из qt-4.4 (который более удобен, более быстр и т.п.)

вероятно часто задаваемый вопрос - а каким образом вы планируете поддерживать актуальность документации при выходе новых версий?
не знаю насколько вам это поможет - но на http://labs.trolltech.com/gitweb имеется git-репозиторий для snapshots и если сделать рабочую копию с помощью git'а то можно увидеть разницу в документации между конкретными версиями qt.

Немного не по теме. Litkevich Yuriy - на мой взгляд со стороны намного лучше сконвертировать в utf-8 сразу весь репозиторий - с точки зрения просмотра истории репозитория в будущем это удобнее чем постепенный переход когда каждые файлы конвертировались в разное время.

Автор: Litkevich Yuriy 28.3.2008, 19:58

все начиналось, банально, с перевода html'ов для себя, а синхронизация это в данный момент обсуждаемая тема, и про исходники в курсе.
---
не имея qdoc мы html'ную документацию не получим, к сожалению.
Надо у тролей его просить, я так понял, что это исключительно внутренний инструмент, из которого его первоначальный автор сделал doxygen.

Автор: ViGOur 28.3.2008, 20:00

Я пока работаю над алгоритмом адаптации файлов, qdoc файлы видел.
Но пока все на стадии изучения и раздумий, как будет поддерживаться актуальность, то что она буде поддерживаться это без сомнений. :)

Автор: shadone 28.3.2008, 20:09

в таком случае - удачи! будет интересно услышать о результате раздумий т.к. мне сходу ничего приемлимого в голову не приходит.

Автор: ViGOur 28.3.2008, 20:15

Спасибо. :)
Как только все переварю думаю можно будет не только услышать, но и увидеть результаты. :)

Автор: ViGOur 28.3.2008, 20:19

Цитата(Litkevich Yuriy @ 28.3.2008, 19:58) *
не имея qdoc мы html'ную документацию не получим, к сожалению.
Надо у тролей его просить, я так понял, что это исключительно внутренний инструмент, из которого его первоначальный автор сделал doxygen.
Не понял, почему не получим html документацию?

Автор: Litkevich Yuriy 28.3.2008, 20:21

она создана спомощью qdoc это ПАПА doxygen, последний не поддерживает таблицы и списки в формате qdoc,
он попросту вываливает сообщение о неизвестном ключе

Автор: Litkevich Yuriy 28.3.2008, 20:22

все собираюсь тролям написать да времени не найду, может они нам его дадут

Автор: ViGOur 28.3.2008, 20:23

Попробую в ближайшее время углубится в это дело и скажу что да как можно сделать. Скорее всего скажу. :)

Автор: shadone 28.3.2008, 20:55

а собственно некуда углубляться - достаточно посмотреть на qt-4.4 который содержит http://labs.trolltech.com/gitweb?p=qt-snapshot;a=tree;f=tools/qdoc3;h=715d508b2cec9f6898e592382ec43f04fa025776;hb=7f67742eb60a905a9262e98ae288126c2001f5b4

Автор: ViGOur 28.3.2008, 21:07

а собственно некуда углубляться - достаточно посмотреть на qt-4.4 который содержит qdoc3

Спасибо, именно этого и не хватало. :)

Углубляться я хотел в qt4.4 так как там вроде другой формат документации стал, но QAssistant его вроде понимает, ладно проехали. :)

Автор: ViGOur 28.3.2008, 23:55

Litkevich Yuriy, посмотрел я снепшеты Qt 4.4 и Qt 4.5, в %qtdir%/tools есть и doxygen и qdoc3, которые по всей видимости подходят как раз под наши нужды.
Теперь буду думать как все это богатство, возможно еще какое, если откопаю, применять в переводе - адаптации документации.

p.s. что значит времени небыло для того, чтобы рассмотреть Qt 4.4... :)

Автор: Litkevich Yuriy 29.3.2008, 4:32

shadone, коль уж ты в курсе, подскажи, qdoc3 подойдет для документации Qt 4.3.2?
и еще вопрос для чего в html'ную шапку вставляют такую строку:

Цитата
<?xml version="1.0" encoding="iso-8859-1"?>

Автор: shadone 29.3.2008, 10:46

qdoc должен работать с любой версией qt, насколько я знаю обратно-несовместимых изменений в нем не было.

подозреваю что строчку вставляют для соответствия спецификации xhtml (как и вставка doctype). а косяк в том что кодировка и язык документа захардкодены в исходниках и изменение этого вряд ли уже попадет в 4.4.0

Автор: Litkevich Yuriy 29.3.2008, 10:49

еще вопрос: есть ли бинарный дистриб Git'а под виндовоз, и GUI к нему?
и что за утила такая tmake? это прородитель qmake?

Автор: Novak 29.3.2008, 11:04

Цитата(shadone @ 29.3.2008, 10:46) *
подозреваю что строчку вставляют для соответствия спецификации xhtml (как и вставка doctype). а косяк в том что кодировка и язык документа захардкодены в исходниках и изменение этого вряд ли уже попадет в 4.4.0

Я бы даже сказал, что эту строчку вставляют в соответствии со спецификацией xml :rolleyes:

Автор: Litkevich Yuriy 29.3.2008, 11:46

нашел косяк, кодировка в области результатов поиска нерапознается, чтоли, даже не пойму:
http://lit-uriy.narod.ru/temp/UTF-8_bug.png

файл: io.html

Автор: Litkevich Yuriy 29.3.2008, 15:53

у меня получилось документацию собрать с помощью qdoc3
B) :p

см. http://lit-uriy.narod.ru/qdoc/html/index.html
---
P.S. правда не все, т.к. собирал изолированно от Qt'явого каталога.
Надо поправить в .qdocconf-файлах пути, чтобы можно было пользоваться изолированным каталогом с исходной документацией.

Автор: shadone 29.3.2008, 17:42

Цитата(Litkevich Yuriy @ 29.3.2008, 9:46) *
нашел косяк, кодировка в области результатов поиска нерапознается, чтоли, даже не пойму:
http://lit-uriy.narod.ru/temp/UTF-8_bug.png

файл: io.html

вообще говоря странно. в настройках указан шрифт с поддержкой кириллицы? вообще стандартный совет в даном случае - описать как воспроизвести баг и отправить его в http://trolltech.com/developer/bugreport-form

Автор: Litkevich Yuriy 29.3.2008, 17:57

У меня есть вполне определенное непонимание как должен выглядеть html-файл, для QAssistant, например файл содержащий только одну строку:
"Привет это класс!"
можешь написать?

---
Отлично отображалось следующее:

Цитата
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Qt 4.3: Модуль QtSql</title>
<link href="classic.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>

я непонимаю каким стандартом соответствует это дело.
когда для него указаны две кодировки

Автор: ViGOur 29.3.2008, 19:14

В том архиве что я дал, уже указано UTF-8, а не windows-1251.
А:

Цитата
<?xml version="1.0" encoding="iso-8859-1"?>
как правильно сказал shadone, это дань xhtml, который QAssistant явно не поддерживает и не уверен, что будет в ближайшее время. Так как он вроде работает в UTF-8. :)

Автор: Litkevich Yuriy 29.3.2008, 19:33

ViGOur,косячек http://lit-uriy.narod.ru/qdoc/html/index.html?

Автор: ViGOur 29.3.2008, 20:25

Если ты насчет нижнего:

Цитата
Copyright © $THISYEAR$
<!-- '>
может ты чего не правильно делаешь?
или забыл указать?

Автор: shadone 29.3.2008, 21:53

Цитата(Litkevich Yuriy @ 29.3.2008, 15:57) *
У меня есть вполне определенное непонимание как должен выглядеть html-файл, для QAssistant, например файл содержащий только одну строку:
"Привет это класс!"
можешь написать?


по идее вы просто должны заменить xml encoding и поле lang в документах, не добавляя content-type. xml:lang менять не обязательно т.к. этот namespace в документе не используется. это мое мнения, могу ошибаться т.к. с html/xhtml не знаком.

Цитата
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>Qt 4.3: Модуль QtSql</title>
<link href="classic.css" rel="stylesheet" type="text/css" />
</head>



кстати одно из нововведений в qt-4.4 это опциональная возможность сборки assistant на движке webkit вместо qtextbrowser. (к вопросу корректной поддержки xhtml в assistant)

Автор: Litkevich Yuriy 30.3.2008, 6:57

ViGOur, пардон я не ту ссылку дал, вот http://lit-uriy.narod.ru/temp/UTF-8_bug.png, это сейчас с кодировкой UTF-8

Автор: Litkevich Yuriy 30.3.2008, 13:25

Перевожу qdoc3, и вроде получается, добился такой шапки:

Цитата
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!-- H:/folder_temp/TestQt440/qt/doc/src/3rdparty.qdoc -->
<head>
<title>Qt 4.4: Third-Party Licenses Used in Qt</title>
<link href="classic.css" rel="stylesheet" type="text/css" />
</head>

перевожу с использованием кодировки UTF-8, в браузере все корректно.

с QAssistant'ом бы кто-нибудь разобрался вместо меня, а то я совсем пас.

Автор: Litkevich Yuriy 30.3.2008, 15:53

ну кудесники блин, эти троли!
То? что функцию tr() неиспользовали это еще пол беды, я в main сунул такое (ставшее для меня привычным):

QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); // Для функций перевода tr()

перевожу спокойно, скомпилил qdoc3, собрал документацию:
БАХ, абракадабра, чуть неспятил пока выяснял в чем дело.
Оказалось просто, в файле tr.h такие строчки:
inline QString tr( const char *sourceText, const char * /* comment */ = 0 )
{
    return QString( QLatin1String(sourceText) );
}

Автор: Litkevich Yuriy 30.3.2008, 15:56

сделал так:

inline QString tr( const char *sourceText, const char * /* comment */ = 0 )
{
    return QString( QString::fromUtf8(sourceText) );
}

пока касяков не нашел вроде все путем собирается, но проверял только в браузере

Автор: ViGOur 30.3.2008, 15:57

Цитата(Litkevich Yuriy @ 30.3.2008, 14:25) *
с QAssistant'ом бы кто-нибудь разобрался вместо меня, а то я совсем пас.
Завтра посмотрю что к чему там.
Кстати, это у тебя под виндой такое дело или нет?

Автор: Litkevich Yuriy 30.3.2008, 16:06

да под виндой, до линя руки не доходят

Автор: shadone 1.4.2008, 12:55

Цитата(Litkevich Yuriy @ 30.3.2008, 15:56) *
сделал так:
inline QString tr( const char *sourceText, const char * /* comment */ = 0 )
{
    return QString( QString::fromUtf8(sourceText) );
}

пока касяков не нашел вроде все путем собирается, но проверял только в браузере

попробовал добавить в qdoc3 опции командной строки для указания кодировки и языка, а также вышенаписанные изменения - в assistant все равно кириллица не отображается. и похоже проблема в том qt внутри использует не utf-8 а utf-16, но при этом входные файлы (*.qdoc) в utf-16 не поддерживаются. в общем буду дальше работать над этим.

Автор: Litkevich Yuriy 1.4.2008, 13:04

я пока споткнулся только в одном месте, файл javadocgenerator.cpp, там кирилица портится, видимо в этом виноват класс Text, в нутри него много Latin1, в остальном вся документация собирается без проблем, но до выходных нет времени изучать проблемы, на работе завал организовался.
собственно внем обрабатывается ключ \sa, из которого генерится строчка See also, вот она идет абракадаброй, остальное нормально.

Автор: shadone 1.4.2008, 13:23

Цитата(Litkevich Yuriy @ 1.4.2008, 12:04) *
я пока споткнулся только в одном месте, файл javadocgenerator.cpp, там кирилица портится, видимо в этом виноват класс Text, в нутри него много Latin1, в остальном вся документация собирается без проблем, но до выходных нет времени изучать проблемы, на работе завал организовался.
собственно внем обрабатывается ключ \sa, из которого генерится строчка See also, вот она идет абракадаброй, остальное нормально.

а в assistant отображается кириллица? я пытаюсь разбираться с проблемой отображения кириллицы в assistant (и в qtextedit вообще), т.к. в сгенерированные html-страницы отображаются в firefox без проблем, но не при открытии их в qtextedit.

Автор: Litkevich Yuriy 1.4.2008, 13:55

нет сейчас ересь, но я в выходные эксперементировал и вот что получил:
файл http://lit-uriy.narod.ru/temp/qtsql-1.html, в браузере корректно отображается только если принудительно в браузере поставишь UTF-8, а в Асистенте вот так: http://lit-uriy.narod.ru/temp/Assistant-1.png
--
обрати внимание, UTF-8 c заголовком, если без заголовка то в Асистенте ересь, но в браузере путем! (т.е. определяется автоматически)

Автор: shadone 1.4.2008, 14:49

Цитата(Litkevich Yuriy @ 1.4.2008, 12:55) *
нет сейчас ересь, но я в выходные эксперементировал и вот что получил:
файл http://lit-uriy.narod.ru/temp/qtsql-1.html, в браузере корректно отображается только если принудительно в браузере поставишь UTF-8, а в Асистенте вот так: http://lit-uriy.narod.ru/temp/Assistant-1.png
--
обрати внимание, UTF-8 c заголовком, если без заголовка то в Асистенте ересь, но в браузере путем! (т.е. определяется автоматически)

это проблемы narod.ru - он отдает content-type charset=windows-1251

Цитата
$ telnet lit-uriy.narod.ru 80
Trying 213.180.199.15...
Connected to lit-uriy.narod.ru.
Escape character is '^]'.
GET /temp/qtsql-1.html HTTP/1.1
Host: lit-uriy.narod.ru.

HTTP/1.1 200 OK
Date: Tue, 01 Apr 2008 11:47:04 GMT
Server: ZX_Spectrum/1997 (Sinclair_BASIC)
Set-Cookie: nuid=1161069661207050424; path=/; expires=Fri, 30-Mar-18 11:47:04 GMT; domain=.narod.ru
Last-Modified: Tue, 01 Apr 2008 10:49:08 GMT
ETag: "4c43a3-11e-47f21324"
Content-Length: 737
Connection: close
Content-Type: text/html; charset=windows-1251

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>Привет это Класс</title>
</head>
<body>
<p>Привет это Класс</p>
</body>
</html>
<!-- ><!-- "><!-- '><!-- --></textarea></form>
</title></comment></a>
</div></span></ilayer></layer></iframe></noframes></style></noscript></table></script></applet></font>
<style>
#bn {display:block;}
#bt {display:block;}
</style>
<div style="background:url(http://www.tns-counter.ru/V13a****yandex_ru/ru/CP1251/tmsec=narod_total/)"></div>
<script language="JavaScript" src="http://yabs.yandex.ru/show/163"></script>
<!-- mailto:spm111@yandex.ru -->
Connection closed by foreign host.


а с отображением в индексе Assistant-а надо разбираться...

Автор: Litkevich Yuriy 1.4.2008, 17:18

я на локальной машине проверял, а по поводу народа даже непосмотрел, он там банеры вставляет и может еще чего
тестовое содержимое реально было такое:

Цитата
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>Привет это Класс</title>
</head>
<body>
<p>Привет это Класс</p>
</body>
</html>

т.е. кодировку не указывал опираясь на эту http://ru.wikipedia.org/wiki/XHTML#.D0.A0.D0.B0.D0.B7.D0.BB.D0.B8.D1.87.D0.B8.D1.8F_.D0.BC.D0.B5.D0.B6.D0.B4.D1.83_XHTML_.D0.B8_HTML, там есть такие строчки:
Цитата
Кодировкой по умолчанию является UTF-8 (в отличие от HTML, где кодировкой по умолчанию является ISO 8859-1).

Автор: Litkevich Yuriy 2.4.2008, 16:09

попробывал в линуксе, но старый http://lit-uriy.narod.ru/temp/assistant-3.3.8-1.png, корректно отбражается и заголовок окна и браузер и результат поиска, пробывал файл sql.html, я его http://lit-uriy.narod.ru/temp/assistant-3.3.8-1.html.tar.gz.

А вот Qt Assistant 4.4.0-snapshot-20080212, под словом работает следут только одно понимать запускается, показывает страницу как им пользоваться и все, при попытке поиска хоть чего нибудь либо ничего ненаходит либо падает, из командной строки пытался подсунуть ему html'ник, говорит нет такого, хотя путь полный писал.

openSUSE 10.2 qt4 последние доступные из репозитария openSUSE, на них работает QMMP, на предыдущей версии Qt 4.3.4, он глючил, диалог выбора файлов не работал.

Автор: Анна 23.5.2008, 11:09

КАК ДОБАВИТЬ В АССИСТЕНТ РУССИФИЦИРОВАННУЮ ДОКУМЕНТАЦИЮ, НЕ УБИВАЯ АНГЛИЙСКУЮ ВЕРСИЮ

1. В каталоге doc создаем каталог html_ru и копируем туда переведенные файлы.

2. Из каталога html в html_ru копируем каталог с рисунками и .dcf файлы.

3. В каталоге html_ru переименовываем .dcf файлы. Например, qt.dcf в qt_ru.dcf. Соответственно переименовываем другие файлы.

4. В файле qt_ru.dcf dво 2й строке <DCF ref="index.html" icon="qt.png" imagedir="../../gif" title="Qt Reference Documentation"> заменяем "Qt Reference Documentation" на "Qt Документация". Это название оторазится во вкладке Contents. Использовалась кодировка UTF-8. Делаем соответствующие изменения в других .dcf файлах.

5. Ваходясь в каталоге html_ru вызываем >assistant -addContentFile qt_ru.dcf. Аналогично для других файлов.

6. Запускаем ассистента и слева в оглавлении видим ссылку на переведенную документацию.

7. Удалить ветку с документацией можно вызовом >assistant -removeContentFile qt_ru.dcf.
Кому интересно, читаем "Qt Assistant Manual" раздел "Customizing Qt Assistant".

Автор: Litkevich Yuriy 23.5.2008, 11:28

уменя была мысль перевести перевести dcf-файлы
Т.е. такие строки:

<section ref="qmake-using.html" title="Using qmake">
    <keyword ref="qmake-using.html">Using qmake</keyword>
</section>

на такие:
<section ref="qmake-using.html" title="Использование qmake">
    <keyword ref="qmake-using.html">Использование qmake</keyword>
</section>

но вот с тэгом keyword ref не прокатит если файл qmake-using.html не переведен

Автор: Анна 23.5.2008, 12:16

Обнаружила, что при поиске в списке вкладки "Search" отображается тарабарщина.

А можно оставлять еще и английские названия статей? А то возникло сомнение в соответствии перевода оригиналу, а статью на английском пришлось очень долго искать. (Конечно, хорошо бы иметь ссылку на английскую статью, но это, наверное, пока из области фантастики. Хотя надо подумать...)

в статье "XML классы" слово parsed (QDomText) переведено как "парсируемый", может, лучше заменить на "анализируемый".

Автор: Litkevich Yuriy 23.5.2008, 12:23

Цитата(Анна @ 23.5.2008, 16:16) *
Обнаружила, что при поиске в списке вкладки "Search" отображается тарабарщина

Значит я не одинок!
Какая ось? Какая версия Qt?

Автор: Анна 23.5.2008, 12:27

Цитата
Какая ось? Какая версия Qt?

Винда. QT 4.3.1

Автор: Litkevich Yuriy 23.5.2008, 12:29

Цитата(Анна @ 23.5.2008, 16:16) *
в статье "XML классы" слово parsed (QDomText) переведено как "парсируемый", может, лучше заменить на "анализируемый"

надо найти по этой статье тему в форуме "Переводы" и сделать соответствующее замечание, так будет удобнее их (замечания) отслеживать,
для у прощения поиска можно посмотреть http://crossplatform.ru/documentation/qtdoc4.3/index.php, найти статью и посмотреть ссылку в низу на обсуждение, если его еще нет, то создать по названию статьи.

поиск дал такой результат http://www.forum.crossplatform.ru/index.php?showtopic=275

Цитата(Анна @ 23.5.2008, 16:27) *
Винда

а какая? (версия и сервиспак)

Автор: Анна 23.5.2008, 12:33

Windows 2000 (5.00.2195 - хз что такое, но н а всякий случай...)
Service Pack 4

Автор: Litkevich Yuriy 23.5.2008, 12:41

ViGOur, сегодня попробывал утащить твой Асистент на чужую машину с ВинХП, создал каталоги как у тебя, эфект такой же как и на моем Вин2к.
Вот и у Анны тоже косяк с кирилицей, хоть в исходник Асистента лезь :(


Интересно, shadone, что-нибудь нашел по этому вопросу?

Автор: Анна 23.5.2008, 13:03

если UTF заменить в верхней строке и в <head> на windows-1251 (ну и текст, соответственно ввести в этой кодировке), то все нормально.
Ведь указания в html файле относятся только к отображению текста, а строки в списках и на вкладках используют системную локаль, а там наверняка стоит windows-1251

в исходнике ассистента main.cpp строка 378 устанавливает QLocale::system().name() , думаю, отсюда ноги растут.

Автор: Litkevich Yuriy 23.5.2008, 13:21

Цитата(Анна @ 23.5.2008, 17:03) *
если UTF заменить в верхней строке и в <head> на windows-1251

это-то известно, раньше и было виндовозной кодировке, но почему, например, у ViGOur'а, все корректно отображается?

Автор: ViGOur 23.5.2008, 13:30

Поставил 4.4.0 перестало корректно отображаться! Правда не пойму почему, вроде они не должны быть связаны. :)

Автор: Litkevich Yuriy 23.5.2008, 13:34

т.е. в старом Асистенте перестало? или в новом?

Автор: ViGOur 23.5.2008, 13:55

В старом, в новом пока на англицком ;)

Автор: Litkevich Yuriy 23.5.2008, 14:37

Цитата(Анна @ 23.5.2008, 17:03) *
в исходнике ассистента main.cpp строка 378 устанавливает QLocale::system().name() , думаю, отсюда ноги растут

если ты про ети строчки:
    QTranslator translator( 0 );
    translator.load( QLatin1String("assistant_") + QLocale::system().name(), resourceDir );
    a.installTranslator( &translator );

    QTranslator qtTranslator( 0 );
    qtTranslator.load( QLatin1String("qt_") + QLocale::system().name(), resourceDir );
    a.installTranslator( &qtTranslator );

то это только для установки переводов самого Асистента, и сообщений Qt (см. http://www.forum.crossplatform.ru/index.php?showtopic=688)

эта строка вернет "ru"

в файле index.cpp (Асистента) есть функция QString Index::getCharsetForDocument(QFile *file)
которая пытается узнать в какой кодировке htnl'ник по тегу <meta ... charset=(..
Если кодировка не задана устанавливает utf-8!

Т.е. документация в utf-8 это должно быть нормально!
Поковыряю еще, может что найду

---
за доставку данных в "результат поиска" отвечает fullTextIndex (в helpDialog.cpp)
создается он там так:
 fullTextIndex = new Index(QStringList(), QDir::homePath()); // ### Is this correct ?

У же весело :D

Автор: Анна 23.5.2008, 14:39

значит дело в QTextStream, если не ошибаюсь, ассистент через них файлы читает, но этого добра в исходниках полно.

Да, еще в какой-то момент обратила внимание, что в названии вкладки тоже абракадабра появилась, но потом этого воспроизвести не смогла (

Автор: Litkevich Yuriy 24.5.2008, 11:05

ViGOur, ты сможешь, в связи с такой ситуацией, сделать какой-нибудь автоконвертер, который будет из SVN скачивать архив, распаковывать преобразовывать кодировку к windows-1251, и упаковывать назад?
А на сайте дополнительно сделать ссылку на этот преобразованый архив.

Либо как-то иначе поступить.

Автор: ViGOur 24.5.2008, 17:58

Нужно подумать, как и что должно работать и что правильней сделать.
А там уже все сделаю.

Автор: Анна 7.6.2008, 11:03

Кто подскажет, почему перестают работать теги <tt> </tt>?

Автор: ViGOur 7.6.2008, 11:44

Тоесть как перестают работать?

Автор: Анна 7.6.2008, 13:22

названия методов, которые внутри <tt> </tt> в ассистенте перестали работать как ссылки. причем, сперва только в переведенном абзаце, а потом во всем файле. Переводила в Notepad++.

Автор: ViGOur 7.6.2008, 13:26

Может просто нарушила тэги и не более того, попробуй сравнить с оригиналом...

Автор: Анна 7.6.2008, 14:21

Вернула исходный английский файл - ни один тег <tt> в этом файле не работает.... Забавно, да?

Автор: ViGOur 7.6.2008, 14:32

А далжен работать или вернее сказать работал? :)

Автор: Анна 7.6.2008, 15:09

Вот и у меня родились сомнения, "а был ли мальчик"? Вообще-то у них, если в тексте упоминается метод класса, то это как правило ссылка на хелп про этот метод.

Просветите меня, в статье QMainWindow второй абзац после рисунка "A central widget will typically be a standard... You set the central widget with setCentralWidget()." Является ли "setCentralWidget()" ссылкой?

версия QT 4.3.1

Автор: Litkevich Yuriy 7.6.2008, 15:17

тэг <tt></tt> делает текст моноширным и только это не ссылка.
http://www.htmlbook.ru/html/tt.html

Автор: Анна 7.6.2008, 15:31

Ага. Значит, ссылки могло там и не быть... просто у меня в бумажном варианте название метода выделено красным, обычно это соответствует ссылке в электронном виде. А тут сразу несколько несоответствий всплыло, вот я и запаниковала, что тчо-то грохнула.

Хороший справочник, у меня и половины описаний тегов нету, впрочем, как-то и не нужно было. Сыну дам ссылочку. Спасибо.

Автор: Litkevich Yuriy 7.6.2008, 15:36

Сравинтиь с оригиналом можно на сайте тролей:
http://doc.trolltech.com/4.3/index.html, где вместо index.html подставить назвние переводимого файла и посмотреть была ли там ссылка или нет.

Автор: Анна 7.6.2008, 15:40

Всё, я успокоилась. Нет там ссылки. Спасибо еще раз. Мне что-то в голову не пришло оригинал у троллей взять. Впрочем, машина с инетом в другом конце кабинета стоит, не наскачешься туда сюда.

Автор: Litkevich Yuriy 19.6.2008, 10:10

в эту тему лучше писать только то что связано с Асистентом, а общие вопросы в Qt4 RTT (http://www.forum.crossplatform.ru/index.php?showtopic=465&view=findpost&p=5174)

Автор: Анна 20.6.2008, 9:48

А в ассистенте можно как-нибудь узнать имя открытого файла? С классами проблем нет, а вот общие статьи приходится через фар искать.

Автор: ViGOur 20.6.2008, 13:38

Если только на ссылку перехода на нее указатель мыши навести, тогда в строке состояния можно увидеть.

Автор: Анна 20.6.2008, 14:12

у-у-у..., если бы я только помнила, откуда я в это месот попала.... Ладно, придется извращаться с фаром и дальше...

Автор: Litkevich Yuriy 20.6.2008, 20:37

1-ый способ:
в асистенте меню Файл->Сохранить как
Асистент предложет имя текущего файла, сохранять конечно не обязательно

2-ой способ:
найти ссылку на этуже страницу и помотреть в строке статуса адрес, выглядеть будет, например так:
.../model-view-programming.html#parent-of-items
где model-view-programming.html имя файла,
а parent-of-items якорь (ссылка/закладка на этойже странице)

Автор: xintrea 14.1.2009, 15:31

Здравствуйте!


Чего-то попробовал я установить русскоязычную документацию. Не смог. Скачал для версии 4.4.3, стал искать инструкцию, как сие установить. Излазил ваш сайт, инструкции не нашел. В архиве инструкции тоже не обнаружил. Хотя помню, что где-то год назад инструкция висела рядом со скачиваемым архивом. Рекомендую админам срочно повернуться лицом к народу, и сделать все по-человечески.

Стал лазить по форуму, нашел http://www.forum.crossplatform.ru/index.php?showtopic=284&view=findpost&p=4516 с инструкцией. Стал делать по ней. Выяснилось, что ассистент версии 4.4.1 не знает ключа -addContentFile. Раскопки показали, что документация Qt в ветке 4.4 хранит индексные списки в более другом формате, чем ветка 4.3, так что сия инструкция Анны для ассистента ветки 4.4 неподходит.

Цитата
In older versions of Qt, the help system was based on Document Content File (DCF) and Qt Assistant Documentation Profile (ADP) formats. In contrast, Qt Assistant and the help system used in Qt 4.4 use the formats described earlier in this manual.
Unfortunately, the old file formats are not compatible with the new ones. In general, the differences are not that big — in most cases is the old format is just a subset of the new one. One example is the namespace tag in the Qt Help Project format, which was not part of the old format, but plays a vital role in the new one. To help you to move to the new file format, we have created a conversion wizard.
The wizard is started by executing qhelpconverter. It guides you through the conversion of different parts of the file and generates a new qch or qhcp file.


Решил просто заменить английские файлы документации на русские. Заменил... Какая-то мистика происходит, ассистент 4.3 сразу показывал обновленные данные после перезапуска. А ассистент 4.4.1 откуда-то всеравно берет английские файлы... Закешировал он их чтоли? Есть подорение, что новый формат *.qch хранит внутри себя упакованные данные, ибо файл qt.qch у меня размером 31Mb, остальные *.qch маленькие, а каталог с английской документацией, если упаковать в tar.gz, занимает 24 Mb, примерно оно и есть...

В общем товарищи, вы тут занимаетесь большой и важной работой, а как воспользоваться результатом вашей работы - неясно. Пожалусто, расскажыте чоделать.

Автор: molchanoviv 14.1.2009, 15:41

Для примера у меня ассистент берет доки напрямую с сайта троллей. И есстественно английскую версию. Проверь у тебя не такой-же случай?(в openSUSE приоритет имеено у документации с сайта) Проверь в ассистенте Edit->Preferences->Documentation

Автор: Litkevich Yuriy 14.1.2009, 16:16

xintrea, если честно то для 4.4.3 я неставил себе перевод. А для 4.3.* достаточно было перезаписать имеющиеся файлы. попробую разобратся с этим.

быстрая помощь:http://doc.crossplatform.ru/qt/4.4.3/assistant-custom-help-viewer.html#creating-a-custom-help-collection-file

как разберусь напишу руководство

Цитата(xintrea @ 14.1.2009, 18:31) *
*.qch хранит внутри себя упакованные данные, ибо файл qt.qch у меня размером 31Mb, остальные
это SQLite

С наскоку нужные файлы сделать не удалось :(

Автор: xintrea 14.1.2009, 16:46

Цитата(molchanoviv @ 14.1.2009, 16:41) *
Для примера у меня ассистент берет доки напрямую с сайта троллей. И есстественно английскую версию. Проверь у тебя не такой-же случай?(в openSUSE приоритет имеено у документации с сайта) Проверь в ассистенте Edit->Preferences->Documentation


Не, не берет. Ему нужен все-таки *.qhc файл.


Цитата(Litkevich Yuriy @ 14.1.2009, 17:16) *
xintrea, если честно то для 4.4.3 я неставил себе перевод. А для 4.3.* достаточно было перезаписать имеющиеся файлы. попробую разобратся с этим.

быстрая помощь:http://doc.crossplatform.ru/qt/4.4.3/assistant-custom-help-viewer.html#creating-a-custom-help-collection-file

как разберусь напишу руководство

Цитата(xintrea @ 14.1.2009, 18:31) *
*.qch хранит внутри себя упакованные данные, ибо файл qt.qch у меня размером 31Mb, остальные
это SQLite

С наскоку нужные файлы сделать не удалось :(


Потому что еще нужен загадочный файл в формате .qhp

<file>
<input>myapplication-manual.qhp</input>
<output>myapplication-manual.qch</output>
</file>

где его брать и как генерить неясно.

Еще залипуха с расширениями.. Какая-то путаница идет с *.qch и *.qhc . Я в англицком несилен, поэтому понять не могу, речь идет об одном и том же (т.е. в доке опечатки), или это два разных формата.

Автор: Litkevich Yuriy 14.1.2009, 17:02

Цитата(xintrea @ 14.1.2009, 19:46) *
где его брать и как генерить неясно.
я его сделал на скору руку
из него qhc,
Цитата(xintrea @ 14.1.2009, 19:46) *
или это два разных формата.
да, теперь из qhc надо сделать qch :)
и оба SQLite

Автор: molchanoviv 14.1.2009, 17:06

Цитата(xintrea @ 14.1.2009, 16:46) *
Не, не берет. Ему нужен все-таки *.qhc файл.

Если у тебя винда, то он находится в папке %QTDIR%\doc\qch\

Автор: Litkevich Yuriy 14.1.2009, 17:29

Цитата(molchanoviv @ 14.1.2009, 20:06) *
Если у тебя винда, то он находится в папке %QTDIR%\doc\qch\
это файл с английской документацией

Автор: molchanoviv 14.1.2009, 19:24

А в переводе его нет? Просто я читаю перевод, только если чего не пойму в английской версии, и то только http://doc.crossplatform.ru

Автор: xintrea 14.1.2009, 23:42

Грят документацию обновили...

Чотам, в архиве 4.4.3 появились *.qhc файлы?

Автор: xintrea 15.1.2009, 1:36

2 Litkevich Yuriy

Кстати, по поводу вашей просьбы. Проверил документацию 4.4.3 на ассистенте 4.3. В левом поле вместо русских букв наблюдаю кракозябры. В основном тексте с русским все нормально.

Система - Linux (Ubuntu 7.04), кодировка локали KOI8-R.

Автор: Litkevich Yuriy 15.1.2009, 8:52

Цитата(xintrea @ 15.1.2009, 4:36) *
Система - Linux (Ubuntu 7.04), кодировка локали KOI8-R.
значит все таки баг в том, что в этом виджете системная локаль не учитывается, вобще попкопав в свое время код асистента, обнаружил у тролей привычку все к Латин1 приводить.

Сейчас на работе проблема организовалась. как появится время буду смотреть асистент 4.4.3. Заодно проверю попрпавили троли что-нибудь с кодировкой или нет.

Цитата(xintrea @ 15.1.2009, 2:42) *
Грят документацию обновили...
не понял, кто говорит?

Автор: xintrea 15.1.2009, 14:24

Цитата(Litkevich Yuriy @ 15.1.2009, 9:52) *
Цитата(xintrea @ 15.1.2009, 2:42) *
Грят документацию обновили...
не понял, кто говорит?


? ? ?

Ты говоришь, на http://www.prog.org.ru/index.php?topic=8257.msg45459#msg45459

"Сегодня (13 января) обновлен перевод".

Автор: Litkevich Yuriy 15.1.2009, 14:28

ну да объявлял, я не понял к чему ты это сказал здесь.

Автор: xintrea 15.1.2009, 17:07

Цитата(Litkevich Yuriy @ 15.1.2009, 15:28) *
ну да объявлял, я не понял к чему ты это сказал здесь.


К тому, что .qhp файл ты сказал что сделал, из него конечный .qhc получить непроблема. Потом появилась объява что выложена новая версия. Я и подумал, что ты такой шустрый парень, что в новую версию пихнул и .qhc файл. Я б его на ассистенте 4.4 потестил, может у нового ассистента с кодировками всё в порядке.

Автор: Litkevich Yuriy 15.1.2009, 17:23

Цитата(xintrea @ 15.1.2009, 20:07) *
Потом появилась объява что выложена новая версия.
не потом, а наоборот


Цитата( @ 13.1.2009, 20:11)
Сегодня (13 января) обновлен перевод.


Цитата(Litkevich Yuriy @ 14.1.2009, 20:02) *
Цитата(xintrea @ 14.1.2009, 19:46) *
где его брать и как генерить неясно.
я его сделал на скору руку
из него qhc,
Цитата(xintrea @ 14.1.2009, 19:46) *
или это два разных формата.
да, теперь из qhc надо сделать qch :)
и оба SQLite


Обрати внимание на даты :)

Автор: Kagami 8.2.2009, 15:30

Хм.. за пару минут сгенерировал *.qch файлы и вставил их в ассистант (при этом у меня не добавились рисунку, но я над этим работаю). Странно, но структура оригинально документации 4.4.3 и переведенной отличаются. Вот http://img145.imageshack.us/img145/769/screen1tr0.png выглядит оригинальная документация. А переведенная - вот http://img6.imageshack.us/img6/4884/screen2ll4.png.
Почему-то пропали "%Имя_класса%::" в списке слева. Т.е. у нас есть "Attribute Class Reference" а должно быть "QInputMethodEvent::Attribute Class Reference"

Автор: Litkevich Yuriy 8.2.2009, 15:42

Цитата(Kagami @ 8.2.2009, 18:30) *
P.S. я так и не научился редактировать сообщения на форумах на этом движке, простите
нажми кнопку "+Изменить" возле своего сообщения.

Kagami, можешь описать процесс, а то у меня с наскоку в прошлый раз не получилось

Автор: Kagami 8.2.2009, 16:02

1. Идем в папку $QTDIR/doc/html и копируем ее куда-нибудь что бы вернуть ее если что
2. Распаковываем поверх переведенную документацию
3. Запускаем qhelpconverter.exe (он лежит в $QTDIR/bin), выбираем файл с расширением dcf (я брал qt.dcf), Next, Next, Next, Next, Next, Next, Convert, Finish
4. Запускаем "qhelpgenerator.exe qt.qhp"
5. Включаем Assistant, Edit -> Prefences... -> Documentation -> Add... -> qt.qch
6. При желании повторяем для остальных разделов
(Пока так и не понял как рисунки добавить)

P.S. Вот http://img87.imageshack.us/img87/5558/screen1oi8.png, помоги мне найти кнопку "+Изменить"

Автор: Litkevich Yuriy 8.2.2009, 16:06

Цитата(Kagami @ 8.2.2009, 19:02) *
3. Запускаем qhelpconverter.exe (он лежит в $QTDIR/bin), выбираем файл с расширением dcf (я брал qt.dcf), Next, Next, Next, Next, Next, Next, Convert, Finish
вот этот файл-то и надо создать, е пытался, но он как-то коряво создается.

Цитата(Kagami @ 8.2.2009, 19:02) *
P.S. Вот скрин, помоги мне найти кнопку "+Изменить"
Хм, напиши в форум "Обратная связь" Админ говорил, что после 10 сообщений пользователь получает право редактировать свои сообщения, а у тебя их уже 16

Автор: Kagami 8.2.2009, 16:09

Понял как добавить рисунки :)
3. Запускаем qhelpconverter.exe (он лежит в $QTDIR/bin), выбираем файл с расширением dcf (я брал qt.dcf), Next, Next, Next, Next, Add, выбираем папку images, Next, Next, Convert, Finish

Автор: igor_bogomolov 31.3.2009, 1:20

Собрал документацию Qt 4.5.0. Проблем никаких не возникло. Единственный вопрос: Справочная документация по Qt -> Обзоры все содержимое переведено, но в дереве названия по прежнему не переведены. Это просто идеология или до этого пока не добрались?

Автор: Litkevich Yuriy 31.3.2009, 6:35

Цитата(igor_bogomolov @ 31.3.2009, 5:20) *
но в дереве названия по прежнему не переведены.
оглавление нужно переводить отдельно, я только главные элементы перевел, и те что имеют одинаковае слова, типа: ****, описание класса

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)