Полная Версия: Патч и Русификатор
Страницы: 1, 2, 3, 4, 5, 6, 7
Macbeth
Хорошая идея. С удовольствием бы посмотрел. Даже без новых квествов. Дверей на самом деле крайне мало...
The Master
Я Planescape на данный момент первый раз прохожу, но соглашусь, что дверей крайне мало, учитывая, что окружающие меня люди орут, что "порталы везде, никогда не знаешь..." — странно звучит. Не могу сказать, что игра короткая. 2 недели проходил, потом забросил, сейчас подумываю о возвращении, учитывая выход 1.66.
nevere
Reborn (ролик 0)
То, что, возможно, никогда не будет закончено. :)

QUOTE
Стараюсь забыть Плэйнскейп (не играл уже 1,5 года), чтобы хоть чуть-чуть приблизиться к ощущению первого прохождения. Но похоже nevere всю малину обломает.
Если речь об анонсированном дополнении, то нет причин для беспокойства — при правильном стечении обстоятельств, в обозримом будущем смогу осилить разве что только какую-нибудь "сырую" ознакомительную версию, состоящую, в лучшем случае, всего из нескольких локаций. :)
Buravsic
Классно, но лучше такие ролики не выкладывать, пока все не готово на 99%! Я помню посмотрел ролики и почитал о Planescape Trilogy и ждал пока выйдет хоть что-нибудь года два, в итоге сплошные разбитые мечты. Печально в общем это все.

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

Поставил на чистый Торнамент, сначало патч, потом руссик — все обновил — захожу в игру, и сразу вижу такой глюк.

Курсор белого цвета при движении оставляет шлейф из своих копий, + мигает раздражаюше, пробывал менять настройки графики и выставлять разную совместимость — нече не помогает и крайне раздражает в самой игре, посоветуйте плизз что можно сделать, очень хочеться поиграть с новым переводом.

Заранее спасибо!!!
nevere
QUOTE
Курсор белого цвета при движении оставляет шлейф из своих копий, + мигает раздражаюше
DirectDraw выполняется для игры в режиме эмуляции.

QUOTE
посоветуйте плизз что можно сделать
Отмените установку соответствующего компонента русификатора с помощью раздела удаления установленных программ панели управления Windows (DirectDraw Emulation for Torment.exe).

...либо запустите игру в оконном режиме.
Licvidatorius
Огромное спасибо — помогло.)

Только один вопрос не на какие квесты и прохождение в целом это не повлияет?

Всмысле после удаления этого файла.
nevere
Настройки никак не влияют на игровые задания и прохождение в целом, отвечают только за совместимость игры с некоторым оборудованием, операционными системами, требованиями игрока и прочими модификациями.
nevere
Обновил переведённый видеоролик с титрами. :)
- исправил хронометраж
- убрал активатор
- слегка улучшил качество изображения
Ссылки в первом сообщении темы.
Macbeth
nevere, тут мои товарищи по переводу посмотрели твой патч-русификатор...
Поправь там "символы-паразиты":
http://www.arcanecoast.ru/forum/download/file.php?id=412
http://www.arcanecoast.ru/forum/download/file.php?id=411
nevere
QUOTE
Поправь там "символы-паразиты"
Символы, указывающие на улучшение/ухудшение характеристики. :) Если интересна история их появления, есть обсуждение на нескольких страницах где-то в этой теме. Не совсем понял, что именно нужно поправить, если просто удалить, то наспех могу предложить такое решение для версии перевода от 13.04.2011 (№22). Нужно просто поместить указанный файл в каталог русификатора и отметить на странице компонентов пункт "Поиск и установка обновлений". Эта процедура никак не влияет на прохождение игры, поэтому может выполняться в любое время без какого-либо ущерба для этого процесса.
Macbeth
QUOTE
Символы, указывающие на улучшение/ухудшение характеристики. :)

От оно как. Тогда извини. :)
Godsatan
Тогда ещё обратите внимание на ошибку в описании кольца Дейонарры: "...колечко, сделанное из слоновой кости было частью наследства..." — поставьте запятую после "кости", это причастный оборот. Там же "Его свойстве не столь сильны. Так что ещё править и править.
nevere
QUOTE
От оно как.
Это должна была пояснять соответствующая книга, которую никак не соберусь с силами дописать. :)

QUOTE
Так что ещё править и править.
Знаю об этом как никто другой. :) Мне известны почти все ошибки перевода и недочёты, которые там ещё остались и вопрос уже давно не стоит об их поиске и обнаружении, всё дело непосредственно за самим исправлением, которым в том числе, я занимаюсь по мере сил и возможностей. Это можно отчётливо видеть, если время от времени загружать периодически появляющиеся обновления. Описания предметов (кольцо Дейонарры в их числе) уже несколько месяцев назад исправила adrianna. Не все её правки успел пока перенести в базовый вариант перевода, но все они уже были доступны для ознакомления всем желающим на предыдущей странице.

P.S.: Любой желающий по-прежнему может подключаться к процессу перевода на любом его этапе.
Maxxim
Может быть, несколько упростить процесс совместной работы над переводом?

nevere, ты какими техсредствами пользуешься при переводе? Только Infinity Translator?
nevere
QUOTE
Может быть, несколько упростить процесс совместной работы над переводом?
А разве сейчас он не достаточно прост? :)

QUOTE
nevere, ты какими техсредствами пользуешься при переводе? Только Infinity Translator?
Infinity Translator использую только в тех случаях, когда нужно увидеть структуру, помимо него пользовался в разное время и для разных целей актуальными версиями следующих программ:

BG2 TLK Editor — для отделения заголовков и форматирования текста.

Multilizer — в основном для автоматизации рутинных операций. Без использования некоторых его функций, пожалуй, даже несколько человек могли бы потратить ни один месяц на то, что одному его (или любого из аналогов) пользователю под силу выполнить за несколько часов. Кроме прочего поддерживает поиск в TDA и обмен данными с учётными записями Google (к вопросу об упрощении). Если нужно, могу предоставить одну из последних TMX. Из недостатков: относительная дороговизна и требовательность к ресурсам системы, без достаточности которых может очень долго думать над некоторыми операциями.

UEStudio — для реализации нестандартных алгоритмов автоматической замены.

WinMerge и UltraCompare — по их прямому назначению.

И несколько программ с функциями проверки правописания (так и не разобрался, как настроить Hunspell под Multilizer) — для автоматического поиска ошибок на этапе черновой обработки.

Редактирование текста осуществлял, так или иначе, во всех перечисленных программах. Возможно, использовал что-то ещё, точно уже не помню. :)
Maxxim
Ага, значит, интеграция с Google Translate уже есть. Понятно.

Но использовать для перевода художественного текста программу, предназначенную для локализации ПО — своеобразное решение. Используешь Multilizer, потому что для тебя это привычный рабочий инструмент или по какой-то другой причине?

Опиши, пожалуйста, свой workflow от исходного dialog.tlk до переведенного. Какие инструменты используются на каком этапе? Может быть, смогу помочь что-то оптимизировать.

Например, мой рабочий инструмент — memoQ — на мой взгляд, может заменить несколько используемых тобой. И это только для начала. В нём нет (и, возможно, не будет) интеграции с Google Translator Toolkit, но зато работает Hunspell. :)
nevere
QUOTE
предназначенную для локализации ПО
В чём Вы видите принципиальное отличие? На мой взгляд, в этой версии есть всё необходимое для работы с любым текстом.

QUOTE
Используешь Multilizer, потому что для тебя это привычный рабочий инструмент или по какой-то другой причине?
Так сложилось исторически. :)

QUOTE
Опиши, пожалуйста, свой workflow от исходного dialog.tlk до переведенного. Какие инструменты используются на каком этапе?
1. Получаем текстовый файл с помощью BG2 TLK Editor (если нужен не весть текст, а только определённый диалог, используем команду "Export..." в Infinity Translator).

2. Загружаем полученный текст в нужный редактор.
Multilizer.
В зависимости от цели настраиваем парсер, чтобы задать необходимое представление (поблочно, построчно и т.д.). Открываем английский вариант. Импортируем перевод.
WinMerge и UltraCompare.
Используем, когда необходима быстрая оценка проделанных изменений.


3. Вносим изменения.
UEStudio.
Используем в основном для конструкций типа ^[^$^]*^[^$^] [A-Z][~А-я] ^{ A^}^{B^} или чего-то подобного.


4. Сохраняем результат.

5. Получаем диалоговый файл с помощью BG2 TLK Editor (если нужен не весть текст, а только определённый диалог, используем команду "Load patch..." в Infinity Translator).

6. При необходимости создаём файл обновления, загружаем его на сервер, после чего проделанные изменения становятся доступны любому желающему непосредственно в игре на любом её этапе.

Сейчас в основном использую Multilizer для устранения недочётов выявленных автоматическим (propagation, validation и т.п.) путём (осталось примерно 2000 позиций).

QUOTE
Например, мой рабочий инструмент — memoQ — на мой взгляд, может заменить несколько используемых тобой.
Кроме собственного сервера не нашёл в memoQ 4.5.74 значимых отличий от Multilizer. Вообще, думаю, с унификацией, в процессе совместного перевода Planescape: Torment, могут возникнуть некоторые сложности. Поясню. Перевод этой игры — некоммерческий проект. Число желающих в нём участвовать, в лучшем случае невелико. Участвовать регулярно, думаю, ещё меньше. Необходимость приобретать и осваивать определённый продукт, требуемый для участия, может окончательно отбить желание у потенциальных добровольцев.
Maxxim
Извини, я сейчас немного отклонюсь от темы (но позже вернусь), чтобы задать вопрос.

Не написали ли еще программы, с помощью которой можно было бы автоматически конвертировать весь dialog.tlk в файл текстового формата, в котором строки диалогов располагались бы не в исходном «хаотичном» виде, а в сколь-нибудь приближенном к диалоговым деревьям? Может быть, WeiDU это уже умеет?

Я за этим делом не следил 5 лет, и, чем тратить массу времени на поиск ответа типа «да-нет», лучше сразу задам вопрос знающему человеку.
Lostman
WeiDU не умеет выделять строки, относящиеся к определенному файлу, точнее умеет, но порядок строк при этом нарушается — вместо того, чтобы заменить переведенные строки, он добавляет их в конец Dialog.tlk.

Я для своего проекта сделал самопальные скрипты, которые вычленяют нужные строки из декомпилированного Dialog.tlk согласно расположению по файлам.
Maxxim
Lostman, кажется, один из нас другого не понял. Не уверен, кто кого, поэтому на всякий случай поясню, зачем задавал такой вопрос. :)

Сконвертировать — автоматически и целиком — dialog.tlk в файл текстового формата, в котором строки диалогов располагались бы в виде диалоговых деревьев, на мой взгляд, очень полезно как для перевода, так и для последующей вычитки и правки.

Диалоговые деревья позволяют оценить ближайший контекст и структуру диалога. Четкое представление о контексте — одно из непременных условий адекватного перевода. Контекст игры в широком смысле (фабулу/сюжет, персонажей, локации) наверняка помнит каждый, кто играл в неё. Однако, даже те, кто прошел игру не раз и не два, вряд ли смогут легко восстановить в памяти каждый из сотен диалогов.

Смогут ли твои скрипты выполнить эту задачу?
nevere
QUOTE
Не написали ли еще программы, с помощью которой можно было бы автоматически конвертировать весь dialog.tlk в файл текстового формата, в котором строки диалогов располагались бы не в исходном «хаотичном» виде, а в сколь-нибудь приближенном к диалоговым деревьям? Может быть, WeiDU это уже умеет?
Теоретически такая программа может существовать, но мне она не попадалась. :) С другой стороны, если я правильно понял задачу, все необходимые для создания такого файла функции давно реализованы во многих программах. Если вдуматься, генерация общего текста на основе структуры диалогов это то же самое, что генерация текста для каждого диалога в отдельности с последующим объединением в один файл + строки не входящие в диалоги. Т.е. строите текстовые файлы со структурой сколько-нибудь приближенной к диалоговым деревьям для всех диалогов игры, объединяете всё это в один файл и добавляете выпадающую разницу. Переводите. Производите обратное преобразование. Построение можно производить, например, с помощью команды --trans той же WeiDU; либо с помощью того же Infinity Translator, попутно компенсировав его неумение экспортировать оптом, какой-нибудь AutoIt; либо с помощью любой другой программы с соответствующими функциями. Получившиеся файлы можно даже не объединять, что, на мой взгляд, только упростит процесс. Разве не решаются такие задачи за счёт масштабирования проекта? Загружаете все получившиеся файлы в программу перевода, добавляете неструктурированный Dialog.txt и сообщаете программе, что это единое целое. После чего редактируя структурированные части у вас будет обновляться и общий текст — по-моему, очень удобно.

QUOTE
WeiDU не умеет выделять строки, относящиеся к определенному файлу, точнее умеет, но порядок строк при этом нарушается — вместо того, чтобы заменить переведенные строки, он добавляет их в конец Dialog.tlk.
Если мне не изменяет память, это не совсем так. :) В конец они добавляются, если делать через --transin, а если через STRING_SET, то вроде и по нужным позициям можно. Не помню точно на счёт WeiDU, но "BiggDU" должен, по идее, с этим справляться.
Maxxim
Поскольку Lostman заговорил о самодельных скриптах, позволю себе немного развить свою идею.

Дерево диалогов в текстовом виде — это строки, отбитые табуляцией на нужный уровень вложенности. Одно дерево диалога от другого отделяется двумя переводами строки. В один текстовый файл входят все деревья диалогов, относящиеся к той или иной локации. Это же технически возможно сделать своими силами, да? Отдельно — файлы с содержанием справки, описаниями вещей и т.п. Возможно ли соответствующие строки из dialog.tlk распределить по файлам автоматически?

Обратно преобразовывать это дерево не придется. Экспортировать перевод обратно в неструктурированный Dialog.txt нам помогут наши кошки.

У моей кошки есть одна функция, которая, как мне кажется, будет полезна и для перевода и для редактуры. Это поле комментариев, которое имеется у каждой пары сегментов «оригинал — перевод». В это поле можно записывать всяческую полезную техническую информацию о каждой строке диалога (например, кто и на какой локации её произносит). Потом при помощи моей кошки по содержимому комментариев можно очень легко отфильтровывать из всего массива текста, скажем, только реплики нужного персонажа / на нужной локации. Это полезно, например, для оценки стилистического единства перевода реплик одного и того же персонажа — особенно если над ними трудятся несколько людей. Можно придумать и другие полезные применения.

Для того, чтобы этой функцией воспользоваться, нужно лишь чтобы наша (гипотетическая) программа-преобразователь параллельно с деревом диалогов создавала один простой текстовый файл в формате «строка диалога — tab — комментарий».

Единственный вопрос в том, возьмется ли кто-либо из вас такую программу создать.
nevere
QUOTE
Дерево диалогов в текстовом виде — это строки, отбитые табуляцией на нужный уровень вложенности. Одно дерево диалога от другого отделяется двумя переводами строки.
В текстовом виде невозможно отобразить циклические переходы. В лучшем случае получится воспроизвести структуру .d-файла, а это уже есть. Замена схемы "THEN REPLY — GOTO — THEN BEGIN" табуляторами приведёт, на мой взгляд, только к переполнению текста многократными повторами и никак не улучшит его восприятие.

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

QUOTE
Отдельно — файлы с содержанием справки, описаниями вещей и т.п. Возможно ли соответствующие строки из dialog.tlk распределить по файлам автоматически?

Обратно преобразовывать это дерево не придется. Экспортировать перевод обратно в неструктурированный Dialog.txt нам помогут наши кошки.

У моей кошки есть одна функция, которая, как мне кажется, будет полезна и для перевода и для редактуры. Это поле комментариев, которое имеется у каждой пары сегментов «оригинал — перевод». В это поле можно записывать всяческую полезную техническую информацию о каждой строке диалога (например, кто и на какой локации её произносит). Потом при помощи моей кошки по содержимому комментариев можно очень легко отфильтровывать из всего массива текста, скажем, только реплики нужного персонажа / на нужной локации. Это полезно, например, для оценки стилистического единства перевода реплик одного и того же персонажа — особенно если над ними трудятся несколько людей. Можно придумать и другие полезные применения.
По-моему все эти задачи превосходно решаются программой перевода и без помощи каких-либо кошек.

QUOTE
Для того, чтобы этой функцией воспользоваться, нужно лишь чтобы наша (гипотетическая) программа-преобразователь параллельно с деревом диалогов создавала один простой текстовый файл в формате «строка диалога — tab — комментарий».

Единственный вопрос в том, возьмется ли кто-либо из вас такую программу создать.
Возвращаемся к тому, с чего начинали. Возможно, не всем понравятся такие усовершенствования. :)
Maxxim
Сначала о терминах. То, что я называю «кошки» — это то же самое, что ты называешь «программы перевода». Multilizer — тоже «кошка». Терминов типа «программы перевода» я не употребляю, потому что у большинства они ассоциируются исключительно с машинными переводчиками типа ПРОМТа. Правильный термин — что-нибудь типа «программные средства автоматизации труда переводчика» — выходит слишком длинным, поэтому я называю их просто «кошки».

Что касается привязки диалогов к локациям — я и не ожидал, что всё решится простой одноходовкой. Нет локационных маркеров в файлах логики диалогов — ну и ладно. Но ведь можно извлечь информацию о привязке диалогов к локациям, проанализировав цепочку других ресурсов? Или нет?

Циклы в диалогах нужно разрывать. Пусть в результате получатся отдельные ветки диалоговых деревьев — свою задачу они выполнят.

Еще раз об этой задаче. О том, зачем я вношу эти свои предложения.
Диалоговые деревья позволяют оценить ближайший контекст и структуру диалога. Четкое представление о контексте — одно из непременных условий адекватного перевода. Контекст игры в широком смысле (фабулу/сюжет, персонажей, локации) наверняка помнит каждый, кто играл в неё. Однако, даже те, кто прошел игру не раз и не два, вряд ли смогут легко восстановить в памяти каждый из сотен диалогов.
nevere
QUOTE
Сначала о терминах. То, что я называю «кошки» — это то же самое, что ты называешь «программы перевода».
Будем считать, с CAT разобрались. :) На мгновение показалось, что в дополнение к Вашему "рабочему инструменту" Вы используете что-то ещё.

QUOTE
Но ведь можно извлечь информацию о привязке диалогов к локациям, проанализировав цепочку других ресурсов? Или нет?
Скорее нет, чем да. Даже если Вы выясните координаты через скрипт или напрямую через локацию, Вам это мало что даст, если мне не изменяет память, активация той или иной ветки диалога не всегда зависит от положения её обладателя.

QUOTE
Диалоговые деревья позволяют оценить ближайший контекст и структуру диалога. Четкое представление о контексте — одно из непременных условий адекватного перевода. Контекст игры в широком смысле (фабулу/сюжет, персонажей, локации) наверняка помнит каждый, кто играл в неё. Однако, даже те, кто прошел игру не раз и не два, вряд ли смогут легко восстановить в памяти каждый из сотен диалогов.
Внимательно читаю сообщения, относящиеся к теме, и понял это ещё с первого раза и даже задолго до этого. Пытался лишь сказать, что, на мой взгляд, оптимальные варианты уже реализованы. Ввод табуляторов приведёт схему вида
1,2,3->4
к виду
1->4
2->4
3->4
да ещё и со смещением на несколько сотен символов в некоторых случаях. Вероятно, не всем это может показаться удобным. :)
Maxxim
Что имеется в виду под «оптимальными вариантами»? Держать открытым Infinity Translator и сверять ближайший контекст/структуру диалога по нему?

А что с тэгами типа <ЧИСЛО>Текст<END> в dialog.txt?

И не возникало ли желания избавиться от пустых, отладочных и неиспользуемых строк в dialog.tlk? Или это технически затруднительно? Насколько я понимаю, неиспользуемые ресурсы можно вычислить. Или легче их игнорировать?
nevere
QUOTE
Что имеется в виду под «оптимальными вариантами»?
Имел в виду текстовое представление структуры диалога. Вряд ли получится сделать лучше того, что уже реализовано в WeiDU, Infinity Translator и т.п.

QUOTE
Держать открытым Infinity Translator и сверять ближайший контекст/структуру диалога по нему?
С учётом наличия у блоков цифровых идентификаторов это не намного сложнее, чем пролистывание затабулированного текста с многократными повторениями. :) К тому же если используются структурированные части, такой сверкой придётся пользоваться не так уж и часто.

QUOTE
А что с тэгами типа <ЧИСЛО>Текст<END> в dialog.txt?
Что с ними не так? :) Тэги используются для наведения программы перевода на блоки (игровые строки) и для построения tlk-файла. При добавлении текста из dialog.txt используем, например такие настройки парсера, после чего получаем в программе примерно следующее. Если для обработки нужны меньшие части, режем блоки правилами сегментации. Можно нарезать на строки или на слова. При добавлении структурированного текста, например из d-файлов, используем, такие настройки или что-то похожее. Масштабирование удобно тем, что при редактировании диалогового текста проделанные изменения автоматически учитываются во всех связанных частях.

QUOTE
И не возникало ли желания избавиться от пустых, отладочных и неиспользуемых строк в dialog.tlk? Или это технически затруднительно? Насколько я понимаю, неиспользуемые ресурсы можно вычислить. Или легче их игнорировать?
Разве не для этого в программе перевода существуют исключения? :)
Ardanis
QUOTE
И не возникало ли желания избавиться от пустых, отладочных и неиспользуемых строк в dialog.tlk? Или это технически затруднительно? Насколько я понимаю, неиспользуемые ресурсы можно вычислить. Или легче их игнорировать?
Очень плохая мысль — удалять оригинальный контент. От этого могут запросто полететь моды, предполагающие наличие оригинала, а не самопальной версии. Особенно если они используют STRING_SET.
Maxxim
Ardanis, объясните, пожалуйста, чем грозит «самопальной версии» отсутствие перевода такого ценного контента, как, например,
QUOTE
I'm Dak'kon. A githzerai. One of the party members. I don't have anything to say right now. You should check out my cool combat animations, though. Too bad there aren't any Chambara movie death animations for monsters I kill...
Dak'kon: "Watch my sword: koroshicharu!"
Hive Thug: "Gaaahh... munen nariiii..." *Sssssssss* <--- arterial blood spray *thud*
Dak'kon: "Fmm." *sching* <-- *karach* blade being sheathed
(Cherry blossoms fall from top of screen.)


nevere,
Вижу, что в Мультилайзере с сегментацией всё в порядке. :) Пользователи кошек, в которых отсутствуют или не развиты фильтры / средства сегментации, пользуются полезной утилиткой PrepTags (возможностей бесплатной версии им как правило достаточно).

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

Ещё что не понял — с какой хитрой целью у тебя в мультилайзеровском проекте используется как целый dialog.txt, так и отдельные (экспортированные) диалоги? чтобы легче было ориентироваться в диалогах? Чтобы можно было отдельным исполнителям поручать переводить отдельных персонажей? Чтобы проект умещался в гугловский лимит на размер исходного документа в 1 МБ? Всё вышеперечисленное? :)

В целом убедился, что у тебя всё настолько грамотно решено в техническом плане, что и не поулучшаешь. :) Хотя, может быть, тебе пригодится хороший бесплатный слоник с полезными функциями проверки содержимого TMX. (Впрочем, уже не удивлюсь, если ты скажешь, что в Мультилайзере это есть. :)

Возьму твои TMX поглядеть. Если готов открыть их всем, залей, пожалуйста, на файлообменник. Если только мне, отправь по э-почте.
Ardanis
QUOTE
Ardanis, объясните, пожалуйста, чем грозит «самопальной версии» отсутствие перевода такого ценного контента, как, например,
Dialog.tlk:
#0 = ~Cool item~
#1 = ~Sword~
#2 = ~Sword +1~
#3 = ~More stuff~
#4 = ~Whatever~

После удаления мусора получится, скажем:
#0 = ~~
#1 = ~Sword~
#2 = ~Sword +1~
#3 = ~More stuff~
#4 = ~Whatever~

Теперь попробуем установить мод
CODE
BEGIN ~Add Cool Item~

COPY ~mymod/coolitem.itm~ ~override~
SAY NAME1 #0
Но нулевая строка пустая, а значит итем будет называться никак. Провал.

Ваш пример, конечно, имеет очень малый шанс что-нибудь завалить, но риск все равно есть и он никуда не денется. Как говорится, better safe than sorry.
Решайте сами, конечно, но как моддер я не рекомендую этого делать.
Maxxim
Легко сделать так, чтобы отладочные и прочие неиспользуемые строки в dialog.tlk просто не появлялись в составе текста, подлежащего переводу:
  1. Очищаем dialog.txt от «лишних» строк, получаем dialog.clean.txt
  2. Добавляем в проект dialog.clean.txt и dialog.txt
  3. Работаем с dialog.clean.txt
  4. Когда надо выпустить очередную версию перевода — просто делаем pretranslate и export dialog.txt — все «лишние» строки там останутся на месте, просто не будут переведены.
Дело, как всегда, за тем, кто напишет скрипт/утилитку для очистки. (Помню, еще давно, кажется, у Платтера на сайте была табличка неиспользуемых ресурсов Тормента. Ведь вычислял же кто-то.)
Lostman
Количество неиспользуемых строк исчезающе мало, проще их перевести, нежели выдумывать скрипты, которые их вырезают. Кроме того, "вырезать" — это, как правильно подметили, всегда чревато.
nevere
QUOTE
Не понял твоей фразы про исключения. Говоря об отладочных и неиспользуемых строках, я имел в виду то, что процитировано выше (плюс еще энное количество текста, не столь явно проявляющего себя как неиспользуемый). Хотя, может быть, неиспользуемого не так много и его проще будет взять и перевести, чем ждать, что кто-то напишет программку для чистки?
В файле, предложенном ниже, "перевод" технических и неиспользуемых строк (всего тысяча с лишним позиций) совпадает с оригиналом, за исключением незначительной части охваченной автоматикой. Зная это, на мой взгляд, не составляет никакого труда добавить их в исключения программы перевода. Если нужно при этом сохранить их отображение, можно просто сменить статус ненужных строк на "только чтение".

QUOTE
Ещё что не понял — с какой хитрой целью у тебя в мультилайзеровском проекте используется как целый dialog.txt, так и отдельные (экспортированные) диалоги? чтобы легче было ориентироваться в диалогах? Чтобы можно было отдельным исполнителям поручать переводить отдельных персонажей? Чтобы проект умещался в гугловский лимит на размер исходного документа в 1 МБ? Всё вышеперечисленное? :)
Скорее первое. :)

QUOTE
Возьму твои TMX поглядеть.
Готов поделиться этим. Уверен, что это лишнее, но на всякий случай тут список тех позиций с некоторыми характерными ошибками, которые ещё не успел проверить.
Maxxim
Спасибо, nevere, посмотрел TMX.

Туда затесались русские строки про некий «ЭКСПЕРИОР» без английских исходников. Надо понимать, это какой-то мод?

В продолжение разговора: перечень неиспользуемых ресурсов Тормента нагуглился довольно легко. Что-то из этого уже восстановлено в твоем дистрибутиве? К сожалению, никакой документации или истории изменений к нему я найти не смог.

Еще любопытно, чем отличается Infinity Translator 0.99.8 DCS от последней оригинальной версии 0.99.6 (ну, кроме того, что правая панель правильно растягивается? :)

Насколько я понимаю, на данный момент существует аж три «проекта русского перевода Planescape:Torment», время от времени подающие признаки жизни. Кроме патча nevere (который, наверное, сам не станет громко именовать свою работу «проектом перевода»), я нашел еще Проект русификации Planescape: Torment от Lostman (ранее известного как azamat) и Проект перевода Planescape: Torment (он же на еще одном форуме) от Macbeth.

Авторы! Расскажите, пожалуйста, чем ваши проекты друг от друга отличаются и какие между вами существуют неразрешимые противоречия?
Lostman
Начну с себя.

Наш (уже наш, так как появились единомышленники) проект основывается на той парадигме, что существующие пиратские переводы — из рук вон плохие, и поэтому лучше начать перевод с чистого листа. Чем, собственно, мы занимаемся с 2009 года. За плечами 2 года и больше половины всех (55 %) значимых сообщений из Dialog.tlk. Мы используем формат Gettext различными примочками в виде глоссария на TMX и кошек (CAT).
Maxxim
Lostman, так чем же ваш проект отличается от других и какие между вами (авторами проектов) существуют неразрешимые противоречия?

И можно ли ознакомиться с плодами ваших трудов (желательно в любом кошкопонятном формате, том же TMX)?
Lostman
Все лежит здесь — https://github.com/winterheart/planescape
https://github.com/winterheart/planescape/b...er/po/terms.tbx — наш глоссарий в формате TBX
Все остальное разбросано по файлам https://github.com/winterheart/planescape/t.../ru/LC_MESSAGES

Ну основное, "идеологические", противоречие в том, что я считаю, что сделать из объективно плохого перевода хороший — это гораздо затратней, чем сделать хороший с нуля. Насколько я знаю, два остальных основываются на Фаргусовском переводе с его терминологией и стилем подачи текста.
Maxxim
Ой, у меня глаза разбежались! :) Насколько я понял, ты написал парсер, при помощи которого растащил текстовые ресурсы по сотням отдельных файлов. Что где лежит и как вы с этим справляетесь? :) В чём преимущество такого подхода? В том, что каждый может утянуть себе маленький кусочек и его перевести? Коллективная работа, значит, организована через GitHub? А единой памяти переводов нет? Или она хранится у тебя локально? Как тогда решается проблема с одинаковыми / аналогичными строками в сотнях файлов?

Я могу еще много вопросов задать, лучше ты сам расскажи о том как твой проект организован в плане технических решений и workflow.
nevere
QUOTE
Туда затесались русские строки про некий «ЭКСПЕРИОР» без английских исходников. Надо понимать, это какой-то мод?
Любой текст после 68510 строчки, так или иначе, какая-то модификация. Строки без английских исходников относятся к той, которая обсуждалась примерно здесь.

QUOTE
Что-то из этого уже восстановлено в твоем дистрибутиве?
Если не всё, то многое.

QUOTE
Еще любопытно, чем отличается Infinity Translator 0.99.8 DCS от последней оригинальной версии 0.99.6 (ну, кроме того, что правая панель правильно растягивается? :)
Несколько мелких правок касающихся технической стороны некоторых операций, растяжение правой панели не в их числе, оно нормально работает при определённых условиях и в ранних версиях программы. Вообще, по идее, если Вы переводили Planescape: Torment с помощью Infinity Translator 0.99.6, то должны были заметить разницу. :)

QUOTE
чем ваши проекты друг от друга отличаются
Вероятно, тем самым подходом. :)

QUOTE
какие между вами существуют неразрешимые противоречия
Таких, думаю, не существует в принципе.
Licvidarius
Народ такой вопрос у меня, вообшем версия вроде как 2 — дисковая, но устанавливается с файлов TormentS-1 и TormentS-2 и ЕХЕ — шник.

Короче устанавливаю игру — на выходе получаю версию 1.1 потом устанавливаю патч 1.66 и руссификатор 1.66 со всеми включеными галочками, вроде все встает норм и играет, но перед каждым диалогом или словом стоят непонятные цифры. Например — 665678 Морт подлетел к вам и задал вопрос. Или 65468 Это скальпель с его помошью можно наносить удары, и все в таком духе.

Что мне сделать, что бы все встало как надо и без этих цифр???
nevere
Чтобы убрать цифры переустановите патч, затем русификатор, при установке которого не отмечайте компонент "Strref On". Либо найдите в файле Torment.ini находящемся в каталоге игры строчку "Strref On" и установите значение 0.
Licvidarius
А устанавливаю я все верно да? Просто я не вкурсе какая именно у меня версия и какой именно руссификатор стоит(.

И еще вопрос, смогу ли я норм пройти от начало до конца используя ваш патч и руссификатор, и все ли побочные квесты проходимы?
nevere
QUOTE
я не вкурсе какая именно у меня версия и какой именно руссификатор стоит
Если я правильно понял, не имеет никакого значения. Патч и русификатор из этой темы должны без проблем устанавливаться на любые версии игры, любые её "сборки" и модификации (даже нерабочие).

QUOTE
И еще вопрос, смогу ли я норм пройти от начало до конца используя ваш патч и руссификатор, и все ли побочные квесты проходимы?
Если найдёте что-то непроходимое, пишите. ;)
Licvidarius
Спасибо за ответ.

Еще 1 вопрос — будит ли в ближайшем будушем обновления руссификатора или патча и нужно ли после этого накатывать НО СД 1.66???
nevere
QUOTE
будит ли в ближайшем будушем обновления руссификатора или патча
Не раньше осени этого года, вероятно. :)

QUOTE
нужно ли после этого накатывать НО СД 1.66
Отключение проверки наличия компакт-дисков — одна из опций доступных при установке русификатора, в дополнительном использовании noCD 1.66 необходимости нет.
Licvidarius
Ясно спасибо — будим играть значит. Как я понял обновления будут влиять восновном на исправления текста, баги и глюки в игре как я понял давно исправлены уже — так?
nevere
Мне известно как минимум о сотне ошибок игры, которые не были ещё никем исправлены, но в основном это мелкие недочёты, не влияющие существенным образом на её прохождение, что подтверждается лишний раз отсутствием сообщений от игроков о каких-либо серьёзных проблемах. Хотя если обнаружите таковые, могу предложить, как и прежде, сообщать об этом. :)
Armast
nevere, спасибо большое за патч и русификатор! Очень помогло!
nevere
Рад если получилось сделать что-то полезное. :) Возможно, до конца этого года появятся обновлённые версии, и может быть что-нибудь ещё для игры. ;)
Ваш ответ: