More

    Русификация WordPress или зачем нужны файлы mo и po — Бесплатный каталог ссылок «Мир сайтов»

    Что это за файл локализации .po (.mo)? Теория.

    Ты, наверное, часто видел файлы с расширением .po или .mo в папке с темой для WordPress или в папке зашибенного_плагина? Если не нашел сразу, то они еще могут прятаться в папке Languages. Ну а если не видел, то сейчас услышишь о них впервые (очень полезные и бесплатные файлы, между прочим).

    mo po файлы — это файлы локализации. Многие популярные языки программирования (C, C++, сценарии sh, Python, Perl, PHP, Java, Паскаль и куча других) имеют функцию gettext, ngettext или подобные, которыми размечают текст для будущего перевода. Но ты скажешь, что ничего подобного не видели в файлах footer.php, header.php или зашибенный_плагин.php и будешь прав. Поскольку эти функции, для удобочитаемости кода, заменяют коротким синонимом __ (два символа подчёркивания) или _e или _c или еще чем-то.

    В итоге код:

    printf(gettext(«My name is %s.»), my_name)

    выглядит так:

    printf(__(«My name is %s.»), my_name)

    Потом специальным экстрактором извлекают все такие строчки в специальный файл-шаблон с расширением .pot. Эта же строка в .pot файле будет выглядеть так:

    #: header.php:19 msgid «My name is %s.»

    msgstr «»

    где header.php — это тот файл, из которого извлекли строку «My name is %s.», а число 19 — это номер этой строки.

    Потом переводчик создает из этого файла-шаблона файл локализации с расширением .po. И вот в этот файл ты можешь вписать перевод строки. Выглядеть это будет так:

    #: header.php:19 msgid «My name is %s.»

    msgstr «А зовут меня %s.»

    Но это еще не конец. Но уже и не начало :).

    Как последний, штрих программа переводчик создает бинарный файл (откомпилированный) с расширением .mo, который и скармливается движку WordPress. Вот почему те, кто пробывали не смогли редактировать файл .mo. Как его создать (редактировать) ты узнаешь дальше.

    Последовательность действий для русификация WordPress.

    Теперь пошагово расскажу как нужно действовать если у тебя ни с того ни с сего появилось непредсказуемое желание перевести плагин или тему под любимый CMS.

    1. Качай редактор .po файлов Poedit. Устанавливай его. При первом запуске он что-то спросит — заполняй, как посчитаешь нужным, потом если что подправишь. Чтобы было проще работать, можно поставить русский язык в настройках программы. Для этого тыкай мышкой File —> Preferences —> Change UI Language —> Ищи Russian.
    2. Если .po файлы уже существуют, то можно открыть любой из них (если нету русского ru_RU.po) и отредактировать (заменить фразы другого языка на русские). Но я, для универсальности метода, расскажу о создании этого файла с нуля.
    3. Создай где-нибудь папку (называй как хочешь) и закачивай (или копируй) туда все .php файлы твоей темы, которые нужно русифицировать;
    4. Запускай Poedit.exe. Заходи в меню Файл —> Создать каталог… —> поочередно заполняй там все три закладки по примеру скриншота.
    5. На первой закладке в поле Формы множественного числа можешь вставить вот это (но я пока не знаю, что это значит — такой текст был в официальной локализации темы WordPress по умолчанию): nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10

    Recent Articles

    spot_img

    Related Stories

    Stay on op - Ge the daily news in your inbox