Переводы на другие языки (локализация) ====================================== Как перевести Канборд на новый язык?[¶](#how-to-translate-kanboard-to-a-new-language "Ссылка на этот заголовок") ---------------------------------------------------------------------------------------------------------------- - Переводы хранятся в директории `app/Locale` - В этой директории есть поддиректории для разных языков, например, для русского имеется `ru_RU`, для французского - `fr_FR` и т.д. - Переводы находятся в PHP файле, который возвращает массив с парой ключ-значение - Ключ - оригинальный текст на английском и значение - перевод на соответсвующем языке - **Французские переводы всегда в актуальном состоянии** - Всегда используйте последнюю версию (branch master) ### Создание нового перевода[¶](#create-a-new-translation "Ссылка на этот заголовок") 1. Создайте новую директорию: `app/Locale/xx_XX`, например `app/Locale/fr_CA` для канадского фрацузского 2. Создайте новый файл для перевода: `app/Locale/xx_XX/translations.php` 3. Используйте как образец содержимое французского перевода (локализации) и замените значения 4. Внесите изменения в файл `app/Model/Language.php` 5. Проверьте добавленный язык на локальной версии Канборда 6. Пошлите [pull-request на Github](https://help.github.com/articles/using-pull-requests/) Как обновить имеющийся перевод?[¶](#how-to-update-an-existing-translation "Ссылка на этот заголовок") ----------------------------------------------------------------------------------------------------- 1. Откройте файл перевода `app/Locale/xx_XX/translations.php` 2. Отсутсвующие переводы закоментированы - `//` и значения пустые, нужно заполнить значения и удалить коментарий 3. Проверьте внесенные изменения на локальной версии Канборда и пошлите [pull-request](https://help.github.com/articles/using-pull-requests/) Как добавить новый текст перевода в приложение?[¶](#how-to-add-new-translated-text-in-the-application "Ссылка на этот заголовок") --------------------------------------------------------------------------------------------------------------------------------- Переводы отображаются с помощью функций в исходном коде: - `t()`: показывает текст с HTML escaping - `e()`: показывает текст без HTML escaping Всегда используйте английскую версию исходного кода. Текстовые строки используют функцию `sprintf()` для замены элементов: - `%s` используется для замены строки - `%d` используется для замены цифры Ознакомится с доступными форматами вы можете в [документации PHP](http://php.net/sprintf). Как найти отсутствующие переводы в приложении?[¶](#how-to-find-missing-translations-in-the-applications "Ссылка на этот заголовок") ----------------------------------------------------------------------------------------------------------------------------------- Из терминала запустите следующую команду: ./cli locale:compare Все отсутствующие и неиспользуемые переводы будут показаны на экране. Добавьте их во французскую локализацию и синхронизируйте с другими локализациями (смотрите ниже) Как синхронизировать файлы переводов?[¶](#how-to-synchronize-translation-files "Ссылка на этот заголовок") ---------------------------------------------------------------------------------------------------------- В оболочке Unix запустите следующую команду: ./cli locale:sync Французский перевод используется для ссылки на другие локализации. [Русская документация Kanboard](http://kanboard.ru/doc/)