• Модератор Sergey Biryukov

    (@sergeybiryukov)


    Live and Learn

    Логическое продолжение эксперимента с локализацией на чистом PHP — плагин WPLANG Lite, который автоматически создаёт любимый многими облегчённый файл перевода (ru_RU_lite.mo) для использования на лицевой части сайта. Оба плагина можно использовать как по отдельности, так и вместе — для максимальной экономии 🙂 Изменений в wp-config.php или переименования файлов перевода других плагинов не требуется.

    Новый файл создаётся с помощью ru_RU.po, в котором есть ссылки на места, где используется та или иная строка. Исключаются строки, используемые только в панели управления, исходных темах, визуальном редакторе и т.д.:

    wp-admin/*
    wp-content/plugins/*
    wp-content/themes/*
    wp-includes/js/tinymce/*
    wp-includes/functions.php
    wp-includes/script-loader.php
    xmlrpc.php

    Размер файла ru_RU_lite.mo для WordPress 2.9 составляет 41 КБ. В памяти — около 400 КБ вместо 3.3 МБ.

Просмотр 15 ответов — с 16 по 30 (всего 40)
  • Вышла новая версия 0.4 данного плагина, настроек в админке мне так и не попалось, можно ли пояснить что изменилось в этой версии?

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    1. В версии 0.4 добавлена поддержка строк режима Multisite.
    2. Добавил диагностику в тестовый архив следующей версии:
    http://downloads.wordpress.org/plugin/wplang-lite.zip
    Если каталог wp-content/languages недоступен для записи, выводится предупреждение. Если после изменения прав файл ru_RU_lite.mo так и не появился, можно открыть адрес http://site.ru/?wpll_action=create_mofile — должен отобразиться текст ошибки.

    У меня WPLANG Lite вместе с Pure PHP Localization некорекно работает. В WPLANG Lite 0,4 что-то не так отрабатывает. После отключения WPLANG Lite ошибки остаются,только после удаления lite файла Pure PHP Localization один снова нормально работает.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Спасибо! Посмотрю.

    Подскажите, каковы могут быть причины вот такой ошибки: [WPLANG Lite] Не удалось прочитать файл C:\inetpub\wwwroot/wp-content/languages/.po
    как то не доходит, почему и какой именно файл не может прочитать, сам вордпресс то читает файл локализации.

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Судя по сообщению, константа WPLANG в wp-config.php не определена или имеет пустое значение. Имя файла с переводом определяется по этой константе в самом начале плагина, во второй строке.

    Если я правильно понимаю речь идет про эту строку в конфиге? if (strpos($_SERVER['REQUEST_URI'], 'wp-admin')) define ('WPLANG', 'ru_RU');
    Решено

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Да, правильно. Нужно оставить только define ('WPLANG', 'ru_RU');

    Добрый день.
    У меня плагин не ставится ваш 🙁 Точнее ставится, но в папке wp-content/languages файлы не появляются..

    Качал отсюда:
    http://downloads.wordpress.org/plugin/wplang-lite.zip

    Пробовал запускать ?wpll_action=create_mofile

    Пишет:

    Удаленный сервер или файл не найден

    Вы попытались получить доступ к адресу http://www.site.ru/wp-content/plugins/wplang-lite/wplang-lite.php?wpll_action=create_mofile, который сейчас недоступен. Убедитесь, что веб-адрес (URL) введен правильно, и попытайтесь перезагрузить страницу.

    Ну и так тоже не выходит — http://www.site.ru/?wpll_action=create_mofile

    Пишет:

    Удаленный сервер или файл не найден

    Вы попытались получить доступ к адресу http://www.site.ru/?wpll_action=create_mofile, который сейчас недоступен. Убедитесь, что веб-адрес (URL) введен правильно, и попытайтесь перезагрузить страницу.

    Подскажите как быть? WordPress 2.8.4

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    В требованиях указано, что необходим WordPress 2.9 и выше, т.к. только в новых версиях присутствует функция записи .mo-файлов.

    И альтернативы наверно нет никакой?

    Atrax

    (@atrax)

    Ethical engineer

    Обновиться разве что.

    Очень жаль 🙁

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Из соображений безопасности своевременное обновление имеет больше смысла, чем поддержка устаревших версий. В Pure PHP Localization она была сделана просто из интереса 🙂

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

    1. Скачать файл перевода для WP 2.8.4 и поместить в wp-content/languages.
    2. В wp-includes/l10n.php перед строкой 347:
      return load_textdomain('default', $mofile);

      добавить фрагмент:

      $mofile_lite = WP_LANG_DIR . "/{$locale}_lite.mo";
      if ( !defined('WP_ADMIN') && file_exists($mofile_lite) )
      	$mofile = $mofile_lite;

    Спасибо за файл!!!

    Это я как понимаю в этом куске кода:

    function load_default_textdomain() {
    	$locale = get_locale();
    
    	$mofile = WP_LANG_DIR . "/$locale.mo";
    
    	load_textdomain('default', $mofile);
    }

    У меня return здесь нет.. Значит перед
    load_textdomain('default', $mofile);
    вставлять?

    Получается это проделать и плагин не нужен будет?

Просмотр 15 ответов — с 16 по 30 (всего 40)
  • Тема «Облегчённый перевод лицевой части сайта» закрыта для новых ответов.