homebridge-easy-mqtt 1.4.0-beta.2 → 1.4.0-beta.21

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