From 162376cc4761a6ccfbc25c342702938d48d60b62 Mon Sep 17 00:00:00 2001 From: Janez T Date: Sat, 7 Mar 2026 20:05:31 +0100 Subject: [PATCH] Add ITSAppUsesNonExemptEncryption --- ios/Runner/Info.plist | 2 ++ lib/l10n/app_localizations.dart | 5 ++++ lib/l10n/app_localizations_ru.dart | 38 ++++++++++++++-------------- lib/l10n/app_ru.arb | 4 +-- lib/services/locale_preferences.dart | 5 ++++ macos/Runner/Info.plist | 2 ++ 6 files changed, 35 insertions(+), 21 deletions(-) diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index e36755b..a371671 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -46,6 +46,8 @@ 100 LSRequiresIPhoneOS + ITSAppUsesNonExemptEncryption + NSBluetoothAlwaysUsageDescription MeshCore SAR needs Bluetooth to communicate with MeshCore devices for Search & Rescue operations NSBluetoothPeripheralUsageDescription diff --git a/lib/l10n/app_localizations.dart b/lib/l10n/app_localizations.dart index e55d45c..9293777 100644 --- a/lib/l10n/app_localizations.dart +++ b/lib/l10n/app_localizations.dart @@ -12,6 +12,7 @@ import 'app_localizations_es.dart'; import 'app_localizations_fr.dart'; import 'app_localizations_hr.dart'; import 'app_localizations_it.dart'; +import 'app_localizations_ru.dart'; import 'app_localizations_sl.dart'; import 'app_localizations_zh.dart'; @@ -108,6 +109,7 @@ abstract class AppLocalizations { Locale('fr'), Locale('hr'), Locale('it'), + Locale('ru'), Locale('sl'), Locale('zh'), ]; @@ -4226,6 +4228,7 @@ class _AppLocalizationsDelegate 'fr', 'hr', 'it', + 'ru', 'sl', 'zh', ].contains(locale.languageCode); @@ -4251,6 +4254,8 @@ AppLocalizations lookupAppLocalizations(Locale locale) { return AppLocalizationsHr(); case 'it': return AppLocalizationsIt(); + case 'ru': + return AppLocalizationsRu(); case 'sl': return AppLocalizationsSl(); case 'zh': diff --git a/lib/l10n/app_localizations_ru.dart b/lib/l10n/app_localizations_ru.dart index a4380cd..61fdfd6 100644 --- a/lib/l10n/app_localizations_ru.dart +++ b/lib/l10n/app_localizations_ru.dart @@ -169,9 +169,6 @@ class AppLocalizationsRu extends AppLocalizations { @override String get italian => 'Итальянский'; - - @override - String get russian => 'Русский'; @override String get locationBroadcasting => 'Трансляция местоположения'; @@ -588,18 +585,19 @@ class AppLocalizationsRu extends AppLocalizations { @override String accuracyMeters(int accuracy) { - return 'Точность: ±${accuracy}м'; + return 'Точность: ±$accuracyм'; } @override String get notesOptional => 'Заметки (необязательно)'; @override - String get addAdditionalInformation => 'Добавьте дополнительную информацию...'; + String get addAdditionalInformation => + 'Добавьте дополнительную информацию...'; @override String lowAccuracyWarning(int accuracy) { - return 'Точность геолокации: ±${accuracy}м. Этого может быть недостаточно для операций SAR.\n\nПродолжить всё равно?'; + return 'Точность геолокации: ±$accuracyм. Этого может быть недостаточно для операций SAR.\n\nПродолжить всё равно?'; } @override @@ -1057,7 +1055,8 @@ class AppLocalizationsRu extends AppLocalizations { String get sarAlert => 'ТРЕВОГА SAR'; @override - String get messageSentToPublicChannel => 'Сообщение отправлено в публичный канал'; + String get messageSentToPublicChannel => + 'Сообщение отправлено в публичный канал'; @override String get pleaseSelectRoomToSendSar => @@ -1074,7 +1073,8 @@ class AppLocalizationsRu extends AppLocalizations { } @override - String get notConnectedCannotSync => 'Нет подключения — синхронизация невозможна'; + String get notConnectedCannotSync => + 'Нет подключения — синхронизация невозможна'; @override String syncedMessageCount(int count) { @@ -1160,22 +1160,22 @@ class AppLocalizationsRu extends AppLocalizations { @override String minutesAgo(int minutes) { - return '${minutes}м назад'; + return '$minutesм назад'; } @override String hoursAgo(int hours) { - return '${hours}ч назад'; + return '$hoursч назад'; } @override String daysAgo(int days) { - return '${days}д назад'; + return '$daysд назад'; } @override String secondsAgo(int seconds) { - return '${seconds}с назад'; + return '$secondsс назад'; } @override @@ -1189,7 +1189,7 @@ class AppLocalizationsRu extends AppLocalizations { @override String deliveredWithTime(int time) { - return 'Доставлено (${time}мс)'; + return 'Доставлено ($timeмс)'; } @override @@ -1515,7 +1515,8 @@ class AppLocalizationsRu extends AppLocalizations { String get nameBroadcastInMesh => 'Имя, транслируемое в mesh-объявлениях'; @override - String get telemetryAndLocationSharing => 'Телеметрия и передача местоположения'; + String get telemetryAndLocationSharing => + 'Телеметрия и передача местоположения'; @override String get lat => 'Ш'; @@ -1796,7 +1797,8 @@ class AppLocalizationsRu extends AppLocalizations { String get sampleObjectBackpack => ' Найден рюкзак синего цвета'; @override - String get sampleObjectVehicle => ' Брошенный автомобиль — установить владельца'; + String get sampleObjectVehicle => + ' Брошенный автомобиль — установить владельца'; @override String get sampleObjectCamping => ' Обнаружено туристическое снаряжение'; @@ -2200,8 +2202,7 @@ class AppLocalizationsRu extends AppLocalizations { 'Транслируйте сообщения всем участникам канала — идеально для общих объявлений и координации команды.'; @override - String get wizardChannelFeature1 => - 'Публичный канал для общей связи команды'; + String get wizardChannelFeature1 => 'Публичный канал для общей связи команды'; @override String get wizardChannelFeature2 => @@ -2244,8 +2245,7 @@ class AppLocalizationsRu extends AppLocalizations { 'GPS-отслеживание членов команды в реальном времени'; @override - String get wizardMapFeature3 => - 'Загрузка офлайн-карт для отдалённых районов'; + String get wizardMapFeature3 => 'Загрузка офлайн-карт для отдалённых районов'; @override String get wizardMapFeature4 => diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb index 1fbe23c..00f4318 100644 --- a/lib/l10n/app_ru.arb +++ b/lib/l10n/app_ru.arb @@ -128,7 +128,7 @@ "clearAllDrawings": "Удалить все рисунки", "completeLine": "Завершить линию", "broadcastDrawingsToTeam": "Транслировать {count} рисун{plural} команде", - "removeAllDrawings": "Удалить все {count} рисун{plural}" + "removeAllDrawings": "Удалить все {count} рисун{plural}", "deleteAllDrawingsConfirm": "Удалить все {count} рисун{plural} с карты?", "drawing": "Рисунок", "shareDrawingsCount": "Поделиться {count} рисун{plural}", @@ -682,4 +682,4 @@ "cannotRetryMissingRecipient": "Повтор невозможен: нет информации о получателе", "voiceUnavailable": "Голос сейчас недоступен", "requestingVoice": "Запрос голоса" -} \ No newline at end of file +} diff --git a/lib/services/locale_preferences.dart b/lib/services/locale_preferences.dart index cf98b88..273ac0e 100644 --- a/lib/services/locale_preferences.dart +++ b/lib/services/locale_preferences.dart @@ -15,6 +15,7 @@ class LocalePreferences { Locale('fr'), // French Locale('it'), // Italian Locale('el'), // Greek + Locale('ru'), // Russian Locale('zh'), // Chinese ]; @@ -65,6 +66,8 @@ class LocalePreferences { return 'Italiano'; case 'el': return 'Greek'; + case 'ru': + return 'Русский'; case 'zh': return '简体中文'; default: @@ -91,6 +94,8 @@ class LocalePreferences { return 'Italiano'; case 'el': return 'Ελληνικά'; + case 'ru': + return 'Русский'; case 'zh': return '简体中文'; default: diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist index 804f8b8..f445a62 100644 --- a/macos/Runner/Info.plist +++ b/macos/Runner/Info.plist @@ -20,6 +20,8 @@ $(FLUTTER_BUILD_NAME) CFBundleVersion $(FLUTTER_BUILD_NUMBER) + ITSAppUsesNonExemptEncryption + LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) NSHumanReadableCopyright