SysWatch
Инструкции
RU
Скачать

Руководство для переводчиков

Переведите SysWatch

SysWatch говорит на английском, немецком, французском, испанском и русском. Вы можете добавить свой язык или исправить формулировку в уже существующем. Программировать не нужно: каждый язык хранится в одном текстовом файле.

Когда перевод принят, каждое приложение SysWatch само получает его в течение дня или сразу через Настройки, Язык, Проверить. Обновлять приложение не нужно.

Добавьте свой язык

  1. Сделайте форк репозитория SysWatch на GitHub (кнопка Fork в правом верхнем углу страницы GitHub).

  2. В папке translations скопируйте en.xml и назовите копию кодом своего языка: hi.xml для хинди, pt-BR.xml для бразильского португальского, ja.xml для японского. Коды есть в первой колонке списка кодов языков.

  3. Переведите текст между тегами. Всё, что внутри угловых скобок < >, оставьте как есть.

    <!-- English -->
    <string name="pair_scan">Scan the code on your PC</string>
    
    <!-- Your file -->
    <string name="pair_scan">अपने पीसी पर कोड स्कैन करें</string>
  4. Откройте 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. Пишите &amp; вместо & и &lt; вместо <.

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 на родном языке.