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


 

вторник, 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.