Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
01.06.2005, 15:41 | #1 |
Новенький
Регистрация: 28.05.2005
Адрес: Stuttgart
Сообщений: 29
|
Можно ли заставить яваскриптовский alert() писать по русски?
Это может понадобиться, например, для проверки обязательных полей при занисении сообщений в гостевую книгу.
В TS можно успешно поменять подтекстовки, но когда не все обязательные поля заполнены, то срабатывает alert(theBadMess+msg); и пишет при этом вместо русских слов мусор. !!! Моя проблема в том, что default язык на моей Винде - немецкий (вполне допускаю, что на руссифицированных компах подобная проблема не возникает). Может быть кто-то знает выход? |
01.06.2005, 17:08 | #2 |
Новенький
Регистрация: 09.03.2005
Сообщений: 8
|
Проблема чисто локальная! Когда браузер читает кодировку страницы, то устанавливает ее верно, а когда работает alert выдается системное сообщение, которое не знает русской кодировки. Может при использовании Koi-8r (вместо win1251) он конвертнет правильно, но шибко сомневаюсь.
Насколько знаю лечится это только двумя способами: 1) Установка региональных настроек в винде РУССКИХ. Тогда сама винда переключит свои шрифты на русскоязычые (почему-то при этом другие языки отображаются обычно корректно). 2) заменить все шрифты в системе на чисто русские. В обоих случаях может пострадать немецкий язык. Это вечная проблема и по другому ее никто пока не решал, а если и решал, то ни кому не говорит . Проги используют языковые настройки системы, а кирилица там всегда где-то глубоко запряталась. Некоторые проги еще более упрямые, что им даже такие меры не помогаю и они отказываются руссифицироваться. Также редкая прога умеет правильно отображать шрифты не зависимо от настроек системы. Во, еще можно попробовать Юникод. А еще можно заменить алерт на сообщение в dhtml, по типу контекстного меню в типе. Или новое дочернее окошко браузера с отключенной командной строкой, там же можно сделать чтобы родительское окно не становилось активным пока не закрыто дочернее. В последних вариантах можно и сообщение вывести более продвинутое. |
01.06.2005, 17:30 | #3 |
Новенький
Регистрация: 28.05.2005
Адрес: Stuttgart
Сообщений: 29
|
2 DTViMS
Спасибо за ответ. У меня тоже такое чувство, что в данном случае проблему немецкий-русский не решить. Дело в том, что в немецком есть несколько нестандартных букв, которые рассполагаются во второй половине кодировочной таблицы, т.е. там же, где и кириллица. Так что тут уж или-или. Уникоды не помогают - я проверял (это ведь не HTML). Похоже, действительно, эту проблему можно решить, отказавшись от вывода месседжей посредством алертов. Но тогда это будет, строго говоря, не ответ на вопрос, в том виде, в котором он был поставлен. А самое главное - для этого придется залезать в нутро TYPO3, чего, естественно, делать не хотелось бы. |
01.06.2005, 17:46 | #4 |
Administrator
|
Я решал эту проблему в 3.6.0 для случая mail form. Сделал патч: забил русский текст в PHP код.
|
01.06.2005, 17:49 | #5 |
Новенький
Регистрация: 09.03.2005
Сообщений: 8
|
Залезать в нутро иногда приходится. Все мы люди и делаем ошибки, а их приходится исправлять. А еще стандартных возожностей часто не хватает: Например, дату по русски можно задать \"9 мая\" или \"9 май\", а strftime использует только один падеж.
|
02.06.2005, 11:48 | #6 |
Senior Member
Регистрация: 28.10.2004
Сообщений: 131
|
проще все делать на англ. либо не создавать алерты
|
12.05.2008, 01:43 | #7 |
Новенький
Регистрация: 16.02.2008
Сообщений: 1
|
а можно уточнить, где были изменения по коду?
|
12.05.2008, 02:29 | #8 |
Administrator
|
используйте экстеншен powermail
(стандартные майл формы уже устарели - в них нет каптчи и сохранения в базу... точнее есть плагины под это, но ставить и настраивать - себе дороже.. лучше один нормальный использовать) |