Proximity alerts localizations

This commit is contained in:
stopflock
2025-09-30 09:14:21 -05:00
parent d397610121
commit e79790c30d
8 changed files with 109 additions and 14 deletions
+13
View File
@@ -45,6 +45,19 @@
"advancedSettingsSubtitle": "Leistungs-, Warnungs- und Kachelanbieter-Einstellungen",
"proximityAlerts": "Näherungswarnungen"
},
"proximityAlerts": {
"getNotified": "Benachrichtigung erhalten beim Annähern an Überwachungsgeräte",
"batteryUsage": "Verbraucht zusätzlich Batterie für kontinuierliche Standortüberwachung",
"notificationsEnabled": "✓ Benachrichtigungen aktiviert",
"notificationsDisabled": "⚠ Benachrichtigungen deaktiviert",
"permissionRequired": "Benachrichtigungsberechtigung erforderlich",
"permissionExplanation": "Push-Benachrichtigungen sind deaktiviert. Sie sehen nur In-App-Warnungen und werden nicht benachrichtigt, wenn die App im Hintergrund läuft.",
"enableNotifications": "Benachrichtigungen Aktivieren",
"checkingPermissions": "Berechtigungen prüfen...",
"alertDistance": "Warnentfernung: ",
"meters": "Meter",
"rangeInfo": "Bereich: {}-{} Meter (Standard: {})"
},
"node": {
"title": "Knoten #{}",
"tagSheetTitle": "Gerät-Tags",
+13
View File
@@ -45,6 +45,19 @@
"advancedSettingsSubtitle": "Performance, alerts, and tile provider settings",
"proximityAlerts": "Proximity Alerts"
},
"proximityAlerts": {
"getNotified": "Get notified when approaching surveillance devices",
"batteryUsage": "Uses extra battery for continuous location monitoring",
"notificationsEnabled": "✓ Notifications enabled",
"notificationsDisabled": "⚠ Notifications disabled",
"permissionRequired": "Notification permission required",
"permissionExplanation": "Push notifications are disabled. You'll only see in-app alerts and won't be notified when the app is in background.",
"enableNotifications": "Enable Notifications",
"checkingPermissions": "Checking permissions...",
"alertDistance": "Alert distance: ",
"meters": "meters",
"rangeInfo": "Range: {}-{} meters (default: {})"
},
"node": {
"title": "Node #{}",
"tagSheetTitle": "Surveillance Device Tags",
+13
View File
@@ -45,6 +45,19 @@
"advancedSettingsSubtitle": "Configuración de rendimiento, alertas y proveedores de teselas",
"proximityAlerts": "Alertas de Proximidad"
},
"proximityAlerts": {
"getNotified": "Recibe notificaciones al acercarte a dispositivos de vigilancia",
"batteryUsage": "Usa batería extra para monitoreo continuo de ubicación",
"notificationsEnabled": "✓ Notificaciones habilitadas",
"notificationsDisabled": "⚠ Notificaciones deshabilitadas",
"permissionRequired": "Permiso de notificación requerido",
"permissionExplanation": "Las notificaciones push están deshabilitadas. Solo verás alertas dentro de la app y no serás notificado cuando la app esté en segundo plano.",
"enableNotifications": "Habilitar Notificaciones",
"checkingPermissions": "Verificando permisos...",
"alertDistance": "Distancia de alerta: ",
"meters": "metros",
"rangeInfo": "Rango: {}-{} metros (predeterminado: {})"
},
"node": {
"title": "Nodo #{}",
"tagSheetTitle": "Etiquetas del Dispositivo",
+13
View File
@@ -45,6 +45,19 @@
"advancedSettingsSubtitle": "Paramètres de performance, alertes et fournisseurs de tuiles",
"proximityAlerts": "Alertes de Proximité"
},
"proximityAlerts": {
"getNotified": "Recevoir des notifications en s'approchant de dispositifs de surveillance",
"batteryUsage": "Utilise de la batterie supplémentaire pour la surveillance continue de la localisation",
"notificationsEnabled": "✓ Notifications activées",
"notificationsDisabled": "⚠ Notifications désactivées",
"permissionRequired": "Autorisation de notification requise",
"permissionExplanation": "Les notifications push sont désactivées. Vous ne verrez que des alertes dans l'application et ne serez pas notifié lorsque l'application est en arrière-plan.",
"enableNotifications": "Activer les Notifications",
"checkingPermissions": "Vérification des autorisations...",
"alertDistance": "Distance d'alerte : ",
"meters": "mètres",
"rangeInfo": "Plage : {}-{} mètres (par défaut : {})"
},
"node": {
"title": "Nœud #{}",
"tagSheetTitle": "Balises du Dispositif",
+13
View File
@@ -45,6 +45,19 @@
"advancedSettingsSubtitle": "Impostazioni di prestazioni, avvisi e fornitori di tessere",
"proximityAlerts": "Avvisi di Prossimità"
},
"proximityAlerts": {
"getNotified": "Ricevi notifiche quando ti avvicini a dispositivi di sorveglianza",
"batteryUsage": "Utilizza batteria extra per il monitoraggio continuo della posizione",
"notificationsEnabled": "✓ Notifiche abilitate",
"notificationsDisabled": "⚠ Notifiche disabilitate",
"permissionRequired": "Autorizzazione notifica richiesta",
"permissionExplanation": "Le notifiche push sono disabilitate. Vedrai solo avvisi nell'app e non sarai notificato quando l'app è in background.",
"enableNotifications": "Abilita Notifiche",
"checkingPermissions": "Controllo autorizzazioni...",
"alertDistance": "Distanza di avviso: ",
"meters": "metri",
"rangeInfo": "Intervallo: {}-{} metri (predefinito: {})"
},
"node": {
"title": "Nodo #{}",
"tagSheetTitle": "Tag Dispositivo di Sorveglianza",
+13
View File
@@ -45,6 +45,19 @@
"advancedSettingsSubtitle": "Configurações de desempenho, alertas e provedores de mapas",
"proximityAlerts": "Alertas de Proximidade"
},
"proximityAlerts": {
"getNotified": "Receba notificações ao se aproximar de dispositivos de vigilância",
"batteryUsage": "Usa bateria extra para monitoramento contínuo de localização",
"notificationsEnabled": "✓ Notificações habilitadas",
"notificationsDisabled": "⚠ Notificações desabilitadas",
"permissionRequired": "Permissão de notificação necessária",
"permissionExplanation": "Notificações push estão desabilitadas. Você só verá alertas dentro do app e não será notificado quando o app estiver em segundo plano.",
"enableNotifications": "Habilitar Notificações",
"checkingPermissions": "Verificando permissões...",
"alertDistance": "Distância de alerta: ",
"meters": "metros",
"rangeInfo": "Faixa: {}-{} metros (padrão: {})"
},
"node": {
"title": "Nó #{}",
"tagSheetTitle": "Tags do Dispositivo de Vigilância",
+13
View File
@@ -45,6 +45,19 @@
"advancedSettingsSubtitle": "性能、警报和地图提供商设置",
"proximityAlerts": "邻近警报"
},
"proximityAlerts": {
"getNotified": "接近监控设备时接收通知",
"batteryUsage": "使用额外电量进行连续位置监控",
"notificationsEnabled": "✓ 通知已启用",
"notificationsDisabled": "⚠ 通知已禁用",
"permissionRequired": "需要通知权限",
"permissionExplanation": "推送通知已禁用。您只会看到应用内警报,当应用在后台时不会收到通知。",
"enableNotifications": "启用通知",
"checkingPermissions": "检查权限中...",
"alertDistance": "警报距离:",
"meters": "米",
"rangeInfo": "范围:{}-{} 米(默认:{}"
},
"node": {
"title": "节点 #{}",
"tagSheetTitle": "监控设备标签",
@@ -95,10 +95,10 @@ class _ProximityAlertsSectionState extends State<ProximityAlertsSection> {
// Enable/disable toggle
SwitchListTile(
title: const Text('Get notified when approaching surveillance devices'),
title: Text(locService.t('proximityAlerts.getNotified')),
subtitle: Text(
'Uses extra battery for continuous location monitoring\n'
'${_notificationsEnabled ? "✓ Notifications enabled" : "⚠ Notifications disabled"}',
'${locService.t('proximityAlerts.batteryUsage')}\n'
'${_notificationsEnabled ? locService.t('proximityAlerts.notificationsEnabled') : locService.t('proximityAlerts.notificationsDisabled')}',
style: const TextStyle(fontSize: 12),
),
value: appState.proximityAlertsEnabled,
@@ -129,22 +129,22 @@ class _ProximityAlertsSectionState extends State<ProximityAlertsSection> {
children: [
Icon(Icons.notifications_off, color: Colors.orange, size: 20),
const SizedBox(width: 8),
const Text(
'Notification permission required',
style: TextStyle(fontWeight: FontWeight.w600),
Text(
locService.t('proximityAlerts.permissionRequired'),
style: const TextStyle(fontWeight: FontWeight.w600),
),
],
),
const SizedBox(height: 8),
const Text(
'Push notifications are disabled. You\'ll only see in-app alerts and won\'t be notified when the app is in background.',
style: TextStyle(fontSize: 12),
Text(
locService.t('proximityAlerts.permissionExplanation'),
style: const TextStyle(fontSize: 12),
),
const SizedBox(height: 8),
ElevatedButton.icon(
onPressed: _requestNotificationPermissions,
icon: const Icon(Icons.settings, size: 16),
label: const Text('Enable Notifications'),
label: Text(locService.t('proximityAlerts.enableNotifications')),
style: ElevatedButton.styleFrom(
minimumSize: const Size(0, 32),
textStyle: const TextStyle(fontSize: 12),
@@ -166,7 +166,7 @@ class _ProximityAlertsSectionState extends State<ProximityAlertsSection> {
child: CircularProgressIndicator(strokeWidth: 2),
),
SizedBox(width: 8),
Text('Checking permissions...', style: TextStyle(fontSize: 12)),
Text(locService.t('proximityAlerts.checkingPermissions'), style: const TextStyle(fontSize: 12)),
],
),
],
@@ -176,7 +176,7 @@ class _ProximityAlertsSectionState extends State<ProximityAlertsSection> {
const SizedBox(height: 12),
Row(
children: [
const Text('Alert distance: '),
Text(locService.t('proximityAlerts.alertDistance')),
SizedBox(
width: 80,
child: TextField(
@@ -198,12 +198,16 @@ class _ProximityAlertsSectionState extends State<ProximityAlertsSection> {
),
),
const SizedBox(width: 8),
const Text('meters'),
Text(locService.t('proximityAlerts.meters')),
],
),
const SizedBox(height: 8),
Text(
'Range: $kProximityAlertMinDistance-$kProximityAlertMaxDistance meters (default: $kProximityAlertDefaultDistance)',
locService.t('proximityAlerts.rangeInfo', params: [
kProximityAlertMinDistance.toString(),
kProximityAlertMaxDistance.toString(),
kProximityAlertDefaultDistance.toString(),
]),
style: Theme.of(context).textTheme.bodySmall?.copyWith(
color: Theme.of(context).textTheme.bodySmall?.color?.withOpacity(0.6),
),