Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 01.06.2005, 15:41   #1
Winston James
Новенький
 
Регистрация: 28.05.2005
Адрес: Stuttgart
Сообщений: 29
По умолчанию Можно ли заставить яваскриптовский alert() писать по русски?

Это может понадобиться, например, для проверки обязательных полей при занисении сообщений в гостевую книгу.
В TS можно успешно поменять подтекстовки, но когда не все обязательные поля заполнены, то срабатывает
alert(theBadMess+msg);
и пишет при этом вместо русских слов мусор.

!!! Моя проблема в том, что default язык на моей Винде - немецкий (вполне допускаю, что на руссифицированных компах подобная проблема не возникает).

Может быть кто-то знает выход?
Winston James вне форума   Ответить с цитированием
Старый 01.06.2005, 17:08   #2
DTViMS
Новенький
 
Регистрация: 09.03.2005
Сообщений: 8
По умолчанию

Проблема чисто локальная! Когда браузер читает кодировку страницы, то устанавливает ее верно, а когда работает alert выдается системное сообщение, которое не знает русской кодировки. Может при использовании Koi-8r (вместо win1251) он конвертнет правильно, но шибко сомневаюсь.
Насколько знаю лечится это только двумя способами:
1) Установка региональных настроек в винде РУССКИХ. Тогда сама винда переключит свои шрифты на русскоязычые (почему-то при этом другие языки отображаются обычно корректно).
2) заменить все шрифты в системе на чисто русские.

В обоих случаях может пострадать немецкий язык.
Это вечная проблема и по другому ее никто пока не решал, а если и решал, то ни кому не говорит . Проги используют языковые настройки системы, а кирилица там всегда где-то глубоко запряталась. Некоторые проги еще более упрямые, что им даже такие меры не помогаю и они отказываются руссифицироваться. Также редкая прога умеет правильно отображать шрифты не зависимо от настроек системы.
Во, еще можно попробовать Юникод.
А еще можно заменить алерт на сообщение в dhtml, по типу контекстного меню в типе. Или новое дочернее окошко браузера с отключенной командной строкой, там же можно сделать чтобы родительское окно не становилось активным пока не закрыто дочернее. В последних вариантах можно и сообщение вывести более продвинутое.
DTViMS вне форума   Ответить с цитированием
Старый 01.06.2005, 17:30   #3
Winston James
Новенький
 
Регистрация: 28.05.2005
Адрес: Stuttgart
Сообщений: 29
По умолчанию

2 DTViMS
Спасибо за ответ. У меня тоже такое чувство, что в данном случае проблему немецкий-русский не решить. Дело в том, что в немецком есть несколько нестандартных букв, которые рассполагаются во второй половине кодировочной таблицы, т.е. там же, где и кириллица. Так что тут уж или-или.
Уникоды не помогают - я проверял (это ведь не HTML).
Похоже, действительно, эту проблему можно решить, отказавшись от вывода месседжей посредством алертов. Но тогда это будет, строго говоря, не ответ на вопрос, в том виде, в котором он был поставлен. А самое главное - для этого придется залезать в нутро TYPO3, чего, естественно, делать не хотелось бы.
Winston James вне форума   Ответить с цитированием
Старый 01.06.2005, 17:46   #4
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

Я решал эту проблему в 3.6.0 для случая mail form. Сделал патч: забил русский текст в PHP код.
Valery Romanchev вне форума   Ответить с цитированием
Старый 01.06.2005, 17:49   #5
DTViMS
Новенький
 
Регистрация: 09.03.2005
Сообщений: 8
По умолчанию

Залезать в нутро иногда приходится. Все мы люди и делаем ошибки, а их приходится исправлять. А еще стандартных возожностей часто не хватает: Например, дату по русски можно задать \"9 мая\" или \"9 май\", а strftime использует только один падеж.
DTViMS вне форума   Ответить с цитированием
Старый 02.06.2005, 11:48   #6
Pilot
Senior Member
 
Регистрация: 28.10.2004
Сообщений: 131
По умолчанию

проще все делать на англ. либо не создавать алерты
Pilot вне форума   Ответить с цитированием
Старый 12.05.2008, 01:43   #7
daoman
Новенький
 
Регистрация: 16.02.2008
Сообщений: 1
По умолчанию

а можно уточнить, где были изменения по коду?
daoman вне форума   Ответить с цитированием
Старый 12.05.2008, 02:29   #8
Valery Romanchev
Administrator
 
Аватар для Valery Romanchev
 
Регистрация: 23.08.2003
Адрес: Moscow, Russia
Сообщений: 1,926
Отправить сообщение для Valery Romanchev с помощью Skype™
По умолчанию

используйте экстеншен powermail
(стандартные майл формы уже устарели - в них нет каптчи и сохранения в базу... точнее есть плагины под это, но ставить и настраивать - себе дороже.. лучше один нормальный использовать)
__________________
Веб-студия ТТЛАБ
www.ttlab.ru
Valery Romanchev вне форума   Ответить с цитированием
Ответ


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

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

Быстрый переход


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


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория