Форум » Методички » Перевод xml-текстов: strings.xml, localization.xml и др. » Ответить

Перевод xml-текстов: strings.xml, localization.xml и др.

Knivy: Собираю здесь в одном месте те советы, что были раньше разбросаны по форуму. Здесь собирается информация, которая может оказаться полезной при переводе игровых текстов в формате xml. Сведения о том, где брать русские шрифты для игр и проч. нужно искать где-то ещё, например, можно попросить здесь, на форуме "Нашей версии" http://perevodiki.forum24.ru, чтобы их вам сделали. Тексты xml можно редактировать в следующих программах: а) в Excel — самый популярный метод. Достоинство: доступность программы, наглядное отображение файла, теги формата спрятаны, поэтому мало возможностей их повредить, есть проверка орфографии, в т.ч. в отдельных ячейках или столбцах. Недостаток: не все игровые xml могут быть открыты в этой программе (выдаётся ошибка), а кроме того иногда (редко, но крайне неприятно) Excel повреждает файлы (точнее, несколько меняет формат xml, что для игровых текстов критично), в результате чего в игре появляются баги. Причём они могут быть скрыты, коварны и выглядеть не имеющими ничего общего с Excel: игра запускается и работает отлично, но в какой-то момент зависает, либо пункт меню не отображается и т.п. Также в Excel нельзя копировать ячейки, только текст в них, иначе тоже могут возникать баги. Всё-таки Excel — это не специализированный игровой редактор. Лечение таких багов: первый способ, надёжный — восстановить предыдущую версию, без багов. Поэтому рекомендуется почаще сохранять в разных файлах промежуточные версии перевода; второй способ, тоже надёжный, но муторный — если нет сохранённой работоспособной версии перевода, то можно вылечить поломанный файл с переводом, сделав сравнение оригинального текста и багованного перевода с помощью специальных утилит сравнения текстов, например WinMerge. И исправить все изменения в формате (например, могут быть переименованы названия стилей и проч.). Подробней описание этого метода читайте ниже в комментариях 6. б) в блокноте — самый универсальный метод. Рекомендуется Akelpad, позволяющий автоматически сохранять файлы в нужной кодировке (UTF-8 без BOM). В разных приложениях эта кодировка может также называться просто UTF-8 или Юникод. Если сохранить в неправильной кодировке, то скорее всего игра не запустится, а пересохранение в другой кодировке может иногда быть проблематичным, поэтому важно следить за тем, в какой кодировке сохраняете файл. Также популярны и другие виды блокнотов: PS Pad (имеет проверку орфографии и кучу наворотов), Notepad++ (показывает файл в двух окошках) и проч. Все перечисленные бесплатны. Не рекомендуется использовать MS Word, т.к. он может менять формат файла, как и другие офисные программы (хотя, по правде, его так редко кто использует, что статистики по этому вопросу нет; здесь есть заманчивая возможность использования макросов для ускорения перевода файлов, не открываемых корректно в Excel, — подробности, как это делать, спрашивайте у участника Северга). Достоинство: программа не меняет формат самовольно, как Excel: если что-то повредилось, то это сделали вы. К тому же правильно открываются все и любые xml. Недостатки: не так удобно и наглядно, как в Excel, есть возможность нечаянно повредить формат, стерев нужный тег, желательно (а может, и обязательно) писать спецсимволы их кодами (см. ниже). Здесь нужно помнить о том, что это очень хрупкий формат. Достаточно нечаянно удалить нужную кавычку — и игра не запустится. Впрочем, появление скрытых багов, не сразу проявляющихся, как в случае с Excel, маловероятно. Лечение: открыть xml в браузере, например Internet Explorer. Если в нём есть ошибки формата, то вам сразу покажут номер строки с ошибкой. Иногда ошибка не в указанной строке, а чуть выше. Затем снова открываем свой блокнот, находим строку и исправляем. Также в Акельпаде замечены такие баги: а) Наблюдение от Angelok: Если у вас xml в Akelpad отображается с кракозябрами вроде этих: Eww…Tony isn’t very tidy! Let’s help him organize the place. то надо заново скачать и установить Акельпад, которого, видимо, «покушал» антивирус. б) Один раз был замечен серьёзный баг, когда файл вообще не сохранился. Т.е. переведённый текст при открытии в следующий раз оказался опять на английском, и пришлось всё переводить по-новой. Программа при закрытии предупреждала, но это было проигнорировано, т.к. перед этим была несколько раз использована команда «Сохранить», которая, очевидно, не сработала. Лечили опять-таки скачиванием новой версии и переустановкой. Это бесплатный редактор, который постоянно находится в процессе улучшения, случаются накладки. Замечу, что про баги Excel и Akelpad написано больше, чем про другие программы, потому что они активно и уже давно (больше года) используются любителями-переводчиками, а потому про них больше известно, чем про другие программы. в) в редакторе xml, например, XML Editor — самый «правильный» метод. Бесплатные: Syntext Serna, Microsoft XML Notepad. Достоинство: минимум ошибок, связанных с форматом. Недостаток: эти редакторы обычно в виде дерева (tree-list), что неудобно для больших текстов. Спец. символы языка xml: Ряд символов в языке XML зарезервирован и должен представляться специальным образом. Это важно помнить при переводе в блокноте; Excel такие замены автоматически делает, т.е. в Excel можно писать эти символы обычным текстом. Список некоторых таких спец. символов: (пробел после & нужно убрать — он поставлен, потому что движок форума автоматически делает замену спец. символов в сообщении) левая угловая скобка (<) & lt; правая угловая скобка (>) & gt; амперсант (&) & amp; двойная кавычка (") в значениях атрибутов & quot; одинарная кавычка (') в значениях атрибутов & apos; При желании можно пользоваться числовой кодировкой символов в стандарте Unicode. При этом символ может быть задан своим десятичным кодом (& #код;) или шестнадцатеричным кодом (& #xкод;). Например & #169 представляет символ авторского права ©, а & #x410 — русскую букву А. Знак ударения имеет код 0301. Могут пригодиться ещё такие символы: — 0151, « 0171, » 0187. В Excel их можно набирать, зажав Alt и набрав код на цифровой клавиатуре. Почитать подробней об xml: http://wdh.suncloud.ru/xml01.htm - введение. http://www.w3.org/ - полная спецификация языка (на английском). Особенности strings.xml (движок Playground): Движок Playground автоматически осуществляет перенос слов, изменение размера шрифта, но не всегда результат удовлетворителен. Тогда можно править формат текста в strings.xml вручную: Переход на новую строку: <br/> Например, надпись «Текст1<br/>Текст2» на кнопке будет располагаться в две строки. В других движках этот тег может выглядеть иначе, например [br]. Задать размер шрифта: <font size="16">Текст</font> В других движках, особенно со шрифтами-картинками, этот тег может вообще не работать. Эти теги надо вписывать в каждой ячейке текста, размер которого хотим изменить. Если такого текста очень много, то, возможно, стоит просто сам mvec-шрифт взять крупней или мельче. Размер шрифта надо подбирать при тестировании. Движок Playground автоматически меняет размер текстов, чтобы их уместить, поэтому переведённые вами тексты могут иметь разные размеры шрифта в игре, если явно не указан фиксированный размер с помощью тега font size. Одна надпись из файла strings.xml может в игре отображаться в нескольких разных местах шрифтами разных размеров, что также надо учитывать, если собираетесь этот размер задавать вручную. Все пробелы учитываются, так что можно двигать надпись вправо-влево, добавляя-убирая пробелы в тексте. Вместо различных %1%, [2], x[3] игра подставит цифры и текст — значения каких-то переменных, что надо учитывать в падежах и структуре предложения. Например, «Welcome, %1%» = «Добро пожаловать, %1%» — это приветствие, в которое будет подставлено имя профиля игрока. Автор Knivy, 2010-2011. Впервые опубликовано на perevodiki.forum24.ru.

Ответов - 32, стр: 1 2 3 All

Елена: Ничего не получается редактирую в NOTEPAD++, но русские буквы игра не видит, вместо них черные квадратики, а а английскими буквами (которые игра видит) по-русски очень муторно, может я что-то не то выбрала помогите плиз

Добрый волшебник: Елена пишет: русские буквы игра не видит, вместо них черные квадратики Значит, в шрифтах дело. Попросту нужно заменить на поддерживающие кирилицу.



полная версия страницы