akey 35 #293225 Posted September 23, 2015 Чуть подробней опиши как должно выглядеть. Я к тому что в Орионе же нельзя два одновременно скрипта открыть. Вот и вывести экспорт (возможно какой то модуль потребуется, в идеале попап окно )в XML который автоматом откроет нотепад. Во втором Орионе открываем второй скрипт и так же экспортируем ( который так же попадет в уже открытое папап окно. Конечно если б при этом автоматом запускался бы компаре вообще бы была фантастика) нотепад же много вкладка. Самый затык это чтобы изменения внесенные в нотепаде, при сохранении, попадали в скрипт. Вот это и есть на мой взгляд автомат. Тогда просто упрощается погоня за оптимизацией клиента, то есть переделка под патчи. Quote Share this post Link to post Short link Share on other sites
fecell 125 #293242 Posted September 24, 2015 @StranikS_Scan Некоторые моды защищены от декомпиляции, и декомпиляторы выдают на них самые разнообразные ошибки. Про это уже раз 5 точно в этой теме писали. Пользуйтесь поиском по теме, перед тем как писать пост. Простейший поиск по Error: выкидывает 40-50% процентов постов с аналогичными вопросами и ответами. и это натолкнуло на мысль - в случае, если декомпиляция прерывается с ошибкой, то сообщать пользователю что дескать декомпиляция невозможна ввиду наложения на скрипт защиты от декомпиляции. Куча подобных вопросов отпадет сразу.. а изначально еще и проверку делать на наличии сам знаешь каких сигнальных строк в скрипте (pjorion_protected, mercger и т.п). 3 Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #293266 Posted September 24, 2015 а изначально еще и проверку делать на наличии сам знаешь каких сигнальных строк в скрипте (pjorion_protected, mercger и т.п).Вот это реальная тема будет. И баянов в разы меньше станет. А то еще питон понимать не начали, а уже декомпилить лезут... 2 Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #293320 Posted September 24, 2015 Это всё конечно очень хорошо, и я сам не раз обдумывал такую фичу, но есть одно но. Что толку юзверу, который плохо понимает, чем декомпиляция отличается от компиляции, от каких-то там сообщений аля "This script bytecode is obfuscated Mercger method. Standard decompilation impossible."? А тем кто понимает о чем идёт речь - такие сообщения врятли нужны. F3 в TotalCommander и сразу видно в каком виде скомпилен скрипт. Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #293356 Posted September 25, 2015 Что толку юзверу, который плохо понимает, чем декомпиляция отличается от компиляции, от каких-то там сообщений аля "This script bytecode has been obfuscated by Mercger method. Standard decompilation is impossible."?Немного поправил для корректного перевода) По крайней мере это уже можно скормить гугл-транслейту, чтобы понять в чем прикол. Если юзер догоняет, куда надо ткнуть, чтобы декомпильнуть скрипт, то ему должно хватить мозгов найти чем перевести эту фразу. Да и найти по этой фразе вопрос-ответ намного проще будет. Только вот то что гуглом многие не умеют пользоваться (хотя все когда-то учились), вот это уже более серьезная проблема. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #293367 Posted September 25, 2015 Немного поправил для корректного перевода) По крайней мере это уже можно скормить гугл-транслейту, чтобы понять в чем прикол. Если юзер догоняет, куда надо ткнуть, чтобы декомпильнуть скрипт, то ему должно хватить мозгов найти чем перевести эту фразу. Да и найти по этой фразе вопрос-ответ намного проще будет. Только вот то что гуглом многие не умеют пользоваться (хотя все когда-то учились), вот это уже более серьезная проблема. А что мешает сделать русский перевод? Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #293368 Posted September 25, 2015 А что мешает сделать русский перевод? Отсутствие человеко-часов на локализацию. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #293369 Posted September 25, 2015 Отсутствие человеко-часов на локализацию.Но в delphi есть отличнейший инструмент локализации. Только он использует dll для каждого языка... Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #293379 Posted September 25, 2015 Но в delphi есть отличнейший инструмент локализации.gettext вот это весчь. Никаких DLL, файлы без проблем конвертятся в текст и обратно (*.mo<->*.po). Картоха тоже пользуется) Одну локализацию пилишь (какую удобнее всего), другую просто переведут, ибо смотри строчкой выше. Насчет прикручивания к делфям - хз. Но к сям точно прикручивают. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #293385 Posted September 25, 2015 Но к сям точно прикручивают.Я ради картошкиных mo-файлов свой парсер написал для C++... Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #293431 Posted September 25, 2015 Я ради картошкиных mo-файлов свой парсер написал для C++...a gettext разве не вариант прикрутить? Упс) Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #293435 Posted September 25, 2015 a gettext разве не вариант прикрутить? Упс) Ребяты, я не знаю как вы, а я вот видел в деле эти утилиты, которые вставку перевода через скан exe делают. Я же делал локализацию для WTV на русский через QT. Приходилось часто слать репорты rextimmy чтобы он косяки правил, то пунктов нужных нет, то не туда, то не так, то интерфейс подгонять надо. Так что вы не думайте там что эта технология - манна небесная. Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #293451 Posted September 26, 2015 (edited) локализацию для WTV на русский через QT Эээ, сори, но что такое WTV? А то гугл не дает нормального ответа...Насколько я понял, WTV DDS File Viewer Я конечно не разбирался в алгоритмах локализации QT, но gettext работает вполне прозрачно и понятно. Есть подстановочная строка, по ней генерируется путь к файлу локализации и имя параметра - загружается нужное значение. Вряд ли что там может запутаться (без помощи нубокодера). По крайней мере явных багов локализации у картофана мне пока не попадалось. Да и если и были, то на 99% виноваты локализаторы. То что строки на разных языках разной длины - ну тут увы, ничего не поделаешь, нужно заранее продумывать длину с учетом на перевод, т.е. делать поля динамической длины и резиновый макет. которые вставку перевода через скан exe делаютЭээ, зачем такой гемор? А по нормальному никак что-ли? Не, я понимаю, если речь идет о переводе программы, не запиленной под локализацию (моноязычная). Кому то нечего делать, или очень хочется.Но если локализация (код) уже интегрирована в прогу, и проге кормятся файлы локализации, тогда все по сути должно быть аккуратно и ровно. В том то кстати и прикол gettext, что он автономный, и перевод без проблем можно отправить на аутсорс. Он от проги никак не зависит, скорее прога зависит от него. *.mo без проблем и потерь (контрольная сумма сохраняется) конвертится в *.po и обратно. Вот примеру содержание одного из картохиных файлов. Ну содержание я немного порезал, ибо очень длинно будет.Берем NPP или еще что нормальное, и правим как хотим, потом конвертим обратно в *.mo и наслаждаемся. Радиаликс и прочую неудобную лабуду выкидываем в топку (не, у них есть конечно прикольные финты, но ИМХО править текст в текстовом редакторе удобнее, а поскольку большинство модов локализации работает по принципу поиск-замена, если грамотно подойти к вопросу, текстовый редактор здесь лучшее вооружение на уровне, хотя если очень правильно подойти к вопросу, все делается грамотным скриптом, который во всякие радиаликсы и поэдиты не запихнешь, а вот текстовый файлик... это весчь). Ставим gettext (скорее всего придется ставить его на MinGW или что-то подобное) либо находим онлайн-сервис для конвертирования. Конвертим, правим, конвертим обратно. Плюс имеем весь инструментарий текстового редактора. UTF-8 по сути хавает любой язык (ЕМНИП), так что для перевода нужно чтобы у транслятора он был установлен. Но это не проблема, ибо он уже будет установлен)) msgid "" msgstr "" "Project-Id-Version: World Of Tanks\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-06-01 10:00+0300\n" "PO-Revision-Date: 2010-06-01 10:00+0300\n" "Last-Translator: WoT Translator <[email protected]>\n" "Language-Team: WoT Team <[email protected]>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" msgid "WFC2014" msgstr "«Футболист-2014»" msgid "WFC2014_condition" msgstr "" "• В общий зачёт шла максимальная серия побед подряд.\n" "• Серия прерывалась поражением.\n" "• Выдавалась всем игрокам победившей команды в период действия специальной " "футбольной акции." msgid "WFC2014_descr" msgstr "Победить в футбольном матче, управляя T-62A СПОРТ." msgid "achievement/master1" msgstr "3 степень" msgid "achievement/master2" msgstr "2 степень" msgid "achievement/master3" msgstr "1 степень" msgid "achievement/master4" msgstr "Мастер" msgid "achievement/maxMedalValue" msgstr ">%s" msgid "achievement/rank" msgstr "?empty?" msgid "achievement/rank1" msgstr " I степени" msgid "achievement/rank2" msgstr " II степени" msgid "achievement/rank3" msgstr " III степени" msgid "achievement/rank4" msgstr " IV степени" msgid "aimer" msgstr "«Целеуказатель»" msgid "aimer_condition" msgstr "" "• Победить в бою.\n" "• Серия увеличивается за каждую 1000 урона, нанесённого союзниками по вашим " "разведданным в течение одного боя.\n" "• Серия ведётся для каждой машины отдельно.\n" "• В общий зачёт идёт максимальная серия.\n" "• Выдаётся только в Случайных боях." msgid "aimer_descr" msgstr "" "Обеспечить передачу разведданных для нанесения союзниками 1000 единиц урона " "за один бой." msgid "armorPiercer" msgstr "«Бронебойщик»" msgid "armorPiercer_condition" msgstr "" "• Серия прерывается непробитием, рикошетом или промахом.\n" "• Серия ведётся для каждой машины отдельно и может продолжиться в следующем " "бою на этой же машине.\n" "• В общий зачёт идёт максимальная серия.\n" "• Выдаётся только в Случайных боях." msgid "armorPiercer_descr" msgstr "Пробить броню противника не менее 5 раз подряд." msgid "armoredFist" msgstr "«Бронетанковый кулак»" msgid "armoredFist_condition" msgstr "" "• Победить в бою.\n" "• Выдаётся всем членам команды.\n" "• Выдаётся только в Командных боях." msgid "armoredFist_descr" msgstr "Уничтожить всю технику противника, потеряв при этом не более 1 машины." msgid "arsonist" msgstr "«Поджигатель»" msgid "arsonist_condition" msgstr "• Выдаётся только в Случайных боях." msgid "arsonist_descr" msgstr "Уничтожить поджогом как минимум 1 машину противника." msgid "battleCitizen" msgstr "Операция «Ностальгия»" msgid "battleCitizen_condition" msgstr "" "• Выдавалась всем игрокам победившей команды.\n" "• При уничтожении союзника награда не выдавалась.\n" "• Выдавалась только в Случайных боях.\n" "• Выдавалась только одна награда за все проведённые бои в течение " "первоапрельской акции 2014 года." msgid "battleCitizen_descr" msgstr "Победить в бою, управляя мортирой «Karl»." msgid "battleTested" msgstr "«Проверенный боем %(rank)s»" msgid "battleTested_condition" msgstr "• Выдаётся только в Командных боях." msgid "battleTested_descr" msgstr "За количество наград, полученных в Командных боях." msgid "beasthunter" msgstr "«Зверобой»" msgid "beasthunter_condition" msgstr "" "\t• Aufklärungspanzer Panther\n" "\t• PzKpfw V Panther\n" "\t• Panther II\n" "\t• Panther/M10\n" "\t• Panther mit 8,8 cm L/71\n" "\t• Jagdpanther\n" "\t• Jagdpanther II\n" "\t• GW Panther\n" "\n" "\t• PzKpfw VI Tiger\n" "\t• PzKpfw VI Tiger (P)\n" "\t• PzKpfw VI Ausf. B Tiger II\n" "\t• Jagdtiger\n" "\t• 8.8 cm Pak 43 Jagdtiger\n" "\t• GW Tiger\n" "\t• GW Tiger (P)\n" "\n" "\t• Löwe\n" "\n" "\t• Leopard Prototype A\n" "\t• Leopard 1\n" "\n" "• Засчитывается сумма результатов по всем машинам.\n" "• В общем зачёте повторно полученные награды суммируются." msgid "beasthunter_descr" msgstr "" "Уничтожить 100 машин семейства кошачьих.\n" "Засчитываются:" Edited September 26, 2015 by GPCracker Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #293453 Posted September 26, 2015 Насколько я понял, WTV DDS File Viewer Нет, WOT Tank Viewer Эээ, зачем такой гемор? А по нормальному никак что-ли? Они все так работают, через скан и подмену текстовых констант. А ты сам-то в уме прикинь - вот у тебя проект на X-языке и есть сторонний модуль, который должен делать подмену текста в нем. О каких нормальных способах ты тут глаголишь? )))) Нормальный способ - это когда я сам делаю константы на разных язык и гружу текст из них при инициализации интерфейса. Вот тогда и настройку сразу прописать можно и локализовать только то что мне нужно и ни каких сторонних приблуд не надо. Quote Share this post Link to post Short link Share on other sites
GPCracker 2,088 #293454 Posted September 26, 2015 А ты сам-то в уме прикинь - вот у тебя проект на X-языке и есть сторонний модуль, который должен делать подмену текста в нем. О каких нормальных способах ты тут глаголишь? ))))Я так и написал, что переводить моноязычные приложения посредством хака ресурсов - это кому-то очень хочется и явно больше нечего делать. Нормальный способ - это когда я сам делаю константы на разных язык и гружу текст из них при инициализации интерфейса. Вот тогда и настройку сразу прописать можно и локализовать только то что мне нужно и ни каких сторонних приблуд не надо.Вот об этом я и говорю. Сказал в общем-то то же самое. Просто ты не понял) Речь идет про локализацию Ориона А что мешает сделать русский перевод? Отсутствие человеко-часов на локализацию.В общем-то, если ты говоришь, что нет времени на переводы, то может просто вынести тексты из программы в файлы локализации, а добрые люди всегда найдутся) Не знаю, каким образом точно там gettext интегрируется в приложение, не особо разбираюсь в делфях, но если его адекватным образом гружу текст из них при инициализации интерфейсаприкрутить, то будет очень даже неплохо. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #293463 Posted September 26, 2015 (edited) прикрутить, то будет очень даже неплохо. Да не надо это.... по двум причинам: - интерфейс среды программирования надо юзать в контексте того языка, на котором среда и написана. Питон на инглише написан, значит и интерфейс среды надо на иглише юзать. Переводить интерфейс среды на русский, это как кормить конфетами диабетика. Встречал такое и не раз - ну очень противно. - прикрутить, значит интерфейс окон адаптировать к переводу, однако слова и текст на русском ни фига не влезут по размеру, а это гемор еще тот. Если бы не п.1, я бы еще может и запилил, но п.1 идёт в разрез с моим мировоззрением по данном вопросу, вот мой посыл - товарищи программисты/скриптовики/мододелы и иже с ними, учите язык, на котором написан язык программирования! Это ни фига не сложно. Edited September 26, 2015 by StranikS_Scan Quote Share this post Link to post Short link Share on other sites
Azbuka 278 #293464 Posted September 26, 2015 Питон на инглише написан, значит и интерфейс среды надо на иглише юзать. Я считаю, что это в корне не верно. Ни один более-менее известный ЯП не использует великий и могучий. Все остальные ЯП используют английский язык, но это не мешает быть мультиязычными среды разработки, как, например, Visual Studio или Eclipse. значит интерфейс окон адаптировать к переводу, однако слова и текст на русском ни фига не влезут по размеру, а это гемор еще тот Каждый элемент интерфейса должен быть "резиновым" - уметь адаптироваться к размерам экрана и своему содержимому. вот мой посыл - товарищи программисты/скриптовики/мододелы и иже с ними, учите язык, на котором написан язык программирования! Фраза имеет запутанный смысл, но посыл верный. Прикрутите gettext, и не заморачивайтесь с переводами. Благодарные пользователи сами всё переведут. Quote Share this post Link to post Short link Share on other sites
StranikS_Scan 4,210 #293467 Posted September 26, 2015 (edited) Каждый элемент интерфейса должен быть "резиновым" - уметь адаптироваться к размерам экрана и своему содержимому. Ты же в курсе что такого ни когда не бывает? Я считаю, что это в корне не верно. Ни один более-менее известный ЯП не использует великий и могучий. Все остальные ЯП используют английский язык, но это не мешает быть мультиязычными среды разработки, как, например, Visual Studio или Eclipse. Дорогой, скажи это врачам, которые рецепты на латыни выписывают ))))) Пока врачи будут писать на латыни, программисты будут юзать тот язык, на котором он разработан. И первое и второе имеют одни и те же корни и причины. Edited September 26, 2015 by StranikS_Scan 1 Quote Share this post Link to post Short link Share on other sites
Azbuka 278 #293469 Posted September 26, 2015 (edited) Ты же в курсе что такого ни когда не бывает? Бывает. В GTK+, например, все контейнеры не имеют фиксированных размеров и изменяются в зависимости от содержимого и размеров родителя. Никогда не поверю, что в Дельфи нет подобного. Дорогой, скажи это врачам, которые рецепты на латыни выписывают Так это латынь? Я всегда думал, что это какой-то хитрый шифр, который знают только врачи и фармацевты. Пока врачи будут писать на латыни, программисты будут юзать тот язык, на котором он разработан. И первое и второе имеют одни и те же корни и причины. Писание рецептов на латыни позволяет понимать рецепты фармацевтам со всего мира, и это определённо имеет смысл. Но представте, что рецепты теперь пишутся не только на латыни, но и на всех остальных языках. Фармацевт знает русский - получит рецепт на русском, если же фармацевт китаец, но перевода нет, то он получит рецепт на латыни. В этом и есть смысл локализации: если есть нужный перевод, то будет предоставлен он, а в противном случае - текст на универсальном английском. Edited September 26, 2015 by Azbuka_slovensko 1 Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #293470 Posted September 26, 2015 (edited) Переводить интерфейс среды на русский, это как кормить конфетами диабетика.wtf??? учите язык, на котором написан язык программирования! Это ни фига не сложно.Питон на Си написан или на английском? Edited September 26, 2015 by ShadowHunterRUS 1 Quote Share this post Link to post Short link Share on other sites