homebridge-easy-mqtt 1.3.0-beta.5 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -7
- package/README.md +13 -8
- package/dist/accessory/abstract/base.js +9 -7
- package/dist/accessory/abstract/base.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +1 -1
- package/dist/i18n/en.d.ts +62 -62
- package/dist/i18n/en.js +62 -62
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/fr.d.ts +532 -0
- package/dist/i18n/fr.js +275 -0
- package/dist/i18n/fr.js.map +1 -0
- package/dist/i18n/i18n.d.ts +64 -63
- package/dist/i18n/i18n.js +6 -0
- package/dist/i18n/i18n.js.map +1 -1
- package/dist/i18n/template.d.ts +62 -62
- package/package.json +1 -1
package/dist/i18n/fr.js
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
import merge from 'lodash.merge';
|
|
2
|
+
import en from './en.js';
|
|
3
|
+
const overrides = {
|
|
4
|
+
accessory: {
|
|
5
|
+
batteryLevel: 'La batterie de %s est à %d%',
|
|
6
|
+
batteryLow: 'La batterie de %s est faible',
|
|
7
|
+
batteryNotLow: 'Le niveau de batterie de %s est correct',
|
|
8
|
+
missingRequired: '%s ne dispose pas de la variable de configuration requise %s',
|
|
9
|
+
statusActive: '%s est maintenant disponible',
|
|
10
|
+
statusInactive: '%s est indisponible',
|
|
11
|
+
},
|
|
12
|
+
characteristic: {
|
|
13
|
+
badValue: '%s attendait un nombre pour %s mais a reçu %s',
|
|
14
|
+
updated: '%s a mis à jour %s avec la valeur %s',
|
|
15
|
+
},
|
|
16
|
+
climate: {
|
|
17
|
+
badTemperatureValue: '%s attendait un nombre pour la température mais a reçu %s',
|
|
18
|
+
humidityUpdate: 'L\'humidité de %s est de %d%',
|
|
19
|
+
temperatureUpdate: 'La température de %s est de %d°%s',
|
|
20
|
+
},
|
|
21
|
+
config: {
|
|
22
|
+
continue: 'Continuer %s',
|
|
23
|
+
required: 'Les champs obligatoires sont marqués d\'un astérisque (*)',
|
|
24
|
+
support: 'Pour la documentation et le support, veuillez visiter %s',
|
|
25
|
+
thankYou: 'Merci d\'avoir installé homebridge-easy-mqtt',
|
|
26
|
+
description: {
|
|
27
|
+
options: 'Paramètres MQTT supplémentaires tels que clientId ou protocolVersion. Doit être du JSON valide.',
|
|
28
|
+
topics: 'Prend en charge JSONPath en utilisant la notation point, ex. "mon/sujet$.chemin.vers.valeur"',
|
|
29
|
+
verbose: 'Si activé, des informations MQTT supplémentaires seront enregistrées à des fins de débogage.',
|
|
30
|
+
},
|
|
31
|
+
enumNames: {
|
|
32
|
+
carbonDioxideSensor: 'Capteur CO2',
|
|
33
|
+
carbonMonoxideSensor: 'Capteur CO',
|
|
34
|
+
celsius: '°C',
|
|
35
|
+
contactSensor: 'Capteur de contact',
|
|
36
|
+
fahrenheit: '°F',
|
|
37
|
+
humiditySensor: 'Capteur d\'humidité',
|
|
38
|
+
leakSensor: 'Détecteur de fuite d\'eau',
|
|
39
|
+
lightbulb: 'Ampoule',
|
|
40
|
+
lockMechanism: 'Mécanisme de verrouillage',
|
|
41
|
+
motionSensor: 'Capteur de mouvement',
|
|
42
|
+
occupancySensor: 'Capteur de présence',
|
|
43
|
+
outlet: 'Prise',
|
|
44
|
+
securitySystem: 'Système de sécurité',
|
|
45
|
+
smokeSensor: 'Détecteur de fumée',
|
|
46
|
+
switch: 'Interrupteur',
|
|
47
|
+
temperatureSensor: 'Capteur de température',
|
|
48
|
+
thermostat: 'Thermostat',
|
|
49
|
+
},
|
|
50
|
+
title: {
|
|
51
|
+
accessory: 'Accessoire',
|
|
52
|
+
broker: 'Courtier',
|
|
53
|
+
disableLogging: 'Désactiver la journalisation',
|
|
54
|
+
group: 'Groupe',
|
|
55
|
+
name: 'Nom',
|
|
56
|
+
options: 'Options',
|
|
57
|
+
password: 'Mot de passe',
|
|
58
|
+
sourceUnits: 'Unités source',
|
|
59
|
+
topicGetBatteryLevel: 'Obtenir niveau batterie',
|
|
60
|
+
topicGetBatteryLow: 'Obtenir batterie faible',
|
|
61
|
+
topicGetBrightness: 'Obtenir luminosité',
|
|
62
|
+
topicGetCarbonDioxideDetected: 'Obtenir CO2 détecté*',
|
|
63
|
+
topicGetCarbonDioxideLevel: 'Obtenir niveau CO2',
|
|
64
|
+
topicGetCarbonDioxidePeakLevel: 'Obtenir niveau pic de CO2',
|
|
65
|
+
topicGetCarbonMonoxideDetected: 'Obtenir CO détecté*',
|
|
66
|
+
topicGetCarbonMonoxideLevel: 'Obtenir niveau CO',
|
|
67
|
+
topicGetCarbonMonoxidePeakLevel: 'Obtenir niveau pic de CO',
|
|
68
|
+
topicGetColorTemperature: 'Obtenir température couleur',
|
|
69
|
+
topicGetContactSensorState: 'Obtenir contact détecté*',
|
|
70
|
+
topicGetCoolingThresholdTemperature: 'Obtenir seuil de refroidissement',
|
|
71
|
+
topicGetCurrentHeatingCoolingState: 'Obtenir mode actuel*',
|
|
72
|
+
topicGetCurrentLockState: 'Obtenir état actuel*',
|
|
73
|
+
topicGetCurrentRelativeHumidity: 'Obtenir humidité relative*',
|
|
74
|
+
topicGetCurrentRelativeHumidityOptional: 'Obtenir humidité relative',
|
|
75
|
+
topicGetCurrentSecurityState: 'Obtenir état actuel*',
|
|
76
|
+
topicGetCurrentTemperature: 'Obtenir température actuelle*',
|
|
77
|
+
topicGetHeatingThresholdTemperature: 'Obtenir seuil de chauffage',
|
|
78
|
+
topicGetHue: 'Obtenir teinte',
|
|
79
|
+
topicGetLeakDetected: 'Obtenir fuite détectée*',
|
|
80
|
+
topicGetMotionDetected: 'Obtenir mouvement détecté*',
|
|
81
|
+
topicGetOccupancyDetected: 'Obtenir présence détectée*',
|
|
82
|
+
topicGetOn: 'Obtenir état marche/arrêt*',
|
|
83
|
+
topicGetOutletInUse: 'Obtenir état en usage',
|
|
84
|
+
topicGetSaturation: 'Obtenir saturation',
|
|
85
|
+
topicGetSmokeDetected: 'Obtenir fumée détectée*',
|
|
86
|
+
topicGetStatusActive: 'Obtenir disponibilité',
|
|
87
|
+
topicGetStatusFault: 'Obtenir défaut',
|
|
88
|
+
topicGetStatusTampered: 'Obtenir altération',
|
|
89
|
+
topicGetTargetHeatingCoolingState: 'Obtenir mode cible*',
|
|
90
|
+
topicGetTargetLockState: 'Obtenir état cible*',
|
|
91
|
+
topicGetTargetRelativeHumidity: 'Obtenir humidité cible',
|
|
92
|
+
topicGetTargetSecurityState: 'Obtenir état cible*',
|
|
93
|
+
topicGetTargetTemperature: 'Obtenir température cible*',
|
|
94
|
+
topicSetBrightness: 'Définir luminosité',
|
|
95
|
+
topicSetColorTemperature: 'Définir température couleur',
|
|
96
|
+
topicSetCoolingThresholdTemperature: 'Définir seuil refroidissement',
|
|
97
|
+
topicSetHeatingThresholdTemperature: 'Définir seuil chauffage',
|
|
98
|
+
topicSetHue: 'Définir teinte',
|
|
99
|
+
topicSetOn: 'Définir état marche/arrêt*',
|
|
100
|
+
topicSetSaturation: 'Définir saturation',
|
|
101
|
+
topicSetTargetHeatingCoolingState: 'Définir mode cible*',
|
|
102
|
+
topicSetTargetLockState: 'Définir état cible*',
|
|
103
|
+
topicSetTargetRelativeHumidity: 'Définir humidité cible',
|
|
104
|
+
topicSetTargetSecurityState: 'Définir état cible*',
|
|
105
|
+
topicSetTargetTemperature: 'Définir température cible*',
|
|
106
|
+
topics: 'Sujets',
|
|
107
|
+
type: 'Type',
|
|
108
|
+
username: 'Nom d\'utilisateur',
|
|
109
|
+
valueAlarmTriggered: 'Déclenché',
|
|
110
|
+
valueArmAway: 'Armement absent',
|
|
111
|
+
valueArmNight: 'Armement nuit',
|
|
112
|
+
valueArmStay: 'Armement présent',
|
|
113
|
+
valueBatteryLow: 'Batterie faible',
|
|
114
|
+
valueCarbonDioxideDetected: 'CO2 détecté*',
|
|
115
|
+
valueCarbonMonoxideDetected: 'CO détecté*',
|
|
116
|
+
valueContactDetected: 'Contact détecté*',
|
|
117
|
+
valueDisarm: 'Désarmer',
|
|
118
|
+
valueFault: 'Défaut',
|
|
119
|
+
valueLeakDetected: 'Fuite détectée*',
|
|
120
|
+
valueLockStateJammed: 'Bloqué',
|
|
121
|
+
valueLockStateSecured: 'Sécurisé/Verrouillé*',
|
|
122
|
+
valueLockStateUnsecured: 'Non sécurisé/Déverrouillé*',
|
|
123
|
+
valueModeAuto: 'Auto',
|
|
124
|
+
valueModeCool: 'Refroidir',
|
|
125
|
+
valueModeHeat: 'Chauffer',
|
|
126
|
+
valueModeOff: 'Arrêt',
|
|
127
|
+
valueMotionDetected: 'Mouvement détecté*',
|
|
128
|
+
valueOccupancyDetected: 'Présence détectée*',
|
|
129
|
+
valueOff: 'Arrêt*',
|
|
130
|
+
valueOn: 'Marche*',
|
|
131
|
+
valueOutletInUse: 'En usage',
|
|
132
|
+
valueOutletNotInUse: 'Non utilisé',
|
|
133
|
+
valueSmokeDetected: 'Fumée détectée*',
|
|
134
|
+
valueStatusActive: 'Disponible/Accessible',
|
|
135
|
+
valueTampered: 'Altéré',
|
|
136
|
+
values: 'Valeurs',
|
|
137
|
+
verbose: 'Journalisation supplémentaire',
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
error: {
|
|
141
|
+
hasFault: '%s a un défaut',
|
|
142
|
+
isTampered: '%s a été altéré',
|
|
143
|
+
noFault: '%s n\'a pas de défaut',
|
|
144
|
+
notTampered: 'L\'état d\'altération de %s a été réinitialisé',
|
|
145
|
+
},
|
|
146
|
+
lightbulb: {
|
|
147
|
+
brightness: 'La luminosité de %s est de %d%',
|
|
148
|
+
brightnessFuture: 'Réglage de la luminosité de %s à %d%…',
|
|
149
|
+
colorTemperature: 'La température de couleur de %s est de %dM',
|
|
150
|
+
colorTemperatureFuture: 'Réglage de la température de couleur de %s à %dM…',
|
|
151
|
+
hue: 'La teinte de %s est de %d°',
|
|
152
|
+
hueFuture: 'Réglage de la teinte de %s à %d°…',
|
|
153
|
+
saturation: 'La saturation de %s est de %d%',
|
|
154
|
+
saturationFuture: 'Réglage de la saturation de %s à %d%…',
|
|
155
|
+
},
|
|
156
|
+
lock: {
|
|
157
|
+
badValue: '%s ne peut déterminer l\'état du verrou à partir de %s',
|
|
158
|
+
stateJammed: '%s est bloqué',
|
|
159
|
+
stateSecured: '%s est verrouillé',
|
|
160
|
+
stateSecuredFuture: 'Verrouillage de %s…',
|
|
161
|
+
stateUnsecured: '%s est déverrouillé',
|
|
162
|
+
stateUnsecuredFuture: 'Déverrouillage de %s…',
|
|
163
|
+
stateUnknown: 'L\'état de %s est inconnu',
|
|
164
|
+
},
|
|
165
|
+
mqtt: {
|
|
166
|
+
badOptions: 'les options supplémentaires de %s doivent être sous forme de JSON valide',
|
|
167
|
+
clientError: '%s erreur client :',
|
|
168
|
+
connected: '%s connecté et en attente de mise à jour…',
|
|
169
|
+
connectionClosed: 'Connexion à %s fermée',
|
|
170
|
+
idleConnection: 'Connexion à %s inactive',
|
|
171
|
+
noListeners: 'Aucun écouteur sur %s pour le sujet %s',
|
|
172
|
+
notConnected: 'Client de %s non connecté',
|
|
173
|
+
parseFailed: '%s n\'a pas pu analyser le message',
|
|
174
|
+
publish: '%s a publié la valeur %s vers le sujet %s',
|
|
175
|
+
receivedMessage: '%s a reçu un message du sujet %s',
|
|
176
|
+
reconnectInMinutes: '%s tentera de se reconnecter dans %s minutes…',
|
|
177
|
+
reconnectInSeconds: '%s tentera de se reconnecter dans %s secondes…',
|
|
178
|
+
},
|
|
179
|
+
onOff: {
|
|
180
|
+
stateOff: '%s est éteint',
|
|
181
|
+
stateOffFuture: 'Extinction de %s…',
|
|
182
|
+
stateOn: '%s est allumé',
|
|
183
|
+
stateOnFuture: 'Allumage de %s…',
|
|
184
|
+
unknownValue: '%s impossible de déterminer l\'état marche/arrêt à partir de %s. Ignoré…',
|
|
185
|
+
},
|
|
186
|
+
outlet: {
|
|
187
|
+
badValue: '%s impossible d\'obtenir l\'état d\'usage pour %s',
|
|
188
|
+
inUse: '%s est en marche',
|
|
189
|
+
notInUse: '%s n\'est pas en marche',
|
|
190
|
+
},
|
|
191
|
+
security: {
|
|
192
|
+
badValue: 'Valeur manquante à %s pour l\'état de sécurité %s',
|
|
193
|
+
noStateValues: '%s doit avoir au moins une valeur d\'état définie (armement absent, désarmer, etc.)',
|
|
194
|
+
stateAway: '%s est armé pour absence',
|
|
195
|
+
stateAwayFuture: 'Armement de %s pour absence…',
|
|
196
|
+
stateDisarmed: '%s est désarmé',
|
|
197
|
+
stateDisarmFuture: 'Désarmement de %s…',
|
|
198
|
+
stateNight: '%s est armé pour la nuit',
|
|
199
|
+
stateNightFuture: 'Armement de %s pour la nuit…',
|
|
200
|
+
stateStay: '%s est armé en présence',
|
|
201
|
+
stateStayFuture: 'Armement de %s en présence…',
|
|
202
|
+
stateTriggered: 'L\'alarme de %s est déclenchée',
|
|
203
|
+
stateUnknown: 'L\'état de %s est inconnu',
|
|
204
|
+
unknownValue: '%s impossible de déterminer l\'état de sécurité à partir de la valeur %s. Ignoré…',
|
|
205
|
+
},
|
|
206
|
+
sensor: {
|
|
207
|
+
carbonDioxide: {
|
|
208
|
+
active: '%s a détecté du dioxyde de carbone',
|
|
209
|
+
inactive: '%s a arrêté de détecter le dioxyde de carbone',
|
|
210
|
+
level: 'Le niveau de CO2 de %s est de %d',
|
|
211
|
+
peakLevel: 'Le niveau pic de CO2 de %s est de %d',
|
|
212
|
+
},
|
|
213
|
+
carbonMonoxide: {
|
|
214
|
+
active: '%s a détecté du monoxyde de carbone',
|
|
215
|
+
inactive: '%s a arrêté de détecter le monoxyde de carbone',
|
|
216
|
+
level: 'Le niveau de CO de %s est de %d',
|
|
217
|
+
peakLevel: 'Le niveau pic de CO de %s est de %d',
|
|
218
|
+
},
|
|
219
|
+
contact: {
|
|
220
|
+
active: '%s a détecté un contact',
|
|
221
|
+
inactive: '%s a arrêté de détecter le contact',
|
|
222
|
+
},
|
|
223
|
+
leak: {
|
|
224
|
+
active: '%s a détecté une fuite',
|
|
225
|
+
inactive: '%s a arrêté de détecter les fuites',
|
|
226
|
+
},
|
|
227
|
+
motion: {
|
|
228
|
+
active: '%s a détecté un mouvement',
|
|
229
|
+
inactive: '%s a arrêté de détecter le mouvement',
|
|
230
|
+
},
|
|
231
|
+
occupancy: {
|
|
232
|
+
active: '%s a détecté une présence',
|
|
233
|
+
inactive: '%s a arrêté de détecter la présence',
|
|
234
|
+
},
|
|
235
|
+
smoke: {
|
|
236
|
+
active: '%s a détecté de la fumée',
|
|
237
|
+
inactive: '%s a arrêté de détecter la fumée',
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
startup: {
|
|
241
|
+
complete: '✓ Configuration terminée',
|
|
242
|
+
newAccessory: 'Ajout de %s',
|
|
243
|
+
removeAccessory: 'Suppression de %s',
|
|
244
|
+
restoringAccessory: 'Restauration de %s',
|
|
245
|
+
unsupportedType: 'Type d\'accessoire non pris en charge %s',
|
|
246
|
+
welcome: [
|
|
247
|
+
'Veuillez ★ ce plugin sur GitHub si vous le trouvez utile ! https://github.com/mpatfield/homebridge-easy-mqtt',
|
|
248
|
+
'Souhaitez-vous parrainer ce plugin ? https://github.com/sponsors/mpatfield',
|
|
249
|
+
'Vous voulez voir ce plugin traduit dans votre propre langue ? Veuillez visiter https://github.com/mpatfield/homebridge-easy-mqtt/issues/4',
|
|
250
|
+
],
|
|
251
|
+
},
|
|
252
|
+
thermostat: {
|
|
253
|
+
badValue: 'Valeur manquante à %s pour l\'état %s du thermostat',
|
|
254
|
+
coolingThreshold: 'Le seuil de refroidissement de %s est de %d°%s',
|
|
255
|
+
coolingThresholdFuture: '%s réglage du seuil de refroidissement à %d°%s…',
|
|
256
|
+
heatingThreshold: 'Le seuil de chauffage de %s est de %d°%s',
|
|
257
|
+
heatingThresholdFuture: '%s réglage du seuil de chauffage à %d°%s…',
|
|
258
|
+
humidityFuture: 'Réglage de l\'humidité de %s à %d%…',
|
|
259
|
+
noStateValues: '%s doit avoir au moins une valeur d\'état définie (arrêt, chauffage, refroidissement)',
|
|
260
|
+
stateAutoFuture: 'Réglage de %s en automatique…',
|
|
261
|
+
stateCool: '%s est réglé sur refroidissement',
|
|
262
|
+
stateCoolFuture: 'Réglage de %s sur refroidissement…',
|
|
263
|
+
stateHeat: '%s est réglé sur chauffage',
|
|
264
|
+
stateHeatFuture: 'Réglage de %s sur chauffage…',
|
|
265
|
+
stateOff: '%s est réglé sur arrêt',
|
|
266
|
+
stateOffFuture: 'Arrêt de %s…',
|
|
267
|
+
stateUnknown: 'L\'état de %s est inconnu',
|
|
268
|
+
temperatureTarget: 'La température cible de %s est de %d°%s',
|
|
269
|
+
temperatureTargetFuture: '%s réglage de la température à %d°%s…',
|
|
270
|
+
unknownValue: '%s impossible de déterminer l\'état du thermostat à partir de la valeur %s. Ignoré…',
|
|
271
|
+
},
|
|
272
|
+
};
|
|
273
|
+
const fr = merge({}, en, overrides);
|
|
274
|
+
export default fr;
|
|
275
|
+
//# sourceMappingURL=fr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fr.js","sourceRoot":"","sources":["../../src/i18n/fr.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/i18n.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import en from './en.js';
|
|
2
2
|
export declare enum Language {
|
|
3
|
-
EN = "en"
|
|
3
|
+
EN = "en",
|
|
4
|
+
FR = "fr"
|
|
4
5
|
}
|
|
5
6
|
export type Translation = typeof en;
|
|
6
7
|
export declare function getLanguage(): Language;
|
|
@@ -15,6 +16,10 @@ declare const translations: {
|
|
|
15
16
|
statusActive: string;
|
|
16
17
|
statusInactive: string;
|
|
17
18
|
};
|
|
19
|
+
characteristic: {
|
|
20
|
+
badValue: string;
|
|
21
|
+
updated: string;
|
|
22
|
+
};
|
|
18
23
|
climate: {
|
|
19
24
|
badTemperatureValue: string;
|
|
20
25
|
humidityUpdate: string;
|
|
@@ -31,11 +36,11 @@ declare const translations: {
|
|
|
31
36
|
verbose: string;
|
|
32
37
|
};
|
|
33
38
|
enumNames: {
|
|
34
|
-
celsius: string;
|
|
35
|
-
fahrenheit: string;
|
|
36
39
|
carbonDioxideSensor: string;
|
|
37
40
|
carbonMonoxideSensor: string;
|
|
41
|
+
celsius: string;
|
|
38
42
|
contactSensor: string;
|
|
43
|
+
fahrenheit: string;
|
|
39
44
|
humiditySensor: string;
|
|
40
45
|
leakSensor: string;
|
|
41
46
|
lightbulb: string;
|
|
@@ -43,9 +48,9 @@ declare const translations: {
|
|
|
43
48
|
motionSensor: string;
|
|
44
49
|
occupancySensor: string;
|
|
45
50
|
outlet: string;
|
|
46
|
-
switch: string;
|
|
47
51
|
securitySystem: string;
|
|
48
52
|
smokeSensor: string;
|
|
53
|
+
switch: string;
|
|
49
54
|
temperatureSensor: string;
|
|
50
55
|
thermostat: string;
|
|
51
56
|
};
|
|
@@ -53,119 +58,115 @@ declare const translations: {
|
|
|
53
58
|
accessory: string;
|
|
54
59
|
broker: string;
|
|
55
60
|
disableLogging: string;
|
|
61
|
+
group: string;
|
|
56
62
|
name: string;
|
|
57
63
|
options: string;
|
|
58
64
|
password: string;
|
|
59
65
|
sourceUnits: string;
|
|
60
|
-
group: string;
|
|
61
66
|
topicGetBatteryLevel: string;
|
|
62
67
|
topicGetBatteryLow: string;
|
|
63
|
-
topicGetStatusActive: string;
|
|
64
|
-
topicGetCurrentLockState: string;
|
|
65
|
-
topicGetOutletInUse: string;
|
|
66
|
-
topicGetOn: string;
|
|
67
|
-
topicGetTargetLockState: string;
|
|
68
68
|
topicGetBrightness: string;
|
|
69
|
-
topicSetBrightness: string;
|
|
70
|
-
topicGetHue: string;
|
|
71
|
-
topicSetHue: string;
|
|
72
|
-
topicGetColorTemperature: string;
|
|
73
|
-
topicSetColorTemperature: string;
|
|
74
|
-
topicGetSaturation: string;
|
|
75
|
-
topicSetSaturation: string;
|
|
76
|
-
topicSetOn: string;
|
|
77
|
-
topicSetTargetLockState: string;
|
|
78
|
-
topicGetCurrentTemperature: string;
|
|
79
|
-
topicGetCurrentSecurityState: string;
|
|
80
|
-
topicGetTargetSecurityState: string;
|
|
81
|
-
topicSetTargetSecurityState: string;
|
|
82
|
-
topicGetStatusTampered: string;
|
|
83
|
-
topicGetStatusFault: string;
|
|
84
|
-
topicGetCarbonMonoxideDetected: string;
|
|
85
|
-
topicGetCarbonMonoxideLevel: string;
|
|
86
|
-
topicGetCarbonMonoxidePeakLevel: string;
|
|
87
69
|
topicGetCarbonDioxideDetected: string;
|
|
88
70
|
topicGetCarbonDioxideLevel: string;
|
|
89
71
|
topicGetCarbonDioxidePeakLevel: string;
|
|
72
|
+
topicGetCarbonMonoxideDetected: string;
|
|
73
|
+
topicGetCarbonMonoxideLevel: string;
|
|
74
|
+
topicGetCarbonMonoxidePeakLevel: string;
|
|
75
|
+
topicGetColorTemperature: string;
|
|
90
76
|
topicGetContactSensorState: string;
|
|
91
|
-
topicGetLeakDetected: string;
|
|
92
|
-
topicGetMotionDetected: string;
|
|
93
|
-
topicGetOccupancyDetected: string;
|
|
94
|
-
topicGetSmokeDetected: string;
|
|
95
|
-
topicGetCurrentRelativeHumidity: string;
|
|
96
77
|
topicGetCoolingThresholdTemperature: string;
|
|
97
78
|
topicGetCurrentHeatingCoolingState: string;
|
|
79
|
+
topicGetCurrentLockState: string;
|
|
80
|
+
topicGetCurrentRelativeHumidity: string;
|
|
98
81
|
topicGetCurrentRelativeHumidityOptional: string;
|
|
82
|
+
topicGetCurrentSecurityState: string;
|
|
83
|
+
topicGetCurrentTemperature: string;
|
|
99
84
|
topicGetHeatingThresholdTemperature: string;
|
|
85
|
+
topicGetHue: string;
|
|
86
|
+
topicGetLeakDetected: string;
|
|
87
|
+
topicGetMotionDetected: string;
|
|
88
|
+
topicGetOccupancyDetected: string;
|
|
89
|
+
topicGetOn: string;
|
|
90
|
+
topicGetOutletInUse: string;
|
|
91
|
+
topicGetSaturation: string;
|
|
92
|
+
topicGetSmokeDetected: string;
|
|
93
|
+
topicGetStatusActive: string;
|
|
94
|
+
topicGetStatusFault: string;
|
|
95
|
+
topicGetStatusTampered: string;
|
|
100
96
|
topicGetTargetHeatingCoolingState: string;
|
|
97
|
+
topicGetTargetLockState: string;
|
|
101
98
|
topicGetTargetRelativeHumidity: string;
|
|
99
|
+
topicGetTargetSecurityState: string;
|
|
102
100
|
topicGetTargetTemperature: string;
|
|
101
|
+
topicSetBrightness: string;
|
|
102
|
+
topicSetColorTemperature: string;
|
|
103
103
|
topicSetCoolingThresholdTemperature: string;
|
|
104
104
|
topicSetHeatingThresholdTemperature: string;
|
|
105
|
+
topicSetHue: string;
|
|
106
|
+
topicSetOn: string;
|
|
107
|
+
topicSetSaturation: string;
|
|
105
108
|
topicSetTargetHeatingCoolingState: string;
|
|
109
|
+
topicSetTargetLockState: string;
|
|
106
110
|
topicSetTargetRelativeHumidity: string;
|
|
111
|
+
topicSetTargetSecurityState: string;
|
|
107
112
|
topicSetTargetTemperature: string;
|
|
108
113
|
topics: string;
|
|
109
114
|
type: string;
|
|
110
115
|
username: string;
|
|
111
|
-
|
|
112
|
-
valueStatusActive: string;
|
|
113
|
-
valueLockStateJammed: string;
|
|
114
|
-
valueOutletInUse: string;
|
|
115
|
-
valueOutletNotInUse: string;
|
|
116
|
-
valueOff: string;
|
|
117
|
-
valueOn: string;
|
|
118
|
-
valueLockStateSecured: string;
|
|
119
|
-
valueLockStateUnsecured: string;
|
|
120
|
-
valueArmStay: string;
|
|
116
|
+
valueAlarmTriggered: string;
|
|
121
117
|
valueArmAway: string;
|
|
122
118
|
valueArmNight: string;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
valueTampered: string;
|
|
126
|
-
valueFault: string;
|
|
127
|
-
valueCarbonMonoxideDetected: string;
|
|
119
|
+
valueArmStay: string;
|
|
120
|
+
valueBatteryLow: string;
|
|
128
121
|
valueCarbonDioxideDetected: string;
|
|
122
|
+
valueCarbonMonoxideDetected: string;
|
|
129
123
|
valueContactDetected: string;
|
|
124
|
+
valueDisarm: string;
|
|
125
|
+
valueFault: string;
|
|
130
126
|
valueLeakDetected: string;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
127
|
+
valueLockStateJammed: string;
|
|
128
|
+
valueLockStateSecured: string;
|
|
129
|
+
valueLockStateUnsecured: string;
|
|
134
130
|
valueModeAuto: string;
|
|
135
131
|
valueModeCool: string;
|
|
136
132
|
valueModeHeat: string;
|
|
137
133
|
valueModeOff: string;
|
|
134
|
+
valueMotionDetected: string;
|
|
135
|
+
valueOccupancyDetected: string;
|
|
136
|
+
valueOff: string;
|
|
137
|
+
valueOn: string;
|
|
138
|
+
valueOutletInUse: string;
|
|
139
|
+
valueOutletNotInUse: string;
|
|
140
|
+
valueSmokeDetected: string;
|
|
141
|
+
valueStatusActive: string;
|
|
142
|
+
valueTampered: string;
|
|
138
143
|
values: string;
|
|
139
144
|
verbose: string;
|
|
140
145
|
};
|
|
141
146
|
};
|
|
142
|
-
characteristic: {
|
|
143
|
-
badValue: string;
|
|
144
|
-
updated: string;
|
|
145
|
-
};
|
|
146
147
|
error: {
|
|
147
|
-
isTampered: string;
|
|
148
148
|
hasFault: string;
|
|
149
|
+
isTampered: string;
|
|
149
150
|
noFault: string;
|
|
150
151
|
notTampered: string;
|
|
151
152
|
};
|
|
152
153
|
lightbulb: {
|
|
153
154
|
brightness: string;
|
|
154
155
|
brightnessFuture: string;
|
|
155
|
-
hue: string;
|
|
156
|
-
hueFuture: string;
|
|
157
156
|
colorTemperature: string;
|
|
158
157
|
colorTemperatureFuture: string;
|
|
158
|
+
hue: string;
|
|
159
|
+
hueFuture: string;
|
|
159
160
|
saturation: string;
|
|
160
161
|
saturationFuture: string;
|
|
161
162
|
};
|
|
162
163
|
lock: {
|
|
163
164
|
badValue: string;
|
|
165
|
+
stateJammed: string;
|
|
164
166
|
stateSecured: string;
|
|
165
167
|
stateSecuredFuture: string;
|
|
166
168
|
stateUnsecured: string;
|
|
167
169
|
stateUnsecuredFuture: string;
|
|
168
|
-
stateJammed: string;
|
|
169
170
|
stateUnknown: string;
|
|
170
171
|
};
|
|
171
172
|
mqtt: {
|
|
@@ -176,9 +177,9 @@ declare const translations: {
|
|
|
176
177
|
idleConnection: string;
|
|
177
178
|
noListeners: string;
|
|
178
179
|
notConnected: string;
|
|
180
|
+
parseFailed: string;
|
|
179
181
|
publish: string;
|
|
180
182
|
receivedMessage: string;
|
|
181
|
-
parseFailed: string;
|
|
182
183
|
reconnectInMinutes: string;
|
|
183
184
|
reconnectInSeconds: string;
|
|
184
185
|
};
|
|
@@ -199,13 +200,13 @@ declare const translations: {
|
|
|
199
200
|
noStateValues: string;
|
|
200
201
|
stateAway: string;
|
|
201
202
|
stateAwayFuture: string;
|
|
203
|
+
stateDisarmed: string;
|
|
204
|
+
stateDisarmFuture: string;
|
|
202
205
|
stateNight: string;
|
|
203
206
|
stateNightFuture: string;
|
|
204
207
|
stateStay: string;
|
|
205
208
|
stateStayFuture: string;
|
|
206
209
|
stateTriggered: string;
|
|
207
|
-
stateDisarmed: string;
|
|
208
|
-
stateDisarmFuture: string;
|
|
209
210
|
stateUnknown: string;
|
|
210
211
|
unknownValue: string;
|
|
211
212
|
};
|
|
@@ -257,8 +258,8 @@ declare const translations: {
|
|
|
257
258
|
coolingThresholdFuture: string;
|
|
258
259
|
heatingThreshold: string;
|
|
259
260
|
heatingThresholdFuture: string;
|
|
260
|
-
noStateValues: string;
|
|
261
261
|
humidityFuture: string;
|
|
262
|
+
noStateValues: string;
|
|
262
263
|
stateAutoFuture: string;
|
|
263
264
|
stateCool: string;
|
|
264
265
|
stateCoolFuture: string;
|
package/dist/i18n/i18n.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import en from './en.js';
|
|
2
|
+
import fr from './fr.js';
|
|
2
3
|
export var Language;
|
|
3
4
|
(function (Language) {
|
|
4
5
|
Language["EN"] = "en";
|
|
6
|
+
Language["FR"] = "fr";
|
|
5
7
|
})(Language || (Language = {}));
|
|
6
8
|
const Translations = {
|
|
7
9
|
[Language.EN]: en,
|
|
10
|
+
[Language.FR]: fr,
|
|
8
11
|
};
|
|
9
12
|
let currentLanguage = Language.EN;
|
|
10
13
|
export function getLanguage() {
|
|
@@ -16,6 +19,9 @@ export function setLanguage(i18nLang) {
|
|
|
16
19
|
case Language.EN:
|
|
17
20
|
language = Language.EN;
|
|
18
21
|
break;
|
|
22
|
+
case Language.FR:
|
|
23
|
+
language = Language.FR;
|
|
24
|
+
break;
|
|
19
25
|
}
|
|
20
26
|
currentLanguage = Translations[language] ? language : Language.EN;
|
|
21
27
|
}
|
package/dist/i18n/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,qBAAS,CAAA;IACT,qBAAS,CAAA;AACX,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,YAAY,GAAkC;IAClD,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;IACjB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE;CAClB,CAAC;AAIF,IAAI,eAAe,GAAa,QAAQ,CAAC,EAAE,CAAC;AAE5C,MAAM,UAAU,WAAW;IACzB,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAAgB;IAE1C,IAAI,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC3B,QAAO,QAAQ,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC,EAAE;YACd,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM;QACR,KAAK,QAAQ,CAAC,EAAE;YACd,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;YACvB,MAAM;IACR,CAAC;IAED,eAAe,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,EAAiB,EAAE;IAChD,GAAG,CAAC,OAAO,EAAE,IAAY;QACvB,OAAO,CACL,YAAY,CAAC,eAAe,CAAC,CAAC,IAAyB,CAAC;YACxD,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAyB,CAAC,CACrD,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,IAAI,OAAO,EAAE,CAAC"}
|