Немного соплей
Обычно я делаю игры только на английском языке. Почему? Мои игры небольшие, и делаю я их обычно недолго, поэтому на локализацию может уйти больше времени, чем на разработку самой игры :) Плюс к тому, английский вроде как знают все, да и большинство игроков из англоязычных стран. В общем, так было раньше. Теперь же паблишеры любят озадачивать меня тем, чтобы выпустить игру на нескольких языках. Негодяи! Благо, перевод предоставляют сами паблишеры... а моя задача - только вставить сами тексты.
Так вот совсем недавно была необходимость сделать мультиязычное air-приложение, с поддержкой турецкого языка. Причем это касалось всего - любого текста в игре (будь даже он на сплэш-скрине), в том числе название игры, которое отображается у пользователя на экране телефона рядом с иконкой игры.
Локализуем
- Текстуры внутри приложения
Эта часть зависит от самой игры и логики загрузки текстур. Можно использовать разные сеты текстурных атласов и грузить нужные в зависимости от значения Capabilities.language. Но я использовал общий атлас, внутри которого находятся текстуры на разных языках. При этом память устройства забивается ненужными локалями, но лично в моем случае так оказалось проще :)
- Название приложения, отображаемое на девайсе
Чтобы указать разные названия, которые будут показываться на устройствах с разными локалями, нужно копаться в xml-файле, который используется для сборки приложения.
Здесь сказано, как именно нужно менять параметр name. Пробовал, вроде работает для языков из статьи. Меняю на турецкий. И приложение больше не собирается вообще.
Нашел здесь список всех языков. Убрал ненужные. Теперь работает. Если руками поменять, то мистика - не работает.
Здесь сказано, как именно нужно менять параметр name. Пробовал, вроде работает для языков из статьи. Меняю на турецкий. И приложение больше не собирается вообще.
Нашел здесь список всех языков. Убрал ненужные. Теперь работает. Если руками поменять, то мистика - не работает.
- Default-картинки, показываемые при старте приложения, пока оно грузится (актуально только для iOS)
Вот с ними была настоящая беда. Но Кролик помог, спасибо! Оказывается, сами картинки нужно распихивать в разные папки с соответствующими названиями. Указываем их для упаковки, ну и дальше все подхватывается само.
- Внутриигровые параметры-строки
Была еще необходимость в твиттер передать строку на турецком. Вроде все ок - copy/paste из переписки со спонсором в код, запускаю, а текста в твиттере нет. Почему? Оказалось, в String нельзя просто пихать все, что угодно. Иностранные символы нужно кодировать. Можно кодом, а можно через сторонний онлайн-кодировщик.
Хм... Вроде бы это все, с чем я столкнулся в этот раз. Смотрю на список - он малюсенький, а времени на локализацию я потратил много. Вот такие дела... надеюсь, с этим сообщением под рукой, в следующий раз все пройдет быстрее - ведь решения уже готовы :)
0 коммент.:
Отправить комментарий