Difference between revisions of "Судьба/Ночь схватки:Импорт текста"
(→Теория) |
(slightly edited style / слегка "причесал" стиль) |
||
Line 1: | Line 1: | ||
− | =Структура= |
+ | =Структура диалоговых файлов= |
− | Все |
+ | Все тексты диалогов, используемые в игре, хранятся в файлах с расширением *.ks, имеющих следующую структуру: |
+ | @скрипт |
||
− | <pre> |
||
− | @скрипт |
+ | @скрипт |
+ | @texton |
||
− | @скрипт |
||
+ | текст [l][r] |
||
− | @texton |
||
− | текст [l][r] |
+ | текст [l][r] |
+ | ... |
||
− | текст [l][r] |
||
+ | текст |
||
− | ... |
||
+ | @pg |
||
− | текст |
||
+ | *page n| |
||
− | @pg |
||
+ | @textoff |
||
− | *page n| |
||
− | @textoff |
||
− | </pre> |
||
− | Все что находится между @texton и @textoff подлежит переводу, за исключением @pg, [l][r] и *pagen|, которые надо оставлять на своих местах. |
||
+ | Собственно текст, подлежащий переводу, находится между метками @texton и @textoff. Служебные метки @pg, [l][r] и *page n| при переводе изменять не следует. |
||
− | =Word warp= |
||
+ | |||
+ | =Перенос слов= |
||
==Теория== |
==Теория== |
||
− | + | Одним из популярных "движков", используемых при создании визуальных новелл, является kirikiri. Автоматическую расстановку переносов он не поддерживает, поскольку был написан японским программистом для использования только с японским языком (в котором переносы не применяются). Поэтому текст в играх, использующих kirikiri различных версий (в частности, kirikiri2 в ''Fate/stay night''), например: "''Выпад, словно молния. Остриё копья разящее в сердце. Увернуться было бы невозможно. Молнию не увидеть человеческим глазом.''" выглядит примерно так: |
|
− | Выпад, словно молния. Остриё копья разящее в серд |
+ | Выпад, словно молния. Остриё копья разящее в серд |
− | це. Увернуться было бы невозможно. Молнию не увид |
+ | це. Увернуться было бы невозможно. Молнию не увид |
− | еть человеческим глазом. |
+ | еть человеческим глазом. |
+ | Для использования переносов в игре их нужно явно задавать. Например, такая разметка: |
||
− | </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="------But"][line3]But</pre> |
||
+ | Выпад, словно молния. Остриё копья разящее в |
||
− | P.S. разбил на строки, чтобы в вики нормально отображалось |
||
+ | сердце. Увернуться было бы невозможно. Молнию |
||
− | Тогда в игре он будет отображаться нормально: <pre> |
||
+ | не увидеть человеческим глазом. |
||
− | Выпад, словно молния. Остриё копья разящее в |
||
+ | Конец строки (если необходим перенос по строкам) обозначается символами [l][r]: |
||
− | сердце. Увернуться было бы невозможно. Молнию |
||
+ | [wrap text="Выпад,"]Выпад, [wrap text="словно"]словно [wrap text="молния."]молния.[l][r] |
||
− | не увидеть человеческим глазом. |
||
+ | [wrap text="Остриё"]Остриё [wrap text="копья"]копья [wrap text="разящее"]разящее [wrap text="в"]в [wrap text="сердце."]сердце.[l][r] |
||
− | </pre> |
||
+ | [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> |
||
+ | Такая разметка приведет к отображению текста на отдельных строках: |
||
− | Выпад, словно молния. |
||
+ | Выпад, словно молния. |
||
− | Остриё копья разящее в сердце. |
||
+ | Остриё копья разящее в сердце. |
||
− | Увернуться было бы невозможно. |
||
+ | Увернуться было бы невозможно. |
||
− | Молнию не увидеть человеческим глазом.</pre> |
||
+ | Молнию не увидеть человеческим глазом. |
||
− | Код:<pre>[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]</pre> |
||
==Практика== |
==Практика== |
||
+ | Обработка переносов в ks-файлах для kirikiri может быть автоматизирована, например, с помощью утилиты xp3-wordwrap.exe, входящей в пакет [[xp3tool]] для работы с xp3-архивами. |
||
− | Вбивать все вручную нереально и занимет множество времени, поэтому чтобы преобразить нужный текст в пакет [[xp3tool]] входит программа для преобразования текста, называется она xp3-wordwrap.exe. Опишу алгоритм работы с программой: |
||
+ | Для этого необходимо: |
||
− | * Создаем текстовой файл в кодировке 1251 (ANSI) |
||
+ | *Создать текстовый файл и вставить в него текст, подлежащий обработке |
||
− | * Копируем туда нужный нам текст и сохраняем его с расширением .ks |
||
+ | *Сохранить его в кодировке Win-1251 (ANSI) с расширением *.ks |
||
− | * Создаем батник в директории с xp3-wordwrap.exe содержащий такой код <pre>xp3-wordwrap.exe "H:/work.ks" "C:/Fate_src/complete.ks"</pre>. |
||
+ | *Создать командный файл (*.bat) с указанием входного и выходного файлов, например: |
||
− | * Открываем complete.ks в кодировке 1251 (автоматом открывается в юникоде). |
||
+ | xp3-wordwrap.exe "H:\work.ks" "C:\Fate_src\complete.ks" |
||
− | * Дальше для тех у кого есть Akelpad (входит в комплект с тотал командером): Правка->Заменить->Что: <pre>. [wrap text="</pre>->Чем:<pre>.[l][r] \n[wrap text="</pre>->Esc-последовательность(галочка)->Заменить все. |
||
+ | *Поместить командный файл в каталог с xp3-wordwrap.exe и запустить его |
||
− | * Теперь просто редактируем нужный нам скрипт, заменяя блоки текста. |
||
+ | *Для работы с полученным complete.ks нужно открыть его в кодировке 1251 (автоматом открывается в Unicode) |
||
+ | *Для облегчения работы полученный файл можно дополнительно обработать. На примере Akelpad (входит в состав комплекта с Total Commander): |
||
+ | Правка -> Заменить -> Что: |
||
+ | . [wrap text=" |
||
+ | -> Чем: |
||
+ | .[l][r] \n[wrap text=" |
||
+ | -> Esc-последовательность (галочка) -> Заменить все. |
||
+ | *Это позволит редактировать скрипт, заменяя блоки текста. |
||
+ | |||
=Импорт= |
=Импорт= |
||
+ | Для создания xp3-архивов можно воспользоваться утилитой xp3-repack.exe, также входящей в состав пакета [[xp3tool]]. Эта программа работает в командной строке, но при частой работе с архивами удобнее воспользоваться разработанными специально для неё оболочками (GUI, см.ниже). |
||
− | Знаю только одну программу для создания xp3 архивов, входит в пакет [[xp3tool]]: xp3-repack.exe. |
||
+ | |||
+ | ==Консоль== |
||
+ | * Создайте в катологе вместе с программой текстовик 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. |
Revision as of 19: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
- Архив готов.