Логин: Пароль: Забыли пароль? Регистрация
Рекламный блок

              

Страница 1 из 11
Форум » FOR WEB-MASTER`S » Учебник » Поддержка нескольких языков(Wordpress)
Поддержка нескольких языков(Wordpress)
sg-uaДата: Четверг, 10.02.2011, 18:21 | Сообщение # 1

Репутация: 0
Сообщений: 250
Награды: 0
Статус:
Как вы уже успели заметить, WordPress поставляется в самых разных языковых комплектациях. Специальные языковые файлы, обладающие расширением .mo, определяют текущий язык как для всей системы WordPress в целом, так и для отдельных ее составляющих: тем, плагинов и т.д. Загрузка языковых файлов происходит в автоматическом режиме: WordPress не предлагает пользователю выбрать тот или иной язык для тем или плагинов. Основной параметр, определяющий выбор языка – WPLANG, находящийся в файле wp-config.php.

Перед тем, как приступить к рассмотрению языковых файлов, скажем несколько слов о процессе локализации. В самом начале перед локализацией определяется POT (Portable Object Template) файл. Он создается при помощи специальной программы, анализирующей тему (плагин) и выделяющей все слова и фразы, помеченные для перевода. На следующем шаге из POT файла создается .po файл, в котором содержатся оригинальные фразы (обычно на английском языке) и их перевод на нужный язык.

Наконец, на финальном этапе из .po файла получают .mo (Machine Object) файл, обладающий компактными размерами. Именно .mo файлы и используются WordPress при определении языка.

Возможно, в процессе чтения у вас возник вопрос: каким образом программа, генерирующая POT файл, определяет, какие слова и фразы доступны для перевода?

Вся работа по размечиванию темы или плагина ложится на плечи их создателя. Каждая фраза, доступная для перевода, должна быть заключена в специальный PHP-сниппет, а также должна быть отнесена к какому-либо домену. Домен, определяющий направление перевода, в свою очередь, должен быть прописан в functions.php.

Допустим, мы хотим сделать текст «Hello, you!» доступным для перевода. Это выглядело бы следующим образом:

<?php _e('Hello you!', 'mydomain'); ?>

Если в теме имеется перевод текста и определен mydomain в файле functions.php, вы увидите на экране локализованную строку. Иначе вы просто получите тот же самый текст на английском языке.

Аналогичная конструкция выполняет те же самые действия:

<?php __('Hello you!', 'mydomain'); ?>

Иногда имеется необходимость в локализации строки, находящейся в тегах шаблона. К примеру, строка «Read more», которая появляется при использовании тега the_content () с <!-more->, может быть переведена следующим образом:

<?php the_content(__('Read more', 'notesblog')); ?>

Почему именно двойное подчеркивание, а не _e ()? Инструкция _e () в php-функциях может приводить к неоднозначным результатам, поэтому лучше всего вместо нее использовать __ ().

Домен, определяющий направление перевода, задается в файле functions.php следующим образом:

load_theme_textdomain('notesblog');

Здесь ‘notesblog’ – это название домена. Он должен быть аналогичен указанному во всех языковых сниппетах.

Работа с языковыми файлами

Для того, чтобы работать с POT файлами, необходимо специальное программное обеспечение. Наиболее популярной программой для локализации языковых файлов является мультиплатформенный редактор PoEdit (http://www.poedit.com). Он позволяет сохранять .po файлы в формате .mo.

Также удобными при работе с .po файлами оказываются GNU программы GetText (http://www.gnu.org/software/gettext) и LaunchPad (http://translations.launchpad.net/).

При выпуске темы или плагина с языковыми файлами не забудьте разместить оригинальный .po файл, для того чтобы пользователи могли в случае необходимости самостоятельно перевести его на свой язык.

Проблемы трансляции

В процессе трансляции нужно обязательно убедиться в том, что перевод не затронет названия функций или важных компонент, иначе вы рискуете получить нерабочую тему или плагин.

 
C1ev3rДата: Четверг, 10.02.2011, 18:30 | Сообщение # 2

Репутация: 1
Сообщений: 107
Награды: 0
Статус:
Quote (cook)
Cпасибо! Искал!
 
Форум » FOR WEB-MASTER`S » Учебник » Поддержка нескольких языков(Wordpress)
Страница 1 из 11
Поиск:


Статистика форума Zorend.ru
Последние темы Популярные темы Лучшие пользователи Новые пользователи Звезды ZOREND`a
Глобальное обновление
Пара Анекдотов
Правила раздела
Считаем до 1000
Какая видео карта сейчас нормальная?
WebThumb 2.0 - Обмен посетителями на ваш сайт
халявные Icq налетай!
Аву плиз
 Считаем до 1000
 Конкурс "Уникальный человек"
 Участники конкурса "Уникальный человек"
 Играем в города :)
 Ваш аппарат
 Жалобы на участников конкурса "Уникальный человек"
 Зимняя шапка.
 Смайлики
Timoha - (Сообщений: 1091)
cook - (Сообщений: 1056)
pikus - (Сообщений: 1012)
Adrianoosem - (Сообщений: 419)
n1ceman - (Сообщений: 319)
b0ot - (Сообщений: 313)
sg-ua - (Сообщений: 250)
Аватар - (Сообщений: 250)
Alisasslom - (Зарегистрирован: 20.07.2015)
donkj4 - (Зарегистрирован: 20.07.2015)
meroslEr - (Зарегистрирован: 20.07.2015)
MelvinRat - (Зарегистрирован: 20.07.2015)
randiew16 - (Зарегистрирован: 20.07.2015)
ArthurGers - (Зарегистрирован: 20.07.2015)
CharlesCida - (Зарегистрирован: 20.07.2015)
guydd11 - (Зарегистрирован: 20.07.2015)
friendgog - (Репутация: 1187)
cook - (Репутация: 1004)
b0ot - (Репутация: 500)
pikus - (Репутация: 201)
Вадим - (Репутация: 102)
Timoha - (Репутация: 7)
-Wicked - (Репутация: 5)
plan - (Репутация: 5)