5.0 KiB
5.0 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 escapinge(): показывает текст без HTML escaping
Всегда используйте английскую версию исходного кода.
Текстовые строки используют функцию sprintf() для замены элементов:
%sиспользуется для замены строки%dиспользуется для замены цифры
Ознакомится с доступными форматами вы можете в документации PHP.
Как найти отсутствующие переводы в приложении?¶
Из терминала запустите следующую команду:
./cli locale:compare
Все отсутствующие и неиспользуемые переводы будут показаны на экране. Добавьте их во французскую локализацию и синхронизируйте с другими локализациями (смотрите ниже)
Как синхронизировать файлы переводов?¶
В оболочке Unix запустите следующую команду:
./cli locale:sync
Французский перевод используется для ссылки на другие локализации.