Hi!
Хотел бы расказать как я решаю для своего сервера проблему многоязычности
и что хотел бы от будущего сервера.
Это кусок из моей рекомендации пользователям сервера:
Поддержка многоязычности на сервере apache-rus.
1. Имена файлов имеют вид <name>.<lang>.html (Ex: rustext.ru.html)
2. Default для каталога index.ru.html index.en.html и т.д.
(при этом: "DirectoryIndex index.html index" и MultiViews). Далее на
каждом index.*.html есть ссылки на соседние языки (если это нужно ;-),
и на русских страницах на смену кодировки. Когда настроенный NN выдаст
Accept-Language: и Accept-Charset:, то ему отдается все правильно,
в противном случаи он сам выберет нужную страницу.
Желательно всегда иметь index.en.html хотя бы с одной строкой
'<A HREF="index.ru.html">Sorry, russian only ;-)</A>', как уже говорилось,
для NN 4.0 который по Default имеет 'Accept-Language: en', а MultiViews
выдаст ошибку 406. Конечно, я имел в виду что все это в каталоге, где много других языков (de, fr - например), но перекодировка вызывается только для одного.
Сама по себе опция MultiViews удобна, но по моему мнению, это единственный
случай где она полезна для выбора файла по языку (index -> index.<lang>.html).
В принципе ее можно оставить для определения языка по суффиксу.
Что бы хотелось от по настоящему многоязычного сервера. Устанавливать
в каталоге и ниже charset для lang, и для SourceEnc, и для CharsetDefault,
DefaultLang для файлов не имеющих признаков языка (Ex: README :-))).
Для совместимости можно было бы для строки 'CharsetSourceEnc koi8-r'
подразумевать DefaultLang и т.д.
Хотелось бы иметь Rewrite для убивания префиксов типа /win/ путем
установки ENV для mod_charset по которому он бы и выдавал бы нужное,
по приоритету где-то сразу после Accept-Charset, а может бы и раньше, но
тогда уже и вместе с выбором языка (минуя Accept-Language) - тогда можно
было бы быстро, не лазя в конфигурацию переключаться. Правда здесь я вижу
помеху в виде MultiViews. Может его функции полностью забрать в mod_charset,
оставив все его опции? Думаю что не стоит дублировать AddLanguage,
так их тогда нужно убить.
--
Best regards, Eugene Byrganov
mailto:E.B.Byrganov@inp.nsk.su
work - http://www.inp.nsk.su/
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.