Доброго дня!
Не могу понять как осуществлется выбор какую страницу броузер отобразит, скажем если есть выбор между русской и английской версиями страниц.
Пример - стоит CUPS 1.4.4, при заходе через броузер, использую Iceweasel 3.5.6, отображается русская страница.
Сначала я решил, что всё решается установкой языка предпочтения в броузере, но смена параментра на английский не дало загрузки английского интерфейса.
Системная локаль не может на это влиять, так как используется en_US.UTF-8. Пожалуй единственное, что выдаёт российское расположение - это часовой пояс.
Вопрос - как на стороне сервера осуществить автоматический выбор какую версию страницы отобразить?
Спасибо.
HTML: загрузка локализованой страницы
Модератор: Модераторы разделов
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: HTML: загрузка локализованой страницы
браузер отобразит то, что отдаст http-сервер.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Сообщения: 2567
- ОС: Debian
Re: HTML: загрузка локализованой страницы
Несомненно, вопрос в том как сервер выбирает что отобразить, какие критерии?
-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: HTML: загрузка локализованой страницы
он тут вообще своеброзен. логики, честно говоря, не увидел. надо в исходниках смотреть.
какие заложили разработчики.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: HTML: загрузка локализованой страницы
Классических варианта 2: заголовок Accept-Language (стандартный вариант) и GeoIP (используется гуглом, если не путаю).
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: HTML: загрузка локализованой страницы
В браузере вы настраиваете, какие языки предпочитаете. Он посылает соответствующий Accept-Language. Apache на основе настроек выбирает постфикс имени файла (например, если у вас есть файлы index.html.ru, index.html.en и index.html.de, то в зависимости от значения Accept-Language будет "выбран правильный" файл при запросе пользователем файла index.html).
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: HTML: загрузка локализованой страницы
вероятно, топик-стартера интересовало, существуют ли какие-нибудь стандарты, описывающие поведение абстрактного http-сервера в отношении выдачи разных языковых версий страниц. насколько мне известно, таких стандартов не существует.eddy писал(а): ↑30.07.2010 15:27
В браузере вы настраиваете, какие языки предпочитаете. Он посылает соответствующий Accept-Language. Apache на основе настроек выбирает постфикс имени файла (например, если у вас есть файлы index.html.ru, index.html.en и index.html.de, то в зависимости от значения Accept-Language будет "выбран правильный" файл при запросе пользователем файла index.html).
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: HTML: загрузка локализованой страницы
Почему же? Для апача эта процедура вполне стандартизована. Главное, чтобы браузер отсылал правильные Accept-Language. И вы можете хоть на 1000 языках делать свой сайт. Точно так же по проверке Accept-Language делается локализация CGI.
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Сообщения: 2567
- ОС: Debian
Re: HTML: загрузка локализованой страницы
Хорошо, предположим с Apache разобрались.
На самом деле интересует именно общий подход не привязанный к конкретному серверу.
Скажем я скоро начну работу над web-интерфейсом к устройству и хотелось бы заложить сразу функционал с локализоваными интерфейсами - русским и английским, на устройстве используется mini_httpd.
Как поступить, не очень хочеться делать это через явный выбор языка? Да и Accept-Language не объясняет ситуации с CUPS.
На самом деле интересует именно общий подход не привязанный к конкретному серверу.
Скажем я скоро начну работу над web-интерфейсом к устройству и хотелось бы заложить сразу функционал с локализоваными интерфейсами - русским и английским, на устройстве используется mini_httpd.
Как поступить, не очень хочеться делать это через явный выбор языка? Да и Accept-Language не объясняет ситуации с CUPS.
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: HTML: загрузка локализованой страницы
Я локализовал по-простому:
Код: Выделить всё
// lang.h
#define _LANG(_var, _ru, _en) char _var##ru[] = _ru;\
char _var##en[] = _en;\
char *_var[2] = {_var##ru, _var##en};
#define _L(x) (x[Lang])
_LANG(_s_Save_file_, "Сохранить файл", "Save file");
_LANG(_s_no_QS_, "Отсутствует строка запроса", "No query string");
...
// main.c
...
unsigned char Lang = 1; // английский
...
ptr = getenv("HTTP_ACCEPT_LANGUAGE");
if(ptr) if(strncmp(ptr, "ru", 2) == 0) Lang = 0; // используем русский
...
printf("Content-type: text/plain; charset=koi8-r\n\n");
printf("OT - %s\nIT - %s\nMT - %s\nWS - %s\nP - %s\nH - %s\nS - %s\n\n",
_L(_s_Otemp_), _L(_s_Itemp_), _L(_s_Mtemp_),
_L(_s_WSpeed_), _L(_s_Pressure_), _L(_s_Humidity_),
_L(_s_State_));
...
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: HTML: загрузка локализованой страницы
повторю только: «он тут вообще своеброзен».
несколько протестированных мною инсталляций не обращали внимания ни на переданный accept-language, ни на соответствующую директиву собственного конфигурационного файла. т.е., больше всего смахивает на баг, хотя неплохо бы в исходниках посмотреть (у меня лично нет ни времени, ни желания).
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог