@djangocfg/i18n 2.1.566 → 2.1.569

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.
package/src/locales/ko.ts CHANGED
@@ -6,575 +6,526 @@ import type { I18nTranslations } from '../types'
6
6
  export const ko: I18nTranslations = {
7
7
  ui: {
8
8
  select: {
9
- placeholder: '선택하세요...',
10
- search: '검색...',
11
- noResults: '결과가 없습니다.',
12
- selectAll: '전체 선택',
13
- clearAll: '전체 해제',
14
- moreItems: '+{count}개 더',
15
- loading: '로딩 중...',
9
+ placeholder: "선택하세요...",
10
+ search: "검색...",
11
+ noResults: "결과가 없습니다.",
12
+ selectAll: "전체 선택",
13
+ clearAll: "전체 해제",
14
+ moreItems: "+{count}개 더",
15
+ loading: "로딩 중...",
16
16
  },
17
-
18
17
  pagination: {
19
- previous: '이전',
20
- next: '다음',
21
- first: '처음',
22
- last: '마지막',
23
- page: '{page} 페이지',
24
- of: '/ {total}',
25
- showing: '{total}개 중 {from}-{to}',
18
+ previous: "이전",
19
+ next: "다음",
20
+ first: "처음",
21
+ last: "마지막",
22
+ page: "{page} 페이지",
23
+ of: "/ {total}",
24
+ showing: "{total}개 중 {from}-{to}",
26
25
  },
27
-
28
26
  dialog: {
29
- close: '닫기',
30
- confirm: '확인',
31
- cancel: '취소',
32
- ok: 'OK',
33
- yes: '예',
34
- no: '아니오',
35
- delete: '삭제',
36
- save: '저장',
37
- discard: '버리기',
38
- alertTitle: '알림',
39
- confirmTitle: '확인',
40
- confirmDelete: '정말로 삭제하시겠습니까?',
41
- promptTitle: '입력 필요',
42
- promptPlaceholder: '값을 입력하세요...',
27
+ close: "닫기",
28
+ confirm: "확인",
29
+ cancel: "취소",
30
+ ok: "OK",
31
+ yes: "예",
32
+ no: "아니오",
33
+ delete: "삭제",
34
+ save: "저장",
35
+ discard: "버리기",
36
+ alertTitle: "알림",
37
+ confirmTitle: "확인",
38
+ confirmDelete: "정말로 삭제하시겠습니까?",
39
+ promptTitle: "입력 필요",
40
+ promptPlaceholder: "값을 입력하세요...",
43
41
  },
44
-
45
42
  form: {
46
- submit: '제출',
47
- cancel: '취소',
48
- save: '저장',
49
- delete: '삭제',
50
- edit: '수정',
51
- create: '생성',
52
- update: '업데이트',
53
- reset: '초기화',
54
- clear: '지우기',
55
- loading: '로딩 중...',
56
- saving: '저장 중...',
57
- deleting: '삭제 중...',
58
- required: '필수 입력 항목입니다',
59
- optional: '선택 사항',
60
- minLength: '최소 {min}자 이상 입력하세요',
61
- maxLength: '최대 {max}자까지 입력 가능합니다',
62
- invalidEmail: '올바른 이메일 주소를 입력하세요',
63
- invalidUrl: '올바른 URL을 입력하세요',
64
- invalidPhone: '올바른 전화번호를 입력하세요',
65
- passwordMismatch: '비밀번호가 일치하지 않습니다',
43
+ submit: "제출",
44
+ cancel: "취소",
45
+ save: "저장",
46
+ delete: "삭제",
47
+ edit: "수정",
48
+ create: "생성",
49
+ update: "업데이트",
50
+ reset: "초기화",
51
+ clear: "지우기",
52
+ loading: "로딩 중...",
53
+ saving: "저장 중...",
54
+ deleting: "삭제 중...",
55
+ required: "필수 입력 항목입니다",
56
+ optional: "선택 사항",
57
+ minLength: "최소 {min}자 이상 입력하세요",
58
+ maxLength: "최대 {max}자까지 입력 가능합니다",
59
+ invalidEmail: "올바른 이메일 주소를 입력하세요",
60
+ invalidUrl: "올바른 URL을 입력하세요",
61
+ invalidPhone: "올바른 전화번호를 입력하세요",
62
+ passwordMismatch: "비밀번호가 일치하지 않습니다",
66
63
  },
67
-
68
64
  datetime: {
69
- today: '오늘',
70
- yesterday: '어제',
71
- tomorrow: '내일',
72
- now: '방금 전',
73
- secondsAgo: '{count}초 전',
74
- minutesAgo: '{count}분 전',
75
- hoursAgo: '{count}시간 전',
76
- daysAgo: '{count}일 전',
77
- pickDate: '날짜 선택',
78
- pickTime: '시간 선택',
79
- pickDateTime: '날짜 및 시간 선택',
80
- pickDateRange: '기간 선택',
65
+ today: "오늘",
66
+ yesterday: "어제",
67
+ tomorrow: "내일",
68
+ now: "방금 전",
69
+ secondsAgo: "{count}초 전",
70
+ minutesAgo: "{count}분 전",
71
+ hoursAgo: "{count}시간 전",
72
+ daysAgo: "{count}일 전",
73
+ pickDate: "날짜 선택",
74
+ pickTime: "시간 선택",
75
+ pickDateTime: "날짜 및 시간 선택",
76
+ pickDateRange: "기간 선택",
81
77
  },
82
-
83
78
  file: {
84
- upload: '업로드',
85
- uploading: '업로드 중...',
86
- dragDrop: '파일을 여기에 드래그하세요',
87
- browse: '파일 찾기',
88
- remove: '제거',
89
- maxSize: '최대 크기: {size}',
90
- invalidType: '지원하지 않는 파일 형식입니다',
91
- tooLarge: '파일이 너무 큽니다',
79
+ upload: "업로드",
80
+ uploading: "업로드 중...",
81
+ dragDrop: "파일을 여기에 드래그하세요",
82
+ browse: "파일 찾기",
83
+ remove: "제거",
84
+ maxSize: "최대 크기: {size}",
85
+ invalidType: "지원하지 않는 파일 형식입니다",
86
+ tooLarge: "파일이 너무 큽니다",
92
87
  },
93
-
94
88
  table: {
95
- noData: '데이터가 없습니다',
96
- loading: '데이터 로딩 중...',
97
- showing: '{total}개 중 {from}-{to} 표시',
98
- rowsPerPage: '페이지당 행 수',
99
- sortAsc: '오름차순 정렬',
100
- sortDesc: '내림차순 정렬',
101
- filter: '필터',
102
- clearFilters: '필터 초기화',
103
- selectAll: '전체 선택',
104
- deselectAll: '선택 해제',
105
- selected: '{count}개 선택됨',
89
+ noData: "데이터가 없습니다",
90
+ loading: "데이터 로딩 중...",
91
+ showing: "{total}개 중 {from}-{to} 표시",
92
+ rowsPerPage: "페이지당 행 수",
93
+ sortAsc: "오름차순 정렬",
94
+ sortDesc: "내림차순 정렬",
95
+ filter: "필터",
96
+ clearFilters: "필터 초기화",
97
+ selectAll: "전체 선택",
98
+ deselectAll: "선택 해제",
99
+ selected: "{count}개 선택됨",
106
100
  },
107
-
108
101
  actions: {
109
- view: '보기',
110
- copy: '복사',
111
- copied: '복사됨!',
112
- copyToClipboard: '클립보드에 복사',
113
- download: '다운로드',
114
- share: '공유',
115
- refresh: '새로고침',
116
- retry: '재시도',
117
- expand: '펼치기',
118
- collapse: '접기',
119
- showMore: '더 보기',
120
- showLess: '간략히',
121
- seeAll: '전체 보기',
122
- goBack: '뒤로 가기',
123
- remove: '제거',
124
- previousSlide: '이전 슬라이드',
125
- nextSlide: '다음 슬라이드',
102
+ view: "보기",
103
+ copy: "복사",
104
+ copied: "복사됨!",
105
+ copyToClipboard: "클립보드에 복사",
106
+ download: "다운로드",
107
+ share: "공유",
108
+ refresh: "새로고침",
109
+ retry: "재시도",
110
+ expand: "펼치기",
111
+ collapse: "접기",
112
+ showMore: "더 보기",
113
+ showLess: "간략히",
114
+ seeAll: "전체 보기",
115
+ goBack: "뒤로 가기",
116
+ remove: "제거",
117
+ previousSlide: "이전 슬라이드",
118
+ nextSlide: "다음 슬라이드",
126
119
  },
127
-
128
120
  phone: {
129
- searchCountries: '국가 검색...',
130
- noCountries: '국가를 찾을 수 없습니다',
121
+ searchCountries: "국가 검색...",
122
+ noCountries: "국가를 찾을 수 없습니다",
131
123
  },
132
-
133
124
  navigation: {
134
- title: '탐색',
125
+ title: "탐색",
135
126
  },
136
-
137
127
  states: {
138
- loading: '로딩 중',
139
- empty: '비어 있음',
140
- error: '오류',
141
- success: '성공',
142
- warning: '경고',
143
- info: '정보',
144
- pending: '대기 중',
145
- active: '활성',
146
- inactive: '비활성',
147
- enabled: '활성화됨',
148
- disabled: '비활성화됨',
128
+ loading: "로딩 중",
129
+ empty: "비어 있음",
130
+ error: "오류",
131
+ success: "성공",
132
+ warning: "경고",
133
+ info: "정보",
134
+ pending: "대기 중",
135
+ active: "활성",
136
+ inactive: "비활성",
137
+ enabled: "활성화됨",
138
+ disabled: "비활성화됨",
149
139
  },
150
-
151
140
  errors: {
152
- generic: '문제가 발생했습니다',
153
- network: '네트워크 오류. 연결을 확인하세요.',
154
- timeout: '요청 시간이 초과되었습니다. 다시 시도하세요.',
155
- notFound: '찾을 수 없습니다',
156
- unauthorized: '로그인이 필요합니다',
157
- forbidden: '접근 권한이 없습니다',
158
- serverError: '서버 오류. 나중에 다시 시도하세요.',
159
- validation: '입력 내용을 확인하세요',
160
- unknown: '알 수 없는 오류가 발생했습니다',
141
+ generic: "문제가 발생했습니다",
142
+ network: "네트워크 오류. 연결을 확인하세요.",
143
+ timeout: "요청 시간이 초과되었습니다. 다시 시도하세요.",
144
+ notFound: "찾을 수 없습니다",
145
+ unauthorized: "로그인이 필요합니다",
146
+ forbidden: "접근 권한이 없습니다",
147
+ serverError: "서버 오류. 나중에 다시 시도하세요.",
148
+ validation: "입력 내용을 확인하세요",
149
+ unknown: "알 수 없는 오류가 발생했습니다",
161
150
  },
162
151
  },
163
-
164
152
  layouts: {
165
153
  sidebar: {
166
- toggle: '사이드바 전환',
167
- collapse: '사이드바 접기',
168
- expand: '사이드바 펼치기',
154
+ toggle: "사이드바 전환",
155
+ collapse: "사이드바 접기",
156
+ expand: "사이드바 펼치기",
169
157
  },
170
-
171
158
  navigation: {
172
- menu: '메뉴',
173
- home: '홈',
174
- back: '뒤로',
175
- forward: '앞으로',
176
- toggleMobile: '모바일 메뉴 열기',
177
- breadcrumb: '탐색 경로',
159
+ menu: "메뉴",
160
+ home: "홈",
161
+ back: "뒤로",
162
+ forward: "앞으로",
163
+ toggleMobile: "모바일 메뉴 열기",
164
+ breadcrumb: "탐색 경로",
178
165
  },
179
-
180
166
  profile: {
181
- settings: '설정',
182
- account: '계정',
183
- logout: '로그아웃',
184
- login: '로그인',
185
- signUp: '회원가입',
186
- signOut: '로그아웃',
187
- userMenu: '사용자 메뉴',
188
- language: '언어',
167
+ settings: "설정",
168
+ account: "계정",
169
+ logout: "로그아웃",
170
+ login: "로그인",
171
+ signUp: "회원가입",
172
+ signOut: "로그아웃",
173
+ userMenu: "사용자 메뉴",
174
+ language: "언어",
189
175
  },
190
-
191
176
  theme: {
192
- toggle: '테마 전환',
193
- light: '라이트',
194
- dark: '다크',
195
- system: '시스템',
177
+ toggle: "테마 전환",
178
+ light: "라이트",
179
+ dark: "다크",
180
+ system: "시스템",
196
181
  },
197
-
198
182
  search: {
199
- placeholder: '검색...',
200
- noResults: '검색 결과가 없습니다',
201
- recentSearches: '최근 검색어',
202
- clearHistory: '기록 삭제',
183
+ placeholder: "검색...",
184
+ noResults: "검색 결과가 없습니다",
185
+ recentSearches: "최근 검색어",
186
+ clearHistory: "기록 삭제",
203
187
  },
204
-
205
188
  mobile: {
206
- closeMenu: '메뉴 닫기',
189
+ closeMenu: "메뉴 닫기",
207
190
  },
208
-
209
191
  errors: {
210
- somethingWentWrong: '문제가 발생했습니다',
211
- tryRefreshing: '예상치 못한 오류가 발생했습니다. 페이지를 새로고침해 보세요.',
212
- refreshPage: '페이지 새로고침',
213
- goBack: '뒤로 가기',
214
- goHome: '홈으로 가기',
215
- needHelp: '도움이 필요하신가요?',
216
- contactSupport: '지원팀에 문의',
217
- checkStatus: '서비스 상태 확인',
218
- persistsContact: '문제가 지속되면 {email}로 문의하세요',
219
- error: '오류',
220
- badRequest: '잘못된 요청',
221
- authRequired: '인증 필요',
222
- accessDenied: '접근 거부',
223
- pageNotFound: '페이지를 찾을 수 없음',
224
- requestTimeout: '요청 시간 초과',
225
- serverError: '서버 오류',
226
- badGateway: '잘못된 게이트웨이',
227
- serviceUnavailable: '서비스 이용 불가',
228
- gatewayTimeout: '게이트웨이 시간 초과',
229
- badRequestDesc: '요청을 이해할 수 없습니다. 입력 내용을 확인하고 다시 시도하세요.',
230
- authRequiredDesc: '이 페이지에 접근하려면 로그인이 필요합니다.',
231
- accessDeniedDesc: '이 리소스에 접근할 권한이 없습니다.',
232
- pageNotFoundDesc: '찾으시는 페이지가 존재하지 않거나 이동되었습니다.',
233
- requestTimeoutDesc: '요청 처리 시간이 너무 오래 걸렸습니다. 다시 시도하세요.',
234
- serverErrorDesc: '서버에서 문제가 발생했습니다. 수정 작업 중입니다.',
235
- badGatewayDesc: '서버가 잘못된 응답을 받았습니다. 나중에 다시 시도하세요.',
236
- serviceUnavailableDesc: '서비스를 일시적으로 사용할 수 없습니다. 나중에 다시 시도하세요.',
237
- gatewayTimeoutDesc: '서버 응답 시간이 너무 오래 걸렸습니다. 다시 시도하세요.',
238
- unknownErrorDesc: '예상치 못한 오류가 발생했습니다. 다시 시도하거나 지원팀에 문의하세요.',
192
+ somethingWentWrong: "문제가 발생했습니다",
193
+ tryRefreshing: "예상치 못한 오류가 발생했습니다. 페이지를 새로고침해 보세요.",
194
+ refreshPage: "페이지 새로고침",
195
+ goBack: "뒤로 가기",
196
+ goHome: "홈으로 가기",
197
+ needHelp: "도움이 필요하신가요?",
198
+ contactSupport: "지원팀에 문의",
199
+ checkStatus: "서비스 상태 확인",
200
+ persistsContact: "문제가 지속되면 {email}로 문의하세요",
201
+ error: "오류",
202
+ badRequest: "잘못된 요청",
203
+ authRequired: "인증 필요",
204
+ accessDenied: "접근 거부",
205
+ pageNotFound: "페이지를 찾을 수 없음",
206
+ requestTimeout: "요청 시간 초과",
207
+ serverError: "서버 오류",
208
+ badGateway: "잘못된 게이트웨이",
209
+ serviceUnavailable: "서비스 이용 불가",
210
+ gatewayTimeout: "게이트웨이 시간 초과",
211
+ badRequestDesc: "요청을 이해할 수 없습니다. 입력 내용을 확인하고 다시 시도하세요.",
212
+ authRequiredDesc: "이 페이지에 접근하려면 로그인이 필요합니다.",
213
+ accessDeniedDesc: "이 리소스에 접근할 권한이 없습니다.",
214
+ pageNotFoundDesc: "찾으시는 페이지가 존재하지 않거나 이동되었습니다.",
215
+ requestTimeoutDesc: "요청 처리 시간이 너무 오래 걸렸습니다. 다시 시도하세요.",
216
+ serverErrorDesc: "서버에서 문제가 발생했습니다. 수정 작업 중입니다.",
217
+ badGatewayDesc: "서버가 잘못된 응답을 받았습니다. 나중에 다시 시도하세요.",
218
+ serviceUnavailableDesc: "서비스를 일시적으로 사용할 수 없습니다. 나중에 다시 시도하세요.",
219
+ gatewayTimeoutDesc: "서버 응답 시간이 너무 오래 걸렸습니다. 다시 시도하세요.",
220
+ unknownErrorDesc: "예상치 못한 오류가 발생했습니다. 다시 시도하거나 지원팀에 문의하세요.",
239
221
  },
240
-
241
222
  push: {
242
- enableNotifications: '알림 활성화',
243
- stayUpdated: '중요한 업데이트와 알림을 받아보세요',
244
- enable: '활성화',
245
- notNow: '나중에',
246
- dismiss: '닫기',
223
+ enableNotifications: "알림 활성화",
224
+ stayUpdated: "중요한 업데이트와 알림을 받아보세요",
225
+ enable: "활성화",
226
+ notNow: "나중에",
227
+ dismiss: "닫기",
247
228
  },
248
-
249
229
  auth: {
250
- authRequired: '인증 필요',
251
- pleaseSignIn: '계속하려면 로그인하세요',
252
- goToSignIn: '로그인으로 이동',
253
-
254
- // Identifier step
230
+ authRequired: "인증 필요",
231
+ pleaseSignIn: "계속하려면 로그인하세요",
232
+ goToSignIn: "로그인으로 이동",
255
233
  identifier: {
256
- title: '로그인',
234
+ title: "로그인",
257
235
  subtitle: {
258
- email: '계속하려면 이메일을 입력하세요',
259
- phone: '계속하려면 전화번호를 입력하세요',
236
+ email: "계속하려면 이메일을 입력하세요",
237
+ phone: "계속하려면 전화번호를 입력하세요",
260
238
  },
261
239
  placeholder: {
262
- email: 'email@example.com',
263
- phone: '전화번호 입력',
240
+ email: "email@example.com",
241
+ phone: "전화번호 입력",
264
242
  },
265
- button: '계속',
243
+ button: "계속",
266
244
  oauth: {
267
- github: 'GitHub로 계속',
245
+ github: "GitHub로 계속",
268
246
  },
269
247
  channel: {
270
- email: '이메일',
271
- phone: '전화',
248
+ email: "이메일",
249
+ phone: "전화",
272
250
  },
273
251
  },
274
-
275
- // OTP step
276
252
  otp: {
277
- title: '코드 입력',
278
- subtitle: '코드를 전송했습니다:',
279
- button: '확인',
280
- resend: '코드 재전송',
281
- changeEmail: '이메일 변경',
282
- changePhone: '전화번호 변경',
283
- openMailbox: '{provider} 열기',
253
+ title: "코드 입력",
254
+ subtitle: "코드를 전송했습니다:",
255
+ button: "확인",
256
+ resend: "코드 재전송",
257
+ changeEmail: "이메일 변경",
258
+ changePhone: "전화번호 변경",
259
+ openMailbox: "{provider} 열기",
284
260
  },
285
-
286
- // Two-factor step
287
261
  twoFactor: {
288
- title: '2단계 인증',
262
+ title: "2단계 인증",
289
263
  subtitle: {
290
- totp: '인증 앱의 6자리 코드를 입력하세요',
291
- backup: '백업 코드 중 하나를 입력하세요',
264
+ totp: "인증 앱의 6자리 코드를 입력하세요",
265
+ backup: "백업 코드 중 하나를 입력하세요",
292
266
  },
293
267
  placeholder: {
294
- backup: 'XXXXXXXX',
268
+ backup: "XXXXXXXX",
295
269
  },
296
- button: '확인',
270
+ button: "확인",
297
271
  toggle: {
298
- toBackup: '백업 코드 사용',
299
- toTotp: '인증 앱 사용',
272
+ toBackup: "백업 코드 사용",
273
+ toTotp: "인증 앱 사용",
300
274
  },
301
275
  },
302
-
303
- // 2FA Setup
304
276
  setup: {
305
277
  loading: {
306
- title: '설정 중...',
307
- button: '로딩',
278
+ title: "설정 중...",
279
+ button: "로딩",
308
280
  },
309
281
  qrCode: {
310
- title: '2FA 설정',
311
- subtitle: '인증 앱으로 QR 코드를 스캔하세요',
312
- manualEntry: '스캔이 안 되나요? 수동으로 입력하세요',
313
- confirmPrompt: '확인을 위해 6자리 코드를 입력하세요',
314
- button: '2FA 활성화',
315
- skip: '나중에',
282
+ title: "2FA 설정",
283
+ subtitle: "인증 앱으로 QR 코드를 스캔하세요",
284
+ manualEntry: "스캔이 안 되나요? 수동으로 입력하세요",
285
+ confirmPrompt: "확인을 위해 6자리 코드를 입력하세요",
286
+ button: "2FA 활성화",
287
+ skip: "나중에",
316
288
  },
317
289
  complete: {
318
- title: '2FA 활성화됨',
319
- subtitle: '백업 코드를 안전하게 보관하세요',
320
- instruction: '각 코드는 한 번만 사용할 수 있습니다',
321
- copyAll: '모든 코드 복사',
322
- copied: '복사됨',
323
- done: '완료',
290
+ title: "2FA 활성화됨",
291
+ subtitle: "백업 코드를 안전하게 보관하세요",
292
+ instruction: "각 코드는 한 번만 사용할 수 있습니다",
293
+ copyAll: "모든 코드 복사",
294
+ copied: "복사됨",
295
+ done: "완료",
324
296
  },
325
297
  },
326
-
327
- // Success
328
298
  success: {
329
- message: '로그인 성공',
299
+ message: "로그인 성공",
300
+ redirecting: "이동 중…",
330
301
  },
331
-
332
302
  divider: {
333
- or: '또는',
303
+ or: "또는",
334
304
  },
335
305
  footer: {
336
- terms: '이용약관',
337
- privacy: '개인정보',
338
- support: '지원',
306
+ terms: "이용약관",
307
+ privacy: "개인정보",
308
+ support: "지원",
339
309
  },
340
-
341
- // Dev mode
342
310
  dev: {
343
- anyCodeWorks: '개발 모드: 아무 코드나 사용 가능',
311
+ anyCodeWorks: "개발 모드: 아무 코드나 사용 가능",
344
312
  },
345
313
  },
346
-
347
314
  chat: {
348
- aiAssistant: 'AI 어시스턴트',
349
- defaultTitle: 'AI 채팅',
350
- newChat: '새 채팅',
351
- closeChat: '채팅 닫기',
352
- switchToFloating: '플로팅 모드로 전환',
353
- switchToSidebar: '사이드바 모드로 전환',
354
- dragToResize: '드래그하여 크기 조절',
355
- howCanIHelp: '무엇을 도와드릴까요?',
315
+ aiAssistant: "AI 어시스턴트",
316
+ defaultTitle: "AI 채팅",
317
+ newChat: "새 채팅",
318
+ closeChat: "채팅 닫기",
319
+ switchToFloating: "플로팅 모드로 전환",
320
+ switchToSidebar: "사이드바 모드로 전환",
321
+ dragToResize: "드래그하여 크기 조절",
322
+ howCanIHelp: "무엇을 도와드릴까요?",
356
323
  },
357
-
358
324
  pwa: {
359
- addToHomeScreen: '홈 화면에 추가',
360
- installApp: '앱 설치',
361
- tapToLearnHow: '탭하여 방법 알아보기',
362
- clickToSeeGuide: '클릭하여 가이드 보기',
363
- tapToInstall: '탭하여 설치',
364
- installing: '설치 중...',
365
- dismiss: '닫기',
366
- appLogo: '앱 로고',
367
- iosTitle: '홈 화면에 추가',
368
- iosDescription: '빠른 접근과 더 나은 경험을 위해 iPhone에 앱을 설치하세요',
369
- iosStep1Title: '공유 탭',
370
- iosStep1Desc: 'Safari 하단에서',
371
- iosStep2Title: '스크롤 & 탭',
372
- iosStep2Desc: '"홈 화면에 추가"',
373
- iosStep3Title: '확인',
374
- iosStep3Desc: '오른쪽 상단의 "추가" 탭',
375
- gotIt: '알겠습니다',
376
- desktopTitle: '데스크톱에 앱 설치',
377
- desktopDescription: '{browser}에서 빠른 접근을 위해 앱을 설치하세요',
378
- desktopDescSafari: 'macOS의 Safari는 PWA 지원이 제한적입니다. 최상의 경험을 위해 Chrome, Edge 또는 Brave를 사용하세요.',
379
- desktopTip: '{browser}에서 페이지를 우클릭하여 "설치" 옵션을 찾을 수도 있습니다',
380
- desktopFirefoxNote: 'Firefox는 PWA 지원이 제한적입니다. 일부 기능이 예상대로 작동하지 않을 수 있습니다.',
381
- chromiumStep1Title: '설치 아이콘 찾기',
382
- chromiumStep1Desc: '주소 표시줄 오른쪽의 설치 아이콘을 찾으세요',
383
- chromiumStep2Title: '설치 클릭',
384
- chromiumStep2Desc: '아이콘을 클릭하고 "설치"를 선택하세요',
385
- chromiumStep3Title: '확인',
386
- chromiumStep3Desc: '팝업 대화상자에서 "설치"를 클릭하세요',
387
- firefoxStep1Title: '메뉴 열기',
388
- firefoxStep1Desc: '메뉴 버튼(세 줄)을 클릭하세요',
389
- firefoxStep2Title: '설치 옵션 찾기',
390
- firefoxStep2Desc: '"설치" 또는 "홈 화면에 추가"를 찾으세요',
391
- firefoxStep3Title: '확인',
392
- firefoxStep3Desc: '설치 안내를 따르세요',
393
- safariStep1Title: '제한된 지원',
394
- safariStep1Desc: 'macOS의 Safari는 PWA 지원이 제한적입니다',
395
- safariStep2Title: 'Chromium 브라우저 사용',
396
- safariStep2Desc: '완전한 PWA 경험을 위해 Chrome, Edge 또는 Brave를 사용하세요',
397
- unknownStep1Title: '주소 표시줄 확인',
398
- unknownStep1Desc: '설치 또는 다운로드 아이콘을 찾으세요',
399
- unknownStep2Title: '또는 메뉴 사용',
400
- unknownStep2Desc: '브라우저 메뉴에서 설치 옵션을 확인하세요',
401
- unknownStep3Title: '확인',
402
- unknownStep3Desc: '설치 안내를 따르세요',
403
- close: '닫기',
325
+ addToHomeScreen: "홈 화면에 추가",
326
+ installApp: "앱 설치",
327
+ tapToLearnHow: "탭하여 방법 알아보기",
328
+ clickToSeeGuide: "클릭하여 가이드 보기",
329
+ tapToInstall: "탭하여 설치",
330
+ installing: "설치 중...",
331
+ dismiss: "닫기",
332
+ appLogo: "앱 로고",
333
+ iosTitle: "홈 화면에 추가",
334
+ iosDescription: "빠른 접근과 더 나은 경험을 위해 iPhone에 앱을 설치하세요",
335
+ iosStep1Title: "공유 탭",
336
+ iosStep1Desc: "Safari 하단에서",
337
+ iosStep2Title: "스크롤 & 탭",
338
+ iosStep2Desc: "\"홈 화면에 추가\"",
339
+ iosStep3Title: "확인",
340
+ iosStep3Desc: "오른쪽 상단의 \"추가\" 탭",
341
+ gotIt: "알겠습니다",
342
+ desktopTitle: "데스크톱에 앱 설치",
343
+ desktopDescription: "{browser}에서 빠른 접근을 위해 앱을 설치하세요",
344
+ desktopDescSafari: "macOS의 Safari는 PWA 지원이 제한적입니다. 최상의 경험을 위해 Chrome, Edge 또는 Brave를 사용하세요.",
345
+ desktopTip: "{browser}에서 페이지를 우클릭하여 \"설치\" 옵션을 찾을 수도 있습니다",
346
+ desktopFirefoxNote: "Firefox는 PWA 지원이 제한적입니다. 일부 기능이 예상대로 작동하지 않을 수 있습니다.",
347
+ chromiumStep1Title: "설치 아이콘 찾기",
348
+ chromiumStep1Desc: "주소 표시줄 오른쪽의 설치 아이콘을 찾으세요",
349
+ chromiumStep2Title: "설치 클릭",
350
+ chromiumStep2Desc: "아이콘을 클릭하고 \"설치\"를 선택하세요",
351
+ chromiumStep3Title: "확인",
352
+ chromiumStep3Desc: "팝업 대화상자에서 \"설치\"를 클릭하세요",
353
+ firefoxStep1Title: "메뉴 열기",
354
+ firefoxStep1Desc: "메뉴 버튼(세 줄)을 클릭하세요",
355
+ firefoxStep2Title: "설치 옵션 찾기",
356
+ firefoxStep2Desc: "\"설치\" 또는 \"홈 화면에 추가\"를 찾으세요",
357
+ firefoxStep3Title: "확인",
358
+ firefoxStep3Desc: "설치 안내를 따르세요",
359
+ safariStep1Title: "제한된 지원",
360
+ safariStep1Desc: "macOS의 Safari는 PWA 지원이 제한적입니다",
361
+ safariStep2Title: "Chromium 브라우저 사용",
362
+ safariStep2Desc: "완전한 PWA 경험을 위해 Chrome, Edge 또는 Brave를 사용하세요",
363
+ unknownStep1Title: "주소 표시줄 확인",
364
+ unknownStep1Desc: "설치 또는 다운로드 아이콘을 찾으세요",
365
+ unknownStep2Title: "또는 메뉴 사용",
366
+ unknownStep2Desc: "브라우저 메뉴에서 설치 옵션을 확인하세요",
367
+ unknownStep3Title: "확인",
368
+ unknownStep3Desc: "설치 안내를 따르세요",
369
+ close: "닫기",
404
370
  },
405
-
406
371
  profilePage: {
407
- title: '프로필',
408
- account: '계정',
409
- personalInfo: '개인 정보',
410
- work: '직장',
411
- security: '보안',
412
- actions: '작업',
413
- email: '이메일',
414
- firstName: '이름',
415
- lastName: '성',
416
- company: '회사',
417
- position: '직책',
418
- phone: '전화번호',
419
- notSet: '설정 안 됨',
420
- addFirstName: '이름 추가',
421
- addLastName: '성 추가',
422
- addPhone: '전화번호 추가',
423
- addCompany: '회사 추가',
424
- addPosition: '직책 추가',
425
- on: '켜짐',
426
- off: '꺼짐',
427
- save: '저장',
428
- saving: '저장 중...',
429
- cancel: '취소',
430
- signOut: '로그아웃',
431
- deleteAccount: '계정 삭제',
432
- deleting: '삭제 중...',
433
- twoFactorAuth: '2단계 인증',
434
- twoFactorEnabled: '2단계 인증이 활성화되었습니다',
435
- twoFactorDisabled: '추가 보안 계층 추가',
436
- enable2FA: '활성화',
437
- avatar: '아바타',
438
- changeAvatar: '아바타 변경',
439
- memberSince: '{date}부터 회원',
440
- enterField: '{field} 입력',
441
- profileUpdated: '프로필이 업데이트되었습니다',
442
- avatarUpdated: '아바타가 업데이트되었습니다',
443
- failedToUpdate: '업데이트 실패',
444
- failedToUploadAvatar: '아바타 업로드 실패',
445
- selectImageFile: '이미지 파일을 선택하세요',
446
- fileTooLarge: '파일 크기는 5MB 미만이어야 합니다',
447
- notAuthenticated: '인증되지 않음',
448
- pleaseLogIn: '프로필을 보려면 로그인하세요.',
449
- deleteAccountTitle: '계정 삭제',
450
- deleteAccountDesc: '이 작업은 되돌릴 수 없습니다. 계정이 영구적으로 삭제됩니다.',
451
- typeToConfirm: '확인하려면 {word}을(를) 입력하세요:',
452
- confirmationWord: '삭제',
372
+ title: "프로필",
373
+ account: "계정",
374
+ personalInfo: "개인 정보",
375
+ work: "직장",
376
+ security: "보안",
377
+ actions: "작업",
378
+ email: "이메일",
379
+ firstName: "이름",
380
+ lastName: "성",
381
+ company: "회사",
382
+ position: "직책",
383
+ phone: "전화번호",
384
+ notSet: "설정 안 됨",
385
+ addFirstName: "이름 추가",
386
+ addLastName: "성 추가",
387
+ addPhone: "전화번호 추가",
388
+ addCompany: "회사 추가",
389
+ addPosition: "직책 추가",
390
+ on: "켜짐",
391
+ off: "꺼짐",
392
+ save: "저장",
393
+ saving: "저장 중...",
394
+ cancel: "취소",
395
+ signOut: "로그아웃",
396
+ deleteAccount: "계정 삭제",
397
+ deleting: "삭제 중...",
398
+ twoFactorAuth: "2단계 인증",
399
+ twoFactorEnabled: "2단계 인증이 활성화되었습니다",
400
+ twoFactorDisabled: "추가 보안 계층 추가",
401
+ enable2FA: "활성화",
402
+ avatar: "아바타",
403
+ changeAvatar: "아바타 변경",
404
+ memberSince: "{date}부터 회원",
405
+ enterField: "{field} 입력",
406
+ profileUpdated: "프로필이 업데이트되었습니다",
407
+ avatarUpdated: "아바타가 업데이트되었습니다",
408
+ failedToUpdate: "업데이트 실패",
409
+ failedToUploadAvatar: "아바타 업로드 실패",
410
+ selectImageFile: "이미지 파일을 선택하세요",
411
+ fileTooLarge: "파일 크기는 5MB 미만이어야 합니다",
412
+ notAuthenticated: "인증되지 않음",
413
+ pleaseLogIn: "프로필을 보려면 로그인하세요.",
414
+ deleteAccountTitle: "계정 삭제",
415
+ deleteAccountDesc: "이 작업은 되돌릴 수 없습니다. 계정이 영구적으로 삭제됩니다.",
416
+ typeToConfirm: "확인하려면 {word}을(를) 입력하세요:",
417
+ confirmationWord: "삭제",
453
418
  },
454
419
  },
455
-
456
420
  api: {
457
421
  errors: {
458
- networkError: '네트워크 오류',
459
- connectionFailed: '연결 실패',
460
- requestTimeout: '요청 시간 초과',
461
- serverUnavailable: '서버를 사용할 수 없습니다',
462
- invalidResponse: '잘못된 서버 응답',
463
- rateLimited: '요청이 너무 많습니다. 잠시 후 다시 시도하세요.',
422
+ networkError: "네트워크 오류",
423
+ connectionFailed: "연결 실패",
424
+ requestTimeout: "요청 시간 초과",
425
+ serverUnavailable: "서버를 사용할 수 없습니다",
426
+ invalidResponse: "잘못된 서버 응답",
427
+ rateLimited: "요청이 너무 많습니다. 잠시 후 다시 시도하세요.",
464
428
  },
465
429
  status: {
466
- connecting: '연결 중...',
467
- connected: '연결됨',
468
- disconnected: '연결 끊김',
469
- reconnecting: '재연결 중...',
430
+ connecting: "연결 중...",
431
+ connected: "연결됨",
432
+ disconnected: "연결 끊김",
433
+ reconnecting: "재연결 중...",
470
434
  },
471
435
  logout: {
472
- title: '로그아웃',
473
- message: '로그아웃 하시겠습니까?',
474
- confirm: '로그아웃',
475
- cancel: '취소',
436
+ title: "로그아웃",
437
+ message: "로그아웃 하시겠습니까?",
438
+ confirm: "로그아웃",
439
+ cancel: "취소",
476
440
  },
477
441
  },
478
-
479
442
  tools: {
480
443
  code: {
481
- copyCode: '코드 복사',
482
- noContent: '콘텐츠 없음',
444
+ copyCode: "코드 복사",
445
+ noContent: "콘텐츠 없음",
483
446
  },
484
-
485
447
  diagram: {
486
- title: '다이어그램',
487
- clickToView: '전체 화면으로 보려면 클릭',
448
+ title: "다이어그램",
449
+ clickToView: "전체 화면으로 보려면 클릭",
488
450
  },
489
-
490
451
  image: {
491
- noImage: '이미지 없음',
492
- failedToLoad: '이미지 로드 실패',
493
- zoomIn: '확대',
494
- zoomOut: '축소',
495
- fitToView: '화면에 맞춤',
496
- flipHorizontal: '좌우 반전',
497
- flipVertical: '상하 반전',
498
- rotate: '90° 회전',
499
- fullscreen: '전체 화면',
452
+ noImage: "이미지 없음",
453
+ failedToLoad: "이미지 로드 실패",
454
+ zoomIn: "확대",
455
+ zoomOut: "축소",
456
+ fitToView: "화면에 맞춤",
457
+ flipHorizontal: "좌우 반전",
458
+ flipVertical: "상하 반전",
459
+ rotate: "90° 회전",
460
+ fullscreen: "전체 화면",
500
461
  },
501
-
502
462
  gallery: {
503
- noImages: '이미지가 없습니다',
504
- lightbox: '이미지 뷰어',
505
- previous: '이전 이미지',
506
- next: '다음 이미지',
507
- close: '뷰어 닫기',
508
- download: '이미지 다운로드',
509
- share: '이미지 공유',
463
+ noImages: "이미지가 없습니다",
464
+ lightbox: "이미지 뷰어",
465
+ previous: "이전 이미지",
466
+ next: "다음 이미지",
467
+ close: "뷰어 닫기",
468
+ download: "이미지 다운로드",
469
+ share: "이미지 공유",
510
470
  },
511
-
512
471
  video: {
513
- play: '비디오 재생',
514
- fullscreen: '전체 화면',
515
- unavailable: '비디오를 사용할 수 없습니다',
472
+ play: "비디오 재생",
473
+ fullscreen: "전체 화면",
474
+ unavailable: "비디오를 사용할 수 없습니다",
516
475
  },
517
-
518
476
  audio: {
519
- restart: '처음부터',
520
- back: '5초 뒤로',
521
- forward: '5초 앞으로',
522
- volume: '음량',
477
+ restart: "처음부터",
478
+ back: "5초 뒤로",
479
+ forward: "5초 앞으로",
480
+ volume: "음량",
523
481
  },
524
-
525
482
  color: {
526
- pick: '색상 선택',
483
+ pick: "색상 선택",
527
484
  },
528
-
529
485
  jsonForm: {
530
- validationErrors: '유효성 검사 오류',
531
- addItem: '항목 추가',
532
- addFirstItem: '첫 항목 추가',
533
- noItems: '아직 추가된 항목이 없습니다.',
486
+ validationErrors: "유효성 검사 오류",
487
+ addItem: "항목 추가",
488
+ addFirstItem: "첫 항목 추가",
489
+ noItems: "아직 추가된 항목이 없습니다.",
534
490
  },
535
-
536
-
537
491
  openapi: {
538
- response: '응답',
539
- noResponse: '응답 본문 없음',
540
- required: '필수',
541
- optional: '선택',
542
- searchEndpoints: '엔드포인트 검색...',
543
- all: '전체',
544
- methods: '메서드',
545
- path: '경로',
546
- description: '설명',
547
- navigation: '탐색',
548
- previous: '이전',
549
- next: '다음',
550
- bearerToken: 'Bearer 토큰 입력 (선택사항, 비어있으면 JWT 사용)',
492
+ response: "응답",
493
+ noResponse: "응답 본문 없음",
494
+ required: "필수",
495
+ optional: "선택",
496
+ searchEndpoints: "엔드포인트 검색...",
497
+ all: "전체",
498
+ methods: "메서드",
499
+ path: "경로",
500
+ description: "설명",
501
+ navigation: "탐색",
502
+ previous: "이전",
503
+ next: "다음",
504
+ bearerToken: "Bearer 토큰 입력 (선택사항, 비어있으면 JWT 사용)",
551
505
  },
552
-
553
-
554
506
  tour: {
555
- next: '다음',
556
- previous: '이전',
557
- skip: '건너뛰기',
558
- finish: '완료',
559
- close: '닫기',
560
- stepOf: '{total}단계 중 {current}단계',
507
+ next: "다음",
508
+ previous: "이전",
509
+ skip: "건너뛰기",
510
+ finish: "완료",
511
+ close: "닫기",
512
+ stepOf: "{total}단계 중 {current}단계",
561
513
  },
562
-
563
514
  upload: {
564
- dragDrop: '파일을 드래그하거나 클릭하여 선택',
565
- dropHere: '여기에 파일을 놓으세요',
566
- maxSize: '파일당 최대 {size}MB',
567
- uploading: '업로드 중...',
568
- uploaded: '업로드 완료',
569
- failed: '실패',
570
- retry: '재시도',
571
- remove: '삭제',
572
- cancel: '취소',
573
- paused: '일시정지',
574
- pending: '대기 중',
515
+ dragDrop: "파일을 드래그하거나 클릭하여 선택",
516
+ dropHere: "여기에 파일을 놓으세요",
517
+ maxSize: "파일당 최대 {size}MB",
518
+ uploading: "업로드 중...",
519
+ uploaded: "업로드 완료",
520
+ failed: "실패",
521
+ retry: "재시도",
522
+ remove: "삭제",
523
+ cancel: "취소",
524
+ paused: "일시정지",
525
+ pending: "대기 중",
575
526
  },
576
527
  form: {
577
- title: '폼',
528
+ title: "폼",
578
529
  },
579
530
  },
580
531
  }