Интернационализация, локализация, кодирование, Исландия и перевод веб-сайта с фотографиями японских кошек
Когда дело доходит до интернационализации, локализации и кодирования в веб-приложениях, есть много информации. Также существует множество недопониманий относительно того, что каждый из них предоставляет для веб-приложения. Вот мое мнение ...
Когда веб-браузер устанавливает соединение с веб-сервером, он передает довольно много переменных и делает дополнительные запросы, вот пример:
GET / HTTP / 1.1
Хост: www.dknewmedia.com
Пользовательский агент: Mozilla / 5.0 (Macintosh; U; Intel Mac OS X; en-US; rv: 1.8.1.3) Gecko / 20070309 Firefox / 2.0.0.3
Принять: HTTP Accept = text / xml, application / xml, application / xhtml + xml, text / html; q = 0.9, text / plain; q = 0.8, image / png, * / *; q = 0.5
Accept-Language: en-us, en; q = 0.5
Принятие кодировки: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Интернационализация
Интернационализация - это смесь многих вещей:
- Локализация: Возможность определить, с какого языка и из какого места посещает посетитель. Это делается через HTTP-запросы, где посетитель идентифицируется по языку. В моем случае это en-US. «En» - английский, а «US» - Соединенные Штаты. Это настройка в моей операционной системе.
- Часовые пояса: Возможность настройки часовых поясов. Обычно это достигается путем установки на вашем сервере среднего времени по Гринвичу (GMT), а затем предоставления пользователям возможности установить свое локальное смещение от GMT.
- Кодировка символов: Это возможность правильно отображать языковые наборы символов. Это отличается от локализации, поскольку локализация может сказать мне язык и регион компьютера, с которого делается запрос, но не скажет мне, на каком языке читатель просит… это зависит от читателя!
Обратите внимание в моем HTTP-заголовке, когда браузер сделал запрос, он сообщил серверу, что запрашивает мою локаль (Accept-Language: en-us); однако он также должен сообщить серверу, какой набор символов запрашивается (Accept-Charset: Accept-Charset: ISO-8859-1, utf-8; q = 0.7, *; q = 0.7) ISO-8859-1 и utf -8 - допустимые наборы символов.
Локализация
В этом фантастическом запутанном мире локализация больше не диктует язык. Несмотря на то, что я живу в США, я могу читать на другом языке, используя другой набор символов ... вот что происходит, когда я использую Google хинди (На самом деле я не использую Google Hindi). Мой запрос на языковой стандарт и набор символов такие же, как когда я запрашиваю Google английский page, но на самом деле мне скармливают страницу, которую я не могу прочитать, потому что у меня нет набора символов. Все всплывает ??????????? ... Однако я могу загрузить этот набор символов в Firefox (Firefox> Настройки> Дополнительно> Языки):
Если я загружу этот язык, я могу запросить страницу в ее собственном наборе символов и отобразить ее на моем компьютере, даже если я использую локаль по умолчанию en-US!
Итак ... если я изучаю хинди, изучаю английский в Purdue и подключаюсь через VPN к школьному серверу, на каникулах в Австралии ... есть 3 различных параметра, которые необходимо применить к приложению, чтобы оно стало действительно интернационализированным, и никто зависеть от другого.
Мой язык будет en-US, но мой часовой пояс - Австралия, но язык, который я запрашиваю с веб-сайта, может быть хинди. Если бы я запрограммировал свое приложение на предположения судя по языку моего компьютера, я был бы совершенно неправ - кормить человека английским в восточном часовом поясе. В идеале я бы запрограммировал свое приложение так, чтобы он предлагал изоферменты печени настройки языка и часового пояса ... но я бы не предполагал, что они основаны на локали.
Исландия - яркий пример
Мы игнорируем проблемы, связанные с использованием нескольких языков и регионов, в Соединенных Штатах, где мы Найти говорить по-английски [подразумевается сарказм]. В некоторых странах, таких как Исландия, хотя родным языком является исландский, невероятные исландцы вырастают, изучая 3 языка! Поскольку Исландия - страна в центре Европы и Северной Америки, их компании работают на разных континентах, языках, диалектах языков и разных часовых поясах со своего рабочего стола!
Многие исландские веб-сайты созданы на английском, британском, исландском, испанском, испанском, французском и немецком языках! Только представьте, как сложно было бы построить Icelandair's веб-приложения и системы продажи билетов… вау!
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я имел огромное удовольствие работать с замечательными людьми из Icelandair и могу сказать вам, что они одни из самых талантливых и дружелюбных профессионалов, с которыми я имел удовольствие работать. Это просто удивительная страна и люди! Посетите ... возьмите Icelandair и обязательно посетите Blue Lagoon!
Язык против кодировки
Существуют даже разные кодировки символов в пределах одного языка, которые плохо сочетаются друг с другом! Пример: электронное письмо на японском языке, написанное с использованием Shift-JIS, может отображаться нечитаемым на компьютере японца с локализацией ja-JP, поскольку его почтовый сервер распознает только EUC-JP. В идеале клиент должен иметь возможность установить, какую кодировку он хотел бы, а также какой язык - просто гарантируя, что кодировка и язык совместимы с тем, что запрашивает клиент.
Если я хочу читать по-японски, мне, возможно, придется выбрать как японский язык в качестве моего языка, так и Shift-JIS для кодирования, чтобы правильно отображать этот язык. Вот еще одна путаница, которую можно добавить ... некоторые типы кодирования поддерживают несколько языков. UNICODE / UTF8 поддерживает десятки. Верно и обратное. Некоторые языки можно читать во многих типах кодировки. Если в этом нет смысла… Прошу прощения, это очень сложный вопрос.
Когда-нибудь я верю (надеюсь), что все изменится. Я думаю, что первоначальные разработчики кодов локализации надеялись, что сочетание языка и страны будет всем, что нужно… но мы стали гораздо более изощренными. Помните, что многое из этого было разработано до того, как появился Интернет. С появлением ГИС, возможно, человек сможет выбрать свою кодировку, и ГИС будет обрабатывать информацию о часовом поясе и локали.
Интернационализация
Вернуться к поддержке интернационализации. Если вы хотите предоставить интернационализированное приложение, вам необходимо:
- Поддержка нескольких типов кодировки, языков и файлов переводов для отображения этих переводов.
- Позвольте клиенту установить свой язык и даже, возможно, тип кодировки, если необходимо.
- Поддержка часовых поясов, позволяя пользователям ссылаться на свой часовой пояс по сравнению с GMT.
- С осторожностью используйте коды локализации ... они НЕ точно отображают то, что ваш пользователь на самом деле запрашивает, и то, что они могут прочитать.
Переводы
Машинный перевод все еще находится в зачаточном состоянии. Существует ряд веб-сайтов (и WordPress Плагины), которые предлагают машинный перевод вашего сайта. Не поддавайтесь искушению сделать это ... на то есть две причины:
- Если машинный перевод работает, у пользователя, проверяющего ваш сайт, уже будет переводчик для работы.
- Машинный перевод - отстой.
Не верите мне? Вот вам японский перевод:
Вставлено из Файл Masatsu - чувак с кучей картинок котиков:
Запись в блоге на японском языке
???
- 00:29:35 по масацу???????????????????????????
???????????????????????????????????? (?)?
????????????????????????????????????????
???????????????????????????????????????????????????????????????? (?)
?????????????????
??????????????
???
??????????????????????????????????????????
???????????????????????????????
??????????????????????????????????????
?????????????????
???????????? Аг ????????????????????????????????????????????????????
Машинный перевод:
?? Ханн ?????
-00: 29: 35 по масацуИмя первого святого слона, появившегося на вчерашней «флоте кулака зверя» ?? рейнджер »« ?? Ханн ???? " с радиоактером Ютакой Мидзусима….
? (?) что каракатицы охотятся.
Потому что даже радиоактер первого святого, мастер ????? a / cat - китайская айва Nagai Ichiro = драконий шар посох a / the ?? Рейнджер похож на людей, которые остроумное замечание знают охотно.
?????? (Пот), что я полностью забыл в этом году «секрет имени суперфлота», обычной практики каждый год?,
?????? Если я напишу в этом году с опозданием,
??????? святыня ??? (может как?)? Мыс cullion (?? вырезать не) Фуками ?? (? или наблюдать в состоянии?) и / что это делает
?????? С, это становится «может /? /?», Другими словами, «кунг-фу», когда выстраиваются в линию и меняют заголовок / имя.
?????? Хотя говорят, чтобы увеличить еще два, якобы это может стать какое имя.
Истина называется «возрастом», потому что символ серебряного элемента - это Ag ?, хотя название «???? серебро »Такаока? техник ??????? думал, что персонаж назвал «?» использовался с ассоциацией серебряного экрана? фильм, если он называет его с дополнительным членом.
?????? Тем не менее, я эгоистично думаю, что моя теория не имеет отношения к этому «?» входит в китайский иероглиф.
Я уверен, что изменение полярности этого перевода обеспечит такую же читаемую английскую дикцию. Вы все поняли, верно?