homebridge-config-ui-x 5.11.2-beta.9 → 5.11.2

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 (249) hide show
  1. package/CHANGELOG.md +3 -21
  2. package/dist/core/auth/auth.controller.d.ts +0 -4
  3. package/dist/core/config/config.interfaces.d.ts +0 -14
  4. package/dist/core/config/config.service.d.ts +0 -6
  5. package/dist/core/config/config.service.js +0 -8
  6. package/dist/core/config/config.service.js.map +1 -1
  7. package/dist/core/config/config.startup.js +17 -48
  8. package/dist/core/config/config.startup.js.map +1 -1
  9. package/dist/core/feature-flags/feature-flags.registry.js +0 -5
  10. package/dist/core/feature-flags/feature-flags.registry.js.map +1 -1
  11. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +0 -1
  12. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  13. package/dist/core/spa/spa.filter.d.ts +0 -3
  14. package/dist/core/spa/spa.filter.js +2 -22
  15. package/dist/core/spa/spa.filter.js.map +1 -1
  16. package/dist/globalDefaults.js +0 -3
  17. package/dist/globalDefaults.js.map +1 -1
  18. package/dist/main.js +4 -18
  19. package/dist/main.js.map +1 -1
  20. package/dist/modules/accessories/accessories.controller.d.ts +1 -1
  21. package/dist/modules/accessories/accessories.module.js +0 -2
  22. package/dist/modules/accessories/accessories.module.js.map +1 -1
  23. package/dist/modules/accessories/accessories.service.d.ts +3 -21
  24. package/dist/modules/accessories/accessories.service.js +17 -280
  25. package/dist/modules/accessories/accessories.service.js.map +1 -1
  26. package/dist/modules/child-bridges/child-bridges.interfaces.d.ts +0 -9
  27. package/dist/modules/config-editor/config-editor.controller.d.ts +0 -4
  28. package/dist/modules/config-editor/config-editor.controller.js +0 -64
  29. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  30. package/dist/modules/config-editor/config-editor.service.d.ts +1 -6
  31. package/dist/modules/config-editor/config-editor.service.js +1 -45
  32. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  33. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +1 -1
  34. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  35. package/dist/modules/plugins/plugins.module.js +1 -1
  36. package/dist/modules/plugins/plugins.service.js +2 -17
  37. package/dist/modules/plugins/plugins.service.js.map +1 -1
  38. package/dist/modules/server/server.controller.d.ts +0 -50
  39. package/dist/modules/server/server.controller.js +2 -201
  40. package/dist/modules/server/server.controller.js.map +1 -1
  41. package/dist/modules/server/server.service.d.ts +0 -48
  42. package/dist/modules/server/server.service.js +14 -502
  43. package/dist/modules/server/server.service.js.map +1 -1
  44. package/dist/modules/status/status.gateway.d.ts +0 -2
  45. package/dist/modules/status/status.interfaces.d.ts +0 -11
  46. package/dist/modules/status/status.service.d.ts +1 -4
  47. package/dist/modules/status/status.service.js +2 -21
  48. package/dist/modules/status/status.service.js.map +1 -1
  49. package/package.json +5 -7
  50. package/public/3rdpartylicenses.txt +620 -594
  51. package/public/assets/plugin-ui-utils/ui.js +0 -3
  52. package/public/assets/plugin-ui-utils/ui.js.map +1 -1
  53. package/public/chunk-2BB4D4TW.js +1 -0
  54. package/public/chunk-2GCZ3AMH.js +1 -0
  55. package/public/chunk-2K5FWBCK.js +8 -0
  56. package/public/chunk-2LQBMVWH.js +1 -0
  57. package/public/chunk-34ZN4GVA.js +3 -0
  58. package/public/chunk-3JW6FD5V.js +1 -0
  59. package/public/chunk-57XTQ6PK.js +1 -0
  60. package/public/chunk-5DBV5PYR.js +19 -0
  61. package/public/chunk-5GKTPXPE.js +1 -0
  62. package/public/chunk-5X7ARCKG.js +5 -0
  63. package/public/chunk-67HOYJJ2.js +1 -0
  64. package/public/chunk-6MZHUZRT.js +4 -0
  65. package/public/chunk-77CMUO6J.js +1 -0
  66. package/public/chunk-7LJYL7EH.js +1 -0
  67. package/public/chunk-7TFBELRD.js +1 -0
  68. package/public/chunk-AXOHPUQR.js +1 -0
  69. package/public/chunk-BMAZBLAT.js +1 -0
  70. package/public/chunk-C554TVZA.js +2 -0
  71. package/public/chunk-DGDNSN6I.js +1 -0
  72. package/public/chunk-E6RSPO2D.js +1 -0
  73. package/public/chunk-ESQ665GW.js +5 -0
  74. package/public/chunk-G4QH622U.js +5 -0
  75. package/public/chunk-GKPR5M7S.js +1 -0
  76. package/public/chunk-GT7UMMFF.js +2 -0
  77. package/public/chunk-HBIQJCSE.js +1 -0
  78. package/public/{chunk-BMOLDRJ3.js → chunk-JLZ5WU6N.js} +1 -1
  79. package/public/chunk-JSZIAFBJ.js +1 -0
  80. package/public/chunk-JWQRV434.js +1 -0
  81. package/public/chunk-JX72JCMA.js +1 -0
  82. package/public/chunk-KT26K4DO.js +1 -0
  83. package/public/chunk-L63FND3A.js +1 -0
  84. package/public/chunk-LSXTHVKB.js +1 -0
  85. package/public/chunk-N5VXONVW.js +1 -0
  86. package/public/{chunk-H7F7H5MW.js → chunk-N6JGA2PG.js} +1 -1
  87. package/public/chunk-NVCJ3EJS.js +1 -0
  88. package/public/chunk-OPJZWDSO.js +1 -0
  89. package/public/chunk-OXBXHVWY.js +8 -0
  90. package/public/chunk-QHROK73U.js +50 -0
  91. package/public/chunk-QNEXPAIT.js +1 -0
  92. package/public/chunk-R2G2YWV4.js +51 -0
  93. package/public/chunk-RCNF365Q.js +1 -0
  94. package/public/chunk-RT6EDRIH.js +1 -0
  95. package/public/chunk-RWM6K46M.js +1 -0
  96. package/public/chunk-SVVR6UMH.js +1 -0
  97. package/public/chunk-UI4U37MO.js +1 -0
  98. package/public/chunk-ULKYNDD3.js +16 -0
  99. package/public/chunk-UPZ5UT6G.js +1 -0
  100. package/public/chunk-UQFIBBEZ.js +1 -0
  101. package/public/chunk-UWUTC3BD.js +1 -0
  102. package/public/chunk-UZ6QYM64.js +1 -0
  103. package/public/{chunk-IDVQIBZN.js → chunk-VKHX6FUQ.js} +2 -52
  104. package/public/chunk-VM2MV3DC.js +1 -0
  105. package/public/chunk-VM6FMRHY.js +1 -0
  106. package/public/chunk-VYK3U745.js +1 -0
  107. package/public/chunk-VZJJWHRX.js +1 -0
  108. package/public/chunk-WHC4E7WY.js +1 -0
  109. package/public/chunk-WJKVPIP2.js +1 -0
  110. package/public/chunk-WOBQOQPU.js +1 -0
  111. package/public/chunk-WTGHGHPV.js +1 -0
  112. package/public/chunk-WY6UQ47H.js +1 -0
  113. package/public/chunk-X4ZEQSRY.js +4 -0
  114. package/public/{chunk-TJXF3MRO.js → chunk-XVO5247V.js} +1 -1
  115. package/public/chunk-XWNU2MFJ.js +1 -0
  116. package/public/chunk-YD3GJ2C6.js +1 -0
  117. package/public/chunk-YUEGV7HK.js +4 -0
  118. package/public/chunk-ZLRFR32W.js +1 -0
  119. package/public/chunk-ZZ5IX26U.js +40 -0
  120. package/public/chunk-ZZQEWRDE.js +1 -0
  121. package/public/index.html +2 -2
  122. package/public/main-VKVUZHHA.js +1 -0
  123. package/public/polyfills-5KWHJ7II.js +2 -0
  124. package/public/styles-7EFV5QBG.css +1 -0
  125. package/scripts/extract-plugin-alias.js +2 -53
  126. package/dist/core/spa/spa-html.service.d.ts +0 -5
  127. package/dist/core/spa/spa-html.service.js +0 -32
  128. package/dist/core/spa/spa-html.service.js.map +0 -1
  129. package/dist/core/ssl/ssl-cert-generator.service.d.ts +0 -15
  130. package/dist/core/ssl/ssl-cert-generator.service.js +0 -125
  131. package/dist/core/ssl/ssl-cert-generator.service.js.map +0 -1
  132. package/dist/modules/accessories/accessories.interfaces.d.ts +0 -94
  133. package/dist/modules/accessories/accessories.interfaces.js +0 -2
  134. package/dist/modules/accessories/accessories.interfaces.js.map +0 -1
  135. package/docs/matter-todo.md +0 -15
  136. package/docs/ssl-upload-pr.md +0 -103
  137. package/public/assets/matter.svg +0 -8
  138. package/public/chunk-2OWZ4XP5.js +0 -5
  139. package/public/chunk-3N7C33O4.js +0 -1
  140. package/public/chunk-4UVYLGCZ.js +0 -1
  141. package/public/chunk-4XUH7NXA.js +0 -1
  142. package/public/chunk-52X3LPJH.js +0 -1
  143. package/public/chunk-5R6AJZGA.js +0 -1
  144. package/public/chunk-6CBJSM3U.js +0 -4
  145. package/public/chunk-6DLZEENG.js +0 -1
  146. package/public/chunk-6QWPGE2L.js +0 -1
  147. package/public/chunk-77S5CL3V.js +0 -1
  148. package/public/chunk-7BMHIIBT.js +0 -1
  149. package/public/chunk-7JIIKSDG.js +0 -1
  150. package/public/chunk-7WKZ7EMI.js +0 -1
  151. package/public/chunk-7WUBDTA6.js +0 -1
  152. package/public/chunk-A2MXGFJ6.js +0 -1
  153. package/public/chunk-AWTSOXJ2.js +0 -2
  154. package/public/chunk-B46EWHBD.js +0 -1
  155. package/public/chunk-B4AJQJMI.js +0 -1
  156. package/public/chunk-B75B723G.js +0 -1
  157. package/public/chunk-BBBDRQZR.js +0 -1
  158. package/public/chunk-BQRKHSGH.js +0 -1
  159. package/public/chunk-BXRCPOIK.js +0 -1
  160. package/public/chunk-BZ3XB6O4.js +0 -1
  161. package/public/chunk-CKURAGOR.js +0 -1
  162. package/public/chunk-CMERG3AC.js +0 -1
  163. package/public/chunk-CPT52C2F.js +0 -1
  164. package/public/chunk-DFG4HJK5.js +0 -1
  165. package/public/chunk-DPITSP7F.js +0 -5
  166. package/public/chunk-DSSLC7R5.js +0 -1
  167. package/public/chunk-ETWBSGPI.js +0 -1
  168. package/public/chunk-F635TFLI.js +0 -1
  169. package/public/chunk-GJG6QZ7P.js +0 -1
  170. package/public/chunk-GU5F3H4I.js +0 -1
  171. package/public/chunk-GVFAT25G.js +0 -3
  172. package/public/chunk-H4WASUXW.js +0 -1
  173. package/public/chunk-HBUIXUR3.js +0 -12
  174. package/public/chunk-HN6QQBDC.js +0 -1
  175. package/public/chunk-HUTYOGRH.js +0 -4
  176. package/public/chunk-HYHFIPBC.js +0 -1
  177. package/public/chunk-IBUR2RIO.js +0 -1
  178. package/public/chunk-IDJSTIFL.js +0 -1
  179. package/public/chunk-IP6FLYVL.js +0 -1
  180. package/public/chunk-IPI77WYV.js +0 -1
  181. package/public/chunk-J2DDS6ED.js +0 -1
  182. package/public/chunk-J6ND4K5Q.js +0 -1
  183. package/public/chunk-JUQRWAIR.js +0 -1
  184. package/public/chunk-JWGWPSC6.js +0 -1
  185. package/public/chunk-JWUEJV6S.js +0 -1
  186. package/public/chunk-K7PJFUH4.js +0 -1
  187. package/public/chunk-KFPYUDGJ.js +0 -1
  188. package/public/chunk-KIRW7NMH.js +0 -1
  189. package/public/chunk-KV4RQA3A.js +0 -1
  190. package/public/chunk-LAVT57X4.js +0 -1
  191. package/public/chunk-LI37IF2Z.js +0 -1
  192. package/public/chunk-LKJRMUOE.js +0 -1
  193. package/public/chunk-LLNAB3NM.js +0 -35
  194. package/public/chunk-LO72RI4S.js +0 -1
  195. package/public/chunk-LVQWSVHA.js +0 -1
  196. package/public/chunk-LZ7S7WKH.js +0 -1
  197. package/public/chunk-LZTSIWKP.js +0 -19
  198. package/public/chunk-MDHWQ5V2.js +0 -8
  199. package/public/chunk-MJP4XVUI.js +0 -1
  200. package/public/chunk-N3SESV2P.js +0 -1
  201. package/public/chunk-NAICVRJH.js +0 -1
  202. package/public/chunk-NCFDA3W4.js +0 -1
  203. package/public/chunk-OS475ZQO.js +0 -1
  204. package/public/chunk-OVQGZ4C6.js +0 -2
  205. package/public/chunk-PAZUAFSZ.js +0 -1
  206. package/public/chunk-PD3Q2PZE.js +0 -1
  207. package/public/chunk-PEUDPLH6.js +0 -1
  208. package/public/chunk-PRGOUVRO.js +0 -1
  209. package/public/chunk-PYPOWROR.js +0 -2
  210. package/public/chunk-QE7VI3JB.js +0 -1
  211. package/public/chunk-QES44GQE.js +0 -1
  212. package/public/chunk-R2CO54AK.js +0 -19
  213. package/public/chunk-R6MQZ2DW.js +0 -1
  214. package/public/chunk-RESZLSD7.js +0 -1
  215. package/public/chunk-RGWFM4OK.js +0 -1
  216. package/public/chunk-RI4GLH22.js +0 -1
  217. package/public/chunk-RP5JPYDI.js +0 -1
  218. package/public/chunk-RT25QBCQ.js +0 -1
  219. package/public/chunk-RVWZNTDJ.js +0 -1
  220. package/public/chunk-RXDY2NMJ.js +0 -1
  221. package/public/chunk-SDRRZFEQ.js +0 -1
  222. package/public/chunk-SPC2DLZR.js +0 -3
  223. package/public/chunk-TCJMUYCJ.js +0 -16
  224. package/public/chunk-TCUQZ3QO.js +0 -1
  225. package/public/chunk-TQBVDY26.js +0 -1
  226. package/public/chunk-U24HWDVU.js +0 -1
  227. package/public/chunk-U2NM4L2D.js +0 -1
  228. package/public/chunk-UFVCK77E.js +0 -68
  229. package/public/chunk-UWYTPKKV.js +0 -1
  230. package/public/chunk-V2TVR4X3.js +0 -1
  231. package/public/chunk-VKR3GG6K.js +0 -1
  232. package/public/chunk-W4WAFNIS.js +0 -1
  233. package/public/chunk-W55SP3LJ.js +0 -1
  234. package/public/chunk-WP3AD6W5.js +0 -1
  235. package/public/chunk-WU7URLRW.js +0 -1
  236. package/public/chunk-X6RWNTC7.js +0 -1
  237. package/public/chunk-XPFMPBEG.js +0 -1
  238. package/public/chunk-Y3PXWRYQ.js +0 -1
  239. package/public/chunk-Y5WP66WK.js +0 -1
  240. package/public/chunk-YCQCWGBG.js +0 -1
  241. package/public/chunk-YHBVXMFX.js +0 -1
  242. package/public/chunk-Z5PUNNUZ.js +0 -1
  243. package/public/chunk-ZAWMHW3P.js +0 -1
  244. package/public/chunk-ZCGZM7LU.js +0 -1
  245. package/public/chunk-ZSFO6PRU.js +0 -4
  246. package/public/main-EZDP2TWN.js +0 -1
  247. package/public/media/matter-P563JGDL.svg +0 -8
  248. package/public/polyfills-34U4WL3Z.js +0 -1
  249. package/public/styles-CT2LPGES.css +0 -1
@@ -1 +0,0 @@
1
- import{e}from"./chunk-B4AJQJMI.js";var s=e((r,t)=>{t.exports={"accessories.accessory_info":"Accessory Information","accessories.bridge_ip":"Bridge IP","accessories.bridge_port":"Bridge Port","accessories.button_add_room":"L\xE4gg till rum","accessories.button_hidden_hide":"G\xF6m dolda","accessories.button_hidden_show":"Visa dolda","accessories.button_remove":"Remove From Cache","accessories.control.adaptive_lighting":"Adaptive Lighting","accessories.control.adaptive_lighting_note":"Some plugins may automatically re-enable Adaptive Lighting when changing this.","accessories.control.auto":"Automatisk","accessories.control.away":"Borta","accessories.control.battery_charged":"Charged","accessories.control.battery_charging":"Laddar","accessories.control.battery_low":"Battery Low","accessories.control.battery_notchargeable":"Ej laddbar","accessories.control.battery_notcharging":"Laddar inte","accessories.control.brightness":"Ljusstyrka","accessories.control.cleaning":"Cleaning","accessories.control.closed":"St\xE4ngd","accessories.control.closing":"St\xE4nger","accessories.control.color_temperature":"Color Temperature","accessories.control.cool":"Kylning","accessories.control.current":"Current","accessories.control.default_room":"Standardrum","accessories.control.dehumidify":"Dehumidify","accessories.control.detected":"Detected","accessories.control.direction_control":"Direction Control","accessories.control.drag_here":"Dra h\xE4r","accessories.control.filter_level":"Filter Life","accessories.control.heat":"V\xE4rme","accessories.control.home":"Hem","accessories.control.hue":"Hue","accessories.control.humidify":"Humidify","accessories.control.idle":"Idle","accessories.control.input":"Input List","accessories.control.input_control":"Input Control","accessories.control.jammed":"Fastnat","accessories.control.lock_auto":"Auto Lock Timer","accessories.control.locked":"L\xE5st","accessories.control.manual":"Manual","accessories.control.media_control":"Media Control","accessories.control.microphone":"Microphone","accessories.control.mode":"Mode","accessories.control.mode_control":"Mode Control","accessories.control.mute":"Tyst","accessories.control.mute_control":"Mute Control","accessories.control.night":"Natt","accessories.control.no_data":"No Data","accessories.control.not_detected":"Not Detected","accessories.control.not_mute":"P\xE5","accessories.control.obstructed":"Obstructed","accessories.control.off":"Av","accessories.control.on":"P\xE5","accessories.control.open":"\xD6ppen","accessories.control.opening":"\xD6ppnar","accessories.control.pause":"Pause","accessories.control.paused":"Paused","accessories.control.play":"Play","accessories.control.replace":"Replace","accessories.control.rotation_c_clockwise":"Counter Clockwise","accessories.control.rotation_clockwise":"Clockwise","accessories.control.rotation_direction":"Rotation Direction","accessories.control.rotation_speed":"Rotationshastighet","accessories.control.running":"K\xF6rs","accessories.control.saturation":"Saturation","accessories.control.set_duration":"Set Duration","accessories.control.speaker":"Speaker","accessories.control.speaker_volume":"Volym","accessories.control.state_control":"State Control","accessories.control.stateless":"Stateless","accessories.control.stop":"Stop","accessories.control.stopped":"Stoppad","accessories.control.target":"M\xE5l","accessories.control.target_auto":"Auto Target","accessories.control.threshold_auto":"Auto Threshold","accessories.control.triggered":"Utl\xF6st","accessories.control.unknown":"Ok\xE4nd","accessories.control.unlocked":"Ol\xE5st","accessories.control_disabled":"Homebridge tillbeh\xF6rskontroll inaktiverad","accessories.core.air_purifier":"Air Purifier","accessories.core.air_quality_sensor":"Air Quality Sensor","accessories.core.battery":"Battery","accessories.core.carbon_dioxide_sensor":"Carbon Dioxide Sensor","accessories.core.carbon_monoxide_sensor":"Carbon Monoxide Sensor","accessories.core.contact_sensor":"Contact Sensor","accessories.core.cooler":"Cooler","accessories.core.dehumidifier":"Dehumidifier","accessories.core.door":"Door","accessories.core.doorbell":"Doorbell","accessories.core.fan":"Fan","accessories.core.faucet_valve":"Valve","accessories.core.filter_maintenance":"Filter Maintenance","accessories.core.garage_door_opener":"Garage Door Opener","accessories.core.generic_valve":"Valve","accessories.core.heater":"Heater","accessories.core.heater_cooler":"Heater Cooler","accessories.core.humidifier":"Humidifier","accessories.core.humidifier_dehumidifier":"Humidifier Dehumidifier","accessories.core.humidity_sensor":"Humidity Sensor","accessories.core.irrigation_system":"Irrigation System","accessories.core.irrigation_valve":"Valve","accessories.core.leak_sensor":"Leak Sensor","accessories.core.light_sensor":"Light Sensor","accessories.core.lightbulb":"Lightbulb","accessories.core.lock_mechanism":"Lock Mechanism","accessories.core.microphone":"Microphone","accessories.core.motion_sensor":"Motion Sensor","accessories.core.occupancy_sensor":"Occupancy Sensor","accessories.core.on_off_light":"Lightbulb","accessories.core.on_off_light_switch":"Switch","accessories.core.on_off_plug_in_unit":"Outlet","accessories.core.outlet":"Outlet","accessories.core.robot_vacuum":"Robot Vacuum","accessories.core.robotic_vacuum_cleaner":"Robot Vacuum","accessories.core.security_system":"Security System","accessories.core.shower_head_valve":"Valve","accessories.core.smoke_sensor":"Smoke Sensor","accessories.core.speaker":"Speaker","accessories.core.stateless_programmable_switch":"Stateless Programmable Switch","accessories.core.switch":"Switch","accessories.core.television":"Television","accessories.core.temperature_sensor":"Temperature Sensor","accessories.core.thermostat":"Thermostat","accessories.core.valve":"Valve","accessories.core.washing_machine":"Washing Machine","accessories.core.window":"Window","accessories.core.window_covering":"Window Covering","accessories.custom_name":"Custom Name","accessories.custom_type":"Custom Type","accessories.hide_this_accessory":"D\xF6lj detta tillbeh\xF6r","accessories.message_must_use_insecure_mode":"F\xF6r att kontrollera dina tillbeh\xF6r m\xE5ste du k\xF6ra Homebridge i os\xE4kert l\xE4ge {{ link }}.","accessories.name":"Namn","accessories.no_plugins.message_1":"Accessories are created and managed by Homebridge plugins.","accessories.no_plugins.message_2":"You can find and install plugins from the plugins page.","accessories.no_plugins.title":"No Plugins Installed","accessories.only_ui":"These settings are only for the Homebridge UI and <strong>will not be reflected in HomeKit</strong>.","accessories.only_ui_2":"These options are unique to your Homebridge UI account.","accessories.plugin":"Plugin","accessories.room_name":"Rumsnamn","accessories.service":"Service","accessories.service_info":"Service Information","accessories.settings_link":"Du kan n\xE5 Homebridge-inst\xE4llningarna n\xE4r som helst fr\xE5n kugghjulet i sidomenyn.","accessories.show_on_dashboard":"Visa som widget p\xE5 skrivbordet","accessories.support.acc_1":"Accessories may take a few minutes to appear on this screen after a Homebridge restart or after being added. If accessories are consistently missing, try changing the mDNS advertiser in the settings.","accessories.support.acc_2":"You can change the type of certain accessories in the UI (like showing a switch as a heater). You can do this by clicking on the three bars that appear in the top-right corner of the accessory tile as you hover over it. A 'Custom Type' option will appear if the accessory supports this. Note this will not change the accessory in HomeKit (only a plugin can do this).","accessories.support.rooms_1":"Rummen du skapar h\xE4r visas inte i HomeKit, de \xE4r endast avsedda f\xF6r organisering av tillbeh\xF6r i Homebridge UI.","accessories.support.rooms_2":"To rename an existing room, create a new room with the desired name and move the accessories to the new room.","accessories.support.rooms_3":"To delete an existing room, move all its accessories to another room and refresh the page.","accessories.title_rooms":"Rooms","backup.backup_delete_failed":"Backup deletion failed. See logs for details.","backup.backup_download_failed":"H\xE4mtning av s\xE4kerhetskopia misslyckades","backup.backup_exceeds_max_size":"Backup ({{ backupSize }}) exceeds maximum restore file size of {{ maxBackupSizeText }}","backup.backup_help_one":"Ladda ner en s\xE4kerhetskopia av hela Homebridge-milj\xF6n. Detta s\xE4kerhetskopierar allt inneh\xE5ll i Homebridge lagringskatalog, som du senare kan \xE5terst\xE4lla p\xE5 alla plattformar som st\xF6djer Homebridge UI.","backup.backup_help_two":"Plugins som inte \xE4r tillg\xE4ngliga i npm, eller plugins som installerats direkt fr\xE5n GitHub kommer inte att s\xE4kerhetskopieras eller \xE5terst\xE4llas.","backup.backup_now":"Backup Now","backup.backup_now_desc":"Generate and download an up-to-date backup file.","backup.backup_now_save_desc":"Generate an up-to-date backup file in your backup storage directory.","backup.backup_restored":"S\xE4kerhetskopia \xE5terst\xE4lld","backup.backup_warning":"S\xE4kerhetskopian inneh\xE5ller k\xE4nslig information och b\xF6r inte delas med andra.","backup.files_auto":"Stored Backup Files","backup.label_extracting":"Extracting Archive","backup.label_uploading":"Laddar upp\u2026","backup.load_error":"Failed to load config backup.","backup.restore_failed":"\xC5terst\xE4llningen misslyckades","backup.restore_help_one":"\xC5terst\xE4ll en s\xE4kerhetskopia som du tidigare gjort med Homebridge UI. Din Homebridge-konfiguration, cachade tillbeh\xF6r, HomeKit-kopplingar och anv\xE4ndarkonton f\xF6r Homebridge UI kommer att \xE5terst\xE4llas. Alla Homebridge-plugins som du installerat kommer ocks\xE5 att laddas ner fr\xE5n npm-registret.","backup.restore_help_two":"Du m\xE5ste logga in p\xE5 Homebridge UI igen efter att ha gjort en \xE5terst\xE4llning med anv\xE4ndaruppgifter fr\xE5n den \xE5terst\xE4llda instansen.","backup.restore_max_size":"You can restore a backup archive up to {{ maxBackupSizeText }} in size.","backup.restore_now":"Restore Now","backup.restore_now_desc":"Restore from a previously downloaded backup file.","backup.restore_warning":"\xC5terst\xE4llning fr\xE5n en s\xE4kerhetskopia kommer att skriva \xF6ver den aktuella Homebridge-konfigurationen och g\xE5r inte att \xE5ngra.","backup.scheduled_backup_disabled":"Scheduled backups have been disabled via the configuration.","backup.scheduled_backup_time":"En fullst\xE4ndig s\xE4kerhetskopia av Homebridge-instansen skapas automatiskt varje dag vid {{ backupTime }} och sparas i {{ dayCount }} dagar.","backup.settings_enable":"Enable Automated Backups","backup.settings_path":"Backup Storage Path","backup.settings_path_desc":"If you are changing this from the default, please ensure the directory exists and is writable by the Homebridge user.","backup.settings_title":"Backup Settings","backup.title_backup":"Backup & Restore","child_bridge.about":"Homebridge ger dig m\xF6jlighet att k\xF6ra en plugins plattform eller tillbeh\xF6r som en isolerad underbrygga {{ link }}. Detta kan f\xF6rb\xE4ttra Homebridge generella responsivitet och tillf\xF6rlitlighet.","child_bridge.bridge_connect":"Anslut till HomeKit","child_bridge.bridge_settings":"Brygginst\xE4llningar","child_bridge.bridges":"Bridges","child_bridge.bridges_paired":"Varje underbryggas plattform eller tillbeh\xF6r m\xE5ste anslutas separat med HomeKit.","child_bridge.bridges_paired_2":"If you set up a child bridge now and later disable it, any accessories on this bridge will be removed and re-created on the main Homebridge bridge.","child_bridge.config.accessory":"Accessory","child_bridge.config.debug":"Debug Mode","child_bridge.config.enable_hap":"Enable HAP","child_bridge.config.firmware":"Firmware version","child_bridge.config.hide_pairing_alert":"Hide Pairing Alert","child_bridge.config.manufacturer":"Tillverkare","child_bridge.config.matter_note_1":"Plugins must be updated by the developer to support Matter accessories. There is no use in enabling Matter here unless you definitely know the plugin supports it.","child_bridge.config.matter_note_2":"Matter accessories don't appear in the Homebridge UI accessories screen. They can be managed using the Home app or other Matter controllers.","child_bridge.config.model":"Modell","child_bridge.config.name":"Namn","child_bridge.config.or_link":"Link Existing Bridge","child_bridge.config.platform":"Platform","child_bridge.config.port":"Port","child_bridge.config.prevent":"Cannot disable a child bridge with linked accessories.","child_bridge.config.select_existing":"Select an existing bridge...","child_bridge.config.use":"Use Child Bridge","child_bridge.confirm_delete_1":"The following child bridges will be removed.","child_bridge.confirm_delete_2":"You will need to remove the paired bridges manually from the Home app. Any accessories will be removed and re-created on the main Homebridge bridge.","child_bridge.must_configure_plugin":"Du m\xE5ste konfigurera detta plugin innan du kan hantera brygginst\xE4llningarna f\xF6r det.","child_bridge.reset_accessories":"Reset Accessories","child_bridge.restart":"Starta om underbrygga","child_bridge.restart_plural":"Starta om underbryggor","child_bridge.return_to_pair":"\xC5terg\xE5 till den h\xE4r sk\xE4rmen efter att Homebridge har startat om f\xF6r att se QR-koden f\xF6r parkoppling.","child_bridge.setup":"St\xE4ll in underbrygga","child_bridge.start":"Starta underbrygga","child_bridge.start_plural":"Starta underbryggor","child_bridge.stop":"Stoppa underbrygga","child_bridge.stop_plural":"Stoppa underbryggor","common.labels.beta":"beta","common.labels.disabled":"Inaktiverad","common.labels.enabled":"Enabled","common.labels.no_confirmation":"There is no confirmation when clicking the button, it will immediately perform the action.","common.phrases.are_you_sure":"Are you sure you want to continue anyway?","common.phrases.support":"Feel like there is something useful we could add here? Let us know on {{ github }} or {{ discord }}!","config.config_accessory_must_be_array":"tillbeh\xF6r m\xE5ste vara en array []","config.config_bridge_missing":"Brygginst\xE4llningar saknas","config.config_invalid_json":"Konfigurationen inneh\xE5ller ogiltig JSON","config.config_platform_must_be_array":"plattformar m\xE5ste vara en array []","config.config_saved":"Configuration Saved","config.config_username_error":"Anv\xE4ndarnamn f\xF6r bryggan m\xE5ste best\xE5 av 6 par av kolonseparerade hexadecimala tecken (A-F 0-9)","config.error_blocks_objects":"All {{ type }} blocks must be objects.","config.error_blocks_type":"All {{ type }} blocks must contain the {{ type }} attribute.","config.error_string_array":"Each item in the {{ key }} array must be a string.","config.error_string_type":"The {{ type }} attribute must be a string.","config.failed_to_save_config":"Det gick inte att spara konfigurationen","config.hide_hap_pairing":"Hide HAP Pairing Alert","config.hide_matter_pairing":"Hide Matter Pairing Alert","config.hide_plugin_updates":"Hide Plugin Updates For","config.no_restart":"A restart is not needed as no changes were made to the Homebridge configuration.","config.restore.confirm":"Klicka p\xE5 Spara f\xF6r att bekr\xE4fta att du vill \xE5terst\xE4lla den h\xE4r s\xE4kerhetskopian.","config.restore.copy_to_editor":"Kopiera till redigerare","config.restore.download":"Download your current configuration as a JSON file.","config.restore.help_1":"A backup of your config file is created each time it is updated from actions you take in the Homebridge UI.","config.restore.help_2":"You can restore a previous version of your config file by selecting it from the list below. You will be able to compare this version with your current config before deciding whether to restore it.","config.restore.title":"Config File Backup & Restore","config.restore.toast_backups_deleted":"Alla s\xE4kerhetskopior raderade","config.restore.view_inline":"Inline View","config.restore.view_side_by_side":"Side-By-Side View","config.title_backup_loaded":"S\xE4kerhetskopia \xE5terst\xE4lld","form.button_allow":"Allow","form.button_back":"Back","form.button_cancel":"Avbryt","form.button_close":"St\xE4ng","form.button_continue":"Continue","form.button_delete":"Radera","form.button_delete_all":"Delete All","form.button_disable":"Inaktivera","form.button_download":"Ladda ner","form.button_edit":"Redigera","form.button_enable":"Aktivera","form.button_lock":"L\xE5s","form.button_more_info":"Mer info","form.button_remove":"Ta bort","form.button_reset":"\xC5terst\xE4ll","form.button_restore":"\xC5terst\xE4ll","form.button_save":"Spara","form.button_show":"Show","form.button_unlock":"L\xE5s upp","form.button_unpair":"Unpair","form.label.changes_kept":"Note that existing selections/changes are preserved when switching between items.","form.label_invalid":"Config validation failed - you can still save your changes.","form.label_invalid_strict":"Config validation failed - please review the form before saving.","form.label_valid":"Config validation passed.","form.optional":"Optional","form.search":"Search...","form.select.auto":"Automatic (Use Browser Settings)","login.invalid_code":"The code entered is incorrect or has expired","login.invalid_credentials":"Ogiltigt anv\xE4ndarnamn och l\xF6senord","login.invalid_credentials_2":"If you lose access, delete the <code>auth.json</code> file in your Homebridge storage directory and restart Homebridge. Then refresh this page to set up a new admin account. Your Homebridge/UI settings will remain unchanged, except for UI user accounts. The only user account will be the admin account that you are setting up now.","login.invalid_password":"Invalid Password","login.label_2fa_code":"Tv\xE5faktorautentiseringskod","logs.download.error":"Failed to download log file.","logs.download_warning":"Homebridge loggfiler kan inneh\xE5lla personlig information, l\xF6senord eller \xE5tkomsttoken. Granska loggfilen och ta bort all k\xE4nslig information innan du delar med andra.","logs.log_file_truncated":"Loggfil rensad.","logs.placeholder_search_logs":"Search logs (min. 3 characters)...","logs.title_download_log_file":"Ladda ner loggfil","logs.title_truncate_log_file":"Rensa loggfil","logs.truncate.error":"Failed to truncate log file.","logs.truncate_log_warning":"Den h\xE4r \xE5tg\xE4rden tar bort dina befintliga Homebridge-loggar permanent. \xC4r du s\xE4ker p\xE5 att du vill forts\xE4tta?","matter_bridge.config.use":"Enable Matter","menu.config_json_editor":"JSON-konfigurationsredigerare","menu.docker.restart_container":"Starta om container","menu.docker.startup_script":"Startskript","menu.docker.terminal":"Terminal","menu.hbrestart.confirm_hb":"Starta om Homebridge","menu.hbrestart.confirm_ui":"Starta om HB Service & UI","menu.hbrestart.title":"Starta om Homebridge","menu.label_accessories":"Tillbeh\xF6r","menu.label_plugins":"Plugins","menu.label_settings":"Inst\xE4llningar","menu.label_status":"Status","menu.linux.label_logs":"Logg","menu.linux.label_restart_server":"Starta om servern","menu.linux.label_shutdown_modal":"Are you sure you want to shut down the operating system? You will need physical access to turn it back on.","menu.linux.label_shutdown_server":"St\xE4ng av servern","menu.linux.label_terminal":"Terminal","menu.reload":"Reload","menu.restart.title":"Str\xF6malternativ","menu.settings.title":"Inst\xE4llningar","menu.tooltip_logout":"Logga ut","menu.tooltip_restart":"Omstart","menu.tooltip_user_accounts":"Anv\xE4ndarkonton","menu.tooltip_view_logs":"Visa loggar","platform.docker.container_restarted":"Dockercontainern har startats om","platform.docker.must_use_hashbang":"Skript m\xE5ste anv\xE4nda #!/bin/sh hashbang.","platform.docker.restart_required":"Du m\xE5ste starta om denna dockercontainer f\xF6r att \xE4ndringarna ska tr\xE4da i kraft.","platform.docker.run_with_restart":"Se till att du k\xF6r dockercontainern med {{ command }}","platform.docker.script_help":"Detta skript kommer att k\xF6ras varje g\xE5ng dockercontainern startar. Du kan anv\xE4nda detta f\xF6r att installera eventuella extrapaket som dina plugins kan beh\xF6va, som t.ex ffmpeg eller libpcap-dev.","platform.docker.script_saved":"Start-skript sparat","platform.docker.server_long_time":"Omstart av servern tar l\xE5ng tid. Du kan beh\xF6va starta dockercontainern manuellt.","platform.docker.title_restarting":"Starta om dockercontainer","platform.linux.long_time":"Omstart av servern tar l\xE5ng tid. Du kan beh\xF6va starta servern manuellt.","platform.linux.restart":"V\xE4nta, denna sida omdirigeras automatiskt n\xE4r Homebridge \xE4r online igen.","platform.linux.restarting_server":"Starta om servern","platform.linux.server_restart_error":"Ett fel intr\xE4ffade n\xE4r omstartskommandot skickades till servern","platform.linux.server_restarted":"Serveren har startats om","platform.linux.server_taking_long_time":"Servern tar l\xE5ng tid att komma tillbaka online","platform.linux.server_will_power_down":"Servern st\xE4ngs av inom kort.","platform.linux.shutting_down_server":"St\xE4nga av servern","platform.terminal.terminate_message_1":"Navigating away from this page will terminate your current session, all foreground processes will be terminated.","platform.terminal.terminate_message_2":"To avoid this warning, enable <strong>Terminal Session Persistence</strong> from the settings page.","platform.terminal.terminate_title":"Session Termination","platform.terminal.terminate_unload":"Your terminal session will be terminated. Enable Terminal Session Persistence in Settings to prevent this.","platform.version.restart_required":"Homebridge UI v{{ uiVersion }} har installerats, men servertj\xE4nsten k\xF6r fortfarande v{{ serverVersion }}.","platform.version.service_restart_required":"Omstart kr\xE4vs","plugins.bridge.action_error":"Failed to {{ action }} child bridge(s).","plugins.bridge.name_error":"Bridge name must start and end with a letter or number, and can only contain letters, numbers, spaces, and apostrophes.","plugins.bridge.port_error":"{{ type }} port must be an integer between 1025 and 65533, excluding 5353, 8080, 8443 and any other already-configured port.","plugins.button_homepage":"Plugin Homepage","plugins.button_set_up":"St\xE4ll in","plugins.button_settings":"Inst\xE4llningar","plugins.button_uninstall":"Avinstallera","plugins.button_update":"Uppdatera","plugins.compat.hb_node_too_low":"{{ packageName }} v{{ latestVersion }} kr\xE4ver Node.js v{{ minVersion }} eller senare. Du k\xF6r just nu Node.js {{ installedVersion }}.","plugins.compat.hb_too_low":"Plugin {{ pluginName }} rekommenderas att k\xF6ras med Homebridge v{{ minVersion }} eller senare. Du k\xF6r just nu Homebridge v{{ installedVersion }}.","plugins.compat.node_first":"Uppgradera Node.js innan du uppdaterar {{ packageName }}.","plugins.compat.node_link":"How To Update Node.js","plugins.compat.node_too_low":"Plugin {{ pluginName }} rekommenderas att k\xF6ras med Node.js v{{ minVersion }} eller senare. Du k\xF6r just nu Node.js {{ installedVersion }}.","plugins.compat.title":"Compatibility Check","plugins.config.load_error":"Failed to load plugin config.","plugins.config.must_be_array":"Plugin config must be an array.","plugins.config.must_be_array_objects":"Plugin config must be an array of objects.","plugins.config.must_be_object":"Config block must be an object.","plugins.config.name_property":'Accessory must have a valid "name" attribute',"plugins.config.please_fix":"Please fix validation errors before adding a new block.","plugins.disable.error":"Failed to disable plugin.","plugins.donate.message_1":"N\xE4r fler anv\xE4ndare installerar sina plugins via Homebridge UI, \xE4r det mindre troligt att de bes\xF6ker projektets GitHub-sida d\xE4r s\xE4tten att st\xF6dja en utvecklare vanligtvis visas.","plugins.donate.message_2":"Att l\xE4gga till donationsl\xE4nkar direkt i Homebridge UI s\xE4kerst\xE4ller att anv\xE4ndare vet hur de ska st\xF6dja Homebridge-utvecklare om de \xF6nskar det.","plugins.donate.tile_donate_to":"Donera till {{ author }}","plugins.enable.error":"Failed to enable plugin.","plugins.manage.all_versions":"All versions","plugins.manage.backup":"Download a backup before updating?","plugins.manage.changelog":"Full Changelog","plugins.manage.changelog_none":"Could not retrieve changelog, perhaps this plugin does not provide a <code>CHANGELOG.md</code> file.","plugins.manage.child_bridge_restart":"Child bridge restarted successfully.","plugins.manage.child_bridge_restart_failed":"Omstart av plugin misslyckades. Starta om Homebridge manuellt.","plugins.manage.confirm_disable":"Are you sure you want to disable {{ pluginName }}?","plugins.manage.confirm_disable_accessory_1":"Any accessories exposed by this plugin will be removed from the Homebridge UI accessory screen and removed from HomeKit.","plugins.manage.confirm_disable_accessory_2":"When you re-enable the plugin, the accessories will reappear in the Homebridge UI and HomeKit. The accessories will lose their HomeKit data (like related scenes and automations).","plugins.manage.confirm_disable_platform_1":"Any accessories exposed by this plugin will be removed from the Homebridge UI accessory screen but remain in HomeKit with a 'No Response' label.","plugins.manage.confirm_disable_platform_2":"When you re-enable the plugin, the accessories will reappear in the Homebridge UI and become controllable again in HomeKit. The accessories will not lose their HomeKit data (like related scenes and automations).","plugins.manage.confirm_disable_setting":"Your setting for {{ setting }} is currently {{ value }}, therefore:","plugins.manage.confirm_enable":"\xC4r du s\xE4ker p\xE5 att du vill aktivera {{ pluginName }}?","plugins.manage.disable":"Inaktivera","plugins.manage.enable":"Aktivera","plugins.manage.github_support":"You can show your support by giving this plugin a {{ iconStar }} (or the release a {{ iconThumbsUp }}) on GitHub!","plugins.manage.hb_restart":"Homebridge and the UI will automatically restart after any version change.","plugins.manage.hide_updates":"Disable Update Notifications","plugins.manage.hide_updates_desc":"If you don't want to see update notifications for this plugin, you can turn them off here.","plugins.manage.information":"Plugin-information","plugins.manage.install":"Installera","plugins.manage.installed":"Installerad","plugins.manage.json_config":"JSON-konfiguration","plugins.manage.manage_version":"Installera tidigare version","plugins.manage.manual_update_command":"To upgrade the package, open a Node.js command prompt as an Administrator and run the following commands:","plugins.manage.more_info":"More information about scoped {{ scopedLink }} and verified {{ verifiedLink }} plugins.","plugins.manage.notes":"Release Notes","plugins.manage.notes_beta_1":"Thank you for helping improve {{ pluginName }} by testing a pre-release version.","plugins.manage.notes_beta_2":"You can use the Homebridge UI to revert back to the stable version at any time.","plugins.manage.notes_beta_3":"Please remember this is a pre-release version, and report any issues to the plugin's GitHub repository page.","plugins.manage.notes_latest":"Release notes are only shown when updating to the latest version.","plugins.manage.notes_none":"Could not retrieve release notes, perhaps this version does not have a GitHub release.","plugins.manage.online_updates":"Onlineuppdateringar st\xF6ds inte i Windows. Du m\xE5ste uppgradera Homebridge UI manuellt efter att ha stoppat Homebridge-tj\xE4nsten.","plugins.manage.plugin_logs":"Plugin-logg","plugins.manage.scoped.error":"An error occurred. You can download the logs below.","plugins.manage.scoped.info_1":"Homebridge scoped plugins have names beginning with {{ prefix }}.","plugins.manage.scoped.info_2":"For more information about scoped plugins and why to switch, see the wiki page {{ link }}.","plugins.manage.scoped.process":"This process will not affect your Homebridge/HomeKit accessories. You will not be able to cancel the process once it has started. It will:","plugins.manage.scoped.switch":"Switch To Scoped Plugin","plugins.manage.scoped.windows":'Online updates are not supported on Windows. You will need to install the new plugin and uninstall the old plugin manually. You should <span class="fw-bold">not</span> restart Homebridge until both steps are complete.',"plugins.manage.scoped_message":"Scoped plugins improve long-term reliability and ensure consistent maintenance by combining centralized oversight from the Homebridge team with continued involvement from the original maintainer.","plugins.manage.scoped_subtitle":"This plugin is scoped and verified.","plugins.manage.select_version":"V\xE4lj den version som ska installeras","plugins.manage.uninstall":"Avinstallera","plugins.manage.uninstalled":"Avinstallerad","plugins.manage.unverified_message":"Overifierade Homebridge-plugins betyder att de inte har granskats av Homebridge projektteam. Avsaknad av verifiering betyder inte n\xF6dv\xE4ndigtvis att de \xE4r ineffektiva eller har s\xE4kerhetsproblem. Utvecklarna kan ha valt att avst\xE5 verifieringen av olika anledningar.","plugins.manage.unverified_subtitle":"This plugin \xE4r inte verifierad.","plugins.manage.update":"Uppdatera","plugins.manage.updated":"Uppdaterad","plugins.manage.verified_message":"Homebridge-plugins markerade som verifierade har granskats av Homebridge projektteam f\xF6r att s\xE4kerst\xE4lla att de uppfyller krav som uppmuntrar till god praxis och en problemfri anv\xE4ndarupplevelse.","plugins.manage.verified_subtitle":"This plugin \xE4r verifierad.","plugins.placeholder_search_first":"Anv\xE4nd s\xF6kf\xE4ltet ovan f\xF6r att hitta din f\xF6rsta plugin","plugins.placeholder_search_none":"No results were found","plugins.placeholder_search_plugin":"S\xF6k efter plugins att installera\u2026","plugins.settings.custom.download_dump_file":"Download Dump File","plugins.settings.custom.homebridge-gsh.label_account_linked":"Konto l\xE4nkat","plugins.settings.custom.homebridge-gsh.label_link_account":"L\xE4nka konto","plugins.settings.custom.homebridge-gsh.message_about":"Med pluginet Homebridge Google Smart Home kan du kontrollera dina Homebridge-tillbeh\xF6r fr\xE5n en Google Home-aktiverad smarth\xF6gtalare eller Google Home-mobilappen.","plugins.settings.custom.homebridge-gsh.message_account_link_required":"F\xF6r att aktivera den h\xE4r funktionen m\xE5ste du logga in med ditt Google- eller GitHub-konto; se till att du anv\xE4nder samma konto n\xE4r du l\xE4gger till Homebridge-\xE5tg\xE4rden i mobilappen Google Home.","plugins.settings.custom.homebridge-gsh.message_homebridge_restart_required":"Homebridge kr\xE4ver omstart f\xF6r att \xE4ndringarna ska tr\xE4da i kraft.","plugins.settings.deconz.dump_no_exist":"Homebridge deCONZ dump file does not exist yet.","plugins.settings.hue.dump_no_exist":"Homebridge Hue dump file does not exist yet.","plugins.settings.label_open_config_editor":"\xD6ppna konfigurationsredigerare","plugins.settings.message_consult_documentation":"Se plugin-dokumentationen f\xF6r instruktioner om hur du korrekt konfigurerar detta plugin.","plugins.settings.message_manual_config_required":"Detta plugin m\xE5ste konfigureras manuellt med Homebridge UI konfigurationsredigerare.","plugins.settings.plugin_config_saved":"Plugin-konfiguration sparad","plugins.settings.restart_required":"Starta om Homebridge f\xF6r att till\xE4mpa \xE4ndringarna.","plugins.stats":"Plugin Statistics","plugins.stats_note":"Plugins cannot be installed from this page, this is provided just for interest.","plugins.status_installed":"Installerad","plugins.support.list_1":"Homebridge plugins are the building blocks of Homebridge, allowing you to add support for new accessories and platforms. Plugins add support for smart lights, cameras, TVs, etc, for brands that don't natively support HomeKit. For example, to bring your Ring doorbells and cameras into HomeKit, you can install the <code>homebridge-ring</code> plugin.","plugins.support.list_2":"Homebridge plugins are created by public contributors in the Homebridge community, and are not typically associated with the Homebridge maintainers, nor with the manufacturers of the accessories themselves. If you have a question about a specific plugin, you should let the plugin developer know via the plugin's GitHub page.","plugins.support.list_3":"There are currently over 4,700 plugins available for Homebridge, so you should be able to find plugins to suit your needs. If you are a Javascript/TypeScript developer (or want to take the opportunity to learn), you can also create your own plugin and share it with the Homebridge community. Check out the Support section for some handy links to get you started.","plugins.support.list_4":"Some plugins allow you to create 'virtual/dummy' accessories, which are accessories that do not have a physical counterpart. These can be used to create virtual accessories in HomeKit, such as virtual switches, lights, or sensors. Try searching for <code>dummy</code> or <code>virtual</code> in the search bar to find some examples.","plugins.toast_failed_to_load_plugin_schema":"Failed to load plugin config schema.","plugins.toast_failed_to_load_plugins":"Det gick inte att l\xE4sa in plugins","plugins.toast_failed_to_search_plugins":"Failed to search plugins","plugins.uninstall_remove_child_bridge":"Remove plugin child bridge?","plugins.uninstall_remove_child_bridges":"Remove {{ count }} plugin child bridges?","plugins.uninstall_remove_config_required":"Om du tar bort detta plugin permanent, se till att du tar bort alla konfigurationer f\xF6r detta plugin i config.json innan du startar om Homebridge.","plugins.uninstall_remove_confirmation":"\xC4r du s\xE4ker p\xE5 att du vill avinstallera {{ pluginName }}?","plugins.uninstall_remove_plugin_config":"Ta bort plugin-konfigurationen?","plugins.uninstall_warn_1":"When removing a child bridge, any accessories published by this bridge will be removed from the Homebridge cache.","plugins.uninstall_warn_2":"The accessories will become stale in HomeKit (showing no response). To remove them, you will need to manually remove this bridge from HomeKit. You can do this in the Home app from the Home Settings section.","reset.accessory_all.desc":"Remove all accessories from the cache.","reset.accessory_all.list_1":"When clicking on the remove button below, Homebridge will restart and all your existing accessories will be removed from Homebridge and HomeKit.","reset.accessory_all.list_2":"All associated HomeKit data will also be removed, this includes room associations, scenes and automations that this accessory uses.","reset.accessory_all.list_3":"After Homebridge restarts, your plugins will re-add any accessories as if the plugin was being installed for the first time.","reset.accessory_all.title":"Remove All Accessories","reset.accessory_ind.bridge":"Bridge","reset.accessory_ind.desc":"Remove individual accessories from the cache.","reset.accessory_ind.done":"Finished removing accessories from the cache, check the log for confirmation and/or errors.","reset.accessory_ind.fail":"Failed to remove accessories from cache, check the log for errors.","reset.accessory_ind.list_1":"Some plugins don't clean up after themselves properly. If you have stale accessories, you can remove them from the cache. This function can also be used to reset an existing accessory in HomeKit.","reset.accessory_ind.list_2":"The accessories will be removed from Homebridge and HomeKit, along with their related room associations, scenes and automations.","reset.accessory_ind.list_3":"After Homebridge restarts, your plugins will re-add any removed accessories as if the plugin was being installed for the first time.","reset.accessory_ind.title":"Remove Individual Accessories","reset.accessory_ind.unknown":"Unknown Name","reset.accessory_reset":"Homebridge-tillbeh\xF6r \xE5terst\xE4llt","reset.action_is_irreversible":"Denna \xE5tg\xE4rd g\xE5r inte att \xE5ngra. L\xE4s noga innan du forts\xE4tter.","reset.bridge_accessories.desc":"Remove all accessories published by a child bridge from the cache.","reset.bridge_accessories.empty":"You have no bridges from which to remove accessories.","reset.bridge_accessories.list_1":"This function can be used to reset a plugin's existing accessories in HomeKit. They will be removed from Homebridge and HomeKit, and then re-added by the plugin as new accessories.","reset.bridge_accessories.list_2":"The child bridge's pairing details and status will remain the same.","reset.bridge_accessories.title":"Remove Bridge Accessories","reset.bridge_all.desc":"Reset all bridges by removing them from the cache. This includes the main Homebridge bridge, child bridges and bridges for external accessories.","reset.bridge_all.list_1":"This will reset the Homebridge bridge, all child bridges and bridges for external accessories from HomeKit.","reset.bridge_all.list_2":"Note that your accessories will continue to show in HomeKit as no response, until the bridges are manually removed from HomeKit. You can do this in the Home app, by accessing Home Settings \u2192 Home Hubs & Bridges \u2192 {Bridge} \u2192 Remove Bridge from Home.","reset.bridge_all.list_3":"All your Homebridge to HomeKit accessories, scenes and automations will need to be reconfigured after the unpairing.","reset.bridge_all.list_4":"The pin for pairing your Homebridge bridge to HomeKit will be changed. You can see the new values in your Homebridge config after the unpairing.","reset.bridge_all.title":"Reset All Bridges","reset.bridge_ind.desc":"Reset an individual bridge by removing it from the cache. This may be a child bridge or a bridge for an external accessory like a camera or TV.","reset.bridge_ind.desc_child_active":"Homebridge has detected that these child bridges are in-use. Once removed, their accessories will be removed from the Homebridge cache. If paired with HomeKit, the bridge's accessories will show as 'No Response', and the bridge will need to be removed via the Home app. The child bridge's pairing information will be changed. Once Homebridge has restarted, the plugin will create the new child bridge and accessories. The new bridge will need to be re-paired with HomeKit. You can view the new pairing information from the corresponding plugin's bridge settings page.","reset.bridge_ind.desc_child_stale":"Homebridge has detected that these bridges are not in-use, but double-check before deleting. They could be left-over from previously uninstalled plugins. If paired with HomeKit, the accessories will show as 'No Response', and the bridge will need to be removed via the Home app.","reset.bridge_ind.desc_non_child":"Homebridge has detected that these bridges are in-use. You can remove them from the cache, but they will likely be re-added by the plugin when Homebridge restarts. The pairing information will remain unchanged.","reset.bridge_ind.done":"Finished resetting bridges, check the log for confirmation and/or errors.","reset.bridge_ind.fail":"Failed to reset bridges, check the log for errors.","reset.bridge_ind.head_child_active":"Active Child Bridges","reset.bridge_ind.head_child_stale":"Stale Child Bridges","reset.bridge_ind.head_non_child":"Non Child Bridges","reset.bridge_ind.title":"Reset Individual Bridges","reset.bridges.desc":"If you are having trouble pairing Homebridge, an external accessory or a child bridge to HomeKit, you may need to unpair it from HomeKit to start again.","reset.bridges.empty":"You have no bridges to unpair from HomeKit.","reset.bridges.title":"Bridges","reset.clear_cache_single.list_3":"When removing an accessory from the cache, all its associated HomeKit data will be removed. This includes any associated scenes and automations that use this accessory.","reset.delete_success":"Startar om Homebridge och rensar tillbeh\xF6rscache.","reset.error_message":"Tillbeh\xF6rscache kunde inte l\xE4sas in. Du har eventuellt inga cachade tillbeh\xF6r.","reset.failed_to_reset":"Det gick inte att \xE5terst\xE4lla Homebridge. Se loggar.","reset.force_restart_hb_help_text":"Anv\xE4nd den h\xE4r \xE5tg\xE4rden f\xF6r att tvinga hb-service tj\xE4nsten att g\xF6ra en fullst\xE4ndig omstart.","reset.no_accessories":"Du har inga cachade tillbeh\xF6r att ta bort.","restart.child_bridge_list":"Please restart these child bridges for the changes to apply:","restart.child_bridges":"Starta om underbryggorna f\xF6r denna plugin f\xF6r att \xE4ndringarna ska tr\xE4da i kraft.","restart.label_restart_command_executed":"Starta om kommandot k\xF6rs","restart.please_wait_while_server_restarts":"V\xE4nta, denna sida omdirigeras automatiskt n\xE4r servern \xE4r online igen.","restart.server_is_taking_long_time_to_restart":"Omstart av servern tar l\xE5ng tid. Du kan beh\xF6va starta Homebridge-tj\xE4nsten manuellt.","restart.service_ready":"Homebridge redo","restart.title_restart":"Starta om Homebridge","restart.toast_server_restart_error":"Ett fel intr\xE4ffade n\xE4r omstartskommandot skickades till servern","restart.toast_server_restart_timeout":"Servern tar l\xE5ng tid att komma tillbaka online","restart.toast_server_restarted":"Servern har startats om","restart.ui_online":"HB Service & UI redo","rpi.throttled.currently_message":"Denna Raspberry Pi rapporterar att det f\xF6r n\xE4rvarande \xE4r undersp\xE4nning; kontrollera att den \xE4r ansluten till en l\xE4mplig str\xF6mk\xE4lla. Undersp\xE4nning kan resultera i systeminstabilitet och skada p\xE5 SD-kortet.","rpi.throttled.previously_message":"Denna Raspberry Pi har rapporterat en undersp\xE4nningsh\xE4ndelse sedan den startades om senast; kontrollera att den \xE4r ansluten till en l\xE4mplig str\xF6mk\xE4lla.","rpi.throttled.undervoltage_title":"Undersp\xE4nning","settings.accessory.debug":"Accessory Debug Mode","settings.accessory.debug_desc":"If enabled, the Homebridge UI will log debug level messages to the console.","settings.cache.desc":"Homebridge maintains accessories in cache so they aren't removed and re-added to HomeKit each time Homebridge restarts. Sometimes this cache can become out of sync with the actual accessories in Homebridge.","settings.changes.saved":"Your changes have been saved and require a restart to take effect.","settings.datetime.incorrect":"The date and time on your Homebridge server seem to be incorrect. This may cause unexpected issues. Click here for more information.","settings.display.blue":"Blue","settings.display.bluegrey":"Blue Grey","settings.display.brown":"Brown","settings.display.cyan":"Cyan","settings.display.dark":"Dark","settings.display.deep_purple":"Deep Purple","settings.display.green":"Green","settings.display.grey":"Grey","settings.display.indigo":"Indigo","settings.display.lang":"Spr\xE5k","settings.display.light":"Light","settings.display.lighting_mode":"Lighting Mode","settings.display.menu_default":"Default","settings.display.menu_freeze":"Keep Closed (On Desktop)","settings.display.menu_mode":"Menu Mode","settings.display.orange":"Orange","settings.display.pink":"Pink","settings.display.purple":"Purple","settings.display.red":"Red","settings.display.show_betas":"Prefer Beta Versions","settings.display.teal":"Teal","settings.display.temp_units":"Temperature Units","settings.display.temp_units.c":"Celsius (\xB0C)","settings.display.temp_units.f":"Fahrenheit (\xB0F)","settings.display.theme":"Tema","settings.display.wallpaper":"Wallpaper","settings.display.wallpaper_intro":"Upload a wallpaper for your Homebridge UI. This is currently shown on the login screen.","settings.display.wallpaper_rule":"You can choose an image file which is up to {{ maxFileSizeText }}.","settings.display.wallpaper_rule2":"You will need to click Save to upload the wallpaper to your Homebridge storage directory.","settings.display.wallpaper_success":"Wallpaper was successfully updated.","settings.general.title_display":"Display","settings.general.title_general":"Allm\xE4nt","settings.linux.restart":"Restart Command","settings.linux.restart_desc":"If no restart command is set the process will terminate with a non-zero exit code.","settings.linux.shutdown":"Shutdown Command","settings.linux.shutdown_desc":"If no shutdown command is set the process will terminate with a non-zero exit code.","settings.linux.temp":"Temperature File Path","settings.linux.temp_desc":"If you are running Homebridge on a Raspberry Pi, you can enter the path to the OS temperature file here. This will display the current temperature on the UI status page.","settings.matter.desc":"Enables Matter accessories on the main bridge. If only using Matter with child bridges, this setting does not need to be enabled - child bridges have independent Matter settings in their plugin bridge settings.","settings.matter.enabled_desc":"Whether to start a Matter instance and allow plugins to expose Matter accessories.","settings.matter.port":"Port","settings.matter.port_desc":"This must be between 1025 and 65533, and unique to any other configured port.","settings.matter.title":"Matter Settings","settings.mdns_advertiser":"mDNS-annons\xF6r","settings.mdns_advertiser_exp":"experimental","settings.mdns_advertiser_help":"Om du har problem med att ansluta till Homebridge, prova att anv\xE4nda n\xE5gon av de alternativa mDNS-annons\xF6rerna.","settings.mdns_advertiser_not_connected":"Ej ansluten","settings.mdns_advertiser_rec":"recommended","settings.name":"Homebridge Name","settings.network.hb_package":"Homebridge Module Path","settings.network.hb_package_desc":"If you have multiple versions of Homebridge installed, you can specify the path to the version you want to use here.","settings.network.host":"Host IP Address","settings.network.host_desc":"The host IP address to listen on. In most cases this will be <code>::</code> or <code>0.0.0.0</code>.","settings.network.mdns_advertise":"Advertise Via mDNS","settings.network.mdns_advertise_help":"Enable mDNS advertising (using Bonjour) for your Homebridge UI, making it discoverable as an HTTP service on your local network.","settings.network.message_network_interface":"Om inga n\xE4tverksgr\xE4nssnitt v\xE4ljs kommer Homebridge att f\xF6rs\xF6ka avg\xF6ra vilka gr\xE4nssnitt som ska annonseras automatiskt.","settings.network.port_end":"End Port","settings.network.port_end_desc":"Control the end of the range of ports that separate accessories (like camera or television) should run on. This must be between 1025 and 65533, and higher than the start port above.","settings.network.port_hb":"Homebridge Port","settings.network.port_hb_desc":"The port number to run the Homebridge bridge on. This must be between 1025 and 65533, and should not be the same as the Homebridge UI port.","settings.network.port_start":"Start Port","settings.network.port_start_desc":"Control the start of the range of ports that separate accessories (like camera or television) should run on. This must be between 1025 and 65533, and lower than the end port below.","settings.network.port_ui":"UI Port","settings.network.port_ui_desc":"The port number to run the Homebridge UI on.","settings.network.proxy":"Reverse Proxy Hostname","settings.network.proxy_desc":"When running behind a reverse proxy you may need to enter the hostname you use to access the UI.","settings.network.title_network":"N\xE4tverk","settings.network.title_network_interfaces":"N\xE4tverksgr\xE4nssnitt","settings.network.title_security":"Security","settings.network.title_terminal":"Logging & Terminal","settings.network.webroot":"Webroot Path","settings.network.webroot_desc":"This can be configured if you want to access the Homebridge UI under a specific URL path.","settings.reset_bridge.error":"Failed to reset bridge.","settings.security.auth":"Authentication","settings.security.auth_desc":"Whether to enable authentication for the Homebridge UI with a username and password.","settings.security.cert":"Certificate Path","settings.security.https":"Enable HTTPS","settings.security.https_configure":"Configure HTTPS Settings","settings.security.https_desc":"Enable HTTPS using an auto-generated self-signed certificate or by providing your own certificate files.","settings.security.https_enable":"Enable HTTPS","settings.security.https_enable_desc":"Secure your Homebridge web interface with HTTPS / SSL encryption.","settings.security.https_raspbian":"HTTPS is already enabled by default when running the Homebridge Raspbian image {{ link }}.","settings.security.key":"Private Key Path","settings.security.pass":"PKCS#12 Certificate Passphrase","settings.security.pass_optional":"Optional - only required if your certificate is password protected","settings.security.pfx":"PKCS#12 Certificate Path","settings.security.selfsigned_hostnames":"Certificate Hostnames","settings.security.selfsigned_hostnames_desc":"Comma-separated list of hostnames or IP addresses to include in the certificate (e.g., localhost, 127.0.0.1, homebridge.local, 192.168.1.100)","settings.security.ssl_mode_keycert":"Upload Certificate Files","settings.security.ssl_mode_keycert_desc":"Upload your own private key and certificate files","settings.security.ssl_mode_off":"Disable HTTPS","settings.security.ssl_mode_off_desc":"Turn off SSL encryption.","settings.security.ssl_mode_pfx":"Upload PFX Certificate","settings.security.ssl_mode_pfx_desc":"Upload a PKCS#12 (.pfx or .p12) certificate file","settings.security.ssl_mode_selfsigned":"Self-Signed Certificate","settings.security.ssl_mode_selfsigned_desc":"Automatically generate a free self-signed certificate","settings.security.ssl_upload_success_pfx":"PKCS#12 certificate uploaded","settings.security.ui_control":"Accessory Control Lists","settings.security.ui_control_desc":"Define which bridges and bridged accessories can be controlled or blocked by the Homebridge UI.","settings.security.ui_control_desc_2":"Allow the UI to control the accessories on a bridge by toggling on the switch below.","settings.service.debug_tooltip":"Vissa plugins kr\xE4ver att du s\xE4tter milj\xF6variabeln DEBUG {{ link }} f\xF6r att aktivera debug-loggning.","settings.service.node_tooltip":"Node.js runtime-alternativ f\xF6r den h\xE4r processen. Denna b\xF6r vara tom om du inte vet vad du g\xF6r.","settings.startup.debug":"Homebridge Debug-l\xE4ge","settings.startup.debug_desc_v1":"Enable this if you need Homebridge to output more detailed logs. This setting applies to the main Homebridge bridge as well as all child bridges. Some plugins may also adhere to this setting and output more detailed logs.","settings.startup.debug_desc_v2":"Enable this if you need Homebridge to output more detailed logs. This setting applies to the main Homebridge bridge. The setting for child bridges can be found in the child bridge configuration from the plugins page. Some plugins may also adhere to this setting and output more detailed logs.","settings.startup.insecure":"Enable UI Accessory Control","settings.startup.insecure_desc":"To control your accessories via the Homebridge UI you must be running Homebridge in insecure mode.","settings.startup.keep_accessories":"Beh\xE5ll tillbeh\xF6r till avinstallerade plugins","settings.startup.keep_accessories_desc":"If enabled, accessories of platform plugins will remain in the cache even after the plugin is uninstalled. This can be useful if you plan to reinstall the plugin later.","settings.startup.metrics":"Enable Server Metric Monitoring","settings.startup.metrics_desc":"When enabled, the Homebridge UI will collect and show CPU and memory stats on the status page.","settings.startup.scheduled_restart":"Scheduled Restart Cron","settings.startup.scheduled_restart_desc":"Schedule automatic restarts relative to your timezone using a cron expression. Leave empty to disable. Create a cron expression {{ link }}.","settings.startup.scheduled_restart_desc_2":"You can apply this setting per child bridge from the plugin bridge configuration.","settings.startup.session":"Session Timeout","settings.startup.session_days":"days","settings.startup.session_desc":"The number of seconds before a user will be logged out of the UI. Defaults to 8 hours.","settings.startup.session_hours":"hours","settings.startup.session_inactivity_based":"Inactivity-Based Session Refresh","settings.startup.session_inactivity_based_desc":"When enabled, the session will automatically refresh on navigation to prevent logout during active use.","settings.startup.session_minutes":"minutes","settings.terminal.buffer_size":"Terminal Buffer Character Size","settings.terminal.buffer_size_help":"Amount of terminal output to preserve for persistent sessions. Larger values use more memory.","settings.terminal.log_max":"Log Max Size","settings.terminal.log_max_desc":"The max log size (bytes). Set to -1 to disable log truncation.","settings.terminal.log_truncate":"Log Truncate Size","settings.terminal.log_truncate_desc":"The size (bytes) to truncate the log to once it goes over the max size specified above.","settings.terminal.persistence":"Terminal Session Persistence","settings.terminal.persistence_confirm_message":"Disabling terminal session persistence will terminate your current terminal session.","settings.terminal.persistence_confirm_title":"Disable Terminal Session Persistence","settings.terminal.persistence_help":"When enabled, terminal sessions will persist when navigating away and can be resumed when returning to the terminal page (or status page widget). Terminal sessions are shared across Homebridge UI admin users.","settings.terminal.warning":"Hide Terminal Termination Warning","settings.terminal.warning_help":"When enabled, the warning dialog will not be shown before terminating non-persistent terminal sessions.","settings.title_startup_options":"Startalternativ","settings.unpair_bridge.load_error":"Paired bridges could not be loaded.","settings.warning_pwa":"This setting cannot be changed when accessing the UI from a PWA, please use a regular browser.","settings.warning_webroot":"Homebridge does not have write access to the served <code>index.html</code> file. To set up a webroot, please fix this issue and restart the Homebridge service.","setup.button_get_started":"Kom ig\xE5ng","setup.create_account":"Skapa konto","setup.intro":"If you are setting up for the first time, or if you just need to reset the password for your existing Homebridge setup, then choose <strong>Get Started</strong>.","setup.welcome_to_homebridge":"V\xE4lkommen till Homebridge",setup_wizard_complete:"Restore Complete!",setup_wizard_complete_title:"Grattis!",setup_wizard_completed:"Installationsprocessen \xE4r klar och du kan nu b\xF6rja anv\xE4nda Homebridge.",setup_wizard_create_info:"Once Homebridge is set up, you can set up 2FA on your account, or disable the need for authentication altogether.",setup_wizard_page_title:"Setup Homebridge",setup_wizard_restore:"Restore From Backup",setup_wizard_restoring:"Restoring Backup...",setup_wizard_starting:"Starting Homebridge...","status.code_scan":"Skanna f\xF6r att l\xE4gga till i HomeKit","status.cpu.load":"Anv\xE4nds","status.cpu.temp":"Temp","status.cpu.title_cpu":"CPU","status.credits.plugins_thanks":"Homebridge plugins are created by awesome developers in the Homebridge community.","status.credits.supporters":"Supporters","status.credits.title":"Credits","status.credits.translations":"Translations","status.credits.translations_thanks":"Homebridge UI translations are provided by the community, with special thanks to:","status.homebridge.checking":"S\xF6ker efter uppdateringar\u2026","status.homebridge.up_to_date":"Aktuell","status.memory.label_available":"Ledigt","status.memory.label_total":"Totalt","status.memory.title_memory":"Minne","status.network.received_per_second":"Mottaget","status.network.sent_per_second":"Skickat","status.network.title_network":"N\xE4tverksaktivitet","status.readiness.node_no":"Your version of Node.js is not compatible with {{ app }}.","status.readiness.node_yes":"Your version of Node.js is compatible with {{ app }}.","status.readiness.title":"{{ app }} Readiness","status.services.label_not_enabled":"Not Enabled","status.services.label_not_running":"Stoppad","status.services.label_running":"K\xF6r","status.services.updates":"Update Information","status.uptime.title_uptime":"Upptid","status.widget.accessories.choose_accessories":"V\xE4lj tillbeh\xF6r som ska visas i den h\xE4r widgeten fr\xE5n fliken Tillbeh\xF6r.","status.widget.account_1":"The widget layout is shared among all Homebridge UI users.","status.widget.account_2":"Admin users can modify the layout, while non-admin users cannot make changes.","status.widget.add.label_pairing_code":"Parningskod","status.widget.add.matter_pairing_code":"Matter Pairing Code","status.widget.bridge.restart_error":"Failed to restart child bridge.","status.widget.clock":"Klocka","status.widget.clock_dateformat":"Datumformat","status.widget.clock_timeformat":"Tidsformat","status.widget.expand_docker":"Expand Docker Container Information","status.widget.font_size":"Textstorlek","status.widget.font_weight":"Teckensnitt vikt","status.widget.hide_node_info":"Hide Node.js Updates","status.widget.hide_npm":"Show npm Version","status.widget.hide_on_mobile":"D\xF6lj i kompakt vy (mobilsk\xE4rmar)","status.widget.homebridge_logs":"Homebridge-logg","status.widget.info":"Systeminformation","status.widget.info.arch":"Arch.","status.widget.info.config_path":"Konfig s\xF6kv\xE4g","status.widget.info.docker":"Docker","status.widget.info.docker_update_message":"Updating the Docker container requires manually pulling the latest image and restarting the container. Homebridge does not perform this automatically. Refer to your Docker image's documentation for update instructions.","status.widget.info.docker_update_title":"Docker Container Update","status.widget.info.hostname":"V\xE4rdnamn","status.widget.info.ipv4":"IPv4","status.widget.info.ipv6":"IPv6","status.widget.info.no":"Nej","status.widget.info.node_major":"Node.js Major Versions","status.widget.info.node_next_no":"Your current architecture ({{ architecture }}) is 32-bit, which is not supported. You will need to migrate to a 64-bit system. Please use Node.js v22 instead, which we will be supporting until April 2027.","status.widget.info.node_next_yes":"Your current architecture ({{ architecture }}) supports Node.js v24, so you can upgrade when you are ready.","status.widget.info.node_unsupp":"Unsupported","status.widget.info.node_unsupp_message":"Du k\xF6r en version av Node.js som inte officiellt st\xF6ds av Homebridge. Du b\xF6r \xF6verv\xE4ga att byta till en version som st\xF6ds.","status.widget.info.node_update_message":"Homebridge kr\xE4ver att Node.js \xE4r installerat p\xE5 ditt system f\xF6r att kunna k\xF6ras. D\xE5 och d\xE5 m\xE5ste du uppdatera Node.js runtime f\xF6r att m\xF6jligg\xF6ra st\xF6d f\xF6r nya funktioner. Homebridge (och verifierade plugins) st\xF6djer alla aktuella Active and Maintenance LTS-versioner av Node.js.","status.widget.info.node_update_message_2":"For Docker/Synology users, the Node.js version is managed by the Docker image or Synology package. You can hide Node.js update information using the widget settings.","status.widget.info.nodejs_path":"Node.js s\xF6kv\xE4g","status.widget.info.os":"OS","status.widget.info.plugin_path":"Plugin s\xF6kv\xE4g","status.widget.info.service_user":"Anv\xE4ndare","status.widget.info.storage_path":"Lagring s\xF6kv\xE4g","status.widget.info.synology_package":"Synology-paket","status.widget.info.timezone":"Tidszon","status.widget.info.yes":"Ja","status.widget.network.history_items":"Historikposter","status.widget.network.items":"poster","status.widget.network.network_interface":"N\xE4tverksgr\xE4nssnitt","status.widget.network.none_selected":"Using Default","status.widget.network.refresh_interval":"Uppdateringsintervall","status.widget.network.seconds":"sekunder","status.widget.qr_paired":"Ansluten","status.widget.qr_unpaired":"Ej ansluten","status.widget.show_hide":"Show/Hide Widgets","status.widget.title_manage_widget":"Hantera widget","status.widget.update_node_no":"{{ pluginName }} is not compatible with Node {{ nodeVersion }}.","status.widget.update_node_unknown":"The developer of {{ pluginName }} has not specified the Node version compatibility.","status.widget.update_node_yes":"{{ pluginName }} is compatible with Node {{ nodeVersion }}.","status.widget.uptime.label_process":"Process","status.widget.uptime.label_server":"Server","status.widget.weather.label_config_required_help":"V\xE4lj din stad i widget-inst\xE4llningarna.","status.widget.weather.label_search_for_your_city":"S\xF6k efter din stad:","status.widget.weather.title_weather":"V\xE4der","support.dev.api":"Homebridge API","support.dev.api_hap":"HAP-NodeJS API","support.dev.api_hap_sub":"HAP-NodeJS is an implementation of the HomeKit Accessory Server as specified in the HomeKit Accessory Protocol (HAP), which is defined by Apple as part of the HomeKit Framework.","support.dev.api_sub":"Homebridge is a lightweight Node.js server you can run on your home network to emulate the HomeKit Accessory Protocol (HAP).","support.dev.item_swagger":"Swagger Docs","support.dev.item_swagger_sub":"The Homebridge REST API allows you to interact with your Homebridge server using HTTP requests.","support.dev.template":"Plugin Template Repo","support.dev.template_sub":"A template Homebridge plugin that can be used as a base to help you get started developing your own plugin.","support.dev.title":"Utvecklare","support.dev.verified":"Verifierad av Homebridge","support.dev.verified_sub":"The Verified By Homebridge program allows plugin developers to get their plugins reviewed and endorsed by the Homebridge project team.","support.links.discord":"Discord Server","support.links.discord_sub":"Join the Homebridge Discord chat server to chat with other users and developers.","support.links.documentation":"Dokumentation","support.links.documentation_sub":"The Homebridge documentation provides a wealth of information on how to get started with Homebridge and common issue resolutions.","support.links.issue":"Rapportera ett problem","support.links.issue_sub":"If you are experiencing an issue with Homebridge, please open a new issue on GitHub. This should not be used for issues with specific plugins.","support.links.reddit":"Reddit Community","support.links.reddit_sub":"The Homebridge subreddit is a great place to share your Homebridge setup and ask for help.","support.links.title":"Nyttiga l\xE4nkar","support.title":"Support","toast.no_auth":"Only administrators may access the requested page.","toast.title_error":"Fel","toast.title_success":"Lyckad","toast.title_warning":"Varning","users.button_add_user":"L\xE4gg till anv\xE4ndare","users.label_admin_user":"Adminanv\xE4ndare?","users.label_confirm_password":"Bekr\xE4fta l\xF6senord","users.label_full_name":"Fullst\xE4ndigt namn","users.label_new_password":"Nytt l\xF6senord","users.label_password":"L\xF6senord","users.label_username":"Anv\xE4ndarnamn","users.setup_2fa":"Inst\xE4llning 2FA","users.setup_2fa_activate_error":"An error occurred activating 2FA","users.setup_2fa_cannot_setup_2fa":"Det g\xE5r inte att st\xE4lla in 2FA","users.setup_2fa_disable":"Inaktivera 2FA","users.setup_2fa_disable_current_password":"Ange ditt nuvarande l\xF6senord f\xF6r att inaktivera tv\xE5faktorautentisering:","users.setup_2fa_disable_success":"Tv\xE5faktorsautentisering har inaktiverats.","users.setup_2fa_enable":"Aktivera 2FA","users.setup_2fa_enable_error":"An error occurred setting up 2FA","users.setup_2fa_enabled_success":"Tv\xE5faktorsautentisering har aktiverats.","users.setup_2fa_enter_code":"Ange koden fr\xE5n din autentiseringsapp:","users.setup_2fa_scan_qr_code":"Skanna QR-koden nedan med din autentiseringsapp:","users.setup_2fa_scan_qr_manual":"If you cannot scan the QR code, you can enter the following secret key manually:","users.setup_2fa_server_time_out":"Din servers klocka g\xE5r fel med {{ timeDiffError }} ms. Maximalt till\xE5tet \xE4r +/- 5000 ms.","users.setup_2fa_warning":"Tv\xE5faktorsautentisering kr\xE4ver att din Homebridge-server har ett mycket exakt datum och tid f\xF6r att kunna logga in. Om din server inte har f\xF6rm\xE5gan att h\xE5lla tiden korrekt b\xF6r du inte aktivera 2FA, annars riskerar du att bli utel\xE5st fr\xE5n Homebridge UI.","users.support.acc_1":"There are two types of users that can access the Homebridge UI: admin and non-admin users. Admins can access and control everything available in the UI. Non-admin users have a read-only view of the following pages:","users.support.acc_2":"2FA can only be set up on admin accounts, and must do this via the users page logged in as themselves.","users.support.control":"can be controlled","users.title_add_user":"L\xE4gg till anv\xE4ndare","users.title_edit_user":"Redigera anv\xE4ndare","users.title_users":"Anv\xE4ndare","users.toast_added_new_user":"Lagt till ny anv\xE4ndare","users.toast_failed_to_add_user":"Det gick inte att l\xE4gga till anv\xE4ndare","users.toast_failed_to_delete_user":"Det gick inte att radera anv\xE4ndaren","users.toast_updated_user":"Anv\xE4ndare uppdaterad","users.toast_user_deleted":"Anv\xE4ndaren raderad"}});export{s as a};
@@ -1,3 +0,0 @@
1
- import{a as nt}from"./chunk-HBUIXUR3.js";import"./chunk-BMOLDRJ3.js";import{a as E}from"./chunk-F635TFLI.js";import{a as ct}from"./chunk-H7F7H5MW.js";import{a as L}from"./chunk-PRGOUVRO.js";import"./chunk-OS475ZQO.js";import{n as ot,t as it}from"./chunk-2OWZ4XP5.js";import"./chunk-Z5PUNNUZ.js";import{b as R}from"./chunk-CKURAGOR.js";import{D as et,c as W,e as J,f as K,g as U,j as X,m as Y,r as Z,s as tt}from"./chunk-K7PJFUH4.js";import{b as H}from"./chunk-HYHFIPBC.js";import{E as z,F as A,H as G,K as Q}from"./chunk-AWTSOXJ2.js";import{Ab as x,Dc as a,Ec as s,Fb as f,Gb as p,Hb as c,Ib as d,Oc as T,Rb as v,Xb as h,Ya as I,Za as r,Zb as m,aa as l,d as k,ea as F,ec as $,fc as q,ga as u,ha as g,ic as B,jc as D,kc as O,lc as P,mb as S,nb as j,sa as y,uc as N,yb as b,zb as w}from"./chunk-HUTYOGRH.js";import{g as lt,h as C}from"./chunk-B4AJQJMI.js";var M=lt(ct(),1);var pt=["logoutput"],mt=["searchInput"];function dt(i,V){if(i&1){let e=v();p(0,"div",5)(1,"button",9),a(2,"translate"),a(3,"translate"),h("click",function(){u(e);let t=m();return g(t.showSearch())}),d(4,"i"),c(),p(5,"button",9),a(6,"translate"),a(7,"translate"),h("click",function(){u(e);let t=m();return g(t.downloadLogFile())}),d(8,"i",10),c(),p(9,"button",11),a(10,"translate"),a(11,"translate"),h("click",function(){u(e);let t=m();return g(t.truncateLogFile())}),d(12,"i",12),c()()}if(i&2){let e=m();r(),f("openDelay",150)("ngbTooltip",s(2,12,"form.search")),b("aria-label",s(3,14,"form.search")),r(3),D(N("fas",e.showSearchBar()?" primary-text":""," fa-search")),r(),f("openDelay",150)("ngbTooltip",s(6,16,"form.button_download")),b("aria-label",s(7,18,"form.button_download")),r(4),f("openDelay",150)("ngbTooltip",s(10,20,"form.button_delete")),b("aria-label",s(11,22,"form.button_delete"))}}function ht(i,V){if(i&1){let e=v();p(0,"button",17),a(1,"translate"),h("click",function(){u(e);let t=m(2);return g(t.onClearSearch())}),d(2,"i",18),c()}i&2&&b("aria-label",s(1,1,"form.button_clear"))}function ut(i,V){if(i&1){let e=v();p(0,"div",6)(1,"div",13)(2,"form",14),h("ngSubmit",function(){u(e);let t=m();return g(t.onSubmit(t.form.value))}),d(3,"input",15,1),a(5,"translate"),w(6,ht,3,3,"button",16),c()()()}if(i&2){let e,o=m();r(2),f("formGroup",o.form),r(),B("is-invalid",o.searchInputInvalid),f("placeholder",s(5,5,"logs.placeholder_search_logs")),r(3),x((e=o.form.get("query"))!=null&&e.value?6:-1)}}var kt=(()=>{class i{injector=l(F);$api=l(Q);$auth=l(R);$log=l(nt);$modal=l(ot);$settings=l(H);$toastr=l(G);$translate=l(z);termTarget=T("logoutput",{});searchInput=T("searchInput",{});resizeEvent=new k;valueChangesSubscription;isAdmin=this.$auth.user.admin;showSearchBar=y(!1,{});showExitButton=y(!1,{});form=new U({query:new X("")});get searchInputInvalid(){let e=(this.form.get("query")?.value||"").trim();return e.length>0&&e.length<3}onWindowResize(){this.resizeEvent.next(void 0)}ngOnInit(){let e=this.$translate.instant("menu.linux.label_logs");this.$settings.setPageTitle(e),window.document.querySelector("body").classList.add("bg-black"),this.$log.startTerminal(this.termTarget(),{allowProposedApi:!0},this.resizeEvent),this.valueChangesSubscription=this.form.get("query")?.valueChanges.subscribe(o=>{let t=o||"",n=t.trim();n!==t&&this.form.get("query")?.setValue(n,{emitEvent:!1}),this.showExitButton()&&n.length<3&&(this.showExitButton.set(!1),this.$log.clearSearchFilter(),this.$log.scrollToBottom())})}showSearch(){if(this.showSearchBar())this.showSearchBar.set(!1),this.showExitButton.set(!1),this.form.setValue({query:""}),this.$log.clearSearchFilter(),this.$log.scrollToBottom();else{this.showSearchBar.set(!0);let e=this.searchInput();e&&setTimeout(()=>e.nativeElement.focus(),0)}}onSubmit(e){let o=(e.query||"").trim();!o.length||o.length<3?(o.length||this.showSearchBar.set(!1),this.form.setValue({query:""}),this.showExitButton.set(!1),this.$log.clearSearchFilter(),this.$log.scrollToBottom()):(this.showExitButton.set(!0),this.$log.setSearchFilter(o),this.$log.scrollToBottom())}onClearSearch(){this.form.setValue({query:""}),this.showExitButton.set(!1),this.$log.clearSearchFilter(),this.$log.scrollToBottom()}ngOnDestroy(){window.document.querySelector("body").classList.remove("bg-black"),this.valueChangesSubscription&&this.valueChangesSubscription.unsubscribe(),this.resizeEvent.complete(),this.$log.destroyTerminal()}downloadLogFile(){return C(this,null,function*(){let e=S([{provide:L,useValue:{title:this.$translate.instant("logs.title_download_log_file"),message:this.$translate.instant("logs.download_warning"),confirmButtonLabel:this.$translate.instant("form.button_download"),faIconClass:"fas fa-user-secret primary-text"}}],this.injector),o=this.$modal.open(E,{size:"lg",backdrop:"static",injector:e});try{yield o.result;try{let t=yield this.$api.get("/platform-tools/hb-service/log/download",{observe:"response",responseType:"blob"}),n=this.$log.getSearchFilter();if(n){let rt=(yield t.body.text()).split(`
2
- `).filter(st=>st.replace(/\x1b\[[0-9;]*m/g,"").toLowerCase().includes(n.toLowerCase())),at=new Blob([rt.join(`
3
- `)],{type:"text/plain"});(0,M.saveAs)(at,"homebridge.log.txt")}else(0,M.saveAs)(t.body,"homebridge.log.txt")}catch(t){let n;try{if(t&&typeof t=="object"&&"error"in t){let _=yield t.error.text();n=JSON.parse(_).message}}catch(_){console.error(_)}this.$toastr.error(n||this.$translate.instant("logs.download.error"),this.$translate.instant("toast.title_error"))}}catch{}})}truncateLogFile(){return C(this,null,function*(){let e=S([{provide:L,useValue:{title:this.$translate.instant("logs.title_truncate_log_file"),message:this.$translate.instant("logs.truncate_log_warning"),confirmButtonLabel:this.$translate.instant("form.button_delete"),confirmButtonClass:"btn-danger",faIconClass:"fas fa-circle-exclamation primary-text"}}],this.injector),o=this.$modal.open(E,{size:"lg",backdrop:"static",injector:e});try{yield o.result;try{yield this.$api.put("/platform-tools/hb-service/log/truncate",{}),this.$toastr.success(this.$translate.instant("logs.log_file_truncated"),this.$translate.instant("toast.title_success")),this.$log.term.clear()}catch(t){console.error(t);let n=t&&typeof t=="object"&&"error"in t&&t.error&&typeof t.error=="object"&&"message"in t.error?String(t.error.message):this.$translate.instant("logs.truncate.error");this.$toastr.error(n,this.$translate.instant("toast.title_error"))}}catch{}})}static \u0275fac=function(o){return new(o||i)};static \u0275cmp=j({type:i,selectors:[["ng-component"]],viewQuery:function(o,t){o&1&&($(t.termTarget,pt,5),$(t.searchInput,mt,5)),o&2&&q(2)},hostBindings:function(o,t){o&1&&h("resize",function(){return t.onWindowResize()},I)},decls:10,vars:9,consts:[["logoutput",""],["searchInput",""],[1,"row","mb-3"],[1,"col-6"],[1,"primary-text","m-0"],[1,"col-6","text-end"],[1,"row"],[1,"flex-column","d-flex","align-items-stretch"],["id","log-output",1,"align-self-end","w-100","h-100","mb-1"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-2",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-download"],["container","body","placement","bottom","triggers","hover",1,"btn","btn-elegant","my-0","me-0",3,"click","openDelay","ngbTooltip"],[1,"fas","fa-trash-alt"],[1,"col-md-12"],["novalidate","",3,"ngSubmit","formGroup"],["type","text","formControlName","query",1,"search-bar",3,"placeholder"],["type","button",1,"search-bar-clear"],["type","button",1,"search-bar-clear",3,"click"],["aria-hidden","true",1,"fas","fa-square-xmark"]],template:function(o,t){o&1&&(p(0,"div",2)(1,"div",3)(2,"h3",4),O(3),a(4,"translate"),c()(),w(5,dt,13,24,"div",5),c(),w(6,ut,7,7,"div",6),p(7,"div",7),d(8,"div",8,0),c()),o&2&&(r(3),P(s(4,7,"menu.linux.label_logs")),r(2),x(t.isAdmin?5:-1),r(),x(t.showSearchBar()?6:-1),r(),B("adjust-for-mobile",!t.showSearchBar())("adjust-for-mobile-with-search",t.showSearchBar()))},dependencies:[it,et,Y,W,J,K,tt,Z,A],styles:["form[_ngcontent-%COMP%]{position:relative}.search-bar[_ngcontent-%COMP%]{outline:none;box-sizing:inherit!important;background-color:inherit;height:50px!important;width:100%;border-width:.5px;padding:10px 45px 10px 10px;margin-bottom:15px}@media(hover:hover){.search-bar[_ngcontent-%COMP%]:hover{border:1px solid #000000}}.search-bar[_ngcontent-%COMP%]:focus{border:1px solid #000000;box-shadow:0 1px #000}.search-bar.is-invalid[_ngcontent-%COMP%]{border:1px solid #d32f2f!important;box-shadow:0 1px #d32f2f!important}@media(hover:hover){.search-bar.is-invalid[_ngcontent-%COMP%]:hover{border:1px solid #d32f2f!important;box-shadow:0 1px #d32f2f!important}}.search-bar.is-invalid[_ngcontent-%COMP%]:focus{border:1px solid #d32f2f!important;box-shadow:0 1px #d32f2f!important}.search-bar-clear[_ngcontent-%COMP%]{position:absolute;right:8px;top:25px;height:50px;background:transparent;border:none;font-size:20px;color:#d0d0d0;cursor:pointer;padding:0 8px;display:flex;align-items:center}.search-bar-clear[_ngcontent-%COMP%]:hover{color:#a0a0a0}.adjust-for-mobile-with-search[_ngcontent-%COMP%]{height:calc(100% - 95px);width:calc(100% + 17px);overflow:hidden}@media(max-width:767px){.adjust-for-mobile-with-search[_ngcontent-%COMP%]{height:calc(100% - 125px)}}"]})}return i})();export{kt as LogsComponent};
@@ -1 +0,0 @@
1
- import{e}from"./chunk-B4AJQJMI.js";var s=e((i,t)=>{t.exports={"accessories.accessory_info":"Accessory Information","accessories.bridge_ip":"Bridge IP","accessories.bridge_port":"Bridge Port","accessories.button_add_room":"Add Room","accessories.button_hidden_hide":"Hide Hidden","accessories.button_hidden_show":"Show Hidden","accessories.button_remove":"Remove From Cache","accessories.control.adaptive_lighting":"Adaptive Lighting","accessories.control.adaptive_lighting_note":"Some plugins may automatically re-enable Adaptive Lighting when changing this.","accessories.control.auto":"Auto","accessories.control.away":"Away","accessories.control.battery_charged":"Charged","accessories.control.battery_charging":"Charging","accessories.control.battery_low":"Battery Low","accessories.control.battery_notchargeable":"Not Chargeable","accessories.control.battery_notcharging":"Not Charging","accessories.control.brightness":"Brightness","accessories.control.cleaning":"Cleaning","accessories.control.closed":"Closed","accessories.control.closing":"Closing","accessories.control.color_temperature":"Color Temperature","accessories.control.cool":"Cool","accessories.control.current":"Current","accessories.control.default_room":"Default Room","accessories.control.dehumidify":"Dehumidify","accessories.control.detected":"Detected","accessories.control.direction_control":"Direction Control","accessories.control.drag_here":"Drag Here","accessories.control.filter_level":"Filter Life","accessories.control.heat":"Heat","accessories.control.home":"Home","accessories.control.hue":"Hue","accessories.control.humidify":"Humidify","accessories.control.idle":"Idle","accessories.control.input":"Input List","accessories.control.input_control":"Input Control","accessories.control.jammed":"Jammed","accessories.control.lock_auto":"Auto Lock Timer","accessories.control.locked":"Locked","accessories.control.manual":"Manual","accessories.control.media_control":"Media Control","accessories.control.microphone":"Microphone","accessories.control.mode":"Mode","accessories.control.mode_control":"Mode Control","accessories.control.mute":"Mute","accessories.control.mute_control":"Mute Control","accessories.control.night":"Night","accessories.control.no_data":"No Data","accessories.control.not_detected":"Not Detected","accessories.control.not_mute":"Audible","accessories.control.obstructed":"Obstructed","accessories.control.off":"Off","accessories.control.on":"On","accessories.control.open":"Open","accessories.control.opening":"Opening","accessories.control.pause":"Pause","accessories.control.paused":"Paused","accessories.control.play":"Play","accessories.control.replace":"Replace","accessories.control.rotation_c_clockwise":"Counter Clockwise","accessories.control.rotation_clockwise":"Clockwise","accessories.control.rotation_direction":"Rotation Direction","accessories.control.rotation_speed":"Rotation Speed","accessories.control.running":"Running","accessories.control.saturation":"Saturation","accessories.control.set_duration":"Set Duration","accessories.control.speaker":"Speaker","accessories.control.speaker_volume":"Volume","accessories.control.state_control":"State Control","accessories.control.stateless":"Stateless","accessories.control.stop":"Stop","accessories.control.stopped":"Stopped","accessories.control.target":"Target","accessories.control.target_auto":"Auto Target","accessories.control.threshold_auto":"Auto Threshold","accessories.control.triggered":"Triggered","accessories.control.unknown":"Unknown","accessories.control.unlocked":"Unlocked","accessories.control_disabled":"Homebridge Accessory Control Disabled","accessories.core.air_purifier":"Air Purifier","accessories.core.air_quality_sensor":"Air Quality Sensor","accessories.core.battery":"Battery","accessories.core.carbon_dioxide_sensor":"Carbon Dioxide Sensor","accessories.core.carbon_monoxide_sensor":"Carbon Monoxide Sensor","accessories.core.contact_sensor":"Contact Sensor","accessories.core.cooler":"Cooler","accessories.core.dehumidifier":"Dehumidifier","accessories.core.door":"Door","accessories.core.doorbell":"Doorbell","accessories.core.fan":"Fan","accessories.core.faucet_valve":"Valve","accessories.core.filter_maintenance":"Filter Maintenance","accessories.core.garage_door_opener":"Garage Door Opener","accessories.core.generic_valve":"Valve","accessories.core.heater":"Heater","accessories.core.heater_cooler":"Heater Cooler","accessories.core.humidifier":"Humidifier","accessories.core.humidifier_dehumidifier":"Humidifier Dehumidifier","accessories.core.humidity_sensor":"Humidity Sensor","accessories.core.irrigation_system":"Irrigation System","accessories.core.irrigation_valve":"Valve","accessories.core.leak_sensor":"Leak Sensor","accessories.core.light_sensor":"Light Sensor","accessories.core.lightbulb":"Lightbulb","accessories.core.lock_mechanism":"Lock Mechanism","accessories.core.microphone":"Microphone","accessories.core.motion_sensor":"Motion Sensor","accessories.core.occupancy_sensor":"Occupancy Sensor","accessories.core.on_off_light":"Lightbulb","accessories.core.on_off_light_switch":"Switch","accessories.core.on_off_plug_in_unit":"Outlet","accessories.core.outlet":"Outlet","accessories.core.robot_vacuum":"Robot Vacuum","accessories.core.robotic_vacuum_cleaner":"Robot Vacuum","accessories.core.security_system":"Security System","accessories.core.shower_head_valve":"Valve","accessories.core.smoke_sensor":"Smoke Sensor","accessories.core.speaker":"Speaker","accessories.core.stateless_programmable_switch":"Stateless Programmable Switch","accessories.core.switch":"Switch","accessories.core.television":"Television","accessories.core.temperature_sensor":"Temperature Sensor","accessories.core.thermostat":"Thermostat","accessories.core.valve":"Valve","accessories.core.washing_machine":"Washing Machine","accessories.core.window":"Window","accessories.core.window_covering":"Window Covering","accessories.custom_name":"Custom Name","accessories.custom_type":"Custom Type","accessories.hide_this_accessory":"Hide this accessory","accessories.message_must_use_insecure_mode":"To control your accessories you must be running Homebridge in insecure mode {{ link }}.","accessories.name":"Name","accessories.no_plugins.message_1":"Accessories are created and managed by Homebridge plugins.","accessories.no_plugins.message_2":"You can find and install plugins from the plugins page.","accessories.no_plugins.title":"No Plugins Installed","accessories.only_ui":"These settings are only for the Homebridge UI and <strong>will not be reflected in HomeKit</strong>.","accessories.only_ui_2":"These options are unique to your Homebridge UI account.","accessories.plugin":"Plugin","accessories.room_name":"Room Name","accessories.service":"Service","accessories.service_info":"Service Information","accessories.settings_link":"You can access the Homebridge Settings at any time from the cog icon in the side menu.","accessories.show_on_dashboard":"Show in dashboard widget","accessories.support.acc_1":"Accessories may take a few minutes to appear on this screen after a Homebridge restart or after being added. If accessories are consistently missing, try changing the mDNS advertiser in the settings.","accessories.support.acc_2":"You can change the type of certain accessories in the UI (like showing a switch as a heater). You can do this by clicking on the three bars that appear in the top-right corner of the accessory tile as you hover over it. A 'Custom Type' option will appear if the accessory supports this. Note this will not change the accessory in HomeKit (only a plugin can do this).","accessories.support.rooms_1":"The rooms you create here will not appear in HomeKit, they are only for the organisation of accessories in the Homebridge UI.","accessories.support.rooms_2":"To rename an existing room, create a new room with the desired name and move the accessories to the new room.","accessories.support.rooms_3":"To delete an existing room, move all its accessories to another room and refresh the page.","accessories.title_rooms":"Rooms","backup.backup_delete_failed":"Backup deletion failed. See logs for details.","backup.backup_download_failed":"Backup download failed.","backup.backup_exceeds_max_size":"Backup ({{ backupSize }}) exceeds maximum restore file size of {{ maxBackupSizeText }}","backup.backup_help_one":"Download a backup archive of your entire Homebridge environment. This will backup the entire contents of your Homebridge storage directory which you can later restore on any platform capable of running the Homebridge UI.","backup.backup_help_two":"Plugins not hosted on npm, or plugins installed directly from GitHub will not be backed up or restored.","backup.backup_now":"Backup Now","backup.backup_now_desc":"Generate and download an up-to-date backup file.","backup.backup_now_save_desc":"Generate an up-to-date backup file in your backup storage directory.","backup.backup_restored":"Backup Archive Restored","backup.backup_warning":"Backup archives contain sensitive information and should not be shared with others.","backup.files_auto":"Stored Backup Files","backup.label_extracting":"Extracting Archive","backup.label_uploading":"Uploading\u2026","backup.load_error":"Failed to load config backup.","backup.restore_failed":"Restore Failed","backup.restore_help_one":"Restore a backup archive you previously made using the Homebridge UI. Your Homebridge config, cached accessories, HomeKit pairings and Homebridge UI user accounts will be restored. Any Homebridge plugins you had installed will also be downloaded from the npm registry.","backup.restore_help_two":"You will need to login to the Homebridge UI using the credentials from the restored instance after completing a restore.","backup.restore_max_size":"You can restore a backup archive up to {{ maxBackupSizeText }} in size.","backup.restore_now":"Restore Now","backup.restore_now_desc":"Restore from a previously downloaded backup file.","backup.restore_warning":"Restoring from a backup will irreversibly overwrite the current Homebridge configuration.","backup.scheduled_backup_disabled":"Scheduled backups have been disabled via the configuration.","backup.scheduled_backup_time":"A full backup of the Homebridge instance is automatically created every day at {{ backupTime }} and kept for {{ dayCount }} days.","backup.settings_enable":"Enable Automated Backups","backup.settings_path":"Backup Storage Path","backup.settings_path_desc":"If you are changing this from the default, please ensure the directory exists and is writable by the Homebridge user.","backup.settings_title":"Backup Settings","backup.title_backup":"Backup & Restore","child_bridge.about":"Homebridge allows you to run your plugin's platform or accessory as an isolated child bridge {{ link }}. This can improve the general responsiveness and reliability of Homebridge.","child_bridge.bridge_connect":"Connect to HomeKit","child_bridge.bridge_settings":"Child Bridge Config","child_bridge.bridges":"Bridges","child_bridge.bridges_paired":"Each child bridge platform or accessory will need to be paired with HomeKit separately.","child_bridge.bridges_paired_2":"If you set up a child bridge now and later disable it, any accessories on this bridge will be removed and re-created on the main Homebridge bridge.","child_bridge.config.accessory":"Accessory","child_bridge.config.debug":"Debug Mode","child_bridge.config.enable_hap":"Enable HAP","child_bridge.config.firmware":"Firmware Version","child_bridge.config.hide_pairing_alert":"Hide Pairing Alert","child_bridge.config.manufacturer":"Manufacturer","child_bridge.config.matter_note_1":"Plugins must be updated by the developer to support Matter accessories. There is no use in enabling Matter here unless you definitely know the plugin supports it.","child_bridge.config.matter_note_2":"Remember that the Matter integration is experimental and may not work perfectly with all accessories or setups.","child_bridge.config.model":"Model","child_bridge.config.name":"Name","child_bridge.config.or_link":"Link Existing Bridge","child_bridge.config.platform":"Platform","child_bridge.config.port":"Port","child_bridge.config.prevent":"Cannot disable a child bridge with linked accessories.","child_bridge.config.select_existing":"Select an existing bridge...","child_bridge.config.use":"Use Child Bridge","child_bridge.confirm_delete_1":"The following child bridges will be removed.","child_bridge.confirm_delete_2":"You will need to remove the paired bridges manually from the Home app. Any accessories will be removed and re-created on the main Homebridge bridge.","child_bridge.must_configure_plugin":"You need to configure this plugin before you can manage its bridge settings.","child_bridge.reset_accessories":"Reset Accessories","child_bridge.restart":"Restart Child Bridge","child_bridge.restart_plural":"Restart Child Bridges","child_bridge.return_to_pair":"Return to this screen after Homebridge has restarted to view the pairing QR code.","child_bridge.setup":"Set Up Child Bridge","child_bridge.start":"Start Child Bridge","child_bridge.start_plural":"Start Child Bridges","child_bridge.stop":"Stop Child Bridge","child_bridge.stop_plural":"Stop Child Bridges","common.labels.beta":"beta","common.labels.disabled":"Disabled","common.labels.enabled":"Enabled","common.labels.no_confirmation":"There is no confirmation when clicking the button, it will immediately perform the action.","common.phrases.are_you_sure":"Are you sure you want to continue anyway?","common.phrases.support":"Feel like there is something useful we could add here? Let us know on {{ github }} or {{ discord }}!","config.config_accessory_must_be_array":"accessories must be an array []","config.config_bridge_missing":"Bridge settings missing","config.config_invalid_json":"Config contains invalid JSON","config.config_platform_must_be_array":"platforms must be an array []","config.config_saved":"Configuration Saved","config.config_username_error":"Bridge username must be 6 pairs of colon-separated hexadecimal characters (A-F 0-9)","config.error_blocks_objects":"All {{ type }} blocks must be objects.","config.error_blocks_type":"All {{ type }} blocks must contain the {{ type }} attribute.","config.error_string_array":"Each item in the {{ key }} array must be a string.","config.error_string_type":"The {{ type }} attribute must be a string.","config.failed_to_save_config":"Failed to save config","config.hide_hap_pairing":"Hide HAP Pairing Alert","config.hide_matter_pairing":"Hide Matter Pairing Alert","config.hide_plugin_updates":"Hide Plugin Updates For","config.no_restart":"A restart is not needed as no changes were made to the Homebridge configuration.","config.restore.confirm":"Click Save to confirm you want to restore this backup.","config.restore.copy_to_editor":"Copy to Editor","config.restore.download":"Download your current configuration as a JSON file.","config.restore.help_1":"A backup of your config file is created each time it is updated from actions you take in the Homebridge UI.","config.restore.help_2":"You can restore a previous version of your config file by selecting it from the list below. You will be able to compare this version with your current config before deciding whether to restore it.","config.restore.title":"Config File Backup & Restore","config.restore.toast_backups_deleted":"All Backups Deleted","config.restore.view_inline":"Inline View","config.restore.view_side_by_side":"Side-By-Side View","config.title_backup_loaded":"Backup Loaded","form.button_allow":"Allow","form.button_back":"Back","form.button_cancel":"Cancel","form.button_close":"Close","form.button_continue":"Continue","form.button_delete":"Delete","form.button_delete_all":"Delete All","form.button_disable":"Disable","form.button_download":"Download","form.button_edit":"Edit","form.button_enable":"Enable","form.button_lock":"Lock","form.button_more_info":"More Info","form.button_remove":"Remove","form.button_reset":"Reset","form.button_restore":"Restore","form.button_save":"Save","form.button_show":"Show","form.button_unlock":"Unlock","form.button_unpair":"Unpair","form.label.changes_kept":"Note that existing selections/changes are preserved when switching between items.","form.label_invalid":"Config validation failed - you can still save your changes.","form.label_invalid_strict":"Config validation failed - please review the form before saving.","form.label_valid":"Config validation passed.","form.optional":"Optional","form.search":"Search...","form.select.auto":"Automatic (Use Browser Settings)","login.invalid_code":"The code entered is incorrect or has expired","login.invalid_credentials":"Invalid username or password","login.invalid_credentials_2":"If you lose access, delete the <code>auth.json</code> file in your Homebridge storage directory and restart Homebridge. Then refresh this page to set up a new admin account. Your Homebridge/UI settings will remain unchanged, except for UI user accounts. The only user account will be the admin account that you are setting up now.","login.invalid_password":"Invalid Password","login.label_2fa_code":"Two Factor Authentication Code","logs.download.error":"Failed to download log file.","logs.download_warning":"Homebridge log files may contain personal information, passwords or access tokens. Please review the log file and remove any sensitive information before sharing with others.","logs.log_file_truncated":"Log file truncated.","logs.placeholder_search_logs":"Search logs (min. 3 characters)...","logs.title_download_log_file":"Download Log File","logs.title_truncate_log_file":"Delete Logs","logs.truncate.error":"Failed to truncate log file.","logs.truncate_log_warning":"This action will irreversibly delete your existing Homebridge logs. Are you sure you want to continue?","matter_bridge.config.use":"Enable Matter","menu.config_json_editor":"JSON Config","menu.docker.restart_container":"Restart Container","menu.docker.startup_script":"Startup Script","menu.docker.terminal":"Terminal","menu.hbrestart.confirm_hb":"Restart Homebridge","menu.hbrestart.confirm_ui":"Restart HB Service & UI","menu.hbrestart.title":"Restart Homebridge","menu.label_accessories":"Accessories","menu.label_plugins":"Plugins","menu.label_settings":"Settings","menu.label_status":"Status","menu.linux.label_logs":"Logs","menu.linux.label_restart_server":"Restart OS","menu.linux.label_shutdown_modal":"Are you sure you want to shut down the operating system? You will need physical access to turn it back on.","menu.linux.label_shutdown_server":"Shutdown OS","menu.linux.label_terminal":"Terminal","menu.reload":"Reload","menu.restart.title":"Power Options","menu.settings.title":"Settings","menu.tooltip_logout":"Log Out","menu.tooltip_restart":"Restart","menu.tooltip_user_accounts":"User Accounts","menu.tooltip_view_logs":"View Logs","platform.docker.container_restarted":"Docker Container Restarted","platform.docker.must_use_hashbang":"Script must use #!/bin/sh hashbang.","platform.docker.restart_required":"You will need to restart this docker container for the changes to take effect.","platform.docker.run_with_restart":"Make sure you are running the Docker container with {{ command }}","platform.docker.script_help":"This script will be executed each time the docker container starts. You can use this to install any extra packages your plugins may need such as ffmpeg or libpcap-dev.","platform.docker.script_saved":"Startup Script Saved","platform.docker.server_long_time":"Server restart is taking a long time. You may need to bring up the Docker container manually.","platform.docker.title_restarting":"Restarting Docker Container","platform.linux.long_time":"Server restart is taking a long time. You may need to bring up the server manually.","platform.linux.restart":"Please wait, this page will automatically redirect when the Homebridge is back online.","platform.linux.restarting_server":"Restarting Server","platform.linux.server_restart_error":"An error occurred sending the restart command to the server","platform.linux.server_restarted":"Server Restarted","platform.linux.server_taking_long_time":"The server is taking a long time to come back online","platform.linux.server_will_power_down":"The server will power down shortly.","platform.linux.shutting_down_server":"Shutting Down Server","platform.terminal.terminate_message_1":"Navigating away from this page will terminate your current session, all foreground processes will be terminated.","platform.terminal.terminate_message_2":"To avoid this warning, enable <strong>Terminal Session Persistence</strong> from the settings page.","platform.terminal.terminate_title":"Session Termination","platform.terminal.terminate_unload":"Your terminal session will be terminated. Enable Terminal Session Persistence in Settings to prevent this.","platform.version.restart_required":"Homebridge UI v{{ uiVersion }} has been installed, but the server service is still running v{{ serverVersion }}.","platform.version.service_restart_required":"Restart Required","plugins.bridge.action_error":"Failed to {{ action }} child bridge(s).","plugins.bridge.name_error":"Bridge name must start and end with a letter or number, and can only contain letters, numbers, spaces, and apostrophes.","plugins.bridge.port_error":"{{ type }} port must be an integer between 1025 and 65533, excluding 5353, 8080, 8443 and any other already-configured port.","plugins.button_homepage":"Plugin Homepage","plugins.button_set_up":"Set Up","plugins.button_settings":"Plugin Config","plugins.button_uninstall":"Uninstall","plugins.button_update":"Update","plugins.compat.hb_node_too_low":"{{ packageName }} v{{ latestVersion }} requires Node.js v{{ minVersion }} or later. You are currently running Node.js {{ installedVersion }}.","plugins.compat.hb_too_low":"The {{ pluginName }} plugin recommends running on Homebridge v{{ minVersion }} or later. You are currently running Homebridge v{{ installedVersion }}.","plugins.compat.node_first":"Please update Node.js before updating {{ packageName }}.","plugins.compat.node_link":"How To Update Node.js","plugins.compat.node_too_low":"The {{ pluginName }} plugin recommends running on Node.js v{{ minVersion }} or later. You are currently running Node.js {{ installedVersion }}.","plugins.compat.title":"Compatibility Check","plugins.config.load_error":"Failed to load plugin config.","plugins.config.must_be_array":"Plugin config must be an array.","plugins.config.must_be_array_objects":"Plugin config must be an array of objects.","plugins.config.must_be_object":"Config block must be an object.","plugins.config.name_property":'Accessory must have a valid "name" attribute',"plugins.config.please_fix":"Please fix validation errors before adding a new block.","plugins.disable.error":"Failed to disable plugin.","plugins.donate.message_1":"As more users install their plugins through the Homebridge UI, they are less likely to visit the projects' GitHub page where the ways to support a developer would typically be displayed.","plugins.donate.message_2":"Adding donation links directly in the Homebridge UI ensures users know how to support Homebridge developers if they wish to do so.","plugins.donate.tile_donate_to":"Donate to {{ author }}","plugins.enable.error":"Failed to enable plugin.","plugins.manage.all_versions":"All versions","plugins.manage.backup":"Download a backup before updating?","plugins.manage.changelog":"Full Changelog","plugins.manage.changelog_none":"Could not retrieve changelog, perhaps this plugin does not provide a <code>CHANGELOG.md</code> file.","plugins.manage.child_bridge_restart":"Child bridge restarted successfully.","plugins.manage.child_bridge_restart_failed":"Plugin restart failed, please restart Homebridge manually.","plugins.manage.confirm_disable":"Are you sure you want to disable {{ pluginName }}?","plugins.manage.confirm_disable_accessory_1":"Any accessories exposed by this plugin will be removed from the Homebridge UI accessory screen and removed from HomeKit.","plugins.manage.confirm_disable_accessory_2":"When you re-enable the plugin, the accessories will reappear in the Homebridge UI and HomeKit. The accessories will lose their HomeKit data (like related scenes and automations).","plugins.manage.confirm_disable_platform_1":"Any accessories exposed by this plugin will be removed from the Homebridge UI accessory screen but remain in HomeKit with a 'No Response' label.","plugins.manage.confirm_disable_platform_2":"When you re-enable the plugin, the accessories will reappear in the Homebridge UI and become controllable again in HomeKit. The accessories will not lose their HomeKit data (like related scenes and automations).","plugins.manage.confirm_disable_setting":"Your setting for {{ setting }} is currently {{ value }}, therefore:","plugins.manage.confirm_enable":"Are you sure you want to enable {{ pluginName }}?","plugins.manage.disable":"Disable","plugins.manage.enable":"Enable","plugins.manage.github_support":"You can show your support by giving this plugin a {{ iconStar }} (or the release a {{ iconThumbsUp }}) on GitHub!","plugins.manage.hb_restart":"Homebridge and the UI will automatically restart after any version change.","plugins.manage.hide_updates":"Disable Update Notifications","plugins.manage.hide_updates_desc":"If you don't want to see update notifications for this plugin, you can turn them off here.","plugins.manage.information":"Plugin Information","plugins.manage.install":"Install","plugins.manage.installed":"Installed","plugins.manage.json_config":"JSON Config","plugins.manage.manage_version":"Manage Version","plugins.manage.manual_update_command":"To upgrade the package, open a Node.js command prompt as an Administrator and run the following commands:","plugins.manage.more_info":"More information about scoped {{ scopedLink }} and verified {{ verifiedLink }} plugins.","plugins.manage.notes":"Release Notes","plugins.manage.notes_beta_1":"Thank you for helping improve {{ pluginName }} by testing a pre-release version.","plugins.manage.notes_beta_2":"You can use the Homebridge UI to revert back to the stable version at any time.","plugins.manage.notes_beta_3":"Please remember this is a pre-release version, and report any issues to the plugin's GitHub repository page.","plugins.manage.notes_latest":"Release notes are only shown when updating to the latest version.","plugins.manage.notes_none":"Could not retrieve release notes, perhaps this version does not have a GitHub release.","plugins.manage.online_updates":"Online updates are not supported on Windows. You will need to upgrade Homebridge manually after stopping the Homebridge service.","plugins.manage.plugin_logs":"Plugin Logs","plugins.manage.scoped.error":"An error occurred. You can download the logs below.","plugins.manage.scoped.info_1":"Homebridge scoped plugins have names beginning with {{ prefix }}.","plugins.manage.scoped.info_2":"See more information about scoped plugins and why to switch in our wiki page {{ link }}.","plugins.manage.scoped.process":"This process will not affect your Homebridge/HomeKit accessories. You will not be able to cancel the process once it has started. It will:","plugins.manage.scoped.switch":"Switch To Scoped Plugin","plugins.manage.scoped.windows":'Online updates are not supported on Windows. You will need to install the new plugin and uninstall the old plugin manually. You should <span class="fw-bold">not</span> restart Homebridge until both steps are complete.',"plugins.manage.scoped_message":"Scoped plugins improve long-term reliability and ensure consistent maintenance by combining centralized oversight from the Homebridge team with continued involvement from the original maintainer.","plugins.manage.scoped_subtitle":"This plugin is scoped and verified.","plugins.manage.select_version":"Select the version to install","plugins.manage.uninstall":"Uninstall","plugins.manage.uninstalled":"Removed","plugins.manage.unverified_message":"Unverified Homebridge plugins indicate that they haven't undergone the review process by the Homebridge project team. Lack of verification does not necessarily imply inefficacy or safety concerns. Authors might have opted not to seek verification for various reasons.","plugins.manage.unverified_subtitle":"This plugin is not verified.","plugins.manage.update":"Update","plugins.manage.updated":"Updated","plugins.manage.verified_message":"Homebridge plugins that are marked as verified have been reviewed by the Homebridge project team to ensure they meet various requirements that encourage best practices and a trouble-free user experience.","plugins.manage.verified_subtitle":"This plugin is verified.","plugins.placeholder_search_first":"Use the search bar above to find your first plugin","plugins.placeholder_search_none":"No results were found","plugins.placeholder_search_plugin":"Search for plugins to install\u2026","plugins.settings.custom.download_dump_file":"Download Dump File","plugins.settings.custom.homebridge-gsh.label_account_linked":"Account Linked","plugins.settings.custom.homebridge-gsh.label_link_account":"Link Account","plugins.settings.custom.homebridge-gsh.message_about":"The <strong>Homebridge Google Smart Home</strong> plugin allows you to control your Homebridge accessories from a Google Home enabled smart speaker or the Google Home mobile app.","plugins.settings.custom.homebridge-gsh.message_account_link_required":"To enable this functionality you must sign in with your Google or GitHub account; make sure you use the same account when adding the Homebridge action in the Google Home mobile app.","plugins.settings.custom.homebridge-gsh.message_homebridge_restart_required":"Homebridge requires restarting for the changes to take effect.","plugins.settings.deconz.dump_no_exist":"Homebridge deCONZ dump file does not exist yet.","plugins.settings.hue.dump_no_exist":"Homebridge Hue dump file does not exist yet.","plugins.settings.label_open_config_editor":"Open Config Editor","plugins.settings.message_consult_documentation":"Please consult the plugin documentation for instructions on how to correctly configure this plugin.","plugins.settings.message_manual_config_required":"This plugin must be configured manually using the Homebridge UI Config Editor.","plugins.settings.plugin_config_saved":"Plugin Config Saved","plugins.settings.restart_required":"Restart Homebridge to apply the changes.","plugins.stats":"Plugin Statistics","plugins.stats_note":"Plugins cannot be installed from this page, this is provided just for interest.","plugins.status_installed":"Installed","plugins.support.list_1":"Homebridge plugins are the building blocks of Homebridge, allowing you to add support for new accessories and platforms. Plugins add support for smart lights, cameras, TVs, etc, for brands that don't natively support HomeKit. For example, to bring your Ring doorbells and cameras into HomeKit, you can install the <code>homebridge-ring</code> plugin.","plugins.support.list_2":"Homebridge plugins are created by public contributors in the Homebridge community, and are not typically associated with the Homebridge maintainers, nor with the manufacturers of the accessories themselves. If you have a question about a specific plugin, you should let the plugin developer know via the plugin's GitHub page.","plugins.support.list_3":"There are currently over 4,700 plugins available for Homebridge, so you should be able to find plugins to suit your needs. If you are a Javascript/TypeScript developer (or want to take the opportunity to learn), you can also create your own plugin and share it with the Homebridge community. Check out the Support section for some handy links to get you started.","plugins.support.list_4":"Some plugins allow you to create 'virtual/dummy' accessories, which are accessories that do not have a physical counterpart. These can be used to create virtual accessories in HomeKit, such as virtual switches, lights, or sensors. Try searching for <code>dummy</code> or <code>virtual</code> in the search bar to find some examples.","plugins.toast_failed_to_load_plugin_schema":"Failed to load plugin config schema.","plugins.toast_failed_to_load_plugins":"Failed to load plugins","plugins.toast_failed_to_search_plugins":"Failed to search plugins","plugins.uninstall_remove_child_bridge":"Remove plugin child bridge?","plugins.uninstall_remove_child_bridges":"Remove {{ count }} plugin child bridges?","plugins.uninstall_remove_config_required":"If you are permanently removing this plugin, make sure you remove any config for this plugin in the config.json before restarting Homebridge.","plugins.uninstall_remove_confirmation":"Are you sure you want to uninstall {{ pluginName }}?","plugins.uninstall_remove_plugin_config":"Remove plugin config?","plugins.uninstall_warn_1":"When removing a child bridge, any accessories published by this bridge will be removed from the Homebridge cache.","plugins.uninstall_warn_2":"The accessories will become stale in HomeKit (showing no response). To remove them, you will need to manually remove this bridge from HomeKit. You can do this in the Home app from the Home Settings section.","reset.accessory_all.desc":"Remove all accessories from the cache.","reset.accessory_all.list_1":"When clicking on the remove button below, Homebridge will restart and all your existing accessories will be removed from Homebridge and HomeKit.","reset.accessory_all.list_2":"All associated HomeKit data will also be removed, this includes room associations, scenes and automations that this accessory uses.","reset.accessory_all.list_3":"After Homebridge restarts, your plugins will re-add any accessories as if the plugin was being installed for the first time.","reset.accessory_all.title":"Remove All Accessories","reset.accessory_ind.bridge":"Bridge","reset.accessory_ind.desc":"Remove individual accessories from the cache.","reset.accessory_ind.done":"Finished removing accessories from the cache, check the log for confirmation and/or errors.","reset.accessory_ind.fail":"Failed to remove accessories from cache, check the log for errors.","reset.accessory_ind.list_1":"Some plugins don't clean up after themselves properly. If you have stale accessories, you can remove them from the cache. This function can also be used to reset an existing accessory in HomeKit.","reset.accessory_ind.list_2":"The accessories will be removed from Homebridge and HomeKit, along with their related room associations, scenes and automations.","reset.accessory_ind.list_3":"After Homebridge restarts, your plugins will re-add any removed accessories as if the plugin was being installed for the first time.","reset.accessory_ind.title":"Remove Individual Accessories","reset.accessory_ind.unknown":"Unknown Name","reset.accessory_reset":"Homebridge Bridge Reset","reset.action_is_irreversible":"This action is irreversible. Please read carefully before proceeding.","reset.bridge_accessories.desc":"Remove all accessories published by a child bridge from the cache.","reset.bridge_accessories.empty":"You have no bridges from which to remove accessories.","reset.bridge_accessories.list_1":"This function can be used to reset a plugin's existing accessories in HomeKit. They will be removed from Homebridge and HomeKit, and then re-added by the plugin as new accessories.","reset.bridge_accessories.list_2":"The child bridge's pairing details and status will remain the same.","reset.bridge_accessories.title":"Remove Bridge Accessories","reset.bridge_all.desc":"Reset all bridges by removing them from the cache. This includes the main Homebridge bridge, child bridges and bridges for external accessories.","reset.bridge_all.list_1":"This will reset the Homebridge bridge, all child bridges and bridges for external accessories from HomeKit.","reset.bridge_all.list_2":"Note that your accessories will continue to show in HomeKit as no response, until the bridges are manually removed from HomeKit. You can do this in the Home app, by accessing Home Settings \u2192 Home Hubs & Bridges \u2192 {Bridge} \u2192 Remove Bridge from Home.","reset.bridge_all.list_3":"All your Homebridge to HomeKit accessories, scenes and automations will need to be reconfigured after the unpairing.","reset.bridge_all.list_4":"The pin for pairing your Homebridge bridge to HomeKit will be changed. You can see the new values in your Homebridge config after the unpairing.","reset.bridge_all.title":"Reset All Bridges","reset.bridge_ind.desc":"Reset an individual bridge by removing it from the cache. This may be a child bridge or a bridge for an external accessory like a camera or TV.","reset.bridge_ind.desc_child_active":"Homebridge has detected that these child bridges are in-use. Once removed, their accessories will be removed from the Homebridge cache. If paired with HomeKit, the bridge's accessories will show as 'No Response', and the bridge will need to be removed via the Home app. The child bridge's pairing information will be changed. Once Homebridge has restarted, the plugin will create the new child bridge and accessories. The new bridge will need to be re-paired with HomeKit. You can view the new pairing information from the corresponding plugin's bridge settings page.","reset.bridge_ind.desc_child_stale":"Homebridge has detected that these bridges are not in-use, but double-check before deleting. They could be left-over from previously uninstalled plugins. If paired with HomeKit, the accessories will show as 'No Response', and the bridge will need to be removed via the Home app.","reset.bridge_ind.desc_non_child":"Homebridge has detected that these bridges are in-use. You can remove them from the cache, but they will likely be re-added by the plugin when Homebridge restarts. The pairing information will remain unchanged.","reset.bridge_ind.done":"Finished resetting bridges, check the log for confirmation and/or errors.","reset.bridge_ind.fail":"Failed to reset bridges, check the log for errors.","reset.bridge_ind.head_child_active":"Active Child Bridges","reset.bridge_ind.head_child_stale":"Stale Child Bridges","reset.bridge_ind.head_non_child":"Non Child Bridges","reset.bridge_ind.title":"Reset Individual Bridges","reset.bridges.desc":"If you are having trouble pairing Homebridge, an external accessory or a child bridge to HomeKit, you may need to unpair it from HomeKit to start again.","reset.bridges.empty":"You have no bridges to unpair from HomeKit.","reset.bridges.title":"Bridges","reset.clear_cache_single.list_3":"When removing an accessory from the cache, all its associated HomeKit data will be removed. This includes any associated scenes and automations that use this accessory.","reset.delete_success":"Restarting Homebridge and clearing accessory cache.","reset.error_message":"Accessory cache could not be loaded. You may not have any cached accessories.","reset.failed_to_reset":"Failed to reset Homebridge. See Logs.","reset.force_restart_hb_help_text":"Use this action to force the hb-service service to do a full restart.","reset.no_accessories":"You have no cached accessories to remove.","restart.child_bridge_list":"Please restart these child bridges for the changes to apply:","restart.child_bridges":"Please restart the plugin's child bridges for the changes to apply.","restart.label_restart_command_executed":"Restart Command Executed","restart.please_wait_while_server_restarts":"Please wait, this page will automatically redirect when Homebridge is back online.","restart.server_is_taking_long_time_to_restart":"Homebridge restart is taking a long time. You may need to bring up the Homebridge service manually.","restart.service_ready":"Homebridge Ready","restart.title_restart":"Restarting Homebridge","restart.toast_server_restart_error":"An error occurred sending the restart command to the server","restart.toast_server_restart_timeout":"Homebridge is taking a long time to come back online","restart.toast_server_restarted":"Homebridge Restarted","restart.ui_online":"HB Service & UI Ready","rpi.throttled.currently_message":"This Raspberry Pi is reporting it is currently under-voltage; please check it is connected to an appropriate power supply. Under-voltage can result in system instability and SD card corruption.","rpi.throttled.previously_message":"This Raspberry Pi has reported an under-voltage event since it was last rebooted; please check it is connected to an appropriate power supply.","rpi.throttled.undervoltage_title":"Under Voltage","settings.accessory.debug":"Accessory Debug Mode","settings.accessory.debug_desc":"If enabled, the Homebridge UI will log debug level messages to the console.","settings.cache.desc":"Homebridge maintains accessories in cache so they aren't removed and re-added to HomeKit each time Homebridge restarts. Sometimes this cache can become out of sync with the actual accessories in Homebridge.","settings.changes.saved":"Your changes have been saved and require a restart to take effect.","settings.datetime.incorrect":"The date and time on your Homebridge server seem to be incorrect. This may cause unexpected issues. Click here for more information.","settings.display.blue":"Blue","settings.display.bluegrey":"Blue Grey","settings.display.brown":"Brown","settings.display.cyan":"Cyan","settings.display.dark":"Dark","settings.display.deep_purple":"Deep Purple","settings.display.green":"Green","settings.display.grey":"Grey","settings.display.indigo":"Indigo","settings.display.lang":"Language","settings.display.light":"Light","settings.display.lighting_mode":"Lighting Mode","settings.display.menu_default":"Default","settings.display.menu_freeze":"Keep Closed (On Desktop)","settings.display.menu_mode":"Menu Mode","settings.display.orange":"Orange","settings.display.pink":"Pink","settings.display.purple":"Purple","settings.display.red":"Red","settings.display.show_betas":"Prefer Beta Versions","settings.display.teal":"Teal","settings.display.temp_units":"Temperature Units","settings.display.temp_units.c":"Celsius (\xB0C)","settings.display.temp_units.f":"Fahrenheit (\xB0F)","settings.display.theme":"Theme","settings.display.wallpaper":"Wallpaper","settings.display.wallpaper_intro":"Upload a wallpaper for your Homebridge UI. This is currently shown on the login screen.","settings.display.wallpaper_rule":"You can choose an image file which is up to {{ maxFileSizeText }}.","settings.display.wallpaper_rule2":"You will need to click Save to upload the wallpaper to your Homebridge storage directory.","settings.display.wallpaper_success":"Wallpaper was successfully updated.","settings.general.title_display":"Display","settings.general.title_general":"General","settings.linux.restart":"Restart Command","settings.linux.restart_desc":"If no restart command is set the process will terminate with a non-zero exit code.","settings.linux.shutdown":"Shutdown Command","settings.linux.shutdown_desc":"If no shutdown command is set the process will terminate with a non-zero exit code.","settings.linux.temp":"Temperature File Path","settings.linux.temp_desc":"If you are running Homebridge on a Raspberry Pi, you can enter the path to the OS temperature file here. This will display the current temperature on the UI status page.","settings.matter.desc":"Enables Matter accessories on the main bridge. If only using Matter with child bridges, this setting does not need to be enabled - child bridges have independent Matter settings in their plugin bridge settings.","settings.matter.enabled_desc":"Whether to start a Matter instance and allow plugins to expose Matter accessories.","settings.matter.port":"Port","settings.matter.port_desc":"This must be between 1025 and 65533, and unique to any other configured port.","settings.matter.title":"Matter Settings","settings.mdns_advertiser":"mDNS Advertiser","settings.mdns_advertiser_exp":"experimental","settings.mdns_advertiser_help":"If you have trouble connecting Homebridge to HomeKit (all accessories showing 'No Response' in the Home app), try using one of the alternate mDNS advertisers.","settings.mdns_advertiser_not_connected":"Not Connected","settings.mdns_advertiser_rec":"recommended","settings.name":"Homebridge Name","settings.network.hb_package":"Homebridge Module Path","settings.network.hb_package_desc":"If you have multiple versions of Homebridge installed, you can specify the path to the version you want to use here.","settings.network.host":"Host IP Address","settings.network.host_desc":"The host IP address to listen on. In most cases this will be <code>::</code> or <code>0.0.0.0</code>.","settings.network.mdns_advertise":"Advertise Via mDNS","settings.network.mdns_advertise_help":"Enable mDNS advertising (using Bonjour) for your Homebridge UI, making it discoverable as an HTTP service on your local network.","settings.network.message_network_interface":"If no network interfaces are selected, Homebridge will attempt to automatically determine on which interfaces to advertise.","settings.network.port_end":"End Port","settings.network.port_end_desc":"Control the end of the range of ports that separate accessories (like camera or television) should run on. This must be between 1025 and 65533, and higher than the start port above.","settings.network.port_hb":"Homebridge Port","settings.network.port_hb_desc":"The port number to run the Homebridge bridge on. This must be between 1025 and 65533, and should not be the same as the Homebridge UI port.","settings.network.port_start":"Start Port","settings.network.port_start_desc":"Control the start of the range of ports that separate accessories (like camera or television) should run on. This must be between 1025 and 65533, and lower than the end port below.","settings.network.port_ui":"Homebridge UI Port","settings.network.port_ui_desc":"The port number to run the Homebridge UI on. This must be between 1025 and 65533, and should not be the same as the Homebridge port.","settings.network.proxy":"Reverse Proxy Hostname","settings.network.proxy_desc":"When running behind a reverse proxy you may need to enter the hostname you use to access the UI.","settings.network.title_network":"Network","settings.network.title_network_interfaces":"Network Interfaces","settings.network.title_security":"Security","settings.network.title_terminal":"Logging & Terminal","settings.network.webroot":"Webroot Path","settings.network.webroot_desc":"This can be configured if you want to access the Homebridge UI under a specific URL path.","settings.reset_bridge.error":"Failed to reset bridge.","settings.security.auth":"Authentication","settings.security.auth_desc":"Whether to enable authentication for the Homebridge UI with a username and password.","settings.security.cert":"Certificate Path","settings.security.https":"Enable HTTPS","settings.security.https_configure":"Configure HTTPS Settings","settings.security.https_desc":"Enable HTTPS using an auto-generated self-signed certificate or by providing your own certificate files.","settings.security.https_enable":"Enable HTTPS","settings.security.https_enable_desc":"Secure your Homebridge web interface with HTTPS / SSL encryption.","settings.security.https_raspbian":"HTTPS is already enabled by default when running the Homebridge Raspbian image {{ link }}.","settings.security.key":"Private Key Path","settings.security.pass":"PKCS#12 Certificate Passphrase","settings.security.pass_optional":"Optional - only required if your certificate is password protected","settings.security.pfx":"PKCS#12 Certificate Path","settings.security.selfsigned_hostnames":"Certificate Hostnames","settings.security.selfsigned_hostnames_desc":"Comma-separated list of hostnames or IP addresses to include in the certificate (e.g., localhost, 127.0.0.1, homebridge.local, 192.168.1.100)","settings.security.ssl_mode_keycert":"Upload Certificate Files","settings.security.ssl_mode_keycert_desc":"Upload your own private key and certificate files.","settings.security.ssl_mode_off":"Disable HTTPS","settings.security.ssl_mode_off_desc":"Turn off SSL encryption.","settings.security.ssl_mode_pfx":"Upload PFX Certificate","settings.security.ssl_mode_pfx_desc":"Upload a PKCS#12 (.pfx or .p12) certificate file.","settings.security.ssl_mode_selfsigned":"Self-Signed Certificate","settings.security.ssl_mode_selfsigned_desc":"Automatically generate a self-signed certificate.","settings.security.ssl_upload_success_pfx":"PKCS#12 certificate uploaded","settings.security.ui_control":"Accessory Control Lists","settings.security.ui_control_desc":"Define which bridges and bridged accessories can be controlled or blocked by the Homebridge UI.","settings.security.ui_control_desc_2":"Allow the UI to control the accessories on a bridge by toggling on the switch below.","settings.service.debug_tooltip":"Some plugins require you to set the DEBUG environment variable {{ link }} to enable debug level logging.","settings.service.node_tooltip":"Node.js runtime options for this process. This should be kept blank unless you know what you are doing.","settings.startup.debug":"Homebridge Debug Mode","settings.startup.debug_desc_v1":"Enable this if you need Homebridge to output more detailed logs. This setting applies to the main Homebridge bridge as well as all child bridges. Some plugins may also adhere to this setting and output more detailed logs.","settings.startup.debug_desc_v2":"Enable this if you need Homebridge to output more detailed logs. This setting applies to the main Homebridge bridge. The setting for child bridges can be found in the child bridge configuration from the plugins page. Some plugins may also adhere to this setting and output more detailed logs.","settings.startup.insecure":"Enable UI Accessory Control","settings.startup.insecure_desc":"To control your accessories via the Homebridge UI you must be running Homebridge in insecure mode.","settings.startup.keep_accessories":"Keep Accessories Of Uninstalled Plugins","settings.startup.keep_accessories_desc":"If enabled, accessories of platform plugins will remain in the cache even after the plugin is uninstalled. This can be useful if you plan to reinstall the plugin later.","settings.startup.metrics":"Enable Server Metric Monitoring","settings.startup.metrics_desc":"When enabled, the Homebridge UI will collect and show CPU and memory stats on the status page.","settings.startup.scheduled_restart":"Scheduled Restart Cron","settings.startup.scheduled_restart_desc":"Schedule automatic restarts relative to your timezone using a cron expression. Leave empty to disable. Create a cron expression {{ link }}.","settings.startup.scheduled_restart_desc_2":"You can apply this setting per child bridge from the plugin bridge configuration.","settings.startup.session":"Session Timeout","settings.startup.session_days":"days","settings.startup.session_desc":"The time before a user will be logged out of the UI. Defaults to 8 hours.","settings.startup.session_hours":"hours","settings.startup.session_inactivity_based":"Inactivity-Based Session Refresh","settings.startup.session_inactivity_based_desc":"When enabled, the session will automatically refresh on navigation to prevent logout during active use.","settings.startup.session_minutes":"minutes","settings.terminal.buffer_size":"Terminal Buffer Character Size","settings.terminal.buffer_size_help":"Amount of terminal output to preserve for persistent sessions. Larger values use more memory.","settings.terminal.log_max":"Log Max Size","settings.terminal.log_max_desc":"The max log size (bytes). Set to -1 to disable log truncation.","settings.terminal.log_truncate":"Log Truncate Size","settings.terminal.log_truncate_desc":"The size (bytes) to truncate the log to once it goes over the max size specified above.","settings.terminal.persistence":"Terminal Session Persistence","settings.terminal.persistence_confirm_message":"Disabling terminal session persistence will terminate your current terminal session.","settings.terminal.persistence_confirm_title":"Disable Terminal Session Persistence","settings.terminal.persistence_help":"When enabled, terminal sessions will persist when navigating away and can be resumed when returning to the terminal page (or status page widget). Terminal sessions are shared across Homebridge UI admin users.","settings.terminal.warning":"Hide Terminal Termination Warning","settings.terminal.warning_help":"When enabled, the warning dialog will not be shown before terminating non-persistent terminal sessions.","settings.title_startup_options":"Startup & Environment","settings.unpair_bridge.load_error":"Paired bridges could not be loaded.","settings.warning_pwa":"This setting cannot be changed when accessing the UI from a PWA, please use a regular browser.","settings.warning_webroot":"Homebridge does not have write access to the served <code>index.html</code> file. To set up a webroot, please fix this issue and restart the Homebridge service.","setup.button_get_started":"Get Started","setup.create_account":"Create Account","setup.intro":"If you are setting up for the first time, or if you just need to reset the password for your existing Homebridge setup, then choose <strong>Get Started</strong>.","setup.welcome_to_homebridge":"Welcome to Homebridge",setup_wizard_complete:"Restore Complete!",setup_wizard_complete_title:"Congratulations!",setup_wizard_completed:"The setup procedure is complete and you are now ready to start using Homebridge.",setup_wizard_create_info:"Once Homebridge is set up, you can set up 2FA on your account, or disable the need for authentication altogether.",setup_wizard_page_title:"Setup Homebridge",setup_wizard_restore:"Restore From Backup",setup_wizard_restoring:"Restoring Backup...",setup_wizard_starting:"Starting Homebridge...","status.code_scan":"Scan to add to HomeKit","status.cpu.load":"Load","status.cpu.temp":"Temp","status.cpu.title_cpu":"CPU","status.credits.plugins_thanks":"Homebridge plugins are created by awesome developers in the Homebridge community.","status.credits.supporters":"Supporters","status.credits.title":"Credits","status.credits.translations":"Translations","status.credits.translations_thanks":"Homebridge UI translations are provided by the community, with special thanks to:","status.homebridge.checking":"Checking for updates\u2026","status.homebridge.up_to_date":"Up to Date","status.memory.label_available":"Available","status.memory.label_total":"Total","status.memory.title_memory":"Memory","status.network.received_per_second":"Received","status.network.sent_per_second":"Sent","status.network.title_network":"Network Activity","status.readiness.node_no":"Your version of Node.js is not compatible with {{ app }}.","status.readiness.node_yes":"Your version of Node.js is compatible with {{ app }}.","status.readiness.title":"{{ app }} Readiness","status.services.label_not_enabled":"Not Enabled","status.services.label_not_running":"Not Running","status.services.label_running":"Running","status.services.updates":"Update Information","status.uptime.title_uptime":"Uptime","status.widget.accessories.choose_accessories":"Choose the accessories to display in this widget from the Accessories page.","status.widget.account_1":"The widget layout is shared among all Homebridge UI users.","status.widget.account_2":"Admin users can modify the layout, while non-admin users cannot make changes.","status.widget.add.label_pairing_code":"Pairing Code","status.widget.add.matter_pairing_code":"Matter Pairing Code","status.widget.bridge.restart_error":"Failed to restart child bridge.","status.widget.clock":"Clock","status.widget.clock_dateformat":"Date Format","status.widget.clock_timeformat":"Time Format","status.widget.expand_docker":"Expand Docker Container Information","status.widget.font_size":"Font Size","status.widget.font_weight":"Font Weight","status.widget.hide_node_info":"Hide Node.js Updates","status.widget.hide_npm":"Show npm Version","status.widget.hide_on_mobile":"Hide in compact view (mobile displays)","status.widget.homebridge_logs":"Homebridge Logs","status.widget.info":"System Information","status.widget.info.arch":"Arch.","status.widget.info.config_path":"Config Path","status.widget.info.docker":"Docker","status.widget.info.docker_update_message":"Updating the Docker container requires manually pulling the latest image and restarting the container. Homebridge does not perform this automatically. Refer to your Docker image's documentation for update instructions.","status.widget.info.docker_update_title":"Docker Container Update","status.widget.info.hostname":"Hostname","status.widget.info.ipv4":"IPv4","status.widget.info.ipv6":"IPv6","status.widget.info.no":"No","status.widget.info.node_major":"Node.js Major Versions","status.widget.info.node_next_no":"Your current architecture ({{ architecture }}) is 32-bit, which is not supported. You will need to migrate to a 64-bit system. Please use Node.js v22 instead, which we will be supporting until April 2027.","status.widget.info.node_next_yes":"Your current architecture ({{ architecture }}) supports Node.js v24, so you can upgrade when you are ready.","status.widget.info.node_unsupp":"Unsupported","status.widget.info.node_unsupp_message":"You are running a version of Node.js that is not officially supported by Homebridge. You should consider changing to a supported version.","status.widget.info.node_update_message":"Homebridge requires Node.js installed on your system to run. From time to time, you will need to update the Node.js runtime to enable support for new features. Homebridge (and verified plugins) support all current Active and Maintenance LTS releases of Node.js.","status.widget.info.node_update_message_2":"For Docker/Synology users, the Node.js version is managed by the Docker image or Synology package. You can hide Node.js update information using the widget settings.","status.widget.info.nodejs_path":"Node.js Path","status.widget.info.os":"OS","status.widget.info.plugin_path":"Plugin Path","status.widget.info.service_user":"User","status.widget.info.storage_path":"Storage Path","status.widget.info.synology_package":"Synology Package","status.widget.info.timezone":"Time Zone","status.widget.info.yes":"Yes","status.widget.network.history_items":"History Items","status.widget.network.items":"items","status.widget.network.network_interface":"Network Interface","status.widget.network.none_selected":"Using Default","status.widget.network.refresh_interval":"Refresh Interval","status.widget.network.seconds":"seconds","status.widget.qr_paired":"Paired","status.widget.qr_unpaired":"Not Paired","status.widget.show_hide":"Show/Hide Widgets","status.widget.title_manage_widget":"Manage Widget","status.widget.update_node_no":"{{ pluginName }} is not compatible with Node {{ nodeVersion }}.","status.widget.update_node_unknown":"The developer of {{ pluginName }} has not specified the Node version compatibility.","status.widget.update_node_yes":"{{ pluginName }} is compatible with Node {{ nodeVersion }}.","status.widget.uptime.label_process":"Process","status.widget.uptime.label_server":"Server","status.widget.weather.label_config_required_help":"Please select your city in the widget settings.","status.widget.weather.label_search_for_your_city":"Search for your city in English:","status.widget.weather.title_weather":"Weather","support.dev.api":"Homebridge API","support.dev.api_hap":"HAP-NodeJS API","support.dev.api_hap_sub":"HAP-NodeJS is an implementation of the HomeKit Accessory Server as specified in the HomeKit Accessory Protocol (HAP), which is defined by Apple as part of the HomeKit Framework.","support.dev.api_sub":"Homebridge is a lightweight Node.js server you can run on your home network to emulate the HomeKit Accessory Protocol (HAP).","support.dev.item_swagger":"Swagger Docs","support.dev.item_swagger_sub":"The Homebridge REST API allows you to interact with your Homebridge server using HTTP requests.","support.dev.template":"Plugin Template Repo","support.dev.template_sub":"A template Homebridge plugin that can be used as a base to help you get started developing your own plugin.","support.dev.title":"Developers","support.dev.verified":"Verified By Homebridge","support.dev.verified_sub":"The Verified By Homebridge program allows plugin developers to get their plugins reviewed and endorsed by the Homebridge project team.","support.links.discord":"Discord Server","support.links.discord_sub":"Join the Homebridge Discord chat server to chat with other users and developers.","support.links.documentation":"Documentation","support.links.documentation_sub":"The Homebridge documentation provides a wealth of information on how to get started with Homebridge and common issue resolutions.","support.links.issue":"Report An Issue","support.links.issue_sub":"If you are experiencing an issue with Homebridge, please open a new issue on GitHub. This should not be used for issues with specific plugins.","support.links.reddit":"Reddit Community","support.links.reddit_sub":"The Homebridge subreddit is a great place to share your Homebridge setup and ask for help.","support.links.title":"Useful Links","support.title":"Support","toast.no_auth":"Only administrators may access the requested page.","toast.title_error":"Error","toast.title_success":"Success","toast.title_warning":"Warning","users.button_add_user":"Add User","users.label_admin_user":"Admin User?","users.label_confirm_password":"Confirm Password","users.label_full_name":"Full Name","users.label_new_password":"New Password","users.label_password":"Password","users.label_username":"Username","users.setup_2fa":"Setup 2FA","users.setup_2fa_activate_error":"An error occurred activating 2FA","users.setup_2fa_cannot_setup_2fa":"Cannot Setup 2FA","users.setup_2fa_disable":"Disable 2FA","users.setup_2fa_disable_current_password":"Enter your current password to disable two factor authentication:","users.setup_2fa_disable_success":"Two factor authentication has been disabled.","users.setup_2fa_enable":"Enable 2FA","users.setup_2fa_enable_error":"An error occurred setting up 2FA","users.setup_2fa_enabled_success":"Two factor authentication has been enabled.","users.setup_2fa_enter_code":"Enter the code from your authenticator app:","users.setup_2fa_scan_qr_code":"Scan the QR code below with your authenticator app:","users.setup_2fa_scan_qr_manual":"If you cannot scan the QR code, you can enter the following secret key manually:","users.setup_2fa_server_time_out":"Your server's clock is out by {{ timeDiffError }} ms. The maximum allowed is +/-5000 ms.","users.setup_2fa_warning":"Two Factor Authentication requires your Homebridge server to have a very accurate date and time to login. If your server does not have the ability to keep time accurately you should not enable 2FA, otherwise you risk being locked out of the Homebridge UI.","users.support.acc_1":"There are two types of users that can access the Homebridge UI: admin and non-admin users. Admins can access and control everything available in the UI. Non-admin users have a read-only view of the following pages:","users.support.acc_2":"2FA can only be set up on admin accounts, and must do this via the users page logged in as themselves.","users.support.control":"can be controlled","users.title_add_user":"Add User","users.title_edit_user":"Edit User","users.title_users":"Users","users.toast_added_new_user":"Added New User","users.toast_failed_to_add_user":"Failed to Add User","users.toast_failed_to_delete_user":"Failed to Delete User","users.toast_updated_user":"User Updated","users.toast_user_deleted":"User Deleted"}});export{s as a};
@@ -1,12 +0,0 @@
1
- import{a as z,b as S,c as F}from"./chunk-BMOLDRJ3.js";import{a}from"./chunk-OS475ZQO.js";import{F as c,X as f,aa as u,d as m}from"./chunk-HUTYOGRH.js";import{g as h}from"./chunk-B4AJQJMI.js";var d=h(z(),1),p=h(S(),1),b=h(F(),1);var B=(()=>{class s{$ws=u(a);io;fitAddon;webLinksAddon;resize;elementResize;pluginName;connectedSubscription;resizeSubscription;elementResizeSubscription;searchFilter=null;logBuffer=[];maxBufferSize=1e3;term;startTerminal(e,r={},n,w){this.pluginName=w,this.elementResize=n,this.io=this.$ws.connectToNamespace("log"),this.fitAddon=new d.FitAddon,this.webLinksAddon=new p.WebLinksAddon,this.term=new b.Terminal(r),this.term.loadAddon(this.fitAddon),this.term.loadAddon(this.webLinksAddon),this.resize=new m,this.term.open(e.nativeElement),setTimeout(()=>{this.fitAddon.fit()}),this.connectedSubscription=this.io.connected.subscribe(()=>{this.term.reset(),this.logBuffer=[],this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows})}),this.io.socket.connected&&this.io.socket.emit("tail-log",{cols:this.term.cols,rows:this.term.rows}),this.io.socket.on("disconnect",()=>{this.term.write(`
2
- \r
3
- \rWebsocket failed to connect. Is the server running?
4
- \r
5
- \r`)}),this.resizeSubscription=this.resize.pipe(c(500)).subscribe(i=>{this.io.socket.emit("resize",i)}),this.io.socket.on("stdout",i=>{if(this.pluginName){let l=i.split(`
6
- \r`),t=!1;l.forEach(o=>{if(o){if(t)if(o.match(/36m\[.*?\]/))t=!1;else{this.term.write(`${o}
7
- \r`);return}o.includes(`36m[${this.pluginName}]`)&&(this.term.write(`${o}
8
- \r`),t=!0)}})}else this.logBuffer.push(i),this.logBuffer.length>this.maxBufferSize&&this.logBuffer.shift(),this.searchFilter?i.split(`
9
- \r`).forEach(t=>{t&&this.lineMatchesFilter(t)&&this.term.write(`${t}
10
- \r`)}):this.term.write(i)}),this.term.onResize(i=>{this.resize.next(i)}),this.elementResize&&(this.elementResizeSubscription=this.elementResize.pipe(c(100)).subscribe({next:()=>{this.fitAddon.fit()}}))}setSearchFilter(e){this.searchFilter=e.toLowerCase(),this.redrawTerminalWithFilter()}clearSearchFilter(){this.searchFilter=null,this.redrawTerminalWithFilter()}getSearchFilter(){return this.searchFilter}scrollToBottom(){this.term&&setTimeout(()=>this.term.scrollToLine(this.term.buffer.active.length),10)}lineMatchesFilter(e){return this.searchFilter?e.replace(/\x1b\[[0-9;]*m/g,"").toLowerCase().includes(this.searchFilter):!0}redrawTerminalWithFilter(){this.term&&(this.term.clear(),this.logBuffer.forEach(e=>{this.searchFilter?e.split(`
11
- \r`).forEach(n=>{n&&this.lineMatchesFilter(n)&&this.term.write(`${n}
12
- \r`)}):this.term.write(e)}))}destroyTerminal(){this.connectedSubscription&&(this.connectedSubscription.unsubscribe(),this.connectedSubscription=null),this.resizeSubscription&&(this.resizeSubscription.unsubscribe(),this.resizeSubscription=null),this.elementResizeSubscription&&(this.elementResizeSubscription.unsubscribe(),this.elementResizeSubscription=null),this.io&&this.io.socket&&(this.io.socket.removeAllListeners("stdout"),this.io.socket.removeAllListeners("disconnect")),this.io&&this.io.end(),this.term&&this.term.dispose(),this.resize&&this.resize.complete(),this.elementResize&&this.elementResize.complete(),this.logBuffer=[],this.searchFilter=null}static \u0275fac=function(r){return new(r||s)};static \u0275prov=f({token:s,factory:s.\u0275fac,providedIn:"root"})}return s})();export{B as a};
@@ -1 +0,0 @@
1
- import{e as a}from"./chunk-PD3Q2PZE.js";import{E as n,H as p,K as i}from"./chunk-AWTSOXJ2.js";import{aa as r}from"./chunk-HUTYOGRH.js";import{h as o}from"./chunk-B4AJQJMI.js";var c=()=>o(null,null,function*(){let t=r(i),s=r(a),m=r(p),h=r(n);try{return yield t.get("/platform-tools/docker/startup-script")}catch(e){console.error(e),m.error(e.message,h.instant("toast.title_error")),s.navigate(["/"]);return}});var R=[{path:"",redirectTo:"/",pathMatch:"full"},{path:"docker",children:[{path:"",redirectTo:"/",pathMatch:"full"},{path:"startup-script",loadComponent:()=>import("./chunk-6CBJSM3U.js").then(t=>t.StartupScriptComponent),resolve:{startupScript:c}},{path:"restart-container",loadComponent:()=>import("./chunk-KV4RQA3A.js").then(t=>t.ContainerRestartComponent)}]},{path:"linux",children:[{path:"",redirectTo:"/",pathMatch:"full"},{path:"restart-server",loadComponent:()=>import("./chunk-4XUH7NXA.js").then(t=>t.RestartLinuxComponent)},{path:"shutdown-server",loadComponent:()=>import("./chunk-3N7C33O4.js").then(t=>t.ShutdownLinuxComponent)}]},{path:"terminal",loadComponent:()=>import("./chunk-DSSLC7R5.js").then(t=>t.TerminalComponent),canDeactivate:[t=>t.canDeactivate?t.canDeactivate():!0]}];export{R as PLATFORM_TOOLS_ROUTES};