forked from GladysAssistant/Gladys
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfr.json
More file actions
5831 lines (5831 loc) · 313 KB
/
Copy pathfr.json
File metadata and controls
5831 lines (5831 loc) · 313 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
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
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
{
"global": {
"logoAlt": "Logo Gladys",
"needHelpText": "Besoin d'aide ? Rejoignez-nous sur <a href=\"https://community.gladysassistant.com/\" target=\"_blank\" rel=\"noopener noreferrer\"> Gladys Community</a>.",
"new": "Nouveau",
"orderDirAsc": "A - Z",
"orderDirDesc": "Z - A",
"emptySelectOption": "---------",
"backButton": "◀️️ Retour",
"requiredField": "*",
"listItem": "{{index}}.",
"percentValue": "{{value}}%",
"percent": "%",
"degreeValue": "{{value}}°",
"workInProgress": "Travail en cours...",
"save": "Enregistrer",
"celsius": "C",
"fahrenheit": "F",
"metersPerSec": "m/s",
"milesPerHour": "m/h",
"selectPlaceholder": "Sélectionnez...",
"yes": "Oui",
"no": "Non",
"edit": "Éditer",
"delete": "Supprimer",
"next": "Suivant",
"back": "Retour",
"create": "Créer",
"cancel": "Annuler",
"selectDevice": "Sélectionner un appareil",
"noData": "Aucune donnée",
"price": "Prix",
"collapse": "Réduire",
"expand": "Développer",
"loading": "Chargement...",
"preview": "Aperçu"
},
"color": {
"aqua": "Aqua",
"black": "Noir",
"blue": "Bleu",
"green": "Vert",
"grey": "Gris",
"orange": "Orange",
"pink": "Rose",
"purple": "Violet",
"red": "Rouge",
"yellow": "Jaune"
},
"calendar": {
"allDay": "Toute la journée",
"previous": "Précédent",
"next": "Suivant",
"today": "Aujourd'hui",
"month": "Mois",
"week": "Semaine",
"day": "Jour",
"agenda": "Agenda",
"date": "Date",
"time": "Heure",
"event": "Événement",
"noEventsInRange": "Aucun évènement trouvé dans cette période.",
"noCalendarsConnected": "Vous n'avez connecté aucun calendrier. Pour connecter un calendrier, vous pouvez vous rendre dans l'onglet intégrations, ou demander à ce qu'un autre membre de cette instance Gladys partage un de ses calendriers."
},
"device": {
"searchPlaceHolder": "Chercher un appareil",
"noRoom": "Sans pièce",
"noFeatures": "Aucune fonctionnalité",
"tooMuchStatesToDelete": "Cet appareil a {{count}} états dans la base de données et ne peut être supprimé immédiatement. Gladys a lancé une suppression lente en arrière-plan de tous les états de cet appareil afin d'éviter qu'elle ne soit bloquée pendant la suppression de ceux-ci. Cette suppression peut durer quelques minutes ou quelques heures (selon la rapidité de votre disque). Vous pouvez suivre la progression de la suppression <a href=\"/dashboard/settings/jobs\">ici</a>. Lorsque ce processus sera terminé, nous vous invitons à revenir sur cet onglet pour effectuer la suppression définitive de cet appareil.",
"migrate": {
"button": "Migrer",
"modalTitle": "Migrer « {{name}} »",
"description": "Migrez cet appareil vers un appareil d'une autre intégration : son <b>historique d'états</b>, les <b>scènes</b> et les <b>tableaux de bord</b> qui l'utilisent seront déplacés vers l'appareil de destination, puis <b>cet appareil sera supprimé</b>. Si les deux appareils ont enregistré des états sur la même période, seul l'historique antérieur au premier état de la destination est déplacé, afin de ne rien compter en double.",
"destinationLabel": "Appareil de destination",
"featuresTitle": "Correspondance des fonctionnalités",
"doNotMigrate": "Ne pas migrer",
"typeMismatchWarning": "Cette fonctionnalité a un type différent de la fonctionnalité source : son historique risque de ne plus avoir de sens une fois migré.",
"unitMismatchWarning": "Cette fonctionnalité a une unité différente de la fonctionnalité source : les valeurs sont déplacées sans conversion, les graphiques risquent de devenir incohérents.",
"unmappedWarning": "Certaines fonctionnalités n'ont pas de correspondance : leur historique sera supprimé, et les scènes et tableaux de bord qui les utilisent ne seront pas mis à jour.",
"noDestinationAvailable": "Aucun appareil d'une autre intégration n'a été trouvé. Créez d'abord l'appareil de destination dans sa nouvelle intégration, puis revenez ici pour migrer.",
"loadError": "Impossible de charger la liste des appareils. Veuillez réessayer.",
"migrateError": "La migration a échoué. L'ancien appareil n'a pas été supprimé, mais une partie de l'historique a pu être déjà déplacée vers la destination. Vérifiez la page des tâches et votre liste d'appareils, puis réessayez : une nouvelle tentative ne migre que ce qu'il reste à migrer.",
"networkError": "La connexion a été perdue pendant la migration : elle est peut-être toujours en cours en arrière-plan. Vérifiez la <a href=\"/dashboard/settings/jobs\">page des tâches</a> et rafraîchissez la liste des appareils avant de réessayer.",
"successText": "Migration terminée ! <b>{{states}}</b> états historiques ont été déplacés, <b>{{scenes}}</b> scène(s) et <b>{{dashboards}}</b> tableaux de bord ont été mis à jour. L'ancien appareil a été supprimé.",
"confirmButton": "Migrer et supprimer l'ancien appareil",
"cancelButton": "Annuler",
"closeButton": "Fermer"
}
},
"login": {
"title": "Gladys Assistant",
"welcome": "Bienvenue",
"createAccountStep": "Créer un compte",
"preferencesStep": "Vos préférences",
"houseStep": "Configurer votre maison",
"success": "Succès !",
"cardTitle": "Connexion",
"loginWithGladysGatewayButton": "Identification avec Gladys Gateway",
"emailLabel": "Adresse e-mail",
"emailPlaceholder": "Entrez votre e-mail",
"passwordLabel": "Mot de passe",
"forgotPasswordLabel": "J'ai oublié mon mot de passe",
"passwordPlaceholder": "Entrez votre mot de passe",
"loginButtonText": "Connexion",
"wrongCredentials": "Adresse e-mail ou mot de passe invalide",
"invalidEmail": "E-mail invalide",
"needHelpText": "Besoin d'aide ? Rejoignez-nous sur <a href=\"https://community.gladysassistant.com/\" target=\"_blank\" rel=\"noopener noreferrer\"> Gladys Community</a>."
},
"locked": {
"cardTitle": "Maison verrouillée",
"description": "Merci de taper votre code afin de déverrouiller l'alarme.",
"codePlaceholder": "Tapez votre code",
"error": "Une erreur est survenue, merci de réessayer",
"wrongCodeError": "Code invalide, merci de réessayer",
"tooManyRequests": "Veuillez attendre {{count}} minutes avant de réessayer.",
"validateButton": "Valider"
},
"signup": {
"welcome": {
"title": "Bienvenue dans Gladys !",
"introSentence": "Tout d'abord, merci de m'avoir choisie. Je suis Gladys, un logiciel de domotique open-source qui respecte votre vie privée.",
"introTimeToCreateAccount": "Il est temps de créer un compte local pour votre installation Gladys.",
"introDontWorryLocal": "Ne vous inquiétez pas : Gladys est entièrement auto-hébergé et toutes les informations que vous saisirez sont simplement enregistrées dans la base de données locale de Gladys.",
"introInCaseOfIssues": "Si vous rencontrez des problèmes lors de l'installation de Gladys, consultez notre <a href=\"https://gladysassistant.com/fr/docs/\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a> ou posez une question sur le <a href =\"https://community.gladysassistant.com\" target=\"_blank\" rel=\"noopener noreferrer\">forum Gladys</a>.",
"introReadMoreGladysGateway": "En savoir plus sur <a href=\"https://gladysassistant.com/fr/plus\" target=\"_blank\" rel=\"noopener noreferrer\">Gladys Plus</a>.",
"buttonCreateAccountGladysGateway": "Restauration Gladys Plus",
"buttonCreateAccountWithEmail": "Créer un compte local"
},
"createLocalAccount": {
"title": "Créer votre compte local Gladys",
"description": "Toutes les informations saisies ici ne sont enregistrées que localement dans la base de données Gladys. Vous pouvez les mettre à jour ultérieurement à tout moment.",
"firstnameLabel": "Prénom",
"firstnamePlaceHolder": "Entrez votre prénom",
"lastnameLabel": "Nom de famille",
"lastnamePlaceHolder": "Entrez votre nom de famille",
"languageLabel": "Langue",
"english": "English",
"french": "Français",
"german": "Deutsch",
"birthdateLabel": "Date de naissance",
"birthdatePlaceHolder": "Entrez votre date de naissance",
"january": "Janvier",
"february": "Février",
"march": "Mars",
"april": "Avril",
"may": "Mai",
"june": "Juin",
"july": "Juillet",
"august": "Août",
"september": "Septembre",
"october": "Octobre",
"november": "Novembre",
"december": "Décembre",
"emailLabel": "E-mail",
"emailPlaceHolder": "Entrez votre e-mail",
"passwordLabel": "Mot de passe (min 8 caractères)",
"passwordPlaceHolder": "Entrez un mot de passe",
"passwordRepeatLabel": "Répétez votre mot de passe",
"passwordRepeatPlaceHolder": "Répétez votre mot de passe",
"firstnameError": "Le prénom est requis.",
"lastnameError": "Le nom de famille est requis.",
"emailError": "L'e-mail n'est pas une adresse valide",
"passwordError": "Le mot de passe doit contenir au moins 8 caractères.",
"passwordRepeatError": "Le mot de passe ne correspond pas.",
"birthdateError": "La date de naissance est requise.",
"networkError": "Erreur réseau : nous n'avons pas réussi à contacter votre instance Gladys. Êtes-vous connecté au réseau ? Votre instance Gladys est-elle en cours d'exécution ?",
"emailAlreadyExistError": "Un utilisateur avec cet e-mail existe déjà.",
"selectorAlreadyExistError": "Un utilisateur avec ce prénom existe déjà.",
"createAccountButton": "Créer un compte"
},
"restoreBackupSetBackupKey": {
"title": "Clé de restauration",
"description": "Les sauvegardes Gladys Plus sont entièrement chiffrées, c'est pour cela que nous avons besoin de votre clé de restauration.",
"backupKeyLabel": "Clé de restauration",
"backupKeyPlaceholder": "Saisissez votre clé de restauration",
"cancelButton": "Annuler",
"saveButton": "Enregistrer",
"error": "Impossible d'enregistrer la clé de restauration. Vérifiez que votre instance est bien connectée à Internet et réessayez."
},
"restoreBackupInProgress": {
"title": "Restauration en cours...",
"description": "À la fin du processus de restauration, Gladys redémarrera automatiquement.",
"errored": "La restauration a échoué, la clé de restauration n'est peut-être pas valide",
"erroredHelp": "Si vous n'arrivez pas à restaurer votre sauvegarde, vous pouvez créer un compte local dès maintenant, connecter Gladys Plus plus tard dans les paramètres, et restaurer votre sauvegarde à ce moment-là.",
"updateRestoreKeyButton": "Mettre à jour la clé de restauration",
"createLocalAccountButton": "Créer un compte local"
},
"gatewayBackup": {
"title": "Sélectionnez votre sauvegarde",
"description": "Sélectionnez dans la liste la sauvegarde que vous souhaitez restaurer.",
"changeKeyButton": "Modifier la clé de restauration",
"refreshButton": "Actualiser",
"noBackupsFound": "Aucune sauvegarde n'a été trouvée sur ce compte Gladys Plus.",
"error": "Impossible de récupérer vos sauvegardes. Vérifiez que votre instance est bien connectée à Internet et réessayez."
},
"restoreLocalAccountAlternative": {
"text": "Vous pouvez aussi créer un compte local dès maintenant, connecter Gladys Plus plus tard dans les paramètres, et restaurer votre sauvegarde à ce moment-là.",
"linkText": "Créer un compte local"
},
"preferences": {
"title": "Vos préférences",
"description": "Vous pouvez modifier ces paramètres à tout moment ultérieurement.",
"temperatureUnitsLabel": "Unité de température",
"temperatureUnitsCelsius": "Celsius (°C)",
"temperatureUnitsFahrenheit": "Fahrenheit (°F)",
"distanceUnit": "Unité de distance",
"distanceUnitMeter": "SI (Mètre)",
"distanceUnitUs": "Imperial/US (Miles)",
"deviceStateHistoryDuration": {
"title": "Conserver l'historique des états des appareils",
"durationOneWeek": "1 semaine",
"durationOneMonth": "1 mois",
"durationThreeMonth": "3 mois",
"durationSixMonths": "6 mois",
"durationOneYear": "1 an",
"durationTwoYears": "2 ans",
"unlimited": "Illimité"
},
"saveSettingsButton": "Sauvegarder les paramètres"
},
"configureHouse": {
"title": "Configurez votre maison",
"description": "Toutes ces informations sont enregistrées uniquement dans la base de données locale de Gladys. Si vous avez plusieurs maisons, vous pourrez les configurer plus tard dans Gladys.",
"houseNameLabel": "Nom",
"houseNamePlaceHolder": "Entrez le nom de votre maison",
"houseNameError": "Le nom de la maison est requis",
"houseLocationLabel": "Sélectionnez l'emplacement de votre maison",
"roomsLabel": "Ajoutez toutes les pièces de votre maison",
"roomNamePlaceHolder": "Entrez une nouvelle pièce pour l'ajouter",
"addRoomButton": "Ajouter",
"saveHouse": "Sauvegarder la maison",
"deleteHouse": "Supprimer la maison",
"confirmDeleteHouse": "Confirmer la suppression de la maison",
"cancelDeleteHouse": "Annuler",
"conflictError": "Une maison avec le même nom existe déjà.",
"roomConflictError": "Une pièce avec le même nom existe déjà.",
"validationError": "Erreur de validation : Le nom d'une maison doit être compris entre 1 et 40 caractères.",
"validationErrorRoom": "Erreur de validation : le nom d'une pièce doit être compris entre 1 et 40 caractères.",
"alarmTitle": "Alarme",
"alarmDescription": "Si vous utilisez le mode alarme dans Gladys, vous pouvez configurer ici le code de désactivation de l'alarme, ainsi que le délai avant le déclenchement de l'alarme. Ce délai sera appliqué lors d'un déclenchement manuel uniquement, pas dans les scènes.",
"alarmCodeLabel": "Code de l'alarme",
"alarmCodePlaceholder": "Entrez un code numérique entre 4 et 8 chiffres",
"alarmDelayBeforeArmingLabel": "Délai avant armement de l'alarme",
"alarmCodeError": "Le code doit être numérique et entre 4 et 8 chiffres.",
"alarmDelays": {
"0": "Pas de délai",
"5": "5 secondes",
"10": "10 secondes",
"15": "15 secondes",
"30": "30 secondes",
"60": "1 minute"
}
},
"success": {
"title": "Merci !",
"introduction": "Je m'appelle <a href=\"https://twitter.com/pierregillesl\" target=\"_blank\" rel=\"noopener noreferrer\"> Pierre-Gilles Leymarie</a>, et j'ai commencé à travailler sur Gladys Assistant en 2013.",
"thanksForChoosingOpenSource": "Je voudrais vous remercier d'avoir choisi Gladys. J'espère que vous apprécierez utiliser ce logiciel.",
"ifYouWantToSupportThisSoftware": "J'essaie de faire de Gladys mon activité principale, je compte sur vos contributions pour rendre ce projet durable. Si vous souhaitez accéder à des fonctionnalités supplémentaires et supporter ce projet open-source, rendez-vous sur <a href=\"https://gladysassistant.com/fr/plus\" target=\"_blank\" rel=\"noopener noreferrer\">Gladys Plus</a>.",
"goToDashboardButton": "Accéder au tableau de bord"
}
},
"dashboard": {
"title": "Tableau de bord",
"editDashboardButton": "Éditer",
"newDashboardButton": "Nouveau",
"editDashboardCancelButton": "Annuler",
"editDashboardDeleteButton": "Supprimer",
"editDashboardSaveButton": "Sauvegarder",
"editDashboardDeleteText": "Êtes-vous sûr de vouloir supprimer ce tableau de bord ?",
"toggleDefineTabletMode": "Mode tablette",
"closeDefineTabletMode": "Fermer",
"tabletMode": {
"description": "Le mode tablette sert à la fonctionnalité alarme. Si vous armez l'alarme, toutes les tablettes de la maison seront verrouillées et afficheront un clavier virtuel pour désactiver l'alarme.",
"currentBrowserOnly": "<strong>Ce réglage s'applique uniquement à cet appareil.</strong> En enregistrant, vous déclarez que le navigateur que vous utilisez en ce moment est une tablette. Chaque appareil se configure séparément : n'activez le mode tablette que sur les appareils que vous acceptez de voir verrouillés quand l'alarme est armée.",
"fullScreenForce": "Si vous voulez forcer une tablette à rester en mode plein écran, vous pouvez ajouter <code>?fullscreen=force</code> à l'URL.",
"houseLabel": "Maison de cette tablette",
"howToDisable": "Pour désactiver le mode tablette sur un appareil, ouvrez ce menu depuis cet appareil et sélectionnez « Mode tablette désactivé ».",
"tabletModeDisabled": "Mode tablette désactivé"
},
"duckDbMigrationInProgress": "Votre instance Gladys est en train de migrer sa base de données à DuckDb, un nouveau système de base de données plus performant pour les données time-series. Cette tâche peut prendre un certain temps, et pendant ce temps vos graphiques ne seront pas tous disponibles. Progression de la migration = {{progress}}%",
"enableFullScreen": "Plein écran",
"disableFullScreen": "Quitter plein écran",
"editDashboardTitle": "Éditer le tableau de bord",
"emptyDashboardSentenceTop": "Votre tableau de bord n'est pas encore configuré.",
"emptyDashboardSentenceBottom": "Cliquez sur le bouton \"Éditer\" pour le compléter.",
"noDashboardSentenceBottom": "Cliquez sur le bouton \"Nouveau\" pour créer un tableau de bord.",
"gatewayInstanceNotFoundError": "Votre instance Gladys n'est pas connectée à Gladys Plus.",
"editDashboardNameLabel": "Nom",
"editDashboardVisibility": "Visibilité",
"editDashboardVisibilityDescription": "Les tableaux de bord publics seront visibles par tous les membres de l'installation Gladys.",
"editDashboardVisibilityNotEditableNotCreator": "Vous ne pouvez pas éditer le partage car vous n'êtes pas le créateur de ce tableau de bord.",
"visibilities": {
"private": "privé",
"public": "public"
},
"editDashboardAddColumnButton": "Ajouter une colonne au tableau de bord",
"editDashboardBoxNotEmpty": "Vous ne pouvez pas supprimer cette colonne car elle contient des widgets.",
"editDashboardMyDashboards": "Mes tableaux de bord",
"editDashboardExplanation": "Chaque tableau de bord comporte 3 colonnes, que vous pouvez remplir selon vos préférences. Cliquez sur le bouton + pour ajouter un nouveau widget. Vous pouvez déplacer ce widget en l'attrapant et en le déplaçant.",
"reorderDashboardButton": "Re-ordonner",
"stopReorderingDashboardButton": "Arrêter de réordonner",
"addBoxButton": "Ajouter",
"selectBoxType": "Sélectionner un type",
"selectBoxTypeLabel": "Choisissez quel widget afficher ici",
"boxTitle": {
"alarm": "Alarme",
"weather": "Météo",
"temperature-in-room": "Température de la pièce",
"humidity-in-room": "Humidité de la pièce",
"user-presence": "Utilisateurs présents",
"camera": "Caméra",
"devices-in-room": "Appareils de la pièce (Déprécié)",
"devices": "Appareils",
"chart": "Graphique",
"ecowatt": "Ecowatt ( France )",
"edf-tempo": "EDF Tempo",
"clock": "Horloge",
"scene": "Scène",
"music": "Musique",
"gauge": "Jauge",
"energy-consumption": "Consommation Énergétique",
"voice-assistant": "Assistant vocal",
"link": "Lien",
"photo": "Photo",
"sun": "Soleil"
},
"boxes": {
"column": "Colonne {{index}}",
"deleteButton": "Supprimer",
"weather": {
"editHouseLabel": "Sélectionnez une maison. J'utiliserai les latitude/longitude pour obtenir la météo.",
"houseHasNoCoordinates": "Les coordonnées de votre maison ne sont pas définies. Accédez aux paramètres Gladys pour définir la position de votre maison.",
"serviceNotConfigured": "Aucun service météo n'est configuré. Veuillez accéder à l'onglet «Intégrations» et configurer une intégration météo (OpenWeather, ou une intégration météo du store).",
"requestToThirdPartyFailed": "La requête au fournisseur météo a échoué. Votre instance Gladys est-elle connectée à Internet ? Veuillez vous rendre dans le panneau des intégrations météo pour résoudre ce problème.",
"clickHere": "Cliquez ici pour accéder aux intégrations météo.",
"unknownError": "Nous ne pouvons pas obtenir la météo pour cette maison. Avez-vous défini une maison pour cette box ?",
"editProviderLabel": "Fournisseur météo :",
"providerAuto": "Automatique (premier fournisseur disponible)",
"providerInternalOpenWeather": "OpenWeather interne (déprécié)",
"editModeLabel": "Mode d'affichage :",
"displayModes": {
"dateLocation": "Date et lieu",
"currentWeather": "Météo actuelle",
"alerts": "Alertes météo",
"advancedWeather": "Détails météo (humidité, vent, UV, lune…)",
"hourlyForecast": "Prévisions pour les 24 prochaines heures",
"dailyForecast": "Prévisions pour les 5 prochains jours",
"providerImages": "Images du fournisseur (carte de vigilance, radar de pluie…)"
},
"noModeSelected": "Sélectionnez au moins un mode d'affichage, sinon le widget restera vide.",
"minMaxDegreeValue": "{{min}}°/{{max}}°",
"uv": "UV",
"windGustTitle": "Rafales de vent (le fournisseur ne donne pas de vent moyen pour ce jour)",
"alertTypes": {
"wind": "Vent violent",
"rain": "Pluie-inondation",
"flood": "Inondation",
"thunderstorm": "Orages",
"snow": "Neige-verglas",
"heat": "Canicule",
"cold": "Grand froid",
"avalanche": "Avalanches",
"coastal": "Vagues-submersion",
"fog": "Brouillard"
},
"conditions": {
"clear": "Ciel dégagé",
"partly-cloudy": "Peu nuageux",
"cloud": "Nuageux",
"fog": "Brouillard",
"drizzle": "Bruine",
"rain": "Pluie",
"pouring": "Fortes pluies",
"sleet": "Pluie et neige mêlées",
"hail": "Grêle",
"snow": "Neige",
"thunderstorm": "Orages",
"wind": "Vent",
"night": "Nuit",
"unknown": "Indisponible"
},
"moonPhases": {
"0": "Nouvelle lune",
"1": "Premier croissant",
"2": "Premier quartier",
"3": "Gibbeuse croissante",
"4": "Pleine lune",
"5": "Gibbeuse décroissante",
"6": "Dernier quartier",
"7": "Dernier croissant"
},
"windCardinals": {
"n": "N",
"ne": "NE",
"e": "E",
"se": "SE",
"s": "S",
"sw": "SO",
"w": "O",
"nw": "NO"
}
},
"devicesInRoom": {
"editRoomLabel": "Sélectionnez la pièce que vous souhaitez afficher ici.",
"editDeviceFeaturesLabel": "Sélectionnez les appareils que vous voulez afficher ici. Seuls les capteurs / et interrupteurs on/off sont supportés.",
"noValue": "Aucune valeur enregistrée.",
"noRecentValue": "Pas de valeur récente",
"deviceTitle": "{{name}} - {{type}}",
"addButton": "+",
"substractButton": "-",
"motionDetected": "Mouvement détecté",
"doorbellRinging": "Sonne",
"pushButton": "Appuyer",
"vacuumDock": "Retour à la base"
},
"devices": {
"editDeviceFeaturesLabel": "Vous pouvez modifier le nom affiché ici :",
"editNameLabel": "Nom du widget (optionnel)",
"editNamePlaceholder": "Entrez le nom du widget",
"addADeviceLabel": "Ajouter un appareil :"
},
"temperatureInRoom": {
"editRoomLabel": "Sélectionnez la pièce que vous souhaitez afficher ici.",
"noTemperatureRecorded": "Aucune température enregistrée récemment.",
"thresholdsLabel": "Configurer des seuils personnalisés"
},
"humidityInRoom": {
"editRoomLabel": "Sélectionnez la pièce que vous souhaitez afficher ici.",
"noHumidityRecorded": "Aucune mesure d'humidité enregistrée récemment.",
"thresholdsLabel": "Configurer des seuils personnalisés"
},
"userPresence": {
"description": "Cette box affiche qui est à la maison et qui ne l'est pas. Vous pouvez changer la présence d'un utilisateur dans les scènes, et sélectionner ici quels utilisateurs afficher.",
"left": "Absent ({{since}})",
"atHome": "A la maison",
"neverSeenAtHome": "Jamais vu à la maison",
"error": "Une erreur réseau s'est produite lors de la récupération de la liste des utilisateurs. Merci de rafraîchir la page.",
"emptyText": "Il n'y a aucun utilisateur sélectionné. Vous pouvez éditer cette box pour sélectionner des utilisateurs à afficher."
},
"camera": {
"editCameraLabel": "Sélectionnez la caméra que vous souhaitez afficher ici.",
"noImageToShow": "Aucune image à afficher. Êtes-vous sûr que votre caméra est connectée et accessible par Gladys ?",
"editBoxNameLabel": "Entrez le nom que vous souhaitez donner à la box :",
"editBoxNamePlaceholder": "Nom de la box",
"latencyBoxName": "Latence",
"latencyBoxDescription": "Plus vous sélectionnez une latence basse, et plus vite le live démarrera. Néanmoins, pour avoir une latence basse, il faut une connexion internet très rapide et avec un minimum de ping sinon la vidéo sera saccadée. Nous conseillons une latence moyenne ou basse.",
"upgradeGladysPlusPlanError": "Le streaming de caméra n'est pas compris dans votre plan Gladys Plus. Vous devez le mettre à jour dans Paramètres -> Facturation.",
"liveStartError": "Une erreur est survenue en démarrant le streaming. Est-ce que l'URL de votre caméra est bien une URL d'un flux vidéo et pas une image ?",
"notNotSupportedBrowser": "Ce navigateur n'est pas supporté. Afin de permettre le chiffrement de bout en bout de ce flux vidéo, nous utilisons l'API MediaSource, qui n'est peut-être pas supportée par ce navigateur. Nous vous recommandons Firefox, Safari, ou tout navigateur basé sur Chromium.",
"tooManyRequests": "Vous avez atteint votre limite mensuelle de bande passante vidéo. Contactez-nous par email ou sur le forum pour avoir plus de bande passante !",
"liveAutoStartLabel": "Lancer automatiquement le streaming",
"liveAutoStartDescription": "Attention: Cette option peut augmenter la charge sur votre machine/réseau.",
"latency": {
"ultraLow": "Très basse",
"low": "Basse",
"medium": "Moyenne",
"standard": "Standard"
}
},
"chart": {
"defaultInterval": "Intervalle par défaut",
"lastHour": "Dernière heure",
"lastTwelveHours": "Dernières 12h",
"lastDay": "Dernières 24h",
"lastSevenDays": "Derniers 7 jours",
"lastThirtyDays": "Derniers 30 jours",
"lastThreeMonths": "Derniers 3 mois",
"lastYear": "Dernière année",
"showAdvancedOptions": "Afficher les options avancées",
"hideAdvancedOptions": "Masquer les options avancées",
"noValue": "Pas de valeurs sur cet intervalle.",
"noValueWarning": "Attention, si vous venez de configurer cet appareil, les données peuvent mettre un certain temps avant d'être agrégées. Pour les intervalles supérieurs à 24h, cela prend jusqu'à 24h le temps que Gladys collecte assez de données.",
"noChartType": "Aucun type de graphique sélectionné",
"noChartTypeWarning": "Si vous venez de configurer cet appareil, veuillez retourner sur la page d'édition du widget et sélectionner un type de graphique.",
"editNameLabel": "Entrez le nom de ce widget",
"editNamePlaceholder": "Nom affiché sur le tableau de bord",
"editDeviceFeaturesLabel": "Sélectionnez les appareils que vous voulez afficher",
"editRoomLabel": "Sélectionnez une pièce",
"chartType": "Sélectionner le type de graphique",
"chartColor": "Sélectionner la couleur du graphique",
"dataColor": "Sélectionner la couleur pour {{featureLabel}}",
"timelineColor": "Sélectionner la couleur pour la position ",
"line": "Ligne",
"area": "Aire",
"bar": "Histogramme",
"timeline": "Binaire",
"stepline": "Ligne droite",
"displayAxes": "Afficher les axes ?",
"displayVariation": "Afficher la variation ?",
"yes": "Oui",
"no": "Non",
"preview": "Prévisualisation",
"showPreviewButton": "Afficher une prévisualisation",
"on": "On",
"off": "Off",
"start_date": "Début le : ",
"end_date": "Fin le : ",
"aggregateFunction": "Fonction d'agrégation",
"aggregateFunctions": {
"sum": "Somme",
"avg": "Moyenne",
"max": "Maximum",
"min": "Minimum",
"count": "Nombre"
},
"groupByLabel": "Grouper par",
"groupBy": {
"noGrouping": "Ne pas grouper",
"hour": "Heure",
"day": "Jour",
"week": "Semaine",
"month": "Mois",
"year": "Année"
},
"previousPeriod": "Période précédente",
"nextPeriod": "Période suivante",
"currentPeriod": "En cours",
"backToNow": "Revenir à maintenant"
},
"sun": {
"editHouseLabel": "Sélectionnez une maison. J'utiliserai les latitude/longitude pour calculer la position du soleil.",
"sunrise": "Lever du soleil",
"sunset": "Coucher du soleil",
"dawn": "Aube",
"solarNoon": "Midi solaire",
"dusk": "Crépuscule",
"azimuth": "Azimut",
"elevation": "Élévation",
"noHouse": "Veuillez sélectionner une maison dans les paramètres du widget.",
"noCoordinates": "Cette maison n'a pas de coordonnées. Veuillez d'abord configurer sa localisation.",
"error": "Une erreur est survenue lors de la récupération des données du soleil, merci de réessayer."
},
"ecowatt": {
"title": "Ecowatt France",
"description": "Cette box vous permet de vérifier l'état du réseau électrique français grâce à l'API Ecowatt.",
"error": "Une erreur est survenue lors du rafraîchissement via l'API RTE, merci de réessayer.",
"dailyTitle": "Prévisions du jour",
"nextDaysTitle": "Prévisions des prochains jours",
"ok": "Réseau ok",
"warning": "Réseau tendu",
"critical": "Réseau très tendu"
},
"edfTempo": {
"description": "Ce widget vous permet d'afficher l'état EDF Tempo actuel.",
"link": "En savoir plus sur EDF Tempo",
"blueDay": "Jour bleu",
"whiteDay": "Jour blanc",
"redDay": "Jour rouge",
"notDefinedDay": "Non défini",
"currentHourState": "Actuellement",
"peakHour": "Heure pleine",
"offPeakHour": "Heure creuse",
"dayPeakTitle": "Jours tempo"
},
"clock": {
"analog": "Analogique",
"digital": "Digitale",
"date": "{{day}} {{dayNumber}} {{month}} {{year}}",
"smallDate": "{{dayNumber}} {{month}}",
"type": "Type de l'horloge ?",
"displaySecond": "Afficher les secondes ?",
"yes": "Oui",
"no": "Non"
},
"scene": {
"editNameLabel": "Nom du widget (optionnel)",
"editNamePlaceholder": "Nom affiché sur le tableau de bord",
"editSceneLabel": "Sélectionnez la scène que vous souhaitez afficher ici."
},
"link": {
"editTitleLabel": "Titre",
"editTitlePlaceholder": "Ex : Tasmota - Prise salon",
"editUrlLabel": "URL",
"editUrlPlaceholder": "http://192.168.1.50",
"editIconLabel": "Icône",
"emptyUrl": "Aucune URL configurée.",
"icons": {
"link": "Lien",
"globe": "Site web",
"server": "Serveur",
"hard-drive": "Stockage (NAS)",
"wifi": "Réseau Wi-Fi",
"monitor": "Interface web",
"cpu": "Appareil connecté",
"home": "Maison"
}
},
"photo": {
"description": "Affichez une ou plusieurs photos sur votre tableau de bord. Les images sont chargées par votre instance Gladys (et non par votre navigateur), ce qui permet d'afficher des photos hébergées sur un NAS local, y compris à distance via Gladys Plus.",
"editNameLabel": "Nom du widget (optionnel)",
"editNamePlaceholder": "Ex : Vacances 2025",
"photosLabel": "Photos",
"editUrlPlaceholder": "https://mon-nas.local/photos/vacances.jpg",
"editCaptionPlaceholder": "Légende (optionnelle)",
"addPhotoButton": "Ajouter une photo",
"fitLabel": "Affichage de l'image",
"fitCover": "Remplir (recadrer)",
"fitContain": "Contenir (image entière)",
"slideshowIntervalLabel": "Diaporama (secondes)",
"slideshowIntervalHelp": "0 pour désactiver le diaporama. Recommandé : 10-30 secondes.",
"showCaptionLabel": "Afficher les légendes",
"emptyPhotos": "Aucune photo configurée.",
"imageError": "Impossible de charger cette image."
},
"alarm": {
"armButton": "Armer",
"disarmButton": "Désarmer",
"partiallyArmedButton": "Armement",
"partiallyArmedButtonSecondLine": "partiel",
"panicButton": "Panique",
"editBoxNameLabel": "Nom du widget (optionnel)",
"editBoxNamePlaceholder": "Entrez le nom du widget",
"editHouseLabel": "Sélectionnez la maison qui est concernée pour l'activation/désactivation de l'alarme.",
"alarmStatusText": "Votre maison est ",
"alarmArming": "Votre maison est en train d'être armée...",
"cancelAlarmArming": "Annuler"
},
"music": {
"selectDeviceLabel": "Sélectionner l'appareil à contrôler"
},
"gauge": {
"description": "Ce widget affichera une jauge avec la valeur de la fonctionnalité sélectionnée entre sa valeur minimale et maximale.",
"selectDeviceLabel": "Sélectionner la fonctionnalité à afficher",
"noDeviceFeatureSelector": "Aucune fonctionnalité sélectionnée",
"errorLoadingDevice": "Une erreur est survenue lors du chargement de l'appareil",
"noDeviceFeatureLastValue": "Cette fonctionnalité n'a pour l'instant reçu aucune valeur",
"thresholdsLabel": "Configurer des seuils personnalisés",
"thresholdsNoRange": "La fonctionnalité sélectionnée n'a pas de valeur minimale ou maximale définie, les seuils ne peuvent pas être configurés.",
"colorLowLabel": "Couleur en dessous du seuil bas",
"colorInRangeLabel": "Couleur entre les seuils",
"colorHighLabel": "Couleur au-dessus du seuil haut",
"thresholdsLegendLabel": "Seuils :",
"editNameLabel": "Nom du widget (optionnel)",
"editNamePlaceholder": "Nom affiché sur le tableau de bord"
},
"energyConsumption": {
"editName": "Nom du widget (optionnel)",
"editNamePlaceholder": "Nom affiché sur le tableau de bord",
"editDeviceFeatures": "Sélectionner un appareil de consommation énergétique",
"year": "Année",
"month": "Mois",
"day": "Jour",
"currency": "Coût (€)",
"kwh": "Consommation (kWh)",
"consumptionCost": "Coût de Consommation",
"totalConsumptionCost": "Coût total sur la période",
"totalConsumptionKwh": "Consommation totale sur la période",
"error": "Erreur lors du chargement des données de consommation énergétique",
"noData": "Aucune donnée de consommation énergétique disponible pour cette période",
"showSubscriptionPrices": "Afficher les prix d'abonnement",
"showSubscriptionPricesDescription": "Affiche le coût mensuel de l'abonnement en plus des données de consommation dans le graphique."
},
"voice-assistant": {
"speak": "Parler",
"stop": "Arrêter",
"listening": "J'écoute...",
"listeningHint": "Parlez, j'arrête d'enregistrer quand vous vous taisez.",
"processing": "Traitement...",
"speaking": "Réponse...",
"transcriptionLabel": "Vous avez dit",
"responseLabel": "Réponse",
"error": "Une erreur est survenue. Vérifiez que Gladys Plus est connecté.",
"errorInsecureContext": "Le micro nécessite une connexion sécurisée. Ouvrez Gladys sur Gladys Plus à <a href=\"https://plus.gladysassistant.com\" target=\"_blank\" rel=\"noopener noreferrer\">plus.gladysassistant.com</a>.",
"errorPermissionDenied": "Autorisez l'accès au micro pour Safari dans Réglages > Safari > Microphone.",
"errorNotSupported": "L'enregistrement vocal n'est pas disponible dans ce navigateur.",
"errorNoMicrophone": "Aucun micro détecté. Branchez ou activez un micro dans les réglages système.",
"errorMicrophoneUnavailable": "Le micro est indisponible. Vérifiez qu'il n'est pas utilisé par une autre application.",
"errorNoSpeech": "Aucune voix détectée. Vérifiez que votre micro est activé, puis réessayez.",
"errorNoTranscription": "Je n'ai pas compris votre message. Parlez plus près du micro et réessayez.",
"configDescription": "Ce widget utilise Gladys Plus pour la reconnaissance vocale, l'IA et la synthèse vocale. Connectez votre instance à Gladys Plus pour l'utiliser.",
"plusRequiredHint": "Connectez Gladys Plus pour activer le micro."
}
}
},
"newDashboard": {
"cardTitle": "Créer un tableau de bord",
"description": "Vous pouvez créer autant de tableau de bord que vous voulez pour pouvoir mieux organiser l'affichage de vos données.",
"nameLabel": "Nom",
"dashboardAlreadyExist": "Un tableau de bord avec ce nom existe déjà.",
"unknownError": "Une erreur inconnue s'est produite. Merci de réessayer !",
"validationError": "Le tableau de bord n'est pas valide, êtes-vous sûr d'avoir rempli tous les champs ?",
"createDashboardButton": "Créer"
},
"integration": {
"tags": {
"gladysPlus": "Gladys Plus",
"cloud": "Cloud",
"local": "Local",
"external": "Communauté",
"native": "Natif",
"deprecated": "Bientôt dépréciée"
},
"root": {
"title": "Intégrations",
"subtitle": "{{length}} sur {{total}} intégrations",
"subtitleTotal": "{{total}} intégrations",
"searchPlaceholder": "Chercher une intégration",
"noIntegrations": "Aucune intégration trouvée",
"allIntegrationsUpToDate": "Toutes vos intégrations sont à jour.",
"noSearchResults": "Aucune intégration correspondant à « {{searchKeyword}} » n'a été trouvée.",
"noSearchResultsSuggestion": "Essayez <a href=\"/dashboard/integration/device/matter\">Matter</a> pour les appareils compatibles Matter/Thread, ou <a href=\"/dashboard/integration/device/matterbridge\">Matterbridge</a> pour connecter des appareils Somfy, Shelly, Daikin et bien d'autres.",
"refreshStore": {
"hint": "Une intégration manque à l'appel ?",
"button": "Rafraîchir le catalogue",
"refreshing": "Rafraîchissement…",
"tooltip": "Re-télécharger la liste des intégrations de la communauté. Gladys la garde en cache et la rafraîchit toutes les 30 minutes.",
"success": "Catalogue à jour.",
"stale": "Gladys n'a pas pu joindre le store : ceci est toujours le catalogue en cache.",
"error": "Le catalogue n'a pas pu être rafraîchi. Vérifiez votre connexion internet."
},
"gatewayBanner": {
"title": "Votre appareil n'est pas dans la liste ?",
"description": "De nombreux appareils peuvent être connectés via <a href=\"/dashboard/integration/device/matter\">Matter</a> (protocole universel). Votre appareil peut aussi être pris en charge par une <b>intégration externe</b> de la communauté : chacun peut en créer une et la publier dans le store, elle apparaît alors dans cette liste. Consultez la <a href=\"https://gladysassistant.com/fr/docs/dev/external-integrations/\" target=\"_blank\" rel=\"noopener noreferrer\">documentation des intégrations externes</a>."
},
"menu": {
"all": "Toutes les intégrations",
"favorites": "Favoris",
"updates": "À mettre à jour",
"device": "Appareils",
"communication": "Communication",
"calendar": "Calendrier",
"music": "Musique",
"health": "Santé",
"weather": "Météo",
"navigation": "Navigation"
}
},
"externalIntegration": {
"updateAvailable": "Mise à jour disponible",
"deviceTab": "Appareils",
"discoverTab": "Découverte",
"configTab": "Configuration",
"supervisionTab": "Supervision",
"logsTab": "Journaux",
"status": {
"UNKNOWN": "Inconnu",
"ENABLED": "Activée",
"DISABLED": "Désactivée",
"LOADING": "Chargement",
"RUNNING": "En cours d'exécution",
"DEGRADED": "Dégradée",
"STOPPED": "Arrêtée",
"ERROR": "Erreur"
},
"docs": {
"modalTitle": "Documentation",
"loadError": "Une erreur s'est produite lors du chargement de la documentation.",
"openRawLink": "Ouvrir dans un nouvel onglet"
},
"config": {
"title": "Configuration",
"docsLink": "Documentation",
"loadError": "Une erreur s'est produite lors du chargement de la configuration.",
"noConfig": "Cette intégration n'a pas d'options de configuration.",
"secretConfiguredPlaceholder": "Configuré. Laissez vide pour conserver la valeur actuelle.",
"saveSuccess": "Configuration enregistrée avec succès.",
"saveError": "Une erreur s'est produite lors de l'enregistrement de la configuration.",
"saveButton": "Enregistrer la configuration",
"oauthConnectButton": "Connecter",
"oauthInvalidStateError": "Cette intégration ne fournit pas d'élément de sécurité exploitable pour la connexion (absent ou trop long). Elle ne peut pas être connectée tant que son développeur ne l'a pas corrigé.",
"oauthRedirectUriLabel": "Adresse de redirection à déclarer dans votre application développeur",
"oauthRedirectUriDescription": "Les services refusent une adresse locale : cette page HTTPS hébergée par Gladys vous renvoie vers votre instance une fois l'autorisation donnée. Elle fonctionne entièrement dans votre navigateur, Gladys n'enregistre ni n'utilise le code d'autorisation, et vos jetons d'accès sont échangés directement entre votre instance et le service.",
"oauthRedirectUriInstanceDescription": "Vous avez choisi d'utiliser l'adresse de votre instance : déclarez cette URL exacte dans votre application développeur. Le service reviendra directement sur votre Gladys, sans passer par la page de redirection Gladys.",
"oauthRedirectUriCopied": "Copié !",
"oauthUseInstanceRedirectLabel": "Utiliser plutôt l'adresse de mon instance (j'accède déjà à Gladys en HTTPS)",
"oauthConnectError": "Erreur au lancement de la connexion. Vérifiez que l'intégration est démarrée."
},
"actions": {
"title": "Actions",
"runButton": "Exécuter",
"error": "L'action a échoué. Vérifiez que l'intégration est démarrée.",
"resultRegionLabel": "Résultat de l'action"
},
"connection": {
"label": "Connexion",
"connectedBadge": "Connecté",
"disconnectedBadge": "Déconnecté"
},
"transport": {
"localBadge": "Local",
"cloudBadge": "Cloud",
"unreachableBadge": "Injoignable",
"localTooltip": "Cet appareil répond via le réseau local (LAN)",
"cloudTooltip": "Cet appareil répond via le cloud du fabricant",
"unreachableTooltip": "Cet appareil ne répond pas pour le moment",
"degradedBadge": "Dégradé",
"degradedTooltip": "Cet appareil fonctionne, mais pas en mode nominal",
"preferLocalLabel": "Privilégier la connexion locale (LAN) quand elle est disponible",
"preferLocalDescription": "L'intégration applique cette préférence quand elle le peut ; le macaron de chaque appareil indique le transport réellement utilisé."
},
"oauthCallback": {
"title": "Connexion du compte",
"relayingText": "Finalisation de la connexion avec l'intégration...",
"successText": "Compte connecté avec succès.",
"errorText": "L'intégration a refusé la connexion. Réessayez.",
"missingParamsText": "Il manque des paramètres de connexion à cette page. Relancez la connexion depuis l'écran Configuration.",
"closeText": "Vous pouvez fermer cette fenêtre.",
"backToConfigButton": "Retour à la configuration"
},
"supervision": {
"title": "Supervision",
"loadError": "Une erreur s'est produite lors du chargement de l'intégration.",
"actionError": "Une erreur s'est produite lors de l'exécution de cette action.",
"uninstallError": "Une erreur s'est produite lors de la désinstallation de cette intégration.",
"updateAvailableText": "Une nouvelle version de cette intégration est disponible.",
"updateSuccessText": "Intégration mise à jour en version {{version}}.",
"alreadyUpToDateText": "L'intégration est déjà à jour (version {{version}}) : l'image Docker a été re-téléchargée et le conteneur recréé.",
"statusLabel": "Statut",
"versionLabel": "Version",
"dockerImageLabel": "Image Docker",
"repoLabel": "Dépôt",
"startButton": "Démarrer",
"stopButton": "Arrêter",
"restartButton": "Redémarrer",
"updateButton": "Mettre à jour",
"forceUpdateButton": "Forcer la mise à jour",
"forceUpdateTitle": "Vérifie la dernière version publiée, re-télécharge l'image Docker et recrée le conteneur",
"logsButton": "Journaux",
"uninstallButton": "Désinstaller",
"containersTitle": "Conteneurs additionnels",
"containerRunning": "En fonctionnement",
"containerStopped": "Arrêté",
"openButton": "Ouvrir",
"uninstallWarning": "Êtes-vous sûr de vouloir désinstaller cette intégration ? Son conteneur et sa configuration seront supprimés. Les appareils créés par cette intégration resteront dans Gladys jusqu’à ce que vous les supprimiez.",
"confirmUninstallButton": "Oui, désinstaller",
"cancelUninstallButton": "Annuler",
"startedAtLabel": "En fonctionnement depuis"
},
"device": {
"title": "Appareils",
"refreshButton": "Rafraîchir",
"loadError": "Une erreur s'est produite lors du chargement des appareils.",
"noDevices": "Aucun appareil créé pour le moment. Rendez-vous dans l’onglet « Découverte » pour trouver des appareils.",
"noDevicesConfigureFirst": "Si vous venez d'installer cette intégration, commencez par renseigner l'onglet <a href=\"{{configUrl}}\">Configuration</a>, puis lancez une découverte.",
"saveError": "Une erreur s'est produite lors de l'enregistrement de cet appareil.",
"deleteError": "Une erreur s'est produite lors de la suppression de cet appareil.",
"nameLabel": "Nom",
"namePlaceholder": "Nom de l'appareil",
"roomLabel": "Pièce",
"featuresLabel": "Fonctionnalités",
"saveButton": "Sauvegarder",
"deleteButton": "Supprimer"
},
"deviceParams": {
"title": "Paramètres techniques"
},
"discover": {
"title": "Appareils découverts",
"scanButton": "Scanner",
"scanning": "Scan en cours...",
"scanningInProgress": "Scan en cours... Selon l'intégration, cela peut prendre jusqu'à une minute. La liste se mettra à jour automatiquement dès que des appareils seront publiés.",
"scanError": "Une erreur s'est produite lors du lancement du scan.",
"scanErrorDisconnected": "Impossible de lancer le scan : l'intégration n'est pas connectée. Vérifiez qu'elle est bien démarrée dans l'onglet « Configuration ».",
"loadError": "Une erreur s'est produite lors du chargement des appareils découverts.",
"noDevices": "Aucun appareil découvert pour le moment. Cliquez sur « Scanner » pour rechercher des appareils.",
"noDevicesConfigureFirst": "Rien trouvé ? Vérifiez que l'intégration est bien configurée dans l'onglet <a href=\"{{configUrl}}\">Configuration</a>, puis relancez un scan.",
"alreadyCreatedBadge": "Déjà ajouté",
"searchPlaceholder": "Rechercher un appareil",
"noSearchResults": "Aucun appareil découvert ne correspond à votre recherche.",
"error": {
"networkError": "Gladys n'a pas répondu à la demande d'ajout. Vérifiez que le serveur Gladys est bien démarré et accessible, puis réessayez.",
"badRequestError": "Gladys a refusé cet appareil : les données publiées par l'intégration sont incorrectes.",
"forbiddenError": "Vous n'avez pas les droits nécessaires pour ajouter cet appareil. Déconnectez-vous, reconnectez-vous, puis réessayez.",
"notFoundError": "La ressource demandée est introuvable côté serveur. Relancez un scan puis réessayez.",
"conflictError": "Cet appareil entre en conflit avec un appareil déjà présent dans Gladys.",
"externalIdConflictError": "Un appareil ou une fonctionnalité portant le même identifiant externe existe déjà dans Gladys. L'intégration publie probablement deux fois le même identifiant, ou cet appareil a déjà été ajouté par une autre intégration.",
"selectorConflictError": "Un autre appareil utilise déjà le même identifiant interne, en général parce qu'il porte le même nom. Renommez l'appareil existant puis réessayez.",
"validationError": "L'intégration a publié un appareil incomplet ou invalide : Gladys a refusé de l'enregistrer.",
"serverError": "Une erreur interne s'est produite dans Gladys pendant l'ajout de cet appareil.",
"unexpectedError": "Une erreur inattendue s'est produite lors de l'ajout de cet appareil.",
"rejectedFieldsTitle": "Champs refusés :",
"technicalDetail": "Détail technique :",
"apiFullResponse": "Réponse complète de l'API :",
"reportHint": "Copiez ce détail si vous demandez de l'aide sur le forum ou signalez le problème au développeur de l'intégration.",
"fieldLabels": {
"name": "Nom",
"external_id": "Identifiant externe",
"selector": "Identifiant interne",
"model": "Modèle",
"category": "Catégorie",
"type": "Type",
"unit": "Unité",
"min": "Valeur minimum",
"max": "Valeur maximum",
"read_only": "Lecture seule",
"keep_history": "Historisation",
"has_feedback": "Retour d'état",
"room_id": "Pièce",
"service_id": "Service",
"device_id": "Appareil",
"should_poll": "Interrogation périodique",
"poll_frequency": "Fréquence d'interrogation",
"value": "Valeur"
},
"contextTypes": {
"device_feature": "Fonctionnalité « {{name}} »"
},
"fieldErrorTypes": {
"notNullViolation": "champ obligatoire non renseigné par l'intégration",
"uniqueViolation": "valeur déjà utilisée par un autre appareil ou une autre fonctionnalité"
}
},
"featuresLabel": "Fonctionnalités",
"createButton": "Ajouter à Gladys",
"updateButton": "Mettre à jour",
"updateTitle": "L'intégration a re-publié cet appareil avec une structure différente : appliquer la nouvelle définition"
},
"install": {
"notFound": "Cette intégration n'a pas été trouvée dans le store.",
"starsLabel": "étoiles",
"lastPushLabel": "Dernière mise à jour :",
"warningTitle": "Intégration communautaire",
"warningText": "Cette intégration est développée par la communauté et n'est pas maintenue par l'équipe Gladys Assistant. Elle s'exécute dans un conteneur Docker isolé, mais vous ne devriez installer que des intégrations provenant de développeurs de confiance.",
"communicationWarningText": "Cette intégration est un canal de messagerie : une fois votre compte lié, elle pourra envoyer et recevoir des messages en votre nom (déclencher des scènes, contrôler votre maison via le cerveau de Gladys).",
"notCompatible": "Cette intégration n'est pas compatible avec votre installation de Gladys.",
"installError": "Une erreur s'est produite lors de l'installation de cette intégration.",
"alreadyInstalled": "Cette intégration est déjà installée.",
"goToIntegrationButton": "Accéder à l'intégration",
"installing": "Installation...",
"installButton": "Installer",
"networkDiscoveryTitle": "Demandes de découverte réseau",
"networkDiscoveryText": "Cette intégration demande à Gladys de capturer pour elle les annonces réseau suivantes. Elle ne pourra jamais rien capturer d'autre.",
"networkWakeTitle": "Accès Wake-on-LAN",
"networkWakeText": "Cette intégration demande l’autorisation d’envoyer des paquets Wake-on-LAN via Gladys sur votre réseau local.",
"locationText": "Cette intégration demande l'accès aux coordonnées (latitude/longitude) des maisons configurées dans Gladys.",
"documentationLink": "Documentation",
"duplicateWarningTitle": "Une autre instance est déjà installée",
"duplicateWarningText": "« {name} » semble être une autre instance de cette intégration. Deux instances peuvent se disputer le même compte cloud ou les mêmes appareils — pensez à arrêter l'instance existante pendant vos tests. Installer quand même est un usage supporté (ex. une version dev à côté de la prod).",
"webhooksTitle": "Webhooks Internet (Gladys Plus)",
"webhooksText": "Cette intégration pourra recevoir les événements suivants depuis Internet via le relais Gladys Plus (nécessite un abonnement Gladys Plus et une clé Open API).",
"notificationWarningText": "Cette intégration est un canal de notification : elle pourra vous envoyer des messages, mais elle ne pourra jamais recevoir de messages ni agir en votre nom (garantie côté serveur).",
"weatherInfoText": "Cette intégration est un fournisseur météo : une fois installée, elle fournira la météo affichée dans Gladys (widget du tableau de bord et assistant)."
},
"networkDiscovery": {
"udpBroadcastText": "Écouter les annonces réseau UDP sur les ports {ports}",
"udpActiveBroadcastText": "Émettre une requête de découverte en broadcast UDP sur les ports {ports} et recueillir les réponses",
"mdnsText": "Rechercher les services mDNS de type {service}",
"ssdpText": "Recherche SSDP de {st}"
},
"installFromGithub": {
"cardTitle": "Installer depuis GitHub",
"cardDescription": "Installez une intégration communautaire depuis un dépôt GitHub.",
"modalTitle": "Installer une intégration depuis GitHub",
"repoUrlLabel": "URL du dépôt GitHub",
"repoUrlPlaceholder": "https://github.com/owner/repository",
"installButton": "Installer",
"devModeLink": "Mode développeur : installer depuis une image Docker",
"devModeDescription": "Installez une intégration directement depuis une image Docker, avec un manifeste optionnel. L’image peut être construite localement avec docker build, sans registre. Réservé aux développeurs d’intégrations.",
"dockerImageLabel": "Image Docker",
"dockerImagePlaceholder": "ex. monuser/mon-integration:latest",
"manifestLabel": "Manifeste (JSON, optionnel)",
"manifestPlaceholder": "{ \"name\": \"Mon intégration\", ... }",
"errorUnknown": "Une erreur s'est produite lors de l'installation de cette intégration.",
"errorNotFound": "Dépôt introuvable, ou il ne contient pas d'intégration Gladys valide.",
"errorInvalidManifest": "Le manifeste de l'intégration est invalide.",
"manifestInvalidJson": "Le manifeste n'est pas un JSON valide.",
"errorDetailsTitle": "Détail des erreurs :"
},
"logs": {
"title": "Journaux",
"refreshButton": "Rafraîchir",
"error": "Une erreur s'est produite lors du chargement des journaux.",
"empty": "Aucun journal disponible.",
"containerSelectLabel": "Conteneur",
"mainContainerOption": "Conteneur principal"
},
"link": {
"title": "Lier mon compte",
"notLinkedText": "Votre compte n'est pas lié à ce canal de messagerie. Générez un code, puis envoyez-le au bot dans le canal externe pour lier votre compte.",
"linkedText": "Votre compte est lié à :",
"generateCodeButton": "Générer un code de liaison",
"codeText": "Envoyez ce code au bot :",
"codeExpiryText": "Ce code est à usage unique et expire dans 15 minutes.",
"unlinkButton": "Délier mon compte",
"error": "Une erreur s'est produite lors de la liaison du compte."
},
"subContainers": {
"title": "Conteneurs additionnels",
"description": "Cette intégration exécute les conteneurs suivants sur votre machine. Les ports listés seront accessibles depuis votre réseau local.",
"nameLabel": "Nom",
"imageLabel": "Image",
"limitsLabel": "Limites",
"portsLabel": "Ports exposés"
},
"hardware": {
"title": "Matériel",
"installDescription": "Cette intégration demande l'accès à du matériel de votre machine. Vous pouvez accorder ou refuser chaque accès, et le modifier à tout moment après l'installation.",
"configDescription": "Accès matériel accordés à cette intégration. Modifier un accès recrée les conteneurs concernés et notifie l'intégration.",
"detected": "Détecté",
"notDetected": "Non détecté",
"saveButton": "Enregistrer le matériel",
"saveError": "Une erreur s'est produite lors de l'enregistrement des accès matériel.",
"classes": {
"coral-usb": "Coral USB (tout le bus USB)",
"coral-pcie": "Coral PCIe",
"gpu": "GPU (accélération graphique)",
"video": "Caméras (périphériques vidéo)"
}
},
"webhooks": {