PDA

Просмотр полной версии : вопрос по мультиязичному проекту


grandville
04.09.2005, 15:26
Узнал, что во Flash можно создавать многоязычные проекты с использованием XML файлов ( ну типа все динамические надписи могут выводиться на заданных языках). Есть вориант, когда Flash сам определяет язык пользователя. Мне нужно, чтобы пользователь сам мог выбирать язык. Помогите.

Den0k
04.09.2005, 15:41
Можно)
правда я сам не разбирался с этой системой. Обычно я делаю текст интерфейса на разных языках в отдельном файле (ХМЛ и что-то ещё) потом подгружаю и использую по выбору юзера. Пока меня это устраивает и я в справку не лезу, хотя вдруг эта фича вместе с панелью Strings окажется лучше и проще?
Надо изучить вопрос) Кто уже изучил расскажите;-)

grandville
06.09.2005, 10:43
Здравствуйте, друзья.
Я смотрю, практически ни кто, не может дать вразумительный ответ.
Очень и очень жаль. Я пролистал весь форум- обсуждаются, восновном, одни и теже вопросы( ответы на которые есть в книжках и сети), а здесь затык и тишина. Ну неужели я спрашиваю какую-нибудь глупость? Ктото
ведь должен был сталкнуться с таким вопросом в своей работе.
Ну всё равно хочу сказать большое спасибо Форуму. Тут есть много полезного материала для понимания Flash.

ffffff
06.09.2005, 11:22
да... очень много тебе ответов дали :)))

кешно можно так делать, допустим делаешь фрейм и в него вешаешь 2 кнопки rus|eng
в зависимости от того на какую кликнешь меняешь переменную языка. я делал что у меня весь текст хранился в _root в двумерном массиве типа

stringss[0] = "здраствуйте!";
stringss[1] = "hello!";

потом просто подружаешь текст к себе в текстовые поля.

с картинками можно поступить так: сделать номера кадров как языковые версии.

при желании можно всё это их xml грузить.

PSHOLTY
06.09.2005, 11:42
я использую некую переменную, чтоб флеш знал на каком языке ему вещи выводить.

а в хмле даю айди не только в зависимости от кадра, но и от языка

wwwita
06.09.2005, 12:23
если хочешь сделать как надо, то сначала посмотри в инете инфу по "ресурсным файлам" http://www.yandex.ru/yandsearch?stype=www&nl=0&text=%F0%E5%F1%F3%F0%F1%ED%FB%E5+%F4%E0%E9%EB%FB
там есть шаблоны в которых уже опытным путем определен набор объектов.

потом сделай себе ресурсный файл с набором объектов разных типов, сделай на флэше класс который будет работать с этим ресурсным файлом, загружать его по имени (по имени языка) и возвращать определенные значения для объектов например по типам объектов и идентификаторам. эти файлы не относятся к массивам типа Месяцев и подобных, все эти массивы можно получить на сервере в нужной культуре (языке), как и формат данных для вывода (дата, деньги и тп), и реализовать их загрузку через тот же класс.

времени на это уйдет ненамного больше чем отлов всех значений всех полей, а в будущем у тебя будет болванка, которая сильно сэкономит время.

aksios
06.09.2005, 12:50
Если не флудить:
if (System.capabilities.language.substring(0,2)=="ru")
{...
.... }
else
{....}
- на каждый поддерживаемый язык пишем в else еще if.
Как изменить контекст - да как угодно: хош из xml, хош из мувика - только это будет пример о использовании xml во flash или чего еще там.
Соответственно, если вручную переключать язык, то для кнопки:
on (press) {грузим язык....}

wwwita
06.09.2005, 14:03
вопрос не в флуде, а в концепции, кто-то пишет
System.capabilities.language.substring(0,2)=="ru"
кто-то пишет
LocalCulture == Culture.Ru, где первое - свойство, а второе - enum.

вопрос ведь касался самого принципа организации мультиязычности,
а не on (release) {}
;)

grandville
09.09.2005, 17:15
Огромное спасибо всем откликнувшимся.
Пока ждал советов, нашёл своё решение. Создал массивы с русскими и иностранными подписями, динамические поля везде где присутствует текст и кнопки выбора языков. На первый кадр повесил проверку условия выбора кнопок и ву-аля, всё работает влёт.
Ещё раз спасибо активным форумчанам.