Эта репа предназначена для хранения переводов сайта в структурированном виде и поддерживается сообществом. Каждый ваш вклад делает платформу доступной для большего числа людей по всему миру.
Прежде чем начать, прочтите этот документ - он содержит всё, что нужно для эффективного участия.
- Кодекс поведения
- Как внести вклад
- Добавление нового языка
- Обновление существующих переводов
- Правила для JSON
- Правила коммитов
- Процесс Pull Request
- Сообщение об ошибках
- Благодарности
Пожалуйста, уважайте всех участников и поддерживайте дружелюбную атмосферу. Любые формы оскорблений или дискриминации не допускаются.
- Будьте вежливы и уважительны
- Давайте конструктивную обратную связь
- Сообщайте о проблемах поддерживающим проект
Полный текст Кодекса поведения можно прочитать в CODE_OF_CONDUCT.md.
Мы принимаем вклад от всех! Вот как начать:
- Сделайте форк репозитория
- Клонируйте ваш форк локально:
git clone https://github.com/teacoder-team/translations.git cd translations - Создайте новую ветку для ваших изменений:
git checkout -b add-spanish-translation
- Внесите изменения (добавьте/отредактируйте JSON-файлы, документацию и т.д.)
- Зафиксируйте изменения согласно правилам коммитов
- Отправьте ветку в ваш форк
- Создайте Pull Request в основную репу
- Перейдите в src/
- Создайте новый JSON-файл с ISO 639-1 кодом языка, например es.json для испанского
- Скопируйте все ключи из ru.json (базовый язык)
- Переведите значения на целевой язык
- Сохраняйте структуру неизменной - не удаляйте ключи
Пример:
{
"auth": {
"login": {
"title": "Iniciar sesión en tu cuenta",
"description": "Ingresa el correo y la contraseña que usaste al registrarte para acceder"
}
}
}- Обновляйте только значения, ключи менять нельзя
- Проверяйте корректность JSON перед отправкой
- Не оставляйте пустые значения - если не уверены, напишите заглушку на русском и добавьте комментарий
- Всегда используйте UTF-8
- Все ключи и строки должны быть в двойных кавычках
- Структура JSON должна совпадать с
ru.json - Проверяйте JSON с помощью JSONLint или аналогичных инструментов
Для упрощения ревью и поддержания чистой истории коммитов в этом проекте действует единая структура сообщений.
Все коммиты должны быть на английском языке и использовать повелительное наклонение (Add, Fix, Update, Remove).
Сообщение коммита состоит из двух частей:
<type>: <short description>
<подробное описание (необязательно)>- type — тип изменений (см. таблицу ниже)
- short description — краткое описание изменений, максимум 50 символов
- подробное описание — необязательная часть, может содержать детали и списки изменений
Пример:
feat: add Spanish translation for login
- Added translation keys for login form
- Checked structure matches ru.json| Prefix | Описание | Пример |
|---|---|---|
| feat | Новая функциональность или добавление перевода | feat: add French translation for dashboard |
| fix | Исправление ошибки или опечатки в переводе | fix: correct typo in Kazakh login text |
| chore | Изменения в конфигурации, сборке или вспомогательных файлах | chore: update .gitignore and CI workflow |
| refactor | Рефакторинг кода или структуры JSON без добавления функционала | refactor: reorganize translation keys structure |
| perf | Улучшение производительности | perf: optimize JSON loading |
| ci | Изменения в конфигурации CI/CD | ci: update GitHub Actions workflow |
| revert | Откат предыдущего коммита | revert: revert "feat: add new translation keys" |
- Все сообщения коммитов на английском языке
- Краткое описание — не более 50 символов
- Использовать повелительное наклонение: Add, Fix, Update, Remove
- Подробное описание отделять пустой строкой
- В коммитах к переводам старайтесь указывать язык и часть интерфейса, например:
feat(auth): add Spanish translation for login
feat(auth): add Spanish translation for loginfix(account): correct typo in Kazakh translationrefactor(auth): reorganize translation keys structure
- Moved all login-related keys into login object
- Checked consistency with ru.json- Убедитесь, что ваша ветка синхронизирована с main
- Проверяйте JSON на валидность
- В PR опишите кратко, что было сделано
- Используйте правильные коммиты
- Назначайте ревьюеров при необходимости
- После одобрения PR будет слит в основную ветку
Если вы нашли проблему:
- Создайте новый issue с шаблоном issue template
- Укажите как можно больше деталей
- Прикладывайте скриншоты или JSON-фрагменты, если нужно
Огромное спасибо всем, кто помогает сделать проект мультиязычным! 🌍
Ваш вклад делает сайт доступным для людей по всему миру и помогает сообществу расти.
- Maintainer: TeaCoder – поддерживает проект и направляет развитие
- Контрибьюторы: каждый, кто добавляет переводы, исправляет ошибки или улучшает структуру JSON
Каждое ваше изменение важно и ценится - вместе мы делаем продукт лучше для всех пользователей!