@nocobase/app-plugin-releases 0.1.0-beta.2 → 0.1.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/CHANGELOG.md +349 -0
  2. package/LICENSE.txt +129 -0
  3. package/README.md +91 -16
  4. package/dist/client/components/environment-form.d.ts +1 -1
  5. package/dist/client/components/environment-form.d.ts.map +1 -1
  6. package/dist/client/components/environment-form.js +9 -2
  7. package/dist/client/components/environment-form.js.map +1 -1
  8. package/dist/client/components/page-container.js +1 -1
  9. package/dist/client/components/page-container.js.map +1 -1
  10. package/dist/client/components/page-header.d.ts.map +1 -1
  11. package/dist/client/components/page-header.js +1 -1
  12. package/dist/client/components/page-header.js.map +1 -1
  13. package/dist/client/components/release-badges.d.ts.map +1 -1
  14. package/dist/client/components/release-badges.js +13 -1
  15. package/dist/client/components/release-badges.js.map +1 -1
  16. package/dist/client/components/route-overlay.d.ts +4 -1
  17. package/dist/client/components/route-overlay.d.ts.map +1 -1
  18. package/dist/client/components/route-overlay.js +32 -3
  19. package/dist/client/components/route-overlay.js.map +1 -1
  20. package/dist/client/components/runtime-policy-fields.d.ts +7 -1
  21. package/dist/client/components/runtime-policy-fields.d.ts.map +1 -1
  22. package/dist/client/components/runtime-policy-fields.js +19 -5
  23. package/dist/client/components/runtime-policy-fields.js.map +1 -1
  24. package/dist/client/components/runtime-state.d.ts +6 -0
  25. package/dist/client/components/runtime-state.d.ts.map +1 -0
  26. package/dist/client/components/runtime-state.js +67 -0
  27. package/dist/client/components/runtime-state.js.map +1 -0
  28. package/dist/client/components/shared-host.d.ts +20 -0
  29. package/dist/client/components/shared-host.d.ts.map +1 -0
  30. package/dist/client/components/shared-host.js +88 -0
  31. package/dist/client/components/shared-host.js.map +1 -0
  32. package/dist/client/components/ui/progress.d.ts +9 -0
  33. package/dist/client/components/ui/progress.d.ts.map +1 -0
  34. package/dist/client/components/ui/progress.js +20 -0
  35. package/dist/client/components/ui/progress.js.map +1 -0
  36. package/dist/client/components/use-route-overlay.d.ts +2 -9
  37. package/dist/client/components/use-route-overlay.d.ts.map +1 -1
  38. package/dist/client/components/use-route-overlay.js +5 -3
  39. package/dist/client/components/use-route-overlay.js.map +1 -1
  40. package/dist/client/components/variable-alerts.d.ts.map +1 -1
  41. package/dist/client/components/variable-alerts.js +6 -18
  42. package/dist/client/components/variable-alerts.js.map +1 -1
  43. package/dist/client/hooks/use-app-summary.d.ts +1 -1
  44. package/dist/client/hooks/use-app-summary.d.ts.map +1 -1
  45. package/dist/client/hooks/use-app-summary.js +4 -1
  46. package/dist/client/hooks/use-app-summary.js.map +1 -1
  47. package/dist/client/hooks/use-releases.d.ts +4 -1
  48. package/dist/client/hooks/use-releases.d.ts.map +1 -1
  49. package/dist/client/hooks/use-releases.js +6 -2
  50. package/dist/client/hooks/use-releases.js.map +1 -1
  51. package/dist/client/lib/app-state.d.ts +2 -2
  52. package/dist/client/lib/app-state.d.ts.map +1 -1
  53. package/dist/client/lib/app-state.js +10 -3
  54. package/dist/client/lib/app-state.js.map +1 -1
  55. package/dist/client/lib/errors.d.ts.map +1 -1
  56. package/dist/client/lib/errors.js +7 -0
  57. package/dist/client/lib/errors.js.map +1 -1
  58. package/dist/client/lib/format.d.ts +2 -0
  59. package/dist/client/lib/format.d.ts.map +1 -1
  60. package/dist/client/lib/format.js +7 -0
  61. package/dist/client/lib/format.js.map +1 -1
  62. package/dist/client/lib/paths.d.ts +5 -0
  63. package/dist/client/lib/paths.d.ts.map +1 -1
  64. package/dist/client/lib/paths.js +10 -0
  65. package/dist/client/lib/paths.js.map +1 -1
  66. package/dist/client/lib/permissions.d.ts +5 -0
  67. package/dist/client/lib/permissions.d.ts.map +1 -1
  68. package/dist/client/lib/permissions.js +8 -0
  69. package/dist/client/lib/permissions.js.map +1 -1
  70. package/dist/client/lib/runtime-state.d.ts +25 -0
  71. package/dist/client/lib/runtime-state.d.ts.map +1 -0
  72. package/dist/client/lib/runtime-state.js +58 -0
  73. package/dist/client/lib/runtime-state.js.map +1 -0
  74. package/dist/client/locales/de-DE.d.ts +5 -0
  75. package/dist/client/locales/de-DE.d.ts.map +1 -0
  76. package/dist/client/locales/de-DE.js +876 -0
  77. package/dist/client/locales/de-DE.js.map +1 -0
  78. package/dist/client/locales/en-US.d.ts +83 -9
  79. package/dist/client/locales/en-US.d.ts.map +1 -1
  80. package/dist/client/locales/en-US.js +80 -9
  81. package/dist/client/locales/en-US.js.map +1 -1
  82. package/dist/client/locales/es-ES.d.ts +5 -0
  83. package/dist/client/locales/es-ES.d.ts.map +1 -0
  84. package/dist/client/locales/es-ES.js +882 -0
  85. package/dist/client/locales/es-ES.js.map +1 -0
  86. package/dist/client/locales/fr-FR.d.ts +5 -0
  87. package/dist/client/locales/fr-FR.d.ts.map +1 -0
  88. package/dist/client/locales/fr-FR.js +882 -0
  89. package/dist/client/locales/fr-FR.js.map +1 -0
  90. package/dist/client/locales/id-ID.d.ts +5 -0
  91. package/dist/client/locales/id-ID.d.ts.map +1 -0
  92. package/dist/client/locales/id-ID.js +876 -0
  93. package/dist/client/locales/id-ID.js.map +1 -0
  94. package/dist/client/locales/index.d.ts.map +1 -1
  95. package/dist/client/locales/index.js +10 -0
  96. package/dist/client/locales/index.js.map +1 -1
  97. package/dist/client/locales/ja-JP.d.ts +5 -0
  98. package/dist/client/locales/ja-JP.d.ts.map +1 -0
  99. package/dist/client/locales/ja-JP.js +876 -0
  100. package/dist/client/locales/ja-JP.js.map +1 -0
  101. package/dist/client/locales/ko-KR.d.ts +5 -0
  102. package/dist/client/locales/ko-KR.d.ts.map +1 -0
  103. package/dist/client/locales/ko-KR.js +879 -0
  104. package/dist/client/locales/ko-KR.js.map +1 -0
  105. package/dist/client/locales/pt-BR.d.ts +5 -0
  106. package/dist/client/locales/pt-BR.d.ts.map +1 -0
  107. package/dist/client/locales/pt-BR.js +882 -0
  108. package/dist/client/locales/pt-BR.js.map +1 -0
  109. package/dist/client/locales/ru-RU.d.ts +5 -0
  110. package/dist/client/locales/ru-RU.d.ts.map +1 -0
  111. package/dist/client/locales/ru-RU.js +891 -0
  112. package/dist/client/locales/ru-RU.js.map +1 -0
  113. package/dist/client/locales/vi-VN.d.ts +5 -0
  114. package/dist/client/locales/vi-VN.d.ts.map +1 -0
  115. package/dist/client/locales/vi-VN.js +876 -0
  116. package/dist/client/locales/vi-VN.js.map +1 -0
  117. package/dist/client/locales/zh-CN.d.ts.map +1 -1
  118. package/dist/client/locales/zh-CN.js +83 -9
  119. package/dist/client/locales/zh-CN.js.map +1 -1
  120. package/dist/client/locales/zh-TW.d.ts +5 -0
  121. package/dist/client/locales/zh-TW.d.ts.map +1 -0
  122. package/dist/client/locales/zh-TW.js +876 -0
  123. package/dist/client/locales/zh-TW.js.map +1 -0
  124. package/dist/client/pages/app-page.d.ts.map +1 -1
  125. package/dist/client/pages/app-page.js +14 -8
  126. package/dist/client/pages/app-page.js.map +1 -1
  127. package/dist/client/pages/apps-outlet.d.ts +8 -0
  128. package/dist/client/pages/apps-outlet.d.ts.map +1 -0
  129. package/dist/client/pages/apps-outlet.js +9 -0
  130. package/dist/client/pages/apps-outlet.js.map +1 -0
  131. package/dist/client/pages/environment-page.d.ts.map +1 -1
  132. package/dist/client/pages/environment-page.js +112 -24
  133. package/dist/client/pages/environment-page.js.map +1 -1
  134. package/dist/client/pages/environments-page.d.ts +8 -3
  135. package/dist/client/pages/environments-page.d.ts.map +1 -1
  136. package/dist/client/pages/environments-page.js +58 -10
  137. package/dist/client/pages/environments-page.js.map +1 -1
  138. package/dist/client/pages/new-app-page.d.ts +2 -4
  139. package/dist/client/pages/new-app-page.d.ts.map +1 -1
  140. package/dist/client/pages/new-app-page.js +29 -19
  141. package/dist/client/pages/new-app-page.js.map +1 -1
  142. package/dist/client/pages/new-app-redirect.d.ts +7 -0
  143. package/dist/client/pages/new-app-redirect.d.ts.map +1 -0
  144. package/dist/client/pages/new-app-redirect.js +8 -0
  145. package/dist/client/pages/new-app-redirect.js.map +1 -0
  146. package/dist/client/pages/request-page.js +1 -1
  147. package/dist/client/pages.d.ts +6 -2
  148. package/dist/client/pages.d.ts.map +1 -1
  149. package/dist/client/pages.js +8 -4
  150. package/dist/client/pages.js.map +1 -1
  151. package/dist/client/routes.d.ts.map +1 -1
  152. package/dist/client/routes.js +37 -10
  153. package/dist/client/routes.js.map +1 -1
  154. package/dist/database/migrations/.manifest.json +10 -2
  155. package/dist/database/migrations/202610020001_rel_create_tables.js +1 -1
  156. package/dist/database/migrations/202610020001_rel_create_tables.js.map +1 -1
  157. package/dist/database/migrations/202610260002_rel_bound_artifact_keys.d.ts +4 -0
  158. package/dist/database/migrations/202610260002_rel_bound_artifact_keys.d.ts.map +1 -0
  159. package/dist/database/migrations/202610260002_rel_bound_artifact_keys.js +51 -0
  160. package/dist/database/migrations/202610260002_rel_bound_artifact_keys.js.map +1 -0
  161. package/dist/database/migrations/202611020001_rel_environment_purpose.d.ts +8 -0
  162. package/dist/database/migrations/202611020001_rel_environment_purpose.d.ts.map +1 -0
  163. package/dist/database/migrations/202611020001_rel_environment_purpose.js +30 -0
  164. package/dist/database/migrations/202611020001_rel_environment_purpose.js.map +1 -0
  165. package/dist/server/access/caller.d.ts +6 -0
  166. package/dist/server/access/caller.d.ts.map +1 -1
  167. package/dist/server/access/caller.js +36 -0
  168. package/dist/server/access/caller.js.map +1 -1
  169. package/dist/server/artifact-config.d.ts +9 -0
  170. package/dist/server/artifact-config.d.ts.map +1 -0
  171. package/dist/server/artifact-config.js +49 -0
  172. package/dist/server/artifact-config.js.map +1 -0
  173. package/dist/server/composition.d.ts +6 -0
  174. package/dist/server/composition.d.ts.map +1 -1
  175. package/dist/server/composition.js +7 -1
  176. package/dist/server/composition.js.map +1 -1
  177. package/dist/server/config.d.ts +18 -2
  178. package/dist/server/config.d.ts.map +1 -1
  179. package/dist/server/drivers/host/driver.d.ts +13 -2
  180. package/dist/server/drivers/host/driver.d.ts.map +1 -1
  181. package/dist/server/drivers/host/driver.js +427 -81
  182. package/dist/server/drivers/host/driver.js.map +1 -1
  183. package/dist/server/drivers/types.d.ts +79 -1
  184. package/dist/server/drivers/types.d.ts.map +1 -1
  185. package/dist/server/drivers/types.js +6 -0
  186. package/dist/server/drivers/types.js.map +1 -1
  187. package/dist/server/index.d.ts +1 -1
  188. package/dist/server/index.d.ts.map +1 -1
  189. package/dist/server/index.js.map +1 -1
  190. package/dist/server/locales/de-DE.d.ts +5 -0
  191. package/dist/server/locales/de-DE.d.ts.map +1 -0
  192. package/dist/server/locales/de-DE.js +133 -0
  193. package/dist/server/locales/de-DE.js.map +1 -0
  194. package/dist/server/locales/es-ES.d.ts +5 -0
  195. package/dist/server/locales/es-ES.d.ts.map +1 -0
  196. package/dist/server/locales/es-ES.js +133 -0
  197. package/dist/server/locales/es-ES.js.map +1 -0
  198. package/dist/server/locales/fr-FR.d.ts +5 -0
  199. package/dist/server/locales/fr-FR.d.ts.map +1 -0
  200. package/dist/server/locales/fr-FR.js +133 -0
  201. package/dist/server/locales/fr-FR.js.map +1 -0
  202. package/dist/server/locales/id-ID.d.ts +5 -0
  203. package/dist/server/locales/id-ID.d.ts.map +1 -0
  204. package/dist/server/locales/id-ID.js +133 -0
  205. package/dist/server/locales/id-ID.js.map +1 -0
  206. package/dist/server/locales/index.d.ts.map +1 -1
  207. package/dist/server/locales/index.js +10 -0
  208. package/dist/server/locales/index.js.map +1 -1
  209. package/dist/server/locales/ja-JP.d.ts +5 -0
  210. package/dist/server/locales/ja-JP.d.ts.map +1 -0
  211. package/dist/server/locales/ja-JP.js +133 -0
  212. package/dist/server/locales/ja-JP.js.map +1 -0
  213. package/dist/server/locales/ko-KR.d.ts +5 -0
  214. package/dist/server/locales/ko-KR.d.ts.map +1 -0
  215. package/dist/server/locales/ko-KR.js +133 -0
  216. package/dist/server/locales/ko-KR.js.map +1 -0
  217. package/dist/server/locales/pt-BR.d.ts +5 -0
  218. package/dist/server/locales/pt-BR.d.ts.map +1 -0
  219. package/dist/server/locales/pt-BR.js +133 -0
  220. package/dist/server/locales/pt-BR.js.map +1 -0
  221. package/dist/server/locales/ru-RU.d.ts +5 -0
  222. package/dist/server/locales/ru-RU.d.ts.map +1 -0
  223. package/dist/server/locales/ru-RU.js +133 -0
  224. package/dist/server/locales/ru-RU.js.map +1 -0
  225. package/dist/server/locales/vi-VN.d.ts +5 -0
  226. package/dist/server/locales/vi-VN.d.ts.map +1 -0
  227. package/dist/server/locales/vi-VN.js +133 -0
  228. package/dist/server/locales/vi-VN.js.map +1 -0
  229. package/dist/server/locales/zh-TW.d.ts +5 -0
  230. package/dist/server/locales/zh-TW.d.ts.map +1 -0
  231. package/dist/server/locales/zh-TW.js +133 -0
  232. package/dist/server/locales/zh-TW.js.map +1 -0
  233. package/dist/server/providers/releases.d.ts.map +1 -1
  234. package/dist/server/providers/releases.js +12 -5
  235. package/dist/server/providers/releases.js.map +1 -1
  236. package/dist/server/routes/api.d.ts +1 -1
  237. package/dist/server/routes/api.d.ts.map +1 -1
  238. package/dist/server/routes/api.js +120 -20
  239. package/dist/server/routes/api.js.map +1 -1
  240. package/dist/server/routes/index.d.ts.map +1 -1
  241. package/dist/server/routes/index.js +10 -2
  242. package/dist/server/routes/index.js.map +1 -1
  243. package/dist/server/routes/schemas.d.ts +7 -2
  244. package/dist/server/routes/schemas.d.ts.map +1 -1
  245. package/dist/server/routes/schemas.js +320 -89
  246. package/dist/server/routes/schemas.js.map +1 -1
  247. package/dist/server/services/environments.d.ts +2 -2
  248. package/dist/server/services/environments.d.ts.map +1 -1
  249. package/dist/server/services/environments.js +21 -1
  250. package/dist/server/services/environments.js.map +1 -1
  251. package/dist/server/services/releases.d.ts +69 -8
  252. package/dist/server/services/releases.d.ts.map +1 -1
  253. package/dist/server/services/releases.js +574 -128
  254. package/dist/server/services/releases.js.map +1 -1
  255. package/dist/server/services/validation.d.ts +2 -0
  256. package/dist/server/services/validation.d.ts.map +1 -1
  257. package/dist/server/services/validation.js +8 -0
  258. package/dist/server/services/validation.js.map +1 -1
  259. package/dist/server/tokens.d.ts +15 -2
  260. package/dist/server/tokens.d.ts.map +1 -1
  261. package/dist/server/tokens.js.map +1 -1
  262. package/dist/shared/releases.d.ts +94 -3
  263. package/dist/shared/releases.d.ts.map +1 -1
  264. package/dist/shared/releases.js +37 -0
  265. package/dist/shared/releases.js.map +1 -1
  266. package/package.json +18 -18
  267. package/dist/client/pages/apps-page.d.ts +0 -4
  268. package/dist/client/pages/apps-page.d.ts.map +0 -1
  269. package/dist/client/pages/apps-page.js +0 -116
  270. package/dist/client/pages/apps-page.js.map +0 -1
@@ -0,0 +1,879 @@
1
+ const koKR = {
2
+ access: {
3
+ section: '릴리스',
4
+ pages: {
5
+ 'rel-apps': '앱',
6
+ },
7
+ businessSection: '릴리스',
8
+ businesses: {
9
+ apps: {
10
+ title: '앱',
11
+ description: '앱과 릴리스, 배포, 실행 상태입니다.',
12
+ actions: {
13
+ view: {
14
+ title: '앱 보기',
15
+ description: '앱과 릴리스, 배포, 실행 상태를 봅니다',
16
+ related: '앱 보기(관련된 앱)',
17
+ relatedLabel: '내가 만든 앱',
18
+ relatedHint: '내가 만든 앱과 애플리케이션이 나와 연결한 앱',
19
+ all: '앱 보기(전체)',
20
+ },
21
+ readLogs: {
22
+ title: '로그 읽기',
23
+ description: '앱 및 배포 로그를 읽습니다',
24
+ related: '로그 읽기(관련된 앱)',
25
+ relatedLabel: '내가 만든 앱',
26
+ relatedHint: '내가 만든 앱과 애플리케이션이 나와 연결한 앱',
27
+ all: '로그 읽기(전체)',
28
+ },
29
+ create: {
30
+ title: '앱 생성',
31
+ description: '환경에 앱을 만듭니다',
32
+ all: '앱 생성',
33
+ },
34
+ configure: {
35
+ title: '앱 설정',
36
+ description: '비밀 정보가 포함될 수 있는 앱 설정을 읽고 변경합니다',
37
+ related: '앱 설정(관련된 앱)',
38
+ relatedLabel: '내가 만든 앱',
39
+ relatedHint: '내가 만든 앱과 애플리케이션이 나와 연결한 앱',
40
+ all: '앱 설정(전체)',
41
+ },
42
+ upload: {
43
+ title: '릴리스 업로드',
44
+ description: '릴리스를 업로드하고 승격합니다',
45
+ related: '릴리스 업로드(관련된 앱)',
46
+ relatedLabel: '내가 만든 앱',
47
+ relatedHint: '내가 만든 앱과 애플리케이션이 나와 연결한 앱',
48
+ all: '릴리스 업로드(전체)',
49
+ },
50
+ deploy: {
51
+ title: '배포',
52
+ description: '보호되지 않은 환경에 배포 및 롤백하고, 보호된 환경에는 배포를 요청합니다',
53
+ related: '배포(관련된 앱)',
54
+ relatedLabel: '내가 만든 앱',
55
+ relatedHint: '내가 만든 앱과 애플리케이션이 나와 연결한 앱',
56
+ all: '배포(전체)',
57
+ },
58
+ deployProtected: {
59
+ title: '보호된 배포 승인',
60
+ description: '승인자가 지정되지 않은 보호된 환경으로의 배포를 승인합니다. 사람만 가능합니다',
61
+ related: '보호된 배포 승인(관련된 앱)',
62
+ relatedLabel: '내가 만든 앱',
63
+ relatedHint: '내가 만든 앱과 애플리케이션이 나와 연결한 앱',
64
+ all: '보호된 배포 승인(전체)',
65
+ },
66
+ operate: {
67
+ title: '시작 및 중지',
68
+ description: '앱을 시작, 중지, 재시작합니다',
69
+ related: '시작 및 중지(관련된 앱)',
70
+ relatedLabel: '내가 만든 앱',
71
+ relatedHint: '내가 만든 앱과 애플리케이션이 나와 연결한 앱',
72
+ all: '시작 및 중지(전체)',
73
+ },
74
+ delete: {
75
+ title: '앱 삭제',
76
+ description: '앱과 데이터를 삭제합니다',
77
+ related: '앱 삭제(관련된 앱)',
78
+ relatedLabel: '내가 만든 앱',
79
+ relatedHint: '내가 만든 앱과 애플리케이션이 나와 연결한 앱',
80
+ all: '앱 삭제(전체)',
81
+ },
82
+ },
83
+ },
84
+ },
85
+ recordAccess: {
86
+ owned: '본인이 만든 앱',
87
+ },
88
+ settings: {
89
+ rel: {
90
+ environments: '배포 환경',
91
+ },
92
+ },
93
+ keyScopes: {
94
+ apps: {
95
+ title: '앱 및 배포',
96
+ description: '읽기: 앱, 릴리스, 배포, 로그를 봅니다. 읽기 및 쓰기: 릴리스 업로드도 가능합니다. 관리자: 배포와 앱 시작·중지도 가능합니다.',
97
+ objects: '앱',
98
+ },
99
+ environments: {
100
+ title: '배포 환경',
101
+ description: '읽기: 환경 목록을 봅니다. 읽기 및 쓰기: 환경을 관리합니다.',
102
+ },
103
+ presets: {
104
+ ciDeploy: {
105
+ title: 'CI 배포',
106
+ description: '90일 동안 선택한 앱에 릴리스를 업로드하고 배포합니다.',
107
+ },
108
+ ciUpload: {
109
+ title: 'CI 업로드',
110
+ description: '90일 동안 선택한 앱에 릴리스를 업로드만 하고 배포하지 않습니다.',
111
+ },
112
+ },
113
+ },
114
+ actions: {
115
+ read: '보기',
116
+ manage: '관리',
117
+ view: '보기',
118
+ 'read-logs': '로그 읽기',
119
+ create: '생성',
120
+ configure: '설정',
121
+ upload: '릴리스 업로드',
122
+ deploy: '배포',
123
+ 'deploy-protected': '보호된 배포 승인',
124
+ operate: '시작 및 중지',
125
+ delete: '삭제',
126
+ },
127
+ },
128
+ drivers: {
129
+ host: '이 서버',
130
+ },
131
+ ui: {
132
+ nav: {
133
+ environments: '배포 환경',
134
+ },
135
+ apps: {
136
+ title: '앱',
137
+ create: '앱 만들기',
138
+ id: '앱 ID',
139
+ name: '이름',
140
+ environment: '환경',
141
+ version: '버전',
142
+ state: '상태',
143
+ url: '주소',
144
+ labels: '라벨',
145
+ loadFailed: '앱을 불러올 수 없습니다.',
146
+ loadOneFailed: '앱을 불러올 수 없습니다.',
147
+ created: '{{name}}을(를) 만들었습니다.',
148
+ createDescription: '앱은 하나의 환경에 배포되며 릴리스는 나중에 업로드합니다.',
149
+ idHint: '영문자, 숫자, 밑줄, 하이픈을 사용하며 주소의 일부가 됩니다. 나중에 변경할 수 없습니다.',
150
+ lastAccess: '마지막 방문',
151
+ stateFilter: '상태',
152
+ anyState: '모든 상태',
153
+ clearFilters: '필터 지우기',
154
+ noMatches: '필터와 일치하는 앱이 없습니다.',
155
+ runStates: {
156
+ running: '실행 중',
157
+ starting: '시작 중',
158
+ pending: '아직 시작 안 됨',
159
+ waiting: '대기 중',
160
+ stopped: '중지 또는 휴면',
161
+ failed: '실패',
162
+ unknown: '알 수 없음',
163
+ },
164
+ page: '{{pages}}페이지 중 {{page}}페이지',
165
+ previousPage: '이전 페이지',
166
+ nextPage: '다음 페이지',
167
+ },
168
+ advanced: '고급(선택)',
169
+ labels: {
170
+ name: '이름',
171
+ value: '값',
172
+ nameOf: '라벨 {{index}}의 이름',
173
+ valueOf: '라벨 {{index}}의 값',
174
+ remove: '라벨 {{index}} 삭제',
175
+ add: '라벨 추가',
176
+ hint: '라벨을 사용하면 도구와 사람이 앱과 릴리스를 찾고 묶을 수 있습니다.',
177
+ count_one: '라벨 {{count}}개',
178
+ count_other: '라벨 {{count}}개',
179
+ system: '시스템이 추가한 라벨',
180
+ systemHint: '시스템이 추가한 라벨이라 여기서 변경할 수 없습니다.',
181
+ errors: {
182
+ keyRequired: '이 값의 이름을 입력하세요.',
183
+ keyInvalid: '영문자, 숫자, ".", "_", "/", "-"를 사용하고 영문자나 숫자로 시작하세요(최대 63자).',
184
+ keyDuplicate: '이미 사용 중인 이름입니다.',
185
+ valueTooLong: '최대 {{max}}자입니다.',
186
+ tooMany: '라벨은 최대 {{max}}개입니다.',
187
+ },
188
+ },
189
+ policy: {
190
+ title: '실행',
191
+ activationLabel: '시작',
192
+ activation: {
193
+ eager: '항상 실행',
194
+ onDemand: '방문 시 시작',
195
+ },
196
+ activationHint: {
197
+ eager: '배포할 때와 실행 환경이 다시 시작될 때마다 시작됩니다.',
198
+ onDemand: '배포나 실행 환경 재시작 후 첫 방문 시 시작됩니다.',
199
+ },
200
+ idleLabel: '방문이 없으면 중지까지',
201
+ dormantLabel: '방문이 없으면 절전까지',
202
+ idleModeLabel: '유휴 타이머 동작',
203
+ dormantModeLabel: '절전 타이머 동작',
204
+ minutes: '분',
205
+ hours: '시간',
206
+ neverIdle: '사용 안 함',
207
+ neverDormant: '사용 안 함',
208
+ timerMode: {
209
+ inherit: '환경 기본값 사용',
210
+ custom: '직접 설정',
211
+ },
212
+ customTimerHint: '직접 설정한 값을 비워 두면 해당 타이머가 꺼지며 환경 기본값을 사용하지 않습니다.',
213
+ idleSummary: '방문 없이 {{minutes}}분 후 중지',
214
+ dormantSummary: '{{hours}}시간 후 절전',
215
+ timersHint: '중지된 앱은 메모리를 반환하고 다음 방문 시 다시 시작됩니다. 절전 상태의 앱은 압축을 푼 파일도 삭제되며, 설정과 데이터는 유지되고 다음 방문 시 다시 준비하므로 시간이 더 걸립니다.',
216
+ unsupported: '이 환경은 방문 시 시작을 지원하지 않으므로 앱이 계속 실행됩니다.',
217
+ errors: {
218
+ idleInvalid: '1~{{max}}분 사이의 정수를 입력하거나 비워 두세요.',
219
+ dormantInvalid: '0.02(1분)~{{max}}시간 사이로 입력하거나 비워 두세요.',
220
+ dormantBeforeIdle: '절전은 중지 이후여야 합니다.',
221
+ },
222
+ },
223
+ state: {
224
+ pending: '시작 중',
225
+ starting: '시작 중',
226
+ running: '실행 중',
227
+ stopped: '중지됨',
228
+ stoppedOnDemand: '중지됨(방문 시 시작)',
229
+ dormant: '절전 중(방문 시 준비)',
230
+ waitingCapacity: '빈 슬롯 대기 중',
231
+ waitingMemory: '메모리 대기 중',
232
+ waitingRecycle: '호스트 재시작 대기 중',
233
+ failed: '실패',
234
+ unknown: '알 수 없음',
235
+ deploying: '배포 중',
236
+ },
237
+ operate: {
238
+ refreshFailed: '앱 상태를 새로 고칠 수 없습니다. 상태를 새로 고칠 때까지 작업을 사용할 수 없습니다. 연결과 접근 권한을 확인한 뒤 다시 시도하세요.',
239
+ disabled: {
240
+ busy: '작업이 진행 중입니다.',
241
+ unavailable: '앱 상태를 사용할 수 없습니다. 앱을 조작하기 전에 상태를 새로 고치세요.',
242
+ deploying: '배포가 진행 중입니다.',
243
+ starting: '앱을 시작하는 중입니다.',
244
+ notDeployed: '먼저 릴리스를 배포하세요.',
245
+ alreadyRunning: '앱이 이미 실행 중입니다.',
246
+ notRunning: '앱이 실행 중이 아닙니다.',
247
+ },
248
+ start: '시작',
249
+ stop: '중지',
250
+ restart: '재시작',
251
+ done: {
252
+ start: '앱을 시작하는 중입니다.',
253
+ stop: '앱이 중지되었습니다.',
254
+ restart: '앱을 재시작하는 중입니다.',
255
+ },
256
+ },
257
+ releases: {
258
+ title: '릴리스',
259
+ upload: '릴리스 업로드',
260
+ uploadAction: '업로드',
261
+ commit: '커밋',
262
+ commitHint: '선택: 이 아카이브를 빌드한 커밋이며 sha 라벨로 저장됩니다.',
263
+ uploaded: '릴리스를 업로드했습니다.',
264
+ checksum: '체크섬',
265
+ size: '크기',
266
+ created: '생성됨',
267
+ empty: '아직 릴리스가 없습니다. 이 앱용으로 빌드한 .tar.gz 패키지를 업로드하세요.',
268
+ loadFailed: '릴리스를 불러올 수 없습니다.',
269
+ },
270
+ deploy: {
271
+ deploy: '배포',
272
+ started: '{{version}} 배포 중.',
273
+ confirmProtected: '보호된 환경입니다. 배포하려면 {{appId}}을(를) 입력하세요.',
274
+ },
275
+ deployments: {
276
+ cancel: '배포 취소',
277
+ replaced: '더 새로운 배포로 대체되었습니다.',
278
+ cancelAccepted: '취소 요청이 접수되었습니다.',
279
+ queueAhead: '대기 중 · 앞에 {{ahead}}개',
280
+ restartHint: '배포가 중단되었습니다. 릴리스를 다시 배포하세요.',
281
+ title: '배포',
282
+ kind: '유형',
283
+ status: '상태',
284
+ by: '실행자',
285
+ current: '현재',
286
+ logs: '로그',
287
+ rollback: '롤백',
288
+ rollbackStarted: '롤백하는 중입니다.',
289
+ confirmRollbackTitle: '{{name}}을(를) 롤백할까요?',
290
+ confirmRollback: '앱이 해당 배포의 릴리스로 돌아가며, 그 이후 배포된 내용은 되돌려집니다.',
291
+ loadFailed: '배포를 불러올 수 없습니다.',
292
+ empty: '아직 배포되지 않았습니다.',
293
+ hideLogs: '로그 숨기기',
294
+ noLogs: '로그가 없습니다.',
295
+ statuses: {
296
+ cancelling: '취소 중',
297
+ cancelled: '취소됨',
298
+ queued: '대기 중',
299
+ deploying: '배포 중',
300
+ succeeded: '성공',
301
+ failed: '실패',
302
+ },
303
+ },
304
+ actors: {
305
+ human: '사람',
306
+ agent: 'Agent',
307
+ key: '키',
308
+ rule: '규칙',
309
+ system: '시스템',
310
+ },
311
+ requests: {
312
+ title: '배포 요청',
313
+ pendingApproval: '승인 대기 중',
314
+ notice: {
315
+ deploy: '{{version}}을(를) {{environment}}에 배포하도록 요청했습니다',
316
+ rollback: '{{environment}}을(를) {{version}}(으)로 롤백하도록 요청했습니다',
317
+ },
318
+ someone: '누군가',
319
+ review: '검토',
320
+ view: '보기',
321
+ comment: '댓글(선택)',
322
+ decideFailed: '결정이 처리되지 않았습니다',
323
+ request: '배포 요청',
324
+ created: '배포를 요청했습니다.',
325
+ approve: '승인',
326
+ confirmApproveTitle: '{{appId}}의 배포를 승인할까요?',
327
+ reject: '거절',
328
+ cancel: '철회',
329
+ requestedBy: '요청자',
330
+ decidedBy: '결정자',
331
+ note: '메모',
332
+ approvedToast: '{{appId}}의 배포를 승인했습니다.',
333
+ rejectedToast: '{{appId}}의 배포를 거절했습니다.',
334
+ app: '앱',
335
+ commit: '커밋',
336
+ build: '빌드',
337
+ ciLog: 'CI 로그',
338
+ requestedAt: '요청 시각',
339
+ decisionNote: '결정 메모',
340
+ pinned: '체크섬 {{checksum}}; 승인하면 정확히 이 버전이 배포됩니다',
341
+ loadFailed: '배포 요청을 불러올 수 없습니다.',
342
+ detailTitle: {
343
+ deploy: '{{appId}} 배포 요청',
344
+ rollback: '{{appId}} 롤백 요청',
345
+ },
346
+ reviewTitle: {
347
+ deploy: '{{appId}} 배포 요청 검토',
348
+ rollback: '{{appId}} 롤백 요청 검토',
349
+ },
350
+ done: {
351
+ approve: '요청을 승인했습니다.',
352
+ reject: '요청을 거절했습니다.',
353
+ cancel: '요청을 철회했습니다.',
354
+ },
355
+ kind: {
356
+ deploy: '배포',
357
+ rollback: '롤백',
358
+ },
359
+ status: {
360
+ pending: '대기 중',
361
+ approved: '승인됨',
362
+ rejected: '거절됨',
363
+ cancelled: '철회됨',
364
+ deployed: '배포됨',
365
+ failed: '실패',
366
+ },
367
+ },
368
+ variables: {
369
+ title: '변수',
370
+ description: '이 앱이 사용하는 환경 변수입니다. 변경 사항은 즉시 저장되며 다음 배포 때 앱에 반영됩니다.',
371
+ environmentDescription: 'Pull request 미리 보기를 포함해 이 환경의 모든 앱이 자체 값을 설정하지 않으면 이 값을 받습니다. 각 앱의 최신 빌드가 선언한 내용과 함께 표시됩니다. 변경 사항은 즉시 저장되며 다음 배포 때 앱에 반영됩니다.',
372
+ add: '변수 추가',
373
+ name: '이름',
374
+ value: '값',
375
+ source: '출처',
376
+ secret: '비밀',
377
+ secretHint: '비밀 값은 저장한 뒤 다시 표시되지 않습니다.',
378
+ nameHint: '영문 대문자, 숫자, 밑줄을 사용하고 영문자로 시작합니다.',
379
+ invalidName: '영문 대문자, 숫자, 밑줄을 사용하고 영문자로 시작하세요.',
380
+ valueOf: '{{name}}의 값',
381
+ set: '설정됨',
382
+ notSet: '설정 안 됨',
383
+ sources: {
384
+ app: '앱',
385
+ environment: '환경에서',
386
+ configFile: 'config.yml',
387
+ generated: '자동 생성',
388
+ default: '기본값',
389
+ unset: '설정 안 됨',
390
+ },
391
+ tags: {
392
+ required: '필수',
393
+ secret: '비밀',
394
+ firstStartOnly: '첫 시작 시에만',
395
+ changed: '변경됨 — 재시작 필요',
396
+ missing: '누락',
397
+ undeclared: '선언되지 않음',
398
+ },
399
+ setValue: '값 설정',
400
+ replace: '교체',
401
+ override: '재정의',
402
+ overrideOf: '{{name}} 재정의',
403
+ overrideTitle: '{{name}} 재정의',
404
+ overrideHint: '이 앱은 환경의 값 대신 이 값을 사용합니다. 즉시 저장되며 다음 배포 때 앱에 반영됩니다.',
405
+ savedAtOnce: '즉시 저장되며 다음 배포 때 앱에 반영됩니다.',
406
+ updated: '업데이트됨',
407
+ clear: '지우기',
408
+ addTitle: '변수 추가',
409
+ setTitle: '{{name}} 설정',
410
+ save: '저장',
411
+ cancel: '취소',
412
+ saved: '{{name}}을(를) 저장했습니다.',
413
+ cleared: '{{name}}을(를) 지웠습니다.',
414
+ loadFailed: '변수를 불러올 수 없습니다.',
415
+ emptyTitle: '변수 없음',
416
+ emptyDescription: '릴리스가 선언한 변수도, 설정된 변수도 없습니다. 앱에 전달하려면 변수를 추가하세요.',
417
+ emptyEnvironmentTitle: '아직 변수가 없습니다',
418
+ emptyEnvironment: '이 환경의 모든 앱에 전달할 변수를 추가하세요.',
419
+ emptyEnvironmentReadOnly: '관리자에게 변수 추가를 요청하세요.',
420
+ noManifest: '이 릴리스는 변수를 선언하지 않으므로 배포 전에 확인하지 않습니다.',
421
+ basis: '최신 빌드({{version}})가 선언한 대로 표시됩니다. 앱 자체 값이 환경 값보다 우선합니다.',
422
+ noBuildTitle: '아직 빌드가 없습니다',
423
+ noBuildDescription: '앱의 첫 빌드를 업로드하면 변수가 여기에 표시됩니다. 지금은 직접 추가할 수 있습니다.',
424
+ noBuild: '아직 빌드가 없음: 직접 설정한 값입니다.',
425
+ undeclaredTitle: '선언되지 않음',
426
+ undeclaredDescription: '최신 빌드가 이 변수들을 선언하지 않습니다. 여전히 앱에 전달되니 더 이상 필요 없으면 앱 자체 값을 지우세요.',
427
+ setOnEnvironment: '환경에 설정됨',
428
+ setOnApp: '이 앱에 설정됨',
429
+ declaredBy: '선언한 앱',
430
+ status: '상태',
431
+ noApps: '선언한 앱이 없음',
432
+ moreApps: '+{{count}}',
433
+ appGroup: '{{label}} ×{{count}}',
434
+ missingIn_one: '앱 {{count}}개에서 누락',
435
+ missingIn_other: '앱 {{count}}개에서 누락',
436
+ missingInTitle: '필수이며 값이 없는 앱: {{apps}}',
437
+ environmentSet: '여기에 설정됨',
438
+ environmentNotSet: '여기에 설정 안 됨',
439
+ missingTitle: '필수 변수가 설정되지 않았습니다',
440
+ missingDescription: '최신 빌드를 배포하려면 {{names}}을(를) 설정해야 합니다. 환경에 설정하면 그 환경의 모든 앱에, 이 앱에 설정하면 이 앱에만 적용됩니다.',
441
+ review: '변수 검토',
442
+ changedTitle: '변수 변경이 적용되지 않았습니다',
443
+ changedDescription: '앱을 배포한 뒤 변수가 변경되었습니다. 앱을 다시 배포하면 적용됩니다.',
444
+ apply: '적용 및 재시작',
445
+ applied: '새 변수로 다시 배포하는 중입니다.',
446
+ needs_one: '변수 {{count}}개 필요',
447
+ needs_other: '변수 {{count}}개 필요',
448
+ missing: '{{count}}개 누락',
449
+ bulk: {
450
+ edit: '일괄 편집',
451
+ title: '변수 일괄 편집',
452
+ reviewTitle: '변경 사항 검토',
453
+ description: '.env 파일처럼 KEY=value 줄을 붙여 넣거나 편집하세요. #으로 시작하는 줄은 무시됩니다.',
454
+ appHint: '이 앱이 직접 설정한 값을 표시합니다. 환경의 값과 비밀 값은 표시되지 않으니 재정의하거나 교체하려면 줄을 추가하세요. 줄을 삭제하면 해당 값이 지워집니다.',
455
+ environmentHint: '이 환경의 값을 표시합니다. 비밀 값은 표시되지 않으니 교체하려면 줄을 추가하세요. 줄을 삭제하면 해당 값이 지워집니다.',
456
+ label: '변수(.env)',
457
+ review: '변경 사항 검토',
458
+ back: '뒤로',
459
+ changes: '변경 사항',
460
+ noChanges: '이미 설정된 값과 같습니다.',
461
+ nothing: '저장할 내용 없음',
462
+ unchanged_one: '변수 {{count}}개는 그대로 유지됩니다.',
463
+ unchanged_other: '변수 {{count}}개는 그대로 유지됩니다.',
464
+ save_one: '변경 {{count}}개 저장',
465
+ save_other: '변경 {{count}}개 저장',
466
+ saved_one: '변경 {{count}}개를 저장했습니다.',
467
+ saved_other: '변경 {{count}}개를 저장했습니다.',
468
+ secretOf: '{{name}}은(는) 비밀 값입니다',
469
+ failedTitle: '일부 변경 사항이 저장되지 않았습니다',
470
+ kinds: {
471
+ add: '추가',
472
+ change: '변경',
473
+ remove: '삭제',
474
+ },
475
+ problems: {
476
+ syntax: '{{line}}번째 줄: KEY=value 형식으로 쓰세요.',
477
+ name: '{{line}}번째 줄: {{name}}은(는) 올바른 이름이 아닙니다. 영문 대문자, 숫자, 밑줄을 사용하고 영문자로 시작하세요.',
478
+ reserved: '{{line}}번째 줄: {{name}}은(는) 실행 환경이 설정하므로 변수로 쓸 수 없습니다.',
479
+ duplicate: '{{line}}번째 줄: {{name}}은(는) 앞 줄에서 이미 설정되었습니다.',
480
+ unterminated: '{{line}}번째 줄: {{name}} 값의 따옴표가 닫히지 않았습니다.',
481
+ },
482
+ },
483
+ },
484
+ tabs: {
485
+ label: '{{name}}의 섹션',
486
+ overview: '개요',
487
+ deployments: '배포',
488
+ variables: '변수',
489
+ settings: '설정',
490
+ },
491
+ sharedHost: {
492
+ title: '공유 앱 호스트',
493
+ description: '이 호스트의 모든 환경의 앱이 하나의 프로세스와 메모리를 공유합니다.',
494
+ environments: '이 호스트의 환경: {{names}}',
495
+ recycling: {
496
+ pending: '사용 중인 앱이 없을 때 이 호스트를 재시작해 이전 코드를 해제합니다. 새 버전은 그때까지 대기하며 실행 중인 앱은 계속 요청을 처리합니다.',
497
+ restarting: '이 호스트를 재시작하는 중입니다. 앱이 돌아올 때까지 "잠시 후 다시 시도"라고 응답합니다.',
498
+ },
499
+ restoreFailed: '{{name}}: 앱을 복원할 수 없어 백그라운드에서 다시 시도하는 중입니다.',
500
+ failed: '공유 호스트가 다시 시작된 후 앱을 복원하지 못했습니다. 백그라운드에서 다시 시도합니다.',
501
+ view: '호스트 사용 현황 보기',
502
+ deployed: '배포됨: {{count}}',
503
+ appsLabel: '실행 또는 시작 중',
504
+ heapLabel: '힙',
505
+ processLabel: '프로세스 메모리',
506
+ ratio: '{{used}} / {{limit}}',
507
+ runningUnlimited: '{{running}} · 제한 없음',
508
+ available: '서버에 {{available}} 남음',
509
+ wholeHost: '이 호스트 전체(모든 환경 포함)의 합계이며, 메모리는 앱별로 나눌 수 없습니다.',
510
+ viewAppsNote: '볼 수 있는 앱만 표시됩니다.',
511
+ byEnvironment: '환경별 실행 중 또는 시작 중:',
512
+ },
513
+ runtime: {
514
+ holds: {
515
+ requests: '요청 처리 중',
516
+ connections: '열린 연결',
517
+ starting: '시작 중',
518
+ operation: '배포 또는 중지 중',
519
+ resident: '항상 실행',
520
+ busy: '사용 중',
521
+ recent: '최근 1분 내 사용됨',
522
+ },
523
+ waiting: {
524
+ capacity: '시작 거부: 활성 앱 한도 또는 시작 대기열이 가득 참',
525
+ memory: '시작 거부: 메모리 부족',
526
+ recycle: '시작 거부: 새 코드가 호스트 재시작을 기다리는 중',
527
+ },
528
+ idle: '유휴 상태, 공간이 필요하면 먼저 중지됨',
529
+ lastVisit: '마지막 방문: {{time}}',
530
+ },
531
+ overview: {
532
+ currentRelease: '현재 릴리스',
533
+ recent: '최근 배포',
534
+ viewAll: '모두 보기',
535
+ },
536
+ initialAdmin: {
537
+ title: '첫 번째 관리자',
538
+ kept: '첫 배포 때 생성되었으며 앱이 삭제될 때까지 보관됩니다.',
539
+ username: '사용자 이름',
540
+ email: '이메일',
541
+ password: '비밀번호',
542
+ show: '비밀번호 표시',
543
+ hide: '비밀번호 숨기기',
544
+ copy: '비밀번호 복사',
545
+ copied: '비밀번호를 복사했습니다.',
546
+ copyFailed: '비밀번호를 복사할 수 없습니다. 표시한 뒤 직접 복사하세요.',
547
+ dismiss: '저장했습니다',
548
+ dismissed: '첫 번째 관리자 정보를 릴리스 관리자에서 삭제했습니다.',
549
+ },
550
+ config: {
551
+ title: '고급',
552
+ description: '배포된 앱의 config.yml이며, 저장하면 앱을 다시 불러옵니다. 환경마다 다른 값과 비밀 값에는 변수를 사용하세요.',
553
+ loadFailed: '설정을 불러올 수 없습니다.',
554
+ discard: '변경 사항 버리기',
555
+ save: '저장 후 다시 불러오기',
556
+ saved: '설정을 저장했습니다.',
557
+ external: '이 앱은 릴리스 관리 외부에서 설정을 읽으므로 여기서 편집할 config.yml이 없습니다. 환경마다 다른 값은 변수로 설정하세요.',
558
+ externalTitle: '편집할 config.yml 없음',
559
+ noFileTitle: '아직 config.yml이 없습니다',
560
+ noFile: 'config.yml은 첫 배포 때 생성됩니다. 그 전에는 변수로 앱을 설정하세요.',
561
+ toVariables: '변수로 이동',
562
+ maskedHint: '비밀 값은 {{mask}}(으)로 표시됩니다. 저장된 값을 유지하려면 마스크를 그대로 두고, 새 값을 쓰려면 덮어쓰세요.',
563
+ secrets: '비밀 값',
564
+ secretsHint: '저장된 값은 표시되지 않습니다. 여기서 교체하거나 지울 수 있으며 저장하면 적용됩니다.',
565
+ newValue: '{{path}}의 새 값',
566
+ replace: '{{path}} 교체',
567
+ clear: '{{path}} 지우기',
568
+ },
569
+ settings: {
570
+ edit: '실행 및 라벨',
571
+ editShort: '편집',
572
+ editDescription: '앱이 언제 실행되는지와 라벨입니다. 변경 사항은 재시작 없이 적용됩니다.',
573
+ save: '저장',
574
+ saved: '설정을 저장했습니다.',
575
+ danger: '애플리케이션 삭제',
576
+ delete: '데이터와 함께 삭제',
577
+ deleteDescription: '앱과 릴리스, 배포, 데이터를 삭제합니다. 되돌릴 수 없습니다.',
578
+ deleted: '{{name}}을(를) 삭제했습니다.',
579
+ confirmDeleteTitle: '{{name}}을(를) 삭제할까요?',
580
+ confirmDelete: '{{appId}}과(와) 모든 데이터가 삭제됩니다. 확인하려면 {{appId}}을(를) 입력하세요.',
581
+ },
582
+ common: {
583
+ retry: '다시 시도',
584
+ refresh: '새로 고침',
585
+ actions: '작업',
586
+ rowActions: '{{name}} 작업',
587
+ },
588
+ errors: {
589
+ requestFailed: '요청에 실패했습니다.',
590
+ reasons: {
591
+ IMAGE_REQUIRED: '이 환경은 릴리스 이미지를 실행하는데, 릴리스에 해당 이미지가 없습니다. CI가 푸시한 이미지를 등록(`release image`)한 뒤 배포하세요.',
592
+ ARCHIVE_REQUIRED: '이 환경은 릴리스 아카이브를 프로세스 안에서 실행합니다. 아카이브를 업로드하세요(`release upload`).',
593
+ IMAGE_CONFLICT: '이 릴리스에는 이미 이 플랫폼용 다른 이미지가 있습니다. 릴리스의 이미지는 바뀌지 않습니다.',
594
+ INVALID_IMAGE: 'sha256 다이제스트가 포함된 이미지 참조가 아닙니다.',
595
+ REGISTRY_EXISTS: '이 ID의 레지스트리가 이미 있습니다.',
596
+ REGISTRY_IN_USE: '이 레지스트리에서 이미지를 가져오는 환경이 있습니다. 먼저 해당 환경에 다른 레지스트리를 선택하세요.',
597
+ UNKNOWN_REGISTRY: '해당 레지스트리가 없습니다.',
598
+ INVALID_REGISTRY_URL: 'https://ghcr.io 또는 localhost:5000처럼 레지스트리 출처를 입력하세요.',
599
+ INVALID_REGISTRY_NAMESPACE: '네임스페이스는 acme처럼 소문자 경로 구성 요소입니다.',
600
+ APP_EXISTS: '이 ID의 앱이 이미 있습니다.',
601
+ APP_NOT_DEPLOYED: '앱이 아직 배포되지 않았습니다.',
602
+ APP_NOT_FOUND: '앱이 없거나 볼 수 없습니다.',
603
+ APPROVAL_REQUIRED: '보호된 환경입니다. 대신 배포를 요청하세요.',
604
+ ARTIFACT_TOO_LARGE: '릴리스 패키지가 너무 큽니다.',
605
+ BASE_PATH_MISMATCH: '릴리스가 다른 기본 경로용으로 빌드되었습니다.',
606
+ CHECKSUM_MISMATCH: '패키지가 체크섬과 일치하지 않습니다.',
607
+ CONFIG_NOT_EDITABLE: '이 앱의 설정은 여기서 편집할 수 없습니다.',
608
+ CONFIG_SECRET_NOT_STORED: '마스크 처리된 위치에 저장된 비밀 값이 없습니다. 마스크 대신 값을 입력하세요.',
609
+ CONFIG_RELOAD_FAILED: '설정은 저장되었지만 앱이 다시 불러오지 못했습니다.',
610
+ CONFIG_TOO_LARGE: '설정이 너무 큽니다.',
611
+ CONFIRMATION_REQUIRED: '확인하려면 앱 ID를 입력하세요.',
612
+ DEPLOYMENT_NOT_CANCELLABLE: '배포가 이미 전환을 시작했거나 완료되었습니다.',
613
+ CANCELLATION_UNSUPPORTED: '이 배포 드라이버는 취소를 지원하지 않습니다.',
614
+ DEPLOYMENT_IN_PROGRESS: '이 앱의 배포가 이미 진행 중입니다.',
615
+ DEPLOYMENT_NOT_FOUND: '배포가 없습니다.',
616
+ DRIVER_UNAVAILABLE: '환경의 드라이버를 사용할 수 없습니다.',
617
+ ENVIRONMENT_DRIVER_FIXED: '환경의 드라이버는 변경할 수 없습니다.',
618
+ ENVIRONMENT_VARIANT_FIXED: '환경의 실행 모드는 변경할 수 없습니다. 대신 다른 환경을 만드세요.',
619
+ ENVIRONMENT_EXISTS: '이 ID의 환경이 이미 있습니다.',
620
+ ENVIRONMENT_FULL: '환경의 앱 한도에 도달했습니다.',
621
+ ENVIRONMENT_IN_USE: '이 환경에 아직 배포된 앱이 있습니다.',
622
+ ENVIRONMENT_NOT_FOUND: '환경이 없습니다.',
623
+ FORBIDDEN: '이 작업을 수행할 권한이 없습니다.',
624
+ IDEMPOTENCY_CONFLICT: '같은 요청이 다른 내용으로 전송되었습니다.',
625
+ INVALID_ACTIVATION_POLICY: '시작 정책이 올바르지 않습니다.',
626
+ INVALID_IDLE_STOP: '유휴 중지 설정이 올바르지 않습니다.',
627
+ INVALID_DORMANCY: '절전 시간이 올바르지 않습니다.',
628
+ INVALID_APP_ID: '앱 ID에는 영문자, 숫자, 밑줄, 하이픈을 사용하며 "__"로 시작하거나 "new"일 수 없습니다.',
629
+ INVALID_APPROVERS: '승인자가 올바르지 않습니다.',
630
+ INVALID_ARTIFACT_SIZE: '패키지 크기가 올바르지 않습니다.',
631
+ INVALID_ARTIFACT_VERSION: '릴리스 버전이 올바르지 않습니다.',
632
+ INVALID_ARTIFACT: '올바른 릴리스 패키지가 아닙니다.',
633
+ INVALID_CHECKSUM: '체크섬이 올바르지 않습니다.',
634
+ INVALID_CONFIG_FILE: '설정이 올바른 YAML이 아닙니다.',
635
+ INVALID_CONFIG_MODE: '설정 모드가 올바르지 않습니다.',
636
+ INVALID_CONFIG_SECRET: '비밀 값 변경이 올바르지 않습니다.',
637
+ INVALID_CONTENT_TYPE: '.tar.gz 패키지를 업로드하세요.',
638
+ INVALID_DEPLOYMENT_INPUT: '배포 요청이 올바르지 않습니다.',
639
+ INVALID_DRIVER: '드라이버가 올바르지 않습니다.',
640
+ INVALID_ENVIRONMENT_CONFIG: '환경 설정이 드라이버에 맞지 않습니다.',
641
+ INVALID_ENVIRONMENT_ID: '환경 ID에는 영문 소문자, 숫자, 밑줄, 하이픈을 사용하세요.',
642
+ INVALID_ENVIRONMENT_SETTINGS: '환경 설정이 올바르지 않습니다.',
643
+ INVALID_IDEMPOTENCY_KEY: '요청 키가 올바르지 않습니다.',
644
+ INVALID_INPUT: '요청의 일부 필드가 올바르지 않습니다.',
645
+ INVALID_LABELS: '라벨은 쉼표로 구분된 key=value 형식으로 쓰세요.',
646
+ INVALID_LOG_CURSOR: '로그 위치가 올바르지 않습니다.',
647
+ INVALID_LOG_ID: '로그가 없습니다.',
648
+ INVALID_NOTE: '메모가 너무 깁니다.',
649
+ INVALID_PUBLIC_URL: '공개 URL 패턴이 올바르지 않습니다.',
650
+ INVALID_REQUEST: '요청이 올바르지 않습니다.',
651
+ INVALID_ROLLBACK_TARGET: '이 배포로는 롤백할 수 없습니다.',
652
+ INVALID_SEARCH: '검색이 올바르지 않습니다.',
653
+ INVALID_TICKET: '티켓이 올바르지 않습니다.',
654
+ RELEASE_EXISTS: '이 버전은 이미 업로드되었습니다.',
655
+ RELEASE_NOT_FOUND: '릴리스가 없습니다.',
656
+ REQUEST_DECIDED: '이미 결정된 요청입니다.',
657
+ REQUEST_NOT_FOUND: '요청이 없습니다.',
658
+ REQUEST_PENDING: '이 앱에 대한 요청이 이미 승인을 기다리고 있습니다.',
659
+ RESTART_FAILED: '앱을 재시작할 수 없습니다.',
660
+ SESSION_REQUIRED: '계속하려면 다시 로그인하세요.',
661
+ START_FAILED: '앱을 시작할 수 없습니다.',
662
+ STOP_FAILED: '앱을 중지할 수 없습니다.',
663
+ TICKET_DEPLOY_REFUSED: '티켓이 이 배포를 허용하지 않습니다.',
664
+ TICKET_FORBIDDEN: '티켓이 이 작업을 허용하지 않습니다.',
665
+ UNSAFE_ARTIFACT: '패키지에 안전하지 않은 경로가 있습니다.',
666
+ VARIABLES_MISSING: '필수 변수가 설정되지 않았습니다: {{names}}. 앱 또는 환경의 변수에 설정한 뒤 다시 배포하세요.',
667
+ VARIABLE_RESERVED: '이 이름은 실행 환경이 설정하므로 변수로 쓸 수 없습니다.',
668
+ INVALID_VARIABLE_NAME: '변수 이름은 영문 대문자, 숫자, 밑줄이며 영문자로 시작합니다.',
669
+ INVALID_VARIABLE_VALUE: '값이 너무 깁니다.',
670
+ VARIABLE_NOT_FOUND: '변수가 설정되지 않았습니다.',
671
+ INVALID_VARIABLES_MANIFEST: '릴리스의 변수 매니페스트(dist/variables.json)가 올바르지 않습니다.',
672
+ INITIAL_ADMIN_UNAVAILABLE: '표시할 첫 번째 관리자가 없습니다.',
673
+ },
674
+ messages: {
675
+ hostExited: '앱 프로세스가 준비되기 전에 중지되었습니다.',
676
+ hostDisabled: '앱 호스트가 꺼져 있습니다.',
677
+ hostShutDown: '앱 호스트가 종료되었습니다.',
678
+ hostEntryMissing: '앱 호스트의 진입 파일이 없습니다.',
679
+ cannotRestart: '이 호스트는 여기서 재시작할 수 없습니다.',
680
+ selfDeploy: '호스트는 자신이 실행되는 애플리케이션을 배포할 수 없습니다.',
681
+ noStatus: '호스트가 배포 결과를 보고하지 않았습니다.',
682
+ interrupted: '재시작으로 배포가 중단되었습니다.',
683
+ notReported: '실행 환경이 앱을 보고하지 않았습니다.',
684
+ notRunning: '재시작 후 앱이 실행되지 않습니다.',
685
+ deploymentNotReported: '실행 환경이 배포를 보고하지 않았습니다.',
686
+ notReady: '아직 준비되지 않았습니다. 잠시 후 다시 시도하세요.',
687
+ checkTimeout: '테스트가 20초 안에 끝나지 않았습니다.',
688
+ hostNoSettings: '로컬 실행 환경에는 연결 설정이 없습니다.',
689
+ },
690
+ prefixed: {
691
+ startFailed: '시작 실패: {{detail}}',
692
+ stopFailed: '중지 실패: {{detail}}',
693
+ restartFailed: '재시작 실패: {{detail}}',
694
+ outcomeUnreadable: '결과를 읽을 수 없습니다: {{detail}}',
695
+ },
696
+ },
697
+ confirm: {
698
+ cancel: '취소',
699
+ typeLabel: '확인하려면 {{text}}을(를) 입력하세요',
700
+ },
701
+ environments: {
702
+ title: '배포 환경',
703
+ description: '애플리케이션이 배포되는 곳과 배포할 수 있는 사람입니다.',
704
+ open: '열기',
705
+ loadOneFailed: '환경을 불러올 수 없습니다.',
706
+ settingsTitle: '환경 설정',
707
+ readOnly: '이 환경의 설정을 볼 수 있지만 변경할 수는 없습니다.',
708
+ danger: '환경 삭제',
709
+ deleteDescription: '환경과 변수를 삭제합니다. 여기에 배포된 앱을 먼저 삭제해야 합니다.',
710
+ discard: '변경 사항 버리기',
711
+ anyone: '배포할 수 있는 모든 사람',
712
+ unlimited: '제한 없음',
713
+ apps: '앱',
714
+ appsDescription: '이 환경에 배포된 앱입니다.',
715
+ appsEmpty: '아직 배포된 앱이 없습니다.',
716
+ sampleData: '첫 배포 시 샘플 데이터 불러오기',
717
+ sampleDataHint: '이 환경에서 앱을 처음 배포하면 샘플 데이터를 설치합니다(APP_SAMPLE_DATA=true). 운영 환경이 아닌 미리 보기에 사용하세요.',
718
+ add: '환경 추가',
719
+ edit: '편집',
720
+ delete: '삭제',
721
+ save: '저장',
722
+ cancel: '취소',
723
+ check: '확인',
724
+ reachable: '{{name}}에 연결할 수 있습니다.',
725
+ unreachable: '{{name}}에 연결할 수 없습니다.',
726
+ deleted: '{{name}} 환경을 삭제했습니다.',
727
+ saved: '{{name}} 환경을 저장했습니다.',
728
+ added: '{{name}} 환경을 추가했습니다.',
729
+ loadFailed: '환경을 불러올 수 없습니다.',
730
+ emptyTitle: '아직 환경이 없습니다',
731
+ emptyNoAccess: '관리자에게 환경 추가를 요청하세요.',
732
+ emptyDescription: '앱을 배포할 환경을 추가하세요.',
733
+ editTitle: '{{name}} 편집',
734
+ formDescription: '앱이 배포되는 곳, 접근 방법, 배포할 수 있는 사람입니다.',
735
+ configHint: '드라이버 설정(JSON 객체)입니다.',
736
+ secretHint: '암호화되어 저장되며 다시 표시되지 않습니다. 유지하려면 비워 두세요.',
737
+ invalidJson: '{} 같은 JSON 객체를 입력하세요.',
738
+ protectedHint: '사람이든 CI든 모든 배포는 승인자를 기다리며, 승인자는 앱 ID를 다시 입력해 승인합니다.',
739
+ approversColumn: '승인자',
740
+ approversPlaceholder: '승인자 선택',
741
+ approversHint: '본인 요청을 포함해 누구든 승인할 수 있습니다. 아무도 선택하지 않으면 보호된 배포를 승인할 권한이 있는 사람이 결정합니다.',
742
+ confirmDelete: '{{id}} 환경을 삭제할까요?',
743
+ id: '환경 ID',
744
+ name: '이름',
745
+ driver: '드라이버',
746
+ runsOn: '실행 위치',
747
+ appCount: '앱',
748
+ purpose: '용도',
749
+ purposeHint: '각 환경은 하나의 용도로만 사용합니다: Pull request 미리 보기 또는 릴리스 테스트.',
750
+ purposes: {
751
+ preview: '미리 보기',
752
+ test: '테스트',
753
+ },
754
+ policy: '정책',
755
+ publicUrl: '공개 URL 패턴',
756
+ config: '설정(JSON)',
757
+ secret: '자격 증명(JSON, 쓰기 전용)',
758
+ secretStored: '자격 증명이 저장되어 있습니다. 교체하려면 새로 입력하세요.',
759
+ protected: '보호됨',
760
+ approvers: '승인자',
761
+ pickDriver: '이 환경의 앱이 실행되는 방식을 선택하세요. 환경의 드라이버는 바꿀 수 없습니다.',
762
+ next: '계속',
763
+ addWith: '{{driver}} 환경 추가',
764
+ changeDriver: '변경',
765
+ basics: '환경',
766
+ namePlaceholder: 'Staging',
767
+ idHint: '영문 소문자, 숫자, 밑줄, 하이픈을 사용하며 나중에 변경할 수 없습니다.',
768
+ policyDescription: '여기에 배포할 수 있는 사람입니다.',
769
+ appDefaults: '앱',
770
+ appDefaultsDescription: '최대 앱 수와, 자체 실행 정책 없이 만든 앱이 중지되고 휴면 상태가 되는 시점입니다. 비워 두면 제한 없음, 사용 안 함입니다.',
771
+ maxApps: '최대 앱 수',
772
+ defaultIdle: '중지까지(방문 없는 분)',
773
+ defaultDormant: '휴면까지(방문 없는 시간)',
774
+ noForm: '설정 양식이 없어 JSON으로 입력합니다({{kind}}).',
775
+ imageSource: '릴리스 이미지',
776
+ imageSourceDescription: '각 릴리스의 이미지를 가져오기 자격 증명을 사용해 다이제스트로 레지스트리에서 가져옵니다. 이 환경은 CI가 푸시하고 다른 환경이 실행한 바로 그 이미지를 실행합니다.',
777
+ registry: '레지스트리',
778
+ noRegistry: '없음: 공개 이미지를 익명으로 가져오기',
779
+ newRegistry: '새 레지스트리',
780
+ editRegistry: '편집',
781
+ cancelRegistryEdit: '편집 취소',
782
+ registryShared: '변경 사항은 이 레지스트리에서 이미지를 가져오는 모든 환경에 적용됩니다.',
783
+ },
784
+ registries: {
785
+ check: '연결 테스트',
786
+ url: '주소',
787
+ urlHint: 'https://ghcr.io 같은 출처이며, localhost 주소는 HTTP로 연결합니다.',
788
+ namespace: '네임스페이스',
789
+ namespaceHint: 'acme처럼 릴리스 이미지가 들어갈 경로입니다.',
790
+ pull: '가져오기 자격 증명',
791
+ pullHint: '이 레지스트리에서 이미지를 가져오는 환경용입니다. 익명 가져오기를 허용하면 생략하세요.',
792
+ username: '사용자 이름',
793
+ password: '비밀번호 또는 토큰',
794
+ checkOk: '연결됨',
795
+ checkFailed: '연결 테스트에 실패했습니다.',
796
+ checkFailedTitle: '레지스트리를 사용할 수 없습니다',
797
+ anonymous: '레지스트리가 자격 증명 없이 응답합니다. 접근할 수 있는 누구나 가져올 수 있습니다.',
798
+ status: {
799
+ ok: '수락됨',
800
+ failed: '거부됨',
801
+ notSet: '설정 안 됨',
802
+ },
803
+ },
804
+ artifacts: {
805
+ title: '아티팩트',
806
+ tarball: '아카이브',
807
+ image: '이미지',
808
+ ran: '실행됨',
809
+ ranTarball: '아카이브, 프로세스 내',
810
+ },
811
+ driverForm: {
812
+ advanced: '고급 설정',
813
+ advancedHint: '기본값은 대부분의 환경에 적합합니다. 변경하려면 그룹을 여세요.',
814
+ on: '켬',
815
+ off: '끔',
816
+ noLimit: '제한 없음',
817
+ writeOnly: '(쓰기 전용)',
818
+ secretSet: '설정됨',
819
+ secretCleared: '저장 시 삭제됨',
820
+ replace: '교체',
821
+ clear: '삭제',
822
+ undo: '실행 취소',
823
+ keepStored: '저장된 값 유지',
824
+ jsonTitle: '드라이버 설정',
825
+ jsonDescription: '이 드라이버에는 설정 양식이 없으니 JSON으로 설정을 입력하세요.',
826
+ check: '연결 테스트',
827
+ checkOk: '연결됨',
828
+ checkFailed: '연결 테스트에 실패했습니다.',
829
+ checkFailedTitle: '연결할 수 없습니다',
830
+ fixErrors: '일부 설정을 수정해야 합니다. 위에 표시되어 있습니다.',
831
+ errors: {
832
+ required: '필수입니다.',
833
+ number: '숫자를 입력하세요.',
834
+ integer: '정수를 입력하세요.',
835
+ range: '허용 범위를 벗어났습니다.',
836
+ mapLine: '한 줄에 NAME=value를 하나씩 쓰세요.',
837
+ mapName: '이름은 영문자, 숫자, 밑줄이며 숫자로 시작할 수 없습니다.',
838
+ },
839
+ },
840
+ driverForms: {
841
+ host: {
842
+ description: '이 서버에서 앱을 실행합니다: 이 애플리케이션이 시작하는 App Host 자식 프로세스에서 실행하거나, 앱마다 Docker 컨테이너에서 실행합니다.',
843
+ runtime: '실행 모드',
844
+ backend: '실행 모드',
845
+ backendInProcess: '프로세스 내',
846
+ backendInProcessHint: '이 서버가 시작하는 App Host 자식 프로세스에서 실행되며, 이런 앱들이 모두 공유합니다. 미리 보기에 적합합니다.',
847
+ backendDocker: 'Docker',
848
+ backendDockerHint: '앱마다 서로 격리된 컨테이너를 하나씩 사용합니다. 테스트와 운영에 적합합니다.',
849
+ dockerConnection: 'Docker 연결',
850
+ dockerConnectionDescription: 'DOCKER_HOST 또는 현재 Docker 컨텍스트로 찾은 이 서버의 Docker를 권장 컨테이너 설정으로 사용합니다. 어떤 Docker를 찾았는지 보려면 연결을 테스트하세요.',
851
+ access: '접근 주소',
852
+ publicUrl: '공개 URL 패턴',
853
+ publicUrlHint: '사람들이 앱을 여는 주소이며 경로나 호스트 이름에 {appId}를 포함합니다. 비워 두면 서버 자체 주소를 사용합니다.',
854
+ check: {
855
+ url: '주소',
856
+ apps: '실행 중인 앱',
857
+ endpoint: 'Docker',
858
+ version: 'Docker 버전',
859
+ platform: '플랫폼',
860
+ errors: {
861
+ unsupported: '이 서버의 Docker만 지원합니다. DOCKER_HOST는 unix:// 소켓 또는 tcp:// 소켓 프록시여야 합니다.',
862
+ socketMissing: '그 위치에 Docker 소켓이 없습니다. 이 서버에 Docker가 설치되어 실행 중인가요?',
863
+ permission: 'Docker가 접근을 거부했습니다. 이 애플리케이션을 실행하는 사용자가 Docker 소켓을 사용할 수 없을 수 있습니다.',
864
+ refused: '해당 주소에서 연결을 받지 않습니다. Docker가 실행 중인지 확인하세요.',
865
+ timeout: 'Docker가 제때 응답하지 않았습니다.',
866
+ },
867
+ },
868
+ },
869
+ },
870
+ },
871
+ actions: {
872
+ close: '닫기',
873
+ },
874
+ status: {
875
+ loading: '불러오는 중',
876
+ },
877
+ };
878
+ export default koKR;
879
+ //# sourceMappingURL=ko-KR.js.map