Руководство для переводчиков
Переведите SysWatch
SysWatch говорит на английском, немецком, французском, испанском и русском. Вы можете добавить свой язык или исправить формулировку в уже существующем. Программировать не нужно: каждый язык хранится в одном текстовом файле.
Когда перевод принят, каждое приложение SysWatch само получает его в течение дня или сразу через Настройки, Язык, Проверить. Обновлять приложение не нужно.
Добавьте свой язык
Сделайте форк репозитория SysWatch на GitHub (кнопка Fork в правом верхнем углу страницы GitHub).
В папке translations скопируйте
en.xmlи назовите копию кодом своего языка:hi.xmlдля хинди,pt-BR.xmlдля бразильского португальского,ja.xmlдля японского. Коды есть в первой колонке списка кодов языков.Переведите текст между тегами. Всё, что внутри угловых скобок
< >, оставьте как есть.<!-- English --> <string name="pair_scan">Scan the code on your PC</string> <!-- Your file --> <string name="pair_scan">अपने पीसी पर कोड स्कैन करें</string>Откройте pull request. Проверка запустится сама и простыми словами скажет, если что-то нужно исправить. Когда она станет зелёной, перевод просмотрят и примут.
Не обязательно закончить за один раз. Строки, которые вы пропустите, будут показаны на английском, а приложение покажет, насколько полон перевод. Но не оставляйте строку пустой: лучше удалите её целиком.
Исправьте существующий перевод
Отредактируйте файл нужного языка (de.xml, fr.xml, es.xml, ru.xml), измените текст и откройте pull request. Одним предложением объясните, чем новая формулировка лучше.
Правила, всего пять
1. Сохраняйте подстановки
Такие элементы, как %1$s и %2$d, это места, которые заполняет приложение (имя, число). Все подстановки из английского текста должны быть и в вашем. Их можно переставить туда, где этого требует грамматика: для этого они и пронумерованы.
<string name="settings_paired_with">Paired with code %1$s</string>
<string name="settings_paired_with">Gekoppelt mit Code %1$s</string>
Настоящий знак процента рядом с подстановками пишется дважды: %1$d%% выглядит как 47%.
2. Ставьте обратную косую черту перед апострофом
l\'application, а не l'application. Пишите & вместо & и < вместо <.
3. Не переводите названия и единицы
SysWatch, DevLune, CPU, GPU, RAM, Wi-Fi, Tailscale, Google Play, Windows, Android и единицы вроде MB, GB, GHz, °C остаются как есть. Художественные циферблаты (Horizon, Blocks, Bauhaus, Ink, Weave, Bloom, Type, Pixel) тоже сохраняют свои названия.
4. Множественное число по правилам вашего языка
В английском две формы, one и other. Если в вашем языке их больше (русский, польский, арабский…), добавьте нужные:
<plurals name="settings_import_done">
<item quantity="one">Импортировано %1$d правило.</item>
<item quantity="few">Импортировано %1$d правила.</item>
<item quantity="many">Импортировано %1$d правил.</item>
<item quantity="other">Импортировано %1$d правила.</item>
</plurals>
5. Коротко и просто
Этот текст стоит на кнопках и небольших карточках на экране телефона. Выбирайте слово, которым люди пользуются на самом деле, а не официальное. Никаких длинных тире: используйте запятую, двоеточие или точку.
Строки, которые начинаются с <!-- в en.xml, это заметки для вас: что подставляется в место или где появляется текст. В своём файле их можно не сохранять.
Одна строка особая: language_name это название вашего языка на вашем языке (Deutsch, Español, Русский, हिन्दी). Именно его люди видят в списке языков приложения.
Проверьте файл перед отправкой
Этот шаг необязателен. Если у вас есть Python, выполните в папке репозитория:
python scripts/translations.py check translations
Команда выведет ok или точный список строк, которые нужно исправить. Та же проверка запускается для вашего pull request.
Что происходит после принятия
languages.jsonв папке translations обновляется автоматически. Это список, который читает приложение.- Приложения проверяют его раз в день. Телефон, где выбран ваш язык, скачивает новый файл, ещё раз проверяет каждую строку прямо на устройстве (сломанная строка пропускается и показывается на английском, так что ошибка никогда не сломает приложение), сохраняет его и показывает.
- Языки, которые не встроены в приложение, появляются в списке языков со значком загрузки. Популярные встраиваются в следующую версию приложения.
Вопросы
Откройте issue на GitHub или спросите в Discord. Спасибо, что помогаете людям пользоваться SysWatch на родном языке.