@tracearr/translations 2.1.0-beta.7 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +4 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.mobile.d.ts +4 -2
- package/dist/config.mobile.d.ts.map +1 -1
- package/dist/locales/af-ZA/common.json +251 -251
- package/dist/locales/af-ZA/mobile.json +125 -125
- package/dist/locales/af-ZA/notifications.json +226 -226
- package/dist/locales/af-ZA/pages.json +69 -67
- package/dist/locales/af-ZA/settings.json +446 -446
- package/dist/locales/ar-SA/common.json +251 -251
- package/dist/locales/ar-SA/mobile.json +125 -125
- package/dist/locales/ar-SA/notifications.json +226 -226
- package/dist/locales/ar-SA/pages.json +69 -67
- package/dist/locales/ar-SA/settings.json +446 -446
- package/dist/locales/ca-ES/common.json +251 -251
- package/dist/locales/ca-ES/mobile.json +125 -125
- package/dist/locales/ca-ES/notifications.json +226 -226
- package/dist/locales/ca-ES/pages.json +69 -67
- package/dist/locales/ca-ES/settings.json +446 -446
- package/dist/locales/cs-CZ/common.json +251 -251
- package/dist/locales/cs-CZ/mobile.json +125 -125
- package/dist/locales/cs-CZ/notifications.json +226 -226
- package/dist/locales/cs-CZ/pages.json +69 -67
- package/dist/locales/cs-CZ/settings.json +446 -446
- package/dist/locales/da-DK/common.json +251 -251
- package/dist/locales/da-DK/mobile.json +125 -125
- package/dist/locales/da-DK/notifications.json +226 -226
- package/dist/locales/da-DK/pages.json +69 -67
- package/dist/locales/da-DK/settings.json +446 -446
- package/dist/locales/de-DE/common.json +251 -251
- package/dist/locales/de-DE/mobile.json +125 -125
- package/dist/locales/de-DE/notifications.json +226 -226
- package/dist/locales/de-DE/pages.json +69 -67
- package/dist/locales/de-DE/settings.json +446 -446
- package/dist/locales/el-GR/common.json +251 -251
- package/dist/locales/el-GR/mobile.json +125 -125
- package/dist/locales/el-GR/notifications.json +226 -226
- package/dist/locales/el-GR/pages.json +69 -67
- package/dist/locales/el-GR/settings.json +446 -446
- package/dist/locales/en/pages.json +2 -1
- package/dist/locales/en-US/common.json +251 -251
- package/dist/locales/en-US/mobile.json +125 -125
- package/dist/locales/en-US/notifications.json +224 -224
- package/dist/locales/en-US/pages.json +57 -55
- package/dist/locales/en-US/settings.json +446 -446
- package/dist/locales/es-ES/common.json +251 -251
- package/dist/locales/es-ES/mobile.json +125 -125
- package/dist/locales/es-ES/notifications.json +226 -226
- package/dist/locales/es-ES/pages.json +69 -67
- package/dist/locales/es-ES/settings.json +446 -446
- package/dist/locales/fi-FI/common.json +251 -251
- package/dist/locales/fi-FI/mobile.json +125 -125
- package/dist/locales/fi-FI/notifications.json +226 -226
- package/dist/locales/fi-FI/pages.json +69 -67
- package/dist/locales/fi-FI/settings.json +446 -446
- package/dist/locales/fr-FR/common.json +251 -251
- package/dist/locales/fr-FR/notifications.json +226 -226
- package/dist/locales/fr-FR/pages.json +69 -67
- package/dist/locales/fr-FR/settings.json +446 -446
- package/dist/locales/he-IL/common.json +251 -251
- package/dist/locales/he-IL/mobile.json +125 -125
- package/dist/locales/he-IL/notifications.json +226 -226
- package/dist/locales/he-IL/pages.json +69 -67
- package/dist/locales/he-IL/settings.json +446 -446
- package/dist/locales/hu-HU/common.json +251 -251
- package/dist/locales/hu-HU/mobile.json +125 -125
- package/dist/locales/hu-HU/notifications.json +226 -226
- package/dist/locales/hu-HU/pages.json +69 -67
- package/dist/locales/hu-HU/settings.json +446 -446
- package/dist/locales/it-IT/common.json +251 -251
- package/dist/locales/it-IT/mobile.json +125 -125
- package/dist/locales/it-IT/notifications.json +226 -226
- package/dist/locales/it-IT/pages.json +69 -67
- package/dist/locales/it-IT/settings.json +446 -446
- package/dist/locales/ja-JP/common.json +251 -251
- package/dist/locales/ja-JP/mobile.json +125 -125
- package/dist/locales/ja-JP/notifications.json +226 -226
- package/dist/locales/ja-JP/pages.json +69 -67
- package/dist/locales/ja-JP/settings.json +446 -446
- package/dist/locales/ko-KR/common.json +251 -251
- package/dist/locales/ko-KR/mobile.json +125 -125
- package/dist/locales/ko-KR/notifications.json +226 -226
- package/dist/locales/ko-KR/pages.json +69 -67
- package/dist/locales/ko-KR/settings.json +446 -446
- package/dist/locales/nl-NL/common.json +251 -251
- package/dist/locales/nl-NL/notifications.json +226 -226
- package/dist/locales/nl-NL/pages.json +69 -67
- package/dist/locales/no-NO/common.json +251 -251
- package/dist/locales/no-NO/mobile.json +125 -125
- package/dist/locales/no-NO/notifications.json +226 -226
- package/dist/locales/no-NO/pages.json +69 -67
- package/dist/locales/no-NO/settings.json +446 -446
- package/dist/locales/pl-PL/common.json +251 -251
- package/dist/locales/pl-PL/mobile.json +125 -125
- package/dist/locales/pl-PL/notifications.json +226 -226
- package/dist/locales/pl-PL/pages.json +69 -67
- package/dist/locales/pl-PL/settings.json +446 -446
- package/dist/locales/pt-BR/common.json +251 -251
- package/dist/locales/pt-BR/mobile.json +125 -125
- package/dist/locales/pt-BR/notifications.json +226 -226
- package/dist/locales/pt-BR/pages.json +69 -67
- package/dist/locales/pt-BR/settings.json +446 -446
- package/dist/locales/pt-PT/common.json +251 -251
- package/dist/locales/pt-PT/mobile.json +125 -125
- package/dist/locales/pt-PT/notifications.json +226 -226
- package/dist/locales/pt-PT/pages.json +69 -67
- package/dist/locales/pt-PT/settings.json +446 -446
- package/dist/locales/ro-RO/common.json +251 -251
- package/dist/locales/ro-RO/mobile.json +125 -125
- package/dist/locales/ro-RO/notifications.json +226 -226
- package/dist/locales/ro-RO/pages.json +69 -67
- package/dist/locales/ro-RO/settings.json +446 -446
- package/dist/locales/ru-RU/common.json +251 -251
- package/dist/locales/ru-RU/mobile.json +125 -125
- package/dist/locales/ru-RU/notifications.json +226 -226
- package/dist/locales/ru-RU/pages.json +69 -67
- package/dist/locales/ru-RU/settings.json +446 -446
- package/dist/locales/sr-SP/common.json +251 -251
- package/dist/locales/sr-SP/mobile.json +125 -125
- package/dist/locales/sr-SP/notifications.json +226 -226
- package/dist/locales/sr-SP/pages.json +69 -67
- package/dist/locales/sr-SP/settings.json +446 -446
- package/dist/locales/sv-SE/common.json +251 -251
- package/dist/locales/sv-SE/mobile.json +125 -125
- package/dist/locales/sv-SE/notifications.json +226 -226
- package/dist/locales/sv-SE/pages.json +69 -67
- package/dist/locales/sv-SE/settings.json +446 -446
- package/dist/locales/tr-TR/common.json +251 -251
- package/dist/locales/tr-TR/mobile.json +125 -125
- package/dist/locales/tr-TR/notifications.json +226 -226
- package/dist/locales/tr-TR/pages.json +69 -67
- package/dist/locales/tr-TR/settings.json +446 -446
- package/dist/locales/uk-UA/common.json +251 -251
- package/dist/locales/uk-UA/mobile.json +125 -125
- package/dist/locales/uk-UA/notifications.json +226 -226
- package/dist/locales/uk-UA/pages.json +69 -67
- package/dist/locales/uk-UA/settings.json +446 -446
- package/dist/locales/vi-VN/common.json +251 -251
- package/dist/locales/vi-VN/mobile.json +125 -125
- package/dist/locales/vi-VN/notifications.json +226 -226
- package/dist/locales/vi-VN/pages.json +69 -67
- package/dist/locales/vi-VN/settings.json +446 -446
- package/dist/locales/zh-CN/common.json +251 -251
- package/dist/locales/zh-CN/mobile.json +125 -125
- package/dist/locales/zh-CN/notifications.json +226 -226
- package/dist/locales/zh-CN/pages.json +69 -67
- package/dist/locales/zh-CN/settings.json +446 -446
- package/dist/locales/zh-TW/common.json +251 -251
- package/dist/locales/zh-TW/mobile.json +125 -125
- package/dist/locales/zh-TW/notifications.json +226 -226
- package/dist/locales/zh-TW/pages.json +69 -67
- package/dist/locales/zh-TW/settings.json +446 -446
- package/package.json +1 -1
- package/src/locales/af-ZA/common.json +251 -251
- package/src/locales/af-ZA/mobile.json +125 -125
- package/src/locales/af-ZA/notifications.json +226 -226
- package/src/locales/af-ZA/pages.json +69 -67
- package/src/locales/af-ZA/settings.json +446 -446
- package/src/locales/ar-SA/common.json +251 -251
- package/src/locales/ar-SA/mobile.json +125 -125
- package/src/locales/ar-SA/notifications.json +226 -226
- package/src/locales/ar-SA/pages.json +69 -67
- package/src/locales/ar-SA/settings.json +446 -446
- package/src/locales/ca-ES/common.json +251 -251
- package/src/locales/ca-ES/mobile.json +125 -125
- package/src/locales/ca-ES/notifications.json +226 -226
- package/src/locales/ca-ES/pages.json +69 -67
- package/src/locales/ca-ES/settings.json +446 -446
- package/src/locales/cs-CZ/common.json +251 -251
- package/src/locales/cs-CZ/mobile.json +125 -125
- package/src/locales/cs-CZ/notifications.json +226 -226
- package/src/locales/cs-CZ/pages.json +69 -67
- package/src/locales/cs-CZ/settings.json +446 -446
- package/src/locales/da-DK/common.json +251 -251
- package/src/locales/da-DK/mobile.json +125 -125
- package/src/locales/da-DK/notifications.json +226 -226
- package/src/locales/da-DK/pages.json +69 -67
- package/src/locales/da-DK/settings.json +446 -446
- package/src/locales/de-DE/common.json +251 -251
- package/src/locales/de-DE/mobile.json +125 -125
- package/src/locales/de-DE/notifications.json +226 -226
- package/src/locales/de-DE/pages.json +69 -67
- package/src/locales/de-DE/settings.json +446 -446
- package/src/locales/el-GR/common.json +251 -251
- package/src/locales/el-GR/mobile.json +125 -125
- package/src/locales/el-GR/notifications.json +226 -226
- package/src/locales/el-GR/pages.json +69 -67
- package/src/locales/el-GR/settings.json +446 -446
- package/src/locales/en/pages.json +2 -1
- package/src/locales/en-US/common.json +251 -251
- package/src/locales/en-US/mobile.json +125 -125
- package/src/locales/en-US/notifications.json +224 -224
- package/src/locales/en-US/pages.json +57 -55
- package/src/locales/en-US/settings.json +446 -446
- package/src/locales/es-ES/common.json +251 -251
- package/src/locales/es-ES/mobile.json +125 -125
- package/src/locales/es-ES/notifications.json +226 -226
- package/src/locales/es-ES/pages.json +69 -67
- package/src/locales/es-ES/settings.json +446 -446
- package/src/locales/fi-FI/common.json +251 -251
- package/src/locales/fi-FI/mobile.json +125 -125
- package/src/locales/fi-FI/notifications.json +226 -226
- package/src/locales/fi-FI/pages.json +69 -67
- package/src/locales/fi-FI/settings.json +446 -446
- package/src/locales/fr-FR/common.json +251 -251
- package/src/locales/fr-FR/notifications.json +226 -226
- package/src/locales/fr-FR/pages.json +69 -67
- package/src/locales/fr-FR/settings.json +446 -446
- package/src/locales/he-IL/common.json +251 -251
- package/src/locales/he-IL/mobile.json +125 -125
- package/src/locales/he-IL/notifications.json +226 -226
- package/src/locales/he-IL/pages.json +69 -67
- package/src/locales/he-IL/settings.json +446 -446
- package/src/locales/hu-HU/common.json +251 -251
- package/src/locales/hu-HU/mobile.json +125 -125
- package/src/locales/hu-HU/notifications.json +226 -226
- package/src/locales/hu-HU/pages.json +69 -67
- package/src/locales/hu-HU/settings.json +446 -446
- package/src/locales/it-IT/common.json +251 -251
- package/src/locales/it-IT/mobile.json +125 -125
- package/src/locales/it-IT/notifications.json +226 -226
- package/src/locales/it-IT/pages.json +69 -67
- package/src/locales/it-IT/settings.json +446 -446
- package/src/locales/ja-JP/common.json +251 -251
- package/src/locales/ja-JP/mobile.json +125 -125
- package/src/locales/ja-JP/notifications.json +226 -226
- package/src/locales/ja-JP/pages.json +69 -67
- package/src/locales/ja-JP/settings.json +446 -446
- package/src/locales/ko-KR/common.json +251 -251
- package/src/locales/ko-KR/mobile.json +125 -125
- package/src/locales/ko-KR/notifications.json +226 -226
- package/src/locales/ko-KR/pages.json +69 -67
- package/src/locales/ko-KR/settings.json +446 -446
- package/src/locales/nl-NL/common.json +251 -251
- package/src/locales/nl-NL/notifications.json +226 -226
- package/src/locales/nl-NL/pages.json +69 -67
- package/src/locales/no-NO/common.json +251 -251
- package/src/locales/no-NO/mobile.json +125 -125
- package/src/locales/no-NO/notifications.json +226 -226
- package/src/locales/no-NO/pages.json +69 -67
- package/src/locales/no-NO/settings.json +446 -446
- package/src/locales/pl-PL/common.json +251 -251
- package/src/locales/pl-PL/mobile.json +125 -125
- package/src/locales/pl-PL/notifications.json +226 -226
- package/src/locales/pl-PL/pages.json +69 -67
- package/src/locales/pl-PL/settings.json +446 -446
- package/src/locales/pt-BR/common.json +251 -251
- package/src/locales/pt-BR/mobile.json +125 -125
- package/src/locales/pt-BR/notifications.json +226 -226
- package/src/locales/pt-BR/pages.json +69 -67
- package/src/locales/pt-BR/settings.json +446 -446
- package/src/locales/pt-PT/common.json +251 -251
- package/src/locales/pt-PT/mobile.json +125 -125
- package/src/locales/pt-PT/notifications.json +226 -226
- package/src/locales/pt-PT/pages.json +69 -67
- package/src/locales/pt-PT/settings.json +446 -446
- package/src/locales/ro-RO/common.json +251 -251
- package/src/locales/ro-RO/mobile.json +125 -125
- package/src/locales/ro-RO/notifications.json +226 -226
- package/src/locales/ro-RO/pages.json +69 -67
- package/src/locales/ro-RO/settings.json +446 -446
- package/src/locales/ru-RU/common.json +251 -251
- package/src/locales/ru-RU/mobile.json +125 -125
- package/src/locales/ru-RU/notifications.json +226 -226
- package/src/locales/ru-RU/pages.json +69 -67
- package/src/locales/ru-RU/settings.json +446 -446
- package/src/locales/sr-SP/common.json +251 -251
- package/src/locales/sr-SP/mobile.json +125 -125
- package/src/locales/sr-SP/notifications.json +226 -226
- package/src/locales/sr-SP/pages.json +69 -67
- package/src/locales/sr-SP/settings.json +446 -446
- package/src/locales/sv-SE/common.json +251 -251
- package/src/locales/sv-SE/mobile.json +125 -125
- package/src/locales/sv-SE/notifications.json +226 -226
- package/src/locales/sv-SE/pages.json +69 -67
- package/src/locales/sv-SE/settings.json +446 -446
- package/src/locales/tr-TR/common.json +251 -251
- package/src/locales/tr-TR/mobile.json +125 -125
- package/src/locales/tr-TR/notifications.json +226 -226
- package/src/locales/tr-TR/pages.json +69 -67
- package/src/locales/tr-TR/settings.json +446 -446
- package/src/locales/uk-UA/common.json +251 -251
- package/src/locales/uk-UA/mobile.json +125 -125
- package/src/locales/uk-UA/notifications.json +226 -226
- package/src/locales/uk-UA/pages.json +69 -67
- package/src/locales/uk-UA/settings.json +446 -446
- package/src/locales/vi-VN/common.json +251 -251
- package/src/locales/vi-VN/mobile.json +125 -125
- package/src/locales/vi-VN/notifications.json +226 -226
- package/src/locales/vi-VN/pages.json +69 -67
- package/src/locales/vi-VN/settings.json +446 -446
- package/src/locales/zh-CN/common.json +251 -251
- package/src/locales/zh-CN/mobile.json +125 -125
- package/src/locales/zh-CN/notifications.json +226 -226
- package/src/locales/zh-CN/pages.json +69 -67
- package/src/locales/zh-CN/settings.json +446 -446
- package/src/locales/zh-TW/common.json +251 -251
- package/src/locales/zh-TW/mobile.json +125 -125
- package/src/locales/zh-TW/notifications.json +226 -226
- package/src/locales/zh-TW/pages.json +69 -67
- package/src/locales/zh-TW/settings.json +446 -446
|
@@ -1,501 +1,501 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"password": "Mot de passe",
|
|
15
|
-
"signInToAccount": "Connectez-vous à votre compte",
|
|
16
|
-
"useLocalAccount": "Utiliser un compte local à la place"
|
|
17
|
-
},
|
|
18
|
-
"advanced": {
|
|
19
|
-
"connectionScenarios": "Scénarios de connexion",
|
|
20
|
-
"externalUrl": "URL externe",
|
|
21
|
-
"reverseProxy": "Proxy inversé",
|
|
22
|
-
"title": "Réglages avancés",
|
|
23
|
-
"trustProxy": "En-têtes de confiance du Proxy"
|
|
24
|
-
},
|
|
25
|
-
"backup": {
|
|
26
|
-
"actions": "Actions",
|
|
27
|
-
"backToBackups": "Retour aux sauvegardes",
|
|
28
|
-
"backupHistory": "Historique des sauvegardes",
|
|
29
|
-
"createBackup": "Créer une sauvegarde",
|
|
30
|
-
"creating": "Création de la sauvegarde...",
|
|
31
|
-
"databaseSize": "Taille actuelle de la base de données : {{size}}",
|
|
32
|
-
"date": "Date",
|
|
33
|
-
"dayFri": "Vendredi",
|
|
34
|
-
"dayMon": "Lundi",
|
|
35
|
-
"daySat": "Samedi",
|
|
36
|
-
"daySun": "Dimanche",
|
|
37
|
-
"dayThu": "Jeudi",
|
|
38
|
-
"dayTue": "Mardi",
|
|
39
|
-
"dayWed": "Mercredi",
|
|
40
|
-
"deleteConfirmDescription": "Êtes-vous sûr de vouloir supprimer cette sauvegarde ? Cette action est irréversible.",
|
|
41
|
-
"deleteConfirmTitle": "Supprimer la sauvegarde",
|
|
42
|
-
"description": "Sauvegardez et restaurez vos données Tracearr",
|
|
43
|
-
"filename": "Nom du fichier",
|
|
44
|
-
"freeSpace": "Espace libre dans le répertoire de sauvegarde : {{size}}",
|
|
45
|
-
"lowDiskSpace": "Espace disque faible — les sauvegardes et restaurations nécessitent au moins deux fois la taille de la base de données en espace libre.",
|
|
46
|
-
"noBackups": "Aucune sauvegarde pour le moment. Créez votre première sauvegarde ci-dessus.",
|
|
47
|
-
"restore": {
|
|
48
|
-
"cannotRestore": "La restauration nécessite des privilèges de superutilisateur PostgreSQL. Veuillez vous assurer que votre utilisateur de base de données dispose de ces privilèges, puis réessayez.",
|
|
49
|
-
"complete": "Restauration effectuée avec succès. La page s'actualisera sous peu.",
|
|
50
|
-
"confirm": "Démarrer la restauration",
|
|
51
|
-
"confirmLabel": "Je comprends que cela remplacera toutes les données",
|
|
52
|
-
"databaseSize": "Taille de la base de données",
|
|
53
|
-
"failed": "Échec de la restauration",
|
|
54
|
-
"libraryItems": "Éléments de la bibliothèque",
|
|
55
|
-
"pgVersionMismatch": "La sauvegarde a été créée avec PostgreSQL {{backupVersion}}, mais ce serveur utilise PostgreSQL {{serverVersion}}. La restauration d'une sauvegarde issue d'une version plus récente de PostgreSQL n'est pas prise en charge.",
|
|
56
|
-
"rules": "Règles",
|
|
57
|
-
"selectedBackup": "Sauvegarde sélectionnée",
|
|
58
|
-
"servers": "Serveurs",
|
|
59
|
-
"sessions": "Sessions",
|
|
60
|
-
"tables": "Tableaux",
|
|
61
|
-
"title": "Restaurer la sauvegarde",
|
|
62
|
-
"tsVersionMismatch": "La sauvegarde a été créée avec TimescaleDB {{backupVersion}}, mais ce serveur ne prend en charge que jusqu'à TimescaleDB {{serverVersion}}.",
|
|
63
|
-
"users": "Utilisateurs",
|
|
64
|
-
"warning": "La restauration remplacera toutes les données existantes. Vous devrez vous reconnecter une fois la restauration complétée."
|
|
65
|
-
},
|
|
66
|
-
"restoreAction": "Restaurer",
|
|
67
|
-
"retentionCount": "Garder les dernières :",
|
|
68
|
-
"retentionSuffix": "sauvegardes planifiées",
|
|
69
|
-
"schedule": "Sauvegardes planifiées",
|
|
70
|
-
"scheduleDaily": "Journalière",
|
|
71
|
-
"scheduleDayOfMonth": "Jour du mois",
|
|
72
|
-
"scheduleDayOfMonthHint": "Pour les mois comportant moins de jours, la sauvegarde est effectuée le dernier jour du mois.",
|
|
73
|
-
"scheduleDayOfWeek": "Jour de la semaine",
|
|
74
|
-
"scheduleDisabled": "Désactivé",
|
|
75
|
-
"scheduleMonthly": "Mensuelle",
|
|
76
|
-
"scheduleTime": "Heure ({{timezone}})",
|
|
77
|
-
"scheduleType": "Planification",
|
|
78
|
-
"scheduleWeekly": "Hebdomadaire",
|
|
79
|
-
"size": "Taille",
|
|
80
|
-
"title": "Sauvegarde",
|
|
81
|
-
"toast": {
|
|
82
|
-
"backupCreateFailed": "Échec de création de la sauvegarde",
|
|
83
|
-
"backupCreated": "Sauvegarde créée avec succès",
|
|
84
|
-
"backupDeleteFailed": "Échec de suppression de la sauvegarde",
|
|
85
|
-
"backupDeleted": "Sauvegarde supprimée",
|
|
86
|
-
"backupUploadFailed": "Échec du téléversement de la sauvegarde",
|
|
87
|
-
"backupUploaded": "Sauvegarde téléversée avec succès",
|
|
88
|
-
"restoreStartFailed": "Échec du démarrage de la restauration",
|
|
89
|
-
"restoreStarted": "La restauration a démarré",
|
|
90
|
-
"scheduleError": "Échec de l'enregistrement de la planification de la sauvegarde",
|
|
91
|
-
"scheduleSaved": "Planification de la sauvegarde enregistrée"
|
|
92
|
-
},
|
|
93
|
-
"type": "Type",
|
|
94
|
-
"typeManual": "Manuelle",
|
|
95
|
-
"typeScheduled": "Planifiée",
|
|
96
|
-
"typeUploaded": "Téléversé",
|
|
97
|
-
"uploadBackup": "Téléverser une sauvegarde",
|
|
98
|
-
"uploading": "Téléversement...",
|
|
99
|
-
"version": "Version"
|
|
2
|
+
"title": "Réglages",
|
|
3
|
+
"tabs": {
|
|
4
|
+
"general": "Général",
|
|
5
|
+
"servers": "Serveurs",
|
|
6
|
+
"notifications": "Notifications",
|
|
7
|
+
"mobile": "Application mobile",
|
|
8
|
+
"tailscale": "Tailscale",
|
|
9
|
+
"import": "Importation",
|
|
10
|
+
"advanced": "Avancé",
|
|
11
|
+
"jobs": "Tâches",
|
|
12
|
+
"accessControl": "Contrôle d'accès",
|
|
13
|
+
"backup": "Sauvegarde"
|
|
100
14
|
},
|
|
101
15
|
"general": {
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"
|
|
16
|
+
"title": "Réglages généraux",
|
|
17
|
+
"unitSystem": "Système d'unité",
|
|
18
|
+
"metric": "Métrique (km, km/h)",
|
|
19
|
+
"imperial": "Impérial (mi, mph)",
|
|
20
|
+
"timezone": "Fuseau horaire",
|
|
21
|
+
"primaryAuth": "Méthode d'authentification principale",
|
|
22
|
+
"localAccount": "Compte local",
|
|
23
|
+
"plexAccount": "Compte Plex",
|
|
24
|
+
"language": "Langue",
|
|
25
|
+
"languageDescription": "Choisissez votre langue d'affichage préférée.",
|
|
26
|
+
"helpTranslate": "Aidez-nous à traduire Tracearr",
|
|
27
|
+
"timeFormat": "Format horaire",
|
|
28
|
+
"timeFormatDescription": "Choisissez comment l'heure est affichée.",
|
|
29
|
+
"timeFormat12h": "Format 12 heures (1:30 PM)",
|
|
30
|
+
"timeFormat24h": "Format 24 heures (13:30)",
|
|
109
31
|
"appearance": "Apparence",
|
|
110
32
|
"appearanceDesc": "Personnaliser l'apparence de Tracearr",
|
|
33
|
+
"theme": "Thème",
|
|
34
|
+
"accentColor": "Couleur d'accentuation",
|
|
35
|
+
"default": "(par défaut)",
|
|
36
|
+
"cyanDefault": "* Cyan est la couleur d'accentuation par défaut",
|
|
37
|
+
"themeLight": "Lumière",
|
|
38
|
+
"themeDark": "Sombre",
|
|
39
|
+
"themeSystem": "Système",
|
|
111
40
|
"application": "Application",
|
|
112
41
|
"applicationDesc": "Configurer les paramètres de base de l'application",
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
42
|
+
"unitSystemDesc": "Choisir comment les distances et les vitesses sont affichées",
|
|
43
|
+
"sessionSync": "Synchronisation de session",
|
|
44
|
+
"sessionSyncDesc": "Activer le suivi de session pour vos serveurs multimédia",
|
|
45
|
+
"syncInterval": "Intervalle de synchronisation",
|
|
46
|
+
"syncIntervalDesc": "Fréquence de vote pour Jellyfin/Emby (5-300 secondes)",
|
|
47
|
+
"syncIntervalSuffix": "s",
|
|
48
|
+
"plexSseNote": "Plex utilise Server-Sent Events (SSE) pour des mises à jour quasi instantanées — aucun sondage n'est nécessaire.",
|
|
49
|
+
"jellyfinPollingNote": "Les sondages de Jellyfin/Emby sont effectués à l'intervalle ci-dessus.",
|
|
117
50
|
"enhancedGeoIP": "Recherche GeoIP améliorée",
|
|
118
51
|
"enhancedGeoIPDesc": "Utiliser le service GeoIP de Plex pour des données de localisation plus précises. Lorsqu'il est activé, les adresses IP sont envoyées à plex. v pour la recherche. La base de données locale MaxMind est utilisée comme repli.",
|
|
119
52
|
"externalAccess": "Accès externe",
|
|
120
53
|
"externalAccessDesc": "Configurer comment les appareils externes (comme les applications mobiles) se connectent à votre serveur",
|
|
121
54
|
"externalUrl": "URL externe",
|
|
122
|
-
"externalUrlDesc": "L'URL que les appareils externes doivent utiliser pour atteindre ce serveur. Utilisé pour les codes QR et l'appairage de l'application mobile.",
|
|
123
55
|
"externalUrlPlaceholder": "https://tracearr.example.com",
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
"helpTranslate": "Aidez-nous à traduire Tracearr",
|
|
127
|
-
"imperial": "Impérial (mi, mph)",
|
|
128
|
-
"iosHttpWarning": "iOS nécessite HTTPS pour les connexions externes. Configurez un proxy inverse avec SSL.",
|
|
129
|
-
"jellyfinPollingNote": "Les sondages de Jellyfin/Emby sont effectués à l'intervalle ci-dessus.",
|
|
130
|
-
"language": "Langue",
|
|
131
|
-
"languageDescription": "Choisissez votre langue d'affichage préférée.",
|
|
132
|
-
"localAccount": "Compte local",
|
|
56
|
+
"externalUrlDesc": "L'URL que les appareils externes doivent utiliser pour atteindre ce serveur. Utilisé pour les codes QR et l'appairage de l'application mobile.",
|
|
57
|
+
"detect": "Détecter",
|
|
133
58
|
"localhostWarning": "Les URL de l'hôte local ne fonctionneront pas pour les périphériques externes. Utilisez votre IP LAN ou un nom de domaine.",
|
|
134
|
-
"
|
|
59
|
+
"iosHttpWarning": "iOS nécessite HTTPS pour les connexions externes. Configurez un proxy inverse avec SSL.",
|
|
60
|
+
"apiKeyDesc": "Accédez à l'API Tracearr pour des intégrations tierces comme Homarr, Home Assistant, etc.",
|
|
61
|
+
"apiDocs": "API Docs",
|
|
135
62
|
"noApiKeyGenerated": "Aucune clé API générée",
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
"publicApiSettings": "Public API",
|
|
140
|
-
"publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
|
|
63
|
+
"copyToClipboard": "Copier dans le presse-papiers",
|
|
64
|
+
"apiKeyReadAccess": "Votre clé API vous donne un accès en lecture complète à vos données Tracearr.",
|
|
65
|
+
"generateApiKeyPrompt": "Générer une clé API pour activer les intégrations externes.",
|
|
141
66
|
"regenerate": "Régénérer",
|
|
67
|
+
"generateKey": "Générer une clé",
|
|
142
68
|
"regenerateApiKey": "Régénérer la clé API ?",
|
|
143
69
|
"regenerateApiKeyDesc": "Ceci invalidera votre clé API actuelle. Toute intégration utilisant l'ancienne clé cessera de fonctionner.",
|
|
144
|
-
"
|
|
145
|
-
"
|
|
146
|
-
"syncInterval": "Intervalle de synchronisation",
|
|
147
|
-
"syncIntervalDesc": "Fréquence de vote pour Jellyfin/Emby (5-300 secondes)",
|
|
148
|
-
"syncIntervalSuffix": "s",
|
|
149
|
-
"theme": "Thème",
|
|
150
|
-
"themeDark": "Sombre",
|
|
151
|
-
"themeLight": "Lumière",
|
|
152
|
-
"themeSystem": "Système",
|
|
153
|
-
"timeFormat": "Format horaire",
|
|
154
|
-
"timeFormat12h": "Format 12 heures (1:30 PM)",
|
|
155
|
-
"timeFormat24h": "Format 24 heures (13:30)",
|
|
156
|
-
"timeFormatDescription": "Choisissez comment l'heure est affichée.",
|
|
157
|
-
"timezone": "Fuseau horaire",
|
|
158
|
-
"title": "Réglages généraux",
|
|
159
|
-
"unitSystem": "Système d'unité",
|
|
160
|
-
"unitSystemDesc": "Choisir comment les distances et les vitesses sont affichées",
|
|
70
|
+
"publicApiSettings": "Public API",
|
|
71
|
+
"publicApiSettingsDesc": "Configure watch-completion thresholds and request limits for the public API",
|
|
161
72
|
"watchedThresholdMovie": "Movie Watched Threshold",
|
|
162
73
|
"watchedThresholdMovieDesc": "Percentage of a movie that must be watched before it's marked complete",
|
|
74
|
+
"watchedThresholdTv": "TV Episode Watched Threshold",
|
|
75
|
+
"watchedThresholdTvDesc": "Percentage of an episode that must be watched before it's marked complete",
|
|
163
76
|
"watchedThresholdMusic": "Track Watched Threshold",
|
|
164
77
|
"watchedThresholdMusicDesc": "Percentage of a track that must be played before it's marked complete",
|
|
165
78
|
"watchedThresholdSuffix": "%",
|
|
166
|
-
"
|
|
167
|
-
"
|
|
168
|
-
|
|
169
|
-
"import": {
|
|
170
|
-
"apiKeyHelp": "Trouvé dans les paramètres Tautulli → Interface Web → Clé d'API.",
|
|
171
|
-
"apiKeyPlaceholder": "Votre clé API Tautulli",
|
|
172
|
-
"connectToTautulli": "Se connecter à Tautulli",
|
|
173
|
-
"connectedFound": "Connecté ! Utilisateurs {{users}} trouvés et enregistrements de l'historique {{records}}.",
|
|
174
|
-
"enrichMetadata": "Enrichir avec les métadonnées du média (recommandé)",
|
|
175
|
-
"enrichMetadataHelp": "Récupère des métadonnées supplémentaires depuis votre serveur multimédia pour les sessions importées.",
|
|
176
|
-
"enriched": "Enrichi",
|
|
177
|
-
"errors": "Erreurs",
|
|
178
|
-
"exportBackupHelp": "Dans Jellystat, allez dans Paramètres → Sauvegarde → Sauvegarde d'activités pour exporter vos données.",
|
|
179
|
-
"exportBackupHint": "Exporter une sauvegarde d'activité depuis Jellystat",
|
|
180
|
-
"howItWorks": "Comment fonctionne l'import",
|
|
181
|
-
"howItWorksDesc": "Tracearr importera toutes les données historiques de surveillance de votre source. Cela peut prendre un certain temps en fonction de la taille de votre bibliothèque.",
|
|
182
|
-
"importComplete": "Importation terminée",
|
|
183
|
-
"importFailed": "Échec de l'importation",
|
|
184
|
-
"importHistory": "Historique d'importation",
|
|
185
|
-
"importHistoryDesc": "Importer des données historiques de surveillance à partir de sources externes",
|
|
186
|
-
"importInProgressGeneric": "Importation en cours...",
|
|
187
|
-
"importInProgressPercent": "Importation en cours ({{percent}}% terminé)...",
|
|
188
|
-
"importOptions": "Options d'importation",
|
|
189
|
-
"importProgress": "Progression de l'import",
|
|
190
|
-
"imported": "Importé",
|
|
191
|
-
"importing": "Importation en cours...",
|
|
192
|
-
"includeStreamDetails": "Inclure les données détaillées du flux (codecs, débit, résolution)",
|
|
193
|
-
"includeStreamDetailsHelp": "Importe des informations de flux supplémentaires. Peut augmenter considérablement le temps d'importation.",
|
|
194
|
-
"jellyfinEmby": "Jellyfin/Emby (Jellystat)",
|
|
195
|
-
"jellystat": "Importer depuis Jellystat",
|
|
196
|
-
"noServers": "Aucun serveur connecté",
|
|
197
|
-
"noServersHint": "Vous avez besoin d'au moins un serveur connecté pour importer des données.",
|
|
198
|
-
"overwriteFriendlyNames": "Remplacer les noms conviviaux existants par des noms Tautulli",
|
|
199
|
-
"overwriteFriendlyNamesHelp": "Les noms d'identité existants dans Tracearr seront remplacés par les noms amicaux de Tautulli.",
|
|
200
|
-
"page": "Page",
|
|
201
|
-
"pleaseEnterDetails": "Veuillez entrer l'URL et la clé API de Tautulli",
|
|
202
|
-
"pleaseSelectJsonFile": "Veuillez sélectionner un fichier JSON",
|
|
203
|
-
"plex": "Plex (Tautulli)",
|
|
204
|
-
"processed": "Traité",
|
|
205
|
-
"recordsMayBeSkipped": "Les enregistrements peuvent être ignorés si :",
|
|
206
|
-
"selectJellyfinServer": "Sélectionnez un serveur Jellyfin ou Emby",
|
|
207
|
-
"selectPlexServer": "Sélectionnez un serveur Plex",
|
|
208
|
-
"selectTargetServer": "Sélectionnez le serveur cible",
|
|
209
|
-
"skipDuplicate": "Dupliquer la session — La session a déjà été importée précédemment.",
|
|
210
|
-
"skipInProgress": "Session en cours — Les sessions actives/incomplètes sans identifiant de référence sont ignorées.",
|
|
211
|
-
"skipSyncHint": "Si plusieurs enregistrements sont ignorés, assurez-vous que vous avez récemment synchronisé votre serveur dans Paramètres → Serveurs.",
|
|
212
|
-
"skipUserNotFoundJellyfin": "Utilisateur introuvable — L'utilisateur Jellyfin/Emby n'existe pas dans Tracearr. Synchronisez d'abord votre serveur pour ajouter tous les utilisateurs.",
|
|
213
|
-
"skipUserNotFoundPlex": "Utilisateur introuvable — L'utilisateur Plex n'existe pas dans Tracearr. Synchronisez d'abord votre serveur pour ajouter tous les utilisateurs.",
|
|
214
|
-
"skipped": "Ignoré",
|
|
215
|
-
"startImport": "Commencer l'importation",
|
|
216
|
-
"startingImport": "Démarrage de l'importation...",
|
|
217
|
-
"step1": "1",
|
|
218
|
-
"step2": "2",
|
|
219
|
-
"targetServer": "Target Server",
|
|
220
|
-
"tautulli": "Importer depuis Tautulli",
|
|
221
|
-
"tautulliUrl": "URL Tautulli",
|
|
222
|
-
"tautulliUrlHelp": "L'URL de votre instance Tautulli.",
|
|
223
|
-
"tautulliUrlPlaceholder": "http://localhost:8181",
|
|
224
|
-
"testing": "Test en cours...",
|
|
225
|
-
"testingConnection": "Test de la connexion...",
|
|
226
|
-
"title": "Importer des données",
|
|
227
|
-
"updateExistingRecords": "Mettre à jour les enregistrements existants avec les détails du flux",
|
|
228
|
-
"updateExistingRecordsHelp": "Les enregistrements précédemment importés seront mis à jour avec les données de qualité du flux.",
|
|
229
|
-
"uploadJellystatBackup": "Télécharger la sauvegarde Jellystat",
|
|
230
|
-
"uploadingBackup": "Téléchargement du fichier de sauvegarde...",
|
|
231
|
-
"playbackReporting": "Playback Reporting Plugin",
|
|
232
|
-
"playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
|
|
233
|
-
"checkPlugin": "Check Plugin",
|
|
234
|
-
"checkingPlugin": "Checking...",
|
|
235
|
-
"pluginFound": "Plugin found: {{records}} records from {{oldestDate}} to {{newestDate}}",
|
|
236
|
-
"pluginNotInstalled": "The Playback Reporting plugin is not installed on this server, or Tracearr cannot reach it. Install it from the server's plugin catalog to start recording history, or use the Jellystat import below.",
|
|
237
|
-
"serverTimezone": "Server Timezone",
|
|
238
|
-
"serverTimezoneHelp": "Must match the timezone configured on your media server host, not your browser's timezone. Playback Reporting timestamps are stored in local server time.",
|
|
239
|
-
"importFullRange": "Import full history",
|
|
240
|
-
"importFullRangeHelp": "By default only history older than Tracearr's earliest tracked session for this server is imported, so sessions Tracearr already recorded are never duplicated. Enable this to import the plugin's entire history regardless of overlap, if your Tracearr history has gaps. Exact duplicates are still skipped.",
|
|
241
|
-
"overlapSkipped": "{{count}} skipped as overlap",
|
|
242
|
-
"duplicates": "{{count}} duplicates skipped",
|
|
243
|
-
"skipOverlap": "Overlapping record - the timestamp falls inside the period Tracearr already tracks for this server. Enable full-range import to include it.",
|
|
244
|
-
"skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data."
|
|
245
|
-
},
|
|
246
|
-
"ipWarning": {
|
|
247
|
-
"acknowledge": "Compris",
|
|
248
|
-
"message": "Tous les utilisateurs semblent utiliser la même adresse IP ou des IP locales. Cela peut affecter la logique des règles basées sur l'emplacement ou l'adresse IP."
|
|
249
|
-
},
|
|
250
|
-
"jobs": {
|
|
251
|
-
"backfill": "Remplissage",
|
|
252
|
-
"cleanup": "Nettoyage",
|
|
253
|
-
"delayed": "différé",
|
|
254
|
-
"description": "Gérer les tâches de fond qui gardent vos données exactes et optimisées.",
|
|
255
|
-
"errors": "erreurs",
|
|
256
|
-
"jobHistory": "Historique des tâches",
|
|
257
|
-
"jobHistoryDesc": "Exécution récente d'une tâche de maintenance",
|
|
258
|
-
"lastJobCompleted": "Dernière tâche terminée avec succès",
|
|
259
|
-
"lastJobFailed": "La dernière tâche a échoué",
|
|
260
|
-
"mayTakeAWhile": "Cela peut prendre un certain temps",
|
|
261
|
-
"mayTakeAWhileDesc": "Cette tâche peut prendre plusieurs minutes selon la taille de votre bibliothèque.",
|
|
262
|
-
"normalization": "Normalisation",
|
|
263
|
-
"processed": "traité",
|
|
264
|
-
"queued": "mis en file d'attente",
|
|
265
|
-
"runConfirm": "Exécuter {{name}}?",
|
|
266
|
-
"runJob": "Exécuter le Job",
|
|
267
|
-
"running": "en cours d'exécution",
|
|
268
|
-
"runningState": "En cours d'exécution",
|
|
269
|
-
"startJob": "Commencer la tâche",
|
|
270
|
-
"title": "Tâches d'entretien",
|
|
271
|
-
"unchanged": "inchangé",
|
|
272
|
-
"updated": "Mis à jour",
|
|
273
|
-
"waiting": "En attente"
|
|
274
|
-
},
|
|
275
|
-
"mobile": {
|
|
276
|
-
"addDevice": "Ajouter un appareil",
|
|
277
|
-
"connectedDevices": "Appareils connectés",
|
|
278
|
-
"connectedDevicesDesc": "Périphériques {{count}} appariés à votre serveur",
|
|
279
|
-
"copyToken": "Copier le jeton",
|
|
280
|
-
"deviceName": "Nom de l'appareil",
|
|
281
|
-
"deviceNamePlaceholder": "par exemple iPhone 15",
|
|
282
|
-
"devicesConnected": "{{current}} des appareils {{max}} connectés",
|
|
283
|
-
"disable": "Désactiver",
|
|
284
|
-
"disableMobileAccess": "Désactiver l'accès mobile",
|
|
285
|
-
"disableMobileAccessConfirm": "Ceci va déconnecter tous les appareils mobiles et révoquer toutes les sessions. Vous pourrez réactiver l'accès mobile plus tard.",
|
|
286
|
-
"done": "Fait",
|
|
287
|
-
"downloadOnAppStore": "Télécharger sur l'App Store",
|
|
288
|
-
"enableMobileAccess": "Activer l'accès mobile",
|
|
289
|
-
"enabling": "Activation...",
|
|
290
|
-
"expiresIn": "Expire dans {{time}}",
|
|
291
|
-
"externalUrlBanner": "Utiliser un proxy inversé ou accéder à distance ? Définissez votre",
|
|
292
|
-
"externalUrlBannerLink": "URL externe",
|
|
293
|
-
"externalUrlBannerSuffix": "pour que l'application mobile puisse se connecter à votre serveur.",
|
|
294
|
-
"externalUrlRequired": "Une URL externe doit être configurée dans les paramètres généraux pour que l'appairage mobile fonctionne.",
|
|
295
|
-
"failedToGenerateToken": "Impossible de générer le jeton",
|
|
296
|
-
"generateToken": "Générer un jeton d'appairage",
|
|
297
|
-
"getOnGooglePlay": "Télécharger sur Google Play",
|
|
298
|
-
"getTheApp": "Téléchargez l'application",
|
|
299
|
-
"getTheAppDesc": "Téléchargez l'application mobile Tracearr pour iOS ou Android",
|
|
300
|
-
"mobileAccessDisabled": "Accès mobile désactivé",
|
|
301
|
-
"mobileAccessDisabledDesc": "Activez l'accès mobile pour permettre à l'application mobile Tracearr de se connecter à votre serveur.",
|
|
302
|
-
"noDevices": "Aucun appareil connecté",
|
|
303
|
-
"oneTimePairToken": "Jeton de Paire à usage unique",
|
|
304
|
-
"pairDevice": "Associer un appareil",
|
|
305
|
-
"pairNewDevice": "Associer un nouvel appareil",
|
|
306
|
-
"pairNewDeviceDesc": "Scannez le code QR avec l'application mobile Tracearr ou saisissez le jeton manuellement.",
|
|
307
|
-
"pairYourDevice": "Associer votre appareil",
|
|
308
|
-
"pairYourDeviceDesc": "Scannez le code QR avec l'application Tracearr pour connecter ce serveur.",
|
|
309
|
-
"pendingTokens": "{{count}} token en attente",
|
|
310
|
-
"removeDevice": "Supprimer l'appareil",
|
|
311
|
-
"removeDeviceConfirm": "Êtes-vous sûr de vouloir supprimer {{deviceName}}? Cet appareil devra être relié à nouveau pour se reconnecter.",
|
|
312
|
-
"renameDevice": "Renommer l'appareil",
|
|
313
|
-
"renameDeviceDesc": "Entrez un nom pour identifier cet appareil dans la liste.",
|
|
314
|
-
"revokeAll": "Révoquer toutes les sessions",
|
|
315
|
-
"revokeAllConfirm": "Cela déconnectera tous les appareils mobiles. Ils devront s'appairer à nouveau pour se reconnecter.",
|
|
316
|
-
"revokeAllSessions": "Révoquer tout",
|
|
317
|
-
"scanQrCode": "Scanner le code QR",
|
|
318
|
-
"title": "Application mobile",
|
|
319
|
-
"tokenExpires": "Le jeton d'appairage expire dans {{time}}",
|
|
320
|
-
"tokenExpiryNote": "Ce jeton expire dans 5 minutes et ne peut être utilisé qu'une seule fois."
|
|
321
|
-
},
|
|
322
|
-
"notifications": {
|
|
323
|
-
"agentCard": {
|
|
324
|
-
"default": "Par défaut",
|
|
325
|
-
"editSettings": "Modifier les paramètres",
|
|
326
|
-
"events": "Évènements",
|
|
327
|
-
"notConfigured": "Non entièrement configuré.",
|
|
328
|
-
"saved": "Enregistré",
|
|
329
|
-
"sendTest": "Envoyer le test"
|
|
330
|
-
},
|
|
331
|
-
"routing": {
|
|
332
|
-
"discord": "Discord",
|
|
333
|
-
"event": "Evénement",
|
|
334
|
-
"web": "Web",
|
|
335
|
-
"webNote": "Les notifications push sont configurées par appareil dans l'application mobile.",
|
|
336
|
-
"webToastNote": "affiche les notifications toast dans ce navigateur.",
|
|
337
|
-
"webhook": "Webhook"
|
|
338
|
-
}
|
|
339
|
-
},
|
|
340
|
-
"plex": {
|
|
341
|
-
"chooseServer": "Choisir le serveur Plex à surveiller",
|
|
342
|
-
"selectServer": "Sélectionner un serveur",
|
|
343
|
-
"signInWithPlex": "Se connecter avec Plex",
|
|
344
|
-
"signUpWithPlex": "S'inscrire avec Plex"
|
|
345
|
-
},
|
|
346
|
-
"serverHealth": {
|
|
347
|
-
"multipleUnreachable": "{{count}} serveurs injoignables : {{serverNames}}",
|
|
348
|
-
"unreachable": "{{serverName}} est inaccessible"
|
|
79
|
+
"apiRateLimit": "API Rate Limit",
|
|
80
|
+
"apiRateLimitDesc": "Maximum public API requests per minute per key. Restart required to apply.",
|
|
81
|
+
"apiRateLimitSuffix": "/min"
|
|
349
82
|
},
|
|
350
83
|
"servers": {
|
|
84
|
+
"title": "Serveurs connectés",
|
|
351
85
|
"addServer": "Ajouter un serveur",
|
|
352
|
-
"
|
|
353
|
-
"
|
|
354
|
-
"
|
|
355
|
-
"
|
|
86
|
+
"serverName": "Nom du serveur",
|
|
87
|
+
"serverUrl": "URL du serveur",
|
|
88
|
+
"syncInterval": "Intervalle de synchronisation",
|
|
89
|
+
"testConnection": "Tester la connexion",
|
|
90
|
+
"connectionSuccess": "Connexion réussie",
|
|
91
|
+
"connectionFailed": "Échec de la connexion",
|
|
92
|
+
"noServersConnected": "Aucun serveur connecté",
|
|
93
|
+
"noServersConnectedHint": "Cliquez sur \"Ajouter un serveur\" pour connecter un serveur Jellyfin ou Emby",
|
|
94
|
+
"serverType": "Type de serveur",
|
|
95
|
+
"loadingAccounts": "Chargement des comptes Plex liés...",
|
|
96
|
+
"noPlexAccountsLinked": "Aucun compte Plex lié pour le moment",
|
|
97
|
+
"noPlexAccountsLinkedHint": "Lier un compte Plex ci-dessus, puis revenir pour ajouter un serveur.",
|
|
98
|
+
"selectPlexAccount": "Sélectionnez le compte Plex",
|
|
99
|
+
"chooseAccount": "Choisissez un compte...",
|
|
100
|
+
"selectAccountHelp": "Sélectionnez le compte Plex dont vous voulez découvrir les serveurs.",
|
|
356
101
|
"allServersConnected": "Tous les serveurs connectés",
|
|
357
102
|
"allServersConnectedDesc": "Tous les serveurs de ce compte sont déjà connectés.",
|
|
358
|
-
"
|
|
359
|
-
"
|
|
360
|
-
"
|
|
103
|
+
"serverUrlPlaceholder": "http://192.168.1.100:8096",
|
|
104
|
+
"serverUrlHelp": "URL directe vers votre serveur Jellyfin ou Emby. Utilisez IP:port pour une fiabilité optimale.",
|
|
105
|
+
"serverNamePlaceholder": "Mon serveur multimédia",
|
|
361
106
|
"apiKeyPlaceholder": "Entrez votre clé API",
|
|
362
|
-
"
|
|
363
|
-
"chooseAccount": "Choisissez un compte...",
|
|
364
|
-
"connectServer": "Connecter le serveur",
|
|
107
|
+
"apiKeyHelp": "Trouvé dans le tableau de bord de votre serveur multimédia sous Clés API ou Paramètres avancés.",
|
|
365
108
|
"connecting": "Connexion en cours...",
|
|
366
|
-
"
|
|
367
|
-
"
|
|
368
|
-
"
|
|
369
|
-
"discoveringConnections": "Découverte des connexions...",
|
|
370
|
-
"discoveringServers": "Recherche des serveurs Plex disponibles...",
|
|
109
|
+
"connectServer": "Connecter le serveur",
|
|
110
|
+
"removeServer": "Supprimer le serveur",
|
|
111
|
+
"removeServerConfirm": "Êtes-vous sûr de vouloir supprimer ce serveur ? Toutes les données de session associées seront conservées, mais vous ne serez pas en mesure de surveiller les nouvelles sessions de ce serveur.",
|
|
371
112
|
"editServer": "Modifier le serveur",
|
|
372
113
|
"editServerDesc": "Mettre à jour le nom du serveur ou l'URL de connexion.",
|
|
373
|
-
"
|
|
374
|
-
"
|
|
375
|
-
"
|
|
376
|
-
"
|
|
377
|
-
"
|
|
114
|
+
"serverColor": "Couleur du serveur",
|
|
115
|
+
"serverColorDesc": "Utilisé pour l'attribution visuelle dans la vue multi-serveur",
|
|
116
|
+
"updating": "Mise à jour en cours...",
|
|
117
|
+
"allFieldsRequired": "Tous les champs sont obligatoires",
|
|
118
|
+
"addServerDialogDescPlex": "Sélectionnez un serveur Plex à partir de votre compte lié.",
|
|
119
|
+
"addServerDialogDescOther": "Connectez un serveur Jellyfin ou Emby.",
|
|
120
|
+
"description": "Gérez vos serveurs Plex, Jellyfin et Emby connectés",
|
|
121
|
+
"discoveringServers": "Recherche des serveurs Plex disponibles...",
|
|
122
|
+
"discoveringConnections": "Découverte des connexions...",
|
|
378
123
|
"plexAccount": "Compte Plex",
|
|
124
|
+
"serverUrlHelpJellyfin": "L'URL où votre serveur Jellyfin est accessible",
|
|
125
|
+
"serverUrlHelpEmby": "L'URL où votre serveur Emby est accessible",
|
|
126
|
+
"apiKeyHelpJellyfin": "Trouvez ceci dans le tableau de bord Jellyfin → Clés API",
|
|
127
|
+
"apiKeyHelpEmby": "Trouvez ceci dans Emby Server → Clés API",
|
|
379
128
|
"plexServerPlaceholder": "Mon serveur Plex",
|
|
380
129
|
"plexServerUrlPlaceholder": "http://192.168.1.100:32400",
|
|
381
|
-
"
|
|
382
|
-
"
|
|
383
|
-
"pollingMode": "Polling",
|
|
384
|
-
"posterSource": {
|
|
385
|
-
"automatic": "Automatic (most recent)",
|
|
386
|
-
"description": "When a title is on more than one server, use this server's poster. If it doesn't have one, we'll fall back to the most recently added copy.",
|
|
387
|
-
"emptyHint": "Add a server to choose a preferred poster source.",
|
|
388
|
-
"label": "Preferred Poster Source",
|
|
389
|
-
"title": "Poster Preferences",
|
|
390
|
-
"titleDesc": "Choose which server's poster is shown when a title exists on more than one server"
|
|
391
|
-
},
|
|
130
|
+
"updateHint": "Ou cliquez sur Mettre à jour ci-dessous pour enregistrer uniquement le changement de nom.",
|
|
131
|
+
"added": "Ajouté {{date}}",
|
|
392
132
|
"realtimeActive": "Real-time updates active",
|
|
133
|
+
"pollingMode": "Polling",
|
|
134
|
+
"setupRealtime": "Set up real-time updates",
|
|
135
|
+
"realtimeError": "Real-time error",
|
|
136
|
+
"checkingConnection": "Checking connection…",
|
|
137
|
+
"pluginVersion": "plugin v{{version}}",
|
|
138
|
+
"pluginUpdateAvailable": "Plugin update available",
|
|
393
139
|
"realtimeDialog": {
|
|
394
|
-
"
|
|
395
|
-
"
|
|
396
|
-
"
|
|
140
|
+
"title": "Enable real-time updates",
|
|
141
|
+
"updateTitle": "Update the Tracearr SSE plugin",
|
|
142
|
+
"jellyfinDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
|
|
397
143
|
"embyDescription": "Install the Tracearr SSE plugin to get instant session updates without waiting for the next poll.",
|
|
398
|
-
"
|
|
144
|
+
"jellyfinUpdateDescription": "A newer plugin release is available. Open your Jellyfin dashboard, go to Plugins, Catalog, and update Tracearr SSE, then restart Jellyfin.",
|
|
399
145
|
"embyUpdateDescription": "A newer plugin release is available. Download the latest release zip, replace the plugin DLL in your Emby plugins folder, and restart Emby.",
|
|
400
|
-
"
|
|
146
|
+
"repositoryUrl": "Repository URL",
|
|
147
|
+
"copyUrl": "Copy URL",
|
|
401
148
|
"jellyfinRepoUrl": "https://raw.githubusercontent.com/Tracearr/Media-Server-SSE/main/manifest.json",
|
|
402
|
-
"
|
|
149
|
+
"embyReleasesUrl": "https://github.com/Tracearr/Media-Server-SSE/releases",
|
|
403
150
|
"openReleases": "Open releases page",
|
|
404
|
-
"
|
|
405
|
-
"
|
|
406
|
-
"updateTitle": "Update the Tracearr SSE plugin",
|
|
151
|
+
"autoDetectNote": "Restart Jellyfin or Emby after installing the plugin; the restart is required. Tracearr itself needs no restart and picks the plugin up automatically.",
|
|
152
|
+
"close": "Close",
|
|
407
153
|
"issueBlocked": "The server reports the plugin as installed and active, but Tracearr gets a 404 from its endpoint. A reverse proxy blocking the path is the usual cause.",
|
|
408
154
|
"issueRestartRequired": "The plugin is installed, but the media server needs a restart before it activates.",
|
|
409
155
|
"issueMalfunctioned": "The server reports the plugin failed to load. Updating the plugin or the media server usually clears this."
|
|
410
156
|
},
|
|
411
|
-
"
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
"serverType": "Type de serveur",
|
|
420
|
-
"serverUrl": "URL du serveur",
|
|
421
|
-
"serverUrlHelp": "URL directe vers votre serveur Jellyfin ou Emby. Utilisez IP:port pour une fiabilité optimale.",
|
|
422
|
-
"serverUrlHelpEmby": "L'URL où votre serveur Emby est accessible",
|
|
423
|
-
"serverUrlHelpJellyfin": "L'URL où votre serveur Jellyfin est accessible",
|
|
424
|
-
"serverUrlPlaceholder": "http://192.168.1.100:8096",
|
|
425
|
-
"setupRealtime": "Set up real-time updates",
|
|
426
|
-
"realtimeError": "Real-time error",
|
|
427
|
-
"syncInterval": "Intervalle de synchronisation",
|
|
428
|
-
"testConnection": "Tester la connexion",
|
|
429
|
-
"title": "Serveurs connectés",
|
|
430
|
-
"updateHint": "Ou cliquez sur Mettre à jour ci-dessous pour enregistrer uniquement le changement de nom.",
|
|
431
|
-
"updating": "Mise à jour en cours..."
|
|
432
|
-
},
|
|
433
|
-
"tabs": {
|
|
434
|
-
"accessControl": "Contrôle d'accès",
|
|
435
|
-
"advanced": "Avancé",
|
|
436
|
-
"backup": "Sauvegarde",
|
|
437
|
-
"general": "Général",
|
|
438
|
-
"import": "Importation",
|
|
439
|
-
"jobs": "Tâches",
|
|
440
|
-
"mobile": "Application mobile",
|
|
441
|
-
"notifications": "Notifications",
|
|
442
|
-
"servers": "Serveurs",
|
|
443
|
-
"tailscale": "Tailscale"
|
|
157
|
+
"posterSource": {
|
|
158
|
+
"title": "Poster Preferences",
|
|
159
|
+
"titleDesc": "Choose which server's poster is shown when a title exists on more than one server",
|
|
160
|
+
"label": "Preferred Poster Source",
|
|
161
|
+
"description": "When a title is on more than one server, use this server's poster. If it doesn't have one, we'll fall back to the most recently added copy.",
|
|
162
|
+
"automatic": "Automatic (most recent)",
|
|
163
|
+
"emptyHint": "Add a server to choose a preferred poster source."
|
|
164
|
+
}
|
|
444
165
|
},
|
|
445
|
-
"
|
|
446
|
-
"
|
|
447
|
-
"
|
|
448
|
-
"
|
|
449
|
-
"
|
|
450
|
-
"
|
|
451
|
-
"
|
|
452
|
-
"
|
|
453
|
-
"
|
|
454
|
-
"
|
|
455
|
-
"
|
|
456
|
-
"
|
|
457
|
-
"
|
|
458
|
-
"
|
|
459
|
-
"
|
|
460
|
-
"
|
|
461
|
-
"
|
|
462
|
-
"
|
|
463
|
-
"
|
|
464
|
-
"
|
|
465
|
-
"
|
|
466
|
-
"
|
|
467
|
-
"
|
|
468
|
-
"
|
|
469
|
-
"
|
|
470
|
-
"
|
|
471
|
-
"
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
166
|
+
"mobile": {
|
|
167
|
+
"title": "Application mobile",
|
|
168
|
+
"pairDevice": "Associer un appareil",
|
|
169
|
+
"connectedDevices": "Appareils connectés",
|
|
170
|
+
"generateToken": "Générer un jeton d'appairage",
|
|
171
|
+
"scanQrCode": "Scanner le code QR",
|
|
172
|
+
"tokenExpires": "Le jeton d'appairage expire dans {{time}}",
|
|
173
|
+
"noDevices": "Aucun appareil connecté",
|
|
174
|
+
"revokeAll": "Révoquer toutes les sessions",
|
|
175
|
+
"getTheApp": "Téléchargez l'application",
|
|
176
|
+
"getTheAppDesc": "Téléchargez l'application mobile Tracearr pour iOS ou Android",
|
|
177
|
+
"getOnGooglePlay": "Télécharger sur Google Play",
|
|
178
|
+
"downloadOnAppStore": "Télécharger sur l'App Store",
|
|
179
|
+
"pairYourDevice": "Associer votre appareil",
|
|
180
|
+
"pairYourDeviceDesc": "Scannez le code QR avec l'application Tracearr pour connecter ce serveur.",
|
|
181
|
+
"externalUrlRequired": "Une URL externe doit être configurée dans les paramètres généraux pour que l'appairage mobile fonctionne.",
|
|
182
|
+
"mobileAccessDisabled": "Accès mobile désactivé",
|
|
183
|
+
"mobileAccessDisabledDesc": "Activez l'accès mobile pour permettre à l'application mobile Tracearr de se connecter à votre serveur.",
|
|
184
|
+
"enableMobileAccess": "Activer l'accès mobile",
|
|
185
|
+
"enabling": "Activation...",
|
|
186
|
+
"devicesConnected": "{{current}} des appareils {{max}} connectés",
|
|
187
|
+
"pendingTokens": "{{count}} token en attente",
|
|
188
|
+
"addDevice": "Ajouter un appareil",
|
|
189
|
+
"disableMobileAccess": "Désactiver l'accès mobile",
|
|
190
|
+
"connectedDevicesDesc": "Périphériques {{count}} appariés à votre serveur",
|
|
191
|
+
"revokeAllSessions": "Révoquer tout",
|
|
192
|
+
"pairNewDevice": "Associer un nouvel appareil",
|
|
193
|
+
"pairNewDeviceDesc": "Scannez le code QR avec l'application mobile Tracearr ou saisissez le jeton manuellement.",
|
|
194
|
+
"expiresIn": "Expire dans {{time}}",
|
|
195
|
+
"oneTimePairToken": "Jeton de Paire à usage unique",
|
|
196
|
+
"copyToken": "Copier le jeton",
|
|
197
|
+
"tokenExpiryNote": "Ce jeton expire dans 5 minutes et ne peut être utilisé qu'une seule fois.",
|
|
198
|
+
"done": "Fait",
|
|
199
|
+
"disableMobileAccessConfirm": "Ceci va déconnecter tous les appareils mobiles et révoquer toutes les sessions. Vous pourrez réactiver l'accès mobile plus tard.",
|
|
200
|
+
"disable": "Désactiver",
|
|
201
|
+
"revokeAllConfirm": "Cela déconnectera tous les appareils mobiles. Ils devront s'appairer à nouveau pour se reconnecter.",
|
|
202
|
+
"renameDevice": "Renommer l'appareil",
|
|
203
|
+
"renameDeviceDesc": "Entrez un nom pour identifier cet appareil dans la liste.",
|
|
204
|
+
"deviceName": "Nom de l'appareil",
|
|
205
|
+
"deviceNamePlaceholder": "par exemple iPhone 15",
|
|
206
|
+
"removeDevice": "Supprimer l'appareil",
|
|
207
|
+
"failedToGenerateToken": "Impossible de générer le jeton",
|
|
208
|
+
"removeDeviceConfirm": "Êtes-vous sûr de vouloir supprimer {{deviceName}}? Cet appareil devra être relié à nouveau pour se reconnecter.",
|
|
209
|
+
"externalUrlBanner": "Utiliser un proxy inversé ou accéder à distance ? Définissez votre",
|
|
210
|
+
"externalUrlBannerLink": "URL externe",
|
|
211
|
+
"externalUrlBannerSuffix": "pour que l'application mobile puisse se connecter à votre serveur."
|
|
212
|
+
},
|
|
213
|
+
"tailscale": {
|
|
214
|
+
"title": "VPN Tailscale",
|
|
215
|
+
"description": "Accédez à Tracearr en toute sécurité sur votre réseau Tailscale, sans redirection de port.",
|
|
216
|
+
"notAvailable": "Le binaire de Tailscale est introuvable. Cette fonctionnalité n'est uniquement disponible que lorsque vous utilisez l'image Docker officielle.",
|
|
217
|
+
"disabledDescription": "Activez Tailscale pour placer Tracearr sur votre tailnet privé. Aucune redirection de port ni reverse proxy requis.",
|
|
218
|
+
"hostnameLabel": "Nom d'hôte de l'appareil",
|
|
219
|
+
"hostnameHint": "Nom personnalisé facultatif pour cet appareil sur votre tailnet. Lettres, chiffres et tirets uniquement.",
|
|
220
|
+
"enable": "Activer Tailscale",
|
|
221
|
+
"disable": "Désactiver Tailscale",
|
|
222
|
+
"starting": "Démarrage de Tailscale...",
|
|
223
|
+
"stopping": "Arrêt de Tailscale...",
|
|
224
|
+
"awaitingAuth": "En attente d'autorisation...",
|
|
225
|
+
"authorize": "Autoriser dans Tailscale",
|
|
226
|
+
"connected": "Tailscale est connecté. Votre instance Tracearr est disponible sur le tailnet.",
|
|
227
|
+
"hostname": "Nom d'hôte",
|
|
228
|
+
"dnsName": "Nom du DNS",
|
|
229
|
+
"tailnetUrl": "URL",
|
|
230
|
+
"showLogs": "Afficher les journaux",
|
|
231
|
+
"hideLogs": "Masquer les journaux",
|
|
232
|
+
"noLogs": "Aucune journalisation de sortie disponible.",
|
|
233
|
+
"exitNodeNone": "Aucun",
|
|
234
|
+
"exitNodeOffline": "(hors ligne)",
|
|
235
|
+
"unknownError": "Une erreur inconnue s'est produite.",
|
|
236
|
+
"disableConfirmTitle": "Désactiver Tailscale ?",
|
|
237
|
+
"disableConfirmDescription": "Cela déconnectera Tracearr de votre tailnet. Vous pourrez le réactiver sans avoir à l'autoriser de nouveau.",
|
|
238
|
+
"resetConfirmTitle": "Réinitialiser Tailscale ?",
|
|
239
|
+
"resetConfirmDescription": "Tracearr sera déconnecté de votre tailnet et l'identité de l'appareil sera supprimée. Une nouvelle autorisation sera nécessaire si vous l'activez à nouveau.",
|
|
240
|
+
"toast": {
|
|
241
|
+
"disabled": "Tailscale a été désactivé.",
|
|
242
|
+
"enableFailed": "Échec de l'activation de Tailscale",
|
|
243
|
+
"disableFailed": "Échec de la désactivation de Tailscale",
|
|
244
|
+
"reset": "Tailscale a été réinitialisé.",
|
|
245
|
+
"resetFailed": "Échec de la réinitialisation de Tailscale",
|
|
246
|
+
"exitNodeSet": "Exit node mis à jour.",
|
|
247
|
+
"exitNodeFailed": "Impossible de définir l'exit node"
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
"webhooks": {
|
|
251
|
+
"title": "Configuration du webhook",
|
|
252
|
+
"discordWebhook": "URL du webhook Discord",
|
|
253
|
+
"ntfyTopic": "Sujet Ntfy",
|
|
254
|
+
"customWebhook": "URL personnalisée du webhook",
|
|
255
|
+
"webhookFormat": "Format du webhook",
|
|
256
|
+
"testWebhook": "Tester le webhook"
|
|
257
|
+
},
|
|
258
|
+
"jobs": {
|
|
259
|
+
"title": "Tâches d'entretien",
|
|
260
|
+
"description": "Gérer les tâches de fond qui gardent vos données exactes et optimisées.",
|
|
261
|
+
"normalization": "Normalisation",
|
|
262
|
+
"backfill": "Remplissage",
|
|
263
|
+
"cleanup": "Nettoyage",
|
|
264
|
+
"running": "en cours d'exécution",
|
|
265
|
+
"queued": "mis en file d'attente",
|
|
266
|
+
"delayed": "différé",
|
|
267
|
+
"waiting": "En attente",
|
|
268
|
+
"runningState": "En cours d'exécution",
|
|
269
|
+
"runJob": "Exécuter le Job",
|
|
270
|
+
"processed": "traité",
|
|
271
|
+
"updated": "Mis à jour",
|
|
272
|
+
"unchanged": "inchangé",
|
|
273
|
+
"errors": "erreurs",
|
|
274
|
+
"lastJobCompleted": "Dernière tâche terminée avec succès",
|
|
275
|
+
"lastJobFailed": "La dernière tâche a échoué",
|
|
276
|
+
"jobHistory": "Historique des tâches",
|
|
277
|
+
"jobHistoryDesc": "Exécution récente d'une tâche de maintenance",
|
|
278
|
+
"runConfirm": "Exécuter {{name}}?",
|
|
279
|
+
"mayTakeAWhile": "Cela peut prendre un certain temps",
|
|
280
|
+
"mayTakeAWhileDesc": "Cette tâche peut prendre plusieurs minutes selon la taille de votre bibliothèque.",
|
|
281
|
+
"startJob": "Commencer la tâche"
|
|
282
|
+
},
|
|
283
|
+
"notifications": {
|
|
284
|
+
"routing": {
|
|
285
|
+
"event": "Evénement",
|
|
286
|
+
"web": "Web",
|
|
287
|
+
"discord": "Discord",
|
|
288
|
+
"webhook": "Webhook",
|
|
289
|
+
"webNote": "Les notifications push sont configurées par appareil dans l'application mobile.",
|
|
290
|
+
"webToastNote": "affiche les notifications toast dans ce navigateur."
|
|
479
291
|
},
|
|
480
|
-
"
|
|
292
|
+
"agentCard": {
|
|
293
|
+
"saved": "Enregistré",
|
|
294
|
+
"default": "Par défaut",
|
|
295
|
+
"events": "Évènements",
|
|
296
|
+
"sendTest": "Envoyer le test",
|
|
297
|
+
"notConfigured": "Non entièrement configuré.",
|
|
298
|
+
"editSettings": "Modifier les paramètres"
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
"advanced": {
|
|
302
|
+
"title": "Réglages avancés",
|
|
303
|
+
"externalUrl": "URL externe",
|
|
304
|
+
"trustProxy": "En-têtes de confiance du Proxy",
|
|
305
|
+
"reverseProxy": "Proxy inversé",
|
|
306
|
+
"connectionScenarios": "Scénarios de connexion"
|
|
307
|
+
},
|
|
308
|
+
"accessControl": {
|
|
309
|
+
"title": "Contrôle d'accès",
|
|
310
|
+
"description": "Configurer qui peut accéder à Tracearr",
|
|
311
|
+
"allowGuestAccess": "Autoriser l'accès aux invités",
|
|
312
|
+
"allowGuestAccessDesc": "Lorsque désactivé, seul le propriétaire du serveur peut se connecter à Tracearr",
|
|
313
|
+
"singleOwnerNote": "Remarque : Lorsque l'accès des invités est désactivé, seul le propriétaire du serveur peut se connecter. Tous les autres utilisateurs verront un message \"Accès refusé\"."
|
|
314
|
+
},
|
|
315
|
+
"import": {
|
|
316
|
+
"title": "Importer des données",
|
|
317
|
+
"jellystat": "Importer depuis Jellystat",
|
|
318
|
+
"tautulli": "Importer depuis Tautulli",
|
|
319
|
+
"importProgress": "Progression de l'import",
|
|
320
|
+
"importComplete": "Importation terminée",
|
|
321
|
+
"importFailed": "Échec de l'importation",
|
|
322
|
+
"processed": "Traité",
|
|
323
|
+
"page": "Page",
|
|
324
|
+
"imported": "Importé",
|
|
325
|
+
"skipped": "Ignoré",
|
|
326
|
+
"enriched": "Enrichi",
|
|
327
|
+
"errors": "Erreurs",
|
|
328
|
+
"noServers": "Aucun serveur connecté",
|
|
329
|
+
"noServersHint": "Vous avez besoin d'au moins un serveur connecté pour importer des données.",
|
|
330
|
+
"tautulliUrl": "URL Tautulli",
|
|
331
|
+
"tautulliUrlPlaceholder": "http://localhost:8181",
|
|
332
|
+
"tautulliUrlHelp": "L'URL de votre instance Tautulli.",
|
|
333
|
+
"apiKeyHelp": "Trouvé dans les paramètres Tautulli → Interface Web → Clé d'API.",
|
|
334
|
+
"testing": "Test en cours...",
|
|
335
|
+
"connectToTautulli": "Se connecter à Tautulli",
|
|
336
|
+
"importHistory": "Historique d'importation",
|
|
337
|
+
"targetServer": "Target Server",
|
|
338
|
+
"selectPlexServer": "Sélectionnez un serveur Plex",
|
|
339
|
+
"overwriteFriendlyNames": "Remplacer les noms conviviaux existants par des noms Tautulli",
|
|
340
|
+
"overwriteFriendlyNamesHelp": "Les noms d'identité existants dans Tracearr seront remplacés par les noms amicaux de Tautulli.",
|
|
341
|
+
"includeStreamDetails": "Inclure les données détaillées du flux (codecs, débit, résolution)",
|
|
342
|
+
"includeStreamDetailsHelp": "Importe des informations de flux supplémentaires. Peut augmenter considérablement le temps d'importation.",
|
|
343
|
+
"importing": "Importation en cours...",
|
|
344
|
+
"startImport": "Commencer l'importation",
|
|
345
|
+
"howItWorks": "Comment fonctionne l'import",
|
|
346
|
+
"howItWorksDesc": "Tracearr importera toutes les données historiques de surveillance de votre source. Cela peut prendre un certain temps en fonction de la taille de votre bibliothèque.",
|
|
347
|
+
"recordsMayBeSkipped": "Les enregistrements peuvent être ignorés si :",
|
|
348
|
+
"selectTargetServer": "Sélectionnez le serveur cible",
|
|
349
|
+
"selectJellyfinServer": "Sélectionnez un serveur Jellyfin ou Emby",
|
|
350
|
+
"uploadJellystatBackup": "Télécharger la sauvegarde Jellystat",
|
|
351
|
+
"exportBackupHint": "Exporter une sauvegarde d'activité depuis Jellystat",
|
|
352
|
+
"exportBackupHelp": "Dans Jellystat, allez dans Paramètres → Sauvegarde → Sauvegarde d'activités pour exporter vos données.",
|
|
353
|
+
"importOptions": "Options d'importation",
|
|
354
|
+
"enrichMetadata": "Enrichir avec les métadonnées du média (recommandé)",
|
|
355
|
+
"enrichMetadataHelp": "Récupère des métadonnées supplémentaires depuis votre serveur multimédia pour les sessions importées.",
|
|
356
|
+
"updateExistingRecords": "Mettre à jour les enregistrements existants avec les détails du flux",
|
|
357
|
+
"updateExistingRecordsHelp": "Les enregistrements précédemment importés seront mis à jour avec les données de qualité du flux.",
|
|
358
|
+
"pleaseEnterDetails": "Veuillez entrer l'URL et la clé API de Tautulli",
|
|
359
|
+
"testingConnection": "Test de la connexion...",
|
|
360
|
+
"pleaseSelectJsonFile": "Veuillez sélectionner un fichier JSON",
|
|
361
|
+
"uploadingBackup": "Téléchargement du fichier de sauvegarde...",
|
|
362
|
+
"importHistoryDesc": "Importer des données historiques de surveillance à partir de sources externes",
|
|
363
|
+
"plex": "Plex (Tautulli)",
|
|
364
|
+
"jellyfinEmby": "Jellyfin/Emby (Jellystat)",
|
|
365
|
+
"step1": "1",
|
|
366
|
+
"step2": "2",
|
|
367
|
+
"apiKeyPlaceholder": "Votre clé API Tautulli",
|
|
368
|
+
"skipUserNotFoundPlex": "Utilisateur introuvable — L'utilisateur Plex n'existe pas dans Tracearr. Synchronisez d'abord votre serveur pour ajouter tous les utilisateurs.",
|
|
369
|
+
"skipDuplicate": "Dupliquer la session — La session a déjà été importée précédemment.",
|
|
370
|
+
"skipInProgress": "Session en cours — Les sessions actives/incomplètes sans identifiant de référence sont ignorées.",
|
|
371
|
+
"skipUserNotFoundJellyfin": "Utilisateur introuvable — L'utilisateur Jellyfin/Emby n'existe pas dans Tracearr. Synchronisez d'abord votre serveur pour ajouter tous les utilisateurs.",
|
|
372
|
+
"skipSyncHint": "Si plusieurs enregistrements sont ignorés, assurez-vous que vous avez récemment synchronisé votre serveur dans Paramètres → Serveurs.",
|
|
373
|
+
"importInProgressPercent": "Importation en cours ({{percent}}% terminé)...",
|
|
374
|
+
"importInProgressGeneric": "Importation en cours...",
|
|
375
|
+
"startingImport": "Démarrage de l'importation...",
|
|
376
|
+
"connectedFound": "Connecté ! Utilisateurs {{users}} trouvés et enregistrements de l'historique {{records}}.",
|
|
377
|
+
"playbackReporting": "Playback Reporting Plugin",
|
|
378
|
+
"playbackReportingDesc": "Import history directly from the Playback Reporting plugin installed on your Jellyfin or Emby server. No file export needed.",
|
|
379
|
+
"checkPlugin": "Check Plugin",
|
|
380
|
+
"checkingPlugin": "Checking...",
|
|
381
|
+
"pluginFound": "Plugin found: {{records}} records from {{oldestDate}} to {{newestDate}}",
|
|
382
|
+
"pluginNotInstalled": "The Playback Reporting plugin is not installed on this server, or Tracearr cannot reach it. Install it from the server's plugin catalog to start recording history, or use the Jellystat import below.",
|
|
383
|
+
"serverTimezone": "Server Timezone",
|
|
384
|
+
"serverTimezoneHelp": "Must match the timezone configured on your media server host, not your browser's timezone. Playback Reporting timestamps are stored in local server time.",
|
|
385
|
+
"importFullRange": "Import full history",
|
|
386
|
+
"importFullRangeHelp": "By default only history older than Tracearr's earliest tracked session for this server is imported, so sessions Tracearr already recorded are never duplicated. Enable this to import the plugin's entire history regardless of overlap, if your Tracearr history has gaps. Exact duplicates are still skipped.",
|
|
387
|
+
"overlapSkipped": "{{count}} skipped as overlap",
|
|
388
|
+
"duplicates": "{{count}} duplicates skipped",
|
|
389
|
+
"skipOverlap": "Overlapping record - the timestamp falls inside the period Tracearr already tracks for this server. Enable full-range import to include it.",
|
|
390
|
+
"skipDuplicatePlugin": "Duplicate record - already imported directly or arrived earlier via a Jellystat import of the same plugin data."
|
|
391
|
+
},
|
|
392
|
+
"plex": {
|
|
393
|
+
"signInWithPlex": "Se connecter avec Plex",
|
|
394
|
+
"signUpWithPlex": "S'inscrire avec Plex",
|
|
395
|
+
"selectServer": "Sélectionner un serveur",
|
|
396
|
+
"chooseServer": "Choisir le serveur Plex à surveiller"
|
|
397
|
+
},
|
|
398
|
+
"account": {
|
|
399
|
+
"createAccount": "Créer un compte",
|
|
400
|
+
"email": "Email",
|
|
401
|
+
"password": "Mot de passe",
|
|
402
|
+
"displayName": "Nom d'affichage",
|
|
403
|
+
"createYourAccount": "Créez votre compte pour démarrer",
|
|
404
|
+
"signInToAccount": "Connectez-vous à votre compte",
|
|
405
|
+
"useLocalAccount": "Utiliser un compte local à la place"
|
|
481
406
|
},
|
|
482
|
-
"title": "Réglages",
|
|
483
407
|
"update": {
|
|
484
|
-
"betaUpdate": "Mise à jour bêta",
|
|
485
|
-
"newVersion": "Nouvelle version",
|
|
486
|
-
"pullInstructions": "Après avoir réalisé le pull Docker, redémarrez cotre conteneur pour appliquer la modification.",
|
|
487
|
-
"releaseNotes": "Notes de version",
|
|
488
|
-
"stableRelease": "Version stable",
|
|
489
408
|
"title": "Mise à jour disponible",
|
|
409
|
+
"releaseNotes": "Notes de version",
|
|
490
410
|
"updateCommand": "Commande de mise à jour",
|
|
411
|
+
"pullInstructions": "Après avoir réalisé le pull Docker, redémarrez cotre conteneur pour appliquer la modification.",
|
|
412
|
+
"stableRelease": "Version stable",
|
|
413
|
+
"betaUpdate": "Mise à jour bêta",
|
|
414
|
+
"newVersion": "Nouvelle version",
|
|
491
415
|
"versionAvailable": "Version {{version}} disponible"
|
|
492
416
|
},
|
|
493
|
-
"
|
|
494
|
-
"
|
|
495
|
-
"
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
"
|
|
499
|
-
"
|
|
417
|
+
"serverHealth": {
|
|
418
|
+
"unreachable": "{{serverName}} est inaccessible",
|
|
419
|
+
"multipleUnreachable": "{{count}} serveurs injoignables : {{serverNames}}"
|
|
420
|
+
},
|
|
421
|
+
"ipWarning": {
|
|
422
|
+
"message": "Tous les utilisateurs semblent utiliser la même adresse IP ou des IP locales. Cela peut affecter la logique des règles basées sur l'emplacement ou l'adresse IP.",
|
|
423
|
+
"acknowledge": "Compris"
|
|
424
|
+
},
|
|
425
|
+
"backup": {
|
|
426
|
+
"title": "Sauvegarde",
|
|
427
|
+
"backToBackups": "Retour aux sauvegardes",
|
|
428
|
+
"description": "Sauvegardez et restaurez vos données Tracearr",
|
|
429
|
+
"createBackup": "Créer une sauvegarde",
|
|
430
|
+
"creating": "Création de la sauvegarde...",
|
|
431
|
+
"uploadBackup": "Téléverser une sauvegarde",
|
|
432
|
+
"uploading": "Téléversement...",
|
|
433
|
+
"databaseSize": "Taille actuelle de la base de données : {{size}}",
|
|
434
|
+
"freeSpace": "Espace libre dans le répertoire de sauvegarde : {{size}}",
|
|
435
|
+
"lowDiskSpace": "Espace disque faible — les sauvegardes et restaurations nécessitent au moins deux fois la taille de la base de données en espace libre.",
|
|
436
|
+
"backupHistory": "Historique des sauvegardes",
|
|
437
|
+
"noBackups": "Aucune sauvegarde pour le moment. Créez votre première sauvegarde ci-dessus.",
|
|
438
|
+
"filename": "Nom du fichier",
|
|
439
|
+
"size": "Taille",
|
|
440
|
+
"date": "Date",
|
|
441
|
+
"type": "Type",
|
|
442
|
+
"version": "Version",
|
|
443
|
+
"actions": "Actions",
|
|
444
|
+
"typeManual": "Manuelle",
|
|
445
|
+
"typeScheduled": "Planifiée",
|
|
446
|
+
"typeUploaded": "Téléversé",
|
|
447
|
+
"restoreAction": "Restaurer",
|
|
448
|
+
"deleteConfirmTitle": "Supprimer la sauvegarde",
|
|
449
|
+
"deleteConfirmDescription": "Êtes-vous sûr de vouloir supprimer cette sauvegarde ? Cette action est irréversible.",
|
|
450
|
+
"schedule": "Sauvegardes planifiées",
|
|
451
|
+
"scheduleType": "Planification",
|
|
452
|
+
"scheduleDisabled": "Désactivé",
|
|
453
|
+
"scheduleDaily": "Journalière",
|
|
454
|
+
"scheduleWeekly": "Hebdomadaire",
|
|
455
|
+
"scheduleMonthly": "Mensuelle",
|
|
456
|
+
"scheduleTime": "Heure ({{timezone}})",
|
|
457
|
+
"scheduleDayOfWeek": "Jour de la semaine",
|
|
458
|
+
"scheduleDayOfMonth": "Jour du mois",
|
|
459
|
+
"scheduleDayOfMonthHint": "Pour les mois comportant moins de jours, la sauvegarde est effectuée le dernier jour du mois.",
|
|
460
|
+
"retentionCount": "Garder les dernières :",
|
|
461
|
+
"retentionSuffix": "sauvegardes planifiées",
|
|
462
|
+
"daySun": "Dimanche",
|
|
463
|
+
"dayMon": "Lundi",
|
|
464
|
+
"dayTue": "Mardi",
|
|
465
|
+
"dayWed": "Mercredi",
|
|
466
|
+
"dayThu": "Jeudi",
|
|
467
|
+
"dayFri": "Vendredi",
|
|
468
|
+
"daySat": "Samedi",
|
|
469
|
+
"restore": {
|
|
470
|
+
"title": "Restaurer la sauvegarde",
|
|
471
|
+
"selectedBackup": "Sauvegarde sélectionnée",
|
|
472
|
+
"databaseSize": "Taille de la base de données",
|
|
473
|
+
"sessions": "Sessions",
|
|
474
|
+
"users": "Utilisateurs",
|
|
475
|
+
"servers": "Serveurs",
|
|
476
|
+
"rules": "Règles",
|
|
477
|
+
"libraryItems": "Éléments de la bibliothèque",
|
|
478
|
+
"tables": "Tableaux",
|
|
479
|
+
"warning": "La restauration remplacera toutes les données existantes. Vous devrez vous reconnecter une fois la restauration complétée.",
|
|
480
|
+
"confirmLabel": "Je comprends que cela remplacera toutes les données",
|
|
481
|
+
"confirm": "Démarrer la restauration",
|
|
482
|
+
"complete": "Restauration effectuée avec succès. La page s'actualisera sous peu.",
|
|
483
|
+
"failed": "Échec de la restauration",
|
|
484
|
+
"cannotRestore": "La restauration nécessite des privilèges de superutilisateur PostgreSQL. Veuillez vous assurer que votre utilisateur de base de données dispose de ces privilèges, puis réessayez.",
|
|
485
|
+
"pgVersionMismatch": "La sauvegarde a été créée avec PostgreSQL {{backupVersion}}, mais ce serveur utilise PostgreSQL {{serverVersion}}. La restauration d'une sauvegarde issue d'une version plus récente de PostgreSQL n'est pas prise en charge.",
|
|
486
|
+
"tsVersionMismatch": "La sauvegarde a été créée avec TimescaleDB {{backupVersion}}, mais ce serveur ne prend en charge que jusqu'à TimescaleDB {{serverVersion}}."
|
|
487
|
+
},
|
|
488
|
+
"toast": {
|
|
489
|
+
"backupCreated": "Sauvegarde créée avec succès",
|
|
490
|
+
"backupCreateFailed": "Échec de création de la sauvegarde",
|
|
491
|
+
"backupUploaded": "Sauvegarde téléversée avec succès",
|
|
492
|
+
"backupUploadFailed": "Échec du téléversement de la sauvegarde",
|
|
493
|
+
"backupDeleted": "Sauvegarde supprimée",
|
|
494
|
+
"backupDeleteFailed": "Échec de suppression de la sauvegarde",
|
|
495
|
+
"restoreStarted": "La restauration a démarré",
|
|
496
|
+
"restoreStartFailed": "Échec du démarrage de la restauration",
|
|
497
|
+
"scheduleSaved": "Planification de la sauvegarde enregistrée",
|
|
498
|
+
"scheduleError": "Échec de l'enregistrement de la planification de la sauvegarde"
|
|
499
|
+
}
|
|
500
500
|
}
|
|
501
501
|
}
|