Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

О локализация WooCommerce и прочего

Тема в разделе "Как изменить надпись, перевести текст и т. д.?", создана пользователем D&B, 5 ноя 2013.

  1. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.269
    Симпатии:
    724
    Баллы:
    113
    Далеко не везде предусмотрен перевод для админки. Если в файле .PO их нет, значит нет. Можете конечно переводить блокнотом, но при обновлении перевод слетит.
     
    • Информативно Информативно x 1
  2. Acme

    Acme

    Сообщения:
    36
    Симпатии:
    0
    Баллы:
    6
    Спасибо за ответ.
    Последний вопрос. Почему перевод, сделанный в POEDIT, не отображается на сайте? Где в шаблоне нужно заменить на ru_RU?
     
  3. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.269
    Симпатии:
    724
    Баллы:
    113
    Надо перевести. Потом скопировать обратно в тему или плагин, разумеется. Файлы должны иметь окончание ru_RU
     
  4. Acme

    Acme

    Сообщения:
    36
    Симпатии:
    0
    Баллы:
    6
    Дело в том, что кокрас это я и сделал - эффекта, почему-то нет.

    Снимок.PNG Снимок1.PNG
     
  5. Acme

    Acme

    Сообщения:
    36
    Симпатии:
    0
    Баллы:
    6
    Вот, что на сайте выводит ( оригинал )
     

    Вложения:

  6. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.269
    Симпатии:
    724
    Баллы:
    113
    Дайте ссылку на вашу тему
     
  7. Acme

    Acme

    Сообщения:
    36
    Симпатии:
    0
    Баллы:
    6
    Вот демо темы: хлоп
     
  8. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.269
    Симпатии:
    724
    Баллы:
    113
    Причины могут быть такие:
    1. Не правильное окончание файлов (я уже описал выше)
    2. Какой-то плагин подменяет часть функционала и перевод тоже, соответственно.
    3. В некоторых продвинутых темах есть возможность сделать быстрый перевод некоторых полей прямо в админке. В этом случае в файле .PO их уже может не быть.
    4. Ну и конечно могут быть авторские баги. Но это уже к автору темы.
     
  9. Acme

    Acme

    Сообщения:
    36
    Симпатии:
    0
    Баллы:
    6
    ru_RU.po , вроде бы такое должно быть.
    Снимок.PNG нету в настройках темы такого.
    Как можно определить это?
     
  10. Acme

    Acme

    Сообщения:
    36
    Симпатии:
    0
    Баллы:
    6
    В папке с языками такие файлы лежат ( ru были добавлены мною, после использования программы POEDIT ):
    [​IMG]
    Нашел функцию: load_theme_textdomain

    В functions:
    PHP:
    load_theme_textdomain( 'fortuna', get_template_directory() . '/languages' );

    В ot-loader:
    PHP:
    public function load_textdomain() {

    if ( OT_PLUGIN_MODE ) {

    load_plugin_textdomain( 'option-tree', false, OT_LANG_DIR );

    } else {

    load_theme_textdomain( 'option-tree', OT_LANG_DIR );

    }

    }
    В class-wp-theme.php:

    PHP:
    public function load_textdomain() {
    if ( isset( $this->textdomain_loaded ) )
    return $this->textdomain_loaded;

    $textdomain = $this->get('TextDomain');
    if ( ! $textdomain ) {
    $this->textdomain_loaded = false;
    return false;
    }

    if ( is_textdomain_loaded( $textdomain ) ) {
    $this->textdomain_loaded = true;
    return true;
    }

    $path = $this->get_stylesheet_directory();
    if ( $domainpath = $this->get('DomainPath') )
    $path .= $domainpath;
    else
    $path .= '/languages';

    $this->textdomain_loaded = load_theme_textdomain( $textdomain, $path );
    return $this->textdomain_loaded;
    }

    И в l10n.php

    PHP:
    function load_theme_textdomain( $domain, $path = false ) {
    $locale = get_locale();
    /**
    * Filter a theme's locale.
    *
    * @since 3.0.0
    *
    * @param string $locale The theme's current locale.
    * @param string $domain Text domain. Unique identifier for retrieving translated strings.
    */
    $locale = apply_filters( 'theme_locale', $locale, $domain );

    if ( ! $path )
    $path = get_template_directory();

    // Load the textdomain according to the theme
    $mofile = untrailingslashit( $path ) . "/{$locale}.mo";
    if ( $loaded = load_textdomain( $domain, $mofile ) )
    return $loaded;

    // Otherwise, load from the languages directory
    $mofile = WP_LANG_DIR . "/themes/{$domain}-{$locale}.mo";
    return load_textdomain( $domain, $mofile );
    }
    PHP:
    function load_child_theme_textdomain( $domain, $path = false ) {
    if ( ! $path )
    $path = get_stylesheet_directory();
    return load_theme_textdomain( $domain, $path );
    }


    Тема готова к переводу, но почему не переводится? ...
     
  11. nyrt

    nyrt

    Сообщения:
    49
    Симпатии:
    5
    Баллы:
    8
    Помогите, пожалуйста!
    Может у кого-то такое было...

    1) Скачиваю из папки
    /public_html/wp-content/languages/plugins
    файл
    woocommerce-ru_RU.po

    2) корректирую в Poedit перевод некоторых фраз. Сохраняю.

    3) Закачиваю обратно в /public_html/wp-content/languages/plugins новые файлы
    woocommerce-ru_RU.mo
    woocommerce-ru_RU.po

    4) Через несколько часов мои новые файлы заменяются на стандартные (с исходным переводом).

    Раньше такое было ТОЛЬКО после обновления Woocommerce. И после каждого обновления я обновлял перевод.
    А теперь возврат перевода на стандартный происходит автоматом. Никаких обновлений вообще не делал.
     
  12. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.269
    Симпатии:
    724
    Баллы:
    113
    Это очень странно, не замечал.
     
  13. nyrt

    nyrt

    Сообщения:
    49
    Симпатии:
    5
    Баллы:
    8
    вот такой ещё комментарий получил:
    "Сейчас Wordpress за переводами следит и сам автоматом обновляет, если находит более новую. Попробуйте открыть в текстовом редакторе или в самой программе (Каталог - Свойства) и поменять Stable (latest release) на другое значение.
    https://translate.wordpress.org/locale/ru/default/wp-plugins/woocommerce - отсюда по идее он подбирает версию."

    Сделал, как посоветовали.
    Слежу за переводом ...
     
    Последнее редактирование: 19 ноя 2015
  14. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    553
    Баллы:
    113
    Чтобы не заморачиваться с файлами переводов можно воспользоваться таким способом.
     
    • Полезно Полезно x 1
  15. nyrt

    nyrt

    Сообщения:
    49
    Симпатии:
    5
    Баллы:
    8
    Спасибо! Надо попробовать.
    Вас не затруднить ответить на крайний вопрос в той теме (про $domain)?
    Меня ответ тоже очень интересует.
     
  16. ADv

    ADv Местный

    Сообщения:
    429
    Симпатии:
    108
    Баллы:
    43
    Можно попробовать выставить права на FTP на файлы локализации, чтобы запретить запись, и, соответственно, не дать возможность обновлять перевод автоматически.
     
  17. nyrt

    nyrt

    Сообщения:
    49
    Симпатии:
    5
    Баллы:
    8
    Пробовал. Не работает.
    P.S.
    После изменения в Poedit названия перевода - пока полёт нормальный.
     
  18. searchingman

    searchingman Местный

    Сообщения:
    1.634
    Симпатии:
    553
    Баллы:
    113
    У Вас в этом случае при очередном обновлении плагина переводы обновляться не будут, т.е. новая функциональность плагина останется не переведенной.
     
  19. nyrt

    nyrt

    Сообщения:
    49
    Симпатии:
    5
    Баллы:
    8
    1) вся "новая функциональность" обычно касается только администратора сайта, а не покупателей интернет-магазина. Уж как нибудь переживу.
    2) но у меня проблема то была в другом! К тому, что после каждого обновления woocommerce мне надо исправить перевод нескольких нужных мне фраз - я уже привык. Но перевод стал сбиваться МЕЖДУ!!! обновлениями плагина. И это стало меня <censored>. Поэтому совет, который Вы процитировали меня пока устраивает, для меня всё стало как раньше делал.
    3) Ваш способ - полезен. Плюсики Вам поставил. Если Вы в указанной Вами теме ответите на заданный там вопрос (про $domain) - ещё поставлю Вам плюсик. :)
     
  20. Natalya Kolesova

    Natalya Kolesova

    Сообщения:
    11
    Симпатии:
    2
    Баллы:
    3
    Добрый день, Оксана! Скажите, пожалуйста, вам удалось решить эту проблему? И если да, то как? Облазила весь интернет, нигде нет ответа :((( Я таким образом пыталась поменять "распродажа" на акция" - тоже не получилось....