Как я могу сделать пользовательские переводы строк с помощью плагина WordPress? - PullRequest
0 голосов
/ 20 сентября 2019

NB. Мне 15 лет, и я все еще учусь кодированию, поэтому, если вы мне ответите, ответьте мне полностью, пожалуйста ....

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

Одной из ключевых особенностей моего сайта является то, что я хочу, чтобы это был многоязычный сайт, по крайней мере, на арабском и английском языках, поэтому я установил плагин Polylang WordPress, и все в порядке, за исключением того, что некоторые тексты, например, в нижнем колонтитуле были жестко закодированы., записанный в файле footer.php, поэтому Polylang вообще не может его трогать. Я хочу использовать опцию перевода строк Polylang для перевода любого текста в верхнем или нижнем колонтитуле или в любом месте, где я его укажу. И это моя проблема.

Я хочу решить эту проблему, заранее спасибо.

Извините, если есть какие-либо лошибки и плохой макет Я переписываюсь с телефона.

Ответы [ 2 ]

1 голос
/ 27 сентября 2019

Я не знаком с Polylang, но в прошлом использовал другие подобные плагины.

Я просмотрел документацию для разработчиков здесь и думаю, что вам нужно использовать функцию pll_register_string зарегистрируйте строку и затем используйте pll_e для вывода этой строки.

Так, например, вы получили текст «Hello World!»в вашем шаблоне, затем используйте функцию ppl_e для вывода этого текста следующим образом:

<?php ppl_e('Hello World!'); ?>

Затем, чтобы получить эту строку в переводах строк Polylang, вам нужно зарегистрировать ее в своих темах functions.php, используя pll_register_string работает так:

<?php

  add_action('init', function() {
    pll_register_string('shams-theme', 'Hello World!');
  });

?>

Надеюсь, это поможет, если вам нужна помощь, просто дайте мне знать.

0 голосов
/ 27 сентября 2019

Локализация или сокращенно l10n имеет очень хорошо разработанные методы.Поскольку вы разрабатываете свою собственную тему, вы должны прочитать о WordPress l10n , чтобы узнать о файлах PO и MO.

Обычно в Wordpress вы используете _e ('', '') и __ ('', '') для вывода или возврата локализованных строк соответственно.Эти функции используют gettext для сопоставления первой строки с локализованной записью файла MO со вторым аргументом, который определяет ваш текстовый домен.

_e('I will echo text', 'your-textdomain');

Чтобы эти функции возвращали правильные результаты из MO-файла, вам необходимо заполнить PO-файл.Редакторы PO-файлов могут сканировать папку вашей темы в поисках любых экземпляров этих функций _e () и __ () и перечислять их в удобном для редактирования пользовательском интерфейсе.Доступны различные редакторы ПО.

Заполнив строки, вы используете редактор PO для создания файла MO для этого языка.Обычно это делается в папке «Languages» вашей темы.Если бы вы сделали это в другом месте, вы бы теперь скопировали туда файлы PO / MO.

Теперь последний шаг - регистрация вашего текстового домена в вашей теме, чтобы функция gettext могла найти только что сделанный вами MO.

add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup(){
    load_theme_textdomain( 'my-theme', get_template_directory() . '/languages' );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...