Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.03.2011, 17:04
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 1  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
По умолчанию Организовать multilanguage

Каким способом лучше организовать мультиязычность во флэше? Думал создать на язык по массиву и при переключении просто менять массив языка, выводя значения на нужном языке. Может есть способы поудобней?

Старый 14.03.2011, 17:14
Universe вне форума Посмотреть профиль Отправить личное сообщение для Universe Найти все сообщения от Universe
  № 2  
Ответить с цитированием
Universe
 
Аватар для Universe

Регистрация: Feb 2010
Сообщений: 811
Отправить сообщение для Universe с помощью ICQ Отправить сообщение для Universe с помощью Skype™
Мож просто вынести текст во внешний xml, а потом просто менять путь к нужному xml?

Старый 14.03.2011, 17:53
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 3  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
А налету планируется язык менять или только при загрузке?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 14.03.2011, 17:58
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 4  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
Создавайте файлы локализации, при выборе языка грузите нужный и подставляйте нужные значения.
__________________
Я просто добрый шутник.

Старый 14.03.2011, 17:59
willis83 вне форума Посмотреть профиль Отправить личное сообщение для willis83 Найти все сообщения от willis83
  № 5  
Ответить с цитированием
willis83
 
Аватар для willis83

Регистрация: Jan 2008
Адрес: Украина, Славутич
Сообщений: 646
Отправить сообщение для willis83 с помощью ICQ
налету, хочу сделать где-нибудь в углу кнопочки в виде флагов стран, выбераешь нужный флаг, переинизиализируется сцена с нужным языком

Добавлено через 2 минуты
с xml идея тоже ничего, можно даже загнать всё в один файл, один тэг - одна строка, а там уже просто в доп параметрах значения на нужных языках....

Старый 14.03.2011, 18:28
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 6  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Я в хмле делал, загонял все в ресурсМенеджер. Причем хмл структурированный по окнам и страничкам. Правда у меня ощущение, что неправильно его использую, но удобно все равно.

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<locale language="en_US">
		<test>
				<message><![CDATA[Это тест!]]></message>
				<title><![CDATA[Title]]></title>
		</test>
		<system>
			<date_format><![CDATA[DD/MM/YYYY]]></date_format>
			<datetime_format><![CDATA[DD/MM/YYYY JJ:NN]]></datetime_format>
			<datetimesec_format><![CDATA[DD/MM/YYYY JJ:NN:SS]]></datetimesec_format>
		</system>
		<common>
				<ok><![CDATA[Ok]]></ok>
				<yes><![CDATA[Yes]]></yes>
				<no><![CDATA[No]]></no>
				<cancel><![CDATA[Cancel]]></cancel>
				<edit><![CDATA[Edit]]></edit>
и т.д.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 15.03.2011, 00:21
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 7  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Налету: при инциализации приложения собираете все ссылки на ТекстФилды, в которые уже забиты тексты по умолчанию. При переключении языка обходите все ТекстФилды, и меняете у них тексты, согласно таблице языков.

Старый 15.03.2011, 00:33
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 8  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
При переключении языка обходите все ТекстФилды, и меняете у них тексты, согласно таблице языков
Или:
- Пишем класс-контейнер для языков. У класса есть статический массив с текущими словами, которые меняются в зависимости от выбранного языка. LangManager
- Пишем класс языко-зависимое-текстовое-поле. LangField В конструкторе этого класса подписываемся на события от LangManager'а. Менеджер языков нам сообщает об изменении языка и каждое текстовое поле (или еще что-то) само себя обновляет из статического массива

На мой взгляд, вариант с менеджером удобнее
__________________
...вселенская грусть

Старый 15.03.2011, 00:42
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 9  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Налету: при инциализации приложения собираете все ссылки на ТекстФилды, в которые уже забиты тексты по умолчанию. При переключении языка обходите все ТекстФилды, и меняете у них тексты, согласно таблице языков.
1. Как текст-филды идентифицировать (т.е. ага, вот еще один текстфилд нашли, а ключ локализации то у него какой)? - загонять на месте создания в хеш-справочник, а при удалении убирать отдуда?
2. Как быть, если текст является параметризированным?, ну т.е "У вашего юнита 10 опыта и 1 брони"

Цитата:
Или:
- Пишем класс-контейнер для языков. У класса есть статический массив с текущими словами, которые меняются в зависимости от выбранного языка. LangManager
- Пишем класс языко-зависимое-текстовое-поле. LangField В конструкторе этого класса подписываемся на события от LangManager'а. Менеджер языков нам сообщает об изменении языка и каждое текстовое поле (или еще что-то) само себя обновляет из статического массива

На мой взгляд, вариант с менеджером удобнее
Мне тоже кажется удобнее, только подписываться лучше в onAddedToStage и отписываться не забывать в onRemovedFromStage, по-тому как кто знает сколько когда и чего вы насоздаете и наудаляете.

На практике такое кто-нибудь делал?

Да, бывают же еще текстфилды, которые в зависимости от состояния приложения имеют разный текст, с ними как быть?


Последний раз редактировалось expl; 15.03.2011 в 00:51.
Старый 15.03.2011, 00:47
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 10  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Или:
- Пишем класс-контейнер для языков. У класса есть статический массив с текущими словами, которые меняются в зависимости от выбранного языка. LangManager
- Пишем класс языко-зависимое-текстовое-поле. LangField В конструкторе этого класса подписываемся на события от LangManager'а. Менеджер языков нам сообщает об изменении языка и каждое текстовое поле (или еще что-то) само себя обновляет из статического массива

На мой взгляд, вариант с менеджером удобнее
Я так понимаю, что именно в конструкторе нужно подписаться.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:56.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:56.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.