ysk-server-shared 1.1.0 → 1.1.9

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 (406) hide show
  1. package/dist/cdn.d.ts +2 -0
  2. package/dist/cdn.d.ts.map +1 -1
  3. package/dist/dto.d.ts +1 -1
  4. package/dist/dto.d.ts.map +1 -1
  5. package/dist/ftp.d.ts +6 -0
  6. package/dist/ftp.d.ts.map +1 -1
  7. package/dist/migrate.d.ts +1 -0
  8. package/dist/migrate.d.ts.map +1 -1
  9. package/dist/route-capabilities.d.ts.map +1 -1
  10. package/dist/route-capabilities.js +10 -0
  11. package/dist/route-capabilities.js.map +1 -1
  12. package/dist/validators.d.ts +39 -2
  13. package/dist/validators.d.ts.map +1 -1
  14. package/dist/validators.js +12 -0
  15. package/dist/validators.js.map +1 -1
  16. package/locales/ar/agents.json +7 -2
  17. package/locales/ar/apache.json +3 -1
  18. package/locales/ar/backups.json +17 -1
  19. package/locales/ar/btTracker.json +4 -1
  20. package/locales/ar/cdn.json +3 -1
  21. package/locales/ar/common.json +2 -1
  22. package/locales/ar/cron.json +4 -1
  23. package/locales/ar/dashboard.json +4 -2
  24. package/locales/ar/db.json +18 -1
  25. package/locales/ar/dns.json +5 -1
  26. package/locales/ar/docker.json +2 -1
  27. package/locales/ar/email.json +4 -1
  28. package/locales/ar/files.json +2 -1
  29. package/locales/ar/ftp.json +17 -1
  30. package/locales/ar/hostBrowse.json +3 -1
  31. package/locales/ar/migrate.json +14 -1
  32. package/locales/ar/network.json +3 -1
  33. package/locales/ar/nginx.json +4 -1
  34. package/locales/ar/notes.json +42 -6
  35. package/locales/ar/projects.json +2 -1
  36. package/locales/ar/protection.json +3 -1
  37. package/locales/ar/publicFiles.json +5 -1
  38. package/locales/ar/redis.json +6 -1
  39. package/locales/ar/security.json +3 -1
  40. package/locales/ar/services.json +9 -1
  41. package/locales/ar/system.json +7 -2
  42. package/locales/ar/translation.json +267 -41
  43. package/locales/ar/updates.json +2 -1
  44. package/locales/ar/validators.json +64 -5
  45. package/locales/ar/vnc.json +8 -1
  46. package/locales/bn/agents.json +7 -2
  47. package/locales/bn/apache.json +3 -1
  48. package/locales/bn/backups.json +17 -1
  49. package/locales/bn/btTracker.json +4 -1
  50. package/locales/bn/cdn.json +3 -1
  51. package/locales/bn/common.json +2 -1
  52. package/locales/bn/cron.json +4 -1
  53. package/locales/bn/dashboard.json +4 -2
  54. package/locales/bn/db.json +18 -1
  55. package/locales/bn/dns.json +5 -1
  56. package/locales/bn/docker.json +2 -1
  57. package/locales/bn/email.json +4 -1
  58. package/locales/bn/files.json +2 -1
  59. package/locales/bn/ftp.json +17 -1
  60. package/locales/bn/hostBrowse.json +3 -1
  61. package/locales/bn/migrate.json +14 -1
  62. package/locales/bn/network.json +3 -1
  63. package/locales/bn/nginx.json +4 -1
  64. package/locales/bn/notes.json +42 -6
  65. package/locales/bn/projects.json +2 -1
  66. package/locales/bn/protection.json +3 -1
  67. package/locales/bn/publicFiles.json +5 -1
  68. package/locales/bn/redis.json +6 -1
  69. package/locales/bn/security.json +3 -1
  70. package/locales/bn/services.json +9 -1
  71. package/locales/bn/system.json +7 -2
  72. package/locales/bn/translation.json +267 -41
  73. package/locales/bn/updates.json +2 -1
  74. package/locales/bn/validators.json +64 -5
  75. package/locales/bn/vnc.json +8 -1
  76. package/locales/en/agents.json +5 -0
  77. package/locales/en/apache.json +2 -0
  78. package/locales/en/backups.json +18 -2
  79. package/locales/en/btTracker.json +5 -2
  80. package/locales/en/cdn.json +3 -1
  81. package/locales/en/common.json +1 -0
  82. package/locales/en/cron.json +3 -0
  83. package/locales/en/dashboard.json +3 -1
  84. package/locales/en/db.json +17 -0
  85. package/locales/en/dns.json +4 -0
  86. package/locales/en/docker.json +1 -0
  87. package/locales/en/email.json +3 -0
  88. package/locales/en/files.json +1 -0
  89. package/locales/en/ftp.json +16 -0
  90. package/locales/en/hostBrowse.json +2 -0
  91. package/locales/en/migrate.json +14 -1
  92. package/locales/en/network.json +2 -0
  93. package/locales/en/nginx.json +4 -1
  94. package/locales/en/notes.json +45 -6
  95. package/locales/en/projects.json +1 -0
  96. package/locales/en/protection.json +2 -0
  97. package/locales/en/publicFiles.json +5 -1
  98. package/locales/en/redis.json +5 -0
  99. package/locales/en/security.json +2 -0
  100. package/locales/en/services.json +8 -0
  101. package/locales/en/system.json +7 -2
  102. package/locales/en/translation.json +252 -26
  103. package/locales/en/updates.json +1 -0
  104. package/locales/en/validators.json +65 -6
  105. package/locales/en/vnc.json +7 -0
  106. package/locales/es/agents.json +7 -2
  107. package/locales/es/apache.json +3 -1
  108. package/locales/es/backups.json +17 -1
  109. package/locales/es/btTracker.json +4 -1
  110. package/locales/es/cdn.json +3 -1
  111. package/locales/es/common.json +2 -1
  112. package/locales/es/cron.json +4 -1
  113. package/locales/es/dashboard.json +4 -2
  114. package/locales/es/db.json +18 -1
  115. package/locales/es/dns.json +5 -1
  116. package/locales/es/docker.json +2 -1
  117. package/locales/es/email.json +4 -1
  118. package/locales/es/files.json +2 -1
  119. package/locales/es/ftp.json +17 -1
  120. package/locales/es/hostBrowse.json +3 -1
  121. package/locales/es/migrate.json +14 -1
  122. package/locales/es/network.json +3 -1
  123. package/locales/es/nginx.json +4 -1
  124. package/locales/es/notes.json +42 -6
  125. package/locales/es/projects.json +2 -1
  126. package/locales/es/protection.json +3 -1
  127. package/locales/es/publicFiles.json +5 -1
  128. package/locales/es/redis.json +6 -1
  129. package/locales/es/security.json +3 -1
  130. package/locales/es/services.json +9 -1
  131. package/locales/es/system.json +7 -2
  132. package/locales/es/translation.json +267 -41
  133. package/locales/es/updates.json +2 -1
  134. package/locales/es/validators.json +64 -5
  135. package/locales/es/vnc.json +8 -1
  136. package/locales/fr/agents.json +7 -2
  137. package/locales/fr/apache.json +3 -1
  138. package/locales/fr/backups.json +17 -1
  139. package/locales/fr/btTracker.json +4 -1
  140. package/locales/fr/cdn.json +3 -1
  141. package/locales/fr/common.json +2 -1
  142. package/locales/fr/cron.json +4 -1
  143. package/locales/fr/dashboard.json +4 -2
  144. package/locales/fr/db.json +18 -1
  145. package/locales/fr/dns.json +5 -1
  146. package/locales/fr/docker.json +2 -1
  147. package/locales/fr/email.json +4 -1
  148. package/locales/fr/files.json +2 -1
  149. package/locales/fr/ftp.json +17 -1
  150. package/locales/fr/hostBrowse.json +3 -1
  151. package/locales/fr/migrate.json +14 -1
  152. package/locales/fr/network.json +3 -1
  153. package/locales/fr/nginx.json +4 -1
  154. package/locales/fr/notes.json +42 -6
  155. package/locales/fr/projects.json +2 -1
  156. package/locales/fr/protection.json +3 -1
  157. package/locales/fr/publicFiles.json +5 -1
  158. package/locales/fr/redis.json +6 -1
  159. package/locales/fr/security.json +3 -1
  160. package/locales/fr/services.json +9 -1
  161. package/locales/fr/system.json +7 -2
  162. package/locales/fr/translation.json +267 -41
  163. package/locales/fr/updates.json +2 -1
  164. package/locales/fr/validators.json +64 -5
  165. package/locales/fr/vnc.json +8 -1
  166. package/locales/hi/agents.json +7 -2
  167. package/locales/hi/apache.json +3 -1
  168. package/locales/hi/backups.json +17 -1
  169. package/locales/hi/btTracker.json +4 -1
  170. package/locales/hi/cdn.json +3 -1
  171. package/locales/hi/common.json +2 -1
  172. package/locales/hi/cron.json +4 -1
  173. package/locales/hi/dashboard.json +4 -2
  174. package/locales/hi/db.json +18 -1
  175. package/locales/hi/dns.json +5 -1
  176. package/locales/hi/docker.json +2 -1
  177. package/locales/hi/email.json +4 -1
  178. package/locales/hi/files.json +2 -1
  179. package/locales/hi/ftp.json +17 -1
  180. package/locales/hi/hostBrowse.json +3 -1
  181. package/locales/hi/migrate.json +14 -1
  182. package/locales/hi/network.json +3 -1
  183. package/locales/hi/nginx.json +4 -1
  184. package/locales/hi/notes.json +42 -6
  185. package/locales/hi/projects.json +2 -1
  186. package/locales/hi/protection.json +3 -1
  187. package/locales/hi/publicFiles.json +5 -1
  188. package/locales/hi/redis.json +6 -1
  189. package/locales/hi/security.json +3 -1
  190. package/locales/hi/services.json +9 -1
  191. package/locales/hi/system.json +7 -2
  192. package/locales/hi/translation.json +267 -41
  193. package/locales/hi/updates.json +2 -1
  194. package/locales/hi/validators.json +64 -5
  195. package/locales/hi/vnc.json +8 -1
  196. package/locales/id/agents.json +7 -2
  197. package/locales/id/apache.json +3 -1
  198. package/locales/id/backups.json +17 -1
  199. package/locales/id/btTracker.json +4 -1
  200. package/locales/id/cdn.json +3 -1
  201. package/locales/id/common.json +2 -1
  202. package/locales/id/cron.json +4 -1
  203. package/locales/id/dashboard.json +4 -2
  204. package/locales/id/db.json +18 -1
  205. package/locales/id/dns.json +5 -1
  206. package/locales/id/docker.json +2 -1
  207. package/locales/id/email.json +4 -1
  208. package/locales/id/files.json +2 -1
  209. package/locales/id/ftp.json +17 -1
  210. package/locales/id/hostBrowse.json +3 -1
  211. package/locales/id/migrate.json +14 -1
  212. package/locales/id/network.json +3 -1
  213. package/locales/id/nginx.json +4 -1
  214. package/locales/id/notes.json +42 -6
  215. package/locales/id/projects.json +2 -1
  216. package/locales/id/protection.json +3 -1
  217. package/locales/id/publicFiles.json +5 -1
  218. package/locales/id/redis.json +6 -1
  219. package/locales/id/security.json +3 -1
  220. package/locales/id/services.json +9 -1
  221. package/locales/id/system.json +7 -2
  222. package/locales/id/translation.json +267 -41
  223. package/locales/id/updates.json +2 -1
  224. package/locales/id/validators.json +64 -5
  225. package/locales/id/vnc.json +8 -1
  226. package/locales/ja/agents.json +7 -2
  227. package/locales/ja/apache.json +3 -1
  228. package/locales/ja/backups.json +17 -1
  229. package/locales/ja/btTracker.json +4 -1
  230. package/locales/ja/cdn.json +3 -1
  231. package/locales/ja/common.json +2 -1
  232. package/locales/ja/cron.json +4 -1
  233. package/locales/ja/dashboard.json +4 -2
  234. package/locales/ja/db.json +18 -1
  235. package/locales/ja/dns.json +5 -1
  236. package/locales/ja/docker.json +2 -1
  237. package/locales/ja/email.json +4 -1
  238. package/locales/ja/files.json +2 -1
  239. package/locales/ja/ftp.json +17 -1
  240. package/locales/ja/hostBrowse.json +3 -1
  241. package/locales/ja/migrate.json +14 -1
  242. package/locales/ja/network.json +3 -1
  243. package/locales/ja/nginx.json +4 -1
  244. package/locales/ja/notes.json +42 -6
  245. package/locales/ja/projects.json +2 -1
  246. package/locales/ja/protection.json +3 -1
  247. package/locales/ja/publicFiles.json +5 -1
  248. package/locales/ja/redis.json +6 -1
  249. package/locales/ja/security.json +3 -1
  250. package/locales/ja/services.json +9 -1
  251. package/locales/ja/system.json +7 -2
  252. package/locales/ja/translation.json +267 -41
  253. package/locales/ja/updates.json +2 -1
  254. package/locales/ja/validators.json +64 -5
  255. package/locales/ja/vnc.json +8 -1
  256. package/locales/ko/agents.json +7 -2
  257. package/locales/ko/apache.json +3 -1
  258. package/locales/ko/backups.json +17 -1
  259. package/locales/ko/btTracker.json +4 -1
  260. package/locales/ko/cdn.json +3 -1
  261. package/locales/ko/common.json +2 -1
  262. package/locales/ko/cron.json +4 -1
  263. package/locales/ko/dashboard.json +4 -2
  264. package/locales/ko/db.json +18 -1
  265. package/locales/ko/dns.json +5 -1
  266. package/locales/ko/docker.json +2 -1
  267. package/locales/ko/email.json +4 -1
  268. package/locales/ko/files.json +2 -1
  269. package/locales/ko/ftp.json +17 -1
  270. package/locales/ko/hostBrowse.json +3 -1
  271. package/locales/ko/migrate.json +14 -1
  272. package/locales/ko/network.json +3 -1
  273. package/locales/ko/nginx.json +4 -1
  274. package/locales/ko/notes.json +42 -6
  275. package/locales/ko/projects.json +2 -1
  276. package/locales/ko/protection.json +3 -1
  277. package/locales/ko/publicFiles.json +5 -1
  278. package/locales/ko/redis.json +6 -1
  279. package/locales/ko/security.json +3 -1
  280. package/locales/ko/services.json +9 -1
  281. package/locales/ko/system.json +7 -2
  282. package/locales/ko/translation.json +267 -41
  283. package/locales/ko/updates.json +2 -1
  284. package/locales/ko/validators.json +64 -5
  285. package/locales/ko/vnc.json +8 -1
  286. package/locales/pt/agents.json +7 -2
  287. package/locales/pt/apache.json +3 -1
  288. package/locales/pt/backups.json +17 -1
  289. package/locales/pt/btTracker.json +4 -1
  290. package/locales/pt/cdn.json +3 -1
  291. package/locales/pt/common.json +2 -1
  292. package/locales/pt/cron.json +4 -1
  293. package/locales/pt/dashboard.json +4 -2
  294. package/locales/pt/db.json +18 -1
  295. package/locales/pt/dns.json +5 -1
  296. package/locales/pt/docker.json +2 -1
  297. package/locales/pt/email.json +4 -1
  298. package/locales/pt/files.json +2 -1
  299. package/locales/pt/ftp.json +17 -1
  300. package/locales/pt/hostBrowse.json +3 -1
  301. package/locales/pt/migrate.json +14 -1
  302. package/locales/pt/network.json +3 -1
  303. package/locales/pt/nginx.json +4 -1
  304. package/locales/pt/notes.json +42 -6
  305. package/locales/pt/projects.json +2 -1
  306. package/locales/pt/protection.json +3 -1
  307. package/locales/pt/publicFiles.json +5 -1
  308. package/locales/pt/redis.json +6 -1
  309. package/locales/pt/security.json +3 -1
  310. package/locales/pt/services.json +9 -1
  311. package/locales/pt/system.json +7 -2
  312. package/locales/pt/translation.json +267 -41
  313. package/locales/pt/updates.json +2 -1
  314. package/locales/pt/validators.json +64 -5
  315. package/locales/pt/vnc.json +8 -1
  316. package/locales/ur/agents.json +7 -2
  317. package/locales/ur/apache.json +3 -1
  318. package/locales/ur/backups.json +17 -1
  319. package/locales/ur/btTracker.json +4 -1
  320. package/locales/ur/cdn.json +3 -1
  321. package/locales/ur/common.json +2 -1
  322. package/locales/ur/cron.json +4 -1
  323. package/locales/ur/dashboard.json +4 -2
  324. package/locales/ur/db.json +18 -1
  325. package/locales/ur/dns.json +5 -1
  326. package/locales/ur/docker.json +2 -1
  327. package/locales/ur/email.json +4 -1
  328. package/locales/ur/files.json +2 -1
  329. package/locales/ur/ftp.json +17 -1
  330. package/locales/ur/hostBrowse.json +3 -1
  331. package/locales/ur/migrate.json +14 -1
  332. package/locales/ur/network.json +3 -1
  333. package/locales/ur/nginx.json +4 -1
  334. package/locales/ur/notes.json +42 -6
  335. package/locales/ur/projects.json +2 -1
  336. package/locales/ur/protection.json +3 -1
  337. package/locales/ur/publicFiles.json +5 -1
  338. package/locales/ur/redis.json +6 -1
  339. package/locales/ur/security.json +3 -1
  340. package/locales/ur/services.json +9 -1
  341. package/locales/ur/system.json +7 -2
  342. package/locales/ur/translation.json +267 -41
  343. package/locales/ur/updates.json +2 -1
  344. package/locales/ur/validators.json +64 -5
  345. package/locales/ur/vnc.json +8 -1
  346. package/locales/zh-CN/agents.json +7 -2
  347. package/locales/zh-CN/apache.json +3 -1
  348. package/locales/zh-CN/backups.json +17 -1
  349. package/locales/zh-CN/btTracker.json +4 -1
  350. package/locales/zh-CN/cdn.json +3 -1
  351. package/locales/zh-CN/common.json +2 -1
  352. package/locales/zh-CN/cron.json +4 -1
  353. package/locales/zh-CN/dashboard.json +4 -2
  354. package/locales/zh-CN/db.json +18 -1
  355. package/locales/zh-CN/dns.json +5 -1
  356. package/locales/zh-CN/docker.json +2 -1
  357. package/locales/zh-CN/email.json +4 -1
  358. package/locales/zh-CN/files.json +2 -1
  359. package/locales/zh-CN/ftp.json +17 -1
  360. package/locales/zh-CN/hostBrowse.json +3 -1
  361. package/locales/zh-CN/migrate.json +14 -1
  362. package/locales/zh-CN/network.json +3 -1
  363. package/locales/zh-CN/nginx.json +4 -1
  364. package/locales/zh-CN/notes.json +42 -6
  365. package/locales/zh-CN/projects.json +2 -1
  366. package/locales/zh-CN/protection.json +3 -1
  367. package/locales/zh-CN/publicFiles.json +5 -1
  368. package/locales/zh-CN/redis.json +6 -1
  369. package/locales/zh-CN/security.json +3 -1
  370. package/locales/zh-CN/services.json +9 -1
  371. package/locales/zh-CN/system.json +7 -2
  372. package/locales/zh-CN/translation.json +267 -41
  373. package/locales/zh-CN/updates.json +2 -1
  374. package/locales/zh-CN/validators.json +64 -5
  375. package/locales/zh-CN/vnc.json +8 -1
  376. package/locales/zh-HK/agents.json +5 -0
  377. package/locales/zh-HK/apache.json +2 -0
  378. package/locales/zh-HK/backups.json +18 -2
  379. package/locales/zh-HK/btTracker.json +5 -2
  380. package/locales/zh-HK/cdn.json +3 -1
  381. package/locales/zh-HK/common.json +1 -0
  382. package/locales/zh-HK/cron.json +3 -0
  383. package/locales/zh-HK/dashboard.json +3 -1
  384. package/locales/zh-HK/db.json +17 -0
  385. package/locales/zh-HK/dns.json +4 -0
  386. package/locales/zh-HK/docker.json +1 -0
  387. package/locales/zh-HK/email.json +3 -0
  388. package/locales/zh-HK/files.json +1 -0
  389. package/locales/zh-HK/ftp.json +16 -0
  390. package/locales/zh-HK/hostBrowse.json +2 -0
  391. package/locales/zh-HK/migrate.json +14 -1
  392. package/locales/zh-HK/network.json +2 -0
  393. package/locales/zh-HK/nginx.json +4 -1
  394. package/locales/zh-HK/notes.json +45 -9
  395. package/locales/zh-HK/projects.json +1 -0
  396. package/locales/zh-HK/protection.json +2 -0
  397. package/locales/zh-HK/publicFiles.json +5 -1
  398. package/locales/zh-HK/redis.json +5 -0
  399. package/locales/zh-HK/security.json +2 -0
  400. package/locales/zh-HK/services.json +8 -0
  401. package/locales/zh-HK/system.json +7 -2
  402. package/locales/zh-HK/translation.json +252 -26
  403. package/locales/zh-HK/updates.json +1 -0
  404. package/locales/zh-HK/validators.json +65 -6
  405. package/locales/zh-HK/vnc.json +7 -0
  406. package/package.json +8 -9
@@ -15,7 +15,9 @@
15
15
  "failed": "실패한",
16
16
  "error": "오류",
17
17
  "unknown": "프로브되지 않음",
18
- "fallback": "알 수 없음"
18
+ "fallback": "알 수 없음",
19
+ "activating": "Starting",
20
+ "stuck": "Start stuck"
19
21
  },
20
22
  "liveN": "{{count}} 온라인",
21
23
  "registeredOnly": "등록만 됨",
@@ -140,7 +142,10 @@
140
142
  "historyTitleShort": "명령 기록 열기(읽기 전용)",
141
143
  "expEdge": "가장자리에서:",
142
144
  "noteAllowlist": "Agent tool calls must pass the allowlist.",
143
- "noteRbacCap": "Agent role is capped at write-low."
145
+ "noteRbacCap": "Agent role is capped at write-low.",
146
+ "journal": "journal",
147
+ "activatingStuckHint": "Activating longer than 5 minutes — treated as failed. Check journal.",
148
+ "noOnlineAgents": "No agents online"
144
149
  },
145
150
  "ai": {
146
151
  "status": {
@@ -262,7 +267,9 @@
262
267
  "sslTerminatedUpstream": "TLS는 전면 Nginx에서 끝납니다.",
263
268
  "removeArtifactHint": "이 잔여 디스크 conf만 삭제하며 프로젝트는 지우지 않습니다.",
264
269
  "sourceOrphan": "Leftover",
265
- "orphanSite": "Project gone"
270
+ "orphanSite": "Project gone",
271
+ "pillSitesSplit": "{{n}} sites · {{leftover}} leftover",
272
+ "stopSites": "{{n}} site(s) will stop answering HTTP."
266
273
  },
267
274
  "applyStatus": {
268
275
  "draft": "초안",
@@ -455,7 +462,23 @@
455
462
  "goLogs": "Open logs",
456
463
  "goAbout": "Backup notes",
457
464
  "skippedPendingOs": "Skipped — OS user / home not provisioned",
458
- "latestFile": "Latest archive"
465
+ "latestFile": "Latest archive",
466
+ "tabTrash": "Recycle bin",
467
+ "trashTitle": "Recycle bin ({{count}})",
468
+ "trashSub": "Deleted archives stay here for 7 days, then they are removed permanently.",
469
+ "trashEmpty": "Recycle bin is empty",
470
+ "trashEmptyDesc": "Deleted backup files appear here for 7 days.",
471
+ "trashRestore": "Restore",
472
+ "trashPurge": "Delete forever",
473
+ "trashEmptyAll": "Empty recycle bin",
474
+ "trashExpires": "Expires {{at}}",
475
+ "trashPurgeTitle": "Permanently delete this backup?",
476
+ "trashPurgeDesc": "Permanently delete {{name}}. This cannot be undone.",
477
+ "trashEmptyTitle": "Empty recycle bin?",
478
+ "trashEmptyDescConfirm": "Permanently delete {{count}} archive(s). Type the count to confirm.",
479
+ "trashRestored": "Restored from recycle bin",
480
+ "trashPurged": "Permanently deleted",
481
+ "trashedOk": "Moved to recycle bin"
459
482
  },
460
483
  "btTracker": {
461
484
  "title": "블루투스 트래커",
@@ -653,7 +676,10 @@
653
676
  "statsLibraryHint": "Torrents in the panel library / file shares",
654
677
  "statsTrackerLeftover": "Tracker leftover",
655
678
  "statsTrackerLeftoverHint": "Tracker announce hashes that are not library rows",
656
- "statsAnnouncesHint": "Announce requests seen by the tracker process"
679
+ "statsAnnouncesHint": "Announce requests seen by the tracker process",
680
+ "leftoverHashesTitle": "Tracker leftover hashes",
681
+ "leftoverHashesHint": "Read-only. These announces are not library or share rows.",
682
+ "publicHostMissingLive": "Tracker is listening but public announce host is not set. Off-host peers cannot find this seed."
657
683
  },
658
684
  "catalog": {
659
685
  "sw": {
@@ -890,7 +916,9 @@
890
916
  "hitMiss": "Hits {{hits}} / misses {{misses}}",
891
917
  "cacheBytes": "Cache ≈ {{n}} B",
892
918
  "hitRateUnknown": "No access log with cache status and no cache directory, so hit rate cannot be estimated.",
893
- "offlineHint": "Offline — probe failed. Remove the node if it is leftover."
919
+ "offlineHint": "Offline — probe failed. Remove the node if it is leftover.",
920
+ "applyFailedNoNote": "No stored reason. Re-apply to capture the error.",
921
+ "statApplyFailed": "Apply failed"
894
922
  },
895
923
  "cli": {
896
924
  "unknownCommand": "알 수 없는 명령: {{command}}\n`{{cli}} 도움말`을 실행하세요.",
@@ -2204,7 +2232,8 @@
2204
2232
  "hidePassword": "숨다",
2205
2233
  "more": "더",
2206
2234
  "redirectedTo": "{{to}}(으)로 이동했습니다(원래 {{from}})",
2207
- "unavailable": "Not available right now"
2235
+ "unavailable": "Not available right now",
2236
+ "ok": "OK"
2208
2237
  },
2209
2238
  "cron": {
2210
2239
  "presetCdTrue": "CD 앱 + true(테스트)",
@@ -2372,7 +2401,10 @@
2372
2401
  "writtenOnHostHint": "Lines already written to the host crontab",
2373
2402
  "registeredJobsHint": "Jobs registered in the panel (including pending install)",
2374
2403
  "pendingInstallCount": "{{n}} pending install",
2375
- "systemJobBadge": "No project · system user"
2404
+ "systemJobBadge": "No project · system user",
2405
+ "willNotRun": "Not written to system crontab — will not run.",
2406
+ "pendingStale": "Not written to system crontab for {{days}} day(s) — it will not run.",
2407
+ "jobsTabPending": "Jobs ({{count}}) · pending {{pending}}"
2376
2408
  },
2377
2409
  "dashboard": {
2378
2410
  "title": "대시보드",
@@ -2418,7 +2450,8 @@
2418
2450
  "mode": {
2419
2451
  "degraded": "타락한",
2420
2452
  "production_capable": "생산 준비 완료",
2421
- "normal": "정상"
2453
+ "normal": "정상",
2454
+ "blocked": "blocked"
2422
2455
  },
2423
2456
  "details": "세부",
2424
2457
  "certExpiryTitle": "인증서 만료:",
@@ -2502,7 +2535,8 @@
2502
2535
  "warn": "Warning",
2503
2536
  "bad": "Problem"
2504
2537
  },
2505
- "publicNo2fa": "This panel listens on all interfaces and your admin account has no 2FA."
2538
+ "publicNo2fa": "This panel listens on all interfaces and your admin account has no 2FA.",
2539
+ "readinessBlocked": "{{n}} blocker(s)"
2506
2540
  },
2507
2541
  "dataTable": {
2508
2542
  "empty": "데이터 없음",
@@ -2757,7 +2791,24 @@
2757
2791
  "fleetApplyTitle": "함대 구성원에게 대기열을 적용하시겠습니까?",
2758
2792
  "redirectedFromCluster": "You were redirected here from /cluster. This is the database cluster tab.",
2759
2793
  "roleUnassigned": "No role assigned",
2760
- "standaloneOtherEngines": "This engine is standalone. Other engines have clusters: {{names}}."
2794
+ "standaloneOtherEngines": "This engine is standalone. Other engines have clusters: {{names}}.",
2795
+ "notApplied": "Not applied",
2796
+ "plannedAt": "Created {{when}}",
2797
+ "clearStalePlans": "Clear stale plans",
2798
+ "clearStalePlansTitle": "Delete stale planned clusters?",
2799
+ "clearStalePlansDesc": "Deletes {{n}} planned/draft registration(s) older than 7 days. Does not apply or push. System conf is not touched.",
2800
+ "landingTitle": "Database cluster",
2801
+ "landingDesc": "No database engine is installed on this host. Open an engine page to install, then return here.",
2802
+ "landingNoneInstalled": "MySQL, MariaDB, PostgreSQL, and Redis are not installed. /cluster does not open a MySQL tab when MySQL is missing.",
2803
+ "openEngine": "Open {{engine}}",
2804
+ "overviewPill": "Clusters {{n}}",
2805
+ "enginesInstalled": "Engines",
2806
+ "plannedCount": "Planned",
2807
+ "overviewList": "Clusters ({{count}})",
2808
+ "overviewEmpty": "No cluster registrations yet.",
2809
+ "engine": "Engine",
2810
+ "kind": "Kind",
2811
+ "members": "Members"
2761
2812
  },
2762
2813
  "console": {
2763
2814
  "dataBrowse": "데이터 찾아보기",
@@ -3090,7 +3141,11 @@
3090
3141
  "installConfirmConsequence": "설치 후 시작하면 PowerDNS가 53번 포트를 바인딩합니다.",
3091
3142
  "installPort53Busy": "53번 포트가 이미 사용 중입니다. 해당 수신을 중지하거나 복구하기 전에는 PowerDNS 바인딩이 실패할 수 있습니다.",
3092
3143
  "installPort53BusyConsequence": "53번에서 응답을 기대하기 전에 바인드를 복구하거나 다른 수신을 중지하십시오.",
3093
- "createZoneNeedValid": "Enter a valid zone name and IPv4 address"
3144
+ "createZoneNeedValid": "Enter a valid zone name and IPv4 address",
3145
+ "startProbeFailed": "Could not re-check DNS health after start",
3146
+ "startNotListening": "PowerDNS start returned, but the unit is not answering on port 53",
3147
+ "goStartService": "Start DNS service",
3148
+ "startBindHint": "If start returns to stopped, port 53 is often held by systemd-resolved. Use Heal bind below, then start again."
3094
3149
  },
3095
3150
  "docker": {
3096
3151
  "title": "Docker",
@@ -3142,7 +3197,8 @@
3142
3197
  "created": "Created",
3143
3198
  "dead": "Dead",
3144
3199
  "removing": "Removing",
3145
- "unknown": "Unknown"
3200
+ "unknown": "Unknown",
3201
+ "exitedCode": "Exited ({{n}})"
3146
3202
  },
3147
3203
  "actions": {
3148
3204
  "start": "시작",
@@ -3850,7 +3906,10 @@
3850
3906
  "opendkimNoReload": "OpenDKIM은 다시 로드를 지원하지 않습니다. 키나 테이블 변경 후 재시작하십시오.",
3851
3907
  "opendkimNoReloadTitle": "이 스택에서는 systemctl reload opendkim을 지원하지 않습니다",
3852
3908
  "tlsRequestLeFor": "Request LE for {{host}}",
3853
- "deliverabilityChecks": "Checks"
3909
+ "deliverabilityChecks": "Checks",
3910
+ "healthPartialScore": "Partial {{n}}/100 (DNS only)",
3911
+ "healthPartialHint": "DNS checklist only — live and blacklist not probed.",
3912
+ "deleteImpact": "{{mailboxes}} mailboxes · {{records}} DNS records · {{aliases}} aliases"
3854
3913
  },
3855
3914
  "errors": {
3856
3915
  "YSK_UNAUTHORIZED": "승인되지 않은",
@@ -4381,7 +4440,8 @@
4381
4440
  "unshareDesc": "Revoke the link for {{name}} ({{url}}). The link stops working immediately.",
4382
4441
  "pillTrash": "{{count}} in trash",
4383
4442
  "pillSpace": "{{used}} used",
4384
- "webdavTokenInactive": "Disabled — token #{{id}} is not active"
4443
+ "webdavTokenInactive": "Disabled — token #{{id}} is not active",
4444
+ "webdavOffNoToken": "Disabled (no active token)"
4385
4445
  },
4386
4446
  "firewall": {
4387
4447
  "profiles": {
@@ -4642,7 +4702,23 @@
4642
4702
  "detectPublicIpTitle": "이 호스트에서 첫 번째 비루프백 IPv4를 채웁니다.",
4643
4703
  "pasvIpRequired": "적용 전에 PASV 공인 IP를 지정하세요(NAT/클라우드). 감지하거나 주소를 입력합니다.",
4644
4704
  "vsftpdFailedGeneric": "vsftpd failed. Open the Service tab for live settings and journal.",
4645
- "stateFailed": "Failed to start"
4705
+ "stateFailed": "Failed to start",
4706
+ "plaintextInsecure": "Cleartext FTP (no TLS) — insecure. Enable FTPS before exposing port 21.",
4707
+ "plaintextPublicLive": "vsftpd is listening on a public address without FTPS. Credentials travel in the clear. Enable FTPS, bind to this host only, or confirm PLAINTEXT to keep this posture.",
4708
+ "bindAddress": "Listen scope",
4709
+ "bindAddressHint": "New installs bind to this host only. Public listen without FTPS needs a typed confirmation.",
4710
+ "bindLocal": "This host only",
4711
+ "bindLocalHint": "127.0.0.1 — fine without TLS for local tests",
4712
+ "bindPublic": "Public",
4713
+ "bindPublicHint": "All interfaces — enable FTPS or confirm PLAINTEXT",
4714
+ "enableFtpsAndStart": "Enable FTPS and start",
4715
+ "publicPlainNeedConfirm": "Public cleartext FTP needs a PLAINTEXT confirmation",
4716
+ "plainConfirmTitle": "Start public FTP without FTPS?",
4717
+ "plainConfirmDesc": "Port 21 will accept logins and data in the clear on the public address.",
4718
+ "plainConfirmC1": "Usernames and passwords are visible on the network.",
4719
+ "plainConfirmC2": "PASV will advertise the configured public IP.",
4720
+ "plainConfirmC3": "Host firewall and cloud security group are not opened for you.",
4721
+ "plainConfirmAction": "Start cleartext FTP"
4646
4722
  },
4647
4723
  "geo": {
4648
4724
  "continents": {
@@ -4941,7 +5017,9 @@
4941
5017
  "engineBrowserNeedChrome": "Real browser (Chrome not installed)",
4942
5018
  "egressHint": "The target site sees this server’s outbound address ({{host}}), not your laptop. Cookies stay in the server session jar.",
4943
5019
  "closeNoSession": "No session yet",
4944
- "resumeHintDetail": "Resume previous session ({{count}} tabs) · {{url}} · {{when}}"
5020
+ "resumeHintDetail": "Resume previous session ({{count}} tabs) · {{url}} · {{when}}",
5021
+ "resumeHintOwned": "Resume last browse for {{user}} ({{count}} tabs) · {{url}} · {{when}}",
5022
+ "clearSessionData": "Clear session data"
4945
5023
  },
4946
5024
  "listToolbar": {
4947
5025
  "searchPlaceholder": "찾다…",
@@ -5402,7 +5480,20 @@
5402
5480
  "expandAllWarnings": "Show all {{n}} warnings",
5403
5481
  "collapseWarnings": "Show fewer",
5404
5482
  "inventoriedWarn": "Inventoried · {{n}} warnings",
5405
- "orphanMtime": "Last modified {{at}}"
5483
+ "orphanMtime": "Last modified {{at}}",
5484
+ "inventoriedOrphans": "Inventoried · {{n}} leftover homes",
5485
+ "inventoriedWarnAndOrphans": "Inventoried · {{w}} warnings · {{n}} leftover",
5486
+ "orphanHomesTitle": "Leftover project homes ({{count}})",
5487
+ "orphanHomesSummary": "{{count}} path(s) on disk are not in the store. Back up first if unsure, then remove unused paths.",
5488
+ "orphanColHome": "Home",
5489
+ "orphanColModified": "Modified",
5490
+ "orphanKpi": "Leftover",
5491
+ "sourceOs": "OS",
5492
+ "sourceDataDir": "dataDir",
5493
+ "sourceDbRedis": "Databases / Redis",
5494
+ "sourceDbRedisValue": "{{db}} databases · {{redis}} Redis",
5495
+ "orphanColEntries": "Entries",
5496
+ "orphanEntries": "{{n}} top-level entries in the directory"
5406
5497
  },
5407
5498
  "multiCheck": {
5408
5499
  "customPlaceholder": "맞춤 코드",
@@ -5670,7 +5761,9 @@
5670
5761
  "up": "Up",
5671
5762
  "down": "Down",
5672
5763
  "unknown": "Unknown",
5673
- "other": "Other"
5764
+ "other": "Other",
5765
+ "loopback": "Always on",
5766
+ "loopbackHint": "Loopback is always available and cannot be changed."
5674
5767
  }
5675
5768
  },
5676
5769
  "nginx": {
@@ -5755,7 +5848,10 @@
5755
5848
  "setHsts": "HSTS",
5756
5849
  "setCfRealIp": "Cloudflare 실제 IP",
5757
5850
  "setIndexes": "디렉토리 목록",
5758
- "bodyInherit": "글로벌"
5851
+ "bodyInherit": "글로벌",
5852
+ "stopSites": "{{n}} site(s) will stop answering HTTP.",
5853
+ "purgeCacheTitle": "Purge Nginx cache and reload?",
5854
+ "purgeCacheDesc": "Clears the on-disk cache and reloads Nginx. Live sites stay up."
5759
5855
  },
5760
5856
  "notFound": {
5761
5857
  "title": "페이지를 찾을 수 없습니다",
@@ -5830,10 +5926,18 @@
5830
5926
  "sidecarPushed": "SQL 사이드카도 푸시됨 {{name}}",
5831
5927
  "controlPlaneDryRun": "미리보기만 가능 - 작성된 내용이 없습니다. 패널에서 복원을 사용하고 작성할 문구를 확인하세요.",
5832
5928
  "controlPlaneNeedConfirm": "전체 제어 영역 복원에는 RESTORE-Control-PLANE 확인 문구가 필요합니다.",
5833
- "controlPlaneRestartAfter": "복원에 성공한 후 API를 다시 시작하세요."
5929
+ "controlPlaneRestartAfter": "복원에 성공한 후 API를 다시 시작하세요.",
5930
+ "movedToTrash": "Moved {{name}} to the recycle bin. Permanent delete after {{days}} days.",
5931
+ "restoreNameExists": "Cannot restore {{name}} — a live archive with that name already exists.",
5932
+ "restoredFromTrash": "Restored {{name}} from the recycle bin.",
5933
+ "trashEmptied": "Permanently deleted {{n}} archive(s) from the recycle bin."
5834
5934
  },
5835
5935
  "redis": {
5836
- "cliMissing": "redis-cli가 설치되지 않았습니다"
5936
+ "cliMissing": "redis-cli가 설치되지 않았습니다",
5937
+ "requirepassAlreadySet": "Redis already has requirepass — not overwritten.",
5938
+ "requirepassApplied": "requirepass applied at runtime",
5939
+ "requirepassApplyFailed": "Could not CONFIG SET requirepass (will rely on restart + conf)",
5940
+ "generatedRequirepass": "Generated Redis password (shown once): {{password}}"
5837
5941
  },
5838
5942
  "nginx": {
5839
5943
  "reloaded": "nginx가 다시 로드됨",
@@ -5856,7 +5960,8 @@
5856
5960
  "vsftpdStarted": "vsftpd가 시작되었습니다",
5857
5961
  "openPortsStep": "방화벽 포트(수동)",
5858
5962
  "openPortsReminder": "호스트 방화벽 및 클라우드 보안 그룹에서 TCP 포트 열기: {{ports}}. FTPS 적용은 포트를 열지 않습니다.",
5859
- "openPortsPasvHint": "로그인은 작동하지만 디렉터리 LIST 시간이 초과되면 PASV 데이터 범위가 차단됩니다. 전체 파일을 엽니다."
5963
+ "openPortsPasvHint": "로그인은 작동하지만 디렉터리 LIST 시간이 초과되면 PASV 데이터 범위가 차단됩니다. 전체 파일을 엽니다.",
5964
+ "publicPlaintextBlocked": "Refusing to start public FTP without FTPS. Bind to this host only, enable FTPS with a certificate, or confirm PLAINTEXT to expose cleartext on the public address."
5860
5965
  },
5861
5966
  "deploy": {
5862
5967
  "nodeMissingIsolated": "격리된 배포를 위한 노드 바이너리 누락: {{path}} — Node {{version}} 툴체인을 설치한 후 다시 배포합니다. 203/EXEC가 되는 유닛 작성을 거부합니다.",
@@ -5911,7 +6016,17 @@
5911
6016
  "applyDigOk": "PowerDNS BIND: 목록 영역 + 발굴 확인",
5912
6017
  "applyDigFail": "conf에 영역이 등록되었지만 여전히 비어 있음/REFUSED — 표시가 적용되지 않음",
5913
6018
  "applySyncIncomplete": "PowerDNS 바인드 동기화 미완료 — 디스크에만 영역 파일이 있습니다(적용되지 않음). EXECUTE/root 또는 pdns 로그를 수정합니다.",
5914
- "writeOnlyHint": "영역 파일 쓰기 전용 - PowerDNS는 다음 이름의 레지스터를 로드/적용할 때까지 응답하지 않습니다."
6019
+ "writeOnlyHint": "영역 파일 쓰기 전용 - PowerDNS는 다음 이름의 레지스터를 로드/적용할 때까지 응답하지 않습니다.",
6020
+ "noActiveUnit": "No active named/bind9/pdns unit",
6021
+ "pdnsUnitRestarts": "pdns unit state/restarts: {{detail}}",
6022
+ "port53LoopbackOnly": "Port 53 is only on loopback (systemd-resolved 127.0.0.53) — not a product authoritative nameserver",
6023
+ "port53Closed": "Port 53 is not listening (UDP/TCP)",
6024
+ "udp53NotPublic": "UDP/53 is not listening on a public address",
6025
+ "tcp53NotPublic": "TCP/53 is not listening on a public address",
6026
+ "noManagedZones": "No managed zone files under dataDir/dns/zones",
6027
+ "pdnsListZones": "PowerDNS list-zones: {{n}}",
6028
+ "lookupIgnoredAt": "dig is unavailable — @{{server}} was ignored. Not using the system resolver as that server’s answer.",
6029
+ "localAOk": "local A {{name}} → {{ip}}"
5915
6030
  },
5916
6031
  "db": {
5917
6032
  "needExecuteCreate": "호스트 실행이 꺼져 있습니다. 패널에서 데이터베이스를 생성할 수 없습니다.",
@@ -8773,7 +8888,16 @@
8773
8888
  "linuxUserRolledBack": "VNC 비밀번호 실패 후 남은 Linux 사용자 {{user}}를 제거했습니다.",
8774
8889
  "linuxUserOrphan": "VNC 비밀번호 실패 후 남은 Linux 사용자 {{user}}를 제거할 수 없습니다.",
8775
8890
  "sessionStartHostname": "Failed to start display :{{display}}: this host cannot resolve its own hostname. Add the hostname to /etc/hosts (or fix DNS) then start the session again.",
8776
- "userdelLeftover": "Panel account removed, but Linux user {{user}} is still on the host. Remove it from Users or the host."
8891
+ "userdelLeftover": "Panel account removed, but Linux user {{user}} is still on the host. Remove it from Users or the host.",
8892
+ "hostnameResolves": "Hostname {{hostname}} resolves.",
8893
+ "hostnameUnresolvable": "This host cannot resolve its own hostname ({{hostname}}). VNC session start will fail until /etc/hosts is fixed.",
8894
+ "hostnameAlreadyResolves": "Hostname {{hostname}} already resolves — /etc/hosts unchanged.",
8895
+ "hostnameWouldAppend": "Would append to /etc/hosts: {{line}}",
8896
+ "hostnameAppended": "Appended to /etc/hosts: {{line}}",
8897
+ "hostnameAppendFailed": "Could not write /etc/hosts: {{detail}}",
8898
+ "skipStartHostname": "Did not start the display — fix hostname resolution first.",
8899
+ "hostnameAliasPresent": "Hostname {{hostname}} is already an exact /etc/hosts alias — not appended again.",
8900
+ "hostnameStillUnresolvable": "Wrote /etc/hosts but {{hostname}} still does not resolve. Confirm nsswitch hosts includes files."
8777
8901
  },
8778
8902
  "apache": {
8779
8903
  "needServerName": "서버 이름이 필요합니다",
@@ -8858,7 +8982,15 @@
8858
8982
  "staleCliRemoved": "잔여 CLI {{path}}을(를) 제거했습니다.",
8859
8983
  "staleCliRemoveFailed": "잔여 CLI {{path}}을(를) 제거하지 못했습니다: {{detail}}",
8860
8984
  "vsftpdSslOff": "FTPS 인증서 파일이 없어 vsftpd를 ssl_enable=NO로 설정한 뒤 다시 시작했습니다.",
8861
- "dovecotSslOff": "{{path}}이(가) 없어 Dovecot을 ssl=no로 설정한 뒤 다시 시작했습니다."
8985
+ "dovecotSslOff": "{{path}}이(가) 없어 Dovecot을 ssl=no로 설정한 뒤 다시 시작했습니다.",
8986
+ "nginxRemoved": "Removed leftover nginx conf {{path}}.",
8987
+ "nginxNotLeftover": "Not a leftover public-files conf — refuse delete.",
8988
+ "nginxUnusedKeep": "000-default is unused, not leftover — not deleted.",
8989
+ "nginxSystemCopy": "System copy still present: {{path}}. Needs YSK_EXECUTE + root to remove.",
8990
+ "nginxReloadFailed": "nginx -t or reload failed after removing {{path}}.",
8991
+ "executeStaleCli": "Pass --execute (root + YSK_EXECUTE=1) to remove stale CLI bins.",
8992
+ "executeMissingTls": "Pass --execute (root + YSK_EXECUTE=1) to disable missing-cert TLS so vsftpd/Dovecot can start.",
8993
+ "executeGeneric": "Pass --execute (root + YSK_EXECUTE=1) to apply leftover cleanup for the findings above."
8862
8994
  },
8863
8995
  "git": {
8864
8996
  "missingBin": "자식이 PATH에 없습니다",
@@ -9110,7 +9242,8 @@
9110
9242
  "deployTitle": "다음: 배포",
9111
9243
  "deployBody": "헤더의 배포를 사용하거나 Git의 배포 탭을 사용하세요.",
9112
9244
  "nginxTitle": "다음: Nginx 게시",
9113
- "nginxBody": "네트워크 탭을 열어 Nginx(SSL 옵션)를 게시하세요."
9245
+ "nginxBody": "네트워크 탭을 열어 Nginx(SSL 옵션)를 게시하세요.",
9246
+ "provisionOsAction": "Create system user"
9114
9247
  },
9115
9248
  "healthDetail": {
9116
9249
  "none": "아직 건강검진이 없습니다",
@@ -10135,7 +10268,9 @@
10135
10268
  "banSelectedConfirmDesc": "These addresses will be blocked on the host: {{ips}}",
10136
10269
  "freshnessMissing": "No database",
10137
10270
  "freshnessStale": "Stale",
10138
- "freshnessFresh": "Current"
10271
+ "freshnessFresh": "Current",
10272
+ "banConfirmMethod": "Method: {{method}}",
10273
+ "banConfirmUntilUnban": "Stays banned until you unban it (or fail2ban expiry)."
10139
10274
  },
10140
10275
  "publicFiles": {
10141
10276
  "notSet": "설정되지 않음",
@@ -10180,7 +10315,11 @@
10180
10315
  "serverNameMismatch": "실제 설정은 {{live}}이고 폼은 {{draft}}입니다. 적용하면 교체됩니다.",
10181
10316
  "executeFlag": "Execute",
10182
10317
  "asRoot": "Root",
10183
- "statusDraft": "Draft / not applied"
10318
+ "statusDraft": "Draft / not applied",
10319
+ "liveName": "Live name",
10320
+ "draftName": "Draft name",
10321
+ "draftUnapplied": "This draft is not applied. Nginx still serves the live name.",
10322
+ "discardDraft": "Discard draft"
10184
10323
  },
10185
10324
  "rbac": {
10186
10325
  "permissions": "권한",
@@ -10521,7 +10660,12 @@
10521
10660
  "scanCapped": "Showing the first {{n}} matches.",
10522
10661
  "dbOptionKeys": "DB {{i}} · {{n}} keys",
10523
10662
  "dbOptionEmpty": "DB {{i}} · empty",
10524
- "insecureShort": "No password"
10663
+ "insecureShort": "No password",
10664
+ "generateRequirepass": "Generate and apply password",
10665
+ "generateRequirepassTitle": "Generate a Redis password?",
10666
+ "generateRequirepassDesc": "Writes requirepass and restarts Redis. The password is shown once. Host change needs EXECUTE.",
10667
+ "generateRequirepassDone": "Redis password applied",
10668
+ "generatedOnce": "Generated password (shown once): {{password}}"
10525
10669
  },
10526
10670
  "resources": {
10527
10671
  "created": "생성됨",
@@ -11571,7 +11715,9 @@
11571
11715
  "policyNeedSelf2fa": "먼저 이 계정에서 2FA를 활성화한 다음 TOTP 코드로 확인하세요.",
11572
11716
  "revokeAllDevicesTitle": "기억된 모든 장치를 취소합니다. 귀하와 다른 관리자는 2FA를 다시 확인해야 합니다.",
11573
11717
  "statSshValue": "{{keys}} keys · {{auth}} authorized",
11574
- "statSshHint": "Outbound identities / authorized login keys"
11718
+ "statSshHint": "Outbound identities / authorized login keys",
11719
+ "needCurrentPassword": "Enter the current password first",
11720
+ "passwordMin8": "New password must be at least 8 characters"
11575
11721
  },
11576
11722
  "serviceExposure": {
11577
11723
  "title": "네트워크 접속",
@@ -11712,7 +11858,15 @@
11712
11858
  "tool": "Tool",
11713
11859
  "activating": "Starting"
11714
11860
  },
11715
- "sshdBootOffWarn": "sshd is not enabled on boot. After reboot this host will have no SSH rescue path."
11861
+ "sshdBootOffWarn": "sshd is not enabled on boot. After reboot this host will have no SSH rescue path.",
11862
+ "restartConfirmTitle": "Restart {{label}}?",
11863
+ "restartConfirmDesc": "Restart {{label}} now. Active connections may drop.",
11864
+ "startVerifyFailed": "{{label}} start did not stay healthy.",
11865
+ "stopNeedConfirmImpact": "Stop {{label}}? Active connections to this service will drop.",
11866
+ "reloadTitle": "Reload {{label}} configuration without a full restart",
11867
+ "stopConfirmPanelSshdOffDesc": "The panel and API will go offline. sshd is not enabled on boot, so SSH may not be a rescue path after reboot.",
11868
+ "stopConfirmPanelSshdOffConsequence": "sshd is not enabled on boot. After reboot you may have no SSH rescue path.",
11869
+ "ufwNoLifecycle": "UFW is not started or stopped from this matrix."
11716
11870
  },
11717
11871
  "software": {
11718
11872
  "title": "소프트웨어",
@@ -12308,7 +12462,8 @@
12308
12462
  "cliNoSocket": "CLI에는 라이브 HTTP 소켓이 없습니다. ServingHttps는 구성 및 청취 소켓(ss)에서 추론됩니다.",
12309
12463
  "listenHost": "청취 주소",
12310
12464
  "currentHost": "이번 세션",
12311
- "replaceCert": "신뢰할 수 있는 인증서로 교체"
12465
+ "replaceCert": "신뢰할 수 있는 인증서로 교체",
12466
+ "needFqdn": "Need a FQDN (example.com), not a bare hostname"
12312
12467
  },
12313
12468
  "timeNtp": "시간 및 NTP",
12314
12469
  "clockStatus": "시스템 시계 상태",
@@ -12427,7 +12582,11 @@
12427
12582
  "noScheduledPower": "재부팅이나 전원 끄기가 예약되지 않았습니다.",
12428
12583
  "timezoneNow": "Host time now: {{time}} ({{tz}})",
12429
12584
  "timezoneBrowserDiff": "This host uses {{host}}; your browser uses {{browser}}. Changing timezone here changes the host clock, not the browser.",
12430
- "notExported": "Not exported yet"
12585
+ "notExported": "Not exported yet",
12586
+ "nginxRemoveLeftover": "Remove leftover",
12587
+ "nginxRemoveLeftoverTitle": "Remove leftover nginx conf?",
12588
+ "nginxRemoveLeftoverDesc": "Deletes {{name}} from the panel inventory. The live /etc/nginx copy is removed only with YSK_EXECUTE + root. 000-default is not leftover and cannot be deleted here.",
12589
+ "needExecuteRoot": "Needs YSK_EXECUTE + root"
12431
12590
  },
12432
12591
  "systemd": {
12433
12592
  "enabled": "사용",
@@ -13022,7 +13181,8 @@
13022
13181
  "panelRestartWait": "적용이 끝났습니다. 이 페이지가 갱신되지 않으면 몇 초 후 다시 불러오세요.",
13023
13182
  "cveNotChecked": "Not checked",
13024
13183
  "cveLabel": "CVE",
13025
- "riskUnevaluated": "Not evaluated — run Scan + OSV"
13184
+ "riskUnevaluated": "Not evaluated — run Scan + OSV",
13185
+ "footerNewVersion": "New version {{version}}"
13026
13186
  },
13027
13187
  "users": {
13028
13188
  "userCount": "{{count}} 사용자",
@@ -13171,7 +13331,8 @@
13171
13331
  "tab": {
13172
13332
  "nodes": "노드",
13173
13333
  "disk": "디스크",
13174
- "about": "설명"
13334
+ "about": "설명",
13335
+ "stack": "Software"
13175
13336
  },
13176
13337
  "empty": {
13177
13338
  "title": "아직 검증자 노드가 없습니다",
@@ -13189,7 +13350,18 @@
13189
13350
  "autoClear": "디스크가 위험할 때 가장 큰 중지 인스턴스를 자동 삭제(기본 꺼짐)",
13190
13351
  "autoClearRisk": "Destructive: the largest stopped instance is deleted without a further prompt. Default is off. Check audit / logs after it fires.",
13191
13352
  "autoClearConfirmTitle": "Enable auto-clear?",
13192
- "autoClearC1": "When disk is critical, the largest stopped instance is deleted without asking again."
13353
+ "autoClearC1": "When disk is critical, the largest stopped instance is deleted without asking again.",
13354
+ "fsUsed": "Filesystem used",
13355
+ "leftoverTitle": "Leftover data ({{count}})",
13356
+ "leftoverDesc": "Directories under the validators root that are not a store instance. Remove only after you confirm they are unused.",
13357
+ "leftoverRemove": "Remove",
13358
+ "leftoverRemoveTitle": "Delete leftover validator data?",
13359
+ "leftoverRemoveDesc": "Permanently delete {{path}} from disk. This is not a listed node.",
13360
+ "autoClearThreshold": "Trigger: filesystem use at or above 85%.",
13361
+ "autoClearCandidate": "Current candidate: {{id}}",
13362
+ "autoClearNone": "No stopped instance is a candidate right now.",
13363
+ "browseRoot": "Open in file browser",
13364
+ "leftoverEmpty": "No leftover instance directories"
13193
13365
  },
13194
13366
  "chain": {
13195
13367
  "eth": "Ethereum",
@@ -13299,7 +13471,8 @@
13299
13471
  "snapshotNear": "NEAR 데이터를 지웠습니다. compose가 공식 genesis와 epoch sync로 다시 초기화합니다",
13300
13472
  "nativePrune": "클라이언트 원본 정리 명령을 실행했습니다",
13301
13473
  "dryDelete": "Delete is dry-run. Pass --execute and YSK_EXECUTE=1.",
13302
- "deleted": "Node deleted"
13474
+ "deleted": "Node deleted",
13475
+ "leftoverRemoved": "Removed leftover {{path}}"
13303
13476
  },
13304
13477
  "create": "노드 만들기",
13305
13478
  "wizard": {
@@ -13328,7 +13501,27 @@
13328
13501
  "installConfirmTitle": "Install this node?",
13329
13502
  "installConfirmDesc": "{{chain}} · {{network}} · {{profile}}. About {{disk}} of disk. The image pull can take a long time.",
13330
13503
  "installC1": "Several gigabytes of images may be downloaded.",
13331
- "installC2": "You can cancel the panel task; already-pulled images are not deleted automatically."
13504
+ "installC2": "You can cancel the panel task; already-pulled images are not deleted automatically.",
13505
+ "lowDiskAcked": "Free disk is below the recommended size. You confirmed create anyway; sync may stop if the disk fills.",
13506
+ "diskNeedNetwork": "Default (Minimal) for this network needs about {{need}} · free {{free}}",
13507
+ "diskShortDetail": "Need {{need}} · free {{free}} · short {{short}}",
13508
+ "needCustomPath": "Enter an absolute data path",
13509
+ "previewId": "Node id",
13510
+ "previewCompose": "Compose project",
13511
+ "profileSeeAbout": "What each profile means is on the About tab.",
13512
+ "dockerAbout": "Docker Engine is required to install and start nodes.",
13513
+ "dockerAboutOk": "Docker Engine is installed.",
13514
+ "dockerAboutMissing": "Docker Engine is not installed. Open Docker to install it.",
13515
+ "rewriteCompose": "Rewrite compose",
13516
+ "rewriteComposeTitle": "Rewrite compose.yml from the current adapter?",
13517
+ "rewriteComposeDesc": "Overwrites the generated compose for {{id}} using the shipped flags for this chain.",
13518
+ "chainMeta": "{{disk}} min · {{clients}} clients",
13519
+ "profileHint": {
13520
+ "minimal": "Smallest sync — light disk, not for staking.",
13521
+ "pruned": "Keeps recent history only (Pruned). Smaller than archive, still usable for RPC.",
13522
+ "validator-ready": "Sized for a staking validator. Needs more disk than Minimal.",
13523
+ "rpc": "Public RPC node — not a staking validator."
13524
+ }
13332
13525
  },
13333
13526
  "actions": {
13334
13527
  "detail": "자세히",
@@ -13427,7 +13620,33 @@
13427
13620
  "stopped": "Stopped",
13428
13621
  "running": "Running",
13429
13622
  "syncing": "Syncing",
13430
- "error": "Error"
13623
+ "error": "Error",
13624
+ "starting": "Starting"
13625
+ },
13626
+ "profileHelp": {
13627
+ "title": "Profiles",
13628
+ "desc": "The four choices on wizard step 3 are mainly disk budget and role. Each chain shows its recommended size in the wizard. The panel never holds staking keys.",
13629
+ "minimal": "Smallest disk. Use for testnets or a first install. Not a full history, and not for a live staking validator.",
13630
+ "pruned": "Keeps recent chain state and drops older blocks (Pruned). More disk than Minimal, less than a full node. Use to follow the tip long-term.",
13631
+ "validatorReady": "Reserves more disk so you can later attest or propose as a validator. Generate keys offline yourself. Being offline or misconfigured can lose stake.",
13632
+ "rpc": "For this host or other services to query the chain. RPC listens on 127.0.0.1 by default and is not published to the internet."
13633
+ },
13634
+ "software": {
13635
+ "engine": "Docker Engine",
13636
+ "engineDesc": "Validator nodes run as Compose projects. Install Docker here if it is missing. Image prune stays on the Docker page.",
13637
+ "client": "Client",
13638
+ "image": "Image",
13639
+ "present": "Local",
13640
+ "local": "Pulled",
13641
+ "missing": "Not pulled",
13642
+ "size": "Size",
13643
+ "usedBy": "Used by",
13644
+ "unused": "No instance",
13645
+ "pull": "Pull",
13646
+ "pulling": "Pull {{ref}}",
13647
+ "empty": "No pinned client images",
13648
+ "emptyDesc": "The catalog is empty. This should not happen.",
13649
+ "daemonDown": "Docker Engine is not running"
13431
13650
  }
13432
13651
  },
13433
13652
  "vnc": {
@@ -13683,7 +13902,14 @@
13683
13902
  "deleteKeepUserWarn": "The Linux user will stay on the host as an orphan. You must clean it up later.",
13684
13903
  "bindRfbLine": "RFB {{bind}} :{{port}}",
13685
13904
  "bindNovncLine": "noVNC 127.0.0.1:{{port}}",
13686
- "bindNovncHint": "noVNC listens on localhost. The desktop is reached through this panel, not the public internet, unless RFB bind is all interfaces."
13905
+ "bindNovncHint": "noVNC listens on localhost. The desktop is reached through this panel, not the public internet, unless RFB bind is all interfaces.",
13906
+ "hostnameBroken": "This host cannot resolve its own hostname ({{hostname}}). Session start will fail.",
13907
+ "hostnameFix": "Write hostname to /etc/hosts",
13908
+ "hostnameFixTitle": "Append this line to /etc/hosts?",
13909
+ "hostnameFixDesc": "{{line}}",
13910
+ "hostnameFixDone": "Hostname /etc/hosts updated",
13911
+ "startAfterCreateBlocked": "Disabled until the hostname resolves",
13912
+ "hostnameBrokenIdle": "Hostname {{hostname}} does not resolve on this host. Fix /etc/hosts before you create a session."
13687
13913
  },
13688
13914
  "vpn": {
13689
13915
  "pageDesc": "VPN 서버 및 클라이언트",
@@ -235,5 +235,6 @@
235
235
  "panelRestartWait": "적용이 끝났습니다. 이 페이지가 갱신되지 않으면 몇 초 후 다시 불러오세요.",
236
236
  "cveNotChecked": "Not checked",
237
237
  "cveLabel": "CVE",
238
- "riskUnevaluated": "Not evaluated — run Scan + OSV"
238
+ "riskUnevaluated": "Not evaluated — run Scan + OSV",
239
+ "footerNewVersion": "New version {{version}}"
239
240
  }