156 lines
5.1 KiB
Markdown
156 lines
5.1 KiB
Markdown
Переводы на другие языки (локализация)
|
||
======================================
|
||
|
||
|
||
|
||
Как перевести Канборд на новый язык?[¶](#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/)
|
||
|