Судьба/Ночь схватки:Импорт текста: Difference between revisions
slightly edited style / слегка "причесал" стиль |
|||
Line 1: | Line 1: | ||
=Структура= | =Структура диалоговых файлов= | ||
Все | Все тексты диалогов, используемые в игре, хранятся в файлах с расширением *.ks, имеющих следующую структуру: | ||
@скрипт | |||
@скрипт | @скрипт | ||
@скрипт | @texton | ||
@texton | текст [l][r] | ||
текст [l][r] | текст [l][r] | ||
текст [l][r] | ... | ||
... | текст | ||
текст | @pg | ||
@pg | *page n| | ||
*page n| | @textoff | ||
= | Собственно текст, подлежащий переводу, находится между метками @texton и @textoff. Служебные метки @pg, [l][r] и *page n| при переводе изменять не следует. | ||
=Перенос слов= | |||
==Теория== | ==Теория== | ||
Одним из популярных "движков", используемых при создании визуальных новелл, является 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="бы"]бы [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] | |||
Такая разметка приведет к отображению текста на отдельных строках: | |||
Выпад, словно молния. | |||
Остриё копья разящее в сердце. | |||
Увернуться было бы невозможно. | |||
Молнию не увидеть человеческим глазом. | |||
==Практика== | |||
Обработка переносов в ks-файлах для kirikiri может быть автоматизирована, например, с помощью утилиты xp3-wordwrap.exe, входящей в пакет [[xp3tool]] для работы с xp3-архивами. | |||
Для этого необходимо: | |||
*Создать текстовый файл и вставить в него текст, подлежащий обработке | |||
*Сохранить его в кодировке Win-1251 (ANSI) с расширением *.ks | |||
*Создать командный файл (*.bat) с указанием входного и выходного файлов, например: | |||
xp3-wordwrap.exe "H:\work.ks" "C:\Fate_src\complete.ks" | |||
[wrap text=" | *Поместить командный файл в каталог с xp3-wordwrap.exe и запустить его | ||
[wrap text=" | *Для работы с полученным complete.ks нужно открыть его в кодировке 1251 (автоматом открывается в Unicode) | ||
*Для облегчения работы полученный файл можно дополнительно обработать. На примере Akelpad (входит в состав комплекта с Total Commander): | |||
Правка -> Заменить -> Что: | |||
. [wrap text=" | |||
-> Чем: | |||
.[l][r] \n[wrap text=" | |||
-> Esc-последовательность (галочка) -> Заменить все. | |||
*Это позволит редактировать скрипт, заменяя блоки текста. | |||
=Импорт= | =Импорт= | ||
Для создания 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 | ||
* Архив готов. | * Архив готов. | ||
Revision as of 17:43, 5 May 2008
Структура диалоговых файлов
Все тексты диалогов, используемые в игре, хранятся в файлах с расширением *.ks, имеющих следующую структуру:
@скрипт @скрипт @texton текст [l][r] текст [l][r] ... текст @pg *page n| @textoff
Собственно текст, подлежащий переводу, находится между метками @texton и @textoff. Служебные метки @pg, [l][r] и *page n| при переводе изменять не следует.
Перенос слов
Теория
Одним из популярных "движков", используемых при создании визуальных новелл, является 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]
Такая разметка приведет к отображению текста на отдельных строках:
Выпад, словно молния. Остриё копья разящее в сердце. Увернуться было бы невозможно. Молнию не увидеть человеческим глазом.
Практика
Обработка переносов в 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-последовательность (галочка) -> Заменить все.
- Это позволит редактировать скрипт, заменяя блоки текста.
Импорт
Для создания xp3-архивов можно воспользоваться утилитой xp3-repack.exe, также входящей в состав пакета xp3tool. Эта программа работает в командной строке, но при частой работе с архивами удобнее воспользоваться разработанными специально для неё оболочками (GUI, см.ниже).
Консоль
- Создайте в катологе вместе с программой текстовик 123.bat.
- Впишите в него слейдущий код:
xp3-repack.exe directory archive.xp3 fate_full
где вместо archive.xp3 и directory задаете. ваше имя архива и папку для распаковки.
- Теперь запустите 123.bat через applocale.
Gui
- После распаковки закиньте в папку c xp3tool программы-интрейсы.
- Запускаем файл repacker.exe, в нем указываем имя соханяемого файла и католог со скриптами, нажимаем Go
- Архив готов.