FLEI - MTK LangPack Editor (Importer/Exporter)

Вопросы-ответы по работе полезного софта и прочие вопросы

Модераторы: Lunat, pvsurkov, AlexG1, KSAT

FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#1 » Funt » 03 дек 2010, 03:59

Реализовал часть задуманного в виде программки для редактирования/импорта/экспорта ленгпака.
Программка сыровата, но в принципе уже вполне пригодна для использования.
Основные возможности:
1)Редактирование ленгпака без ограничения на размер фразы, есть возможность добавлять новые фразы (для случая когда одна фраза используется во многих местах и необходимо ее изменить только для некоторых случаев)
2)Импорт ленгпака из одной прошивки в другую по опорному языку с контекстным сравниванием. Т.е. пытаемся найти одинаковые блоки фраз в двух прошивках, что позволяет сделать более точный перевод (например фраза Off в зависимости от контекста будете переведена как Выкл., Выключить, Выключено, если в исходном ленгпаке есть разные варианты ее перевода для разных случаев)

Windows версию скачать можно тут.
Linux версию скачать можно тут.

Кратко о том как с программой работать:
Пока есть 2 режима работы - Редактирование (достаточно загрузки BIN1) и Импорт (нужно загрузить BIN1 и BIN2).
Прежде чем открыть файл прошивки с ленгпаком нужно заполнить поля "Table Offset" (если не стоит галочка на автопоиске языков), в поле "Reference language" - вписать/выбрать оффсет на таблицу опорного языка, в поле "Language to export" - оффсет на таблицу редактируемого языка или языка, который нужно импортировать в другую прошивку.
Если не использовать автопоиск, можно определить эти оффсеты в ручную, для этого нужно найти смещение по которому в прошивке записана фраза "Accept", "Принять" и т.д. в юникоде (для большинства случаев), отнять от смещения еденичку, добавить смещение scat файла, теперь пройтись поиском по файлу прошивки найдя полученной выражение в LE кодировке (т.е. переставить 4 байта полученного офссета задом наперед). Смещение по которому будет находится эта фраза и есть смещение таблицы ленгпака.
Теперь, если не используется автопоиск открываем файл с помощью кнопки Open или вписываем имя вручную и жмем Read.
Если используется автопоиск - кнопка Open - поиск языков в прошивке, кнопка Read - прочитать выбранные языки.
Получаем таблицу фраз.
Фраза написанная синим цветом - это фраза, которая используется в прошивке больше чем в одном месте. При редактировании таких фраз будет предложено изменить ее везде, или изменить ее только для данного индекса.

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

Если теперь открыть файл BIN2, то получим результат импорта языка "Language to export" в прошивку BIN2.
Опорный язык для BIN1 и BIN2 должен совпадать (например должен біть английски и там и там), "language to replace" - язык вместо которого планируется импортировать новый, по сути почти не используется, позволяет только определить помещается ли сделанный перевод на егом есто или нет.

Результат импорта - это ленгпак, каждой фразе которого задана вероятность точности перевода. В легенде таблицы есть обозначения цветов.
Например салатовый - вероятность правильного перевода очень высокая (2 предыдущие фразы и 2 последующие фразы одинаковые для обоих опорных языков).
зеленый - вероятность высокая (3 совпадения, или фраза встречается в прошивке только оидн раз)
дальше 2 совпадения, 1 совпадение...и т.д. до красного - фраза не найдена.

Кроме того можно заметить фразы жирным шрифтом - это фразы, которые в разных местах переводятся по разному, по умолчанию выбирается фраза с самой высокой вероятностью, вручную можно выбрать альтернативный перевод или ввести свою фразу.
Так же в режиме импорта таблицу можно сортировать и по этому признаку (пройтись по таких фразах можно с помощью кнопки "Next Alt Translations").

Чтобы вставить новую строку при редактировании фразы нужно нажать вместе "ENTER+CTRL".

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

При считывании ленгпака можно сразу убрать ненужные кавычки (часто фразы ленгпака обернуты в кавычки, или в тексте фразы встречается несколько кавычек подряд) и убрать дублирующиеся фразы для экономии места. Если этого не было сделано при считывании, то можно сделать позже через меню Edit.

Результат редактирования можно записать в прошивку с помощью кнокпи "Write BIN1", если результат занимает меньше места чем было до редактирования свободное место заполняется нулями. Результат импорта можно сохранить в прошивку нажав кнопку "Write BIN2". Можно так же сохранить языки в отдельный файл (точнее 2 файла - фразы и таблица оффсетов) с помощью меню "Save language". Также если число фраз изменилось, новое число записывается в таблицу ленгпака, при открытии файла программа сообщает если число фраз в таблице отличается от фактического числа фраз.
Пока не реализовано сохранения проэкта импорта. Т.е. получается что корректировку импорта нужно делать на одном дыхании :(

Сохранить/загрузить оффсеты таблицы ленгпака и др. настройки можно через меню File...

В планах на будущее:
1) Сохранения проэкта импорта и редактирования, чтобы можно было сохранять ленгпак вместе с вероятностью правильности перевода, альтернативными фразами и т.д.
2) Добавление локализаций програмы.
3) Правильное распознавание языков, правильная работа с MTK6253.

Просьба отписываться о багах.
Editor_small.jpg
Режим редаrтирования
(10.64 КБ) Скачиваний: 2001
import_small.jpg
Режим импорта/редактирования
(12.55 КБ) Скачиваний: 2001
Последний раз редактировалось Funt 29 дек 2010, 19:43, всего редактировалось 11 раз(а).
  • 9

Аватара пользователя
Funt
Гуру
 
Сообщения: 1166
Зарегистрирован: 03 окт 2009, 22:10
Откуда: Kyiv
Репутация: 228

Re: MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#2 » shvhome » 03 дек 2010, 09:25

1. Нет русского интерфейса. :-(
2. Не могу открыть ни одного файла - сразу же сообщение "Error during reading indexes table of reference language!"

Изображение
 Мои девайсы:
  • 0

Аватара пользователя
shvhome
Гуру
 
Сообщения: 1400
Зарегистрирован: 29 сен 2009, 18:47
Откуда: Архангельская обл., г. Няндома
Репутация: 442

Re: MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#3 » BSI » 03 дек 2010, 12:42

Funt, а путь к THIRD_ROM-у надо вручную прописывать в ini-файле? Или есть путь попроще?
клоны C5000 + HT Desire G7
B801_V100 2010/11/24 19:46
  • 0

Аватара пользователя
BSI
Гуру
 
Сообщения: 1161
Зарегистрирован: 11 ноя 2009, 01:47
Откуда: Москва,ЗАО
Репутация: 235

Re: MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#4 » Funt » 03 дек 2010, 16:01

shvhome писал(а):1. Нет русского интерфейса. :-(
2. Не могу открыть ни одного файла - сразу же сообщение "Error during reading indexes table of reference language!"

1. Со временем будет. Если у кого-то есть желание сделать перевод на какой-то язык, буду признателен.
2. Нужно сначало прописать оффсеты таблицы ленгпаков, потом открыть или "Read".
Пока нет автораспознавания ленгпаков :(

Добавлено спустя 2 минуты 43 секунды:
BSI писал(а):Funt, а путь к THIRD_ROM-у надо вручную прописывать в ini-файле? Или есть путь попроще?

Сначало нужно прописать оффсеты к таблицам ленгпака, потом файл можно выбрать по кнопке Open, или вписать и нажать Read.
Или можно откріть ini файл с уже вписанными оффсетами.
Вписанные значения сохраняются в save.ini каждый раз при нажатии Open или Read.

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

Сейчас краткую инструкцию напишу.
  • 0

Аватара пользователя
Funt
Гуру
 
Сообщения: 1166
Зарегистрирован: 03 окт 2009, 22:10
Откуда: Kyiv
Репутация: 228

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#5 » Veter0k » 07 дек 2010, 18:19

На windows 7 x64 не запускается, просит 32 битную яву.
Изображение
  • 0

Аватара пользователя
Veter0k
Специалист
 
Сообщения: 622
Зарегистрирован: 28 апр 2010, 20:40
Откуда: Made in USSR
Репутация: 194

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#6 » Funt » 07 дек 2010, 18:52

Veter0k писал(а):На windows 7 x64 не запускается, просит 32 битную яву.

Сенкс, гляну ;)

x64 версия
Последний раз редактировалось Funt 16 дек 2010, 01:22, всего редактировалось 1 раз.
  • 0

Аватара пользователя
Funt
Гуру
 
Сообщения: 1166
Зарегистрирован: 03 окт 2009, 22:10
Откуда: Kyiv
Репутация: 228

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#7 » Funt » 15 дек 2010, 02:15

Выложил новую версию 1.02.
Исправил баг с открытием файла настроек с оффсетами.
Добавил автопоиск языков (при использовании автопоиска кнопка Open - открыть файл и попытаться найти языки, Read - прочитать выбранные языки).
Дальше в планах запись результатов редактирования в файл прошивки.
Изображение
Изображение
  • 3

Аватара пользователя
Funt
Гуру
 
Сообщения: 1166
Зарегистрирован: 03 окт 2009, 22:10
Откуда: Kyiv
Репутация: 228

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#8 » Funt » 23 дек 2010, 02:37

Выложил новую версию 1.04.
Исправил некоторые баги. Добавил распознавание ленгпаков MTK6225-6226. Добавил запись результата редактирования в прошивку.

P.S. ВСЕГДА делайте бек-ап, перед записью результата редактирования в прошивку.
Отписывайтесь о багах.
  • 2

Аватара пользователя
Funt
Гуру
 
Сообщения: 1166
Зарегистрирован: 03 окт 2009, 22:10
Откуда: Kyiv
Репутация: 228

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#9 » _mayday_ » 24 дек 2010, 20:58

Funt
Все таки похоже глюк. Начало его выявления ты видел в теме о доработке прошивке.
Сегодня редактировал опять лэнг-пак. И после прошивки в списке вызовов (экс Центр обслуживания вызовов) в Архиве вызовов для SIM1 вместо первого пункта - "Пропущенные вызовы" - вижу "Счетчик SMS-сообщений"
Когда в этот пункт заходишь - все как положено, пропущенные вызовы.
В этот заход я вообще не редактировал ни одной из этих фраз. Отакэ.
Прошлые разы выстреливали на 1,02. Последний раз - на 1,04.
Zopo C2 rev.B
  • 0

Аватара пользователя
_mayday_
Специалист
 
Сообщения: 556
Зарегистрирован: 27 июл 2010, 15:40
Репутация: 251

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#10 » Funt » 26 дек 2010, 00:37

_mayday_ писал(а):Funt
Все таки похоже глюк. Начало его выявления ты видел в теме о доработке прошивке.
Сегодня редактировал опять лэнг-пак. И после прошивки в списке вызовов (экс Центр обслуживания вызовов) в Архиве вызовов для SIM1 вместо первого пункта - "Пропущенные вызовы" - вижу "Счетчик SMS-сообщений"
Когда в этот пункт заходишь - все как положено, пропущенные вызовы.
В этот заход я вообще не редактировал ни одной из этих фраз. Отакэ.
Прошлые разы выстреливали на 1,02. Последний раз - на 1,04.

При чтении ленгпака вместо Пропущенный вызовы в таблице тоже "Счетчик SMS-сообщений"?
Просьба более подробно описать, как эту багу можно воспроизвести, какой порядок действий.
  • 0

Аватара пользователя
Funt
Гуру
 
Сообщения: 1166
Зарегистрирован: 03 окт 2009, 22:10
Откуда: Kyiv
Репутация: 228

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#11 » _mayday_ » 27 дек 2010, 13:14

Так в том-то и дело, что уверенно воспроизвести не могу :(
первый раз "испортилось" не помню что.
Потом, второй раз - именно тот же самый "Счетчик" вместо "пропущенных" и еще несколько фраз в том же разделе. Причем пара - для сим1 (если правильно помню - указанные пропущенные и очистить журнал) и пара, но других - для сим2 (принятые или набранные и что-то еще, но не пропущенные)
Исправил целенаправленно именно эти позиции + еще по мелочи. Все Ок.
Через время открыл эту же, правленную прошивку и исправлял много-много-много чего. Но не этот раздел. Естественно внимания при чтении не обращал. И уже после того, как зашился - опять увидел "Счетчик" вместо "Пропущенных".

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

ЗЫ. Работаю "по живому" - т.е. с одним бином.
Zopo C2 rev.B
  • 0

Аватара пользователя
_mayday_
Специалист
 
Сообщения: 556
Зарегистрирован: 27 июл 2010, 15:40
Репутация: 251

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#12 » Funt » 28 дек 2010, 01:47

_mayday_ писал(а):Так в том-то и дело, что уверенно воспроизвести не могу :(
первый раз "испортилось" не помню что.
Потом, второй раз - именно тот же самый "Счетчик" вместо "пропущенных" и еще несколько фраз в том же разделе. Причем пара - для сим1 (если правильно помню - указанные пропущенные и очистить журнал) и пара, но других - для сим2 (принятые или набранные и что-то еще, но не пропущенные)
Исправил целенаправленно именно эти позиции + еще по мелочи. Все Ок.
Через время открыл эту же, правленную прошивку и исправлял много-много-много чего. Но не этот раздел. Естественно внимания при чтении не обращал. И уже после того, как зашился - опять увидел "Счетчик" вместо "Пропущенных".

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

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

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

ЗЫ. Работаю "по живому" - т.е. с одним бином.

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

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

Просьба отписаться, у кого не работает версия Windows 64.
  • 0

Аватара пользователя
Funt
Гуру
 
Сообщения: 1166
Зарегистрирован: 03 окт 2009, 22:10
Откуда: Kyiv
Репутация: 228

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#13 » _mayday_ » 28 дек 2010, 17:33

понятно, что реф не льется назад. И я не уверен, что раньше так не было(в смысле дырки). Но в глаза не бросалось. Теперь - бросилось. Вот внимание и обратил. Дырки сквозные - и в рефе тоже, т.е. не ошибка редактирования.
Причем, сейчас вот открыл (версией 1,04) - вижу еще кое-что интересное.
Первая пропущенная ячейка - позиция 304 (сортировку не трогал). Обе строки пустые, оффсет 0х0
Следующая пропущенная ячейка -позиция 386 - опять же обе пустые, оффсет 0х199D - уже странно как-то.
Дальше идет целый блок из трех пропущенных 425-427, пусто, оффсет - опять 0x199D
Дальше опять с нулевым оффсетом.. потом еще встречается 199D
В общем как бы вроде грязь на скорость не влияет, но подозрительно. Если так не было.
Кто ж теперь упомнит :(
в общем так сказать хозяйке на заметку.

ЗЫ. Скорее всего это последствия последовательного редактирования одной и той же прошивки разными версиями. Начал еще 1,0 + винхекс и добрался до 1,04.
PPS. В семерке x64 редактил версией 32-битной. Еще в самом начале. Тоже, просто отметил факт.
Zopo C2 rev.B
  • 0

Аватара пользователя
_mayday_
Специалист
 
Сообщения: 556
Зарегистрирован: 27 июл 2010, 15:40
Репутация: 251

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#14 » Funt » 28 дек 2010, 18:34

_mayday_ писал(а):Первая пропущенная ячейка - позиция 304 (сортировку не трогал). Обе строки пустые, оффсет 0х0
Следующая пропущенная ячейка -позиция 386 - опять же обе пустые, оффсет 0х199D - уже странно как-то.
Дальше идет целый блок из трех пропущенных 425-427, пусто, оффсет - опять 0x199D
Дальше опять с нулевым оффсетом.. потом еще встречается 199D

Это нормлаьная ситуация, в каждом фулле достаточно много пустых строк. Отсортируйте по алфавиту, так, чтобы пустые строки были в начале, можно будет увидеть их количество.
Попробуйте перейти в режим редактирования на 304 строке и 386.
оффсет 0х0 - это нулевой символ, т.е. прип опытке редактирования будет пустая строка без символов.
386 позиция - это скорее всего символ пробела, соответственно в режиме редактирвоания будетп робел.
Еще встречаются символы новой строки и другие. Все это нормально и они нужны для работы телефона.

Добавлено спустя 3 минуты 28 секунд:
_mayday_ писал(а):Причем, сейчас вот открыл (версией 1,04)

И лучше этой версией больше не редактировать из-за бага, в результате которого порядок строк сбивается :(
  • 0

Аватара пользователя
Funt
Гуру
 
Сообщения: 1166
Зарегистрирован: 03 окт 2009, 22:10
Откуда: Kyiv
Репутация: 228

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#15 » Funt » 16 янв 2011, 22:05

Обновил версию до 1.06.
Изменения:
- исправил ошибку при поиске в случае, если ни одна строка таблицы фраз не выделена
- добавил возможность нечувствительного поиска
- убрал кнопку перестановки местами настроек BIN1 и BIN2
- добавил возможность изменения имени и кодов языка (имя которое отображается в меню, код для выбора языка), пока работает только если смещения найдены автопоиском языков.
  • 1

Аватара пользователя
Funt
Гуру
 
Сообщения: 1166
Зарегистрирован: 03 окт 2009, 22:10
Откуда: Kyiv
Репутация: 228

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#16 » yu_mor » 17 янв 2011, 11:51

Funt, а как же чистка лишних пробелов после прямого редактирования и MTK Language editor? :-):
нужные пробелы в начале строк можно определять по их наличию в опорном языке.
Последний раз редактировалось yu_mor 17 янв 2011, 11:56, всего редактировалось 1 раз.
Huawei U8950D
  • 0

Аватара пользователя
yu_mor
Специалист
 
Сообщения: 392
Зарегистрирован: 13 янв 2010, 18:36
Откуда: Москва - Алексин
Репутация: 37

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#17 » Funt » 17 янв 2011, 11:55

yu_mor писал(а):Funt, а как же чистка лишних пробелов после прямого редактирования и MTK Language editor? :-):

Пока не успел...:(
  • 0

Аватара пользователя
Funt
Гуру
 
Сообщения: 1166
Зарегистрирован: 03 окт 2009, 22:10
Откуда: Kyiv
Репутация: 228

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#18 » yu_mor » 21 янв 2011, 12:50

Funt, и ещё было бы очень удобно для тех, кто не в теме оффсетов, таблиц адресов и форматов scatter-файлов сделать открытие мастерфулла через scat_*.txt , чтобы прога сама брала смещения из него.
я, например, только со второго раза понял, что таблица адресов ленгпака и адрес ленгпак - это не одно и то же :-):
Huawei U8950D
  • 1

Аватара пользователя
yu_mor
Специалист
 
Сообщения: 392
Зарегистрирован: 13 янв 2010, 18:36
Откуда: Москва - Алексин
Репутация: 37

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#19 » Марат » 13 мар 2011, 22:02

yu_mor писал(а):Funt, и ещё было бы очень удобно для тех, кто не в теме оффсетов, таблиц адресов и форматов scatter-файлов сделать открытие мастерфулла через scat_*.txt , чтобы прога сама брала смещения из него.
я, например, только со второго раза понял, что таблица адресов ленгпака и адрес ленгпак - это не одно и то же :-):

Полностью согласен!!!
Я вообще не могу разобрать с этими оффсетами.От куда ,что ,куда?
Помогите!!!кто чем может. :-):
Изображение
Pinphone 3GS
G14
  • 0

Аватара пользователя
Марат
Пользователь
 
Сообщения: 111
Зарегистрирован: 18 окт 2009, 13:40
Откуда: Киров
Репутация: 33

Re: FLEI - MTK LangPack Editor (Importer/Exporter)

Сообщение Ответ:#20 » Funt » 13 мар 2011, 23:13

yu_mor писал(а):Funt, и ещё было бы очень удобно для тех, кто не в теме оффсетов, таблиц адресов и форматов scatter-файлов сделать открытие мастерфулла через scat_*.txt , чтобы прога сама брала смещения из него.

Да, надо бы. Но в ближайшее время вряд ли что-то будет.

Добавлено спустя 5 минут 37 секунд:
Марат писал(а):Я вообще не могу разобрать с этими оффсетами.От куда ,что ,куда?
Помогите!!!кто чем может. :-):

Автопоиск не проходит? Если автопоиск не проходит, попробуйте сделать автопоиск для каждого scat offset из вариантов, которые там забиты.
Если не получится дайте линк на прошивку.
  • 1

Аватара пользователя
Funt
Гуру
 
Сообщения: 1166
Зарегистрирован: 03 окт 2009, 22:10
Откуда: Kyiv
Репутация: 228

След.

Вернуться в Обсуждение полезного софта

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

x

#{title}

#{text}