Перевод JohnCMS на другие языки
JohnCMS является мультиязычной CMS. К сожалению разработчики не знают всех языков, которые существуют на планете и для того чтобы система оставалась мультиязычной, необходимо чтобы люди, знающие другие языки, помогали с переводом. Мы постарались максимально упростить процесс перевода системы на другие языки.
Есть два способа поучаствовать в переводе:
Через Crowdin — перевод прямо в браузере, не требует навыков программирования. Подходит большинству переводчиков.
Через пулреквест на GitHub — редактирование
.po-файлов в репозитории. Подходит тем, кто привык работать с git и программами вроде Poedit.
Переводы между Crowdin и репозиторием синхронизируют разработчики вручную, поэтому оба способа равнозначны — выбирайте удобный.
Способ 1: перевод через Crowdin
Чтобы поучаствовать в переводе нужно выполнить некоторые действия. Давайте рассмотрим их по порядку.
Переходим по ссылке translate.johncms.com
Вам необходимо авторизоваться на сайте. Если у вас уже есть учетная запись на crowdin.com или вы зарегистрированы в Facebook, Google, Twitter, Github или Gitlab, то можете нажать на кнопку Log in. Перед вами появится окно авторизации в котором вы можете ввести логин и пароль от учетной записи или войти через описанные выше сервисы. Если учетной записи нет, то нажимаете на Sign up и регистрируетесь.

После авторизации вы можете приступать к переводу. Для этого в списке языков выберите тот язык, на который вы хотите перевести систему

Если нужного языка нет в списке, мы можем его добавить — см. раздел Добавление нового языка ниже.
После выбора языка перед вами появится эта страница:

На этой странице отображен список переводов для модулей системы и процент фраз, которые уже переведены.
Выбираете модуль, который хотите перевести. Попадаете на страницу со списком фраз:

В левой части отображается список фраз для перевода. В центре отображается сам перевод и информация о том, в каких файлах содержится фраза (context). Так же вы можете посмотреть как эта фраза переведена на другие языки, для этого разверните блок OTHER LANGUAGES. Так же есть уже автоматически переведенные варианты (TM and MT Suggestions), которые вы можете выбрать если там есть подходящий вариант. Если подходящего варианта в автоматических переводах нет, то нужно вписать перевод вручную в поле ввода и нажать Save (сохранить). После сохранения автоматически откроется следующая фраза для перевода в текущем модуле.
После завершения перевода модуля, вы можете выйти назад в список модулей. Для этого вверху слева нажимаете на меню и выбираете Quit Editor. После этого вы попадете обратно в список модулей и можете переводить другие модули аналогичным образом.
После того как Вы выполняете перевод, Ваши переводы проходят проверку разработчиками и загружаются в CMS, а потом с выходом обновлений становятся доступны всем.
Способ 2: перевод через пулреквест на GitHub
Если вам удобнее работать с файлами напрямую, вы можете переводить в репозитории и отправлять изменения пулреквестом.
Файлы переводов лежат в формате gettext .po:
system/locale/<язык>.po— системные фразы (ядро, общие шаблоны);modules/<модуль>/locale/<язык>.po— фразы конкретного модуля (например,modules/forum/locale/de.po).
Порядок действий:
Сделайте форк репозитория johncms/johncms и создайте ветку.
Откройте нужный
.po-файл в любом редакторе переводов — например, Poedit, Lokalize, Gtranslator или обычном текстовом редакторе. Специализированные программы удобнее: они показывают исходную фразу, перевод и формы множественного числа.Переведите фразы и сохраните файл.
Отправьте пулреквест с изменёнными
.po-файлами.
Важные моменты:
Редактируйте только
.po-файлы. Файлы.lng.phpгенерируются из.poавтоматически (командойcomposer translate), а.pot— шаблоны, которые создаются из исходного кода. Их править вручную не нужно: если в пулреквесте будут только.po, словари.lng.phpпересоберут разработчики.Не меняйте исходные фразы (
msgid) — переводится толькоmsgstr.Сохраняйте плейсхолдеры (
%s,%d) и HTML-теги из оригинала — без них система не сможет подставить значения.После принятия пулреквеста разработчики загружают перевод в Crowdin вручную, так что конфликтов между способами не возникает.
Добавление нового языка
Если нужного языка ещё нет ни в Crowdin, ни в репозитории, свяжитесь с разработчиками любым удобным способом (например: info@johncms.com) и напишите название языка — мы его добавим.
Обращаем Ваше внимание, что для того, чтобы перевод был включен в дистрибутив, он должен охватывать как минимум 50% фраз.
Последнее обновление
Это было полезно?