|
|
|||||
Цитата:
err.getStackTrace() От этого будет больше пользы. По крайней мере узнаешь, что на самом деле провоцирует ошибку. Скорее всего ты что-то не то передаешь в метод getXML(). Что выдает этот трейс? trace (file.nativePath); п.с.
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
..если ты загружаешь одним файлстримом один единственный файл.. так будет точнее.
__________________
Reality.getBounds(this); |
|
|||||
Да. Но здесь как раз такой случай.
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Пожалуй опишу свое видение сабжа...
Обычно создаю один файл с несколькими локалями, с примерной структурой типа: или вроде того, чтобы id прописывать только раз. Это дает некоторые плюсы: загрузка только одного файла, сложно перепутать id, можно менять интерфейс в рантайме, удобно видеть все версии переводов в одном месте под одним id. Для удобства я написал пару классов которые отвечают за локализацию: 1. Отвечает за глобальную поддержку локали (хранит переменную текущей локали, при смене генерирует событие смены языка, видим глобально) 2. Транслятор. Отвечает за смену интефейса и отдает нужную строку в зависимости от глобальной локали. 3. Event локали. Самый важный компонент - это Транслятор, именно через него проходят все строки... Так же он хранит в себе все, что нужно поменять в интерфейсе в данный момент. Реализовано это примерно так: Чтобы вывести строку в textfield, я предварительно регистрирую этот textfield у транслятора и если в рантайме происходит смена языка и этот зарегистрированный textfield находится в списке отображения, его свойство text меняется на текст соответствующей локали. Впрочем, вместо texfield может быть любой объект DisplayObject с любым именем свойства. Так же можно запросить строку определенного id с нужной локалью. Собственно такая система решила большинство проблем с локализацией. |
|
|||||
Цитата:
Цитата:
А как его можно перепутать, разделив языки на файлы? Цитата:
ИМХО, при добавлении новых языков ваш код станет нечитаем. Ладно когда языка всего 2, но в наше время этого мало. Вообще не понимаю, зачем так делать. Один раз написал XML для русского, потом Сохранить как, и перевёл на инглиш, потом сохранить как, и перевёл на немецкий. Удобно, красиво.
__________________
There is no thing in this world that is not simple. |
|
|||||
Цитата:
Перепутать id даже в трех файлах довольно легко... Переводчик мог просто запариться и перепутать id (он же гуманитарий скорее всего ) и вместо "Привет" на другом языке у вас может быть, к примеру, "Exit" Цитата:
Цитата:
|
|
|||||
Цитата:
А в теме, очевидно, речь идет об игре, для которой язык можно сразу установить равным языку устройства. Цитата:
RU_file: <ru> <id="greeting" str="Привет"/> <id="exit" str="Выход"/> </ru> EN_file: <en> <id="greeting" str="Hi"/> <id="exit" str="Exit"/> </en> п.с. Я тоже переводчик по образованию, но это не мешает мне быть программистом
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Так делают, когда не важно время обновления интерфейса.
Цитата:
Цитата:
Цитата:
В таком случае ошибку заметить гораздо легче еще на этапе переводов, причем зачастую ее может заметить человек даже не владеющий языком. Это опять же ИМХО и возможно не универсально для абсолютно всех проектов, но мы же тут как раз и собираемся для обсуждения, а реализация остается на усмотрение каждого. |
|
|||||
Цитата:
Цитата:
Проверять вот таким образом даже 100 строк в трех языках, тоже совсем не камильфо. Если уж на то пошло, то гораздо лучшим вариантом будет сделать небольшую утилитку, которая будет брать по порядку ID и для каждого языка выводить все переводы на экран рядом, без лишних тегов. Но хранить все переводы в одном файле - плохо, особенно для мобильников. Подгрузка нового файла с переводом, с локального диска, даже на слабом устройстве займет несколько милисекунд. Для человека это будет мгновенно + лишнюю память жрать не будет.
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
К тому же, это загрузка текстового файла, она выполняется за доли секунды даже со слабейшим интернетом(может занять дольше, только если это мобильный инет) Тут скорее надо переживать за скорость доставания данных из XML документа, которая при включении всех языков в один документ будет ниже.
__________________
There is no thing in this world that is not simple. |
Часовой пояс GMT +4, время: 17:19. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|