Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Знаходимо шлях для файлів локалізації теми (міні хак)

Це зовсім невеликий і простий хак (або навіть швидше рада) - в інтернеті не знайшов подібного рішення, тому поспішаю з вами поділитися Це зовсім невеликий і простий хак (або навіть швидше рада) - в інтернеті не знайшов подібного рішення, тому поспішаю з вами поділитися. Можливо, хтось зіткнувся з такою ж ситуацією. Увага, зараз не буду розповідати про локалізацію вордпресс шаблонів в цілому, це тема для іншої і більш об'ємною статті. Можливо, пост вийшов трохи сумбурним (з передісторією і роздумами), але завдання потрібну він вирішує.

Отже, проблема в наступному. Була куплена платна тема для worpdress. Переклад в них, як правило, здійснюється через файли ru_RU.mo і ru_RU.po (дивіться документацію по своєму шаблоном, чи підтримує він цей метод). Алгоритм створення локалізації в такому випадку простий:

1. Скачуєте безкоштовну програму Poedit .
2. Знаходьте в темі .pot файл (у мене він тут / framework / languages).
3. Запускаєте програму, де вибираєте пункт меню File - New catalog from POT file.

Запускаєте програму, де вибираєте пункт меню File - New catalog from POT file

4. Вводите всі переклади. Тексти при введенні зберігаються автоматично. В кінці роботи потрібно натиснути кнопку Save. Перейменуйте створені файли в потрібну вам локаль, наприклад для російської мови - ru_RU.mo і ru_RU.po.

5. У файлі настройки wp-config.php повинна бути рядок підключення мови:

define ( 'WPLANG', 'ru_RU');

define ( 'WPLANG', 'ru_RU');

Єдина проблема, яка виникає - знайти місце куди потрібно завантажити ru_RU.mo і ru_RU.po файли перекладу. Зазвичай вони зберігаються в директорії languages ​​для теми. Крім того, як правило, в документації по шаблону буде сказано куди потрібно їх завантажити в моєму випадку це шлях:

wp -content / themes / імя_теми / theme / languages

wp-content / themes / імя_теми / theme / languages

На жаль, після цього нічого на сайті не змінилося, переклад не спрацював. Файли теми є також і в wp-content / languages, але вони вносили зміни в перекази всередині адмінки. Взагалі там було багато різних файлів локалізацій.

В інтернет знайшов код підключення локалізації для теми:

$ Lang = TEMPLATE_PATH. '/ Lang'; load_theme_textdomain ( 'theme_textdomain', $ lang);

$ Lang = TEMPLATE_PATH. '/ Lang'; load_theme_textdomain ( 'theme_textdomain', $ lang);

Він повинен знаходиться в файлі functions.php. У мене там був трохи інший код:

// Load Theme Local File $ locale = get_locale (); if (is_admin ()) {load_theme_textdomain ( 'cmsmasters', CMSMS_ADMIN_INC. '/ languages'); $ Locale_file = CMSMS_ADMIN_INC. '/ Languages ​​/'. $ Locale. '.Php'; } Else {load_theme_textdomain ( 'cmsmasters', CMSMS_FRAMEWORK. '/ Languages'); $ Locale_file = CMSMS_FRAMEWORK. '/ Languages ​​/'. $ Locale. '.Php'; }

// Load Theme Local File $ locale = get_locale (); if (is_admin ()) {load_theme_textdomain ( 'cmsmasters', CMSMS_ADMIN_INC. '/ languages'); $ Locale_file = CMSMS_ADMIN_INC. '/ Languages ​​/'. $ Locale. '.Php'; } Else {load_theme_textdomain ( 'cmsmasters', CMSMS_FRAMEWORK. '/ Languages'); $ Locale_file = CMSMS_FRAMEWORK. '/ Languages ​​/'. $ Locale. '.Php'; }

Видно, що завантажуються мовні файли. Я розмістив після цього коду рядок:

Зберіг, і подивився які ж шляхи ведуть до файлів локалізації. Для адмінки і для самого сайту були різні.

Для адмінки і для самого сайту були різні

Я завантажив свої ru_RU.mo і ru_RU.po файли за вказаним шляхом, і ура все запрацювало! До цього реально куди тільки їх не вставляв, реакції - нуль. Саме дивно, що навіть установка WordPress плагіна локалізації CodeStyling Localization і створення перекладів через нього ніяк не впливало на вихідну тему. На щастя, ситуація вирішилася, а то самі розумієте шукати в 20-30 файлах шаблону всі тексти для перекладу - завдання втомлива.

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.