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



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



Из терминала запустите следующую команду:



    ./kanboard locale:compare



Все отсутствующие и неиспользуемые переводы будут показаны на экране. Добавьте их во французскую локализацию и синхронизируйте с другими локализациями (смотрите ниже)



Как синхронизировать файлы переводов?[¶](#how-to-synchronize-translation-files "Ссылка на этот заголовок")
----------------------------------------------------------------------------------------------------------



В оболочке Unix запустите следующую команду:



    ./kanboard locale:sync



Французский перевод используется для ссылки на другие локализации.


 



[Русская документация Kanboard](http://kanboard.ru/doc/)