[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Help: не вводятсяpyсские бyквы вNetscape'е 3.Х
Честно говоря, я от Алексея примерно такого ответы и ожидал.
И то, что этот ответ будет - тоже.
:-)))
> Простите, но это полная ерунда. Типичный грубый хак, коих так много у нас и
> от которых бледнеют разработчки по всему миру, о чем я как-то уже писал.
Ну почему ?!!!! бы благородному дону не использовать этот хак, если
он решает проблему (и достаточно успешно)?
К тому же я и не предлагаю ее пропихивать в официальные дистрибутивы
(все равно - вряд ли согласятся).
Пусть это останется нашей маленькой хитростью.
> Если
> вам нужна setlocale(), то вы ее и вставьте, но вовсе не всегда и не всюду это
> возможно. Кроме того, осталось совсем не так много программ, которые не умеют
> работать с locale. Не лучше ли заняться ими, а не искать панацею? Я во всех
> списках рассылки предлагаю взяться за составление перечня недружественных
> приложений. Однако, когда начинают идти заяки, то выясняется, что в 95%
> случаях проблема уже решена.
Что значит - решена?
В смысле - в "авторских" исходниках тоже?
(Что там Вагнер писал про Tcl/Tk?
Где вроде бы и проблема решена и автор "в курсе". И все-равно в новой версии
все тот же глюк.)
И кстати, кроме "авторского" дистрибутива есть еще и другие.
Недавно я столкнулся с тем, что в дистрибутиве FreeBSD программка grep хотя
и GNU, но очень уж "несвежая" (с багами, которых в GNU'шных дистрибутивах
уже давно нет). Естественно, речь идет о новых дистрибутивах FreeBSD.
В конце концов, когда все программы (во всех последних дистрибутивах)
будут доведены до ума, тогда "хак" отомрет сам собой.
> К сожалению, западные авторы действительно не всегда (мягко говоря)
> разбираются в проблемах создания локализованной среды.
Вот именно.
И пакость в том, что если они разбираются, они и setlocale если
надо поставят и без нее обойдутся, например, разбирая keysym'ы самостоятельно.
А если НЕ разбираются, то полагаются на то, что библиотеки сами обеспечат
все, что нужно.
А вот эти библиотеки (пусть даже писаные теми кто разбирается), все равно
требуют, чтобы автор явно вызвал хотя бы минимальный набор
"локале-устанавливающих" вызовов.
Кстати, вопрос к locale & POSIX гуру -
Ну какой такой глубокий смысл вложен в то, что автор обязательно должен
явно вызвать setlocale (даже если он в этом полный чайник)?
Почему этого нельзя делать автоматически при старте приложения.
Заметьте, что:
- если в каких-то категориях правильная локаль только мешает
(numeric, monetary), то можно переменными среды выставить
каждую категорию отдельно;
- если это требутся только для нескольких приложений - опять же не проблема
запускать их через скрипт с установкой нужной переменной;
- если автор такой умный и пользует setlocale с аргументами не "", то
тоже не проблема - setlocale(...,"") отработает при старте, а потом
автор "по ходу пьесы" может их поменять на "более подходящие".
--
Ivan U. Pascal | e-mail: pascal@tsu.ru
Administrator of | Tomsk State University
University Network | Tomsk, Russia