Как добавить локализацию темы WordPress Divi?

У нас возникли проблемы с работой локализации на нашем сайте WordPress.

Наша установка выглядит следующим образом:

  • Вордпресс 4.0.1
  • Мультисайт включен
  • Divi Theme 2.1.4 (хотел добавить Divi в теги, но Stack Overflow не позволяет)
  • Язык сайта 1: английский (США) (en_US)
  • Язык сайта 2: голландский (nl_NL)

Локализация работает на бэкенде, как в самом WordPress, так и в конструкторе тем Divi. Однако, например, заполнитель для поиска остается английским. Когда я иду и взламываю код, я обнаруживаю, что могу изменить его в заголовочном файле. Но настроить его в языковом файле (как самого WordPress, так и языкового файла Divi) не получается.


person TheUnpragmaticProgrammer    schedule 17.12.2014    source источник


Ответы (1)


Не имея доступа к кодовой базе этой конкретной темы, трудно точно понять, что происходит.

Но, как правило, если текстовую строку нужно локализовать, она должна отображаться в шаблоне, плагине или ядре WordPress как

__( 'Search by typing here...', 'divi' )

вместо

'Search by typing here....'

Это объясняет это. https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/ Здесь упоминаются плагины, но темы работают одинаково.

Если эта тема реализует заполнитель для поиска, возможно, вы обнаружили дефект в теме. Вы можете попросить разработчика починить ее, а можете сделать дочернюю тему и починить ее самостоятельно. Разработчик, вероятно, будет рад услышать об исправлении вашей ошибки.

В комментарии вы упомянули, что есть строка исходного кода, в которой говорится:

esc_attr_x( 'Search …', 'placeholder', 'Divi' ),

Если вы посмотрите в каталог исходного кода плагина Divi, вы, вероятно, найдете подкаталог с именем languages. Найдите там файл nl-nl.po или, возможно, файл Divi.pot, содержащий локализуемые строки.

Там вы, надеюсь, найдете несколько строк, которые выглядят примерно так:

msgctxt "placeholder"
msgid "esc_attr_x( 'Search …"
msgstr ""

Если вы можете заполнить строку msgstr нужными вам словами (извините, я не знаю голландского языка), вы можете создать или обновить свой файл .mo с помощью изменить.

Но многие сайты используют встроенный виджет поиска для отображения окна поиска. Возможно, вы используете какой-то плагин для пользовательского поиска?

person O. Jones    schedule 17.12.2014
comment
Это выглядит так: esc_attr_x('Search', 'placeholder', 'Divi') Я могу заменить его строкой, и тогда это сработает, но, конечно, это некрасиво, и есть масса причин, по которым мы не хотим тот. Вот почему я пытаюсь исправить это по-хорошему ;) Я собираюсь взломать и посмотреть, что произойдет. - person TheUnpragmaticProgrammer; 17.12.2014
comment
ХОРОШО. Как уже говорилось, я взломал, и когда я удаляю параметр контекста (так выше: esc_attr_x («Поиск», «заполнитель»), все работает! Я делаю что-то неправильно при размещении файлов nl_NL в папке Divi/lang рядом с другими языковыми файлами и отметив еще? - person TheUnpragmaticProgrammer; 17.12.2014
comment
Что касается вашего редактирования: я понимаю, что вы говорите, и действительно, это то, что я нашел, глядя на исходный код. - person TheUnpragmaticProgrammer; 17.12.2014