Files
OpenParcelBox/mobile-app/app/lib/app_strings.dart
T
2026-07-16 17:36:28 +02:00

158 lines
5.9 KiB
Dart

import 'package:flutter/widgets.dart';
class AppStrings {
AppStrings(this.locale);
final Locale locale;
bool get isFrench => locale.languageCode == 'fr';
String text(String key) => (_values[key] ?? const <String, String>{})[
isFrench ? 'fr' : 'en'] ??
key;
static const Map<String, Map<String, String>> _values =
<String, Map<String, String>>{
'add_box': {
'fr': 'Ajouter une nouvelle OpenParcelBox',
'en': 'Add a new OpenParcelBox',
},
'restore_backup': {
'fr': 'Restaurer une sauvegarde',
'en': 'Restore a backup',
},
'open': {'fr': 'Ouvrir', 'en': 'Open'},
'history': {'fr': 'Historique', 'en': 'History'},
'permanent_codes': {
'fr': 'Codes permanents',
'en': 'Permanent codes',
},
'temporary_codes': {
'fr': 'Codes temporaires',
'en': 'Temporary codes',
},
'nfc_tags': {'fr': 'Tags NFC', 'en': 'NFC tags'},
'guests': {'fr': 'Invités', 'en': 'Guests'},
'settings': {'fr': 'Paramètres', 'en': 'Settings'},
'close': {'fr': 'Fermer', 'en': 'Close'},
'add': {'fr': 'Ajouter', 'en': 'Add'},
'delete': {'fr': 'Supprimer', 'en': 'Delete'},
'edit': {'fr': 'Modifier', 'en': 'Edit'},
'cancel': {'fr': 'Annuler', 'en': 'Cancel'},
'save': {'fr': 'Enregistrer', 'en': 'Save'},
'scan': {'fr': 'Scanner', 'en': 'Scan'},
'scan_qr': {
'fr': 'Scanner un QR code invité',
'en': 'Scan a guest QR code',
},
'box_name': {
'fr': 'Identifiant de la box',
'en': 'Box identifier',
},
'nearby_boxes': {
'fr': 'OpenParcelBox détectées',
'en': 'Detected OpenParcelBox devices',
},
'search': {'fr': 'Rechercher', 'en': 'Search'},
'no_results': {
'fr': 'Aucune OpenParcelBox détectée.',
'en': 'No OpenParcelBox detected.',
},
'connected': {'fr': 'Connectée', 'en': 'Connected'},
'disconnected': {'fr': 'Déconnectée', 'en': 'Disconnected'},
'connecting': {'fr': 'Connexion…', 'en': 'Connecting…'},
'no_code': {'fr': 'Aucun code.', 'en': 'No code.'},
'new_code': {'fr': 'Générer un code', 'en': 'Generate a code'},
'code_limit': {
'fr': 'La limite de codes est atteinte.',
'en': 'The code limit has been reached.',
},
'no_history': {
'fr': 'Aucune ouverture enregistrée.',
'en': 'No opening has been recorded.',
},
'opened_by_permanent': {
'fr': 'Code permanent',
'en': 'Permanent code',
},
'opened_by_temporary': {
'fr': 'Code temporaire',
'en': 'Temporary code',
},
'opened_by_nfc': {'fr': 'Tag NFC', 'en': 'NFC tag'},
'opened_by_app': {'fr': 'Application', 'en': 'Application'},
'tag_name': {'fr': 'Nom du tag', 'en': 'Tag name'},
'tag_uid': {'fr': 'UID du tag', 'en': 'Tag UID'},
'scan_phone_nfc': {
'fr': 'Scanner avec le téléphone',
'en': 'Scan with phone',
},
'pair_on_box': {
'fr': 'Appairer sur la box',
'en': 'Pair on the box',
},
'manual_uid': {'fr': 'Ajouter un UID', 'en': 'Add a UID'},
'nfc_unavailable': {
'fr': 'Le NFC est indisponible sur ce téléphone.',
'en': 'NFC is unavailable on this phone.',
},
'hold_tag': {
'fr': 'Approchez un tag NFC du téléphone…',
'en': 'Hold an NFC tag near the phone…',
},
'guest_name': {'fr': "Nom de l'invité", 'en': 'Guest name'},
'show_qr': {'fr': 'Voir le QR code', 'en': 'Show QR code'},
'no_guest': {'fr': 'Aucun invité.', 'en': 'No guest.'},
'language': {'fr': 'Langue', 'en': 'Language'},
'automatic': {'fr': 'Automatique', 'en': 'Automatic'},
'french': {'fr': 'Français', 'en': 'French'},
'english': {'fr': 'Anglais', 'en': 'English'},
'backup': {
'fr': "Sauvegarder les paramètres de l'app",
'en': 'Back up app settings',
},
'backup_location': {
'fr': "Choisir l'emplacement de sauvegarde",
'en': 'Choose backup location',
},
'restore': {
'fr': 'Restaurer une sauvegarde',
'en': 'Restore a backup',
},
'password': {'fr': 'Mot de passe', 'en': 'Password'},
'firmware_update': {
'fr': 'Mise à jour du firmware (à venir)',
'en': 'Firmware update (coming later)',
},
'factory_reset': {
'fr': "Réinitialiser la box",
'en': 'Factory-reset the box',
},
'forget_box': {'fr': 'Supprimer la box', 'en': 'Forget the box'},
'danger': {'fr': 'Danger', 'en': 'Danger'},
'factory_warning': {
'fr':
"Cette action supprime tous les paramètres de la box et autorise l'appairage d'un nouvel administrateur.",
'en':
'This deletes every setting on the box and allows a new administrator to pair.',
},
'forget_warning': {
'fr':
"Seules les informations de l'application seront supprimées. Les paramètres de la box restent inchangés et un administrateur peut perdre définitivement l'accès.",
'en':
'Only app information will be deleted. Box settings remain unchanged and an administrator may permanently lose access.',
},
'confirm': {'fr': 'Confirmer', 'en': 'Confirm'},
'administrator': {'fr': 'Administrateur', 'en': 'Administrator'},
'guest': {'fr': 'Invité', 'en': 'Guest'},
'backup_done': {
'fr': 'Sauvegarde chiffrée créée.',
'en': 'Encrypted backup created.',
},
'restore_done': {
'fr': 'Sauvegarde restaurée.',
'en': 'Backup restored.',
},
};
}