Neurons to bytes

Posts Tagged ‘Zend_Locale’

Встроенные переводы сообщений валидаторов в Zend Framework

01.19.2010 by Ouch! - 0 Comment
Posted in Без рубрики

В новом Zend Framework 1.10 появились переводы для встроенных валидаторов! Ура!
Теперь не нужно переводить самому, как, например, делал я когда-то. Теперь можно тупо:

$language = 'ru';
$translator = new Zend_Translate(
    'array',
    '/resources/languages',
    $language,
    array('scan' => Zend_Locale::LOCALE_DIRECTORY)
);

Zend_Validate_Abstract::setDefaultTranslator($translator);

И всё - радуемся.

Информация из оригинального поста Томаса Вейднера, разработчика i18n в ZF.

UPD: мы с ребятами с zendframework.ru (спасибо им) перевели сообщения валидаторов на русский язык. Ожидается, что наш перевод появится в ZF 1.10.2 (выйдет 23 февраля 2010). Так же, ожидается перевод на украинский язык.

Про интернационализацию и локализацию

12.24.2009 by Ouch! - 2 Comments
Posted in Без рубрики

Когда пользователь заходит на сайт, поддерживающий различные языки, то он должен выбрать тот язык, который подходит ему. В большинстве случаев язык, на котором отображается мультиязычный сайт определяется автоматически, на основе заголовка HTTP_ACCEPT_LANGUAGE, или на основе IP-адреса пользователя. Определять язык пользователя по его местоположению, при помощи IP-адреса неправильно, так как во-первых, правильно определить местоположение пользователя получится не всегда, а во-вторых, определять язык по местоположению это плохая идея.

Почему? Например, я могу находиться в Испании, и зайду на мультиязычный сайт из под локализованного на баскский язык браузера (я Баск), а страничка всё равно отобразится на Испанском языке, хотя я хотел именно баскский, который, к тому же, вообще не связан ни с одной известной языковой семьёй и по-испански я просто бы ничего не понял. Такое может случиться, если язык пользователя определяется по IP.

Итак, чтобы правильно определить язык пользователя, мы можем посмотреть только на HTTP_ACCEPT_LANGUAGE, кроме него мы можем узнать язык пользователя только если он сам его укажет. Read the rest of this entry »