Страница 1 из 2
Проблема с функционалом "сравнения файлов по содержимому"
Добавлено: Пт фев 17, 2012 04:41
silione
Ситуация следующая:
Решил немного для себя подправить перевод одного мода для игры civilization4. Весь текст в игре находится в xml файлах (по сути текстовые файлы). Взял старый перевод для его адаптации к последней версии мода, для этого сравнивал файлы по содержимому и редактировал необходимые строки. Наткнулся на такую проблему - попадаются файлы у которых, при сравнении по содержимому, не активна кнопка "редактирование" (на F6 тоже никакой реакции). При этом файлы таки сравниваются.
Дал бы скриншот, чтоб не быть голословным, но новичкам ссылки запрещено постить

На словах это выглядит так: окошко сравнения файлов по содержимому выглядит как и должно, в правом и левом окне содержимое соответствующих файлов с выделенными изменениями, а кнопка "редактирование" такая же неактивно "серая" как кнопки копирования и отката.
С чем это может быть связано?
Добавлено: Пт фев 17, 2012 05:10
Flasher
Файлы больше 2 Мб. Читаем справку.
Добавлено: Пт фев 17, 2012 18:30
silione
Flasher писал(а):Файлы больше 2 Мб. Читаем справку.
Размер сравниваемых файлов - 1 179 648 байт и 995 328 байт.
Причем среди редактируемых файлов есть и один файл размером 2,5 Мб и он нормально редактируется во время сравнения.
Еще идеи есть?
P.S.
Пробовал на двух разных компах с разными версиями total commandera - результат один. Вероятно дело именно в файле. Но что с ним с этим файлом может такого быть? Это ведь текст. И как это исправить?
Добавлено: Пт фев 17, 2012 18:44
MVV
Кодировка файла какая?
Галку "Двоичный" тотал при сравнении не ставит? Если ставит, снять и пересравнить.
Добавлено: Пт фев 17, 2012 19:04
CaptainFlint
silione
Ещё редактирование может оказаться запрещено, если в файле есть очень длинные строки.
Добавлено: Пт фев 17, 2012 19:56
silione
MVV писал(а):Кодировка файла какая?
Галку "Двоичный" тотал при сравнении не ставит? Если ставит, снять и пересравнить.
Кодировка ISO-8859-1, но она такая у всех файлов, а не редактируется только один.
Двоичный вид не включал, мне ведь текст редактировать.
Ещё редактирование может оказаться запрещено, если в файле есть очень длинные строки.
Вот, кажется оно, спасибо! Удалил часть текста в котором встречаются длинные строки и редактирование включилось. Теперь только разбираться вручную аккуратно надо будет искать и вырезать эти строки перед сравнением, а потом назад вставлять. А какая максимальная длинна строки в символах допустима?
Добавлено: Пт фев 17, 2012 20:49
MVV
silione, необязательно вырезать их. Можно просто добавить разрывов строки между любыми тегами или атрибутами, XML не чувствителен к наличию разрывов строк вне данных. Рекомендую разбивать так, чтобы было удобно сравнивать.
Иногда я, видя жуткие XML или HTML с длиннющими строками, регулярным выражением в текстовом редакторе добавляю разрыв строки, скажем, перед каждым открывающим тегом, так проще сравнивать файлы. Например, заменить <[^\/>]*> на \n\0, или ^(.{100,})(<[^\/>]*>) на \1\n\2 - так можно даже задать минимальное число символов строки, после которого тег будет переноситься на новую строку. При этом внутри тегов разрывы добавляться не будут.
Добавлено: Пт фев 17, 2012 21:27
silione
Спасибо за советы

буду дальше маятся.
Добавлено: Ср фев 22, 2012 09:33
Моторокер
Предлагаю предложить Гислеру показывать сообщение о причине невозможности редактирования (объём файла N Мб больше разрашённых 2 Мб/есть строка X длиннее N символов), чем тихо блокировать клавишу.
Добавлено: Ср фев 22, 2012 10:00
Avada
Моторокер
Предложить можно, но сейчас он этого делать практически наверняка не будет хотя бы потому, что подобные сообщения потребуют дополнительной локализации, на которую согласия Гислер не даст.
Добавлено: Ср фев 22, 2012 10:10
Моторокер
1914="Файл слишком большой"
1452="Мб"
---
1914 + " >2 " + 1452
Добавлено: Ср фев 22, 2012 10:42
MVV
Гислер до выпуска финалки вряд ли будет добавлять новые фичи.
Добавлено: Ср фев 22, 2012 10:49
Avada
Моторокер
Во-первых ничего нет про строки. Во-вторых, как правильно было сказано, добавление новых фич до финала крайне маловероятно.
Добавлено: Ср фев 22, 2012 13:00
Моторокер
Avada
Это уже во вторых, как выяснилось.
Это не фича.
Ладно, если на забуду, попробую сам запостить.
Добавлено: Чт фев 23, 2012 09:29
keiran_green
silione
Попробуй для сравнения использовать WinMerge.
Добавлено спустя 3 минуты:
Я его к TC прикрутил - очень удобно.