Osclass — это популярная система для создания классифайд-сайтов, и, как и WordPress, она поддерживает локализацию. Многие темы и плагины для Osclass изначально идут на английском, но их можно перевести на любой язык. В этой статье разберём, как правильно переводить шаблоны и плагины для Osclass.
1. Подготовка к переводу
Перед тем как начать, убедитесь, что тема или плагин поддерживают локализацию. Проверьте:
-
Наличие папки
languages
в структуре темы или плагина. -
Использование функций перевода (
__()
,_e()
,_m()
,_n()
и др.) в коде. -
Наличие
.pot
-файла (шаблона для перевода).
Если .pot
-файла нет, его можно создать вручную или с помощью специальных инструментов.
2. Создание и редактирование файлов перевода
Osclass, как и WordPress, использует систему Gettext с файлами .po
(текстовый формат) и .mo
(бинарный, используется системой).
Способы перевода:
① Использование Poedit (наиболее удобный способ)
-
Скачайте и установите Poedit.
-
Откройте
.pot
-файл (или создайте новый через File → New from POT file). -
Введите перевод для каждой строки.
-
Сохраните файл в формате
.po
и.mo
с указанием языка (например,ru_RU.po
для русского).
② Ручное создание .po/.mo файлов
Если .pot
-файла нет, можно создать его вручную:
-
Скопируйте все строки для перевода из кода (ищите
__('текст')
,_e('текст')
и т. д.). -
Создайте файл
messages.po
в структуре:-
Для тем:
oc-content/themes/ваша-тема/languages/ru_RU.po
-
Для плагинов:
oc-content/plugins/ваш-плагин/languages/ru_RU.po
-
-
Заполните его по стандарту Gettext (можно взять за основу любой
.po
-файл из Osclass). -
Скомпилируйте в
.mo
через Poedit или командой:msgfmt ru_RU.po -o ru_RU.mo
③ Использование консольных утилит (xgettext, msgfmt)
Для разработчиков:
-
Сбор строк из PHP-файлов:
xgettext --from-code=UTF-8 -o messages.pot *.php
-
Компиляция
.po
в.mo
:msgfmt ru_RU.po -o ru_RU.mo
3. Подключение перевода
Для тем
-
Поместите
.po
и.mo
файлы в:oc-content/themes/ваша-тема/languages/
-
Убедитесь, что в
functions.php
темы есть загрузка перевода:osc_register_script('theme-script', ...); // если есть JS-локализация
(Osclass автоматически подхватывает перевод, если файлы лежат в правильной папке.)
Для плагинов
-
Файлы перевода должны быть в:
oc-content/plugins/ваш-плагин/languages/
-
В коде плагина должна быть строка загрузки текстового домена (обычно это есть в стандартных плагинах).
4. Проверка перевода
-
В админке Osclass (Настройки → Язык) выберите нужный язык.
-
Если перевод не подгружается:
-
Проверьте правильность названия файлов (например,
ru_RU.mo
). -
Убедитесь, что строки в
.po
-файле соответствуют оригиналу.
-
5. Дополнительные советы
-
Локализация JavaScript – если в теме/плагине есть JS-строки, их тоже нужно перевести через
osc_add_script_translation()
. -
Обновление перевода – если исходный код изменился, обновите
.pot
-файл и внесите правки в.po
. -
Стандартные языковые файлы – Osclass уже содержит базовые переводы в
oc-content/languages/
.
Заключение
Перевод тем и плагинов Osclass — не сложный процесс, если использовать Poedit или ручное редактирование .po
-файлов. Главное — правильно разместить файлы и проверить их работу.
Если у вас есть вопросы — задавайте в комментариях!