5.1 KiB
Переводы на другие языки (локализация)
Как перевести Канборд на новый язык?¶
-
Переводы хранятся в директории
app/Locale -
В этой директории есть поддиректории для разных языков, например, для русского имеется
ru_RU, для французского -fr_FRи т.д. -
Переводы находятся в PHP файле, который возвращает массив с парой ключ-значение
-
Ключ - оригинальный текст на английском и значение - перевод на соответсвующем языке
-
Французские переводы всегда в актуальном состоянии
-
Всегда используйте последнюю версию (branch master)
Создание нового перевода¶
-
Создайте новую директорию:
app/Locale/xx_XX, напримерapp/Locale/fr_CAдля канадского фрацузского -
Создайте новый файл для перевода:
app/Locale/xx_XX/translations.php -
Используйте как образец содержимое французского перевода (локализации) и замените значения
-
Внесите изменения в файл
app/Model/Language.php -
Проверьте добавленный язык на локальной версии Канборда
-
Пошлите pull-request на Github
Как обновить имеющийся перевод?¶
-
Откройте файл перевода
app/Locale/xx_XX/translations.php -
Отсутсвующие переводы закоментированы -
//и значения пустые, нужно заполнить значения и удалить коментарий -
Проверьте внесенные изменения на локальной версии Канборда и пошлите pull-request
Как добавить новый текст перевода в приложение?¶
Переводы отображаются с помощью функций в исходном коде:
-
t(): показывает текст с HTML escaping -
e(): показывает текст без HTML escaping
Всегда используйте английскую версию исходного кода.
Текстовые строки используют функцию sprintf() для замены элементов:
-
%sиспользуется для замены строки -
%dиспользуется для замены цифры
Ознакомится с доступными форматами вы можете в документации PHP.
Как найти отсутствующие переводы в приложении?¶
Из терминала запустите следующую команду:
./kanboard locale:compare
Все отсутствующие и неиспользуемые переводы будут показаны на экране. Добавьте их во французскую локализацию и синхронизируйте с другими локализациями (смотрите ниже)
Как синхронизировать файлы переводов?¶
В оболочке Unix запустите следующую команду:
./kanboard locale:sync
Французский перевод используется для ссылки на другие локализации.