Difference between revisions of "Судьба/Ночь схватки:Импорт текста"
(New page: =Структура= Все диалоги игры содержаться в файлах с расширением *.ks. и имеют примерно такую структуру: <pr...) |
(→Gui) |
||
(3 intermediate revisions by 2 users not shown) | |||
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="молния."]молния. |
||
− | Чтобы избежать этого надо текст проварпить, то есть в скриптах он должен иметь такой вид: <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="------But"][line3]But</pre> |
||
+ | [wrap text="Остриё"]Остриё [wrap text="копья"]копья [wrap text="разящее"]разящее |
||
− | Тогда в игре он будет отображаться нормально: <pre> |
||
+ | [wrap text="в"]в [wrap text="сердце."]сердце. [wrap text="Увернуться"]Увернуться |
||
− | Выпад, словно молния. Остриё копья разящее в |
||
− | + | [wrap text="было"]было [wrap text="бы"]бы [wrap text="невозможно."]невозможно. |
|
+ | [wrap text="Молнию"]Молнию [wrap text="не"]не [wrap text="увидеть"]увидеть |
||
− | не увидеть человеческим глазом. |
||
+ | [wrap text="человеческим"]человеческим [wrap text="глазом."]глазом. |
||
− | </pre> |
||
+ | ...приведет к отображению текста в следующем виде (перенос по словам): |
||
+ | Выпад, словно молния. Остриё копья разящее в |
||
+ | сердце. Увернуться было бы невозможно. Молнию |
||
+ | не увидеть человеческим глазом. |
||
+ | Конец строки (если необходим перенос по строкам) обозначается символами [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-архивами. |
||
− | Вбивать все вручную нереально и занимет множество времени, поэтому чтобы преобразить нужный текст в пакет [[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. |
Latest revision as of 15: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
- Архив готов.