-
-
Notifications
You must be signed in to change notification settings - Fork 319
Expand file tree
/
Copy pathen.json
More file actions
5831 lines (5831 loc) · 280 KB
/
Copy pathen.json
File metadata and controls
5831 lines (5831 loc) · 280 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": "Gladys logo",
"needHelpText": "Need help? Join us on <a href=\"https://community.gladysassistant.com/\" target=\"_blank\" rel=\"noopener noreferrer\"> Gladys Community</a>.",
"new": "New",
"orderDirAsc": "A - Z",
"orderDirDesc": "Z - A",
"emptySelectOption": "---------",
"backButton": "◀️️ Back",
"requiredField": "*",
"listItem": "{{index}}.",
"percentValue": "{{value}}%",
"percent": "%",
"degreeValue": "{{value}}°",
"workInProgress": "Work in progress...",
"save": "Save",
"celsius": "C",
"fahrenheit": "F",
"metersPerSec": "m/s",
"milesPerHour": "m/h",
"selectPlaceholder": "Select...",
"yes": "Yes",
"no": "No",
"edit": "Edit",
"delete": "Delete",
"next": "Next",
"back": "Back",
"create": "Create",
"cancel": "Cancel",
"selectDevice": "Select a device",
"noData": "No data",
"price": "Price",
"collapse": "Collapse",
"expand": "Expand",
"loading": "Loading...",
"preview": "Preview"
},
"color": {
"aqua": "Aqua",
"black": "Black",
"blue": "Blue",
"green": "Green",
"grey": "Grey",
"orange": "Orange",
"pink": "Pink",
"purple": "Purple",
"red": "Red",
"yellow": "Yellow"
},
"calendar": {
"allDay": "All Day",
"previous": "Previous",
"next": "Next",
"today": "Today",
"month": "Month",
"week": "Week",
"day": "Day",
"agenda": "Agenda",
"date": "Date",
"time": "Time",
"event": "Event",
"noEventsInRange": "There are no events in this range.",
"noCalendarsConnected": "No calendars connected. To connect an external calendar, go to the integrations page or ask a user in your Gladys instance to share you his calendars."
},
"device": {
"searchPlaceHolder": "Search devices",
"noRoom": "No room",
"noFeatures": "No features",
"tooMuchStatesToDelete": "This device has {{count}} states in database. To prevent your Gladys instance to be slow while deleting them, we've started a delete of those states slowly in background. You can come back to delete this device later when the device will not have any states anymore. To follow the delete job, <a href=\"/dashboard/settings/jobs\">click here</a>.",
"migrate": {
"button": "Migrate",
"modalTitle": "Migrate \"{{name}}\"",
"description": "Migrate this device to a device of another integration: its <b>state history</b>, the <b>scenes</b> and the <b>dashboards</b> referencing it will be moved to the destination device, then <b>this device will be deleted</b>. If both devices recorded states during the same period, only the history older than the destination's first state is moved, so nothing is counted twice.",
"destinationLabel": "Destination device",
"featuresTitle": "Feature matching",
"doNotMigrate": "Do not migrate",
"typeMismatchWarning": "This feature has a different type than the source feature: its history may not make sense once migrated.",
"unitMismatchWarning": "This feature has a different unit than the source feature: values are moved without conversion, so charts may become inconsistent.",
"unmappedWarning": "Some features are not matched: their history will be deleted, and the scenes and dashboards using them will not be updated.",
"noDestinationAvailable": "No device from another integration was found. Create the destination device in its new integration first, then come back here to migrate.",
"loadError": "Unable to load the list of devices. Please try again.",
"migrateError": "The migration failed. The old device was not deleted, but some history may already have been moved to the destination. Check the jobs page and your device list, then try again: re-running only moves what remains to migrate.",
"networkError": "The connection was lost while the migration was running: it may still be running in background. Check the <a href=\"/dashboard/settings/jobs\">jobs page</a> and refresh the device list before trying again.",
"successText": "Migration complete! <b>{{states}}</b> historical states were moved, <b>{{scenes}}</b> scene(s) and <b>{{dashboards}}</b> dashboard(s) were updated. The old device has been deleted.",
"confirmButton": "Migrate and delete the old device",
"cancelButton": "Cancel",
"closeButton": "Close"
}
},
"login": {
"title": "Gladys Assistant",
"welcome": "Welcome",
"createAccountStep": "Create account",
"preferencesStep": "Your preferences",
"houseStep": "Configure house",
"success": "Success!",
"cardTitle": "Login to your account",
"loginWithGladysGatewayButton": "Login with Gladys Gateway",
"emailLabel": "Email Address",
"emailPlaceholder": "Enter your email",
"passwordLabel": "Password",
"forgotPasswordLabel": "I forgot my password",
"passwordPlaceholder": "Enter your password",
"loginButtonText": "Log in",
"wrongCredentials": "Wrong email/password.",
"invalidEmail": "Invalid email",
"needHelpText": "Need help? Join us on <a href=\"https://community.gladysassistant.com/\" target=\"_blank\" rel=\"noopener noreferrer\"> Gladys Community</a>."
},
"locked": {
"cardTitle": "Locked House",
"description": "Please enter your code to unlock the alarm.",
"codePlaceholder": "Enter your code",
"error": "An error occurred, please try again",
"wrongCodeError": "Invalid code, please try again",
"validateButton": "Validate",
"tooManyRequests": "Please wait {{count}} minutes before trying again."
},
"signup": {
"welcome": {
"title": "Welcome to Gladys!",
"introSentence": "First, thank you for choosing me. I'm Gladys, a privacy-friendly home assistant for your house.",
"introTimeToCreateAccount": "It's time to create a local account for your Gladys setup.",
"introDontWorryLocal": "Don't worry: Gladys is fully self-hosted, and all the information you'll enter is only saved in the local database of Gladys.",
"introInCaseOfIssues": "In case you have issues installing Gladys, check out our <a href=\"https://gladysassistant.com/docs\" target=\"_blank\" rel=\"noopener noreferrer\">documentation</a> or ask a question on <a href=\"https://community.gladysassistant.com/\" target=\"_blank\" rel=\"noopener noreferrer\">Gladys community</a>.",
"introReadMoreGladysGateway": "Read more about <a href=\"https://gladysassistant.com/plus\" target=\"_blank\" rel=\"noopener noreferrer\">Gladys Plus.</a>",
"buttonCreateAccountGladysGateway": "Gladys Plus backup restore",
"buttonCreateAccountWithEmail": "Create local account"
},
"createLocalAccount": {
"title": "Create your local Gladys account",
"description": "All information entered here is only saved locally in Gladys database. You can update it later at any time.",
"firstnameLabel": "First Name",
"firstnamePlaceHolder": "Enter your first name",
"lastnameLabel": "Last Name",
"lastnamePlaceHolder": "Enter your last name",
"languageLabel": "Language",
"english": "English",
"french": "Français",
"german": "Deutsch",
"birthdateLabel": "Birthdate",
"birthdatePlaceHolder": "Enter your birthdate",
"january": "January",
"february": "February",
"march": "March",
"april": "April",
"may": "May",
"june": "June",
"july": "July",
"august": "August",
"september": "September",
"october": "October",
"november": "November",
"december": "December",
"emailLabel": "Email",
"emailPlaceHolder": "Enter your Email",
"passwordLabel": "Password (min 8 characters)",
"passwordPlaceHolder": "Enter a password",
"passwordRepeatLabel": "Repeat your password",
"passwordRepeatPlaceHolder": "Repeat your password",
"firstnameError": "First name is required.",
"lastnameError": "Last name is required.",
"emailError": "Email is not a valid email",
"passwordError": "Password should be at least 8 characters.",
"passwordRepeatError": "Passwords do not match.",
"birthdateError": "Birthdate is required.",
"networkError": "Network Error: We didn't succeed in contacting your Gladys instance. Are you connected to the network? Is your Gladys instance running?",
"emailAlreadyExistError": "A user with this email already exists.",
"selectorAlreadyExistError": "A user with this first name already exists.",
"createAccountButton": "Create Account"
},
"restoreBackupSetBackupKey": {
"title": "Enter your backup key",
"description": "As Gladys Plus backups are end-to-end encrypted, we need you to enter your backup key. Your local instance can only decrypt the backup with this backup key.",
"backupKeyLabel": "Backup key",
"backupKeyPlaceholder": "Enter your backup key",
"cancelButton": "Cancel",
"saveButton": "Save backup key",
"error": "Unable to save the backup key. Please check that your instance is connected to the internet and try again."
},
"restoreBackupInProgress": {
"title": "Restore in progress...",
"description": "At the end of the restore process, Gladys will restart automatically.",
"errored": "Backup restore failed, maybe the restore key is not valid",
"erroredHelp": "If you can't restore your backup, you can create a local account now, connect Gladys Plus later in the settings, and restore your backup at that moment.",
"updateRestoreKeyButton": "Update restore key",
"createLocalAccountButton": "Create a local account"
},
"gatewayBackup": {
"title": "Choose a backup",
"description": "Choose the backup you want to restore in this list.",
"changeKeyButton": "Change backup key",
"refreshButton": "Refresh",
"noBackupsFound": "No backups were found on this Gladys Plus account.",
"error": "Unable to retrieve your backups. Please check that your instance is connected to the internet and try again."
},
"restoreLocalAccountAlternative": {
"text": "You can also create a local account now, connect Gladys Plus later in the settings, and restore your backup at that moment.",
"linkText": "Create a local account"
},
"preferences": {
"title": "Your preferences",
"description": "You can modify those settings later.",
"temperatureUnitsLabel": "Temperature unit",
"temperatureUnitsCelsius": "Celsius (°C)",
"temperatureUnitsFahrenheit": "Fahrenheit (°F)",
"distanceUnit": "Distance unit",
"distanceUnitMeter": "SI (Meter)",
"distanceUnitUs": "Imperial/US (Miles)",
"deviceStateHistoryDuration": {
"title": "Keep Device State History",
"durationOneWeek": "1 week",
"durationOneMonth": "1 month",
"durationThreeMonth": "3 months",
"durationSixMonths": "6 months",
"durationOneYear": "1 year",
"durationTwoYears": "2 years",
"unlimited": "Forever"
},
"saveSettingsButton": "Save settings"
},
"configureHouse": {
"title": "Configure your house",
"description": "All information is only saved in Gladys local database. If you have several houses, you can configure them later in Gladys.",
"houseNameLabel": "Name",
"houseNamePlaceHolder": "Enter your house name",
"houseNameError": "House name is required",
"houseLocationLabel": "Click where your house is located",
"roomsLabel": "Add all rooms in your house",
"roomNamePlaceHolder": "Type a new room to add",
"addRoomButton": "Add",
"saveHouse": "Save house",
"deleteHouse": "Delete house",
"confirmDeleteHouse": "Confirm house deletion",
"cancelDeleteHouse": "Cancel",
"conflictError": "A house with the same name already exists.",
"roomConflictError": "A room with the same name already exists.",
"validationError": "House name should be between 1 and 40 characters",
"validationErrorRoom": "Room name should be between 1 and 40 characters",
"alarmTitle": "Alarm",
"alarmDescription": "If you are using the alarm mode in Gladys, you can configure the alarm deactivation code and the delay before the alarm triggers here. This delay will only apply in the case of manual triggering and not in scenes.",
"alarmCodeLabel": "Alarm Code",
"alarmCodePlaceholder": "Enter a numeric code between 4 and 8 digits",
"alarmDelayBeforeArmingLabel": "Delay before arming the alarm",
"alarmCodeError": "The code must be numeric and between 4 and 8 digits.",
"alarmDelays": {
"0": "No delay",
"5": "5 seconds",
"10": "10 seconds",
"15": "15 seconds",
"30": "30 seconds",
"60": "1 minute"
}
},
"success": {
"title": "Thank you!",
"introduction": "I'm <a href=\"https://twitter.com/pierregillesl\" target=\"_blank\" rel=\"noopener noreferrer\">Pierre-Gilles Leymarie</a>, and I started working on Gladys Assistant in 2013.",
"thanksForChoosingOpenSource": "I would like to thank you for choosing Gladys. I hope you'll enjoy using this software as much as I enjoyed building it.",
"ifYouWantToSupportThisSoftware": "I rely on contributions to make this project sustainable. If you want to support Gladys and get access to additional features, read more about <a href=\"https://gladysassistant.com/plus\" target=\"_blank\" rel=\"noopener noreferrer\">Gladys Plus</a>.",
"goToDashboardButton": "Go to the Dashboard"
}
},
"dashboard": {
"title": "Dashboard",
"editDashboardButton": "Edit",
"newDashboardButton": "New",
"enableFullScreen": "Full screen",
"disableFullScreen": "Exit full screen",
"editDashboardTitle": "Edit dashboard",
"editDashboardDeleteButton": "Delete",
"editDashboardCancelButton": "Cancel",
"editDashboardDeleteText": "Are you sure you want to delete this dashboard?",
"toggleDefineTabletMode": "Tablet Mode",
"closeDefineTabletMode": "Close",
"tabletMode": {
"description": "Tablet mode is used for the alarm functionality. If you arm the alarm, all house tablets will be locked and display a virtual keyboard to deactivate the alarm.",
"currentBrowserOnly": "<strong>This setting only applies to this device.</strong> By saving, you declare that the browser you are currently using is a tablet. Each device is configured separately: only enable tablet mode on the devices you are happy to see locked when the alarm is armed.",
"fullScreenForce": "If you want to force a tablet to stay in full-screen mode, you can add <code>?fullscreen=force</code> to the URL.",
"houseLabel": "House of this tablet",
"howToDisable": "To turn tablet mode off on a device, open this menu from that device and select \"Tablet mode disabled\".",
"tabletModeDisabled": "Tablet Mode Disabled"
},
"duckDbMigrationInProgress": "Your Gladys instance is migrating its database to DuckDB, a new, more powerful database system for time-series data. This task may take some time, during which time not all your charts will be available. Migration progress = {{progress}}%.",
"editDashboardSaveButton": "Save",
"emptyDashboardSentenceTop": "Looks like your dashboard is not configured yet.",
"emptyDashboardSentenceBottom": "Click on the \"Edit\" button to design your dashboard.",
"noDashboardSentenceBottom": "Click on the \"New\" button to create a new dashboard",
"gatewayInstanceNotFoundError": "Your Gladys instance is not connected to the Gladys Gateway",
"editDashboardNameLabel": "Name",
"editDashboardVisibility": "Visibility",
"editDashboardVisibilityDescription": "Public dashboards will be visible to all members of the Gladys installation.",
"editDashboardVisibilityNotEditableNotCreator": "You cannot edit the sharing because you are not the creator of this dashboard.",
"visibilities": {
"private": "private",
"public": "public"
},
"editDashboardAddColumnButton": "Add a column on dashboard",
"editDashboardBoxNotEmpty": "You cannot delete this column as it contains widgets.",
"editDashboardMyDashboards": "My dashboards",
"editDashboardExplanation": "Each dashboard has 3 columns, which you can fill in according to your preferences. Click on the + button to add a new widget. You can move this widget by grabbing it and moving it around.",
"reorderDashboardButton": "Re-order dashboards",
"stopReorderingDashboardButton": "Stop re-ordering dashboards",
"addBoxButton": "Add",
"selectBoxType": "Select a type",
"selectBoxTypeLabel": "Choose which widget to display here",
"boxTitle": {
"alarm": "Alarm",
"weather": "Weather",
"temperature-in-room": "Temperature in room",
"humidity-in-room": "Humidity in room",
"user-presence": "User presence",
"camera": "Camera",
"devices-in-room": "Devices in room (Deprecated)",
"devices": "Devices",
"chart": "Chart",
"ecowatt": "Ecowatt (France)",
"edf-tempo": "Tempo EDF",
"clock": "Clock",
"scene": "Scene",
"music": "Music",
"gauge": "Gauge",
"energy-consumption": "Energy Consumption",
"voice-assistant": "Voice assistant",
"link": "Link",
"photo": "Photo",
"sun": "Sun"
},
"boxes": {
"column": "Column {{index}}",
"deleteButton": "Delete",
"weather": {
"editHouseLabel": "Select a house. I will use its latitude/longitude to get the weather.",
"houseHasNoCoordinates": "Your house has no coordinates defined. Go to Gladys parameters to define the position of your house.",
"serviceNotConfigured": "No weather service is configured. Please go to the 'Integrations' tab and configure a weather integration (OpenWeather, or a weather integration from the store).",
"requestToThirdPartyFailed": "The request to the weather provider failed. Is your Gladys instance connected to the internet? Please go to the weather integrations panel to troubleshoot this problem.",
"clickHere": "Click here to access the weather integrations.",
"unknownError": "We are unable to get the weather for this house. Did you define a house for this box?",
"editProviderLabel": "Weather provider:",
"providerAuto": "Automatic (first available provider)",
"providerInternalOpenWeather": "Internal OpenWeather (deprecated)",
"editModeLabel": "Select display mode:",
"displayModes": {
"dateLocation": "Date and location",
"currentWeather": "Current weather",
"alerts": "Weather alerts",
"advancedWeather": "Weather details (humidity, wind, UV, moon…)",
"hourlyForecast": "Forecast for the next 24 hours",
"dailyForecast": "Forecast for the next 5 days",
"providerImages": "Provider images (vigilance map, rain radar…)"
},
"noModeSelected": "Select at least one display mode, otherwise the widget will stay empty.",
"minMaxDegreeValue": "{{min}}°/{{max}}°",
"uv": "UV",
"windGustTitle": "Wind gusts (the provider gives no average wind speed for this day)",
"alertTypes": {
"wind": "Strong wind",
"rain": "Heavy rain",
"flood": "Flood",
"thunderstorm": "Thunderstorms",
"snow": "Snow and ice",
"heat": "Heat wave",
"cold": "Extreme cold",
"avalanche": "Avalanches",
"coastal": "Coastal event",
"fog": "Fog"
},
"conditions": {
"clear": "Clear sky",
"partly-cloudy": "Partly cloudy",
"cloud": "Cloudy",
"fog": "Fog",
"drizzle": "Drizzle",
"rain": "Rain",
"pouring": "Heavy rain",
"sleet": "Sleet",
"hail": "Hail",
"snow": "Snow",
"thunderstorm": "Thunderstorm",
"wind": "Windy",
"night": "Night",
"unknown": "Unavailable"
},
"moonPhases": {
"0": "New moon",
"1": "Waxing crescent",
"2": "First quarter",
"3": "Waxing gibbous",
"4": "Full moon",
"5": "Waning gibbous",
"6": "Last quarter",
"7": "Waning crescent"
},
"windCardinals": {
"n": "N",
"ne": "NE",
"e": "E",
"se": "SE",
"s": "S",
"sw": "SW",
"w": "W",
"nw": "NW"
}
},
"devicesInRoom": {
"editRoomLabel": "Select the room you want to display here.",
"editDeviceFeaturesLabel": "Select the devices you want to display. Only lights / sensors are showed here.",
"noValue": "No value recorded",
"noRecentValue": "No recent value",
"deviceTitle": "{{name}} - {{type}}",
"addButton": "+",
"substractButton": "-",
"motionDetected": "Motion detected",
"doorbellRinging": "Ringing",
"pushButton": "Push",
"vacuumDock": "Return to Dock"
},
"devices": {
"editDeviceFeaturesLabel": "Select the devices you want to display:",
"editNameLabel": "Widget Name (optional)",
"editNamePlaceholder": "Enter the name of the widget",
"addADeviceLabel": "Add a device:"
},
"temperatureInRoom": {
"editRoomLabel": "Select the room you want to display here.",
"noTemperatureRecorded": "No temperature recorded recently.",
"thresholdsLabel": "Configure custom thresholds"
},
"humidityInRoom": {
"editRoomLabel": "Select the room you want to display here.",
"noHumidityRecorded": "No humidity recorded recently.",
"thresholdsLabel": "Configure custom thresholds"
},
"userPresence": {
"description": "Display who's at home and who is not. You can change the user presence in scenes, and select here the users displayed.",
"left": "Left ({{since}})",
"atHome": "At Home",
"neverSeenAtHome": "Never Seen At Home",
"error": "There was a network error fetching the list of user. Please refresh.",
"emptyText": "There are no users selected. You can edit this box to select the users to display."
},
"camera": {
"editCameraLabel": "Select the camera you want to display here.",
"noImageToShow": "No image to show. Are you sure you camera is connected and accessible to Gladys?",
"editBoxNameLabel": "Enter the name you want to give to the box:",
"editBoxNamePlaceholder": "Name of the box",
"latencyBoxName": "Latency",
"latencyBoxDescription": "The lower the latency you select, the faster the live stream will start. However, to have a low latency, you need a very fast internet connection with a minimum of ping or the video will be jerky. We recommend medium or low latency.",
"upgradeGladysPlusPlanError": "Camera streaming is not included in your Gladys Plus plan. You need to update it in Settings -> Billing.",
"liveStartError": "An error occurred while starting this live stream. Are you sure the URL of your camera is a video flux and not an image?",
"notNotSupportedBrowser": "This browser is not supported. To enable end-to-end encryption of this video stream, we use the MediaSource API, which may not be supported on this browser. We recommend Firefox, Safari, or any Chromium-based browser.",
"tooManyRequests": "You have reached your monthly video bandwidth limit. Contact us by email or on the forum to get more bandwidth!",
"liveAutoStartLabel": "Start automatically the live streaming",
"liveAutoStartDescription": "Warning: This can increase the load on your machine/network.",
"latency": {
"ultraLow": "Ultra low",
"low": "Low",
"medium": "Medium",
"standard": "Standard"
}
},
"chart": {
"defaultInterval": "Default interval",
"lastHour": "Last hour",
"lastTwelveHours": "Last 12 hours",
"lastDay": "Last 24 hours",
"showAdvancedOptions": "Show Advanced Options",
"hideAdvancedOptions": "Hide Advanced Options",
"lastSevenDays": "Last 7 days",
"lastThirtyDays": "Last 30 days",
"lastThreeMonths": "Last 3 months",
"lastYear": "Last year",
"noValue": "No values recorded on this interval.",
"noValueWarning": "Warning: if you just configured this device, it may take some time before you see something here as Gladys needs some time to collect enough data. For interval superior to 24h, it may take up to 24h before you see something here.",
"noChartType": "No chart type selected",
"noChartTypeWarning": "If you just configured this device, please go back to the widget edit page and select a chart type.",
"editNameLabel": "Enter the name of this widget",
"editDeviceFeaturesLabel": "Select the device you want to display here",
"editRoomLabel": "Select the room you want to display here",
"editNamePlaceholder": "Name displayed on the dashboard",
"chartType": "Select the type of chart to display",
"chartColor": "Select the color of chart",
"dataColor": "Select color for {{featureLabel}}",
"timelineColor": "Select color for position",
"line": "Line",
"area": "Area",
"bar": "Bar",
"timeline": "Binary",
"stepline": "Step Line",
"displayAxes": "Display axes?",
"displayVariation": "Display variation?",
"yes": "Yes",
"no": "No",
"preview": "Preview",
"showPreviewButton": "Show preview",
"on": "On",
"off": "Off",
"start_date": "Start date: ",
"end_date": "End date: ",
"aggregateFunction": "Aggregate function",
"aggregateFunctions": {
"sum": "Sum",
"avg": "Average",
"max": "Max",
"min": "Min",
"count": "Count"
},
"groupByLabel": "Group by",
"groupBy": {
"noGrouping": "No grouping",
"hour": "Hour",
"day": "Day",
"week": "Week",
"month": "Month",
"year": "Year"
},
"previousPeriod": "Previous period",
"nextPeriod": "Next period",
"currentPeriod": "Live",
"backToNow": "Back to now"
},
"sun": {
"editHouseLabel": "Select a house. I will use its latitude/longitude to compute the sun position.",
"sunrise": "Sunrise",
"sunset": "Sunset",
"dawn": "Dawn",
"solarNoon": "Solar noon",
"dusk": "Dusk",
"azimuth": "Azimuth",
"elevation": "Elevation",
"noHouse": "Please select a house in the box settings.",
"noCoordinates": "This house has no coordinates. Please configure the house location first.",
"error": "An error occurred while getting the sun data. Please retry."
},
"ecowatt": {
"title": "Ecowatt France",
"description": "This box let you check the status of the french electricity network.",
"error": "An error occurred while fetching the RTE API. Please retry.",
"dailyTitle": "Daily previsions",
"nextDaysTitle": "Next days previsions",
"ok": "Network ok",
"warning": "Network warning",
"critical": "Network critical"
},
"edfTempo": {
"description": "This widget allows you to display the current EDF Tempo state.",
"link": "Learn more about EDF Tempo",
"blueDay": "Blue Day",
"whiteDay": "White Day",
"redDay": "Red Day",
"notDefinedDay": "Not Defined",
"currentHourState": "Currently",
"peakHour": "Peak Hour",
"offPeakHour": "Off-Peak Hour",
"dayPeakTitle": "Tempo days"
},
"clock": {
"analog": "Analog",
"digital": "Digital",
"date": "{{day}}, {{month}} {{dayNumber}}, {{year}}",
"smallDate": "{{month}} {{dayNumber}}",
"type": "Clock type?",
"displaySecond": "Display seconds?",
"yes": "Yes",
"no": "No"
},
"gauge": {
"description": "This widget will display a gauge with the value of the selected feature between its minimum and maximum value.",
"selectDeviceLabel": "Select feature to display",
"noDeviceFeatureSelector": "No feature selected",
"errorLoadingDevice": "An error occurred while loading the device",
"noDeviceFeatureLastValue": "This feature has not received any value yet",
"thresholdsLabel": "Configure custom thresholds",
"thresholdsNoRange": "The selected feature has no minimum or maximum value defined, thresholds cannot be configured.",
"colorLowLabel": "Color below the low threshold",
"colorInRangeLabel": "Color between the thresholds",
"colorHighLabel": "Color above the high threshold",
"thresholdsLegendLabel": "Thresholds:",
"editNameLabel": "Widget name (optional)",
"editNamePlaceholder": "Name displayed on the dashboard"
},
"energyConsumption": {
"editName": "Widget Name (optional)",
"editNamePlaceholder": "Name displayed on the dashboard",
"editDeviceFeatures": "Select an energy consumption device",
"year": "Year",
"month": "Month",
"day": "Day",
"currency": "Cost (€)",
"kwh": "Consumption (kWh)",
"consumptionCost": "Consumption Cost",
"totalConsumptionCost": "Total Consumption Cost",
"totalConsumptionKwh": "Total Consumption",
"error": "Error loading energy consumption data",
"noData": "No energy consumption data available for this period",
"showSubscriptionPrices": "Show subscription prices",
"showSubscriptionPricesDescription": "Display the monthly subscription cost alongside consumption data in the chart."
},
"scene": {
"editNameLabel": "Widget Name (optional)",
"editNamePlaceholder": "Name displayed on the dashboard",
"editSceneLabel": "Select the scene you want to display here."
},
"link": {
"editTitleLabel": "Title",
"editTitlePlaceholder": "E.g. Tasmota - Living room plug",
"editUrlLabel": "URL",
"editUrlPlaceholder": "http://192.168.1.50",
"editIconLabel": "Icon",
"emptyUrl": "No URL configured.",
"icons": {
"link": "Link",
"globe": "Website",
"server": "Server",
"hard-drive": "Storage (NAS)",
"wifi": "Wi-Fi network",
"monitor": "Web interface",
"cpu": "Connected device",
"home": "Home"
}
},
"photo": {
"description": "Display one or more photos on your dashboard. Images are fetched by your Gladys instance (not by your browser), so photos hosted on a local NAS work remotely via Gladys Plus.",
"editNameLabel": "Widget name (optional)",
"editNamePlaceholder": "E.g. Summer vacation 2025",
"photosLabel": "Photos",
"editUrlPlaceholder": "https://my-nas.local/photos/vacation.jpg",
"editCaptionPlaceholder": "Caption (optional)",
"addPhotoButton": "Add a photo",
"fitLabel": "Image display",
"fitCover": "Fill (crop)",
"fitContain": "Contain (full image)",
"slideshowIntervalLabel": "Slideshow (seconds)",
"slideshowIntervalHelp": "Set to 0 to disable slideshow. Recommended: 10-30 seconds.",
"showCaptionLabel": "Show captions",
"emptyPhotos": "No photos configured.",
"imageError": "Unable to load this image."
},
"alarm": {
"armButton": "Arm",
"disarmButton": "Disarm",
"partiallyArmedButton": "Partial",
"partiallyArmedButtonSecondLine": "Arm",
"panicButton": "Panic",
"editBoxNameLabel": "Widget Name (optional)",
"editBoxNamePlaceholder": "Enter the widget name",
"editHouseLabel": "Select the house for alarm activation/disarmament.",
"alarmStatusText": "Your house is ",
"alarmArming": "Your house is being armed...",
"cancelAlarmArming": "Cancel"
},
"music": {
"selectDeviceLabel": "Select device to control"
},
"voice-assistant": {
"speak": "Speak",
"stop": "Stop",
"listening": "Listening...",
"listeningHint": "Speak now. Recording stops when you are silent.",
"processing": "Processing...",
"speaking": "Speaking...",
"transcriptionLabel": "You said",
"responseLabel": "Response",
"error": "Something went wrong. Make sure Gladys Plus is connected.",
"errorInsecureContext": "The microphone requires a secure connection. Open Gladys on Gladys Plus at <a href=\"https://plus.gladysassistant.com\" target=\"_blank\" rel=\"noopener noreferrer\">plus.gladysassistant.com</a>.",
"errorPermissionDenied": "Allow microphone access for Safari in Settings > Safari > Microphone.",
"errorNotSupported": "Voice recording is not available in this browser.",
"errorNoMicrophone": "No microphone detected. Plug one in or enable it in system settings.",
"errorMicrophoneUnavailable": "The microphone is unavailable. Check that it is not in use by another app.",
"errorNoSpeech": "No voice detected. Check that your microphone is enabled, then try again.",
"errorNoTranscription": "I could not understand your message. Speak closer to the microphone and try again.",
"configDescription": "This widget uses Gladys Plus for speech recognition, AI and text-to-speech. Connect your instance to Gladys Plus to use it.",
"plusRequiredHint": "Connect Gladys Plus to enable the microphone."
}
}
},
"newDashboard": {
"cardTitle": "Create a new dashboard",
"description": "You can create as many dashboard as you want, so you can better organize the data you want to display.",
"nameLabel": "Name",
"dashboardAlreadyExist": "A dashboard with this name already exists.",
"unknownError": "An unknown error occurred. Please retry!",
"validationError": "Dashboard created is not valid, did you fill all the boxes correctly?",
"createDashboardButton": "Create"
},
"integration": {
"tags": {
"gladysPlus": "Gladys Plus",
"cloud": "Cloud",
"local": "Local",
"external": "Community",
"native": "Native",
"deprecated": "Soon deprecated"
},
"root": {
"title": "Integrations",
"subtitle": "{{length}} of {{total}} integrations",
"subtitleTotal": "{{total}} integrations",
"searchPlaceholder": "Search an integration",
"noIntegrations": "No integration found",
"allIntegrationsUpToDate": "All your integrations are up to date.",
"noSearchResults": "No integration matching \"{{searchKeyword}}\" was found.",
"noSearchResultsSuggestion": "Try <a href=\"/dashboard/integration/device/matter\">Matter</a> for Matter/Thread compatible devices, or <a href=\"/dashboard/integration/device/matterbridge\">Matterbridge</a> to connect Somfy, Shelly, Daikin and many other devices.",
"refreshStore": {
"hint": "An integration missing from the list?",
"button": "Refresh catalog",
"refreshing": "Refreshing…",
"tooltip": "Re-download the list of community integrations. Gladys keeps it in cache and refreshes it every 30 minutes.",
"success": "Catalog up to date.",
"stale": "Gladys could not reach the store: this is still the cached catalog.",
"error": "The catalog could not be refreshed. Check your internet connection."
},
"gatewayBanner": {
"title": "Can't find your device?",
"description": "Many devices can be connected via <a href=\"/dashboard/integration/device/matter\">Matter</a> (universal protocol). Your device can also be supported by a community <b>external integration</b>: anyone can create one and publish it in the store, it then appears in this list. See the <a href=\"https://gladysassistant.com/docs/dev/external-integrations/\" target=\"_blank\" rel=\"noopener noreferrer\">external integrations documentation</a>."
},
"menu": {
"all": "All integrations",
"favorites": "Favorites",
"updates": "To update",
"device": "Devices",
"communication": "Communication",
"calendar": "Calendar",
"music": "Music",
"health": "Health",
"weather": "Weather",
"navigation": "Navigation"
}
},
"externalIntegration": {
"updateAvailable": "Update available",
"deviceTab": "Devices",
"discoverTab": "Discover",
"configTab": "Configuration",
"supervisionTab": "Supervision",
"logsTab": "Logs",
"status": {
"UNKNOWN": "Unknown",
"ENABLED": "Enabled",
"DISABLED": "Disabled",
"LOADING": "Loading",
"RUNNING": "Running",
"DEGRADED": "Degraded",
"STOPPED": "Stopped",
"ERROR": "Error"
},
"docs": {
"modalTitle": "Documentation",
"loadError": "There was an error loading the documentation.",
"openRawLink": "Open in a new tab"
},
"config": {
"title": "Configuration",
"docsLink": "Documentation",
"loadError": "There was an error loading the configuration.",
"noConfig": "This integration has no configuration options.",
"secretConfiguredPlaceholder": "Configured. Leave empty to keep the current value.",
"saveSuccess": "Configuration saved successfully.",
"saveError": "There was an error saving the configuration.",
"saveButton": "Save configuration",
"oauthConnectButton": "Connect",
"oauthInvalidStateError": "This integration did not provide a usable security state for the connection (missing or too long). It cannot be connected until its developer fixes it.",
"oauthRedirectUriLabel": "Redirect URI to declare in your developer application",
"oauthRedirectUriDescription": "Providers refuse a local address: this HTTPS page hosted by Gladys sends you back to your instance once you have authorized access. It runs entirely in your browser, Gladys neither stores nor uses the authorization code, and your access tokens are exchanged directly between your instance and the provider.",
"oauthRedirectUriInstanceDescription": "You chose to use the address of your instance: declare this exact URL in your developer application. The provider will come back to your Gladys directly, without going through the Gladys redirect page.",
"oauthRedirectUriCopied": "Copied!",
"oauthUseInstanceRedirectLabel": "Use the address of my instance instead (I already access Gladys over HTTPS)",
"oauthConnectError": "There was an error starting the connection. Check that the integration is running."
},
"actions": {
"title": "Actions",
"runButton": "Run",
"error": "The action failed. Check that the integration is running.",
"resultRegionLabel": "Action result"
},
"connection": {
"label": "Connection",
"connectedBadge": "Connected",
"disconnectedBadge": "Disconnected"
},
"transport": {
"localBadge": "Local",
"cloudBadge": "Cloud",
"unreachableBadge": "Unreachable",
"localTooltip": "This device answers through the local network (LAN)",
"cloudTooltip": "This device answers through the vendor cloud",
"unreachableTooltip": "This device does not answer at the moment",
"degradedBadge": "Degraded",
"degradedTooltip": "This device works, but not in its nominal mode",
"preferLocalLabel": "Prefer the local (LAN) connection when available",
"preferLocalDescription": "The integration applies this preference when it can; the badge of each device shows the transport really in use."
},
"oauthCallback": {
"title": "Account connection",
"relayingText": "Finalizing the connection with the integration...",
"successText": "Account connected successfully.",
"errorText": "The integration refused the connection. Please try again.",
"missingParamsText": "This page is missing its connection parameters. Restart the connection from the Configuration screen.",
"closeText": "You can close this window.",
"backToConfigButton": "Back to configuration"
},
"supervision": {
"title": "Supervision",
"loadError": "There was an error loading the integration.",
"actionError": "There was an error executing this action.",
"uninstallError": "There was an error uninstalling this integration.",
"updateAvailableText": "A new version of this integration is available.",
"updateSuccessText": "Integration updated to version {{version}}.",
"alreadyUpToDateText": "The integration is already up to date (version {{version}}): the Docker image was re-pulled and the container recreated.",
"statusLabel": "Status",
"versionLabel": "Version",
"dockerImageLabel": "Docker image",
"repoLabel": "Repository",
"startButton": "Start",
"stopButton": "Stop",
"restartButton": "Restart",
"updateButton": "Update",
"forceUpdateButton": "Force update",
"forceUpdateTitle": "Checks the latest published version, re-pulls the Docker image and recreates the container",
"logsButton": "Logs",
"uninstallButton": "Uninstall",
"containersTitle": "Additional containers",
"containerRunning": "Running",
"containerStopped": "Stopped",
"openButton": "Open",
"uninstallWarning": "Are you sure you want to uninstall this integration? Its container and configuration will be removed. Devices created by this integration will stay in Gladys until you delete them.",
"confirmUninstallButton": "Yes, uninstall",
"cancelUninstallButton": "Cancel",
"startedAtLabel": "Running since"
},
"device": {
"title": "Devices",
"refreshButton": "Refresh",
"loadError": "There was an error loading the devices.",
"noDevices": "No devices created yet. Go to the \"Discover\" tab to find devices.",
"noDevicesConfigureFirst": "If you just installed this integration, start by filling in the <a href=\"{{configUrl}}\">Configuration</a> tab, then launch a discovery.",
"saveError": "There was an error saving this device.",
"deleteError": "There was an error deleting this device.",
"nameLabel": "Name",
"namePlaceholder": "Device name",
"roomLabel": "Room",
"featuresLabel": "Features",
"saveButton": "Save",
"deleteButton": "Delete"
},
"deviceParams": {
"title": "Technical parameters"
},
"discover": {
"title": "Discovered devices",
"scanButton": "Scan",
"scanning": "Scanning...",
"scanningInProgress": "Scan in progress... Depending on the integration, this can take up to a minute. The list will refresh automatically as soon as devices are published.",
"scanError": "There was an error launching the scan.",
"scanErrorDisconnected": "Unable to launch the scan: the integration is not connected. Check that it is running in the \"Configuration\" tab.",
"loadError": "There was an error loading the discovered devices.",
"noDevices": "No devices discovered yet. Press \"Scan\" to search for devices.",
"noDevicesConfigureFirst": "Nothing found? Make sure the integration is configured in the <a href=\"{{configUrl}}\">Configuration</a> tab, then run a new scan.",
"alreadyCreatedBadge": "Already added",
"searchPlaceholder": "Search devices",
"noSearchResults": "No discovered device matches your search.",
"error": {
"networkError": "Gladys did not answer the add request. Check that the Gladys server is running and reachable, then try again.",
"badRequestError": "Gladys rejected this device: the data published by the integration is incorrect.",
"forbiddenError": "You are not allowed to add this device. Log out, log back in, then try again.",
"notFoundError": "The requested resource was not found on the server. Run a new scan, then try again.",
"conflictError": "This device conflicts with a device already present in Gladys.",
"externalIdConflictError": "A device or a feature with the same external id already exists in Gladys. The integration is probably publishing the same id twice, or this device was already added by another integration.",
"selectorConflictError": "Another device already uses the same internal id, usually because it has the same name. Rename the existing device, then try again.",
"validationError": "The integration published an incomplete or invalid device: Gladys refused to save it.",
"serverError": "An internal error happened in Gladys while adding this device.",
"unexpectedError": "An unexpected error happened while adding this device.",
"rejectedFieldsTitle": "Rejected fields:",
"technicalDetail": "Technical detail:",
"apiFullResponse": "Full API response:",
"reportHint": "Copy this detail if you ask for help on the forum or report the problem to the integration developer.",
"fieldLabels": {
"name": "Name",
"external_id": "External id",
"selector": "Internal id",
"model": "Model",
"category": "Category",
"type": "Type",
"unit": "Unit",
"min": "Minimum value",
"max": "Maximum value",
"read_only": "Read only",
"keep_history": "Keep history",
"has_feedback": "Has feedback",
"room_id": "Room",
"service_id": "Service",
"device_id": "Device",
"should_poll": "Polling",
"poll_frequency": "Poll frequency",
"value": "Value"
},
"contextTypes": {
"device_feature": "Feature \"{{name}}\""
},
"fieldErrorTypes": {
"notNullViolation": "required field not provided by the integration",
"uniqueViolation": "value already used by another device or feature"
}
},
"featuresLabel": "Features",
"createButton": "Add to Gladys",
"updateButton": "Update",
"updateTitle": "The integration re-published this device with a different structure: apply the new definition"
},
"install": {
"notFound": "This integration was not found in the store.",
"starsLabel": "stars",
"lastPushLabel": "Last update:",
"warningTitle": "Community integration",
"warningText": "This integration is developed by the community and is not maintained by the Gladys Assistant team. It runs in an isolated Docker container, but you should only install integrations from developers you trust.",
"communicationWarningText": "This integration is a messaging channel: once your account is linked, it will be able to send and receive messages on your behalf (trigger scenes, control your home through the Gladys brain).",
"notCompatible": "This integration is not compatible with your Gladys installation.",
"installError": "There was an error installing this integration.",
"alreadyInstalled": "This integration is already installed.",
"goToIntegrationButton": "Go to the integration",
"installing": "Installing...",
"installButton": "Install",
"networkDiscoveryTitle": "Network discovery requests",
"networkDiscoveryText": "This integration asks Gladys to capture the following network announcements on its behalf. It will never be able to capture anything else.",
"networkWakeTitle": "Wake-on-LAN access",
"networkWakeText": "This integration requests permission to send Wake-on-LAN magic packets through Gladys on your local network.",
"locationText": "This integration requests access to the coordinates (latitude/longitude) of the houses configured in Gladys.",
"documentationLink": "Documentation",
"duplicateWarningTitle": "Another instance is already installed",
"duplicateWarningText": "\"{name}\" looks like another instance of this integration. Two instances may fight over the same cloud account or the same devices — consider stopping the existing one during your tests. Installing anyway is supported (e.g. a dev build next to the production one).",
"webhooksTitle": "Internet webhooks (Gladys Plus)",
"webhooksText": "This integration will be able to receive the following events from the Internet through the Gladys Plus relay (requires a Gladys Plus subscription and an Open API key).",
"notificationWarningText": "This integration is a notification channel: it will be able to send you messages, but it can never receive messages nor act on your behalf (server-side guarantee).",
"weatherInfoText": "This integration is a weather provider: once installed, it will provide the weather displayed in Gladys (dashboard widget and assistant)."
},
"networkDiscovery": {
"udpBroadcastText": "Listen to UDP network announcements on ports {ports}",
"udpActiveBroadcastText": "Send a discovery request as a UDP broadcast on ports {ports} and collect the replies",
"mdnsText": "Browse mDNS services of type {service}",
"ssdpText": "SSDP search for {st}"
},
"installFromGithub": {
"cardTitle": "Install from GitHub",
"cardDescription": "Install a community integration from a GitHub repository.",
"modalTitle": "Install an integration from GitHub",
"repoUrlLabel": "GitHub repository URL",
"repoUrlPlaceholder": "https://github.com/owner/repository",
"installButton": "Install",
"devModeLink": "Developer mode: install from a Docker image",
"devModeDescription": "Install an integration directly from a Docker image, with an optional manifest. The image can be built locally with docker build, no registry needed. Only for integration developers.",
"dockerImageLabel": "Docker image",
"dockerImagePlaceholder": "e.g. myuser/my-integration:latest",
"manifestLabel": "Manifest (JSON, optional)",
"manifestPlaceholder": "{ \"name\": \"My integration\", ... }",
"errorUnknown": "There was an error installing this integration.",
"errorNotFound": "Repository not found, or it does not contain a valid Gladys integration.",
"errorInvalidManifest": "The integration manifest is invalid.",
"manifestInvalidJson": "The manifest is not valid JSON.",
"errorDetailsTitle": "Error details:"
},
"logs": {
"title": "Logs",
"refreshButton": "Refresh",
"error": "An error occurred while loading the logs.",
"empty": "No logs available.",
"containerSelectLabel": "Container",
"mainContainerOption": "Main container"
},
"link": {
"title": "Link my account",
"notLinkedText": "Your account is not linked to this messaging channel. Generate a code, then send it to the bot in the external channel to link your account.",
"linkedText": "Your account is linked to:",
"generateCodeButton": "Generate a link code",
"codeText": "Send this code to the bot:",
"codeExpiryText": "This code is single use and expires in 15 minutes.",
"unlinkButton": "Unlink my account",
"error": "An error occurred while linking the account."
},
"subContainers": {
"title": "Additional containers",
"description": "This integration runs the following containers on your machine. The listed ports will be reachable from your local network.",
"nameLabel": "Name",
"imageLabel": "Image",
"limitsLabel": "Limits",
"portsLabel": "Exposed ports"
},
"hardware": {
"title": "Hardware",
"installDescription": "This integration requests access to hardware on your machine. You can grant or refuse each access, and change it at any time after the install.",
"configDescription": "Hardware access granted to this integration. Changing an access recreates the affected containers and notifies the integration.",
"detected": "Detected",
"notDetected": "Not detected",
"saveButton": "Save hardware",
"saveError": "An error occurred while saving the hardware access.",
"classes": {
"coral-usb": "Coral USB (whole USB bus)",
"coral-pcie": "Coral PCIe",
"gpu": "GPU (graphics acceleration)",
"video": "Cameras (video devices)"
}
},
"webhooks": {