Судьба/Ночь схватки:Импорт текста: Difference between revisions

From Baka-Tsuki
Jump to navigation Jump to search
Dmc (talk | contribs)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
=Структура=
=Структура диалоговых файлов=
Все диалоги игры содержаться в файлах с расширением *.ks. и имеют примерно такую структуру:
Все тексты диалогов, используемые в игре, хранятся в файлах с расширением *.ks, имеющих следующую структуру:
<pre>
@скрипт
@скрипт
@скрипт
@скрипт
@texton
@texton
текст [l][r]
текст [l][r]
текст [l][r]
текст [l][r]
...
...
текст
текст
@pg
@pg
*page n|
*page n|
  @textoff
@textoff
</pre>
Все что находится между @texton и @textoff подлежит переводу, за исключением @pg, [l][r] и *pagen|, которые надо оставлять на своих местах.


=Word warp=
Собственно текст, подлежащий переводу, находится между метками @texton и @textoff. Служебные метки @pg, [l][r] и *page n| при переводе изменять не следует.
 
=Перенос слов=
==Теория==
==Теория==
К сожалению все игры написанные на движке kirikiri2 (к ним остносится и Fate) имеют одну плохую черту как разрыв слов, то есть текст: "Выпад, словно молния. Остриё копья разящее в сердце. Увернуться было бы невозможно. Молнию не увидеть человеческим глазом."; при вставке в игру будет иметь примерно такой вид: <pre>
Одним из популярных "движков", используемых при создании визуальных новелл, является kirikiri. Автоматическую расстановку переносов он не поддерживает, поскольку был написан японским программистом для использования только с японским языком (в котором переносы не применяются). Поэтому текст в играх, использующих kirikiri различных версий (в частности, kirikiri2 в ''Fate/stay night''), например: "''Выпад, словно молния. Остриё копья разящее в сердце. Увернуться было бы невозможно. Молнию не увидеть человеческим глазом.''" выглядит примерно так:
Выпад, словно молния. Остриё копья разящее в серд
Выпад, словно молния. Остриё копья разящее в серд
це. Увернуться было бы невозможно. Молнию не увид
це. Увернуться было бы невозможно. Молнию не увид
еть человеческим глазом.
еть человеческим глазом.
</pre>
Для использования переносов в игре их нужно явно задавать. Например, такая разметка:
Чтобы избежать этого надо текст проварпить, то есть в скриптах он должен иметь такой вид: <pre>[wrap text="Выпад,"]Выпад, [wrap text="словно"]словно [wrap text="молния."]молния.
[wrap text="Выпад,"]Выпад, [wrap text="словно"]словно [wrap text="молния."]молния.
[wrap text="Остриё"]Остриё [wrap text="копья"]копья [wrap text="разящее"]разящее  
[wrap text="Остриё"]Остриё [wrap text="копья"]копья [wrap text="разящее"]разящее  
[wrap text="в"]в [wrap text="сердце."]сердце. [wrap text="Увернуться"]Увернуться  
[wrap text="в"]в [wrap text="сердце."]сердце. [wrap text="Увернуться"]Увернуться  
[wrap text="было"]было [wrap text="бы"]бы [wrap text="невозможно."]невозможно.  
[wrap text="было"]было [wrap text="бы"]бы [wrap text="невозможно."]невозможно.  
[wrap text="Молнию"]Молнию [wrap text="не"]не [wrap text="увидеть"]увидеть  
[wrap text="Молнию"]Молнию [wrap text="не"]не [wrap text="увидеть"]увидеть  
[wrap text="человеческим"]человеческим [wrap text="глазом."]глазом.  
[wrap text="человеческим"]человеческим [wrap text="глазом."]глазом.  
[wrap text=""]  [wrap text="------But"][line3]But</pre>
...приведет к отображению текста в следующем виде (перенос по словам):
P.S. разбил на строки, чтобы в вики нормально отображалось
Выпад, словно молния. Остриё копья разящее в
Тогда в игре он будет отображаться нормально: <pre>
сердце. Увернуться было бы невозможно. Молнию
Выпад, словно молния. Остриё копья разящее в  
не увидеть человеческим глазом.
сердце. Увернуться было бы невозможно. Молнию
Конец строки (если необходим перенос по строкам) обозначается символами [l][r]:
не увидеть человеческим глазом.
[wrap text="Выпад,"]Выпад, [wrap text="словно"]словно [wrap text="молния."]молния.[l][r]
</pre>
  [wrap text="Остриё"]Остриё [wrap text="копья"]копья [wrap text="разящее"]разящее [wrap text="в"]в [wrap text="сердце."]сердце.[l][r]
[wrap text="Увернуться"]Увернуться [wrap text="было"]было [wrap text="бы"]бы [wrap text="невозможно."]невозможно.[l][r]
[wrap text="Молнию"]Молнию [wrap text="не"]не [wrap text="увидеть"]увидеть [wrap text="человеческим"]человеческим [wrap text="глазом."]глазом.[l][r]
Такая разметка приведет к отображению текста на отдельных строках:
Выпад, словно молния.
Остриё копья разящее в сердце.
Увернуться было бы невозможно.
Молнию не увидеть человеческим глазом.


Для того чтобы текст разбить не только по словам, но и по строкам, в конец кажой строчки добавляете [l][r]:<pre>
==Практика==
Выпад, словно молния.
Обработка переносов в ks-файлах для kirikiri может быть автоматизирована, например, с помощью утилиты xp3-wordwrap.exe, входящей в пакет [[xp3tool]] для работы с xp3-архивами.
Остриё копья разящее в сердце.
Для этого необходимо:
Увернуться было бы невозможно.
*Создать текстовый файл и вставить в него текст, подлежащий обработке
Молнию не увидеть человеческим глазом.</pre>
*Сохранить его в кодировке Win-1251 (ANSI) с расширением *.ks
Код:<pre>[wrap text="Выпад,"]Выпад, [wrap text="словно"]словно [wrap text="молния."]молния.[l][r]
*Создать командный файл (*.bat) с указанием входного и выходного файлов, например:
[wrap text="Остриё"]Остриё [wrap text="копья"]копья [wrap text="разящее"]разящее [wrap text="в"]в [wrap text="сердце."]сердце.[l][r]
xp3-wordwrap.exe "H:\work.ks" "C:\Fate_src\complete.ks"
[wrap text="Увернуться"]Увернуться [wrap text="было"]было [wrap text="бы"]бы [wrap text="невозможно."]невозможно.[l][r]
*Поместить командный файл в каталог с xp3-wordwrap.exe и запустить его
[wrap text="Молнию"]Молнию [wrap text="не"]не [wrap text="увидеть"]увидеть [wrap text="человеческим"]человеческим [wrap text="глазом."]глазом.[l][r]</pre>
*Для работы с полученным complete.ks нужно открыть его в кодировке 1251 (автоматом открывается в Unicode)
*Для облегчения работы полученный файл можно дополнительно обработать. На примере Akelpad (входит в состав комплекта с Total Commander):
Правка -> Заменить -> Что:
. [wrap text="
-> Чем:
.[l][r] \n[wrap text="
-> Esc-последовательность (галочка) -> Заменить все.
*Это позволит редактировать скрипт, заменяя блоки текста.


==Практика==
Вбивать все вручную нереально и занимет множество времени, поэтому чтобы преобразить нужный текст в пакет [[xp3tool]] входит программа для преобразования текста, называется она xp3-wordwrap.exe. Опишу алгоритм работы с программой:
* Создаем текстовой файл в кодировке 1251 (ANSI)
* Копируем туда нужный нам текст и сохраняем его с расширением .ks
* Создаем батник в директории с xp3-wordwrap.exe содержащий такой код <pre>xp3-wordwrap.exe "H:/work.ks" "C:/Fate_src/complete.ks"</pre>.
* Открываем complete.ks в кодировке 1251 (автоматом открывается в юникоде).
* Дальше для тех у кого есть Akelpad (входит в комплект с тотал командером): Правка->Заменить->Что: <pre>. [wrap text="</pre>->Чем:<pre>.[l][r] \n[wrap text="</pre>->Esc-последовательность(галочка)->Заменить все.
* Теперь просто редактируем нужный нам скрипт, заменяя блоки текста.
=Импорт=
=Импорт=
Знаю только одну программу для создания xp3 архивов, входит в пакет [[xp3tool]]: xp3-repack.exe.
Для создания xp3-архивов можно воспользоваться утилитой xp3-repack.exe, также входящей в состав пакета [[xp3tool]]. Эта программа работает в командной строке, но при частой работе с архивами удобнее воспользоваться разработанными специально для неё оболочками (GUI, см.ниже).
 
==Консоль==
* Создайте в катологе вместе с программой текстовик 123.bat.
* Впишите в него слейдущий код:
xp3-repack.exe directory archive.xp3 fate_full
где вместо archive.xp3 и directory задаете. ваше имя архива и папку для распаковки.
* Теперь запустите 123.bat через applocale.
 
==Gui==
==Gui==
* После распаковки закиньте в папку c [[xp3tool]] [http://narod.ru/disk/233124000/GUI.rar программы-интрейсы].
* После распаковки закиньте в папку c [[xp3tool]] [http://narod.ru/disk/233124000/GUI.rar программы-интерфейсы].
* Запускаем файл repacker.exe, в нем указываем имя соханяемого файла и католог со скриптами, нажимаем Go
* Запускаем файл repacker.exe, в нем указываем имя соханяемого файла и католог со скриптами, нажимаем Go
* Архив готов.
* Архив готов.
==Консоль==
* Создайте в катологе вместе с программой текстовик 123.bat.
* Впишите в него слейдущий код: <pre>xp3-repack.exe directory archive.xp3 fate_full</pre>, где вместо archive.xp3 и directory задаете. ваше имя архива и папку для распаковки.
* Теперь запустите 123.bat через applocale.

Latest revision as of 13:25, 15 January 2010

Структура диалоговых файлов[edit]

Все тексты диалогов, используемые в игре, хранятся в файлах с расширением *.ks, имеющих следующую структуру:

@скрипт
@скрипт
@texton
текст [l][r]
текст [l][r]
...
текст
@pg
*page n|
@textoff

Собственно текст, подлежащий переводу, находится между метками @texton и @textoff. Служебные метки @pg, [l][r] и *page n| при переводе изменять не следует.

Перенос слов[edit]

Теория[edit]

Одним из популярных "движков", используемых при создании визуальных новелл, является kirikiri. Автоматическую расстановку переносов он не поддерживает, поскольку был написан японским программистом для использования только с японским языком (в котором переносы не применяются). Поэтому текст в играх, использующих kirikiri различных версий (в частности, kirikiri2 в Fate/stay night), например: "Выпад, словно молния. Остриё копья разящее в сердце. Увернуться было бы невозможно. Молнию не увидеть человеческим глазом." выглядит примерно так:

Выпад, словно молния. Остриё копья разящее в серд
це. Увернуться было бы невозможно. Молнию не увид
еть человеческим глазом.

Для использования переносов в игре их нужно явно задавать. Например, такая разметка:

[wrap text="Выпад,"]Выпад, [wrap text="словно"]словно [wrap text="молния."]молния.
[wrap text="Остриё"]Остриё [wrap text="копья"]копья [wrap text="разящее"]разящее 
[wrap text="в"]в [wrap text="сердце."]сердце. [wrap text="Увернуться"]Увернуться 
[wrap text="было"]было [wrap text="бы"]бы [wrap text="невозможно."]невозможно. 
[wrap text="Молнию"]Молнию [wrap text="не"]не [wrap text="увидеть"]увидеть 
[wrap text="человеческим"]человеческим [wrap text="глазом."]глазом. 

...приведет к отображению текста в следующем виде (перенос по словам):

Выпад, словно молния. Остриё копья разящее в 
сердце. Увернуться было бы невозможно. Молнию
не увидеть человеческим глазом.

Конец строки (если необходим перенос по строкам) обозначается символами [l][r]:

[wrap text="Выпад,"]Выпад, [wrap text="словно"]словно [wrap text="молния."]молния.[l][r]
[wrap text="Остриё"]Остриё [wrap text="копья"]копья [wrap text="разящее"]разящее [wrap text="в"]в [wrap text="сердце."]сердце.[l][r]
[wrap text="Увернуться"]Увернуться [wrap text="было"]было [wrap text="бы"]бы [wrap text="невозможно."]невозможно.[l][r]
[wrap text="Молнию"]Молнию [wrap text="не"]не [wrap text="увидеть"]увидеть [wrap text="человеческим"]человеческим [wrap text="глазом."]глазом.[l][r]

Такая разметка приведет к отображению текста на отдельных строках:

Выпад, словно молния.
Остриё копья разящее в сердце.
Увернуться было бы невозможно.
Молнию не увидеть человеческим глазом.

Практика[edit]

Обработка переносов в ks-файлах для kirikiri может быть автоматизирована, например, с помощью утилиты xp3-wordwrap.exe, входящей в пакет xp3tool для работы с xp3-архивами. Для этого необходимо:

  • Создать текстовый файл и вставить в него текст, подлежащий обработке
  • Сохранить его в кодировке Win-1251 (ANSI) с расширением *.ks
  • Создать командный файл (*.bat) с указанием входного и выходного файлов, например:
xp3-wordwrap.exe "H:\work.ks" "C:\Fate_src\complete.ks"
  • Поместить командный файл в каталог с xp3-wordwrap.exe и запустить его
  • Для работы с полученным complete.ks нужно открыть его в кодировке 1251 (автоматом открывается в Unicode)
  • Для облегчения работы полученный файл можно дополнительно обработать. На примере Akelpad (входит в состав комплекта с Total Commander):

Правка -> Заменить -> Что:

. [wrap text="

-> Чем:

.[l][r] \n[wrap text="

-> Esc-последовательность (галочка) -> Заменить все.

  • Это позволит редактировать скрипт, заменяя блоки текста.

Импорт[edit]

Для создания xp3-архивов можно воспользоваться утилитой xp3-repack.exe, также входящей в состав пакета xp3tool. Эта программа работает в командной строке, но при частой работе с архивами удобнее воспользоваться разработанными специально для неё оболочками (GUI, см.ниже).

Консоль[edit]

  • Создайте в катологе вместе с программой текстовик 123.bat.
  • Впишите в него слейдущий код:
xp3-repack.exe directory archive.xp3 fate_full

где вместо archive.xp3 и directory задаете. ваше имя архива и папку для распаковки.

  • Теперь запустите 123.bat через applocale.

Gui[edit]

  • После распаковки закиньте в папку c xp3tool программы-интерфейсы.
  • Запускаем файл repacker.exe, в нем указываем имя соханяемого файла и католог со скриптами, нажимаем Go
  • Архив готов.