j-kaltes / Juggluco

Android app for Freestyle Libre 1,2 and 3 and Chinese Sibionics sensors
GNU General Public License v3.0
217 stars 56 forks source link

Russian translation upgrade #189

Closed Lisabeta closed 2 months ago

Lisabeta commented 2 months ago

Translated some russian labels to make app more frienldy

j-kaltes commented 2 months ago

I have been looking at the changes you propose. Some of them change key words that are also mentioned in the help text. For example the translation for “Amount” or “Meal” in jugglucotext.cpp and closename, talk, talker, uploader and clampnow in strings.xml . The help texts and the key words in the menu’s and dialogs should be in agreement with each other.

Because there are now two versions, I have to look more critical at the translations, to decide which one is better. When I look at some of the back translations I wonder whether it is an improvement.

<     <string name="closename">Закрыть</string>
---
>     <string name="closename">Выход</string>

Google translate:

< <string name=" closename">Close</string> 
--- 
> <string name="closename">Exit</string>

closename is use for the close button of all dialogs. Should that be something that is translated to “Exit”? The original translations already translated the Close button, in the left menu with “Выход”. If that means “Exit” it is also wrong, because Juggluco doesn’t exit when you press that menu item. Juggluco keeps running in the background.

<     <string name="ringshort">Рингтон</string>
---
>     <string name="ringshort">Сигнал</string>

Google translate:

< <string name="ringshort">Ringtone</string> 
--- 
> <string name=" ringshort">Signal</string>

ringshort is used on WearOS watches as shorter version of Ringtone so that it fits on the screen. Equating Ringtone with Signal sounds strange to me, but I don’t know how it is in Russian.

< <string name="uploader">Загрузчик</string>
---
> <string name="uploader">В облако</string>

Google translate:

< <string name="uploader">Uploader</string> 
--- 
> <string name="uploader">To cloud</string>

uploader is a shorthand for for uploader to Nightscout. Uploader sounds also very general, but to Cloud sounds like it is uploaded to Google drive or so. It then has to stand for “To Nightscout cloud”. I don’t know how that is in Russian.

<    <string name="clampnow">Захват</string>
---
>    <string name="clampnow">Фиксировать</string>

Google translate:

< <string name="clampnow">Capture</string>
--- 
> <string name="clampnow">Commit</string>

Both back translations seem to be wrong to me. “Now clamp” should mean something like “Stuck in the present”: The screen keeps with the passage of time at the same position relative to the current time instead of staying at the time it was originally (stuck in the past).

I will ask what the original translator thinks of your translations.

Lisabeta commented 2 months ago

Thank you for review very much!

Juggluco doesn’t exit when you press that menu item. Juggluco keeps running in the background.

I've tested it for dozens of times and both buttons do the same for me - closes the app, but still works in background. And the fact that "Close" button not only close the menu but also move the app away actually irritates. I'll think about better variants for it. May be Свернуть - collapse would be appropriate.

Equating Ringtone with Signal sounds strange to me, but I don’t know how it is in Russian.

The best translation is Звук but it seems weird in context...

Uploader sounds also very general ... “To Nightscout cloud”. I don’t know how that is in Russian

I thought about В Найт or В Night as it is familiar to many users - send data to nightscout, but not sure that there's no other services.. Maybe 'Send to NS' - ' 'В NS' - aaps users a familiar to this acronym afais. As i thought this option makes the same as menu Cloud upload in xDrip+. So Cloud for familiar users of xDrip is ok.

stuck in the present

I understood it just in opposite way :( But current translation Захват looks absolutely ununderstandable for me. And Фиксировать is for 'fix' actually , not 'commit'. So I'm looking for smth like 'fix on current glucose '. Need to think about it better.

j-kaltes commented 2 months ago

The menu’s in under left menu→Menus, should be the same as the menu’s you get when tapping the screen in each of the four fourths of the screen. Thus left menu→Close should be the same as left menu→Menus→Close. Васильев Артем has mistakenly translated close with Russian for exit. This will be fixed. To get out of Menus, you need to unset “Menus” or press the back button. So you only need to get irritated once. Earlier I received already an alternative translation made independently of the current one. Somehow these three translations need to be integrated. strings.xml:

 <resources>
    <string name="language">ru</string>
    <string name="languagename">Язык</string>
    <string name="app_name">Juggluco</string>

    <string name="ok">ОК</string>
    <string name="cancel">Отмена</string>

    <string name="garmin_initialization_error">"Сбой при запуске приложения "</string>

    <string name="error_nfc_device_not_supported">Сканирование невозможно, отсутствует NFC</string>
    <string name="error_nfc_disabled">NFC отключен, включите эту функцию в настройках</string>

   <string name="kerfstok_missing_title">Kerfstok не установлен на часах</string>
    <string name="kerfstok_missing_message">Kerfstok не установлен. Его можно установить с помощью Garmin connectiq.</string>

    <string name="alarm_description">Низкий или высокий сахар</string>
    <string name="loss_description">Соединение с сенсором потеряно</string>
    <string name="numalarm_description">Напоминание: подколка, еда, физ.нагрузка</string>
    <string name="notification_description">Оповещение о тек.знач. глюкозы</string>
    <string name="ongoing_description">Фоновая задача</string>
    <string name="scan_permission">Разрешения</string>
    <string name="scanname">Сканирование</string>
    <string name="scansname">Скан.</string>
    <string name="historyname">История</string>
    <string name="streamname">Поток. данные</string>
    <string name="resetname">Сброс</string>
    <string name="helpname">Помощь</string>
    <string name="searchtopast">Поиск</string>
    <string name="nobluetooth">Нет bluetooth</string>
    <string name="bluetoothenabled">Bluetooth включен</string>
    <string name="bluetoothdisabled">Bluetooth выключен</string>
    <string name="amountsname">Кол-во</string>
    <string name="amountshort">@string/Кол-во</string>
    <string name="mealsname">Еда</string>
    <string name="closename">Закрыть</string>
    <string name="exporthelp">Сохранение последнего значения, отображаемого на экране. Информация за то кол-во дней, которое указано.</string>
    <string name="detect">Найти</string>
    <string name="testip">Тест IP</string>
    <string name="testlabel">Тест метки</string>
    <string name="passiveonly">Пассивный</string>
    <string name="activeonly">Активный</string>
    <string name="both">Оба</string>
    <string name="receivefrom">Получить от</string>
    <string name="datapresentuntil">"Данные отображ. на приемнике до: "</string>
    <string name="visible">Показывать</string>
    <string name="password">Пароль</string>
    <string name="delete">Удалить</string>
    <string name="specifyreceiveordata">Укажите \'Получить от\' или данные для отправки на др.устройство</string>
    <string name="specifyip">Укажите IP</string>
    <string name="portrange">Порты сети должны иметь значение от 1024 до 65535</string>
    <string name="start">Старт</string>
    <string name="now">Сейчас</string>
    <string name="dontchangeamounts">Передать данные Mirror</string>
    <string name="thishost">Этот хост:</string>
    <string name="dozemode">Спящ. режим</string>
    <string name="sync">Синхрон</string>
    <string name="alarms">Тревога</string>
    <string name="save">Сохранить</string>
 <string name="addconnectionbutton">Подключить</string>
 <string name="offtouch">Без контакта</string>
 <string name="glucosestatusbar">Оповещение о глюкозе</string>
 <string name="lowglucosealarm">Тревога: низкий ГК</string>
 <string name="numlabel">"Метка: "</string>
 <string name="roundto">"Округлить до: "</string>
 <string name="weight">"Значение: "</string>
 <string name="ringtonename">Мелодия</string>
 <string name="highglucosealarm">Тревога: высокий ГК</string>
 <string name="valueavailablenotification">Оповещение о доступ. значении</string>
 <string name="lossofsignalalarm">Тревога: потеря сигнала</string>
 <string name="cantsetminutes">"Нельзя установить минуты на "</string>
  <string name="minutes">минут(ы)</string>
 <string name="toolarg"> слишком много</string>
 <string name="targetrange">"Целевой диапазон: "</string>
 <string name="graphrange">"Диапазон графика: "</string>
 <string name="unit">"Единицы ГК: "</string>
 <string name="glucoseaxisleft">Ось глюкозы СЛЕВА</string>
 <string name="startsapp">Запуск Juggluco при сканировании</string>
 <string name="sendtoxdrip">Отправка Patched Libre</string>
 <string name="disablecamerakey">Кнопка откл. камеры</string>
 <string name="invertscreen">Повернуть экран</string>
 <string name="nfcsound">Звук NFC</string>
 <string name="manuallyscale">Регулировать масштаб </string>
 <string name="time">ось времени</string>
 <string name="glucose">ось ГК</string>
 <string name="sensorviabluetooth">Сенсор по bluetooth</string>
 <string name="sensorviabluetoothon">Необходимо вкл. \'Сенсор по bluetooth\' для тревог на основном устройстве</string>
 <string name="setunitfirst">Выберите единицы ГК</string>
 <string name="numberlabels">Метки</string>
 <string name="colors">Цвета</string>
 <string name="remindersname">Напоминания</string>
 <string name="display">Дисплей</string>
 <string name="shutcuts">Горячие клавиши</string>
 <string name="advanced">Расширенные</string>
 <string name="newname">Новое</string>
 <string name="deletelast">Удалить последнее</string>
 <string name="meal">Еда:</string>
 <string name="ringshort">Звук</string>
 <string name="days">Дни</string>
 <string name="invaliddays">\' ошибка. Используйте натуральные числа.</string>
 <string name="summarygraph">Общий график</string>
 <string name="forget">Забыть</string>
 <string name="reenable">Возобновить</string>
 <string name="failure_info">Об ошибке</string>
 <string name="last_failure">Послед. сбой</string>
 <string name="last_success">Послед. счит.</string>
 <string name="stage">Статус</string>
 <string name="use_bluetooth">Исп. Bluetooth</string>
 <string name="connection">Соединение</string>
 <string name="unlock_key">Разблок.ключ</string>
 <string name="glucose_value">Уровень ГК</string>
 <string name="info">Инфо</string>
 <string name="devicespecific">Настройте конкретное устройство</string>
 <string name="dozeupdate">Обновление в режиме ожидания</string>
 <string name="refresh">Обновление</string>
 <string name="sendqueue">Отправка на часы</string>
 <string name="reinit">Обновить</string>
 <string name="watchappinstalled">Установлено приложение для часов</string>
 <string name="error">Ошибка</string>
 <string name="additem">Добавить</string>
 <string name="round">"Округлить "</string>
 <string name="repeat">Повторить</string>
 <string name="ingredient">Ингредиенты</string>
 <string name="select">Выбрать</string>
 <string name="carbohydrate">Углеводы: </string>
 <string name="carbo">Углевод.</string>
 <string name="total">Итого: </string>
 <string name="mealtotal">Всего приемов пищи: </string>
 <string name="quantity">кол-во</string>
 <string name="per">" на "</string>
 <string name="specifyingredient">Укажите ингредиент</string>
 <string name="specifyhowmuch">Укажите количество</string>
 <string name="define">Опред.</string>
 <string name="edit">Изменить</string>
 <string name="name">Название:</string>
 <string name="carbperunit">Углевод./ед:</string>
 <string name="database">База данных</string>
 <string name="search">Найти</string>
 <string name="trace">Отследить</string>
 <string name="unknown">Неизвестно</string>
 <string name="showzero">Показывать ноль</string>
 <string name="compositionof100gram">Состав на 100 гр</string>
 <string name="status">Статус</string>
 <string name="config">Настроить</string>
 <string name="initwatchapp">Запуск приложения на часах</string>
 <string name="directconnection">Прямое соединение датчика с часами</string>
 <string name="nowatchesfound">Часы не найдены</string>
 <string name="getkerfstok">Установите Kerfstok</string>
 <string name="mealname">Еда</string>
 <string name="deletequestion">Удалить?</string>
 <string name="soundname">Звук</string>
 <string name="play">Play</string>
 <string name="defaultname">Стандарт.</string>
 <string name="flash">Вспышка</string>
 <string name="permission">Разрешение</string>
 <string name="shortcut">Горячие клавиши</string>
 <string name="value">Значение</string>
 <string name="nextpage">След. стр.</string>
 <string name="ips">IPs:</string>
 <string name="port">Порт</string>
 <string name="saved">"сохранено"</string>
 <string name="savefailed">Сбой при сохранении</string>
 <string name="notsaved">Не сохранено</string>
 <string name="failedbyexception">Сбой из-за исключения</string>
 <string name="nodata">Нет данных</string>
 <string name="addsensorenddate">Введите дату окончания работы датчика</string>
 <string name="enddatesensor">"Дата окончания работы датчика "</string>
 <string name="open">Открыть</string>
 <string name="withoutsensor">Без датчика</string>
 <string name="wronglibrary">Работа библиотеки нарушена, используйте другую</string>
 <string name="installedlibrary">Установка библиотеки</string>
 <string name="cantextract">Невозможно извлечь %s, попробуйте другой apk</string>
 <string name="connectwithsensor">Соединение с датчиком</string>
 <string name="exchangedata">Обмен данных</string>
 <string name="nonewvalue">"Нет показаний. Послед. ГК в "</string>
 <string name="lowglucose">" Низкий ГК!"</string>
 <string name="highglucose">" Высокий ГК!"</string>
 <string name="sendto">Отправить на</string>
 <string name="resenddata">Повторить отправку данных</string>
 <string name="minimum">Минимум</string>
 <string name="minuteddeactivated">Отложить тревогу (мин):</string>
 <string name="duractionsec">Продолжительность (сек):</string>
 <string name="duraction">Продолжительность:</string>
 <string name="sec">сек</string>
 <string name="lowglucoseshort">" Низкий ГК!"</string>
 <string name="highglucoseshort">" Высокий ГК!"</string>
 <string name="notentered">" не введено"</string>
 <string name="spacedand">" и "</string>
    <string name="disturb">Беспокоить</string>
    <string name="uselibreview">Использовать Libreview</string>
    <string name="libreviewname">Libreview</string>
    <string name="sendnow">Отправить сейчас</string>
    <string name="blueormirror">Нужно вкл. "Сенсор по bluetooth" или настроить устройство-Mirror</string>
    <string name="vibrationname">Вибрация</string>
    <string name="high_priority">Приоритет</string>
    <string name="darkmode">Темн. тема</string>
    <string name="multiply">Умножить на:</string>
    <string name="rapidinsulin">Инсулин короткий</string>
 <string name="longinsulin">Инсулин длительный</string>
    <string name="comments">Комментарии</string>
 <string name="dontsend">Не отправлять</string>
 <string name="sendamounts">Отправить результаты</string>
 <string name="resendquestion">Повторить отправку данных?</string>
 <string name="resendmessage">Внимание! Не дублируйте данные при отправке в Libreview.</string>
 <string name="getaccountidquestion">Получить ID учетной записи из Libreview?</string>
 <string name="getaccountidmessage">ID учетной записи нужен для Libre 3, активированной с помощью Abbotts Libre3 в Вашей учетной записи Libreview.</string>
 <string name="deleteconnection">Удалить соединение?</string>
 <string name="wakelock">Пробудить датчик</string>
 <string name="wifi">Wifi</string>
 <string name="heartrate">Сердцебиение ЧСС</string>
 <string name="xdripbroadcast">Отправка xDrip</string>
 <string name="sensorpermission">Необходимо разрешение для отображения частоты сердечных сокращений</string>
 <string name="sensorpermissionmessage">Перейдите в Настройки- Приложения- Разрешения- Juggluco</string>
 <string name="floatglucose">Оверлей с ГК</string>
 <string name="floatglucoseshort">@string/Оверлей с ГК</string>

 <string name="fontsize">Размер шрифта</string>
 <string name="fonttoolarge">Слишком большой шрифт: max=</string>
 <string name="foreground">Перед.фон</string>
 <string name="background">Задний фон</string>
 <string name="backgroundshort">З.фон</string>

 <string name="transparent">Прозрачный</string>
 <string name="touchable">Сенсорный</string>

 <string name="overlaypermission">Разрешить:</string>
 <string name="overlaypermissionmessage">adb shell pm grant tk.glucodata android.permission.SYSTEM_ALERT_WINDOW</string>
 <string name="deletereminder">Удалить напоминание?</string>
 <string name="deletelabel">Удалить метку?</string>

 <string name="finish">Завершить</string>
 <string name="finishsensormessage">Прекратить использ. датчик для поток. передачи?</string>

 <string name="email">E-Mail:</string>
 <string name="getaccountid">Получить ID учетной записи</string>

 <string name="emailaddresstooshort">Слишком короткий E-Mail </string>
 <string name="emailaddresstoolong">Слишком длинный E-Mail </string>
 <string name="password8">Пароль должен быть не менее 8 символов </string>
 <string name="password36">Пароль не должен превышать 36 символов </string>
 <string name="fromlibreview">Из Libreview</string>
 <string name="manual">Вручную</string>
<string name="noaccountidspecified">"Не указан ID "</string>
<string name="wrongformat">"Недопустимый формат "</string>
<string name="noapplisteningto">"Ни одно приложение не прослушивает "</string>
<string name="secret">api_secret</string>
<string name="withoutsaving">Закрыть без сохранения?</string>
<string name="active">Активно</string>
<string name="usessl">Использ. SSL</string>
<string name="fullchain">Полная цепочка</string>

    <string name="privatekey">Приватный ключ</string>
<string name="localonly">Только локальный</string>
<string name="toolongsecret">: api_secret слишком большой. max=</string>
<string name="invalidport">" неверный номер порта"</string>
<string name="newsecret">"новый api_secret: "</string>
<string name="newport">"новый порт ="</string>
<string name="webserver">Веб-сервер</string>
<string name="treatments">Задать значение</string>
<string name="android13">Android</string>
    <string name="wentwrong">Что-то пошло не так</string>
    <string name="dosis">" дозировка "</string>
    <string name="doses">" дозы "</string>
 <string name="penfailed">Ошибка при считывании показаний инсулин. ручки. Попробуйте снова.</string>
 <string name="changeinsulin">"Изменить инсулин на "</string>
    <string name="type">"Тип: "</string>
    <string name="dosesprior">Добавление доз только после:</string>
    <string name="modify">Изменить</string>
    <string name="notsynced">Не синх.</string>
 <string name="lossdata">Возврат к стандарт. настр. может привести к потере данных.</string>
 <string name="defaults">Стандарт.</string>
    <string name="notify">Оповещение</string>
 <string name="separate">Отдельно</string>
    <string name="librecurrent">Сразу</string>
    <string name="USE_ALARM">Тревога - тревога</string>
    <string name="speed">Скорость</string>
 <string name="pitch">Подача</string>
 <string name="talker">Озвучивать</string>
 <string name="secondsbetween">Интервал (сек)</string>
 <string name="test">Тест</string>
 <string name="streamhistory">История Bluetooth</string>
 <string name="libreisviewed">Отчет о просмотр.</string>
 <string name="novalue">Нет значений</string>
 <string name="talk">Озвучивать</string>
    <string name="watch">Часы</string>
 <string name="menus">Меню</string>
 <string name="system_ui">Системный UI</string>
 <string name="sensor">Сенсор</string>
 <string name="settings">Настройки</string>
 <string name="aboutname">Справка</string>
 <string name="export">Экспорт</string>
 <string name="mirror">Mirror</string>
 <string name="new_amount">Новое значение</string>
 <string name="list">Список</string>
 <string name="statistics">Статистика</string>
 <string name="floatname">Оверлей</string>
 <string name="last_scan">Послед. скан</string>
    <string name="date">Дата</string>
 <string name="day_back">День назад</string>
 <string name="day_later">День вперед</string>
 <string name="week_back">Неделя назад</string>
 <string name="week_later">Неделя вперед</string>
 <string name="talk_touch">Озвуч. при касании</string>
 <string name="speakmessages">Озвуч. сообщения</string>
 <string name="speakalarms">Озвуч. тревоги</string>
 <string name="speakglucose">Озвуч. ГК</string>
    <string name="notfound">Не найден</string>
 <string name="no_ringtone_picker_found">Программа для выбора мелодии не найдена</string>
 <string name="can_t_play">"Нельзя воспроизвести "</string>
 <string name="seconds">" сек"</string>
 <string name="duration_can_t_be_negative">"Продолжительность не может быть отрицательной: "</string>
 <string name="too_large_maximum_65535">" большое значение, maximum=65535, "</string>
 <string name="too_large">" большое значение"</string>
 <string name="can_t_use_specification">Спецификация недоступна</string>
 <string name="turn_on_nearby_devices_permission">Вкл. разрешение УСТРОЙСТВА ПОБЛИЗОСТИ</string>
    <string name="enable_bluetooth">Вкл. Bluetooth</string>
 <string name="turn_on_location_permission">Вкл. разрешение на опред. местоположения</string>
 <string name="bluetooth_is_turned_off">Bluetooth выключен</string>
 <string name="allsentnoreceive">Функцию  \"Получить от\" нужно отключить, когда всё отправлено на хост.</string>
 <string name="nomirrorport">Номер порта и номер mirror должны отличаться</string>
 <string name="nohttpport">Номер порта должен отличаться от http-порта</string>
<string name="ready_in">" готов через "</string>
<string name="ready_for_use">Сенсор готов к использованию</string>
<string name="endstime">" конец работы"</string>
<string name="triednothing">Не проверено</string>
<string name="success">Успешно</string>
<string name="resendwarning">Все данные отправятся повторно, это займет время и может иметь последствия для Libreview и Kerfstok.</string>
<string name="parseip">Ошибка при обработке IP-адреса</string>
<string name="toomanyhosts">Превышено макс. кол-во хостов</string>
<string name="senthosts">Juggluco отправляет макс. 6 хостам</string>
    <string name="hostname">Имя хоста</string>
   <string name="clampnow">Захват</string>
    <string name="sendfrom">"Отправить из: "</string>
 <string name="changestartbutton">Начать заново</string>
 <string name="floatjuggluco">Поверх</string>
 <string name="uploader">Загрузчик</string>
 <string name="sibionics">Sibionics</string>
 <string name="mmolL">ммоль/л</string>
 <string name="mgdL">мг/дл</string>
 <string name="interval">Интервал</string>
 <string name="off">Выкл</string>
 <string name="streamingenabled">" Поток. передача данных вкл."</string>
 <string name="streamingnotenabled">" Поток. передача данных выкл."</string>
</resources>

rujugglucotext.cpp:

#include "jugglucotext.h"
#ifndef WEAROS
constexpr static std::string_view labels[]= {
"Корот.",
"Углев",
"Декст",
"Длит. ",
"Велик",
"Прогу",
"Кровь"};
constexpr static Shortcut_t  shortinit[]= { {"Хлеб",
        .48},
        {"Булка",
        .56f},
        {"Булки",
        .595f},
        {"Виног",
        .165f},
        {"Йогур",
        .058f},
        {"Рис",
        .75f},
        {"Макар ",
        .65f},
        {"Томат ",
        .03f},
        {"Смесь ",
        .078f},
        {"Сок ап",
        .109f},
        {"Проте ",
        .873f},
        {"Смесь ",
        .07f},
        {"Гриб ",
        .07300000f}};
#endif

static jugglucotext rutext {
    .daylabel={"Вс",
    "Пн",
    "Вт",
    "Ср",
    "Чт",
    "Пт",
    "Сб"},
.speakdaylabel={ "Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"},
    .monthlabel={
      "Янв",
      "Фев",
      "Мар",
      "Апр",
      "Май"      ,             
      "Июн",
       "Июл",
       "Авг",
       "Сен",
      "Окт",
      "Ноя",
      "Дек"},

    .scanned="Сканирование",
    .readysecEnable="Датчик будет готов через %d мин. Сканируйте повторно для запуска.",
    .readysec="Датчик будет готов через %d мин",
.networkproblem="Нет показаний от Mirror",
.enablebluetooth="Вкл. Bluetooth",
.useBluetoothOff="'Bluetooth' выкл.",
.noconnectionerror=": Нет соединения",
.stsensorerror=": Сбой датчика",
.streplacesensor=": Заменить датчик?",
.endedformat="%s прекратил работу. статус=%d",
.notreadyformat="%s не готов. статус=%d",
#ifndef WEAROS
    .median="Медиана",
    .middle="Средний",
#endif
    .history="История",
//  .historyinfo="Каждые 15 мин.\nСохранить на датчике на 8 ч.\nСканирование переносит в эту программу.\nДатчик: ", 
//  .history3info="Каждые 5 мин.\nСохранить на датчике на 14 д.\nПередать в программу по Bluetooth.\nДатчик: ",
    .sensorstarted= "Запуск:",
    .lastscanned="Послед.скан.:",
    .laststream="Послед.данные:",
    .sensorends="Официально конец: ",
    .sensorexpectedend="Ожидаемо конец: ",
#ifndef WEAROS
    .newamount="Новое значение",
    .averageglucose="Средний ГК: ",
    .duration="Продолжительность: %.1f дней",
    .timeactive="%.1f%% активного времени",
    .nrmeasurement="Кол-во измерений: %d",
    .EstimatedA1C="Измерение A1C в: %.1f%% (%d mmol/mol)",
    .GMI="Индикатор контроля ГК: %.1f%% (%d mmol/mol)",
    .SD="SD: %.2f",
    .glucose_variability="Вариабельность ГК: %.1f%%",
     .menustr0={
        "Системный UI        ",
        "Меню",
        "Часы",
        "Датчик",
        "Настройки",

#if defined(SIBIONICS)
        "Sibionics",
#else
        "Справка",
#endif

        "Закрыть",
        "Откл. тревогу"
        },
    .menustr1={
        "Экспорт",
        "Mirror",
        rutext.newamount,
        "Список", 
        "Статистика",
        "Озвучивать",
        "Оверлей        "
        },
    .menustr2= {"Послед. скан",
    "Сканирование        ",
    "Поток. данные",
    "История",
    "Кол-во",
    "Еда",
    "Темн. тема        "},
    .menustr3= {hourminstr,
    "Найти",
    "Дата",
    "День назад",
    "День вперед",
    "Неделя назад",
    "Неделя вперед"},
#else
 .amount="Значение",
 .menustr0= {
    "Mirror",
    "Датчик",
    "    Темн. тема      ",
        "Настройки",
    "Откл. тревогу" },
.menustr2= {"Дата  ",
hourminstr,
"День назад                ",
rutext.amount},
#endif

    .scanerrors={
        {"Ошибка при сканировании (%d)",
            "Попробуйте снова"},
        {"Ошибка при установке",
            "?"},
        {"Ошибка при обработке данных",
            "Попробуйте снова"},
        {"Запуск датчика",
            ""},
        {"Срок службы датчика истек",
            ""},

        {"Датчик готов через",
            "%d мин"},
        {"Сбой датчика (373)",
            "Попробуйте позже"},
        {"Новый датчик запущен",
            "Сканируйте повторно для запуска"},
        {"",
            "Блокировать касания во время скана"},
        {"",
            ""},
        {"Ошибка инициализации библиотеки",
            "Нет общих библиотек?"},
        {"Ошибка инициализации класса",
            "Предпринять"},
        {"Процедура занимает много времени",
            "Закрыть программу"},
        {"Замените датчик (365)",
            "Датчик неисправен. Пожалуйста, замените датчик и запустите новый."},
        {"Замените датчик (368)",
            "Датчик неисправен. Пожалуйста, замените датчик и запустите новый."},
        {"",
            ""},
        {"Ошибка при сканировании",
            "Попробуйте снова"}},

.libre3scanerror={"FreeStyle Libre 3, Ошибка скана", 
    "Попробуйте снова"},
.libre3wrongID={"Ошибка, неверный ID?",
    "Перейти в Настройки->Libreview та же учетная запись, что использовалась  для запуска датчика"},
.libre3scansuccess= {"FreeStyle Libre 3 датчик", 
    "Теперь Juggluco получает показания ГК"},
.unknownNFC={"Нераспознанная ошибка скана по NFC", 
    "Попробуйте снова"},
.nolibre3={"FreeStyle Libre 3 датчик",
    "Скачать правильную версию на https://www.juggluco.nl/download.html"},
#ifndef WEAROS
    .advancedstart= R"(<h1>Модифицированное устройство</h1>
<p>В одной из библиотек, используемых этим приложением, есть ошибка, которая приводит
к сбою при обнаружении определенных файлов. Ваше устройство содержит 
некоторые из этих файлов. Эта программа помогает обойти ошибку, но,
 вероятно, лучше сделать эти файлы необнаруживаемыми каким-либо другим
способом. Например, Magisk, позволяет скрыть root для определенных
приложений (Magisk hide или Denylist) и изменить собственное имя, все это  
необходимо. В Вашем случае возникли проблемы со следующим файлом)",
    .add_s=true,
.shortinit=shortinit,
.labels=labels,
.checked="проверено",
.unchecked="не проверено",
.Undetermined="",
.FallingQuickly="Быстрое снижение",
.Falling="Снижение",
.Stable="Колебания ГК медленные",
.Rising="Рост",
.RisingQuickly="Быстрый рост",
#endif
.receivingpastvalues="Получение старых показаний"

        }

        ;

#include "logs.h"
extern void setuseru();
void setuseru() {
LOGAR("Установить рус");
 usedtext= &rutext;
 }
j-kaltes commented 2 months ago

tI have put you translation in Juggluco and modified the following: • Some of the strings for labels and shortcuts in rujugglucotext.cpp were longer than 12 bytes and have been replaced with the original version. • Some modifications are made in response to the reaction of Артем Васильев to your translation; • What I already said earlier.