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


 

вторник, 4 ноября 2014 г.

Юмор в комментариях FAR и немного об орфографических ошибках

Рассмотрим комментарии в программе, на которые программисты не всегда обращают внимание, хотя программа может быть передана на аудит или начальник решит повнимательней рассмотреть код :) Так же программа может перейти в opensource и все смогут оценить юмор автора.

Исходный код Far можно скачать по ссылке с сайта (http://www.farmanager.com/opensource.php?l=ru) или сразу с google.code (https://code.google.com/p/farmanager/). Проверка проводилась для ревизии 12624.

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

Некоторые комментарии в программе FAR:

cddrv.cpp
if (DrvType == DRIVE_UNKNOWN) // фигня могла кака-нить произойти, посему...
DrvType=DRIVE_CDROM;       // ...вертаем в зад сидюк.

config.cpp
// "Исполнятор команд меню"

copy.cpp
if (Link) // рулесы по поводу линков (предварительные!)
m_FocusPos=0;     // убится, блин
continue;     // ...  т.к. мы ЭТО не мувили, а скопировали, то все, на этом закончим бадаться с этим файлов

delete.cpp
// нефига здесь выделываться, а надо учесть, что удаление

dialog.cpp
// забудим (не нужен)
Если жмакнули Alt-???
} //..., це ж ботва какая-то
ItemFlags&=~DIF_MANUALADDHISTORY; // сбросим нафиг.
if (!NeedSendMsg) // тыкс, а уже посылку делали в диалоговую процедуру?
// Здесь с фокусом ОООЧЕНЬ ТУМАННО!!!

fileedit.cpp
//Дабы избежать бардака, развернём слэшики...

filelist.cpp
Посему, если какой-то злобный буратино ...
в текущем каталоге файло с датой создания поболее текущей,
//Если ЭТО убрать, то... будем жать ESC до потере пулься

filetype.cpp
// какой-то злобный чебурашка стер файл!
Добавим интелектуальности.

help.cpp
if (EndPos == strTopic.size() - 1) // Вона как поперло то...
/* А вот теперь разгребем...
СЮДЫ НУЖНО ВПИНДЮЛИТЬ МЕНЮХУ С ВОЗМОЖНОСТЬЮ ВЫБОРА
//Параноя но случится может:

panel.cpp
delete(PanelMenuItem*)i.getItem().UserData;  //ммда...
// скорректируем размеры диалога - для дизайнУ

plugapi.cpp
И фигля здесь удивлятся тому, что функция не работает :-(

Некоторые фрагменты комментариев заменил многоточием или не указал из-за цензурности...

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

codepage.cpp
ресестре
обыкновынных  
разделитеь
останнется  
оригинальню  
стндартные  
стндартные  

config.cpp
откключаем  

copy.cpp
текщий  
корректирем  
деламем  
заключительеая  

dialog.cpp
поик  
повыщения  
подстанавливаем  
наприсовали  
плагиновго  
которго  
забудим  
случивщемся  
рассчётах  

и много других...

Шутки с переводом на 1 апреля, НГ и пр.

Часто сайты, форумы, разработчики программ, да и просто веселые админы к 1 апреля или другим датам меняют оформление своих сайтов/программ/форумов на смешное/тематическое.

Пример подмен картинок на форуме:

Участвую в ряде переводов OpenSource-ОС и различных программ, поэтому решил предложить сделать смешной перевод к праздничной дате.

Может быть попробовать к одной из дат сделать такой перевод к популярной программе? А может и для самой ОС, опять же согласовав с разработчиками/админами/модераторами :)

До 1 апреля далеко, а вот НГ близко... т.е. временно на праздник заменить перевод, конечно, с согласия модератора раздела/программы.

Можно хоть с добавкой "Exit" = "Выйти! Йо-хо-хо!!!" или полноценный "Пойти отмечать
НГ!"...

Можно сделать проще... заменить на псевдокириллицу:

Можно добавить текст в перевод так, чтобы получился рисунок (http://text-image.ru/news/dlja_sms/1-0-30):
¨/\_/\ ♥
>^,^<
¨¨/ \
¨(__)__
Сердце не удалось поставить (заменяется вопросом или вертикальной чертой), поэтому решил поставить смайл.  
Важно: следует учитывать неравномерность ширины букв шрифта и компенсировать это пробелами!

Более сложный рисунок (http://text-image.ru/news/s_novym_godom/1-0-19):
__☆_________*_________☆_
______☆____*o*____☆_____
_☆________*o*o*_______☆_
_____☆___*o*o*o*___☆____
___☆____*o*o*o*o*_____☆_
_______ *o*o*o*o*o* ______
____________|| ||___________
░☆░☆ С НОВЫМ ГОДОМ ☆░☆░


В общем, такое вот предложение...

понедельник, 3 ноября 2014 г.

Псевдокириллица на примере NotePad++

При транслитерации текста необходимо следовать специальным правилам/ГОСТам преобразования символов, например, из кириллицы в латиницу (см. https://ru.wikipedia.org/wiki/Транслитерация_русского_алфавита_латиницей)

Кроме известных стандартов транслитерации существует интересные правила преобразования кириллицы в «псевдокириллицу», согласно которым текст кириллицы переводится в латиницу с учетом схожести начертания символов.

Примечание: поддержку псевдокириллицы в программе локализации следует рассматривать с точки зрения шутки, а не искать практическую пользу, хотя интерфейс смотрится очень весело и подойдет даже для серьезной программы, например, на «1 апреля» :)
(см. «С 1 апреля от "когтистого" SourceLocalizer'а :)»)

Правила преобразования в псевдокириллицу взял из статьи lurkmore.to/Транслит (в статье раздел с правилами преобразования называются «быдлотранслит», но в разделе «обсуждение» идет спор о названии такого преобразования).

Пример меню с использованием псевдокириллицы (подробней процесс преобразования рассмотрен ниже):

В программе локализации добавил в настройки транслитерации значение параметра для псевдокириллицы «-TRANSLATE=PSEUDOCYRILLIC»

Добавил ярлык «Пуск/Программы/Локализатор исходного кода/Ярлыки/Транслитерация текста ANSI в псевдокириллицу (бросить файлы)» (для UTF8 следует выбрать ярлык с UTF8 в названии вместо ANSI)

Проведем проверку на примере программы «NotePad++ 5.8.1 unicode», локализация которой реализована с помощью XML-файлов для каждого языка интерфейса.

1) Файл russian.xml имеет кодировку Win-1251, поэтому следует добавить на рабочий стол ярлык (см. выше) с ANSI в названии.
2) Необходимо перенести файл из ProgramFiles в свой каталог, иначе будут необходимы права администратора программе для записи файла.
3) «Бросаем» файл russian.xml на ярлык.
4) Проверяем файл russian.xml.translate и переименовываем его в russian.xml.
5) Копируем russian.xml вместо исходного файла в каталог программы NotePad++.
6) Переключаем язык в программе NotePad++ сначала на любой другой, а затем на русский (необходимо NotePad++ запустить с правами администратора).

Пример полученного xml-файла: russian.xml.

Фрагмент изображения XML («до» и «после»):


Фрагмент изображения меню программы (см. выше этот-же фрагмент на рисунке xml)  («до» и «после»):



Фрагмент изображения меню программы («до» и «после»):

Примечание: функционал доступен с версии 0.14.

среда, 29 октября 2014 г.

Использование модулей орфографии hunspell и openoffice в программе локализации вместо модуля MS Word

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

Проще всего конечно-же было подключить модуль проверки орфографии MS Word, так как он наиболее популярен и присутствует практически на подавляющем большинстве компьютеров с ОС Windows, а также довольно просто технически интегрируется в ПО.

Но возникает юридическая проблема, а именно, запрет Microsoft на интегрирование модулей орфографии сторонними производителями в свое ПО (имхо).

Согласно статье «Microsoft Общие средства проверки правописания API (CSAPI) для проверки орфографии в Office» (английская версия: http://support.microsoft.com/kb/262605/en)  – нельзя использовать проверку орфографии без получения разрешения от Microsoft (как я это понимаю).

Цитаты статьи:

* В настоящее время Microsoft не предоставляет служебные программы проверки орфографии для использования в продуктах независимых производителей. // Microsoft does not currently provide spell check utilities for use in third-party products.

* Разработчикам, желающим добавить в свои приложения с пользовательской проверки орфографии можно связаться одним из следующих поставщиков для получения лицензии на модуль и разработки проверки орфографии: // Developers who want to add spell checking to their custom application can contact one of the following vendors to obtain a spell check engine and development license:

Примечание: русская версия перевода немного меняется со временем, вероятно из-за автоматического перевода, но английская версия фрагментов осталась дословно такой-же (29.10.2014).

Поэтому в программе решил использовать только средства проверки OpenOffice/LibreOffice и модуль Hunspell (NHunspell).

Возможно, в дальнейшем попробую получить разрешение от Microsoft.

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

Поддержка формата XML на примере ResX

Программа локализации поддерживает ряд популярных текстовых форматов (VB,Delphi,INI,..) для работы с которыми был разработан специальный набор текстовых элементов, основанных на регулярных выражениях, для обработки структурированных текстовых данных, например, для описания синтаксиса Delphi. Специальные элементы позволяет не только выделить текст для локализации, но и производить различные действия над элементами, например, их объединение или реструктуризацию, см. рисунки - «до» и «после» оптимизации...


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

Для полноценной работ с XML-файлами добавил поддержку XML-DOM, а для описания элементов XML для форматов ResX и др., вместо самостоятельно разработанных элементов описания выбора XML-элементов, воспользовался возможностью XPath.

Фрагмент исходного ResX:
  <data name="button" xml:space="preserve">
    <value>Test</value>
  </data>

Фрагмент конфигурации описания обработки формата XRes:
[file.type:resources.resx]
usefunction=readxmlelements
xmlelement= xpath=/root/data/value  value-tag=../value context-attr:xpath=../../data context-attr:attr=name

вторник, 28 октября 2014 г.

Использование словарей исключений FireFox, Chrome, ThunderBird, OpenOffice

Большинство текстовых редакторов, а также программ, позволяющих проверять орфографию, имеют словари исключений, в которые пользователь может вносить неизвестные орфографическим модулям слова.
Кроме наиболее известных программ, таких как MS Word и OpenOffice, орфографию способны проверять браузеры (FireFox, Chrome) и даже почтовые программы (Thunderbird).

При разработке программы локализации был также разработан словарь исключений, в который пользователь может включать игнорируемые слова. Он представляет собой текстовый файл, удобный для коллективной разработки с использованием сервера (svn/git/...).

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

Файлы словарей исключений:
Firefox: C:\Users\username\AppData\Roaming/Mozilla/Firefox/Profiles\xxxxxx.default/persdict.dat
OpenOffice: C:\Users\username\AppData\Roaming/OpenOffice/4/user/wordbook/standard.dic
Thunderbird: C:\Users\username\AppData\Roaming/Thunderbird/Profiles\xxxxxx.default/persdict.dat
Chrome: C:\Users\username\AppData\Local/Google/Chrome/User Data/Default/Custom Dictionary.txt

четверг, 23 октября 2014 г.

Общий инсталлятор для x32 и x64 версий "Локализатора исходного кода"

Множество программных продуктов для установки x64-версий программ используют отдельный инсталлятор.

Т.е. обычно присутствуют два инсталлятора программы: example-setup-x32.exe и example-setup-x64.exe

Для «Локализатора исходного кода» решил сделать общий инсталлятор x32 и x64-версий программы. Сам инсталлятор 32-битный, а x32/x64-версия устанавливаемой программы выбирается на основе x32/x64-версии ОС пользователя.

Решение о выборе версии реализовано средствами InnoSetup, см. фрагмент:

Source: "..\..\..\build\SourceLocalizer-x32.exe"; DestDir: "{app}"; DestName: "SourceLocalizer.exe"; Check: "not iswin64"; Flags: ignoreversion
Source: "..\..\..\build\SourceLocalizer-x64.exe"; DestDir: "{app}"; DestName: "SourceLocalizer.exe"; Check: iswin64; Flags: ignoreversion

В зависимости от флага iswin64 выбирается версия программы для установки.

О преимуществах x64-версии над x32 напишу в следующих постах.

Комментирование словаря исключений

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

Для программы «Локализатор исходного кода» доступен словарь в простом текстовом виде, в который вносятся исключения.
На самом деле можно вносить исключения и через OpenOffice, но встроенный словарь в ряде случаев удобней, а также использование внешнего модуля Hunspell вместо OpenOffice предлагает больше возможностей в проверке, например, букв «Ё».

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

Пример фрагмента словаря:

подпараграфа ;dic.academic.ru/dic.nsf/eng_rus/226248/ 
подпараграф
подпараграфу
подпараграф
подпараграфов
подпараграфы
подпараграфе
шейдеров ;Шейдер — Википедия
шейдер
шейдеры
шейдерами
шейдерам
шейдеру 
USB-флеш-накопитель ;USB-флеш-накопитель — Википедия

пятница, 17 октября 2014 г.

Продвижение видеороликов в Yandex


При Google при поиске видео по ключевым словам, например, «автоматическая проверка орфографии» отлично находится созданное мной видео по проверке орфографии, а вот в Yandex-поиске это видео не находит.

В поиске Yandex практически нет моих видео с Youtube, причем видео перенесенные на другие сервисы (не мной) в нем отражаются, например:
http://euronedvijka.ru/video/oblasti/konvertirovanie-teksta-dfm-fajlov-delphi-dfm-1251.html
(в оригинале: http://www.youtube.com/watch?v=UJU5hM0QZoA)

Если сравнить поиск фразы «Локализатор исходного кода» в yandex (http://yandex.ru/video/search?text="Локализатор исходного кода") и google (https://www.google.ru/search?q="Локализатор+исходного+кода"&tbm=vid),то разница очевидна... Yandex почти не выдает в поиске мои видео с Youtube.

В ряде статей, посвященным SEO и продвижению видео в поисковых системах, рекомендуется для поиска в Yandex размещать видео в Yandex.Video, а также советуют обратить внимание на RuTube.

Для пробы разместил видеоролик «Автоматическая проверка орфографии/правописания основных форматов исходного кода» в сервисе RuTube, т.к. Yandex.Video на данный момент уже закрыт.

Посмотрим как этот ролик на RuTube будет со временем находится Yandex'ом...

Ссылки на ролик:
1) http://www.youtube.com/watch?v=MNgx_aXBArA
2) http://rutube.ru/video/4ac0a181b452dc16e31bb17ea3f52afb/

«Лучше один раз увидеть...»

Для демонстрации возможностей программы ранее уже приобрел «MS Win7 HB (Box)», для тестирования возможностей программы в VirtualBox, а также записи процесса работы программы локализации.

Для повышения качества видео, наложения эффектов, редактирования и пр. приобрел Adobe Premiere Element 13, а заодно и посмотрел процедуру покупки/регистрации современных версий Adobe :)

В последней версии VirtualBox появилась возможность записи видео средствами самой программы, но в формате WebM и с мелкими глюками видео (немного периодически «дергается» видео).
WebM не поддерживается Premier'ом, поэтому приходится WebM сначала преобразовывать в MP4/AVC программой AviDemux, а уже затем редактировать в Premiere.

Отсутствие проверки орфографии в Premiere дает знать... уже есть оЧепятка на одном из видео.

Для создания титров использую AegiSub.

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




вторник, 30 сентября 2014 г.

Обновление программы локализации до версии 0.13.0

Изменения в программе:
  • Заменил устаревший сертификат подписи программы на новый.
  • В зависимости от ОС пользователя устанавливается x32 или x64 версия программы.
  • При отсутствии модулей орфографии будет сообщение в отчетах об этом с предложением скачать модули.
  • Ярлыки справки из "Пуск/Программы" указывают на локальную справку вместо сайта.
  • Обновил статьи в справке, в частности "Начало работы с программой"
  • Добавил дополнительные ссылки в отчеты.
  • Добавил стрелки навигации в отчеты. 
  • Добавил для локализации поддержку внутренних форматов программы.
  • Привел названия отчетов к одному виду.
  • Добавил файл параметров программы по умолчанию defaultparams.params.
  • Добавил информацию о времени выполнения в debug-отчеты.
  • Добавил цифровую подпись в generator.
  • Компиляция программы теперь производится с помощью msbuild.
  • Заменено название файла настроек программы.
  • Скорректировал ряд заголовков отчетов.
  • Дополнил оформление новых элементов в css.
  • Добавил разговорный словарь.
  • Добавил новые правила статистики.
  • Добавил слова в словарь исключений.

    суббота, 27 сентября 2014 г.

    Перенаправление ярлыка "Справка" на раздел html-справки (оффтоп/разработка)

    В список ярлыков программы «Пуск/Программы/...» добавил ссылку на html-справку.
    Необходимо было запустить help.html с якорем #start, что оказалось затруднительно, так как запустить файл с якорем нельзя, а использовать файл .url тоже нельзя, так как заранее не известен каталог установки программы, чтобы написать в .url вызов.

    Нашел интересное решения: создание файла который перенаправляет на help.html с указанием якоря.

    Примечание: специально выбирал вариант перенаправления без javascript и других активных элементов.

    Пример файла:
    <html>
    <head>
    <meta http-equiv="refresh" content="0;help.html#start" />
    </head>
    <body>
    <!-- Перенаправление на раздел "Старт": help.html#start -->
    </body>
    </html>

    Файл следует расположить в тот-же каталог что и help.html

    Данное решение будет реализовано в версии 0.13.

    четверг, 4 сентября 2014 г.

    Разговорный словарь жаргонов и "словечек"

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

    Пример:
    ваще
    вкурил
    водопадище
    звиняй
    звиняйте
    здарова
    здоровится
    здоровская
    здоровское
    зырит
    зырить
    хто

    Из примера, думаю, всем видно, почему этих слов нет в обычных словарях, используемых в huspell/OpenOffice/FireFox/...
    При этом, эти слова не являются ошибками.

    понедельник, 25 августа 2014 г.

    Проверка очень большого количества файлов субтитров (402шт) на примере Fairy Tale

    Для проверки достаточно установить программу и скачать архив модулей орфографии (ссылка также указана в конце установки).

    При очень больших объемах исходных данных желательно донастроить программу.
    Если необходимо проверить 1-5-10-50 серий, то ничего донастраивать обычно не надо, но при проверке сотен серий необходимо отключить наиболее "прожорливые до памяти", и не нужные, в данном случае, функции программы.

    Добавить в файл user.param (в каталоге программы) следующую строку:
    -DISABLEGRAPH

    Этот параметр отключает построение графов ошибок (см. "Граф орфографических ошибок")

    В случае еще больших объемов (еще и всего Наруто с Бличем заодно проверить :) ) может понадобиться добавить:
    -ENABLEGC
    -USEGCTOCSSLOG_MINLENGTH=100000
    -USECSSTOLOGMAXLENGTH=100000

    ENABLEGC и USEGCTOCSSLOG_MINLENGTH - отслеживание потребления памяти программы и периодическая чистка уже обработанных объектов в памяти.
    USECSSTOLOGMAXLENGTH - ограничение оформления CSS для разделов отчета больше 100000 символов.

    Итак...

    Изображение обложки Fairy Tail из Википедии.

    Скачал архив субтитров с fansubs: http://www.fansubs.ru/forum/viewtopic.php?t=12241&start=4650
    На момент скачивания в архиве было 4 каталога, 402 файла: 196 серий в двух вариантах, OVA, фильмы.

    Порядок проверки:
    1. Установил программу.
    2. Скачал и распаковал архив модулей орфографии (в конце установки программы ссылка на архив).
    3. Добавил параметр в user.param (для небольших объемов, в несколько десятков файлов, это не требуется).
    4. Бросил каталог с файлами на ярлык "Проверка основных форматов...".
    5. Подождал 600 секунд построения отчета.
    6. В браузере открылся отчет.

    Скачать (первый) отчет.

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

    воскресенье, 24 августа 2014 г.

    Обновление программы локализации до версии 0.12.0

    Изменения в программе:

    • Убрал настройку "для переводчика" из инсталлятора (ярлык проверки словарей устанавливается как "основные ярлыки").
    • Добавил подробные debug-отчеты.
    • Добавил настройку при установке запускающую браузер со страницей скачивания дополнительных словарей орфографии.
    • Для ряда отчетов добавил указание контекста.
    • Скорректировал названия файлов отчетов и их заголовков. 
    • Перенастроил ярлыки для рабочего стола.
    • Добавил информацию про блог и сайт в заголовки отчетов.
    • Отключил проверку кавычек и тире при проверке файлов через ярлык "Основные файлы" (для словарей проверяется).
    • Добавил в debug-отчеты указание о текущем занятом программой объеме памяти.
    • Добавил отчет по проверке вероятных Е/Ё в отчет по исходным файлам (раньше использовался только по словарю).
    • Добавил отчет именно по проверке исходных файлов через ярлык.
    • Для ярлыков проверки файлов значительно повысил скорость работы за счет отключения не нужных для них функций в программе.
    • Улучшена работа программы с памятью на больших объемах исходных данных.
    • Добавил возможность настройки сборщика мусора (GC) для управления им программой при обработке очень больших объемов исходных данных.
    • Расширил информацию в сообщении об ошибках в программе.
    • Добавил настраиваемое ограничение для оформления логов через CSS при слишком большом размере лога.
    • Добавил возможность отключить проверку орфографии.
    • Добавил подсветку в отчете ошибок Е/Ё и содержащих латинские буквы.
    • Оформление замечаний в отчете сделал через "chk" вместо "orpho:..."
    • Добавил информацию к процессу обработки файлов.
    • Упростил названия ряда ярлыков.
    • Добавил поддержку субтитров форматов ASS/SSA.
    • Добавил ряд правил правописания.
    • Убрал правило (многоточие из одного символа).
    • Добавил настраиваемую статистику.

      суббота, 9 августа 2014 г.

      Настраиваемая статистика на примере Don't Starve

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

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

      Определить наличие символов в тексте можно поиском, но необходимо запускать его по каждому вопросу и проводить раздельно по оригиналу и переводу.

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

      Принимая участие в локализации ряда проектов, сталкивался с различными требованиями у проектов к многоточию, тире и пр.
      Проверим какие правила написания многоточия и пр. используются в локализации игры Don't Starve.

      Для каждого правила в отчете указано количество найденных элементов для оригинала и перевода.

      После "броска" файлов локализации на ярлык проверки po-файлов был построен отчет. Фрагмент отчета см. на рисунке.



      среда, 9 июля 2014 г.

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

      В качестве перевода для фильмов часто используют субтитры, особенно это касается редких фильмов и передач.
      В интернете существует ряд сообществ перевода фильмов и сериалов, например, notabenoid.com.

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

      Для проверки ошибок оформления использована программа "Локализатор исходного кода". Как установить и использовать программу для проверки субтитров, оформил статьей "Проверка субтитров".

      В статье рассмотрены типичные ошибки оформления и представление их на экране телевизора. В качестве "железного плеера" использовался IconBit XDS7 3D (Чип: RTD1186; ПО v10.1.1 r9788).

      Простой пример строк с ошибками и без ошибок:


      Пример различных символов:


      Для каждого фрагмента субтитров ниже привел пример фрагмента отчета.

      Запятая отдельно от слова, а также двойной пробел:

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

        text:   двойной пробел  между словами,
         chk:   двойной пробел между словами
      
        text:   многоточие отдельно от слов ...
         chk:   многоточие в виде трех точек вместо единого символа (alt+0133), пробел между словом и тремя точками
      

      Проверка субтитров

      Проверку субтитров на орфографию и оформление можно проводить в программе "Локализатор исходного кода".
      Далее приведены шаги по установке, настройке программы и проверке субтитров.

      1. Установка и настройка программы


      Скачать (sourcelocalizer.ru) и установить программу "Локализатор исходного кода"

      Для проверки орфографии достаточно установленного OpenOffice, но лучше скачать пакет проверки орфографии и словарей по адресу http://sourcelocalizer.ru/help/downloadadditional.html,
      который нужно просто распаковать в каталог программы локализации (обычно это c:\Program Files\SourceLocalizer).
      Пакет позволит проводить проверки ошибок Е/Ё, а также предоставит расширенный функционал проверки.

      2. Проверка (через буфер обмена)

      Скопировать текст в буфер обмена и запустить ярлык "Буфер обмена - проверка орфографии...", после чего появится html-отчет по результатам проверки.

      3. Проверка (файлов, ASS/SRT)


      "Бросить" файлы/каталоги на ярлык "Проверка основных форматов..."


      И все :)

      Таким образом можно проверять произвольный текст, а не только субтитры.
      Можно проверять файлы, каталоги и пр. - см. справку.

      Пример проверки большого количества файлов субтитров (Fairy Tale) с настройкой словаря исключений. (в 64-битной версии программы не требуются дополнительные настройки)

      Пример фрагмента субтитров:

      суббота, 5 июля 2014 г.

      Обновление программы локализации до версии 0.11.0

      Скачать последнюю версию программы, а также познакомиться с последними изменения в программе можно на странице скачивания программы локализации

      Видео внесенных изменений с версии 0.10 до версии 0.11:



          Полная версия видео всей разработки:

          воскресенье, 15 июня 2014 г.

          Сборник словарей и модулей проверки орфографии

          Многие программы позволяющие производить проверку орфографии используют сторонние модули, как установленных программ (OpenOffice/MSWord/...), так и функции из файлов библиотеки hunspell.
          Кроме того, иногда необходимо скачивать дополнительно словари орфографии, например для поддержки "Ё".

          Данная статья предлагает вариант решения скачивания различных библиотек и словарей с целого ряда сайтов.

          Итак...

          вторник, 1 апреля 2014 г.

          С 1 апреля от "когтистого" SourceLocalizer'а :)

          На форуме forum.sources.ru в честь 1 апреля заменилась информация в профилях - см. пост "Проверка орфографии исходного кода проекта"

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

          C 1 апреля!


          Фрагмент темы на форуме:

          суббота, 15 февраля 2014 г.

          Обновление программы локализации до версии 0.10.0

          Изменения в программе:

          • (Порядок изменений: в обратном порядке их появления)
          • Добавил ссылку на скачивание дополнительных сторонних модулей.
          • Добавил в справку раздел "Вопросы и отчеты", а так же информацию о настройке словарей.
          • Добавил навигацию в html-отчеты для перехода между разделами.
          • Добавил общий файл параметров пользователя user.params для использования параметров во всех ярлыках и запусках программы.
          • Добавил параметр игнорирования орфографических ошибок, кроме ошибок с буквой Ё.
          • Переименовал ряд ярлыков.
          • При проверке орфографии учитываются ошибки при неправильном использовании буквы Ё.
          • Добавил ссылки на debug-лог в отчеты.
          • Добавил информацию о новых параметрах в справку.
          • Убрал слово "автоматический" из названий ярлыков.
          • Заменил множество временных каталогов при работе с ярлыками на один.
          • Добавил раздел в формате словаря пользователя для удобного внесения слов, неправильно отмеченными ошибками, в словарь исключений.
          • Для раздела отчета орфографии по текстовым фрагментам указываются и подсвечиваются ошибки с буквой Ё.
          • Проводится проверка по второму словарю, при его наличии, не только на ошибку с Ё, но и дополнительную проверку слова.
          • Добавлен автоматический подбор словарей с учетом проверки Ё, если они не заданы через параметры.
          • Добавил в список ошибок орфографии раздел по ошибкам с Ё, который можно использовать только при наличии hunspell, и словарей "с Ё" и обязательно "без Ё" или универсального.

          пятница, 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:   Это коньшмар!