Перейти к содержимому
Zone of Games Forum

Рекомендованные сообщения

Я буду переводить, возьму пока OldLines02. Отписывайтесь, плиз, кто что берет.

ANTPro, если будет конвертер, то вообще супер. А пока чем богаты, тем и рады.

Изменено пользователем LostMonster

Поделиться сообщением


Ссылка на сообщение

Вот набросал простенький скрипт, который извлекает текст из файлов и собирает всё в один текстовый файл в кодировке UTF-8(BOM) имена файлов указаны в скобках [Attack01.csv]

BastionTextConverter.rar

Исходный код:

#Include <File.au3>$sCSVdir = FileSelectFolder ( "Укажите каталог с *.csv файлами игры", "", "", @ScriptDir); отображаем диалогIf $sCSVdir = "" Then Exit ; если ничего не выбрано, завершаем работу$aCSVfiles = _FileListToArray($sCSVdir, "*.csv", 1); собираем все файлы в массивDim $hCurFile, $sCurFile, $aCurFile, $sFullText, $iPos, $iLen ; объявляем переменныеFor $i=1 To $aCSVfiles[0]; крутим цикл столько раз, сколько файлов в каталоге$hCurFile = FileOpen ($sCSVdir & "\" & $aCSVfiles[$i], 0+128) ;открываем текущий файл для чтения + UTF-8(BOM)$sCurFile = FileRead ($hCurFile); читаем файл целикомFileClose ($hCurFile); закрываем файл$sFullText &= "[" & $aCSVfiles[$i] & "]" & @CRLF$aCurFile = StringSplit (StringStripCR ($sCurFile), @LF) ; разбиваем текст на строкиFor $j=2 To $aCurFile[0]; крутим цикл столько раз, сколько строк в файле$iPos = StringInStr ($aCurFile[$j], ","); определяем позицию запятой$iLen = StringLen ($aCurFile[$j]); определяем длинну строкиIf $iPos <> 0 And $iLen <> $iPos Then ; если запятая есть и длинна строки не равна позиции запятой, то$sFullText &= StringTrimLeft ($aCurFile[$j], $iPos) & @CRLF ; добавляем строкуEndIf   NextNext$sFullTextFile = FileSaveDialog ("Укажите файл, в который будет сохранён текст", @ScriptDir, "Текстовые файлы (*.txt)", 16, "Bastion Full Text.txt")If $sFullTextFile = "" Then Exit ; если ничего не выбрано, завершаем работу$hFullTextFile = FileOpen ($sFullTextFile, 2+128) ; открываем файл для записи + UTF-8(BOM)FileWrite ($hFullTextFile, $sFullText) ; пишем в файл весь текстFileClose ($hCurFile); закрываем файлMsgBox (0, "", "Готово! Весь текст в файле:" & @CRLF & $sFullTextFile)

 

Язык AutoIt

Изменено пользователем OLEGator84

Поделиться сообщением


Ссылка на сообщение

 

namespace BastionConverter{    class Program    {        static void Main(string[] args)        {            string path = @"D:\GAMES\Bastion\Content\Subtitles";            Subtitles.init(path, "en");            string[] lines=new string[subtitles.s_lines.Count];            Subtitles.s_lines.Values.CopyTo(lines,0);            File.WriteAllLines(path + ".txt", lines);        }    }}

 

Так проще :)

Поделиться сообщением


Ссылка на сообщение
Так проще :)

эм..просто построчное копирование из исходного файла в новый файл с форматом тхт?

Поделиться сообщением


Ссылка на сообщение

thumb_d3a19d8e343c6ae23a264c736cf1f1c0.jpg

Типа на затравку))

Кодеры, щас заценим ваше творчество, спс.

Поделиться сообщением


Ссылка на сообщение

Всем сюда ;)

http://notabenoid.com/book/20818/

2lREM1Xl

Да, с использованием оригинальных классов для чтения :)

Пока не сделал обратное преобразование, так что все завтра перепроверю. Но я думаю проблем не будет.

Поделиться сообщением


Ссылка на сообщение
Так проще :)

Спорить не буду, просто я кроме AutoIt ничего не знаю. ;)

Поделиться сообщением


Ссылка на сообщение

Пригодиться и AutoIt версия, так как в Bastion.exe только классы для чтения, запись придется писать самому.

Возникли кое какие проблемы со шрифтами. Будем с GolfNorth разбираться.

Поделиться сообщением


Ссылка на сообщение

 

ANTPro, я, как понимаю, добавить к тебе текст из другого файла в notabenoid не могу, правильно? Добавь тогда oldlines02, там удобней

Изменено пользователем LostMonster

Поделиться сообщением


Ссылка на сообщение
Ого Вовчик, ты и здесь уже....Давай бастион это круто надо что б он был русским))) раз вы с lastRemnant то Baston это семечки =)

Да тут программистов больше чем переводчиков. Парадоксальная ситуация.

ANTPro, а как ты потом собираешься собирать обратно после беноида? Конечно ничего невозможного нет, но зачем усложнять себе жизнь. Хоть бы метки или идентификаторы какие-то оставил.

Поделиться сообщением


Ссылка на сообщение

2LostMonster

Позже добавлю все.

2Himick

Идентификатором будет номер строки. Цифры в начале строки вечно все путают.

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


Ссылка на сообщение

Ну да если знать сколько строк в каждом исходном файле, не сложно всё раскидать обратно. Главное соблюдать порядок следования файлов. Хотя можно было и поставить какуюто метку перед началом текста файла, типа его имени.

з.ы.

только сейчас заметил, что строка берётся в кавычки, если в ней используется запятая.

Изменено пользователем OLEGator84

Поделиться сообщением


Ссылка на сообщение
только сейчас заметил, что строка берётся в кавычки, если в ней используется запятая.

Специфика этой csv'ехи. Есть ещё один нюанс. Если в тексте нужно поставить двойную кавычку, то она дублируется. Но это только если через блокнот правишь. Если через Гугл+AkelPad, то не нужно.

Я в своих проектах обычно использую такую структуру для перевода(пример для этой игры):

Attack01.csvAttack01_2=Say what you will about Zulf, but he's a man of his word.Attack01_3=Zulf was such a cordial man when first we met.Attack01_4=His countrymen don't much care for pleasantries though..................................................................................................Challenge01.csvChallenge01_2=The Breakers used to come here for target practice.Challenge01_3=Kid ain't had enough of the Breakers' Barracks..................................................................................................

 

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

Поделиться сообщением


Ссылка на сообщение

Народ, а нах морочиться-то??? В Гугл документах все элементарно делается и ничего менять не надо. Просто сохранить файл в исходном формате и все. Даже AkelPad не нужен,я проверил. Куда проще то??? Вообще заморачиваться не надо.

thumb_e914796f23a150ba8ac56ea3dabac8fa.jpg

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: SerGEAnt
      Жанр: Adventure Платформы: PC LIN Разработчик: Animation Arts Издатель: Animation Arts Дата выхода: 11 октября 2023 года
    • Автор: SerGEAnt
      Жанр: RTS Платформы: PC Разработчик: Quite OK Games Издатель: Quite OK Games Дата выхода: 10 апреля 2024 (ранний доступ)





Zone of Games © 2003–2024 | Реклама на сайте.

×