Forum Webscript.Ru

Программирование => Perl => Тема начата: ondr от 06 Февраля 2004, 18:33:57

Название: Локализация
Отправлено: ondr от 06 Февраля 2004, 18:33:57
Известно, что прагма \'use locale\' имеет локальную область действия (блок, файл и т.д.). При отсутствии сей прагмы интерпретатор использует локаль по умолчанию \'C\'. Переопределить которую, или "насильно" перевести тот или иной пакет(разумеется непосредственно не правя код пакета), на текущую локализацию пока не вижу возможным.
Да, под переопределением локали по умолчанию не подразуеваются какие либо действия над стандартной POSIX локалью \'C\'.

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


ps: Проблема известна давно, но обратила на себя внимание при попытке задействовать встроенные фильтры TT на русский текст.
Название: Локализация
Отправлено: NeoNox от 06 Февраля 2004, 20:36:48
ondr имхо, дядька лари тут не причем. Туть дядька энди не подумал и на твоем месте я бы его попросил включить возможность выбора локали.  Кстати, я в таких случаях пишу замещающую функцию - это существенно экономит время.
Название: Локализация
Отправлено: ondr от 06 Февраля 2004, 21:25:18
NeoNox
Что касается замещающих функций/модулей, то так я обычно и поступаю если что-то не устраивает. И в данный момент вопрос с ТТ обойден именно так.

Просто привык к тому, что в perl\'е все, что поддается логике, как нибудь, да реализуется. А тут шмякнулся лбом о стенку.

Идея информировать об этом разработчиков, конечно, интерсная. Подумаю над этим :) В любом случае спасибо за совет.
Название: Локализация
Отправлено: metton от 13 Февраля 2004, 01:30:33
2ondr
Не уверен, что понял вот это: "перевести тот или иной пакет(разумеется непосредственно не правя код пакета), на текущую локализацию пока не вижу возможным". То есть например тот же DBI (пример надуман, может ему это не нужно, но просто первое в голову пришло) без изменения кода не буит корректно работать с русским?