Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Ошибки в исходной документации
Форум на CrossPlatform.RU > Документация > Переводы
Страницы: 1, 2
Litkevich Yuriy
Надо собирать ошибки обнаруженные в исходной документации
----
  1. qtxml.html
    • Описание:
      в файле qtscript.html навигация выглядит так:
      [Previous: QtSvg Module] [Qt's Modules] [Next: QtXml Module]
      а в qtxml.html так:
      [Previous: QtSvg Module] [Qt's Modules] [Next: QtDesigner Module]
      хотя в место [Previous: QtSvg Module]
      должно быть [Previous: QtScript Module]

    • Резюме:
      Исправленно в хранилище, но надо проверять в следующих версиях


  2. qmainwindow.html - обнаружила Анна
    • Описание:
      Есть упоминание несуществующей функции setDockWidgetCorner()

    • Резюме:
      Оставлено как есть (надо бы у тролей поинтерисоваться).


  3. annotated.html
    • Описание:
      Незавершенное предложение: QDBusObjectPath - Enables the programmer to identify the
      Должно быть: QDBusObjectPath - Enables the programmer to identify the OBJECT_PATH type provided by the D-BUS typesystem

    • Описание:
      Незавершенное предложение: QDBusSignature - Enables the programmer to identify the
      Должно быть: QDBusSignature - Enables the programmer to identify the SIGNATURE type provided by the D-BUS typesystem

    • Описание:
      Незавершенное предложение: QStyleOptionQ3DockWindow - Used to describe the parameters for drawing various parts of a
      Должно быть: QStyleOptionQ3DockWindow - Used to describe the parameters for drawing various parts of a Q3DockWindow

    • Резюме:
      Необходимо исправлять в оригинале перед переводом иначе сегмент получится один и тот же и перевод будет один.



  4. containers.html
    • Описание:
      Опечатка: "... but here are the guiding priciples:"
      Должно быть: "... but here are the guiding principles:"

    • Резюме:
      Необходимо исправлять в оригинале перед переводом.

  5. install-x11.html
    • Описание:
      Написано: "Run the Qt Examples and Demos either by typing qtdemo on the command line or through the desktop's Start menu."
      Должно быть: "Run the Qt Examples and Demos either by typing qtdemo on the command line or through the desktop's Main menu."

      В GNU/Linux дистрибутивах на основе KDE/GNOME это называется главное меню, а не "Пуск"

    • Резюме:
      Необходимо исправлять в оригинале перед переводом.
Анна
В статье QByteArray

в описании класса сказано:
Цитата
For historical reasons, QByteArray distinguishes between a null byte array and an empty byte array. A null byte array is a byte array that is initialized using QByteArray's default constructor or by passing (const char *)0 to the constructor. An empty byte array is any byte array with size 0. A null byte array is always empty, but an empty byte array isn't necessarily null:


Однако, при описании конструктора:
Цитата
QByteArray::QByteArray ()
Constructs an empty byte array.


Мне кажется, во втором случае все же правилнее перевести неинициализированный массив.
AD
Цитата(Анна @ 1.10.2008, 11:47) *
В статье QByteArray

в описании класса сказано:
Цитата
A null byte array is a byte array that is initialized using QByteArray's default constructor or by passing (const char *)0 to the constructor.


Однако, при описании конструктора:
Цитата
QByteArray::QByteArray ()
Constructs an empty byte array.


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

Мне тоже так кажется. А в исходной поправить на null byte array!
Litkevich Yuriy
Цитата(Анна @ 1.10.2008, 14:47) *
Мне кажется, во втором случае все же правилнее перевести неинициализированный массив.
В этой теме надо решать не как перевести, а как должен выглядеть английский текст. Дабы при переводе с помощью OmegaT все было правильно. Т.е. сначало вносится правка в английскую документацию, а потом переводим с помощью OmegaT.

Анна, укажи в какой версии ты это обнаружила и какой именно файл.

P.S. z я пока непонял ошибка это или нет. Надо бы как-то поэксперементировать с этим классом.
Анна
здесь, примерно, один экран вверх от начала описания функций класса. Начинается со слов "For historical reasons, QByteArray distinguishes between a null byte array..." + описание первого конструктора.

В документации к 4.4.0 то же самое.

Проверяется легко
QByteArray dt;
bool res = dt.isNull();
// res будет равен true (во всяком случае в винде)
.
Litkevich Yuriy
это неподходящая проверка, isEmpty() тоже даст конкретный результат.

я такой тест провел:
#include <QtCore>
//#include "class.h"

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

  QByteArray *dt1 = new QByteArray();
  QByteArray *dt2 = new QByteArray((const char *)0);
  
    qDebug() << "dt1->isNull() " << dt1->isNull() << "\n";        //true
    qDebug() << "dt1->isEmpty() " << dt1->isEmpty() << "\n";    //true
    qDebug() << dt1 << "\n";                                    //0x3f9358
    qDebug() << *dt1 << "\n";                                    // ""
    
    qDebug() << "dt2->isNull() " << dt2->isNull() << "\n";        // true
    qDebug() << "dt2->isEmpty() " << dt2->isEmpty() << "\n";    // true
    qDebug() << dt2 << "\n";                                    // 0x3f8ac8
    qDebug() << *dt2 << "\n";                                    // ""    
    
    
    return 0; //a.exec();
}


похоже что в документации правильно:
Цитата
Constructs an empty byte array.

там еще такие строчки есть:
Цитата
We recommend that you always use isEmpty() and avoid isNull().
alex977
misc.html

Цитата
Maps open-standard MIME to Window Clipboard formats


и qwindowsmime.html

аналогично:

Цитата
The QWindowsMime class maps open-standard MIME to Window Clipboard formats.


Пропущена S в слове WindowS - речь идет о буфере обмена именно ОС WindowS.
Анна
Ты взял оба случая, когда создаются "null byte" массивы, как и сказано в описании класса (isNull() возвращает true).
А если взять конструктор QByteArray(""), то isNull() вернет false, а isEmpty() - true. Это создался "empty" массив

Вот где у них неточность:

QByteArray() они называют "empty" массивом
а про QByteArray ( const char * data, int size ) пишут, что при условии, что data=0, создается "null byte"
Хотя в обоих случаях isNul() вернет true., т.е. они оба "null byte".

"empty" массив создается конструктором QByteArray(""). isNull() вернет false, а isEmpty() - true.

---------------------------------------------
Резюме:
Цитата
QByteArray::QByteArray ()
Constructs an empty byte array.
See also isEmpty().

QByteArray::QByteArray ( const char * str )
Constructs a byte array initialized with the string str.


исправляем на

Цитата
QByteArray::QByteArray ()
Constructs an null byte array.
See also isEmpty() and isNull().

QByteArray::QByteArray ( const char * str )
Constructs a byte array initialized with the string str.
If str is 0, a null byte array is constructed.
QByteArray makes a deep copy of the string data.
ЙаМайскЫйПчОЛ
Анна, Если хочешь, я тролям в суппорт отпишу пусть пошерстят у себя???
Может вопрос терминов?

И вообще имея платный аккаунт у тролей грех им не пользоваться.
Давайте синхронизируем деятельность тов. переводчиков с багфиксингом у троллей.
Litkevich Yuriy
тут понять надо есть ошибка или нет, я что-то вообще непойму чем отличить эти два варианта, если не пользоватся штатными функциями (isNull() isEmpty()), да и троли рекомендуют избегать первую
Анна
Да, я даже не знаю, что решить. Они сами в нескольких местах делают упор на различиях, типа "Так исторически сложилось...", а потом сами смешивают эти два понятия. Можно, конечно, им на это попинать. Просто, когда читаешь текст целиком, эта путаница бросается в глаза. Обычно, никто не читает описание конструктора по умолчанию, поэтому и не обратили внимание на такую фигню.

Проверила, что во всех случаях возвращает data(). Везде возвращается указатель на 0. Другие функции тоже, я думаю, различий не делают. Так что, похоже,различия только в isNull() и isEmpty().

А к Троллям у меня есть более серьезная претензия. ЙаМайскЫйПчОЛ, если хочешь, отпишу о ней в личку.
Litkevich Yuriy
Анна, к нам тут заходил сотрудник трольтеха, надоб его на помощь позвать.
alex977
Файл examples-overview.html

Qt's painting system is able to render vector graphics, images, and outline font-based text with sub-pixel accuracy accuracy using anti-aliasing to improve rendering quality.

Два раза стоит accuracy.
alex977
Файл annotated.html

QDBusObjectPath
Enables the programmer to identify the
Должно быть (д.б.)
Enables the programmer to identify the OBJECT_PATH type provided by the D-BUS typesystem

QDBusSignature
Enables the programmer to identify the
д.б.
Enables the programmer to identify the SIGNATURE type provided by the D-BUS typesystem

QStyleOptionQ3DockWindow
Used to describe the parameters for drawing various parts of a
д.б.
Used to describe the parameters for drawing various parts of a Q3DockWindow

Phonon::BackendCapabilities::Notifier
(пусто)
д.б.
Notifications about backend capabilities

===============================
Файл model-view-model-subclassing.html:

Implementations must call beginRemoveRows() before inserting new columns into any underlying data structures, and call endRemoveRows() immediately afterwards.
д.б.
Implementations must call beginRemoveRows() before rows are removed from any underlying data structures, and call endRemoveRows() immediately afterwards.

Implementations must call beginInsertColumns() before rows are removed from any underlying data structures, and call endInsertColumns() immediately afterwards.
д.б.
Implementations must call beginInsertColumns() before inserting new columns into any underlying data, and call endInsertColumns() immediately afterwards.

Обратите внимание на курсив.
Проблемы при копи-пасте, очевидно.

================
Файл qlistview.html:

Screenshot of a Macintosh style table view
Screenshot of a Macintosh style list view

Screenshot of a Plastique style table view
Screenshot of a Plastique style list view
Litkevich Yuriy
запостил трольтехам, вот ответ:
Цитата
Hi Yuriy,

Thanks for reporting the bug to us. I've been able to reproduce your
problem, and have reported the bug to our developers.

Cheers,
Morten

On Tuesday, 23. des 2008 03:38 lit-uriyСОБАКАyandex.ru wrote:
> > You are receiving this mail because Yuriy Litkevich lit-uriyСОБАКАyandex.ru
> > is sending a bugreport to you from www.trolltech.com.
> > Short description: errors in documentation
> >
> > Did: Qt4 Russian Translation Team found errors in documentation.
> > Please look and correct them. Since Forum in Russian, you can benefit
> > from google-translate (Ru-> En). The main errors found in version
> > Qt4.3.2, but they have inherited and newer versions. Our page
> > collection of original documentation
> > errors:(http://www.forum.crossplatform.ru/index.php?showtopic=1074).

Best regards,
Morten

--
Morten Engvoldsen
Support Engineer

Qt Software, Nokia
Sandakerveien 116, NO-0484 Oslo
PO Box 4332 Nydalen, NO-0402 Oslo, Norway
Litkevich Yuriy
файл qt.html
Написано:
Цитата
Qt::WhatsThisCursor | 15 | An arrow with a question mark, typically used


предложение не завершено, надо выяснить, что должно быть.
Novak
Файл qxmlnodemodelindex.html
Цитата
Since that function is protected, it is usually a good ide to write a public function that creates a QXmlNodeModelIndex from arguments that are appropriate for your particular node model.

Мне кажется, что подразумевалось
it is usually a good idea.., а не не интегрированная среда разработки)
Litkevich Yuriy
файл qt.html
Написано:
Цитата
Qt::BusyCursor | 16 | An hourglass or watch cursor, usually shown during operations that allow the user to interact with the application while they are performed in the background.


Хотя такой тип курсора не позволяет взаимодействовать.

Есть еще одно перечисление:
Цитата
Qt::WaitCursor | 3 | An hourglass or watch cursor, usually shown during operations that prevent the user from interacting with the application.


но изображения курсора одинаковы, видимо ошибка в картинках

В каталоге с картинками есть картинка cursor-busy.png ()
alex977
В файле qt4-interview.html:

Цитата
QStringListModel is a convenience model that can be used to hold strings for views such as QListView and QComboBox.


Возможно, вместо QComboBox должно быть QTreeView?
Поскольку выше упоминается именно эти два представления.
Litkevich Yuriy
скорее всего нет, т.к. речь идет о списковой модели, а ее используют списковое представление (QListView) и выподающий список в QComboBox
alex977
Хм-м, как-то не очень похоже на правду. Все равно чего-то не хватает.

Вот цитата из QStringListModel:

Цитата
QStringListModel is an editable model that can be used for simple cases where you need to display a number of strings in a view widget, such as a QListView or a QComboBox.


Если бы цитата в посте 19 был такой:

Цитата
QStringListModel is a convenience model that can be used to hold strings for view widgets such as QListView and QComboBox.


я бы согласился.
Litkevich Yuriy
>>QStringListModel is a convenience model that can be used to hold strings for view widgets such as QListView and QComboBox.
QStringListModel - вспомогательная модель, которая может быть использована, чтобы держать (хранить) строки для виджетов-представлений таких как QListView и QComboBox.

из 19-го
>>QStringListModel is a convenience model that can be used to hold strings for views such as QListView and QComboBox.
QStringListModel - вспомогательная модель, которая может быть использована, чтобы держать (хранить) строки для представлений таких как QListView и QComboBox.

меня не смущает отсутствие слова виджет.
alex977
Ок.
Kagami
demos-mediaplayer-mediaplayer-cpp.html
Цитата
//we just ignore the cose events on the video widget

Судя из контекста имелось в виду close
Litkevich Yuriy
Цитата(Kagami @ 29.3.2009, 15:18) *
Судя из контекста имелось в виду close
да!
более полный контекст:
         case QEvent::Close:
             //we just ignore the cose events on the video widget
Kagami
graphicsview-padnavigator-panel-h.html

В описании класса Panel заметил такую строчку:
QGraphicsItem ***grid;

Выглядит очень подозрительно
ViGOur
А почему бы и нет, тот же трех мерный массив. :)
QGraphicsItem grid[][][];
Litkevich Yuriy
Kagami, похоже на правду:
 grid = new QGraphicsItem **[height];
это в graphicsview-padnavigator-panel-cpp.html
Kagami
Ну, может быть. Зато это точно очепятка :)
Цитата
The second process displays
the same image loaded from its new loaction in shared memory

Нашел в ipc-sharedmemory-dialog-cpp.html
Судя по всему, они хотели написать location

Там же:
Цитата
This slot function is called when the \tt {Load Image From File...}
button is pressed on the firs Dialog process.

Во-первых firs. Наверно имелось в виду first. Так же непонятно насчет "\tt {Load Image From File...}". Судя по всему они в исходной документации что-то где-то забыли закрыть. Такая же ошибка с \tt встречается в этом же файле еще раз, в следующем комментарии.

Там же два раза встретил ошибку вида:
Цитата
\sa loadFromFile()

Видимо она тоже появилась из-за ошибок в тегах исходной документации
Kagami
itemviews-chart-pieview-cpp.html

Опять проблема с незакрытыми тегами
Цитата
/*
Returns the rectangle of the item at position \a index in the
model. The rectangle is in contents coordinates.
*/
Litkevich Yuriy
Цитата(Kagami @ 29.3.2009, 22:13) *
Так же непонятно насчет "\tt {Load Image From File...}".
это и подобное - не ошибки. Дело в том, что эти html'ьники содержат исходники, следовательно ты видишь коментарии в них. А в коментариях содержатся всякие метки системы документирования.
molchanoviv
Цитата
\tt {Load Image From File...}


Это похоже на TeX
Litkevich Yuriy
Цитата(molchanoviv @ 30.3.2009, 11:20) *
Это похоже на TeX
это qdoc3 (тоже есть и в doxygen'е)
Sokoloff
Не то что бы ошибка, но на мой взгляд недочет в статье "An Introduction to Model/View Programming".
В главе "Creating New Models" http://www.doc.crossplatform.ru/qt/en/4.5....ing-models.html вначале описывается read-only модель и приведен код:
QVariant StringListModel::data(const QModelIndex &index, int role) const
{
     if (!index.isValid())
         return QVariant();

     if (index.row() >= stringList.size())
         return QVariant();

     if (role == Qt::DisplayRole)
         return stringList.at(index.row());
     else
         return QVariant();
}


Далее когда модель переделывают в редактируюмую описывают создание метода setData и изменение flags , но IMHO еще надо описать переделку метода data на что-то типа:
QVariant StringListModel::data(const QModelIndex &index, int role) const
{
     if (!index.isValid())
         return QVariant();

     if (index.row() >= stringList.size())
         return QVariant();

     if (role == Qt::DisplayRole or role == Qt::EditRole) // <-- Изменения
         return stringList.at(index.row());
     else
         return QVariant();
}

Иначе редактор создается пустым.
Litkevich Yuriy
Sokoloff, похоже, что ты прав.
Litkevich Yuriy
Sokoloff, я написал об этом тролям, вот их ответ:
Цитата
> in file http://doc.trolltech.com/4.5/model-view-creating-models.html
> > Section: "Making the Model Editable"
> > Change of StringListModel::data(...) function is not described.
> > In StringListModel::data(...) function need update too. There is need
> > add Qt::EditRole.
> > For example:
> > if (role == Qt::DisplayRole or role == Qt::EditRole)
> >

Thank you for reporting this.

I have created a task for our documentation team so that we can look
into this and update the documentation.

Have a nice day.
alex977
Файл style-reference.html

=====================

It can set the following states on the spin box.:

It can set the following states on the spin box:

=====================

When QMenu receives paint events ,it calculates the size of each menu item and draws them individually with CE_MenuItem

When QMenu receives paint events, it calculates the size of each menu item and draws them individually with CE_MenuItem

=====================

It is QMainWindowLayout that calculates the bounding rectangles (i.e., position and size of the toolbars and their contents.

It is QMainWindowLayout that calculates the bounding rectangles (i.e., position and size of the toolbars and their contents).

=====================

(Menu items do not have a separate element for their label (contents), so all drawing is done in CE_MenuItem.

(Menu items do not have a separate element for their label (contents), so all drawing is done in CE_MenuItem.)

=====================

QStyleOptionFrame is used for drawing the panel frame The lineWidth is set to PM_MenuBarPanelWidth.

QStyleOptionFrame is used for drawing the panel frame. The lineWidth is set to PM_MenuBarPanelWidth.

=====================


Файл stylesheet-reference.html:

The style of the border's right edge/

The style of the border's right edge.

=====================

For example, a lone tab in a <a0>QTabBar</a0>.

For example, alone tab in a QTabBar.

=====================

In addition to the usually supported pseudo states, item subcontrol supports the :selected, :default, :exclusive and the non-exclusive pseudo states.

In addition to the usually supported pseudo states, ::item subcontrol supports the :selected, :default, :exclusive and the :non-exclusive pseudo states.

=====================

ex: the ex width of the font (i.e., the height of 'x')

если должна быть ширина (width), то:

ex: the ex width of the font (i.e., the width of 'x')

или - если должна быть высота - то:

ex: the ex height of the font (i.e., the height of 'x')
Kagami
graphicsview-diagramscene.html:
Цитата
If the line is selected we draw to dotted lines that are parallel with the line of the arrow.
Наверно тут имелось в виду two.

Цитата
Vi reimplement the functions that handle mouse events to make it possible to alter the mouse behavior of QGraphicsTextItem.
Vi == We?

Цитата
DiagramScene uses the signal emitted when the text item looses remove the item if it is empty, i.e., it contains no text.
Вот тут вообще мозг сломал.
Наверно правильно так:
Цитата
DiagramScene uses the signal emitted when the text item looses focus to remove the item if it is empty, i.e., it contains no text.
Получилось примерно так: "DiagramScene использует сигнал, вырабатываемый когда текст теряет фокус, чтобы удалить текстовый элемент если он пустой, т.е. он не содержит текст"
Kagami
qgraphicsitem.html:

Цитата
{The Graphics View Coordinate System} describes the coordinate system in detail.
Лишние скобки, скорее всего пропущена ссылка

Цитата
<a0>keyPressEvent</a0>() and keyReleaseEvent handle key press and release events
Пропущена ссылка

Цитата
This functionaly is separate from from Qt's regular event filters (see <a0>QObject::installEventFilter</a0>()), which only work on subclasses of <a1>QObject</a1>.
Два раза "from".

Цитата
Do not call <a0>setEnabled</a0>() in <a1>itemChange</a1>() as this notification is delivered.
Такое ощущение что вместо "as" больше подходит "if"

Цитата
This notification is only sent when the item's local position changes, relative to its parent, has changed (i.e., as a result of calling <a0>setPos</a0>() or <a1>moveBy</a1>()).
Мне кажется что это слово тут лишнее

Цитата
Do not call <a0>setSelected</a0>() in <a1>itemChange</a1>() as this notification is delivered(); instead, you can return the new selected state from <a2>itemChange</a2>().
Лишние скобочки. Не говоря о ранее упомянутой проблеме с "as"

Ну что, стоит ли написать баг-репорт?
Litkevich Yuriy
Цитата(Kagami @ 1.7.2009, 0:54) *
Ну что, стоит ли написать баг-репорт?
надо удостовериться, что в 4.6 они есть.
Если есть, то можно написать сославшись прямо на твоё сообщение в форуме.
Поэтому можешь отредактировать своё сообщение добавив коментарий и на онглийском.
Kagami
Цитата
{The Graphics View Coordinate System} describes the coordinate system in detail.
и
Цитата
This notification is only sent when the item's local position changes, relative to its parent, has changed (i.e., as a result of calling <a0>setPos</a0>() or <a1>moveBy</a1>()).
я не нашел в 4.6. Остальные есть. Пойду писать баг-репорт.

UPD: Написал
Kagami
Странно.. Пришло письмо от автоответчика. В нем есть такая фраза:
Цитата
We have read your email but require more time to deal with it. We have
assigned it the issue number #257292. Please use this number if you email
us about the issue. We regret that we cannot guarantee a personal reply.

Но в баг-трекере ошибки с таким номером я не нашел
Litkevich Yuriy
Цитата(Kagami @ 2.7.2009, 17:56) *
issue number #257292
это регистрационный номер issue, по нашему "входящее" (термин документооборота).
Его рассмотрят, если посчитают полезным свяжутся с тобой, и, возможно, создадут "таску"

По моему опыту написания замечаний тролям по документации, они создают "таску" только внутреннюю для разработчиков и не публикуют её.
Т.е. ответ от человека примерно такой:
Цитата
Спасибо за замечание, я создал "таску" нашим разработчикам/команде документации. Такой-то инженер
Kagami
Теперь все понятно
AD
Ошибка в картинках на странице Qt Namespace Reference Qt 4.3.2:
картинки Qt::SplitHCursor, Qt::SplitVCursor следует поменять местами. Для вертикального QFrame::VLine присущ Qt::SplitHCursor при наведении, а для горизонтального - Qt::SplitVCursor. А в документации неверно указаны картинки данных курсоров.
Litkevich Yuriy
AD, это для перечисления enum Qt::CursorShape?
AD
Цитата(Litkevich Yuriy @ 16.7.2009, 18:34) *
AD, это для перечисления enum Qt::CursorShape?

Да.
Litkevich Yuriy
тогда там всё правильно.
AD
Цитата(Litkevich Yuriy @ 16.7.2009, 18:47) *
тогда там всё правильно.

Не понял? Почему? Ты проверял? Я проверял, потому и написал...
Litkevich Yuriy
да, я вот сейчас смотрю сюда и вижу, что по разному.

В 4.5 тоже
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2020 IPS, Inc.