Отправлено: 16.10.10 23:48. Заголовок: Перевод xml-текстов: strings.xml, localization.xml и др.
Собираю здесь в одном месте те советы, что были раньше разбросаны по форуму. Здесь собирается информация, которая может оказаться полезной при переводе игровых текстов в формате 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;
Движок 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.
Отправлено: 17.10.10 11:55. Заголовок: Я для редактирования..
Я для редактирования xml использую Notepad++ Не знаю, может в других редакторах это тоже есть, но в этом мне нравится, что там можно открыть два файла в разных окошках, чтобы сразу видеть и один и второй. Когда в Excel перевожу, то вписываю перевод в специально созданную колонку, чтобы видеть и оригинал тоже, поэтому такая особенность Notepad++ удобна в этом отношении. Выглядит эта функция таким вот образом:
Отправлено: 17.10.10 15:24. Заголовок: Спасибо. Что-то стол..
Спасибо. Что-то столько всего хорошего говорят про этот Notepad++, наверное, надо опробовать. :) Похожее с двумя окошками я видела в WinMerge - утилита сравнения файлов. В ней можно открыть два файла и увидеть все выделенные цветом различия. Но это не для перевода, а для правки, например, битых xml.
Отправлено: 21.10.10 10:49. Заголовок: Наблюдение от Angelo..
Наблюдение от Angelok: Если у вас xml в Akelpad отображается с кракозябрами вроде этих: Eww…Tony isn’t very tidy! Let’s help him organize the place. то надо заново скачать и установить Акельпад, которого, видимо, "покушал" антивирус.
Отправлено: 24.10.10 21:15. Заголовок: Ещё раз поподробней ..
Ещё раз поподробней про баги в игровых xml, связанные с Excel. Записываю, пока всё свежо в памяти, чтобы переводчики при желании могли сами лечить сбойные переведённые файлы. Откуда и почему эти баги берутся. Как уже говорилось, Excel - это не специализированный игровой редактор. И бывает, что отредактированный в нём xml-текст вызывает в игре глюки с зависаниями, причём иногда проявляющиеся не сразу, а только при прохождении игры. Эти ошибки не вылавливаются веб-браузерами вроде IE. Судя по всему, связано это с тем, что Excel при сохранении использует все богатые возможности языка xml, в то время как игра рассчитана разработчиком на чтение не любых существующих xml, а только именно на тот конкретный один текстовый файл, что в ней есть. Поэтому любые, даже мелкие, изменения формата, пусть даже и допустимые с точки зрения стандартов языка xml, могут приводить к тому, что игра не сможет прочесть какую-то строку текста, а потом из-за этого игроку не удастся продвигаться дальше в игре (-> зависание и баги). Типичные изменения, которые Excel может вносить в формат, ни о чём не спрашивая пользователя (есть свидетельство, что иногда даже это происходит при открытии-закрытии документа, без сохранения): а) добавление/удаление некоторых строк. Иногда переводчик и сам может нечаянно удалить строку, например пустую ячейку (а это отдельная строка в файле xml). Но чаще так склонен хозяйничать Excel, например, дописывая (запоминая в файле) какие-то параметры, нужные для открытия файла в Excel и бесполезные для игры - новые стили и проч. б) автозамена, изменение значений параметров Самое обычное и безобидное - изменение имени автора и даты последнего сохранения, но могут также меняться значения, которые влияют (багоопасно) на игру - чаще всего номера стилей. Что касается автозамены, то часто она бывает полезной - например, автоматическая замена спец. символов xml на соответствующий им код (см. шапку), но иногда нежелательна - например, автозамена трёх точек на символ многоточия, который может отсутствовать в шрифте игры (тогда игра его проигнорирует, а предложение получится с неправильной пунктуацией) - это можно исправить заменой многоточий на точки в Блокноте (помним про то, что сохранять xml надо в кодировке UTF-8 без BOM). Можно и отключить автозамену точек в настройках Экселя. <\/u><\/a> На рисунке примеры допустимых (судя по всему) отличий, но их, на всякий случай, тоже можно исправить и сделать, как было в оригинале (Alt+влево). Первое отличие: в переводе (слева) есть какой-то текст в ячейке, хотя в оригинале (справа) это пустая ячейка. Второе: какой-то лишний абзац с параметрами, дописанный Excel после таблицы переведённых текстов, ближе к концу файла. Третье: поменялся номер TopRowVisible (на игру не влияет, но можно при желании вернуть прежний). В следующем сообщении про правку багоопасных отличий.
Метод правки путём сравнения с оригиналом Данная инструкция по лечению багов написана, в основном, по опыту The Fifth Gate, где этот метод помог вылечить зависание в одном месте игры, но скриншоты здесь будут из другой игры. Метод найден тыком. Довольно быстрый и лёгкий (в сравнении с повторным переводом, скажем), но на внимательность. А вообще рекомендуется просто почаще сохранять перевод в разных файлах, и если возникли баги, то взять предыдущую версию без багов. К слову, такие баги появляются довольно часто - встречались уже, как минимум, в полудюжине игр - но чаще их не лечат, т.к. занудно, а откатываются к предыдущей версии перевода. Однако, иногда бывает, что изменений после предыдущей версии много, тогда проще лечить описываемым здесь способом.
Отправлено: 24.10.10 23:32. Заголовок: Что делать, если пре..
Что делать, если предыдущий метод (правка нумерации стилей) не помог и глюки остались (по опыту Dream Chronicles 4): Метод правки путём тестирования в игре разных участков перевода Причина может быть в том, что в xml где-то находится технический текст (например, названия переменных), который переводить нельзя. Такие тексты часто начинаются с маленькой буквы (air), имеют какие-то номера (Test44) или вообще непереводимый набор букв. Если просто наугад менять выглядящие подозрительно строки обратно на английские, то можем нечаянно убрать нужный перевод, что потом придётся править при тестировании. К тому же иногда этот технический текст выглядит обычным (Skip Puzzle), и найти его весьма нелегко.
Этот метод применён в Dream chronicles 4 для поиска той самой строки, из-за перевода которой игра зависала в самом начале. В целом, это более универсальный способ, чем предыдущий. Что делаем: -2) Проверяем, на всякий случай, на ошибки, открыв в браузере, например, Internet Explorer - так можно быстро выловить все синтаксические ошибки xml. -1) Рекомендуется всё же применить сперва первый метод - ну или хотя бы поудалять лишние добавленные строки, чтобы в оригинале и переводе было одинаковое количество строк, и переведённые строки имели те же номера, что и соответствующие оригинальные строки. Имеется в виду нумерация строк в Akelpad, отображаемая внизу окна. К тому же нумерация стилей должна быть одинаковой. Если дело не в формате xml (который проверили в браузере и исправили по первому методу), то можно и в Excel это делать. 0) И, конечно, надо сделать запасные копии. 1) Тестированием убеждаемся, что игра с оригинальным текстом работает, а с переведённым виснет. Сохраняем игру перед глюком с зависанием. Называем оригинальный текст strings.xml. 2) Заменяем в оригинальном файле, например, половину текста на соответствующий текст из файла с переводом, запоминая (записывая на листочке) номера строк, нами скопированных. Запускаем игру. Если виснет - сбойная строка среди нами скопированных. Если работает - сбой в другой половине строк. Отмечаем результат на своём листочке, чтобы помнить, какие участки перевода мы уже проверили. 3) Если работает, делаем запасную копию. Если нет, то восстанавливаем strings.xml из предыдущей работоспособной копии. 4) Затем, аналогично, копируем в strings.xml половину строк из числа тех, где есть сбой. И также смотрим - зависает игра или нет. 5) Повторяем до тех пор, пока не выясним номера всех сбойных строк, т.е. таких, что достаточно их исправить по образцу оригинала, и игра начинает отлично работать с переведённым текстом.
Способ подходит для случаев, когда сбойных строк мало. Если их больше, то может быть удобней не делить файлы пополам, а, например, копировать по определённому числу строк за раз, скажем, по тысяче. Этот метод можно сочетать с первым способом - если известен небольшой диапазон номеров строк, где точно есть сбой, то смотрим в WinMerge, какие там вообще есть отличия между переводом и оригиналом. В этом случае можно довольно быстро вычислить нужные строки и с минимальным количеством запусков игры, с полдюжины (зависит от общего числа строк).
Изредка встречаются игры со взаимосвязями между переводимыми словами, например, при переводе слова надо также одновременно его перевести ещё в нескольких других файлах. В таких случаях этот метод не подойдёт. Также как и для случаев, когда воспроизвести баг трудно, например из-за особенностей сохранения игры. Но для обычных игр Playfirst должно подходить.
Отправлено: 31.03.11 10:57. Заголовок: Нашел тут еще парочк..
Нашел тут еще парочку бесплатных редакторов для XML:
Syntext Serna (большой размер, и показался сложным для восприятия); Microsoft XML Notepad 2007 (очень маленький - на диске 2 мега всего, но мне кажется, для xml все есть: подсветка; два режима - с деревом слева, к которому пристыкованы справа значения, и просто расцвеченный текст; сравнивает два файла; простой)
Отправлено: 04.04.11 08:04. Заголовок: Knivy, в xml notepad..
Knivy, в xml notepad дерево сворачивается как по вертикали (отдельные ветви), так и по горизонтали (убирается совсем), к том же там можно и полый текст xml редактировать... так что, мне кажется, там дерево - не "минус"
Сообщение: 501
Зарегистрирован: 18.08.10
Откуда: РФ, Москва
Репутация:
1
Отправлено: 04.04.11 13:16. Заголовок: Не очень поняла, что..
Не очень поняла, что имеется в виду. Там можно редактировать текст таблицей, как в Excel? У меня раньше стоял этот xml notepad и показался неудобным именно из-за этого дерева. Помнится, там в одном окне справа идут, чередуясь, и тексты для перевода и технические тексты. А в Excel тексты для перевода идут отдельным столбцом таблицы, ошибиться негде. Возможно, xml notepad удобней для перевода, чем акельпад, но скажем, пс-пад и ноутпад++ уже имеют удобные доп. возможности типа подсветки синтаксиса или ещё чего. Я использую акельпад в переводе, в основном, потому, что он мною часто используется и для других целей (при тех. поддержке), а значит привычен, остальные блокноты мне показались отвлекающе навороченными. Тому, кто только переводит или редактирует, а не возится с разными форматами шрифтов и т.п., вероятно, удобней всего пс-пад.
Отправлено: 04.04.11 13:43. Заголовок: я скачал пс-пад, пос..
я скачал пс-пад, посмотрел его, и чего-то он у меня сглючил... а когда прога хоть чуть-чуть глючит, у меня к ней сразу интерес пропадает... ничего не могу с собой поделать в excel удобно, спору нет, т.к. он скрывает свои рабочие тэги, но вот если xml написан не в excel, то лучше, наверное, его в другой проге редактировать, которая показывает всю подноготную файла... что касается xml notepad, то там ситуация следующая: слева - дерево, которое можно убрать; ветви его сворачиваются и разворачиваются, в них сами тэги идут (так что тэг не исковеркаешь 100%), а значения тэгов идут справа, причем они параллельно привязаны к тэгам - если одни прокручиваешь или сворачиваешь, то с другими происходит то же самое... то есть уже что-то вроде как excel... плюс еще можно просто открыть полный текст xml, как в обычном текстовом редакторе, но только он будет с подсветкой... воть.
дополнение: оказалось, что в xml notepad редактировать полный текстовый вид xml нельзя, он только для просмотра и в какой-то степени ты права: тип значения и само значение находятся в правой части (например, одна строчка - "String", а следующая - "Привет, Вася!")... для экселевских файлов, конечно, не очень удобно, можно напортачить, а для чистого xml, пожалуй, даже хорошо...
Сообщение: 502
Зарегистрирован: 18.08.10
Откуда: РФ, Москва
Репутация:
1
Отправлено: 04.04.11 14:44. Заголовок: Ну да, наверное, для..
Ну да, наверное, для xml с простой структурой типа списка имён персонажей этот майкрософтский блокнот удобней, чем эксель (который их зачастую не может открыть) и другие блокноты. А вообще спец. программ для переводчика текстов пока, вроде, нет (есть для перевода ехе, но в играх они редко нужны), поэтому все приспосабливают под перевод ту программу, что им больше понравилась. Тот же пс-пад написан для программистов, насколько знаю. Странно, если он глючит. Перестарались с наворотами, наверное. У бесплатных программ бывает, что тестирование версии с новыми фичами производится не программистами, а уже пользователями, а потом делают новую версию с заплатками.
предлагаю попробовать написать под свои нужды программку по работе с xml, благо что по сути это текстовый формат, т.е. извращаться декодировкой не надо
Отправлено: 04.04.11 16:36. Заголовок: Северга, думаю, у на..
Северга, думаю, у нас нет в этом нужды. Программ достаточно существует, и каждый может выбрать что ему угодно. Если уж писать программы, то такие, которых не найдешь, например распаковщики для различных файлов, это нам гораздо нужнее.
Сообщение: 552
Зарегистрирован: 18.08.10
Откуда: РФ, Москва
Репутация:
1
Отправлено: 24.04.11 15:00. Заголовок: А есть какой-нибудь ..
А есть какой-нибудь редактор, чтобы, скажем, поставить курсор на строку, нажать какую-нибудь клавишу и весь текст строки либо закомментируется, либо удалится? Короче, чтобы не выделять каждый раз мышкой иностранный текст для его замены на русский. Речь не об xml, а текстовых файлах, которые приходится править блокнотом. Вариант с заменой с помощью Insert знаю, мне не удобен.
Отправлено: 25.04.11 08:07. Заголовок: а чем он его может и..
а чем он его может испортить?.. при сохранении спрашивает кодировку и какие символы использовать для разрыва строк... а больше для текста ничего и не важно... я кредитс мучил несколько дней - не отображалось ничего, хоть тресни, пока не понял, что кодировка не та... спас как раз ворд
Сообщение: 559
Зарегистрирован: 18.08.10
Откуда: РФ, Москва
Репутация:
2
Отправлено: 26.04.11 17:45. Заголовок: Игры обычно настроен..
Игры обычно настроены на приём текста в очень жёстко заданном разработчиком формате. А офисные программы имеют свойство с форматом обращаться довольно вольно, своё что-нибудь дописывать без спросу. Мы с экселем из-за этого много мучились: в большинстве случаев проблем нет, зато если появляются, то править их долго.
Сообщение: 571
Зарегистрирован: 18.08.10
Откуда: РФ, Москва
Репутация:
2
Отправлено: 30.04.11 23:18. Заголовок: Спасибо. Хотя для лю..
Спасибо. Хотя для любительского перевода это имхо тяжеловато. Там ведь все теги видно, верно? Переводчику чаще всего нужно видеть только текст, но при этом чтобы программа ничего от себя не дописывала без спросу. Эксель близок к идеалу, когда не портит файл.
Отправлено: 08.05.13 15:51. Заголовок: Ничего не получается..
Ничего не получается редактирую в NOTEPAD++, но русские буквы игра не видит, вместо них черные квадратики, а а английскими буквами (которые игра видит) по-русски очень муторно, может я что-то не то выбрала помогите плиз
Все даты в формате GMT
3 час. Хитов сегодня: 65
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет