Провел проверку исходного кода ОС Ubuntu 13.04 версии, скачанной с ftp, 29 сентября 2013: ftp://cdimage.ubuntu.com
Проверял каталоги:
- language-pack-ru
- language-pack-ru-base
Результаты проверки:
- фраз содержащих кириллицу: 99260
- на проверку ушло примерно 1700сек (виртуальная машина Win7HB 1gb 1ядро HT, на компьютере i7-860)
- найдено 3109 слов с "ошибками", встречающиеся 8525 раз в тексте.
Скачать отчет: https://docs.google.com/file/d/0B2P_Drl0OiU9OVdpeE15QmtMRXc/edit?usp=sharing
Найдено множество ошибок:
Ранее уже проверял открытые ОС - см. Автоматическая проверка орфографии исходных файлов на примере OpenSuse, по результатам которой ошибки были исправлены в ОС (см.Update), и по совету координатора локализации этой ОС, был скорректирован и улучшен данный отчет.
При проверке игнорировались разделители такие, как: \n, \t, %(name)s, %s и ряд других.
Учитывались теги - <b> считался, как пустой, а <p> как разделитель, чтобы правильно разбирать строки
"<b>П</b>ример" и "<b>Пример</b>текста" - в первом случае все верно, а во втором случае ошибка, так как текст будет выглядеть слитно.
В "Пример<p>текста" слова будут считаться раздельными за счет <p>.
Большое количество слов не являются ошибками, а отмечены ими, так как их нет в словаре OpenOffice.
Часть слов оформлена не корректно, с точки зрения русского языка, когда, например, английские буквы находятся вплотную к русскому слову, но вероятно, это сделано специально.
Встречаются слова с подчеркиванием внутри них, явно указывающем на ссылку на букву, но так как встречаются слова именно разделенные подчеркиванием,
оставил подчеркивание, как разделитель. В дальнейшем, для ряда файлов можно указать, как считать подчеркивание - как разделитель или как ссылку, и ошибок станет меньше.
Показательным примером является слово "кэш", на которое я уже ссылался ранее, именно на комментарий переводчика Ubuntu, см. Словарь локализатора GPL. Почему его нет?
Слово "хэш" и ряд его производных встречается десятки раз, но и "хеш" тоже десятки раз. Вероятно, надо привести к единому слову.
Ряд слов имеют в своем составе английские буквы, которые могут быть оформлены иначе, чем русские за счет шрифтов.
Отдельная проблема в том, что их нельзя найти поиском, если они содержатся в документации.
В словах указана первая английская буква:
Cветодиодный, cейчас, Cерийный, cимволов, Cистема, Cконфликт, Cменить, Cмонтировано, Cовместный
Сразу для первого файла: \language-pack-ru\data\ru\LC_MESSAGES\alsa-utils.po можно выделить ряд типичных ошибок:
Явные ошибки:
* См. онлайн-справку программы: Исключение слов из списка ошибок (словарь исключений)
* Можно все сделать централизовано через svn-сервер, см: Словарь локализатора GPL. Почему его нет?
Еще ряд ошибок:
неожидаемая - 9 шт.
неопределено - 10 шт.
неподдерживаемая - 20+ шт.
Неподдерживаемая - 20+ шт.
неподдерживаемого ... много производных и много раз встречается
неподдерживаемый и Неподдерживаемый - в районе 100+ шт.
В разделе отчета "Список фрагментов текста с ошибками орфографии и указанными файлами" можно посмотреть слова и ссылки на файлы с номерами строк, где они найдены.
Для ряда фраз надо согласовать правильность их написания - через дефис или слитно:
Судя по всему, используется синтаксис переменных %li и еще ряд других, надо будет найти описание такого синтаксиса и добавить в исключения.
В отчете отражен и список опечаток:
P.S.
Пока не используется отчет поверки правильности перевода, например, проверяющий совпадение заглавных начальных букв, дефисов и прочее... наличие правильного отступа и наличие пропущенного/лишнего пробела/точки/двоеточия/пр. в конце строки... множество различных неточностей... такой вариант отчета пока используется только для отдельных po-файлов, так как в исследуемых файлах встречаются повторы слов, что исключено в рамках единого словаря...
но это скоро будет...
Регулярные выражения для поиска ошибок легко указать в файле конфигурации, который составлен специально так, чтобы разработчики могли его править под свои требования...
Про все это будет в следующих постах.
Проверял каталоги:
- language-pack-ru
- language-pack-ru-base
Результаты проверки:
- фраз содержащих кириллицу: 99260
- на проверку ушло примерно 1700сек (виртуальная машина Win7HB 1gb 1ядро HT, на компьютере i7-860)
- найдено 3109 слов с "ошибками", встречающиеся 8525 раз в тексте.
Скачать отчет: https://docs.google.com/file/d/0B2P_Drl0OiU9OVdpeE15QmtMRXc/edit?usp=sharing
Найдено множество ошибок:
002282 chk: аналговые text: Изящные аналговые часы
003017 chk: Настрока text: Настрока Debian
017250 chk: Интсрумент text: Интсрумент GNOME для поиска строки в наборе файлов
000028 chk: значиние text: Применение: %s [-LRSq] -s имя_атрибута [-V
...Фрагмент отчета:
Ранее уже проверял открытые ОС - см. Автоматическая проверка орфографии исходных файлов на примере OpenSuse, по результатам которой ошибки были исправлены в ОС (см.Update), и по совету координатора локализации этой ОС, был скорректирован и улучшен данный отчет.
При проверке игнорировались разделители такие, как: \n, \t, %(name)s, %s и ряд других.
Учитывались теги - <b> считался, как пустой, а <p> как разделитель, чтобы правильно разбирать строки
"<b>П</b>ример" и "<b>Пример</b>текста" - в первом случае все верно, а во втором случае ошибка, так как текст будет выглядеть слитно.
В "Пример<p>текста" слова будут считаться раздельными за счет <p>.
Большое количество слов не являются ошибками, а отмечены ими, так как их нет в словаре OpenOffice.
Часть слов оформлена не корректно, с точки зрения русского языка, когда, например, английские буквы находятся вплотную к русскому слову, но вероятно, это сделано специально.
Встречаются слова с подчеркиванием внутри них, явно указывающем на ссылку на букву, но так как встречаются слова именно разделенные подчеркиванием,
оставил подчеркивание, как разделитель. В дальнейшем, для ряда файлов можно указать, как считать подчеркивание - как разделитель или как ссылку, и ошибок станет меньше.
Показательным примером является слово "кэш", на которое я уже ссылался ранее, именно на комментарий переводчика Ubuntu, см. Словарь локализатора GPL. Почему его нет?
Слово "хэш" и ряд его производных встречается десятки раз, но и "хеш" тоже десятки раз. Вероятно, надо привести к единому слову.
chk: хэш
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\apt.po(398)
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\duplicity.po(131)
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\gas.po(204)
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\grub.po(389)
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\grub.po(447)
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\grub.po(4801)
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\lvm2.po(780)
...
chk: хеш
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\gnupg.po(5565)
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\gnupg.po(5570)
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\libapt-pkg4.12.po(1423)
file: C:\test\ubuntu\language-pack-ru-base\data\ru\LC_MESSAGES\gnupg.po(5585)
file: C:\test\ubuntu\language-pack-ru-base\data\ru\LC_MESSAGES\gnupg.po(5590)
file: C:\test\ubuntu\language-pack-ru-base\data\ru\LC_MESSAGES\gnupg2.po(6017)
file: C:\test\ubuntu\language-pack-ru-base\data\ru\LC_MESSAGES\gnupg2.po(6022)
file: C:\test\ubuntu\language-pack-ru-base\data\ru\LC_MESSAGES\gnupg2.po(7326)
...
Ряд слов имеют в своем составе английские буквы, которые могут быть оформлены иначе, чем русские за счет шрифтов.
Отдельная проблема в том, что их нельзя найти поиском, если они содержатся в документации.
В словах указана первая английская буква:
Cветодиодный, cейчас, Cерийный, cимволов, Cистема, Cконфликт, Cменить, Cмонтировано, Cовместный
Сразу для первого файла: \language-pack-ru\data\ru\LC_MESSAGES\alsa-utils.po можно выделить ряд типичных ошибок:
Явные ошибки:
000683 chk: Невозмонжно text: Невозмонжно использовать промежуток, равный размеру буфера (%lu == %lu)Возможно надо подобрать другое слово:
001121 chk: аддреса text: s,--source addr: чтение от заданного аддреса (клиент:порта)\n
001303 chk: Установленна text: Установленна частота в %iГц (запрошено %iГц)\n
000880 chk: разыскиваемо text: Невозможно проиграть петлю; %s не разыскиваемо\nРяд терминов считается тоже ошибками, но для этого надо просто добавить их в словарь.
001394 chk: поигрывания text: Невозможно установить параметры sw для поигрывания: %s\n
* Хотя возможно "поигрывания" в контексте и нормально смотрится :)
001670 chk: зашифрования text: для зашифрования сообщения в режиме --pgp2 требуется шифр IDEA\n
001991 chk: недоверяемый text: Если Вы хотите использовать данный недоверяемый ключ - ответьте \"yes\".
* См. онлайн-справку программы: Исключение слов из списка ошибок (словарь исключений)
* Можно все сделать централизовано через svn-сервер, см: Словарь локализатора GPL. Почему его нет?
Еще ряд ошибок:
000366 chk: долучено text: Ожидалась команда jobid=nn, долучено: %s\nМного ошибок со слитным "не", которые OpenOfiice выделяет, как ошибочные:
000708 chk: аттрибутов text: MD5/SHA1 индекс %d отличается от аттрибутов %d\n
001486 chk: храниния text: Соединен с демоном храниния\n
001635 chk: необпределённый text: но следует добавить текст, очистить или удалить (не может автоматически ...
003194 chk: комманду text: FD дал плохой ответ на комманду JobId : %s\n
000438 chk: сруктурой text: Тип (null) не является сруктурой или объединением.
000504 chk: влдаельца text: Имя влдаельца карты:
004385 chk: резутатах text: включать отозванные ключи в резутатах поиска
005207 chk: отсутвтует text: ВНИМАНИЕ: возможно данный ключ отозван (ключ отзыва отсутвтует)\n
005560 chk: тебует, хеша text: DSA тебует размер хеша кратного 8 битам\n
002296 chk: Устновить text: Устновить зазор между валиками (зависит от принтера)
003688 chk: параметов text: Настройка параметов цветопередачи
000154 chk: перовго text: Клавиши используемые для выбора кандидата. К примеру, \"asdfghjkl;\", нажмите 'a' для выбора перовго кандидата, 's' для второго и т.д.
000176 chk: цифоровой text: Клавиши цифоровой клавиатуры всегда вводят цифры.
и много других ошибок...
неожидаемая - 9 шт.
неопределено - 10 шт.
неподдерживаемая - 20+ шт.
Неподдерживаемая - 20+ шт.
неподдерживаемого ... много производных и много раз встречается
неподдерживаемый и Неподдерживаемый - в районе 100+ шт.
В разделе отчета "Список фрагментов текста с ошибками орфографии и указанными файлами" можно посмотреть слова и ссылки на файлы с номерами строк, где они найдены.
Для ряда фраз надо согласовать правильность их написания - через дефис или слитно:
chk: медиа-файлаВ дальнейшем буду учитывать в своем словаре сочетание символов вокруг слов, например, "[неизвстн]" разрешить, если в квадратных скобках и т.п.
file: C:\test\ubuntu\language-pack-ru-base\data\ru\LC_MESSAGES\xfsdump.po(443)chk: медиафайлами
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\app-install-data.po(21262) file: C:\test\ubuntu\language-pack-ru-base\data\ru\LC_MESSAGES\app-install-data.po(21257)chk: медиа-файлы
file: C:\test\ubuntu\language-pack-ru\data\ru\LC_MESSAGES\app-install-data.po(7176) file: C:\test\ubuntu\language-pack-ru-base\data\ru\LC_MESSAGES\app-install-data.po(7174)
Судя по всему, используется синтаксис переменных %li и еще ряд других, надо будет найти описание такого синтаксиса и добавить в исключения.
В отчете отражен и список опечаток:
000106 text: %s: Отказ. Для выполнения этой программы требуются полномочия суперпользователя.\n\nС помощью регулярных выражений этого отчета даже частично проверяется орфография:
chk: двойной пробел между словами
000153 text: В конфигурационном файле не задано super_admin_key ! Выход.
chk: пробел перед знаком восклицания
000258 text: Не удалось получить %s , причина: %s
chk: пробел перед запятой
000127 text: Пожалуйста, введите путь к файлу,который вы бы хотели использовать для хранилища. Он будет иметь размер %sGB.
chk: запятая вплотную перед буквой
001702 text: log — это утилита bzr по умолчанию для просмотра истории ветви.\nИспользуемая ветвь определяется первым параметром. Если не задано\nпараметров, выводится журнал ветви, содержащей рабочюю директорию.\nВот несколько простых примеров::Буду рад советам по улучшению отчета.
chk: «Чу/Щу»
P.S.
Пока не используется отчет поверки правильности перевода, например, проверяющий совпадение заглавных начальных букв, дефисов и прочее... наличие правильного отступа и наличие пропущенного/лишнего пробела/точки/двоеточия/пр. в конце строки... множество различных неточностей... такой вариант отчета пока используется только для отдельных po-файлов, так как в исследуемых файлах встречаются повторы слов, что исключено в рамках единого словаря...
но это скоро будет...
Регулярные выражения для поиска ошибок легко указать в файле конфигурации, который составлен специально так, чтобы разработчики могли его править под свои требования...
Про все это будет в следующих постах.
Невероятно полезное и нелегкое занятие! Потому что временами группы локализаций таких смешных ошибок понаделывают ;P
ОтветитьУдалитьКруто!
ОтветитьУдалить