Переводы на другие языки (локализация)
======================================

Как перевести Канборд на новый язык?[¶](#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/)