Русификация Wordpress или зачем нужны файлы .mo и po, часть 1

Автор yuriki. Дата публикации Май 21, 2009

Понравилась статья? Поделись:

Из статьи ты узнаешь, как русифицировать твою любимую тему или новый, но очень зашибенный англоязычный плагин к Wordpress (чтобы пользователи на твоем блоге особо не напрягались с английским). Причем сделать это так, чтобы после обновления этой темы или того плагина не пришлось его переводить заново. Статья также поможет тебе, если нужно ТОЛЬКО ОБНОВИТЬ перевод темы или плагина. Такое бывает, если плагин кардинально переделался, а переводчик забил на обновление и некоторые новые или обновленные фразы остались на английском.

Как я подозреваю, этот способ работает не только с Wordpress'ом, но и с другими CMS и программами с открытым исходным кодом.

В инете есть куча статей с советами типа: «Открываем файл footer.php и заменяем все тексты, которые там нашли, на русский эквивалент (не забудьте про кодировку). Повторить для всех файлов в папке твоей темы». И как только ты послушался этого совета, а тема взяла и обновилась, и тебе придется переводить все заново.

Что же предлагаю я?

Я предлагаю создать (или отредактировать уже существующий) файл локализации. Тогда при обновлении плагина или Wordpress темы перевод никуда не денется.

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

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

.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. Как его создать (редактировать) ты узнаешь дальше.

Последовательность действий для перевода.

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

01.

Качай редактор .po файлов Poedit. Устанавливай его. При первом запуске он что-то спросит - заполняй, как посчитаешь нужным, потом если что подправишь. Чтобы было проще работать, можно поставить русский язык в настройках программы. Для этого тыкай мышкой File --> Preferences --> Change UI Language --> Ищи Russian.
Выбор русского меню в редакторе файлов .po - Poedit

02.

Если .po файлы уже существуют, то можно открыть любой из них (если нету русского ru_RU.po) и отредактировать (заменить фразы другого языка на русские). Но я, для универсальности метода, расскажу о создании этого файла с нуля.

03.

Создай где-нибудь папку (называй как хочешь) и закачивай (или копируй) туда все .php файлы твоей темы, которые нужно русифицировать;

Продолжение читайте во второй части статьи о Переводе плагинов и тем под WordPress, где продолжаются пошаговые инструкции.


GD Star Rating
loading...
Русификация Wordpress или зачем нужны файлы .mo и po, часть 1, 8.7 out of 10 based on 168 ratings

Похожие статьи:

  1. Русификация Wordpress или зачем нужны файлы mo po, часть 2
  2. Скачать бесплатно русскую тему Titan для Wordpress

Вам понравилась статья? Хочешь отблагодарить автора? Расскажи о ней друзьям:
Или подпишись на обновление блога по E-Mail.
(via FeedBurner)

Введи свой e-mail (используется только для отправления обновлений блога):

Статья из рубрики Улучшение ВИРТУАЛЬНОЙ жизни

Комментариев 69
  1. Вчера с помощью poedit поправил кривую руссификацию скачанного шаблона. Но в статье «многа букаф», пока продерешься сквозь «проследуй по моим шагам», «для пущей надежности»… Автор переделай эту статью для ЛЮДЕЙ ;-) , а вообще хорошая статья.

    GD Star Rating
    loading...
  2. Гм… статья-то для людей и писалась. Может, действительно много воды…
    Переделаю немножко.

    Спасибо, что уделил время на написание комментария.

    GD Star Rating
    loading...
  3. Огромное спасибо за статью. Научился переводить уже готовый файл .po, а вот как создавать свой не знал. Статья направила на путь истинный;)

    p.s. – насчет «многа букаф» не согласен – написано как раз в меру и только необходимое.

    GD Star Rating
    loading...
  4. Автор, сейчас делаю плагин для вп, необходима мультиязычность. Создал при помощи поедитора в папке плагина файл ru_RU.po, вроде все зделал как в твоей статье написанно, но перевода на русский не просходит, подскажи пожалуйста в чем может быть причина?
    Заранее спасибо!

    GD Star Rating
    loading...
  5. Для Krion
    Файл ru_RU.po нужен только тебе (для возможности редактирования). Для wordpress’а нужен только ru_RU.mo – это уже скомпилированный .po.
    Про это, кстати, в статье тоже написано.

    GD Star Rating
    loading...
  6. yuriki
    ru_RU.mo тоже создал при помощи поедитора, но wordpress его как будно не видит, может необходимо куда-то путь до него вписать. Ты сам когда либо пробовал переводить прлагины или писать мультиязычные? Если да, то дай ссылку на плагин. Просто я в сети уже с десяток таких же постов нарыл, отличие буквально в пару строк и визде в коментах пишут что данная технология не работает. Думаю для тебя будет здорово если ты опишешь сдесь эту проблему(хотябы в комментах), и выделишь тем самым свой пост среди десятка оналогичных.
    Если поможешь решить эту траблу обещаю тебе прямой пожизненный линк с сайта с ТИЦ 10 и PR 4 :) .

    GD Star Rating
    loading...
  7. Ух, разобрался. Всем спасибо!

    GD Star Rating
    loading...
    • Спасибо за статью, я как раз хочу перевести свою тему. Уже скачала программу Poedit, у меня файл infuse.po уже имелся в скачанном шаблоне «infuse». Я просто открыла его в этой программе и увидела много английских слов и выражений, расположенных в столбик. Сразу стала переводить, т.е. ни названия файла не меняла, ни каталог не создавала. Переведено уже много, что теперь делать? Создавать каталог или переименовывать файл? Или все заново??? И второй вопрос: у меня ни __ (два символа подчёркивания), ни _e или _c, а _re. Это пойдет?

      GD Star Rating
      loading...
      • Заново ничего делать не нужно.
        Нужно посмотреть как перевод подхватывается твоей темой.

        _re – если такие символы стоят перед всеми фразами, которые можно переводить, то да – подойдет.

        GD Star Rating
        loading...
        • Да, _re стоят перед всеми фразами. Как я поняла, нужно перевести в программе Poedit все фразы до конца, затем сохранить файл под именем ru_RU.po и тогда автоматически появится файл ru_RU.mo, который и нужно поместить в корневую папку темы (туда, где я взяла файл infuse.po). Также нужно будет в файле wp-config.php добавить такую строку define (‘WPLANG’, ‘ru_RU’), правильно? У меня также в папке Languages также есть файлы: ru_RU.po, ru_RU.mo и ru_RU.php, но они почти пустые. С ними что делать? Или их не трогать?

          GD Star Rating
          loading...
          • Да, _re стоят перед всеми фразами. Как я поняла, нужно перевести в программе Poedit все фразы до конца, затем сохранить файл под именем ru_RU.po и тогда автоматически появится файл ru_RU.mo, который и нужно поместить в корневую папку темы (туда, где я взяла файл infuse.po). Также нужно будет в файле wp-config.php добавить такую строку define (‘WPLANG’, ‘ru_RU’), правильно?

            Да, правильно.
            Но вот если у тебя есть папка Languages, то файл ru_RU.mo нужно положить именно туда, а не в корень темы.

            GD Star Rating
            loading...
    • В чем же ты допустил ошибку, и как ее нашел, и особенно каким образом исправил? Народу интересно!

      GD Star Rating
      loading...
  8. Оказывается, обязательным требование для локализации плагина является использование в функциях __() и _е() второго параметра.
    Таким образом чтобы перевод плагина работал, помимо всего вышесказанного, нужно в его коде использовать следующую конструкцию:
    __("переводимый текст", "название_плагина")
    И файл mo должен иметь название – «название_плагина-ru_RU.mo«.

    GD Star Rating
    loading...
  9. Приветствую!

    Во-первых спасибо за содержательную статью. Однако мой первый же опыт в написании локализации потерпел полное фиаско )

    Пытаюсь перевести на русский язык тему Garland-revisited (http://wordpress.org/extend/themes/garland-revisited)

    Судя по тому что в исходных файлах присутствуют конструкции типа __(«Bla-bla-bla %s») тема должна поддерживать файлы локализации. Однако выполнив все инструкции данной статьи и залив файлы ru_RU.po и ru_RU.mo в корень темы перевода на морде сайта так и не увидел…

    Может быть автор, либо кто другой съевший собаку на локализациях попробует выполнить сей финт ушами и ответит однозначно у меня ли руки кривые или с этой темой что-то не так?

    Спасибо!

    WP: 2.8.2
    Garland-revisited: 1.4

    GD Star Rating
    loading...
  10. Дмитрий, ответ на твой вопрос (если ты в точности сделал как написано в статье), возможно, находится в предыдущем комментарии от Krion.

    P.S. Пожалуйста :)

    UPD: Очень маловероятно, но возможно, что ты используешь плагин WP Super Cache (или подобный) и забыл удалить кэш.

    GD Star Rating
    loading...
  11. Очень большое спасибо за статью. :)

    GD Star Rating
    loading...
  12. Автор темы забыл упомянуть один маленький нюанс, из-за которого скорее всего не работает локализация у Дмитрия. А именно:
    необходимо в фале wp-content/yuor-theme-name/functions.php указать следующую строчку

    /**
    * Задаем путь к файлу ru_RU.mo локализации темы
    */
    load_theme_textdomain('your-theme-name');

    И после этого локализация начинает работать, когда используем следующий механизм перевода строк:

    _e('Некоторая строка для перевода', 'yuor-theme-name' );

    GD Star Rating
    loading...
    • Большое спасибо! Подтолкнули в нужном направлении… Но хотел бы добавить, что помимо названия темы, необходимо указать путь к файлу *.mo .
      В моём случае, оказалось необходимым написать так:
      load_theme_textdomain(‘my_theme’, get_template_directory() . ‘/languages’);
      , т.е. добавить путь к каталогу в которой размещен файл *.mo (файл расположен в папке languages локализуемой темы)
      Надеюсь инфа окажется полезной

      GD Star Rating
      loading...
  13. Уважаемый, yuriki.

    Вот эта вот штука:

    nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100=20) ? 1 : 2

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

    GD Star Rating
    loading...
  14. Статья классная!!!Спасибо,помогло!!!Респект!!!Но вот как открыть файл .mo? если файла .po не существует??? Вот задачка с которой я не могу справиться…

    GD Star Rating
    loading...
  15. Спасибо! Пробую делать локализацию. Но пока кажется, что проще уж переводить каждую новую версию.))

    GD Star Rating
    loading...
  16. Статья действительно хорошая.
    Буду признателен автору, если укажет каким «специальным экстрактором извлекают все такие строчки в специальный файл-шаблон с расширением .pot.»

    GD Star Rating
    loading...
    • Этой же программкой Poedit можно все извлечь.

      GD Star Rating
      loading...
      • Не вижу в интерфейсе Poedit, где можно создать pot файл.

        GD Star Rating
        loading...
        • Файл .pot и .po – это по сути одно и то же. Просто файл .po уже с переводом, а .pot – без него.
          Поэтому ты просто выбираешь Файл -> Создать каталог… и выполняешь, все шаги как в статье.

          Потом изменяешь расширение, и подправляешь заголовок (если нужно). Привожу пример заголовка файла .pot со стандартной темы Wordpress:

          msgid ""
          msgstr ""
          "Project-Id-Version: 1.6\n"
          "Report-Msgid-Bugs-To: wp-polyglots@lists.automattic.com\n"
          "POT-Creation-Date: 2008-12-11 09:48+0200\n"
          "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
          "Last-Translator: FULL NAME \n"
          "Language-Team: LANGUAGE \n"
          "MIME-Version: 1.0\n"
          "Content-Type: text/plain; charset=CHARSET\n"
          "Content-Transfer-Encoding: 8bit\n"

          GD Star Rating
          loading...
          • Есть po файл для другой версии темы, в коде старой темы так

            в новой версии темы так
            Sorry, the page that you are looking for does not exist.

            И т.к. не используется функция _e (и никакая другая), то Poedit не находит текст для перевода.

            Есть ли решение, какое ключевое слово указать, чтобы Poedit увидел текст ?

            Или же делать локализацию новой версии через Poedit не получится ?

            GD Star Rating
            loading...
  17. Если я правильно понял вопрос, то… вообще-то, ответ на него содержится в самом тексте статьи. Вернее, ответы на все вопросы ;)

    Да, можно указать любое ключевое слово.

    GD Star Rating
    loading...
    • Сформулирую по-другому.
      Локализовать через gettext и Poedit можно только шаблоны/плагины, содержащие функции
      {__ или _e или _c или другие }. Если таких функций нет в php файлах, то такой php скрипт не подготовлен для локализации и Poedit ничего не найдет.
      Все верно ?

      GD Star Rating
      loading...
  18. Виталий Сыромятников Февраль 16, 2010 в 15:53

    Спасибо за ценный совет! Оказывается файлы перевода нужно переименовывать в ru_RU.
    Теперь локализация работает!
    Жаль в WordPress с переводом сложнее, чем это сделано в Joomla1.5

    GD Star Rating
    loading...
  19. Напутственный совет :)

    Хвастуны со знанием англицкого должны еще и русский знать хотя бы в объеме первых трех классов, чтобы не появлялись в локализациях «ИзвЕните» и т.п. ))

    GD Star Rating
    loading...
  20. Спасибо, всё настолько просто и понятно написано.
    респект)

    GD Star Rating
    loading...
  21. привет ! у меня вордпресс3.0, русский, установил тему забугорную, воспользовался poeditом, и выянилось, что не все слова переведены .. в выпадающем списке например есть «all items», выянилось что в корневом каталоги темы есть файл language.php – там есть все слова =)) , но выяснилось что если там заменить слова на русский то на сайте ????значки вопроса в ромбиках?? , значит я (по совету друзей решил приобрести автомашину «Москвич»), и они же посоветовали и я проделал:
    Начнем по порядку:

    1. Заходим в phpMyAdmin и просматриваем кодировку таблиц, должна быть cp1251

    Знаки вопросов вместо текста

    2. Идем в саму таблицу и смотрим в каком виде текст статей, если все в порядке, то пропускаем этот пункт, если вопросики, то делаем так:

    * Открываем дамп с базой данных (сам файл) и сохраняем его в кодировке cp1251
    * Идем в phpMyAdmin и при импорте выбираем кодировку cp1251
    * Все, теперь знаков вопроса в таблицах не должно быть.

    3. Заходим через фтп или менеджер файлов ISPmanager в папку с вашим сайтом /www/ваш_домен/ и переименовываем htaccess.txt в .htaccess

    еще предполагалось заменить строки в файле daiabase.php но он есть вджумле а в вордпрессе его не нашлось…

    Значится теперь часть слов захватила таки локализация самого ворд пресса, но не всё, когда я заменяю файлы pot локализации темы(шаблона), ворд пресс их не «подхватывает», приходится заменять в корневом каталоге ворд пресса potфайлы, теми, что я перевёл poeditom, но тогда админка становится не русской и опять таки poedit не достает файлы из кода php , с помощью которого организован поиск у меня.. Чта теперь делать та..Не дает потому что прыщи, а прыщи потому что не дает, помогите разорвать этот порочный круг

    GD Star Rating
    loading...
    • На сколько я понял, некоторых танцев с бубном можно было избежать. Просто для этого, когда ты правил language.php нужно было указать нужную кодировку.

      По-поводу первых двух пунктов ничего сказать не могу – не было нужды такое проделывать.
      По третьему пункту – это зачем было делать? Что у тебя там в .htaccess? Ты там кодировку указывал? И почему до этого у тебя не было .htaccess?

      И дальше я не совсем понял. У тебя же были НЕ переведены только файлы ТЕМЫ. Почему случилось так, что уже и сам WORDPRESS не переведен?

      GD Star Rating
      loading...
  22. Спасибо. Все подробно и понятно )))

    GD Star Rating
    loading...
  23. Спасибо за пост перевел с помощью проги wordpress’ский плагин Theme My Login
    Скачать перевод можно здесь

    GD Star Rating
    loading...
  24. Хорошо изложенный материал, мне пришлось по переводам читать, как и чего он делает. Но это было чисто для урезания локализации и изменение под свое понимание перевода текста, ну и заодно подсократил.

    Чисто логически очень дубовый способ локализации – все в плюс и объемы и память. Взять ту же Joom или phpprobid – переключил раскладку и грузится только локализация, никаких проблем с нагрузками. А тут локу подключаем и память сразу в большой плюс. Конечно, ресурсов сейчас не меряно, но надо ли их так транжирить. И для локализации своих тем не нахожу логического подтверждения потребности в таких костылях.

    GD Star Rating
    loading...
  25. А я так и не смог победить локализацию. Например, есть плагин subscribe-to-comment. Сначала я его активировал, смотрю на-английском, декативировал, подложил файл локализации subscribe-to-comments-ru_RU.mo, активирую – снова на английском. Читаю статью, читаю комментарии, особенно от uran и krion, убеждаюсь, что в самом subscribe-to-comments.php все нужное в плане __( и _е( имеется, а также есть строка load_plugin_textdomain(’subscribe-to-comments’); Деактивирую плагин, чищу куки и все что можно, активирую – снова на английском.
    Я кстати уже не в первый раз с таким сталкиваюсь, если сначала активировать плагин, у которого не подложена локализация, то потом никак не могу его активировать, но уже на русском языке после подкладывания локализации. Например, с плагином all in One SEO такая же беда.
    Может кто-нибудь сможет направить меня в нужную сторону, где рыть…

    GD Star Rating
    loading...
  26. Спасибо за статью, оказалась очень полезной и познавательной для меня.
    Вячеслав
    у меня после обновления all in One SEO пропал русский язык, до этого был с переводом от Лекактуса, после прочтения этой статьи копнул последнее обновление плагина, и обнаружил в нем полное отсутствие русского .РО файла, в прочем и не только русского. По мимо всего прочего, оказалось, что в файле .POT есть не соответствие в номерах строк (расхождение на 50 строчек)… Возможно , вам будет полезна эта информация :)

    GD Star Rating
    loading...
  27. Есть ведь более простой способ… у меня было все переведено, но после очередного обновления темы слетело :( Не помню, в чем этот простой способ заключается.

    Забавно, конечно, написать такую объемную статью о переводе тем и не перевести пару сслов из рейтинга: «Rating: 0 (from 0 votes)»
    Браво! :D

    GD Star Rating
    loading...
  28. У меня почему то русская локализация работает, а вот румынская переводит выборочно?? Скажем дату переводит, а другие части сайта нет…

    GD Star Rating
    loading...
  29. Мои догадки: там есть русский .php в котором как то оговоривается работа скриптов. До конца не разобраля, но суть

    add_data(«$locale-ie», ‘conditional’, ‘IE’);

    wp_print_styles();
    }
    add_action(‘admin_head’, ‘ru_accomodate_markup’);

    function ru_populate_options() {
    add_option(‘rss_language’, ‘ru’);
    }
    add_action(‘populate_options’, ‘ru_populate_options’);

    function ru_restore_scripts_l10n() {
    global $wp_scripts;

    if ( is_a($wp_scripts, ‘WP_Scripts’) ) {
    do_action_ref_array(‘wp_default_scripts’, array(&$wp_scripts));
    }
    }
    add_action(‘init’, ‘ru_restore_scripts_l10n’);
    ?>

    GD Star Rating
    loading...
  30. И ещё. Я не понял как применить виджеты на двух языках. Ведь они отображаются одновременно обаДва. Или речь идет о написании вручную в теме с использованием «вилки»?

    GD Star Rating
    loading...
  31. Товарищи, подскажите пожалуйста, можно ли из МО сделать обратно ПО. Или как открыть МО. Дело в том, что он не доконца переведен и есть ПО, но без перевода вообще.

    Хочу открыть тот недоделаный и доперевести.

    Жду ответа.

    GD Star Rating
    loading...
  32. На сколько я знаю, файлы mo править нельзя. Вам нужной найти или нужный po или pot и уже их переводить.

    GD Star Rating
    loading...
  33. Для тех, у кого локализация не работает, вот краткая инструкция:
    1) Добавляем ru_RU в wp-config.php, получается define(‘WPLANG’, ‘ru_RU’);
    2) В локализуемой теме смотрим в functions.php строку load_theme_textdomain(‘myname’);
    3) Проверяем, что в .php файлах присутствует _e(’sometext’, ‘myname’);
    4) В Poedit сверяем «Каталог»-»Настройки»-»Название проекта и версия»-»myname», а «Пути»-».» (одна точка, если файл локализации в той де папке, где и php-файлы) и генерируем из нашего .po файл .mo
    5) Файл локализации должен называться ru_RU.mo, а не myname-ru_RU.mo
    Теперь все должно работать!

    GD Star Rating
    loading...
  34. Дело в следующем: я перевел сайт на русский используя *.po и *.mo файлы самого Wordpress`а «\wp-content\languages». Все было отлично до тех пор, пока вдруг не пропал перевод некоторых выражений. Оказалось, каким-то образом обновленный моим переводом *.mo файл перезаписывается дефолтовым. Почему это происходит не понятно. Но, есть подозрение, что временами Wordpress автоматически обновляется и затирает мои изменения. Настроек это подтверждающих я не нашел. Сайт пока находится на локальном сервере и перезагрузка компа или Денвера не портит перевод. Автор, что это за фокус и как с ним бороться?

    GD Star Rating
    loading...
  35. Господа!!!
    Вы будете смеяться, промучался я с этим делом до 3-х часов ночи.
    В результате:
    Переименовал с «моя-тема-ru_RU.po» на просто «ru_RU.po» и все заработало как часы!
    Надеюсь кому нибудь будет полезна эта информация.

    GD Star Rating
    loading...
  36. как изменить уже готовый .mo file

    GD Star Rating
    loading...
    • Никак. Только скомпилировать новый. Именно об этом, кстати, статья (нужно было осилить эти много букаф :) )

      GD Star Rating
      loading...
  37. Я перевел тему, но обнаружил, что еще один елемент требует перевода. Как мне добавить дополнительный путь к уже созданному .ро файлу?

    GD Star Rating
    loading...
    • В меню Каталог есть пункт Обновить из исходного кода и Обновить из POT-файла. Воспользуйтесь ими :)

      GD Star Rating
      loading...
      • Блоьшое спасибо. У меня ще возник вопрос. В теме имеется код:

        Что нужно указать в пункте «Ключевые слова», чтобы перевести Add a Comment, Add a Comment to? Примного благодарен.

        GD Star Rating
        loading...
  38. Нет. Меня интересует код в php-файле для вывода комментариев.
    Вот у меня, к примеру, такой код:
    <p class="moderation"><?php _e('Add a Comment') ?></p>

    Так вот в ключевых словах и указан код _e.

    GD Star Rating
    loading...
  39. Как правило если прога сама не находит этот стринг «Add a Comment, Add a Comment to?» то значит скорее всего он не предусмотрен для перевода и надо переводить вручную в comments.php.

    GD Star Rating
    loading...
  40. Такой вот попрос: А если ручками все тексты в файлах шаблона переменовал на язык который нужен (например русский), то можно ли удалить папку – languages из темы? Или если её просто удалить, то что-то нарушится? Вдруг она как-то, где-то в каком-то файле прописана и если её не будет, то в движке будет ошибка.
    Или как?

    GD Star Rating
    loading...
    • Да, можно, но только может перестать быть русской админка (хотя и не уверен).
      Ты поэкспериментируй: перенеси эти файлы в другое место, а на старом удали. Если что-то сломается (но не должно), то верни обратно.

      GD Star Rating
      loading...
  41. Пасиб огоромное!!! Пол-дня потратил на перевод php скриптов(( Изменение файла .po не давала результата! Оказывается, было допущено несколько ошибок и он не давал скомпилировать в .mo.
    Еще раз спасибо!

    GD Star Rating
    loading...
  42. Большое спасибо за программку (poedit, в смысле). Долго мучилась с подбором кодировки к этому *.мо… А его, оказывается, из *.по генерить надо… Фиг бы догадалась, если бы не ваш пост. Спасибо!!!

    GD Star Rating
    loading...
  43. Я правильно понимаю, что если внести изменение в исходный php и строчки с выводом строк с переводом поедут – может слететь вся система перевода?

    GD Star Rating
    loading...
  44. Всем салют!

    Перевожу одну программку с помощью POedit, но вот обнаружилось что в файле .po (изначально это был .mo в папке локализаций программы, который я конвертировал в файл .po с помощью онлайн конвертера) сидят не все слова\фразы использованные в менюшках программы….

    Вот и вопрос – где еще может сидеть не появившиеся в .po файле текстовые строки? или же при конвертации из .mo в .po файл происходят такие потери … ?

    Плиз подскажите

    GD Star Rating
    loading...
    • Значит эти слова находятся в файлах (*.php, *.htm) без специального синтаксиса, который позволяет их просканировать poedit-ором. Их нужно либо править руками, либо просканировать заново, либо дописать к ним тот код, что я описал в статье.
      При конвертации никаких потерь не может быть.

      GD Star Rating
      loading...
      • yuriki,

        Спасибо за Ваш ответ. Но дело в том что я перевожу программку (не сайт, онлайн сервисы или вордпресс), а просто делаю локализацию одной маленькой программки. И у нее нет файлов (*.php, *.htm).
        Неужели не отображающийся в .po текст сидит гденибудь в .exe???

        GD Star Rating
        loading...

Напишите комментарий

Примечание: Включена поддержка XHTML - можно использовать теги