[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