Перевод приложения
Внесение вклада в перевод помогает сделать Meshtastic доступным для более широкой аудитории. Приложение использует Crowdin для управления переводами сообщества как для пользовательского интерфейса, так и для документации в приложении.
Что переводится
| Ресурс | Исходное местоположение | Заметки |
|---|---|---|
| Строки интерфейса | composeResources/values/strings.xml | Кнопки, ярлыки, сообщения и весь видимый пользователю текст |
| Страницы руководства пользователя | docs/user/*.md | Встроенная документация, отображаемая в разделе «Справка и документация» |
| Метаданные Fastlane | fastlane/metadata/android/en-US/ | Название, описание и журналы изменений в App Store |
Примечание — страницы руководства для разработчиков доступны только на английском языке. Документация, ориентированная на код и предназначенная для контрибьюторов, не переводится.
Как внести вклад
- Посетите проект Crowdin. Откройте проект Meshtastic Android на Crowdin и войдите в систему или создайте бесплатный аккаунт.
- Выберите свой язык. Выберите существующий язык или запросите новый, открыв GitHub issue.
- Переводите строки. Crowdin показывает английский исходный текст слева и ваш перевод справа. Переведите каждую строку и сохраните.
- Проверьте контекст. Многие строки содержат скриншоты или комментарии о контексте — проверьте их, чтобы понять, где данный текст появляется в приложении.
- Отправьте. Одобренные переводы автоматически включаются в следующий выпуск.
Совет — делайте переводы короткими. Строки интерфейса часто появляются на кнопках, ярлыках или в узких колонках. Если перевод значительно длиннее английского оригинала, рассмотрите возможность сокращения, чтобы смысл оставался понятным.
Добавление нового языка
Если твоего языка еще нет в списке на Crowdin:
- Открой задачу на GitHub для запроса нового языка.
- Поддерживающий добавит язык в Crowdin и настроит
crowdin.yml. - После добавления вы можете начать переводить сразу.
Как организованы переводы
Приложение для Android использует Compose Multiplatform resources для всех строк, видимых пользователю:
core/resources/src/commonMain/composeResources/
├── values/ ← English (default)
│ └── strings.xml
├── values-de/ ← German
│ └── strings.xml
├── values-fr/ ← French
│ └── strings.xml
└── ...
Встроенная документация следует аналогичной схеме в папке docs/:
├── user/ ← English source (default)
│ ├── onboarding.md
│ └── ...
├── fr/user/ ← French translations
│ ├── onboarding.md
│ └── ...
└── ...
Приложение автоматически выбирает правильную локаль на основе настроек Язык и регион вашего устройства.
Руководство по переводу
- Не переводите технические термины, такие как “LoRa”, “MQTT”, “BLE”, “TAK”, “SNR” или “RSSI” — они универсальны.
- Сохраняйте заполнители без изменений. Строки, такие как
%1$sили%d, заполняются во время выполнения. Не удаляйте и не меняйте их порядок, если только грамматика вашего языка не требует этого. - Согласуйте тон. Приложение использует дружелюбный, прямой стиль общения. Избегайте чрезмерно официального языка.
- Проверьте, если возможно. Измените язык устройства и откройте приложение, чтобы увидеть, как переводы выглядят в контексте.
Вопросы?
Если у вас есть вопросы о контексте конкретной строки или вам нужна помощь с началом работы, откройте обсуждение на странице Meshtastic GitHub Discussions.
Спасибо за помощь в расширении охвата Meshtastic!