Показать сообщение отдельно
Старый 28.08.2008, 17:11
walch вне форума Посмотреть профиль Отправить личное сообщение для walch Найти все сообщения от walch
  № 1  
Ответить с цитированием
walch

Регистрация: Aug 2008
Сообщений: 1
По умолчанию Кто-нибудь работал с Locale?

По описанию в справке получается отличный класс который даже умеет автоматически заменять тексты после смены языка. Но при попытке им воспользоваться возникла проблема...

Код:
import fl.lang.Locale;

Locale.addXMLPath("ru", "locale/lang_ru.xml");
Locale.addXMLPath("en", "locale/lang_en.xml");

// Включаем автозамену при загрузке XML-файла с языком
Locale.autoReplace = true;

// Добавляем текстовое поле в список тех которые надо автозаменять
Locale.addDelayedInstance(txt, "IDS_STR");

// Грузим язык
Locale.loadLanguageXML("ru");
Всё срабатывает отлично - в поле появляется текст на русском.

Добавим 2 кнопки. Описывать их код не буду, так как он не имеет значения, а место занимает.
Одна кнопка делает - Locale.loadLanguageXML("en");
Другая, соответственно - Locale.loadLanguageXML("ru");

Так вот. Если нажать на кнопку которая грузит английский, то текст в поле поменяется! Но вот обратно на русский уже нет!

Соответственно, если загрузить сначала "en", то переключение стработает один раз на "ru", а обратно - нет.

Кто-нибудь сталкивался?

P.S. Похоже что замена происходит только при первой реальной заргузке файла. На второй поптыке он не грузится с сервера, так как уже есть в памяти (хотя все события отрабатывают корректно).