Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
Watched Topics
FAQ
Поиск
Пользователи
Группы
Регистрация
Профиль
Войти и проверить личные сообщения
Вход
Список форумов Cake-PHP.ru
->
Общий
Ответить
Имя
Тема
Сообщение
Смайлики
Дополнительные смайлики
Цвет шрифта:
По умолчанию
Тёмно-красный
Красный
Оранжевый
Коричневый
Жёлтый
Зелёный
Оливковый
Голубой
Синий
Тёмно-синий
Индиго
Фиолетовый
Белый
Чёрный
Размер шрифта:
Размер шрифта
Очень маленький
Маленький
Обычный
Большой
Огромный
Закрыть теги
[quote="bunyan"]В beforeFilter (AppController) определяю язык из url, записываю в конфиг: Configure::write('Config.language', $urlLang); В \app\locale\ есть два файла с локализацией : \eng\LC_MESSAGES\default.po \rus\LC_MESSAGES\default.po Проблема в том, что даже если в url передается язык "ru", страницы все равно отображаются с английскими строками, точнее, они на том языке, который указан в браузере, т.е. срабатывает автоопределение. Если поставить в браузере русский, то страницы будут на русском (то есть файлы с локализацией читаются), но нажатие на ссылку изменения языка (English) ни к чему не приведет. Получается, что изменение Config.language, которое должно иметь более высокий приоритет, чем автоопределение, ничего не дает.[/quote]
Настройки
HTML
ВЫКЛЮЧЕН
BBCode
ВКЛЮЧЕН
Смайлики
ВКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Отключить в этом сообщении смайлики
Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к
Администратору
.
Код подтверждения: *
Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.
Часовой пояс: GMT + 3
Перейти:
Выберите форум
CakePHP Форум
----------------
Общий
Установка и настройка
Творчество
Вопросы и пожелания
Комментарии к главам руководства по CakePHP 1.1
Обзор темы
Автор
Сообщение
bunyan
Добавлено: 16 Ноя 2007 09:25:48
Заголовок сообщения:
SkieDr, огромное спасибо!
Заработало, строку
$I18n->locale=$language;
заменил на
$I18n->l10n->locale=$I18n->l10n->__l10nCatalog[$language]['locale'];
Интересно, а почему только так? Везде ведь пишут, что нужно просто сохранять Config.language?
SkieDr
Добавлено: 16 Ноя 2007 08:42:00
Заголовок сообщения:
Вызывай из beforeFilter что то вроде
function setL10nLocale($language) {
$I18n =& I18n::getInstance();
$I18n->l10n->get($language);
$I18n->locale=$language;
}
bunyan
Добавлено: 16 Ноя 2007 07:31:33
Заголовок сообщения: Проблема с L10N - язык всегда определяется автоматически
В beforeFilter (AppController) определяю язык из url, записываю в конфиг:
Configure::write('Config.language', $urlLang);
В \app\locale\ есть два файла с локализацией :
\eng\LC_MESSAGES\default.po
\rus\LC_MESSAGES\default.po
Проблема в том, что даже если в url передается язык "ru", страницы все равно отображаются с английскими строками, точнее, они на том языке, который указан в браузере, т.е. срабатывает автоопределение. Если поставить в браузере русский, то страницы будут на русском (то есть файлы с локализацией читаются), но нажатие на ссылку изменения языка (English) ни к чему не приведет.
Получается, что изменение Config.language, которое должно иметь более высокий приоритет, чем автоопределение, ничего не дает.
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Если ничего интересного не нашли, можно рекламу почитать, а рекламируется у нас сегодня «».