«Локализатор исходного кода» предназначен для локализации программных продуктов путем изменения их исходных кодов без предварительной подготовки.
Программа может быть использована при разработке программного обеспечения на серверах сборки, для автоматической локализации исходного кода, но она может также применяться и на рабочих компьютерах пользователей для проверки орфографии в исходных кодах, текстовых файлах, буфере обмена и словарях переводов.
Специальная версия программы позволяет проводить обфускацию исходного кода.


 

пятница, 31 января 2014 г.

Результаты проверки локализации игры Don't Starve

Обычно в качестве исходных файлов для проверки возможностей программы локализации использую файлы локализации открытых программных продуктов, но в данном случае появилась возможность проверить локализацию коммерческого продукта, а именно, очень интересной игры "Don't Starve" (wikipedia).

Данная игра является коммерческим продуктом, размещенным в Steam.
Русификатор к данной игре представлен в виде отдельного мода "Russian Language Pack", который подключается к игре (см. рис. ниже).

Перевод игры производится на сайте Notabenoid (см. рис. ниже).

Автор мода (Some1) разрешил провести проверку локализации и опубликовать ее результаты.

В переводе используется буква "Ё", поэтому для проверки был использован модуль hunspell (см. справку программы) со словарями орфографии OpenOffice, в которых учитывается эта буква.

Файл локализации в формате PO (Gettext), судя по программе POEdit, имеет ошибки формата, а также использует кодировку Windows-1251 без указания на это. Присутствует ошибка дублирования msgid (см. "STRINGS.UI.SANDBOXMENU.TITLEDETAIL"), а также ряд замечаний по переводу генерируемых POEdit.
За исключением кодировки и оформления "шапки" файла формат в целом правильный, поэтому заменил кодировку на UTF8 и "бросил" файл на ярлык "Проверка PO-файла - для переводчика с автоматической проверкой орфографии (русский язык) (бросить файлы или каталоги)".

Сгенерированный отчет: скачать.

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

Используются сокращения, транслитерация на русский язык ("летсплеи"), особенности написания ("ПЧЁ-Ё-Ё-Ё-Ё-ЛЫ"), узкоспециализированные термины ("стик"), описание звуков ("Ам-м-м", "Ам-ням-ням"), которые можно также добавить в словарь.

Есть явные ошибки:
басейн, джентельмен...

Следует учитывать контекст и дикцию персонажа, который возможно не выговаривает или коверкает некоторые буквы.
Явным является, например, "победю", а следующие слова уже на усмотрение локализатора:
chk:   болше     context:   STRINGS.CHARACTERS.WOODIE.DESCRIBE.ROCK_LIGHT.LOW     words:   Нужно болше... дров?
chk:   Надесь     context:   STRINGS.CHARACTERS.GENERIC.DESCRIBE.EYETURRET     words:   Надесь, эта шутка не будет палить в меня.
chk:   коньшмар     context:   STRINGS.CHARACTERS.GENERIC.DESCRIBE.KNIGHT_NIGHTMARE     words:   Это коньшмар!

суббота, 14 декабря 2013 г.

Результаты проверки орфографии файлов локализации WordPress 3.7.1 Lecactus Edition

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

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

Ссылка на исходные файлы:
http://lecactus.ru/download-manager.php?id=521

Проверка осуществлялась "броском" распакованного каталога на ярлык "Автоматическая проверка орфографии PO-файлов (OpenOffice, русский язык) (бросить файлы или каталоги)" (его следует добавить из меню программы в "Пуск" на рабочий стол), после чего был автоматически открыт сформированный html-файл отчета в браузере.

ОТЧЕТ ПО ПРОВЕРКЕ ОРФОГРАФИИ:

Графы орфографических ошибок:



Часть слов написана начиная с латинской буквы:
Cпрятать, cтраниц, cтраница, cтраницы

Список файлов и найденных замечаний (без учета предыдущих):

File: wordpress\wp-content\languages\admin-network-ru_RU.po
000084 chk: соответсвующие text: Для поиска пользователя или сайта, используйте соответсвующие окна поиска. 000190 chk: проблеами text: Настройки регистрации могут разрешать или запрещать публичную регистрацию... 000236 chk: привелегии text: Главные администраторы ... 001018 chk: сарвер text: Внимание! Проблема при обновлении %1$s. Ваш сарвер не может подключиться ко всем запущенным на нем сайтам. Сообщение об ошибке: <em>%2$s</em> 001175 chk: привелегию text: Вы можете сделать существующих ... 001265 chk: нструментов text: Режим множества сайтов будет включен сразу после добавления этого кода и обновления окна браузера. ... 001589 chk: уникакльный text: Этот уникакльный ключ ... 001592 chk: уникакльные text: Эти уникакльные ключи ... 001595 chk: уникакльные text: Эти уникакльные ключи ...

Результаты проверки орфографии файлов локализации Drupal 8.0-alpha4

Проверка осуществлялась по файлам локализации Drupal core (8.0-alpha4) с сайта https://localize.drupal.org/translate/languages/ru.

Ссылка на исходный файл:
http://ftp.drupal.org/files/translations/8.x/drupal/drupal-8.0-alpha4.ru.po

Проверка осуществлялась "броском" po-файла на ярлык "Автоматическая проверка орфографии PO-файлов (OpenOffice, русский язык) (бросить файлы или каталоги)" (его следует добавить из меню программы в "Пуск" на рабочий стол), после чего был автоматически открыт сформированный html-файл отчета в браузере.

Часть слов написана с латинскими буквами:
Cредство, сron

Список файлов и найденных замечаний (без учета предыдущих):

File: drupal-8.0-alpha4.ru.po

000416     chk:   отсуствует     text:   снимок экрана отсуствует
000520     chk:   огрлавления     text:   Убрать из огрлавления
001004     chk:   коментарий     text:   1 коментарий
001010     chk:   комментрий     text:   1 новый комментрий
001590     chk:   кеширования     text:   Включение/выключение кеширования страниц для анонимных пользователей, а также оптимизации CSS и JS.
003087     chk:   длинее     text:   Ссылки длинее этого количества знаков обрезаются, чтобы избежать нарушения форматирования текста. Сама ссылка сохраняется, но ее текстовая часть обрезается.
003855     chk:   Фильтраци     text:   Фильтраци представления по текущему вошедшему пользователю.
003998     chk:   Доспутные     text:   Доспутные действия
004576     chk:   кеширование     text:   Простое кеширование данных, основанное на времени.
004931     chk:   помеченые     text:   Глубина будет соответствовать ...
004987     chk:   разделеные     text:   ID терминов, разделеные ',' или '+'
005128     chk:   заголока     text:   Этот заголовок будет отображаться с представлением, на месте обычного заголока, таком, как Заголовок страницы, блока и т.п.

пятница, 13 декабря 2013 г.

Результаты проверки орфографии файлов локализации Joomla 3.1.4

Проверка осуществлялась по файлам локализации сайта joomlaportal.ru.

Ссылка на исходные файлы:
http://joomlaportal.ru/downloads/joomla/languages/ru-RU_joomla_lang_full_3.1.4v1.zip

Проверка осуществлялась "броском" распакованного каталога локализации на ярлык "Автоматическая проверка орфографии любых файлов (UTF8, OpenOffice, русский язык) (бросить файлы или каталоги)" (его следует добавить из меню программы в "Пуск" на рабочий стол), после чего был автоматически открыт сформированный html-файл отчета в браузере.

ОТЧЕТ ПО ПРОВЕРКЕ ОРФОГРАФИИ:

Графы орфографических ошибок:



Часть слов написана начиная с латинской буквы:
cинтаксис, Cнежок, Cписок, cсылки, Cсылки

Возможно слово "интернационализованные" следует заменить на "интернационализированные"?

Список файлов и найденных замечаний (без учета предыдущих):

File: C:\testsourcelocalizer\joomla\admin_ru-RU\ru-RU.com_tags.ini

000113     chk:   меткм     text:   COM_TAGS_N_ITEMS_TRASHED_2="%d меткм отправлены в корзину"
000118     chk:   расчитанная     text:   COM_TAGS_NUMBER_COLUMNS_DESC="Количество колонок для вывода меток. Обратите внимание, что для вывода меток используется сетка, расчитанная на 12 колонок."
000166     chk:   Параметы     text:   COM_TAGS_TAG_VIEW_LIST_OPTION="Параметы отображения списка"

четверг, 12 декабря 2013 г.

Необходимость проверки орфографии в комментариях для внутренней документации на примере XMLDoc и программы "Локализатор исходного кода"

В постах очень часто затрагиваю тему орфографии текстовых фрагментов переменных в коде программы, но проверка орфографии комментариев так же важна.

Часто комментарии пишутся для внутреннего использования, и орфографические ошибки в них считаются не критичными, так как клиент их не увидит.
Но даже в случае "закрытого кода", когда код программ не доступен клиентам, ошибки из комментариев могут попасть в документацию по API-функциям программы, которая, как правило, генерируется из специально оформленных комментариев, и клиенты смогут
оценить грамотность (или неграмотность) программистов.

Популярными форматами документирования кода для формирования документации являются JavaDoc, XMLDoc и ряд других.

Программа "Локализатор исходного кода" написана на MS Visual Basic и использует оформление комментариев XMLDoc, которое позволяет получать интерактивные подсказки при написании кода по функциям и их параметрам.
Для формирования документации по коду проекта используется SandCastle.

Далее приведены скриншоты созданной документации (из chm-файла).

Список функций одного из классов:

четверг, 21 ноября 2013 г.

Проверка орфографии на сайтах основанных на mediawiki

Mediawiki популярная CMS для разработки сайтов в стиле wikipedia, позволяющая
организовать отлично структурированный справочный(обычно) сайт, которая не только позволяет легко получить необходимую информацию с помощью простой навигации, но и дает возможность пользователям сайта вносить правки в статьи.

Множество проектов использует эту CMS или схожую с ней.

Такими проектами являются: 

  • Справочный сайт ОС OpenSuse - http://ru.opensuse.org/ (MediaWiki 1.19.3)
  • Популярный сайт игровой тематики sc2tv - http://sc2tv.ru/wiki (MediaWiki 1.19.2)
  • Публичная неофициальная документация хостинга 1gb.ru - http://1gb.ru/wiki (MediaWiki)
  • Школьная база знаний - http://wiki.nntc.nnov.ru (MediaWiki 1.19.2)

Ряд проектов используют схожие CMS, например Справочный сайт ОС Ubuntu - http://help.ubuntu.ru/wiki/ (DokuWiki)


Приведенный далее пример проверки орфографии рассчитан на MediaWiki, но возможно подойдет и для DocuWiki (Ubuntu).

Как видно из приведенного перечня сайтов, данная CMS успешно применяется для различных сфер деятельности.

В тоже время на ряде сайтов присутствуют ошибки:
  • ru.opensuse.org/openSUSE:Общение - см. "новичек"
  • help.ubuntu.ru/wiki/virtualbox - см. "диаллог". Слово "cистемы" начинается с латинской буквы, в "сd-rom" - русская "с", что делает невозможным нахождение таких слов поиском, что может быть серьезной проблемой поиска термина в wiki, если в нем будет такая опечатка.
  • sc2tv.ru/wiki/index.php?title=Заглавная_страница - см. "комаду", "едиственным".

Перечисленные ошибки обнаружены 21-11-2013 и, соответственно, их можно найти в истории, если они будут исправлены. Я на это рассчитываю, так как обращусь к данным порталам с предложением проверки их wiki-проектов, что позволит улучшить ситуацию с орфографией на порталах и заодно проверить возможности моей программы. При разрешении публикации таких отчетов по wiki - выложу их в обновлениях к данному посту.

вторник, 12 ноября 2013 г.

Граф орфографических ошибок

Программа локализации успешно строит различные отчеты по орфографическим ошибкам в исходных кодах проектов, например, для Ubuntu, см. "Результаты проверки орфографии исходного кода Ubuntu 13.04"

Отчеты представлены в виде xml в формате junit, а также в виде html-документов с применением гиперссылок для связывания отчетов и подотчетов, а также css-оформлением для большей наглядности и удобства использования.

Но в больших проектах со значительным количеством ошибок текстовые отчеты не дают возможности увидеть общую картину ошибок и отслеживать процесс исправления, как позволяют простые картинки инфографики, на которых отражена ключевая информация.

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

Пример графа для каталога примеров программы локализации:
 
PDF-версия графа.

Описание графа:

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

Единым корнем графа является "каталог" "ROOT". Файлы не относящиеся к локализации (временные, картинки, пр.) в графе игнорируются.

Построил общий граф без учета орфографии по всем файлам DoubleCommander для примера проекта со сложной структурой (скачать http://sourceforge.net/projects/doublecmd/files/Double%20Commander%20Source/doublecmd-0.5.7-src.tar.gz/download)


Данный граф строится программой в виде файла со структурой dot, который легко можно создать с помощью выгрузки отчета в файл с помощью параметра: