Поддержка Проблемы и решения Мультиязычность на сайте с плагином Polylang

  • Привет, делаю сайт мультиязычным, делаю такие языки Русский, Англиканский,Украинский с помощью плагина Polylang.
    Но вот не могу понять как мне статистический текст перевести. я написал так
    <?php _e( 'Наши услуги', 'MySite' ) ?>
    Но когда меняю язык не чего не происходит вообще. где указывать перевод надо «наших услуг»

Просмотр 15 ответов — с 1 по 15 (всего 16)
  • Модератор Yuri

    (@yube)

    я написал так
    <?php _e( 'Наши услуги', 'MySite' ) ?>

    Чтобы так работало, должны быть подключены файлы локализации для всех используемых языков с текст-доменом ‘MySite’, в которых есть перевод этой фразы.

    В PLL можно зарегистрировать фразу (pll_register_string) сделать в админке ее локализации, и вывести через pll_e.
    Матчасть: https://polylang.wordpress.com/documentation/documentation-for-developers/functions-reference/

    Не много не понял что вы имеете введу

    Модератор Yuri

    (@yube)

    Не много не понял что вы имеете введу

    Я Вам написал как можно сделать. Что там непонятно?

    Как пользоваться функцей
    pll_the_languages

    Не много не понял что вы имеете введу

    Погуглите про gettext и что значит «текстовый домен».

    Если делать перевод с помощью PoEdit то лучшие в конце его делать, когда тема готова ?

    Модератор Yuri

    (@yube)

    Как пользоваться функцей
    pll_the_languages

    Разве я ее упоминал?

    извинете не то глянул, как ее зарегистрировать
    pll_register_string

    Модератор Yuri

    (@yube)

    Ну там же все написано.
    В functions.php темы:
    pll_register_string('our_services', 'Our Services', 'My Theme');

    В шаблон:
    pll_e('Our Services');

    В админке в Languages/Strings translations находим эту строку и делаем переводы.

    Profit.

    Через gettext, конечно, более кошерно и универсально, но так гораздо оперативнее получается.

    Через gettext, конечно, более кошерно и универсально, но так гораздо оперативнее получается.

    Мне показалось что вопрос ТСа связан с непониманием именно синтаксиса и значения (в тч и назначения) аргументов функций.

    Вот так я написал в файле functions.php
    pll_register_string('header_service', 'Наши услуги');
    и там где мне надо перевисти написал так
    <h2><?php pll_e('header_service'); ?></h2>
    Правельно ?

    А так уже не работает

    <h2><?php pll_e('header_service');   ?></h2>
                <p><?php pll_e('text_service'); ?></p>
    <h2><?php pll_e('header_service');   ?></h2>
                <p><?php pll_e('text_service'); ?></p>
    Модератор Yuri

    (@yube)

    pll_register_string($name, $string, $group, $multiline);

    pll_e($string);

    А так чего у меня не работает я не пойму

    Все понял ошибку

    pll_register_string('header_service', 'Наши услуги');
    pll_register_string('text_service', 'Каждый проект уникален стоимость уточняйте');
                <h2><?php pll_e('Наши услуги');   ?></h2>
                <p><?php pll_e('Каждый проект уникален стоимость уточняйте'); ?></p>
Просмотр 15 ответов — с 1 по 15 (всего 16)
  • Тема «Мультиязычность на сайте с плагином Polylang» закрыта для новых ответов.