![]() |
Цитата:
err.getStackTrace() От этого будет больше пользы. По крайней мере узнаешь, что на самом деле провоцирует ошибку. Скорее всего ты что-то не то передаешь в метод getXML(). Что выдает этот трейс? trace (file.nativePath); п.с. Код AS3:
|
Код AS3:
|
Цитата:
|
Пожалуй опишу свое видение сабжа...
Обычно создаю один файл с несколькими локалями, с примерной структурой типа: Код:
<string id="" en='' ru=''/>Для удобства я написал пару классов которые отвечают за локализацию: 1. Отвечает за глобальную поддержку локали (хранит переменную текущей локали, при смене генерирует событие смены языка, видим глобально) 2. Транслятор. Отвечает за смену интефейса и отдает нужную строку в зависимости от глобальной локали. 3. Event локали. Самый важный компонент - это Транслятор, именно через него проходят все строки... Так же он хранит в себе все, что нужно поменять в интерфейсе в данный момент. Реализовано это примерно так: Чтобы вывести строку в textfield, я предварительно регистрирую этот textfield у транслятора и если в рантайме происходит смена языка и этот зарегистрированный textfield находится в списке отображения, его свойство text меняется на текст соответствующей локали. Впрочем, вместо texfield может быть любой объект DisplayObject с любым именем свойства. Так же можно запросить строку определенного id с нужной локалью. Собственно такая система решила большинство проблем с локализацией. |
Цитата:
Цитата:
PHP код:
Цитата:
ИМХО, при добавлении новых языков ваш код станет нечитаем. Ладно когда языка всего 2, но в наше время этого мало. Вообще не понимаю, зачем так делать. Один раз написал XML для русского, потом Сохранить как, и перевёл на инглиш, потом сохранить как, и перевёл на немецкий. Удобно, красиво. |
Цитата:
Перепутать id даже в трех файлах довольно легко... Переводчик мог просто запариться и перепутать id (он же гуманитарий скорее всего :) ) и вместо "Привет" на другом языке у вас может быть, к примеру, "Exit" Код:
RU_file:Цитата:
Цитата:
|
Цитата:
А в теме, очевидно, речь идет об игре, для которой язык можно сразу установить равным языку устройства. Цитата:
Код AS3:
п.с. Я тоже переводчик по образованию, но это не мешает мне быть программистом ;) |
Код:
Не должен. Его можно так же "на лету" подгрузить. Собственно, обычно так и делают.Цитата:
Цитата:
Цитата:
Код:
<string id="hello"> |
Цитата:
Цитата:
Проверять вот таким образом даже 100 строк в трех языках, тоже совсем не камильфо. Если уж на то пошло, то гораздо лучшим вариантом будет сделать небольшую утилитку, которая будет брать по порядку ID и для каждого языка выводить все переводы на экран рядом, без лишних тегов. Но хранить все переводы в одном файле - плохо, особенно для мобильников. Подгрузка нового файла с переводом, с локального диска, даже на слабом устройстве займет несколько милисекунд. Для человека это будет мгновенно + лишнюю память жрать не будет. |
PHP код:
К тому же, это загрузка текстового файла, она выполняется за доли секунды даже со слабейшим интернетом(может занять дольше, только если это мобильный инет) Тут скорее надо переживать за скорость доставания данных из XML документа, которая при включении всех языков в один документ будет ниже. |
| Часовой пояс GMT +4, время: 19:47. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.