mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-10-03 09:04:32 -04:00
97 lines
8.9 KiB
HTML
97 lines
8.9 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ru-rRU" dir="ltr">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Перевод приложения</title>
|
||
<link rel="stylesheet" href="../../styles/docs.css">
|
||
</head>
|
||
<body data-page="translate" data-locale="ru-rRU">
|
||
<pre class="markdown-content"># Перевод приложения
|
||
|
||
Приложение и его встроенные документы переведены на Crowdin — на этой странице показано, как внести свой вклад. Приложение использует [Crowdin](https://crowdin.com/) для управления переводами сообщества как для пользовательского интерфейса, так и для документации в приложении.
|
||
|
||
## Что переводится
|
||
|
||
Ресурс | Исходное местоположение | Заметки |
|
||
--------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------ |
|
||
Строки интерфейса | `core/resources/src/commonMain/composeResources/values/strings.xml` | Кнопки, ярлыки, сообщения и весь видимый пользователю текст |
|
||
Страницы руководства пользователя | `docs/en/user/*.md` | Встроенная документация, отображаемая в разделе «Справка и документация» |
|
||
Метаданные Fastlane | `fastlane/metadata/android/en-US/` | Название, описание и журналы изменений в Google Play |
|
||
|
||
> ℹ️ **Примечание:** Страницы Руководства разработчика только на английском. Документация, ориентированная на код и для участников, не переводится.
|
||
|
||
## Как внести вклад
|
||
|
||
1. **Посетите проект Crowdin.** Откройте [проект Meshtastic Android на Crowdin](https://crowdin.com/project/meshtastic-android) и войдите в систему или создайте бесплатный аккаунт.
|
||
2. **Выберите свой язык.** Выберите существующий язык или запросите новый, открыв [GitHub issue](https://github.com/meshtastic/Meshtastic-Android/issues/new).
|
||
3. **Переводите строки.** Crowdin показывает английский исходный текст слева и ваш перевод справа. Переведите каждую строку и сохраните.
|
||
4. **Проверьте контекст.** Многие строки содержат скриншоты или комментарии о контексте — проверьте их, чтобы понять, где данный текст появляется в приложении. Запланированная задача выгружает одобренные переводы из Crowdin и открывает пулл-реквест; они публикуются, как только мейнтейнер его смержит и выйдет новая сборка.
|
||
|
||
> 💡 **Совет:** Сохраняйте переводы краткими. Строки интерфейса часто появляются на кнопках, фишках или узких колонках. Если перевод значительно длиннее английского оригинала, рассмотрите возможность сокращения, чтобы смысл оставался понятным.
|
||
|
||
## Добавление нового языка
|
||
|
||
Если твоего языка еще нет в списке на Crowdin:
|
||
|
||
1. Открой задачу на [GitHub](https://github.com/meshtastic/Meshtastic-Android/issues/new) для запроса нового языка.
|
||
2. Поддерживающий добавит язык в Crowdin и настроит `crowdin.yml`.
|
||
3. После добавления вы можете начать переводить сразу.
|
||
|
||
## Как организованы переводы
|
||
|
||
Приложение для Android использует **Compose Multiplatform resources** для всех строк, видимых пользователю:
|
||
|
||
```text
|
||
core/resources/src/commonMain/composeResources/
|
||
├── values/ ← English (default)
|
||
│ └── strings.xml
|
||
├── values-de/ ← German
|
||
│ └── strings.xml
|
||
├── values-fr/ ← French
|
||
│ └── strings.xml
|
||
└── ...
|
||
```
|
||
|
||
Встроенная документация следует аналогичной схеме в папке `docs/`:
|
||
|
||
```text
|
||
docs/
|
||
├── en/user/ ← English source (default)
|
||
│ ├── onboarding.md
|
||
│ └── ...
|
||
├── fr-rFR/user/ ← French (France)
|
||
│ ├── onboarding.md
|
||
│ └── ...
|
||
├── de-rDE/user/ ← German (Germany)
|
||
│ └── ...
|
||
└── ...
|
||
```
|
||
|
||
Папки с локалями документации используют локальные квалификаторы Android: либо `{lang}`, либо `{lang}-r{REGION}` (например, `fr`, `fr-rFR`, `de-rDE`, `ja-rJP`). Папки `values-*` для строк приложения используют просто коды языков (`values-fr`, `values-de`, `values-ja`), потому что `crowdin.yml` пишет строки с `%two_letters_code%`, а страницы документации — с `%android_code%`. Эти два набора не совпадают один к одному.
|
||
|
||
Приложение автоматически выбирает правильный язык и регион на основе настроек вашего телефона **Язык и регион**.
|
||
|
||
Страница, пришедшая из Crowdin, в приложении под своим заголовком отмечена как **Переведено сообществом**. Если на странице ещё нет перевода на твой язык в Crowdin, сборка для Android с помощью Google автоматически переводит исходник с английского и помечает его как **Автоперевод**; сборки для F-Droid и десктопа показывают английскую страницу. Твой перевод в Crowdin заменяет машинный, как только он появляется.
|
||
|
||
## Руководство по переводу
|
||
|
||
- **Не переводите** технические термины, такие как "LoRa", "MQTT", "BLE", "TAK", "SNR" или "RSSI" — они универсальны.
|
||
- **Сохраняйте заполнители без изменений.** Строки, такие как `%1$s` или `%d`, заполняются во время выполнения. Не удаляйте и не меняйте их порядок, если только грамматика вашего языка не требует этого.
|
||
- **Согласуйте тон.** Приложение использует дружелюбный, прямой стиль общения. Избегайте чрезмерно официального языка.
|
||
- **Проверь, если возможно.** Поменяй язык на телефоне и открой приложение, чтобы увидеть, как выглядят переводы в контексте.
|
||
|
||
## Вопросы?
|
||
|
||
Если у тебя есть вопросы о контексте конкретной строки или нужна помощь для начала работы, создайте обсуждение на странице [Meshtastic GitHub Discussions](https://github.com/orgs/meshtastic/discussions).
|
||
|
||
Спасибо, что помогаешь расширять охват Meshtastic.
|
||
|
||
## Связанные темы
|
||
|
||
- [Единицы и локаль](units-and-locale) — как приложение выбирает форматы чисел, дат и единиц для твоего региона
|
||
- [Справка и документация](help-and-docs) — встроенный браузер документации, куда публикуются эти страницы
|
||
- [Onboarding](onboarding) — это момент, когда новый пользователь впервые сталкивается с переведёнными строками
|
||
</pre>
|
||
</body>
|
||
</html> |