PDA

Просмотр полной версии : Автоматизация перевода с помощью Civ4GameText Translator



ArhatPerm
06.11.2015, 15:15
Представляю вам очередную программу, облегчающую жизнь переводчика: 8330


8329


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


8331


Чтение: При установке флага "Создать новый файл файл" создается новый файл Civ4GameText.xlsx, в противном случае информация дописывается в существующий.
Нажмите "Чтение" и выберите папку с модом, с которого вы хотите считать русский текст. Программа ищет файлы с текстами как в указанной папке, так и во всех ее подпапках.
Добавляются в таблицу только теги в которых есть непустой тег <Russian>, в том случае, если он не дублирует соответствующий тег <English>. Т.е. если в русских тегах был просто продублирован английский текст и он не был изменен, считываться он не будет.
Если установить флаг "Считывать содержимое <English>" считываться будут все русские и английские теги, причем даже если тега <Russian> нет, в таблице он будет продублирован содержимым <English>. Эта функция может пригодиться для последующего перевода мода.

Редактирование: Тут все просто: открывается, созданный нами ранее, файл Excel для редактирования.

Запись: Выберите папку с модом, в который вы хотите перенести текст из таблицы.
Текст проверяется по внутриигровым тегам из первой колонки и, если тег <Russian> у переводимого мода отсутствует, то он добавляется первым (как в переводе 1С).
Если выставить флаг "Переносить содержимое <English> ", то, в случае, если в таблице нужный игровой тег будет не найден, в <Russian> копируется содержимое <English>, в противном случае тег <Russian> не создается.
Если выбрать "Удалять дополнительные языки" из файлов будут удалены все языки, кроме русского и английского, также эта функция приводит теги вида <English><Text>...<Text><English> (в некоторых модах они так прописаны) к классическому виду <English>...<English>, с которым умеет работать утилита от vpadlo (http://vpadlo.civfanatics.ru/cxt/cxt.exe).
При записи программа создает файл TranslatorLog.txt со списком измененных внутриигровых тегов.

Кодировка: Текст в автоматически переведенных файлах находится в кодировке windows-1252. В этой кодировке он свободно читается не только в Excel, но и в стандартном Блокноте. В более навороченных аналогах Блокнота редактировать не рекомендуется, так как они при сохранении могут автоматически перекодировать текст.
Если есть необходимость перевести текст в кодировку Цивилизации, файл нужно открыть в утилите vpadlo и сохранить. Чтобы утилита vpadlo не жаловалась на отсутствующие теги, файл нужно прогнать через запись с выставленными "Переносить содержимое <English> " и "Удалять дополнительные языки".
Возможно, когда-нибудь я еще вернусь к вопросу кодировки, но пока только так.

Пользуйтесь на здоровье, будут вопросы - задавайте.

Хитрец
15.11.2015, 20:12
На каком языке писал?

ArhatPerm
17.11.2015, 22:24
На каком языке писал?
На C#

Хитрец
18.11.2015, 18:38
Отлично, ни разу на С# не видел программу под циву!:huh:

ruevan
20.07.2018, 12:44
В 64-разрядных системах Windows данная программа не может прочитать данные и даже открыть папку с XML-файлами. Выпадает ошибка:

Не удалось получить фабрику класса COM для компонента с CLSID {4E58088E-7275-4EAA-8958-A9CCC971DDE9} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).