Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Можно ли заставить яваскриптовский alert() писать по русски? (http://forum.typo3.ru/showthread.php?t=645)

Winston James 01.06.2005 15:41

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

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

Может быть кто-то знает выход?

DTViMS 01.06.2005 17:08

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

В обоих случаях может пострадать немецкий язык.
Это вечная проблема и по другому ее никто пока не решал, а если и решал, то ни кому не говорит :(. Проги используют языковые настройки системы, а кирилица там всегда где-то глубоко запряталась. Некоторые проги еще более упрямые, что им даже такие меры не помогаю и они отказываются руссифицироваться. Также редкая прога умеет правильно отображать шрифты не зависимо от настроек системы.
Во, еще можно попробовать Юникод.
А еще можно заменить алерт на сообщение в dhtml, по типу контекстного меню в типе. Или новое дочернее окошко браузера с отключенной командной строкой, там же можно сделать чтобы родительское окно не становилось активным пока не закрыто дочернее. В последних вариантах можно и сообщение вывести более продвинутое.

Winston James 01.06.2005 17:30

2 DTViMS
Спасибо за ответ. У меня тоже такое чувство, что в данном случае проблему немецкий-русский не решить. Дело в том, что в немецком есть несколько нестандартных букв, которые рассполагаются во второй половине кодировочной таблицы, т.е. там же, где и кириллица. Так что тут уж или-или.
Уникоды не помогают - я проверял (это ведь не HTML).
Похоже, действительно, эту проблему можно решить, отказавшись от вывода месседжей посредством алертов. Но тогда это будет, строго говоря, не ответ на вопрос, в том виде, в котором он был поставлен. А самое главное - для этого придется залезать в нутро TYPO3, чего, естественно, делать не хотелось бы.

Valery Romanchev 01.06.2005 17:46

Я решал эту проблему в 3.6.0 для случая mail form. Сделал патч: забил русский текст в PHP код.

DTViMS 01.06.2005 17:49

Залезать в нутро иногда приходится. Все мы люди и делаем ошибки, а их приходится исправлять. А еще стандартных возожностей часто не хватает: Например, дату по русски можно задать \"9 мая\" или \"9 май\", а strftime использует только один падеж.

Pilot 02.06.2005 11:48

проще все делать на англ. либо не создавать алерты

daoman 12.05.2008 01:43

а можно уточнить, где были изменения по коду?

Valery Romanchev 12.05.2008 02:29

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


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

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