• Добро пожаловать на WYLEK.ru. Пожалуйста, войдите или зарегистрируйтесь.
 
86 гостей, 1 пользователь

MindGenius

Автор Teodorrrro , 05 июля 2015, 17:39:00

« предыдущая - следующая »

Teodorrrro Автор темы

Тема создана 05 июля 2015, 17:39:00
Всем привет!
При переводе MindGenius (программа для создания ментальных карт) столкнулся со следующими проблемами.

Не могу найти названия стилей для перевода.



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


Не знаю, как извлечь и изменить значки команд ленты. В ресурсах окон RCData они обозначаются как свойства Glyph.Data = {бинарные данные, то есть сам значок}. например, мне хочется русифицировать значок сортировки и кнопки стилей текста (ЖКЧ).


Программа написана на одной из последних версий Delphi. Корректно с ней работать позволяет только Passolo 2015 (поддерживает Embarcadero® Delphi XE).

Программа и неоконченный перевод:
Извините, вам запрещён просмотр содержимого спойлеров.
Пароль архива стандартный.
Если уже была запущена английская версия программы, то перед копированием русскоязычных файлов необходимо удалить файл Toolbars.ini в папке C:Users<имя пользователя>AppDataRoamingMindGeniusV6[/hide]

Leserg

Ответ #1 : 05 июля 2015, 18:39:00 #1 Последнее редактирование: 29 июля 2018, 19:00:15 от WYLEK
Не удалось мне запустить программу с твоими локализованными файлами. Не находит файл Welcome.mgtx, хотя в указанном каталоге он есть. Программа показывает пустое окно и аварийно завершает свою работу.



Где-то переведено что-то лишнее. Объем локализации большой, тяжело сказать где и что. Это я пока добавил в каталог только один локализованный файл MindGenius.rus и нема дела. Да, и формат файла MindGenius.rus странный - это исполняемый файл с расширением .rus. Локализованная библиотека ресурсов должна быть на порядок меньше. Проверь настройки проекта.

Названия стилей и категории шаблонов прописаны в файлах с расширением *.mgmt (папка "Templates"). Файлы представляют собой архив ZIP, который содержит бинарные данные с массивами изображений и текста. Необходимо разбираться с внутренним форматом файла - это долгая песня.

Так как я не смог увидеть локализованную версию в работе, то мне не совсем понятен вопрос:
 
Цитата: teodorrrroНе знаю, как извлечь и изменить значки команд ленты.
Зачем извлекать значки, если на них нет текста? Или имеются в виду всплывающие подсказки:



Если так, то они находятся в главном исполняемом файле.
Кто ищет, тот всегда найдет!

Teodorrrro Автор темы

Ответ #2 : 06 июля 2015, 08:39:00 #2
Leserg, см. выше текст, выделенный жирным.

И это не ZIP архив, а Compound-файл ("составной" файл): https://en.wikipedia.org/wiki/Compound_File_Binary_Format

Я хочу перерисовать некоторые значки.

Leserg

Ответ #3 : 06 июля 2015, 09:39:00 #3 Последнее редактирование: 29 июля 2018, 19:01:17 от WYLEK
Цитата: teodorrrro;16818И это не ZIP архив, а Compound-файл
Вполне возможно. Я сужу по заголовку файла "РП", глядя на него в НЕХ-редакторе.

Цитата: teodorrrroЯ хочу перерисовать некоторые значки.
Я бы сначала завершил отладку локализации, а потом брался бы за графическую часть. Хозяин - барин.

В исполняемом файле переведены лишние строки, которые идут в реестр и файл Toolbars.ini. В реестре вообще получается тихий ужас:



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

Teodorrrro Автор темы

Ответ #4 : 06 июля 2015, 10:39:00 #4
Может, дело в Windows XP?

 Надеюсь, при отмене части перевода в самом интерфейсе не останутся непереведённые куски!
У меня в реестре кодировки не изменены, а в тех разделах следующее:


Нашёл предполагаемое место со строками, которые переносятся в реестр. Проверяю...
Да, переведенные строки из реестра исчезли. Однако, в окне экспорта HTML теперь некоторые пункты на английском.


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

mishem

Ответ #5 : 06 июля 2015, 11:39:00 #5 Последнее редактирование: 29 июля 2018, 19:02:11 от WYLEK
Цитата: teodorrrroдело в том, что некоторые одни и те же значения используются несколько раз
Я все прекрасно понимаю. Нужно смотреть по ситуации конечно, но самая распространенная ошибка, это переводить все подряд.
Вот смотри, строки из программы Expresso



На первый взгляд кажется что можно перевести много строк. Но переводу подлежит только Miscellaneous Expression, и то я точно не уверен, но по идее это всплывающая подсказка.
Можно сделать перевод слов Maximum, Minimum, misc, и т.д. Но их переводить нельзя. Может быть программа и будет работать, да и даже скорей всего будет (не охота проверять), но их переводить нельзя! Это может быть название объекта, константа, значение и т.д. к которым по этому слову будет где то, когда то обращаться какая нибудь команда. Вполне возможно что пользователь даже не увидит ошибки, отображение ошибок может быть просто отключено, программа обработает событие по какому нибудь условию, типа если произошла ошибка, выполнится совсем другое действие. Пользователь даже не поймет, но команда выполнится не верно!

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

Leserg

Ответ #6 : 06 июля 2015, 12:59:00 #6 Последнее редактирование: 29 июля 2018, 19:02:39 от WYLEK
Имена категорий находятся в файлах *.mgmt (папка "Templates"). Отредактировать (перевести) их можно утилитой Structured Storage Viewer. Дополнительная информация по формату Compound Binary: раз ссылка, два ссылка, три ссылка. Вот в одном файле (PEST - Analysis.mgmt) перевел категорию "Brainstorming" (Мозговой штурм):



Правда пропал значок категории. Не знаю почему. Может в файле каким-то образом идет привязка строки "Brainstorming" к определенному значку или это сделано в исполняемом файле. Имена стилей также находятся в *.mgmt. Кодировка строк - Unicode. Пока можно пробовать переводить эти строки в НЕХ-редакторе. Сперва извлекаешь при помощи Structured Storage Viewer файловый поток MapData (команда контекстного меню "Save Stream..."), переводишь строки (там они дублируются и какие можно переводить, выяснишь опытным путем). Обрати внимание, строки также имеют счетчики. Сохраняешь изменения и загружаешь поток обратно ("Load Stream..."). Утилита напрямую вносит изменения в файл, без каких-либо предупреждений и сообщений! Поэтому предварительно сделай резервные копии файлов *.mgmt. Стили также прописаны в файлах .mgmt из папки "Styles". В общем, основное направление работы - файлы *.mgmt. Пробуй.

Я пока ничего не нашел по редактированию потока MapData, возможно и нет ничего. Попробуй поискать самостоятельно. Если нет ничего, то надо углубляться в спецификации формата. Но это при наличии свободного времени и желания.
Кто ищет, тот всегда найдет!

Teodorrrro Автор темы

Ответ #7 : 07 июля 2015, 12:59:00 #7 Последнее редактирование: 29 июля 2018, 19:08:04 от WYLEK
Значки находятся в специальной папке. Чтобы вернуть значок, нужно создать копию нужного значка и переименовать его на русский вариант категории.

 Попробовал - работает! Изменял это значение:


 В программе всё путём!


 И файлы спокойно открываются и редактируются!
 А стили трогать не буду. Там и так всё предельно понятно.
 P.S.: Результат переименования категорий и шаблонов:



 аталог@MAIL.RU - каталог ресурсов интернет Яндекс.Метрика