При добавлении возможностей интернационализации в веб-приложение Oracle (на основе mod_plsql) я хотел бы интерпретировать параметр HTTP_ACCEPT_LANGUAGE и использовать его для установки различных параметров NLS_ * в сеансе Oracle.Есть ли простой способ преобразования HTTP_ACCEPT_LANGUAGE в настройки Oracle NLS_LANG?
Например:
HTTP_ACCEPT_LANGUAGE=de
alter session set nls_territory=germany;
alter session set nls_lang=...
Однако, вы могли бы получить что-то более сложное, я полагаю ...
HTTP_ACCEPT_LANGUAGE=en-us,en;q=0.5
Как бы люди решать такого рода вещи раньше?
EDIT - вслед за подробный ответ Курта ниже
Спасибо за четкий и подробный ответ Курта. Я действительно не понимал, хотя, поскольку я действительно спрашивал, есть ли какие-либо существующие виджеты Oracle, которые обрабатывали это.
Я уже прошел путь к ручному анализу переменной HTTP_ACCEPT_LANGUAGE и, как указал Курт в своем ответе, есть несколько тонких областей сложности. Это чувствует как-то, что должно было быть сделано много раз раньше. Поскольку я писал все больше и больше кода, у меня было то, что я погружался в чувство «Я изобретаю колесо». :)
Для этого должен существовать существующий подход Oracle - возможно, что-то в iAS ??
EDIT - наткнулся на ответ
В поисках чего-то еще, я наткнулся на пакет UTL_I18N, который делает именно бух я после:
Is there an easy way to convert HTTP_ACCEPT_LANGUAGE to Oracle NLS_LANG settings?
Спасибо за четкий и подробный ответ Курт. Я действительно не понимал, хотя, поскольку я действительно спрашивал, есть ли какие-либо существующие виджеты Oracle, которые обрабатывали это. Я уже иду по ручному анализу переменной HTTP_ACCEPT_LANGUAGE, и, как вы указали в своем ответе, он стал более активным. Он * чувствовал * как нечто, что, должно быть, было сделано много раз раньше. У меня было то, что я погрузился в чувство «Я изобретаю колесо». :) –
:-(. –