homebridge-easy-mqtt 1.4.0-beta.9 → 1.4.1-beta.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.
Files changed (127) hide show
  1. package/CHANGELOG.md +28 -9
  2. package/README.md +237 -22
  3. package/config.schema.json +1361 -92
  4. package/dist/accessory/abstract/base.js +5 -5
  5. package/dist/accessory/abstract/base.js.map +1 -1
  6. package/dist/accessory/abstract/common.d.ts +43 -0
  7. package/dist/accessory/abstract/common.js +172 -0
  8. package/dist/accessory/abstract/common.js.map +1 -0
  9. package/dist/accessory/abstract/helper.d.ts +1 -0
  10. package/dist/accessory/abstract/helper.js +21 -2
  11. package/dist/accessory/abstract/helper.js.map +1 -1
  12. package/dist/accessory/abstract/mqtt.d.ts +15 -26
  13. package/dist/accessory/abstract/mqtt.js +26 -143
  14. package/dist/accessory/abstract/mqtt.js.map +1 -1
  15. package/dist/accessory/addons/addon.d.ts +24 -0
  16. package/dist/accessory/addons/addon.js +52 -0
  17. package/dist/accessory/addons/addon.js.map +1 -0
  18. package/dist/accessory/addons/filter.d.ts +11 -0
  19. package/dist/accessory/addons/filter.js +37 -0
  20. package/dist/accessory/addons/filter.js.map +1 -0
  21. package/dist/accessory/button.d.ts +10 -0
  22. package/dist/accessory/button.js +43 -0
  23. package/dist/accessory/button.js.map +1 -0
  24. package/dist/accessory/climate/active.js +14 -8
  25. package/dist/accessory/climate/active.js.map +1 -1
  26. package/dist/accessory/climate/fan2.d.ts +20 -0
  27. package/dist/accessory/climate/fan2.js +122 -0
  28. package/dist/accessory/climate/fan2.js.map +1 -0
  29. package/dist/accessory/climate/heaterCooler.js +4 -2
  30. package/dist/accessory/climate/heaterCooler.js.map +1 -1
  31. package/dist/accessory/climate/purifier.js +5 -3
  32. package/dist/accessory/climate/purifier.js.map +1 -1
  33. package/dist/accessory/climate/temperatureControl.d.ts +1 -1
  34. package/dist/accessory/climate/temperatureControl.js +10 -8
  35. package/dist/accessory/climate/temperatureControl.js.map +1 -1
  36. package/dist/accessory/climate/thermostat.js +8 -8
  37. package/dist/accessory/climate/thermostat.js.map +1 -1
  38. package/dist/accessory/garage.d.ts +17 -0
  39. package/dist/accessory/garage.js +110 -0
  40. package/dist/accessory/garage.js.map +1 -0
  41. package/dist/accessory/lock.d.ts +2 -2
  42. package/dist/accessory/lock.js +3 -3
  43. package/dist/accessory/lock.js.map +1 -1
  44. package/dist/accessory/onoff/lightbulb.js +9 -4
  45. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  46. package/dist/accessory/onoff/onoff.js +1 -1
  47. package/dist/accessory/onoff/onoff.js.map +1 -1
  48. package/dist/accessory/onoff/outlet.js +1 -1
  49. package/dist/accessory/onoff/outlet.js.map +1 -1
  50. package/dist/accessory/position/blind.d.ts +10 -0
  51. package/dist/accessory/position/blind.js +22 -0
  52. package/dist/accessory/position/blind.js.map +1 -0
  53. package/dist/accessory/position/position.d.ts +14 -0
  54. package/dist/accessory/position/position.js +88 -0
  55. package/dist/accessory/position/position.js.map +1 -0
  56. package/dist/accessory/security.js +4 -4
  57. package/dist/accessory/security.js.map +1 -1
  58. package/dist/accessory/sensor/air.d.ts +14 -0
  59. package/dist/accessory/sensor/air.js +96 -0
  60. package/dist/accessory/sensor/air.js.map +1 -0
  61. package/dist/accessory/sensor/carbonDioxide.js +3 -3
  62. package/dist/accessory/sensor/carbonDioxide.js.map +1 -1
  63. package/dist/accessory/sensor/carbonMonoxide.js +3 -3
  64. package/dist/accessory/sensor/carbonMonoxide.js.map +1 -1
  65. package/dist/accessory/sensor/contact.js +1 -1
  66. package/dist/accessory/sensor/contact.js.map +1 -1
  67. package/dist/accessory/sensor/humidity.js +1 -1
  68. package/dist/accessory/sensor/humidity.js.map +1 -1
  69. package/dist/accessory/sensor/leak.js +1 -1
  70. package/dist/accessory/sensor/leak.js.map +1 -1
  71. package/dist/accessory/sensor/light.js +1 -1
  72. package/dist/accessory/sensor/light.js.map +1 -1
  73. package/dist/accessory/sensor/motion.js +1 -1
  74. package/dist/accessory/sensor/motion.js.map +1 -1
  75. package/dist/accessory/sensor/occupancy.js +1 -1
  76. package/dist/accessory/sensor/occupancy.js.map +1 -1
  77. package/dist/accessory/sensor/sensor.js +4 -4
  78. package/dist/accessory/sensor/sensor.js.map +1 -1
  79. package/dist/accessory/sensor/smoke.js +1 -1
  80. package/dist/accessory/sensor/smoke.js.map +1 -1
  81. package/dist/accessory/sensor/temperature.js +1 -1
  82. package/dist/accessory/sensor/temperature.js.map +1 -1
  83. package/dist/accessory/valve.js +7 -7
  84. package/dist/accessory/valve.js.map +1 -1
  85. package/dist/homebridge/platform.js +4 -2
  86. package/dist/homebridge/platform.js.map +1 -1
  87. package/dist/homebridge-ui/public/index.html +1 -1
  88. package/dist/homebridge-ui/public/ui.js +1 -1
  89. package/dist/i18n/en.d.ts +183 -16
  90. package/dist/i18n/en.js +236 -69
  91. package/dist/i18n/en.js.map +1 -1
  92. package/dist/i18n/fr.d.ts +452 -18
  93. package/dist/i18n/fr.js +269 -2
  94. package/dist/i18n/fr.js.map +1 -1
  95. package/dist/i18n/i18n.d.ts +185 -17
  96. package/dist/i18n/i18n.js +6 -0
  97. package/dist/i18n/i18n.js.map +1 -1
  98. package/dist/i18n/it.d.ts +1057 -0
  99. package/dist/i18n/it.js +526 -0
  100. package/dist/i18n/it.js.map +1 -0
  101. package/dist/i18n/ro.d.ts +347 -33
  102. package/dist/i18n/ro.js +164 -17
  103. package/dist/i18n/ro.js.map +1 -1
  104. package/dist/i18n/template.d.ts +183 -16
  105. package/dist/i18n/template.js +1 -1
  106. package/dist/i18n/vi.d.ts +1059 -0
  107. package/dist/i18n/vi.js +528 -0
  108. package/dist/i18n/vi.js.map +1 -0
  109. package/dist/model/enums.d.ts +35 -6
  110. package/dist/model/enums.js +34 -5
  111. package/dist/model/enums.js.map +1 -1
  112. package/dist/model/mqtt.d.ts +4 -3
  113. package/dist/model/mqtt.js +30 -9
  114. package/dist/model/mqtt.js.map +1 -1
  115. package/dist/model/types.d.ts +97 -4
  116. package/dist/tools/log.d.ts +7 -5
  117. package/dist/tools/log.js.map +1 -1
  118. package/dist/tools/properties.d.ts +11 -0
  119. package/dist/tools/properties.js +73 -0
  120. package/dist/tools/properties.js.map +1 -0
  121. package/dist/tools/temperature.d.ts +7 -3
  122. package/dist/tools/temperature.js +20 -9
  123. package/dist/tools/temperature.js.map +1 -1
  124. package/dist/tools/validation.d.ts +2 -0
  125. package/dist/tools/validation.js +11 -0
  126. package/dist/tools/validation.js.map +1 -1
  127. package/package.json +1 -1
@@ -0,0 +1,528 @@
1
+ import merge from 'lodash.merge';
2
+ import en from './en.js';
3
+ const overrides = {
4
+ accessory: {
5
+ batteryLevel: 'Pin của %s còn %d%', // accessory name, number
6
+ batteryLow: 'Pin của %s yếu', // accessory name
7
+ batteryNotLow: 'Pin của %s bình thường', // accessory name
8
+ missingRequired: '%s thiếu biến cấu hình bắt buộc %s', // accessory name, variable name
9
+ statusActive: '%s hiện đã khả dụng', // accessory name
10
+ statusInactive: '%s không khả dụng', // accessory name
11
+ },
12
+ active: {
13
+ active: '%s đang hoạt động', // accessory name
14
+ activeSet: 'Đang đặt %s thành hoạt động…', // accessory name
15
+ controlsLocked: 'Điều khiển của %s đã bị khóa', // accessory name
16
+ controlsLockFuture: 'Đang đặt điều khiển của %s thành khóa…', // accessory name
17
+ controlsUnLocked: 'Điều khiển của %s đã được mở khóa', // accessory name
18
+ controlsUnlockFuture: 'Đang đặt điều khiển của %s thành mở khóa…', // accessory name
19
+ inactiveSet: 'Đang đặt %s thành không hoạt động…', // accessory name
20
+ notActive: '%s không hoạt động', // accessory name
21
+ rotationPercentUpdate: 'Tốc độ quay của %s là %d%', // accessory name, number
22
+ rotationPercentSet: 'Đang đặt tốc độ quay của %s thành %d%…', // accessory name, number
23
+ swingDisabled: 'Chế độ lắc của %s đã tắt', // accessory name
24
+ swingDisabledFuture: 'Đang tắt chế độ lắc của %s…', // accessory name
25
+ swingEnabled: 'Chế độ lắc của %s đã bật', // accessory name
26
+ swingEnabledFuture: 'Đang bật chế độ lắc của %s…', // accessory name
27
+ },
28
+ characteristic: {
29
+ badValue: '%s yêu cầu giá trị số cho %s nhưng nhận được %s', // accessory name, characteristic name, value
30
+ outOfRange: '%s đang cố đặt %s thành %s, vượt ngoài phạm vi cho phép. Đang đặt về %s.', // accessory name, characteristic name, number, number
31
+ updated: '%s đã cập nhật %s với giá trị %s', // accessory name, characteristic name, value
32
+ },
33
+ climate: {
34
+ badTemperatureValue: '%s yêu cầu giá trị số cho nhiệt độ nhưng nhận được %s', // accessory name, value
35
+ coolingThreshold: 'Ngưỡng làm mát của %s là %d°%s', // accessory name, number, units
36
+ coolingThresholdFuture: 'Đang đặt ngưỡng làm mát của %s thành %d°%s…', // accessory name, number, units
37
+ heatingThreshold: 'Ngưỡng sưởi của %s là %d°%s', // accessory name, number, units
38
+ heatingThresholdFuture: 'Đang đặt ngưỡng sưởi của %s thành %d°%s…', // accessory name, number, units
39
+ humidityUpdate: 'Độ ẩm của %s là %d%%', // accessory name, number
40
+ temperatureUpdate: 'Nhiệt độ của %s là %d°%s', // accessory name, number, units
41
+ },
42
+ config: {
43
+ continue: 'Tiếp tục %s', // arrow symbol
44
+ required: 'Các trường bắt buộc được đánh dấu bằng dấu hoa thị (*)',
45
+ support: 'Xem tài liệu và hỗ trợ tại %s', // link
46
+ thankYou: 'Cảm ơn bạn đã cài đặt homebridge-easy-mqtt',
47
+ description: {
48
+ broker: 'Nếu không khai báo, mặc định là mqtt://127.0.0.1:1883/',
49
+ options: 'Kết hợp các tùy chọn client hoặc publish bổ sung dưới dạng JSON hợp lệ',
50
+ topics: 'Hỗ trợ JSONPath với cú pháp dấu chấm, ví dụ: "my/topic$.path.to.value"',
51
+ values: 'Dùng cho cả get và set (publish), khi thích hợp',
52
+ verbose: 'Nếu bật, sẽ ghi thêm thông tin MQTT phục vụ gỡ lỗi.',
53
+ },
54
+ enumNames: {
55
+ airPurifier: 'Máy lọc không khí',
56
+ airQualitySensor: 'Cảm biến chất lượng không khí',
57
+ carbonDioxideSensor: 'Cảm biến CO2',
58
+ carbonMonoxideSensor: 'Cảm biến CO',
59
+ celsius: '°C',
60
+ contactSensor: 'Cảm biến tiếp xúc',
61
+ fahrenheit: '°F',
62
+ fanv2: 'Quạt (v2)',
63
+ garageDoorOpener: 'Cửa ga-ra',
64
+ heaterCooler: 'Máy sưởi / Làm mát',
65
+ humiditySensor: 'Cảm biến độ ẩm',
66
+ leakSensor: 'Cảm biến rò rỉ',
67
+ lightbulb: 'Bóng đèn',
68
+ lightSensor: 'Cảm biến ánh sáng',
69
+ lockMechanism: 'Cơ cấu khóa',
70
+ motionSensor: 'Cảm biến chuyển động',
71
+ occupancySensor: 'Cảm biến hiện diện',
72
+ outlet: 'Ổ cắm',
73
+ securitySystem: 'Hệ thống an ninh',
74
+ smokeSensor: 'Cảm biến khói',
75
+ switch: 'Công tắc',
76
+ temperatureSensor: 'Cảm biến nhiệt độ',
77
+ thermostat: 'Nhiệt kế điều chỉnh',
78
+ valve: 'Van',
79
+ valveGeneric: 'Chung',
80
+ valveIrrigation: 'Tưới nước',
81
+ valveShower: 'Vòi sen tắm',
82
+ valveFaucet: 'Vòi nước',
83
+ windowCovering: 'Rèm cửa sổ',
84
+ },
85
+ title: {
86
+ accessory: 'Thiết bị',
87
+ broker: 'Máy chủ MQTT',
88
+ disableLogging: 'Tắt ghi nhật ký',
89
+ group: 'Nhóm',
90
+ name: 'Tên',
91
+ options: 'Tùy chọn',
92
+ password: 'Mật khẩu',
93
+ resetOnRestart: 'Đặt lại khi khởi động',
94
+ sourceUnits: 'Đơn vị nguồn',
95
+ topicGetActive: 'Lấy trạng thái hoạt động*',
96
+ topicGetAirQuality: 'Lấy chất lượng không khí*',
97
+ topicGetBatteryLevel: 'Lấy mức pin',
98
+ topicGetBatteryLow: 'Lấy trạng thái pin yếu',
99
+ topicGetBrightness: 'Lấy độ sáng',
100
+ topicGetCarbonDioxideDetected: 'Lấy trạng thái CO2*',
101
+ topicGetCarbonDioxideLevel: 'Lấy mức CO2',
102
+ topicGetCarbonDioxidePeakLevel: 'Lấy mức CO2 cực đại',
103
+ topicGetCarbonMonoxideDetected: 'Lấy trạng thái CO*',
104
+ topicGetCarbonMonoxideLevel: 'Lấy mức CO',
105
+ topicGetCarbonMonoxidePeakLevel: 'Lấy mức CO cực đại',
106
+ topicGetColorTemperature: 'Lấy nhiệt độ màu',
107
+ topicGetContactSensorState: 'Lấy trạng thái tiếp xúc*',
108
+ topicGetCoolingThresholdTemperature: 'Lấy ngưỡng làm mát',
109
+ topicGetCurrentAmbientLightLevel: 'Lấy mức ánh sáng hiện tại*',
110
+ topicGetCurrentDoorState: 'Lấy trạng thái cửa hiện tại*',
111
+ topicGetCurrentFanState: 'Lấy trạng thái quạt hiện tại',
112
+ topicGetCurrentHeaterCoolerState: 'Lấy trạng thái hiện tại*',
113
+ topicGetCurrentHeatingCoolingState: 'Lấy trạng thái hiện tại*',
114
+ topicGetCurrentHorizontalTiltAngle: 'Lấy góc ngang',
115
+ topicGetCurrentPurifierState: 'Lấy trạng thái máy lọc hiện tại*',
116
+ topicGetCurrentLockState: 'Lấy trạng thái khoá hiện tại*',
117
+ topicGetCurrentLockStateOptional: 'Lấy trạng thái khóa hiện tại',
118
+ topicGetCurrentPosition: 'Lấy vị trí hiện tại*',
119
+ topicGetCurrentRelativeHumidity: 'Lấy độ ẩm hiện tại*',
120
+ topicGetCurrentRelativeHumidityOptional: 'Lấy độ ẩm hiện tại',
121
+ topicGetCurrentSecurityState: 'Lấy trạng thái an ninh hiện tại*',
122
+ topicGetCurrentTemperature: 'Lấy nhiệt độ hiện tại*',
123
+ topicGetCurrentVerticalTiltAngle: 'Lấy góc dọc',
124
+ topicGetFilterChangeIndication: 'Báo thay bộ lọc',
125
+ topicGetFilterLifeLevel: 'Tuổi thị bộ lọc còn lại',
126
+ topicGetHeatingThresholdTemperature: 'Lấy ngưỡng sưởi',
127
+ topicGetHue: 'Lấy sắc độ',
128
+ topicGetLeakDetected: 'Lấy trạng thái rò rỉ*',
129
+ topicGetLockPhysicalControls: 'Lấy trạng thái khóa điều khiển',
130
+ topicGetMotionDetected: 'Lấy trạng thái chuyển động*',
131
+ topicGetNitrogenDioxideDensity: 'Lấy nồng độ NO2',
132
+ topicGetObstructionDetected: 'Lấy trạng thái cản trở*',
133
+ topicGetObstructionDetectedOptional: 'Lấy trạng thái cản trở',
134
+ topicGetOccupancyDetected: 'Lấy trạng thái hiện diện*',
135
+ topicGetOn: 'Lấy trạng thái bật/tắt*',
136
+ topicGetOutletInUse: 'Lấy trạng thái sử dụng',
137
+ topicGetOzoneDensity: 'Lấy nồng độ Ozone',
138
+ topicGetPM10Density: 'Lấy PM10',
139
+ topicGetPM2_5Density: 'Lấy PM2.5',
140
+ topicGetPositionState: 'Lấy trạng thái vị trí*',
141
+ topicGetRotationDirection: 'Lấy hướng quay',
142
+ topicGetRotationSpeed: 'Lấy tốc độ quay',
143
+ topicGetSaturation: 'Lấy độ bão hòa',
144
+ topicGetSmokeDetected: 'Lấy trạng thái khói*',
145
+ topicGetSwingMode: 'Lấy chế độ lắc',
146
+ topicGetStatusActive: 'Lấy trạng thái khả dụng',
147
+ topicGetStatusFault: 'Lấy lỗi',
148
+ topicGetStatusTampered: 'Lấy trạng thái bị can thiệp',
149
+ topicGetSulphurDioxideDensity: 'Lấy nồng độ SO2',
150
+ topicGetTargetDoorState: 'Lấy trạng thái cửa mục tiêu*',
151
+ topicGetTargetFanState: 'Lấy trạng thái quạt mục tiêu',
152
+ topicGetTargetHeaterCoolerState: 'Lấy trạng thái mục tiêu*',
153
+ topicGetTargetHeatingCoolingState: 'Lấy ctrạng thái mục tiêu*',
154
+ topicGetTargetHorizontalTiltAngle: 'Lấy góc ngang mục tiêu',
155
+ topicGetTargetPosition: 'Lấy vị trí mục tiêu*',
156
+ topicGetTargetPurifierState: 'Lấy trạng thái máy lọc mục tiêu*',
157
+ topicGetTargetLockState: 'Lấy trạng thái khoá mục tiêu*',
158
+ topicGetTargetLockStateOptional: 'Lấy trạng thái khóa mục tiêu',
159
+ topicGetTargetRelativeHumidity: 'Lấy độ ẩm mục tiêu',
160
+ topicGetTargetSecurityState: 'Lấy trạng thái an ninh mục tiêu*',
161
+ topicGetTargetTemperature: 'Lấy nhiệt độ mục tiêu*',
162
+ topicGetTargetVerticalTiltAngle: 'Lấy góc dọc mục tiêu',
163
+ topicGetValveActive: 'Lấy trạng thái hoạt động*',
164
+ topicGetValveInUse: 'Lấy trạng thái sử dụng*',
165
+ topicGetValveIsConfigured: 'Lấy trạng thái đã cấu hình',
166
+ topicGetValveRemainingDuration: 'Lấy thời lượng còn lại',
167
+ topicGetValveSetDuration: 'Lấy thời lượng',
168
+ topicGetVOCDensity: 'Lấy VOC',
169
+ topicResetFilterIndication: 'Đặt lại bộ lọc',
170
+ topicSetActive: 'Đặt trạng thái hoạt động*',
171
+ topicSetBrightness: 'Đặt độ sáng',
172
+ topicSetColorTemperature: 'Đặt nhiệt độ màu',
173
+ topicSetCoolingThresholdTemperature: 'Đặt ngưỡng làm mát',
174
+ topicSetHeatingThresholdTemperature: 'Đặt ngưỡng sưởi',
175
+ topicSetHoldPosition: 'Đặt vị trí giữ',
176
+ topicSetHue: 'Đặt sắc độ',
177
+ topicSetLockPhysicalControls: 'Đặt khóa điều khiển',
178
+ topicSetOn: 'Đặt trạng thái Bật/Tắt*',
179
+ topicSetRotationDirection: 'Đặt hướng quay',
180
+ topicSetRotationSpeed: 'Đặt tốc độ quay',
181
+ topicSetSaturation: 'Đặt độ bão hòa',
182
+ topicSetSwingMode: 'Đặt chế độ lắc',
183
+ topicSetTargetDoorState: 'Đặt trạng thái cửa mục tiêu*',
184
+ topicSetTargetFanState: 'Đặt chế độ mục tiêu',
185
+ topicSetTargetHeaterCoolerState: 'Đặt chế độ mục tiêu*',
186
+ topicSetTargetHeatingCoolingState: 'Đặt chế độ mục tiêu*',
187
+ topicSetTargetHorizontalTiltAngle: 'Đặt góc ngang mục tiêu',
188
+ topicSetTargetPosition: 'Đặt vị trí mục tiêu*',
189
+ topicSetTargetPurifierState: 'Đặt chế độ mục tiêu*',
190
+ topicSetTargetLockState: 'Đặt trạng thái mục tiêu*',
191
+ topicSetTargetLockStateOptional: 'Đặt trạng thái khóa mục tiêu',
192
+ topicSetTargetRelativeHumidity: 'Đặt độ ẩm mục tiêu',
193
+ topicSetTargetSecurityState: 'Đặt trạng thái mục tiêu*',
194
+ topicSetTargetTemperature: 'Đặt nhiệt độ mục tiêu*',
195
+ topicSetTargetVerticalTiltAngle: 'Đặt góc dọc mục tiêu',
196
+ topicSetValveActive: 'Đặt trạng thái hoạt động*',
197
+ topicSetValveIsConfigured: 'Đặt trạng thái cấu hình',
198
+ topicSetValveSetDuration: 'Đặt thời lượng',
199
+ topics: 'Chủ đề',
200
+ type: 'Loại',
201
+ username: 'Tên người dùng',
202
+ valveType: 'Loại van',
203
+ valueActive: 'Đang hoạt động*',
204
+ valueAlarmTriggered: 'Báo động',
205
+ valueAQExcellent: 'Chất lượng không khí: Xuất sắc',
206
+ valueAQFair: 'Chất lượng không khí: Trung bình',
207
+ valueAQGood: 'Chất lượng không khí: Tốt',
208
+ valueAQInferior: 'Chất lượng không khí: Kém',
209
+ valueAQPoor: 'Chất lượng không khí: Xấu',
210
+ valueAQUnknown: 'Chất lượng không khí: Không xác định',
211
+ valueArmAway: 'Kích hoạt khi đi vắng',
212
+ valueArmNight: 'Kích hoạt ban đêm',
213
+ valueArmStay: 'Kích hoạt khi ở nhà',
214
+ valueBatteryLow: 'Pin yếu',
215
+ valueCarbonDioxideDetected: 'Phát hiện CO2*',
216
+ valueCarbonMonoxideDetected: 'Phát hiện CO*',
217
+ valueConfigured: 'Đã cấu hình',
218
+ valueContactDetected: 'Phát hiện tiếp xúc*',
219
+ valueControlLock: 'Điều khiển đã khóa',
220
+ valueControlUnlock: 'Điều khiển đã mở khóa',
221
+ valueDirectionClockwise: 'Thuận chiều kim đồng hồ',
222
+ valueDirectionCounterClockwise: 'Ngược chiều kim đồng hồ',
223
+ valueDisarm: 'Ngắt kích hoạt',
224
+ valueDoorObstructed: 'Bị cản trở',
225
+ valueDoorStateClosed: 'Đóng',
226
+ valueDoorStateClosing: 'Đang đóng',
227
+ valueDoorStateOpen: 'Mở',
228
+ valueDoorStateOpening: 'Đang mở',
229
+ valueDoorStateStopped: 'Đã dừng',
230
+ valueFault: 'Lỗi',
231
+ valueFilterChange: 'Bộ lọc bẩn',
232
+ valueFilterReset: 'Đặt lại bộ lọc',
233
+ valueInactive: 'Không hoạt động*',
234
+ valueInUse: 'Đang sử dụng*',
235
+ valueLeakDetected: 'Phát hiện rò rỉ*',
236
+ valueLockStateJammed: 'Kẹt',
237
+ valueLockStateSecured: 'Đã khóa*',
238
+ valueLockStateSecuredOptional: 'Đã khóa',
239
+ valueLockStateUnsecured: 'Đã mở khóa*',
240
+ valueLockStateUnsecuredOptional: 'Đã mở khóa',
241
+ valueModeAuto: 'Tự động',
242
+ valueModeBlowing: 'Đang thổi',
243
+ valueModeCool: 'Làm mát',
244
+ valueModeHeat: 'Sưởi',
245
+ valueModeIdle: 'Chờ',
246
+ valueModeInactive: 'Không hoạt động',
247
+ valueModeManual: 'Thủ công',
248
+ valueModeOff: 'Tắt',
249
+ valueModePurifying: 'Đang lọc',
250
+ valueMotionDetected: 'Phát hiện chuyển động*',
251
+ valueNotConfigured: 'Chưa cấu hình',
252
+ valueOccupancyDetected: 'Phát hiện hiện diện*',
253
+ valueOff: 'Tắt*',
254
+ valueOn: 'Bật*',
255
+ valueOutletInUse: 'Đang sử dụng',
256
+ valueOutletNotInUse: 'Không sử dụng',
257
+ valuePositionHold: 'Giữ',
258
+ valuePositionDecreasing: 'Đang giảm',
259
+ valuePositionIncreasing: 'Đang tăng',
260
+ valuePositionObstructed: 'Bị cản trở',
261
+ valuePositionResume: 'Tiếp tục',
262
+ valuePositionStopped: 'Đã dừng',
263
+ valueSmokeDetected: 'Phát hiện khói*',
264
+ valueStateActive: 'Đang hoạt động*',
265
+ valueStateInactive: 'Không hoạt động*',
266
+ valueStatusActive: 'Có sẵn / Kết nối được',
267
+ valueSwingEnabled: 'Bật chế độ lắc',
268
+ valueSwingDisabled: 'Tắt chế độ lắc',
269
+ valueTampered: 'Bị can thiệp',
270
+ values: 'Giá trị',
271
+ verbose: 'Ghi log bổ sung',
272
+ },
273
+ },
274
+ error: {
275
+ hasFault: '%s gặp sự cố', // accessory name
276
+ isTampered: '%s đã bị can thiệp', // accessory name
277
+ noFault: '%s không có sự cố', // accessory name
278
+ notTampered: 'Trạng thái bị can thiệp của %s đã được đặt lại', // accessory name
279
+ },
280
+ fanv2: {
281
+ badValue: '%s thiếu giá trị cho trạng thái quạt %s', // accessory name, value
282
+ clockwise: '%s đang quay thuận chiều kim đồng hồ', // accessory name
283
+ counterClockwise: '%s đang quay ngược chiều kim đồng hồ', // accessory name
284
+ noCurrentStateValues: '%s phải có ít nhất một trạng thái hiện tại (Inactive, Idle, Blowing)', // accessory name
285
+ noTargetStateValues: '%s phải có ít nhất một trạng thái mục tiêu (Auto, Manual)', // accessory name
286
+ setDirectionClockwise: 'Đang đặt %s quay thuận chiều kim đồng hồ…', // accessory name
287
+ setDirectionCounterClockwise: 'Đang đặt %s quay ngược chiều kim đồng hồ…', // accessory name
288
+ stateAuto: 'Đang đặt %s thành tự động…', // accessory name
289
+ stateBlowing: '%s đang thổi gió', // accessory name
290
+ stateIdle: '%s đang chờ', // accessory name
291
+ stateInactive: '%s không hoạt động', // accessory name
292
+ stateManual: 'Đang đặt %s thành thủ công…', // accessory name
293
+ stateUnknown: 'Không xác định được trạng thái của %s', // accessory name
294
+ unknownValue: '%s không xác định được trạng thái quạt từ giá trị %s. Bỏ qua…', // accessory name, value
295
+ },
296
+ filter: {
297
+ change: '%s cần bảo dưỡng bộ lọc', // accessory name
298
+ level: 'Bộ lọc %s còn %d%', // accessory name, number
299
+ ok: 'Bộ lọc %s bình thường', // accessory name
300
+ reset: 'Đang đặt lại bộ lọc cho %s…', // accessory name
301
+ },
302
+ garage: {
303
+ badValue: '%s thiếu giá trị cho trạng thái cửa %s', // accessory name, value
304
+ noCurrentStateValues: '%s phải có ít nhất một trạng thái hiện tại (Open, Closed, Opening, Closing, Stopped)', // accessory name
305
+ noTargetStateValues: '%s phải có ít nhất một trạng thái mục tiêu (Open, Closed)', // accessory name
306
+ obstructed: '%s bị cản trở', // accessory name
307
+ stateClosed: '%s đã đóng', // accessory name
308
+ stateClosedFuture: 'Đang đóng %s…',
309
+ stateClosing: '%s đang đóng', // accessory name
310
+ stateOpen: '%s đang mở', // accessory name
311
+ stateOpenFuture: 'Đang mở %s…', // accessory name
312
+ stateOpening: '%s đang mở', // accessory name
313
+ stateStopped: '%s đã dừng', // accessory name
314
+ stateUnknown: 'Không xác định được trạng thái của %s', // accessory name
315
+ unknownValue: '%s không xác định được trạng thái cửa từ giá trị %s. Bỏ qua…', // accessory name, value
316
+ unobstructed: '%s không bị cản trở', // accessory name
317
+ },
318
+ heaterCooler: {
319
+ badValue: '%s thiếu giá trị cho trạng thái sưởi/làm mát %s', // accessory name, value
320
+ noStateValues: '%s phải có ít nhất một trạng thái (Không hoạt động, Chờ, Sưởi, Làm mát)', // accessory name
321
+ stateAuto: 'Đang đặt %s thành tự động…', // accessory name
322
+ stateCool: 'Đang đặt %s sang chế độ làm mát…', // accessory name
323
+ stateCooling: '%s đang làm mát', // accessory name
324
+ stateHeat: 'Đang đặt %s sang chế độ sưởi…', // accessory name
325
+ stateHeating: '%s đang sưởi', // accessory name
326
+ stateIdle: '%s đang chờ', // accessory name
327
+ stateInactive: '%s không hoạt động', // accessory name
328
+ stateUnknown: 'Không xác định được trạng thái của %s', // accessory name
329
+ unknownValue: '%s không xác định được trạng thái sưởi/làm mát từ giá trị %s. Đang bỏ qua…', // accessory name, value
330
+ },
331
+ lightbulb: {
332
+ brightnessPercent: 'Độ sáng của %s là %d%', // accessory name, number
333
+ brightnessPercentFuture: 'Đang đặt độ sáng của %s thành %d%…', // accessory name, number
334
+ colorTemperature: 'Nhiệt độ màu của %s là %dM', // accessory name, number
335
+ colorTemperatureFuture: 'Đang đặt nhiệt độ màu của %s thành %dM…', // accessory name, number
336
+ hue: 'Sắc độ của %s là %d°', // accessory name, number
337
+ hueFuture: 'Đang đặt sắc độ của %s thành %d°…', // accessory name, number
338
+ saturation: 'Độ bão hòa của %s là %d%', // accessory name, number
339
+ saturationFuture: 'Đang đặt độ bão hòa của %s thành %d%…', // accessory name, number
340
+ },
341
+ lock: {
342
+ badValue: '%s không xác định được trạng thái khóa từ %s', // accessory name, value
343
+ stateJammed: '%s bị kẹt', // accessory name
344
+ stateSecured: '%s đã khóa', // accessory name
345
+ stateSecuredFuture: 'Đang khóa %s…', // accessory name
346
+ stateUnsecured: '%s đã mở khóa', // accessory name
347
+ stateUnsecuredFuture: 'Đang mở khóa %s…', // accessory name
348
+ stateUnknown: 'Không xác định được trạng thái của %s', // accessory name
349
+ },
350
+ mqttClient: {
351
+ badOptions: 'Tùy chọn bổ sung cho %s phải là JSON hợp lệ', // accessory name
352
+ badMessages: 'Tin nhắn onConnect phải là mảng chứa topic/message objects',
353
+ connected: 'Đã kết nối tới %s và đang chờ cập nhật…', // host
354
+ connectionClosed: 'Đã đóng kết nối tới %s', // host
355
+ error: 'Lỗi client trên %s', // host
356
+ new: '%s tạo một client mới với id %s', // accessory name, uuid
357
+ noListeners: 'Không có listener trên %s cho topic %s', // host, topic
358
+ notConnected: 'Client chưa kết nối tới %s', // host
359
+ parseFailed: 'Không thể phân tích tin nhắn trên %s', // host
360
+ publish: 'Đang publish tới %s', // host
361
+ reuse: '%s đang tái sử dụng client hiện có với id %s', // accessory name, uuid
362
+ receivedMessage: 'Nhận tin nhắn trên %s với topic %s', // host, topic
363
+ reconnectMinutes: 'Sẽ thử kết nối lại %s trong %s phút…', // host, number
364
+ reconnectSeconds: 'Sẽ thử kết nối lại %s trong %s giây…', // host, number
365
+ },
366
+ onOff: {
367
+ stateOff: '%s đang tắt', // accessory name
368
+ stateOffFuture: 'Đang tắt %s…', // accessory name
369
+ stateOn: '%s đang bật', // accessory name
370
+ stateOnFuture: 'Đang bật %s…', // accessory name
371
+ unknownValue: '%s không xác định được trạng thái bật/tắt từ %s. Đang bỏ qua…', // accessory name, value
372
+ },
373
+ outlet: {
374
+ badValue: '%s không lấy được trạng thái sử dụng cho %s', // accessory name, value
375
+ inUse: '%s đang sử dụng', // accessory name
376
+ notInUse: '%s không sử dụng', // accessory name
377
+ },
378
+ position: {
379
+ blind: {
380
+ currentHorizontal: 'Góc ngang hiện tại của %s là %d°', // accessory name, number
381
+ currentVertical: 'Góc dọc hiện tại của %s là %d°', // accessory name, number
382
+ targetHorizontal: 'Góc ngang mục tiêu của %s là %d°', // accessory name, number
383
+ targetHorizontalSet: 'Đang đặt góc ngang mục tiêu của %s thành %d°…', // accessory name, number
384
+ targetVertical: 'Góc dọc mục tiêu của %s là %d°', // accessory name, number
385
+ targetVerticalSet: 'Đang đặt góc dọc mục tiêu của %s thành %d°…', // accessory name, number
386
+ },
387
+ current: 'Vị trí hiện tại của %s là %d%', // accessory name, number
388
+ hold: 'Đang đặt vị trí của %s thành giữ…', // accessory name
389
+ noPositionValues: '%s phải có ít nhất một trạng thái vị trí (Đang giảm, Đang tăng, Dừng)', // accessory name
390
+ obstructed: '%s bị cản trở', // accessory name
391
+ resume: 'Đang đặt vị trí của %s thành tiếp tục…', // accessory name
392
+ stateDecreasing: 'Vị trí của %s đang giảm', // accessory name
393
+ stateIncreasing: 'Vị trí của %s đang tăng', // accessory name
394
+ stateStopped: 'Vị trí của %s đã dừng', // accessory name
395
+ stateUnknown: 'Không xác định được trạng thái vị trí của %s', // accessory name
396
+ target: 'Vị trí mục tiêu của %s là %d%', // accessory name, number
397
+ targetSet: 'Đang đặt vị trí mục tiêu của %s thành %d%…', // accessory name, number
398
+ unknownValue: '%s không xác định được trạng thái vị trí từ giá trị %s. Đang bỏ qua…', // accessory name, value
399
+ unobstructed: '%s không bị cản trở', // accessory name
400
+ },
401
+ purifier: {
402
+ badValue: '%s thiếu giá trị cho trạng thái máy lọc không khí %s', // accessory name, value
403
+ noCurrentStateValues: '%s phải có ít nhất một trạng thái hiện tại (Không hoạt động, Chờ, Đang lọc)', // accessory name
404
+ noTargetStateValues: '%s phải có ít nhất một trạng thái mục tiêu (Tự động, Thủ công)', // accessory name
405
+ stateAuto: 'Đang đặt %s thành tự động…', // accessory name
406
+ stateIdle: '%s đang chờ', // accessory name
407
+ stateInactive: '%s không hoạt động', // accessory name
408
+ stateManual: 'Đang đặt %s thành thủ công…', // accessory name
409
+ statePurifying: '%s đang lọc', // accessory name
410
+ stateUnknown: 'Không xác định được trạng thái của %s', // accessory name
411
+ unknownValue: '%s không xác định được trạng thái máy lọc không khí từ giá trị %s. Đang bỏ qua…', // accessory name, value
412
+ },
413
+ security: {
414
+ badValue: '%s thiếu giá trị cho trạng thái an ninh %s', // accessory name, value
415
+ noStateValues: '%s phải có ít nhất một trạng thái (Đi vắng, Tắt, etc.)', // accessory name
416
+ stateAway: '%s đang bật chế độ đi vắng', // accessory name
417
+ stateAwayFuture: 'Đang bật chế độ đi vắng cho %s…', // accessory name
418
+ stateDisarmed: '%s đã tắt an ninh', // accessory name
419
+ stateDisarmFuture: 'Đang tắt an ninh %s…', // accessory name
420
+ stateNight: '%s đang bật chế độ ban đêm', // accessory name
421
+ stateNightFuture: 'Đang bật chế độ ban đêm cho %s…', // accessory name
422
+ stateStay: '%s đang bật chế độ ở nhà', // accessory name
423
+ stateStayFuture: 'Đang bật chế độ ở nhà cho %s…', // accessory name
424
+ stateTriggered: 'Báo động của %s đã kích hoạt', // accessory name
425
+ stateUnknown: 'Không xác định được trạng thái của %s', // accessory name
426
+ unknownValue: '%s không xác định được trạng thái an ninh từ giá trị %s. Đang bỏ qua…', // accessory name, value
427
+ },
428
+ sensor: {
429
+ air: {
430
+ noStateValues: '%s phải có ít nhất một trạng thái chất lượng không khí (Tuyệt vời, Tốt, Bình thường, Kém, Xấu)', // accessory name
431
+ densityNitrogen: 'Nồng độ nitơ của %s là %d µg/m³', // accessory name, number
432
+ densityOzone: 'Nồng độ ozone của %s là %d µg/m³', // accessory name, number
433
+ densityPM10: 'Nồng độ PM10 của %s là %d µg/m³', // accessory name, number
434
+ densityPM2_5: 'Nồng độ PM2.5 của %s là %d µg/m³', // accessory name, number
435
+ densitySulphur: 'Nồng độ SO2 của %s là %d µg/m³', // accessory name, number
436
+ densityVOC: 'Nồng độ VOC của %s là %d µg/m³', // accessory name, number
437
+ qualityExcellent: 'Chất lượng không khí của %s: Tuyệt vời', // accessory name
438
+ qualityFair: 'Chất lượng không khí của %s: Bình thường', // accessory name
439
+ qualityGood: 'Chất lượng không khí của %s: Tốt', // accessory name
440
+ qualityInferior: 'Chất lượng không khí của %s: Kém', // accessory name
441
+ qualityPoor: 'Chất lượng không khí của %s: Xấu', // accessory name
442
+ qualityUnknown: 'Chất lượng không khí của %s: Không xác định', // accessory name
443
+ unknownValue: '%s không xác định được chất lượng không khí từ giá trị %s. Đang bỏ qua…', // accessory name, value
444
+ },
445
+ carbonDioxide: {
446
+ active: '%s phát hiện CO2', // accessory name
447
+ inactive: '%s ngừng phát hiện CO2', // accessory name
448
+ level: 'Nồng độ CO2 của %s là %d', // accessory name, number
449
+ peakLevel: 'Nồng độ CO2 cực đại của %s là %d', // accessory name, number
450
+ },
451
+ carbonMonoxide: {
452
+ active: '%s phát hiện CO', // accessory name
453
+ inactive: '%s ngừng phát hiện CO', // accessory name
454
+ level: 'Nồng độ CO của %s là %d', // accessory name, number
455
+ peakLevel: 'Nồng độ CO cực đại của %s là %d', // accessory name, number
456
+ },
457
+ contact: {
458
+ active: '%s phát hiện tiếp xúc', // accessory name
459
+ inactive: '%s ngừng phát hiện tiếp xúc', // accessory name
460
+ },
461
+ leak: {
462
+ active: '%s phát hiện rò rỉ', // accessory name
463
+ inactive: '%s ngừng phát hiện rò rỉ', // accessory name
464
+ },
465
+ light: {
466
+ level: 'Mức ánh sáng hiện tại của %s là %d lx', // accessory name, number
467
+ },
468
+ motion: {
469
+ active: '%s phát hiện chuyển động', // accessory name
470
+ inactive: '%s ngừng phát hiện chuyển động', // accessory name
471
+ },
472
+ occupancy: {
473
+ active: '%s phát hiện có người', // accessory name
474
+ inactive: '%s không còn phát hiện người', // accessory name
475
+ },
476
+ smoke: {
477
+ active: '%s phát hiện khói', // accessory name
478
+ inactive: '%s không còn phát hiện khói', // accessory name
479
+ },
480
+ },
481
+ startup: {
482
+ complete: '✓ Cài đặt hoàn tất',
483
+ newAccessory: 'Đang thêm %s', // accessory name
484
+ removeAccessory: 'Đang gỡ %s', // accessory name
485
+ restoringAccessory: 'Đang khôi phục %s', // accessory name
486
+ unsupportedType: 'Loại thiết bị không được hỗ trợ: %s', // accessory type
487
+ welcome: [
488
+ 'Hãy ★ plugin này trên GitHub nếu bạn thấy hữu ích! https://github.com/mpatfield/homebridge-easy-mqtt',
489
+ 'Bạn có muốn tài trợ cho plugin này không? https://github.com/sponsors/mpatfield',
490
+ 'Muốn thấy plugin này bằng ngôn ngữ của bạn? Hãy ghé https://github.com/mpatfield/homebridge-easy-mqtt/issues/4',
491
+ ],
492
+ },
493
+ thermostat: {
494
+ badValue: '%s thiếu giá trị cho trạng thái nhiệt kế %s', // accessory name, value
495
+ humidityFuture: 'Đang đặt độ ẩm của %s thành %d%…', // accessory name, number
496
+ noStateValues: '%s phải có ít nhất một trạng thái (Tắt, Sưởi, Làm mát)', // accessory name
497
+ stateAutoFuture: 'Đang đặt %s thành tự động…', // accessory name
498
+ stateCool: '%s đang ở chế độ làm mát', // accessory name
499
+ stateCoolFuture: 'Đang đặt %s sang chế độ làm mát…', // accessory name
500
+ stateHeat: '%s đang ở chế độ sưởi', // accessory name
501
+ stateHeatFuture: 'Đang đặt %s sang chế độ sưởi…', // accessory name
502
+ stateOff: '%s đang tắt', // accessory name
503
+ stateOffFuture: 'Đang tắt %s…', // accessory name
504
+ stateUnknown: 'Không xác định được trạng thái của %s', // accessory name
505
+ temperatureTarget: 'Nhiệt độ mục tiêu của %s là %d°%s', // accessory name, number, units
506
+ temperatureTargetFuture: 'Đang đặt nhiệt độ mục tiêu của %s thành %d°%s…', // accessory name, number, units
507
+ unknownValue: '%s không xác định được trạng thái nhiệt kế từ giá trị %s. Đang bỏ qua…', // accessory name, value
508
+ },
509
+ valve: {
510
+ active: '%s đang hoạt động', // accessory name
511
+ activeSet: 'Đang đặt %s thành hoạt động…', // accessory name
512
+ badValveType: '%s có kiểu van không hợp lệ %s. Phải là một trong %s.', // accessory name, value, list of values
513
+ configured: '%s đã được cấu hình', // accessory name
514
+ configuredFuture: 'Đang đặt %s thành cấu hình…', // accessory name
515
+ durationRemaining: '%s còn %d giây', // accessory name
516
+ inactive: '%s không hoạt động', // accessory name
517
+ inactiveSet: 'Đang đặt %s thành không hoạt động…', // accessory name
518
+ inUse: '%s đang được sử dụng', // accessory name
519
+ notConfigured: '%s chưa được cấu hình', // accessory name
520
+ notConfiguredFuture: 'Đang đặt %s thành chưa cấu hình…', // accessory name
521
+ notInUse: '%s không được sử dụng', // accessory name
522
+ setDuration: 'Thời lượng của %s là %d giây', // accessory name
523
+ setDurationFuture: '%s sẽ chạy trong %d giây', // accessory name
524
+ },
525
+ };
526
+ const vi = merge({}, en, overrides);
527
+ export default vi;
528
+ //# sourceMappingURL=vi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vi.js","sourceRoot":"","sources":["../../src/i18n/vi.ts"],"names":[],"mappings":"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"}