pgkiln 0.67.0 → 0.68.0
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/docs/apex-feature-parity.md +4 -4
- package/docs/guide/03-builder.md +5 -2
- package/docs/guide/12-development.md +7 -4
- package/package.json +1 -1
- package/public/builder.css +15 -0
- package/src/builder/i18n/en.ts +1 -1
- package/src/builder/i18n/it.ts +1894 -0
- package/src/builder/i18n/ja.ts +1894 -0
- package/src/builder/i18n/ko.ts +1894 -0
- package/src/builder/i18n/zh-cn.ts +1894 -0
- package/src/builder/i18n/zh-tw.ts +1894 -0
- package/src/builder/i18n.ts +13 -3
|
@@ -0,0 +1,1894 @@
|
|
|
1
|
+
// Korean (한국어) builder texts; keys and {placeholders} as in en.ts (sprint 134, SEC-5).
|
|
2
|
+
import type { BuilderMessages } from '../i18n.ts';
|
|
3
|
+
|
|
4
|
+
export const ko: BuilderMessages = {
|
|
5
|
+
// ------------------------------------------------------------ common
|
|
6
|
+
'common.about': '정보',
|
|
7
|
+
'common.tasks': '작업',
|
|
8
|
+
'common.learn_more': '자세히 알아보기 …',
|
|
9
|
+
'common.search': '검색',
|
|
10
|
+
'common.show': '표시',
|
|
11
|
+
'common.go': '이동',
|
|
12
|
+
'common.next': '다음',
|
|
13
|
+
'common.save': '저장',
|
|
14
|
+
'common.cancel': '취소',
|
|
15
|
+
'common.run': '실행',
|
|
16
|
+
'common.none': '없음',
|
|
17
|
+
'ago.now': '방금',
|
|
18
|
+
'ago.second': '{n}초 전',
|
|
19
|
+
'ago.seconds': '{n}초 전',
|
|
20
|
+
'ago.minute': '{n}분 전',
|
|
21
|
+
'ago.minutes': '{n}분 전',
|
|
22
|
+
'ago.hour': '{n}시간 전',
|
|
23
|
+
'ago.hours': '{n}시간 전',
|
|
24
|
+
'ago.day': '{n}일 전',
|
|
25
|
+
'ago.days': '{n}일 전',
|
|
26
|
+
'ago.week': '{n}주 전',
|
|
27
|
+
'ago.weeks': '{n}주 전',
|
|
28
|
+
'ago.month': '{n}개월 전',
|
|
29
|
+
'ago.months': '{n}개월 전',
|
|
30
|
+
'ago.year': '{n}년 전',
|
|
31
|
+
'ago.years': '{n}년 전',
|
|
32
|
+
|
|
33
|
+
// ------------------------------------------------------------ shell: rail, top bar, user menu, status bar
|
|
34
|
+
'shell.builder': '빌더',
|
|
35
|
+
'shell.skip': '콘텐츠로 건너뛰기',
|
|
36
|
+
'shell.logo': 'pgkiln 빌더',
|
|
37
|
+
'shell.logo_home': 'pgkiln 빌더 홈',
|
|
38
|
+
'rail.home': '홈',
|
|
39
|
+
'rail.app_builder': 'App Builder',
|
|
40
|
+
'rail.sql_workshop': 'SQL Workshop',
|
|
41
|
+
'rail.gallery': '앱 갤러리',
|
|
42
|
+
'rail.reporter': '데이터 리포터',
|
|
43
|
+
'rail.team': '팀 개발',
|
|
44
|
+
'rail.search_app': '이 애플리케이션 검색',
|
|
45
|
+
'rail.admin': '관리',
|
|
46
|
+
'rail.extensions': '확장',
|
|
47
|
+
'rail.help': '도움말',
|
|
48
|
+
'admin.utilities': '작업공간 유틸리티',
|
|
49
|
+
'admin.manage_service': '서비스 관리: {name}',
|
|
50
|
+
'admin.ws_message': '작업공간 메시지 및 환경 배너',
|
|
51
|
+
'admin.ws_prefs': '작업공간 환경 설정',
|
|
52
|
+
'admin.ext_links': '확장 링크',
|
|
53
|
+
'admin.utilization': '작업공간 사용률',
|
|
54
|
+
'admin.mail_queue': '메일 대기열',
|
|
55
|
+
'admin.network': '네트워크 액세스',
|
|
56
|
+
'admin.ws_devs': '작업공간 및 개발자',
|
|
57
|
+
'admin.users': '사용자 및 그룹 관리',
|
|
58
|
+
'admin.developers': '개발자',
|
|
59
|
+
'admin.monitor': '작업 모니터',
|
|
60
|
+
'admin.db_users': '데이터베이스 사용자',
|
|
61
|
+
'admin.change_my_password': '내 비밀번호 변경',
|
|
62
|
+
'nav.users': '사용자',
|
|
63
|
+
'user.weak_title': '{user}: 기본 비밀번호를 변경하세요',
|
|
64
|
+
'user.account': '계정: {user}',
|
|
65
|
+
'user.account_weak': '계정: {user}(기본 비밀번호: 변경하세요)',
|
|
66
|
+
'user.developer': '개발자',
|
|
67
|
+
'user.weak_note': '기본 비밀번호를 사용하고 있습니다. 변경하세요',
|
|
68
|
+
'user.theme': '빌더 테마',
|
|
69
|
+
'user.theme_dark': '어둡게',
|
|
70
|
+
'user.theme_light': '밝게',
|
|
71
|
+
'user.theme_auto': '시스템',
|
|
72
|
+
'user.change_password': '비밀번호 변경',
|
|
73
|
+
'user.sign_out': '로그아웃',
|
|
74
|
+
'bar.back': '{page}(으)로 돌아가기',
|
|
75
|
+
'bar.breadcrumb': '이동 경로',
|
|
76
|
+
'bar.search_label': '빌더 검색',
|
|
77
|
+
'bar.search_placeholder': '검색 (Ctrl+K)',
|
|
78
|
+
'bar.environment': '환경',
|
|
79
|
+
'weak.banner': '기본 비밀번호로 로그인했습니다. {link}',
|
|
80
|
+
'weak.change_now': '지금 변경하세요.',
|
|
81
|
+
'weak.dismiss': '다음 로그인까지 숨기기',
|
|
82
|
+
'status.signed_in_as': '로그인 사용자',
|
|
83
|
+
'status.workspace': '작업공간',
|
|
84
|
+
'status.database': '데이터베이스',
|
|
85
|
+
'status.language': '빌더 언어',
|
|
86
|
+
|
|
87
|
+
// ------------------------------------------------------------ standard errors
|
|
88
|
+
'error.csrf': 'CSRF 토큰이 잘못되었습니다. 페이지를 다시 로드한 후 다시 시도하세요.',
|
|
89
|
+
'error.sql_off': '작업공간 {name}에서 SQL Workshop이 꺼져 있습니다. 작업공간 관리자가 작업공간 환경 설정에서 켤 수 있습니다.',
|
|
90
|
+
'error.sql_off_switch': '작업공간 {name}에서 SQL Workshop이 꺼져 있습니다. 작업공간 관리자가 작업공간 환경 설정에서 켤 수 있으며, 다른 작업공간으로 전환할 수도 있습니다.',
|
|
91
|
+
'error.not_found_title': '페이지를 찾을 수 없음',
|
|
92
|
+
'error.not_found_text': 'App Builder의 이 주소에는 아무것도 없습니다. 애플리케이션이나 페이지가 삭제되었거나, 구성원이 아닌 작업공간에 속해 있을 수 있습니다.',
|
|
93
|
+
'error.server_title': '문제가 발생했습니다',
|
|
94
|
+
'error.server_text': '서버 오류로 인해 App Builder에서 이 페이지를 표시할 수 없습니다. 오류는 기록되었습니다. 다시 시도하거나 뒤로 이동하세요.',
|
|
95
|
+
'error.label_error': '오류',
|
|
96
|
+
'error.label_not_found': '찾을 수 없음',
|
|
97
|
+
'error.home': 'App Builder 홈',
|
|
98
|
+
|
|
99
|
+
// ------------------------------------------------------------ sign-in page
|
|
100
|
+
'signin.title': '로그인',
|
|
101
|
+
'signin.tagline': '신뢰할 수 있는 SQL로 PostgreSQL에서 데이터 애플리케이션을 구축하세요',
|
|
102
|
+
'signin.license': 'Apache-2.0 라이선스의 오픈 소스',
|
|
103
|
+
'signin.welcome': '환영합니다',
|
|
104
|
+
'signin.intro': '계속하려면 작업공간에 로그인하세요',
|
|
105
|
+
'signin.workspace': '작업공간',
|
|
106
|
+
'signin.workspace_placeholder': '작업공간(선택 사항)',
|
|
107
|
+
'signin.username': '사용자 이름',
|
|
108
|
+
'signin.password': '비밀번호',
|
|
109
|
+
'signin.show': '표시',
|
|
110
|
+
'signin.hide': '숨기기',
|
|
111
|
+
'signin.remember': '작업공간과 사용자 이름 기억',
|
|
112
|
+
'signin.submit': '로그인',
|
|
113
|
+
'signin.hint': '작업공간을 비워 두면 마지막으로 사용한 작업공간이 열립니다. 나중에 계정 메뉴에서 전환할 수 있습니다.',
|
|
114
|
+
'signin.quick': '빠른 작업',
|
|
115
|
+
'signin.find_ws': '내 작업공간 찾기',
|
|
116
|
+
'signin.admin': '관리',
|
|
117
|
+
'signin.about_ws': '작업공간 정보',
|
|
118
|
+
'signin.languages': '언어',
|
|
119
|
+
'signin.expired': '세션이 만료되었습니다. 다시 시도하세요.',
|
|
120
|
+
'signin.throttled': '로그인 실패 횟수가 너무 많습니다. 나중에 다시 시도하세요.',
|
|
121
|
+
'signin.invalid': '사용자 이름 또는 비밀번호가 올바르지 않습니다.',
|
|
122
|
+
'signin.invalid_ws': '작업공간, 사용자 이름 또는 비밀번호가 올바르지 않습니다.',
|
|
123
|
+
|
|
124
|
+
// ------------------------------------------------------------ workspace home
|
|
125
|
+
'wh.title': '작업공간 홈',
|
|
126
|
+
'wh.title_ws': '작업공간 {name}',
|
|
127
|
+
'wh.tools': '도구',
|
|
128
|
+
'wh.card.apps': '이 작업공간의 애플리케이션을 생성, 편집 및 실행합니다.',
|
|
129
|
+
'wh.card.sql': 'SQL을 실행하고, 데이터베이스 객체를 탐색하고, 데이터를 로드하고, REST 서비스를 구축합니다.',
|
|
130
|
+
'wh.card.reporter': '페이지를 만들지 않고 비즈니스 사용자를 위한 데이터 세트와 보고서를 제공합니다.',
|
|
131
|
+
'wh.card.gallery': '설치할 수 있는 샘플 및 스타터 애플리케이션입니다.',
|
|
132
|
+
'wh.message': '작업공간 메시지',
|
|
133
|
+
'wh.message_none': '{name} 개발자를 위한 메시지가 없습니다.',
|
|
134
|
+
'wh.message_edit_title': '작업공간 메시지 편집',
|
|
135
|
+
'wh.message_edit': '메시지 편집',
|
|
136
|
+
'wh.message_help': '여기와 App Builder 홈에서 {name} 개발자에게 표시됩니다. 일반 텍스트, 최대 2000자이며 비워 두면 제거됩니다.',
|
|
137
|
+
'wh.message_save': '메시지 저장',
|
|
138
|
+
'wh.summary': '요약',
|
|
139
|
+
'wh.stat.app': '애플리케이션',
|
|
140
|
+
'wh.stat.apps': '애플리케이션',
|
|
141
|
+
'wh.stat.table': '테이블',
|
|
142
|
+
'wh.stat.tables': '테이블',
|
|
143
|
+
'wh.stat.developer': '개발자',
|
|
144
|
+
'wh.stat.developers': '개발자',
|
|
145
|
+
'wh.stat.reporting': '보고 애플리케이션',
|
|
146
|
+
'wh.stat.reportings': '보고 애플리케이션',
|
|
147
|
+
'wh.activity': '활동',
|
|
148
|
+
'wh.timeframe': '보고 기간',
|
|
149
|
+
'wh.tf.hour': '1시간',
|
|
150
|
+
'wh.tf.day': '1일',
|
|
151
|
+
'wh.tf.week': '1주',
|
|
152
|
+
'wh.no_views': '최근 {tf} 동안 페이지 조회가 없습니다.',
|
|
153
|
+
'wh.top_apps': '상위 애플리케이션 ({tf})',
|
|
154
|
+
'wh.top_users': '상위 사용자 ({tf})',
|
|
155
|
+
'wh.top_devs': '상위 개발자 ({tf})',
|
|
156
|
+
'wh.top_apps_caption': '상위 애플리케이션, 최근 {tf}',
|
|
157
|
+
'wh.top_users_caption': '상위 사용자, 최근 {tf}',
|
|
158
|
+
'wh.top_devs_caption': '상위 개발자, 최근 {tf}',
|
|
159
|
+
'wh.col.app': '애플리케이션',
|
|
160
|
+
'wh.col.apps': '애플리케이션',
|
|
161
|
+
'wh.col.views': '페이지 조회 수',
|
|
162
|
+
'wh.col.users': '사용자',
|
|
163
|
+
'wh.col.user': '사용자',
|
|
164
|
+
'wh.col.developer': '개발자',
|
|
165
|
+
'wh.system': '시스템 메시지',
|
|
166
|
+
'wh.available': 'pgkiln {version}을(를) 사용할 수 있습니다',
|
|
167
|
+
'wh.server_runs': '이 서버는 pgkiln {version}을(를) 실행 중입니다.',
|
|
168
|
+
'wh.server_runs_strong': '이 서버는 {version}을(를) 실행 중입니다.',
|
|
169
|
+
'wh.latest': '최신 릴리스입니다.',
|
|
170
|
+
'wh.release_notes': '릴리스 정보',
|
|
171
|
+
'wh.how_upgrade': '업그레이드 방법',
|
|
172
|
+
'wh.upgrade_steps': '업그레이드하려면 데이터베이스를 백업하고, 새 버전({npm} 또는 Docker 이미지 {docker})을 설치한 다음, {migrate}을(를) 실행하고 서버를 다시 시작하세요.',
|
|
173
|
+
'wh.check_off': '새 버전 확인이 꺼져 있습니다.',
|
|
174
|
+
'wh.lockout': '주의가 필요한 잠금 확인: {count}개.',
|
|
175
|
+
'wh.lockout_open': '인스턴스 설정',
|
|
176
|
+
'wh.check_failed': '마지막 확인이 실패했습니다({error}).',
|
|
177
|
+
'wh.check_failed_older': '마지막 확인이 실패했습니다({error}). 위의 결과는 이전 결과입니다.',
|
|
178
|
+
'wh.checked': '{ago} 확인함.',
|
|
179
|
+
'wh.checking': '새 버전 확인 중…',
|
|
180
|
+
'wh.check_explain': '켜져 있으면 서버가 하루에 한 번 GitHub({host})에 최신 릴리스를 묻습니다. 이 설치에 대한 정보는 전송되지 않습니다.',
|
|
181
|
+
'wh.check_now': '지금 확인',
|
|
182
|
+
'wh.turn_off': '끄기',
|
|
183
|
+
'wh.check_on': '새 버전 확인',
|
|
184
|
+
'wh.flash.too_long': '메시지는 최대 2000자입니다.',
|
|
185
|
+
'wh.flash.saved': '작업공간 메시지를 저장했습니다.',
|
|
186
|
+
'wh.flash.removed': '작업공간 메시지를 제거했습니다.',
|
|
187
|
+
'wh.flash.check_daily': '서버가 하루에 한 번 새 버전을 확인합니다.',
|
|
188
|
+
'wh.flash.check_failed': '확인이 실패했습니다({error}).',
|
|
189
|
+
'wh.flash.checked': '새 버전을 확인했습니다.',
|
|
190
|
+
'wh.aside': '정보 및 자세히 알아보기',
|
|
191
|
+
'wh.about': '작업공간 홈: 작업공간의 도구, 애플리케이션 사용 현황 및 새로운 소식.',
|
|
192
|
+
'wh.you_work': '{name}에서 작업 중입니다.',
|
|
193
|
+
'wh.learn_more': '자세히 알아보기',
|
|
194
|
+
'wh.guide': 'pgkiln 가이드',
|
|
195
|
+
'wh.tutorial': '자습서',
|
|
196
|
+
'wh.from_apex': 'APEX에서 오신 분',
|
|
197
|
+
'wh.whats_new': '새로운 기능(변경 로그)',
|
|
198
|
+
'wh.discussions': '토론',
|
|
199
|
+
'wh.resources': '리소스',
|
|
200
|
+
'wh.mcp': 'AI 코딩 에이전트(MCP)',
|
|
201
|
+
'wh.report_problem': '문제 보고',
|
|
202
|
+
'team.open': '미해결 이슈',
|
|
203
|
+
'team.mine': '나에게 할당됨',
|
|
204
|
+
'team.mentions': '나를 언급함',
|
|
205
|
+
'team.setup': '팀 개발 설정',
|
|
206
|
+
|
|
207
|
+
// ------------------------------------------------------------ App Builder home (the applications)
|
|
208
|
+
'ab.tile.create': '생성',
|
|
209
|
+
'ab.tile.create_text': '이 작업공간에 새 애플리케이션을 생성합니다.',
|
|
210
|
+
'ab.tile.import': '임포트',
|
|
211
|
+
'ab.tile.import_text': '익스포트한 애플리케이션을 이 작업공간으로 임포트합니다.',
|
|
212
|
+
'ab.tile.dashboard': '대시보드',
|
|
213
|
+
'ab.tile.dashboard_text': '작업공간 사용량, 활동 및 로그인 문제를 봅니다.',
|
|
214
|
+
'ab.tile.utilities': '작업공간 유틸리티',
|
|
215
|
+
'ab.tile.utilities_text': '사용자, ID 제공자, 개발자 및 SQL Workshop.',
|
|
216
|
+
'ab.aside': '정보, 최근 항목 및 작업',
|
|
217
|
+
'ab.about': 'App Builder는 이 작업공간의 애플리케이션을 생성, 편집 및 실행합니다. PostgreSQL 테이블 위의 페이지와 영역에 로그인, 역할 및 행 수준 보안을 제공합니다.',
|
|
218
|
+
'ab.recent': '최근',
|
|
219
|
+
'ab.task.create': '애플리케이션 생성',
|
|
220
|
+
'ab.task.create_file': '파일에서 애플리케이션 생성',
|
|
221
|
+
'ab.task.import': '애플리케이션 임포트',
|
|
222
|
+
'ab.task.users': '사용자 관리',
|
|
223
|
+
'ab.task.providers': 'ID 제공자',
|
|
224
|
+
'ab.none_q': '“{q}”와(과) 일치하는 애플리케이션이 없습니다.',
|
|
225
|
+
'ab.none_group': '그룹 {group}에 애플리케이션이 없습니다.',
|
|
226
|
+
'ab.none_group_q': '그룹 {group}에 “{q}”와(과) 일치하는 애플리케이션이 없습니다.',
|
|
227
|
+
'ab.show_all': '모두 표시',
|
|
228
|
+
'ab.none_yet': '아직 애플리케이션이 없습니다. {create} 또는 {import}.',
|
|
229
|
+
'ab.create_one': '새로 생성',
|
|
230
|
+
'ab.import_one': '임포트',
|
|
231
|
+
'ab.pages': '페이지 {n}개',
|
|
232
|
+
'ab.pages_one': '페이지 {n}개',
|
|
233
|
+
'ab.views_today': '오늘 조회 {n}회',
|
|
234
|
+
'ab.by': '작성자',
|
|
235
|
+
'ab.copies': '작업 복사본 {n}개',
|
|
236
|
+
'ab.copies_one': '작업 복사본 {n}개',
|
|
237
|
+
'ab.copies_of': '{name}의 {copies}',
|
|
238
|
+
'ab.locked_by': '{user}이(가) 잠금',
|
|
239
|
+
'ab.edit': '{name} 편집',
|
|
240
|
+
'ab.run': '{name} 실행',
|
|
241
|
+
'ab.col.apps': '애플리케이션',
|
|
242
|
+
'ab.col.app': '애플리케이션',
|
|
243
|
+
'ab.col.name': '이름',
|
|
244
|
+
'ab.col.alias': '별칭',
|
|
245
|
+
'ab.col.pages': '페이지',
|
|
246
|
+
'ab.col.views': '조회 수(24시간)',
|
|
247
|
+
'ab.col.signin': '로그인',
|
|
248
|
+
'ab.col.updated': '업데이트됨',
|
|
249
|
+
'ab.col.updated_by': '업데이트한 사용자',
|
|
250
|
+
'ab.col.copies': '작업 복사본',
|
|
251
|
+
'ab.col.actions': '작업',
|
|
252
|
+
'ab.auth.none': '공용',
|
|
253
|
+
'ab.auth.header': 'HTTP 헤더',
|
|
254
|
+
'ab.auth.database': '데이터베이스 계정',
|
|
255
|
+
'ab.auth.custom': '사용자 정의',
|
|
256
|
+
'ab.auth.app_users': '앱 사용자',
|
|
257
|
+
'ab.search_label': '애플리케이션 검색',
|
|
258
|
+
'ab.view': '보기',
|
|
259
|
+
'ab.view_cards': '카드',
|
|
260
|
+
'ab.view_report': '보고서',
|
|
261
|
+
'ab.group': '애플리케이션 그룹',
|
|
262
|
+
'ab.all_groups': '모든 그룹',
|
|
263
|
+
'ab.actions': '작업',
|
|
264
|
+
'ab.sort_by': '정렬 기준',
|
|
265
|
+
'ab.sort.name': '이름',
|
|
266
|
+
'ab.sort.id': '애플리케이션 ID',
|
|
267
|
+
'ab.sort.alias': '별칭',
|
|
268
|
+
'ab.sort.pages': '페이지 많은 순',
|
|
269
|
+
'ab.sort.updated': '최근 업데이트 순',
|
|
270
|
+
'ab.ws_dashboard': '작업공간 대시보드',
|
|
271
|
+
'ab.count': '애플리케이션 {n}개',
|
|
272
|
+
'ab.count_one': '애플리케이션 {n}개',
|
|
273
|
+
'ab.count_of': '{total}개 중 {n}개',
|
|
274
|
+
|
|
275
|
+
// ------------------------------------------------------------ an application's home (pages) and its tabs
|
|
276
|
+
'app.head.id': '애플리케이션 {id}',
|
|
277
|
+
'app.head.copies': '작업 복사본',
|
|
278
|
+
'app.head.backups': '백업',
|
|
279
|
+
'app.head.availability': '가용성',
|
|
280
|
+
'app.head.export': '익스포트',
|
|
281
|
+
'app.head.tabs': '애플리케이션',
|
|
282
|
+
'app.tab.pages': '페이지',
|
|
283
|
+
'app.tab.shared': '공유 구성요소',
|
|
284
|
+
'app.tab.activity': '활동',
|
|
285
|
+
'app.tab.api': 'REST API',
|
|
286
|
+
'app.tab.settings': '설정',
|
|
287
|
+
'app.tab.advisor': '어드바이저',
|
|
288
|
+
'app.lock_refused': '잠금이 해제될 때까지 변경이 거부됩니다.',
|
|
289
|
+
'app.search_pages': '페이지 검색',
|
|
290
|
+
'app.search_placeholder': '페이지 이름 또는 번호',
|
|
291
|
+
'app.view_icons': '아이콘',
|
|
292
|
+
'app.create_page': '페이지 생성',
|
|
293
|
+
'app.page_group': '페이지 그룹',
|
|
294
|
+
'app.all_pages': '모든 페이지',
|
|
295
|
+
'app.no_group': '그룹 없음',
|
|
296
|
+
'app.regions': '영역 {n}개',
|
|
297
|
+
'app.regions_one': '영역 {n}개',
|
|
298
|
+
'app.col.page': '페이지',
|
|
299
|
+
'app.col.group': '그룹',
|
|
300
|
+
'app.col.mode': '모드',
|
|
301
|
+
'app.col.regions': '영역',
|
|
302
|
+
'app.col.items': '항목',
|
|
303
|
+
'app.col.das': '동적 작업',
|
|
304
|
+
'app.col.processes': '프로세스',
|
|
305
|
+
'app.col.authz': '권한 부여',
|
|
306
|
+
'app.col.protection': '보호',
|
|
307
|
+
'app.col.lock': '잠금',
|
|
308
|
+
'app.dev_comments': '개발자 주석',
|
|
309
|
+
'app.comments': '주석 {n}개',
|
|
310
|
+
'app.comments_one': '주석 {n}개',
|
|
311
|
+
'app.public': '공용',
|
|
312
|
+
'app.you': '나',
|
|
313
|
+
'app.no_match': '“{q}”와(과) 일치하는 페이지가 없습니다.',
|
|
314
|
+
'app.lock_region': '애플리케이션 잠금 및 주석',
|
|
315
|
+
'app.from_table': '테이블에서 페이지 생성',
|
|
316
|
+
'app.from_table_text': '페이지 유형과 테이블 또는 뷰를 선택하세요. 다음 단계에서 데이터베이스를 바탕으로 열, 키, 날짜, 위치 및 외래 키를 제안하고 메뉴 항목과 함께 페이지를 생성합니다.',
|
|
317
|
+
'app.page_type': '페이지 유형',
|
|
318
|
+
'app.table_or_view': '테이블 또는 뷰(마스터 세부의 경우 마스터 테이블)',
|
|
319
|
+
'app.no_access': '{table}({role}에 대한 액세스 권한 없음)',
|
|
320
|
+
'app.ai_pages': 'AI로 페이지 생성',
|
|
321
|
+
'app.ai_pages_note': '(원하는 내용을 직접 설명하세요)',
|
|
322
|
+
'app.blank': '빈 페이지 생성',
|
|
323
|
+
'app.page_number': '페이지 번호',
|
|
324
|
+
'app.parent': '이동 경로 상위 항목',
|
|
325
|
+
'app.task.run': '애플리케이션 실행',
|
|
326
|
+
'app.task.page_groups': '페이지 그룹',
|
|
327
|
+
'app.task.supporting': '지원 객체',
|
|
328
|
+
'app.task.lock': '애플리케이션 잠금',
|
|
329
|
+
'app.task.delete': '애플리케이션 삭제',
|
|
330
|
+
'app.page_created': '페이지를 생성했습니다.',
|
|
331
|
+
|
|
332
|
+
// ------------------------------------------------------------ Page Designer: toolbar, menus, tree, layout, gallery
|
|
333
|
+
'pd.designer': '페이지 디자이너',
|
|
334
|
+
'pd.h1': '페이지 디자이너: 페이지 {n}, {name}',
|
|
335
|
+
'pd.page_title': '페이지 {n}: {name}',
|
|
336
|
+
'pd.page_n_title': '페이지 {n}',
|
|
337
|
+
'pd.page_n': '페이지 {n}',
|
|
338
|
+
'pd.no_page': '페이지 {page}이(가) 없습니다.',
|
|
339
|
+
'pd.pane.tree': '트리',
|
|
340
|
+
'pd.layout': '레이아웃',
|
|
341
|
+
'pd.properties': '속성',
|
|
342
|
+
'pd.components': '페이지 구성요소',
|
|
343
|
+
'pd.tab.rendering': '렌더링',
|
|
344
|
+
'pd.tab.da': '동적 작업',
|
|
345
|
+
'pd.tab.processing': '처리',
|
|
346
|
+
'pd.tab.shared': '공유 구성요소',
|
|
347
|
+
'pd.tree.items': '항목',
|
|
348
|
+
'pd.tree.buttons': '버튼',
|
|
349
|
+
'pd.tree.buttons_at': '버튼: {slot}',
|
|
350
|
+
'pd.tree.no_regions_yet': '아직 영역이 없음',
|
|
351
|
+
'pd.tree.no_regions': '영역 없음',
|
|
352
|
+
'pd.tree.pre_rendering': '사전 렌더링(헤더 이전)',
|
|
353
|
+
'pd.tree.no_pre_rendering': '렌더링 전 분기, 계산 또는 프로세스 없음',
|
|
354
|
+
'pd.tree.page_items': '페이지 항목',
|
|
355
|
+
'pd.tree.page_buttons': '페이지 버튼',
|
|
356
|
+
'pd.tree.events': '이벤트: {event}',
|
|
357
|
+
'pd.tree.button_target': '버튼 대상',
|
|
358
|
+
'pd.tree.after_submit': '제출 후(계산)',
|
|
359
|
+
'pd.tree.no_computations': '계산 없음',
|
|
360
|
+
'pd.tree.validating': '검증 중',
|
|
361
|
+
'pd.tree.no_validations': '검증 없음',
|
|
362
|
+
'pd.tree.no_processes': '프로세스 없음',
|
|
363
|
+
'pd.tree.after_processing': '처리 후(분기)',
|
|
364
|
+
'pd.tree.no_branches': '분기 없음',
|
|
365
|
+
'pd.event.change': '변경',
|
|
366
|
+
'pd.event.click': '클릭',
|
|
367
|
+
'pd.event.load': '페이지 로드',
|
|
368
|
+
'pd.event.menu_entry': '메뉴 항목 선택됨',
|
|
369
|
+
'pd.event.other': '기타',
|
|
370
|
+
'pd.shared.all': '모든 공유 구성요소',
|
|
371
|
+
'pd.shared.lovs': '값 목록',
|
|
372
|
+
'pd.shared.authz': '권한 부여 체계',
|
|
373
|
+
'pd.shared.nav': '탐색 메뉴',
|
|
374
|
+
'pd.shared.app_items': '애플리케이션 항목',
|
|
375
|
+
'pd.badge.authz': '권한 부여: {name}',
|
|
376
|
+
'pd.badge.condition': '조건 있음',
|
|
377
|
+
'pd.badge.build_option': '빌드 옵션: {name}',
|
|
378
|
+
'pd.copy.title': '다른 페이지로 복사',
|
|
379
|
+
'pd.copy.page': '페이지',
|
|
380
|
+
'pd.copy.help': '{prefix}(으)로 시작하는 항목은 다른 페이지의 번호를 받습니다. 영역의 항목과 버튼도 함께 복사됩니다. SQL과 조건의 참조는 변경되지 않습니다.',
|
|
381
|
+
'pd.copy.copy': '복사',
|
|
382
|
+
'pd.slot_title': '버튼 위치: {slot}',
|
|
383
|
+
'pd.drag_move': '끌어서 이동',
|
|
384
|
+
'pd.drag_span': '끌어서 열 범위 변경',
|
|
385
|
+
'pd.zone_off': '(이 페이지 템플릿에 없음: 본문에 표시됨)',
|
|
386
|
+
'pd.in_position': '{position} 위치',
|
|
387
|
+
'pd.gallery': '갤러리',
|
|
388
|
+
'pd.gallery.regions': '영역',
|
|
389
|
+
'pd.gallery_title': '{name}: 레이아웃으로 끌어 놓거나 열어서 생성',
|
|
390
|
+
'pd.zoom_out': '축소',
|
|
391
|
+
'pd.zoom_in': '확대',
|
|
392
|
+
'pd.maximize': '레이아웃 최대화',
|
|
393
|
+
'pd.kbd_hint': '끌어서 이동합니다. 키보드: Alt+↑/↓는 포커스된 구성요소를 이동하고, Alt+Shift+←/→는 영역의 너비를 변경합니다.',
|
|
394
|
+
'pd.modal': '(모달 대화상자)',
|
|
395
|
+
'pd.page_level': '페이지 수준(영역 없음)',
|
|
396
|
+
'pd.search_label': '애플리케이션의 페이지와 구성요소 검색',
|
|
397
|
+
'pd.search_placeholder': '예: {prefix} 또는 테이블 이름',
|
|
398
|
+
'pd.page_search': '페이지 검색',
|
|
399
|
+
'pd.lock_comments': '잠금 및 주석',
|
|
400
|
+
'pd.locked': '잠김',
|
|
401
|
+
'pd.lock_refused': '변경 사항이 거부됩니다.',
|
|
402
|
+
'pd.attributes': '속성',
|
|
403
|
+
'pd.jobs': '작업',
|
|
404
|
+
'pd.not_found': '구성요소를 찾을 수 없습니다.',
|
|
405
|
+
'pd.save_page': '페이지 저장',
|
|
406
|
+
'pd.delete_page': '페이지 삭제',
|
|
407
|
+
'pd.delete_page_confirm': '페이지 {n}과(와) 모든 구성요소를 삭제하시겠습니까?',
|
|
408
|
+
'pd.filter_label': '속성 필터',
|
|
409
|
+
'pd.filter': '필터',
|
|
410
|
+
'pd.help_hint': '속성을 선택하면 여기에 도움말이 표시됩니다.',
|
|
411
|
+
'pd.arrange': '정렬',
|
|
412
|
+
'pd.arrange.up': '위로 이동',
|
|
413
|
+
'pd.arrange.up_title': '위로 이동(순서상 앞으로)',
|
|
414
|
+
'pd.arrange.down': '아래로 이동',
|
|
415
|
+
'pd.arrange.down_title': '아래로 이동(순서상 뒤로)',
|
|
416
|
+
'pd.arrange.narrower': '좁게',
|
|
417
|
+
'pd.arrange.narrower_title': '좁게(한 열 줄이기)',
|
|
418
|
+
'pd.arrange.wider': '넓게',
|
|
419
|
+
'pd.arrange.wider_title': '넓게(한 열 늘리기)',
|
|
420
|
+
'pd.arrange.span': '열 범위',
|
|
421
|
+
'pd.arrange.to_region': '영역으로 이동',
|
|
422
|
+
'pd.arrange.move': '이동',
|
|
423
|
+
'pd.arrange.move_title': '이 영역의 끝으로 이동',
|
|
424
|
+
'pd.arrange.page_level': '- 페이지 수준 -',
|
|
425
|
+
'pd.menu.create': '생성',
|
|
426
|
+
'pd.menu.page_item': '페이지 항목',
|
|
427
|
+
'pd.menu.page': '페이지…',
|
|
428
|
+
'pd.menu.utilities': '유틸리티',
|
|
429
|
+
'pd.menu.search_items': '이 페이지의 항목 검색',
|
|
430
|
+
'pd.menu.all_pages': '모든 페이지',
|
|
431
|
+
'pd.menu.export': '애플리케이션 익스포트',
|
|
432
|
+
'pd.prev': '이전 페이지',
|
|
433
|
+
'pd.prev_title': '이전 페이지: {n}. {name}',
|
|
434
|
+
'pd.next': '다음 페이지',
|
|
435
|
+
'pd.next_title': '다음 페이지: {n}. {name}',
|
|
436
|
+
'pd.goto_no': '페이지 번호(Enter로 이동)',
|
|
437
|
+
'pd.goto_no_title': '페이지 번호: 번호를 입력하거나 단계별로 이동한 후 Enter',
|
|
438
|
+
'pd.goto': '페이지로 이동',
|
|
439
|
+
'pd.history': '기록',
|
|
440
|
+
'pd.undo': '실행 취소',
|
|
441
|
+
'pd.redo': '다시 실행',
|
|
442
|
+
'pd.nothing_undo': '실행 취소할 내용 없음',
|
|
443
|
+
'pd.nothing_redo': '다시 실행할 내용 없음',
|
|
444
|
+
'pd.save_title': '속성 저장',
|
|
445
|
+
'pd.run_title': '페이지 {n} 실행',
|
|
446
|
+
'pd.page_saved': '페이지를 저장했습니다.',
|
|
447
|
+
'pd.page_deleted': '페이지를 삭제했습니다.',
|
|
448
|
+
// the page's components (COMPONENTS in components.ts), per kind
|
|
449
|
+
'comp.region': '영역',
|
|
450
|
+
'comp.region.plural': '영역',
|
|
451
|
+
'comp.item': '항목',
|
|
452
|
+
'comp.item.plural': '항목',
|
|
453
|
+
'comp.button': '버튼',
|
|
454
|
+
'comp.button.plural': '버튼',
|
|
455
|
+
'comp.dynamic_action': '동적 작업',
|
|
456
|
+
'comp.validation': '검증',
|
|
457
|
+
'comp.process': '프로세스',
|
|
458
|
+
'comp.computation': '계산',
|
|
459
|
+
'comp.branch': '분기',
|
|
460
|
+
'pd.new.region': '새 영역',
|
|
461
|
+
'pd.new.item': '새 항목',
|
|
462
|
+
'pd.new.button': '새 버튼',
|
|
463
|
+
'pd.new.dynamic_action': '새 동적 작업',
|
|
464
|
+
'pd.new.validation': '새 검증',
|
|
465
|
+
'pd.new.process': '새 프로세스',
|
|
466
|
+
'pd.new.computation': '새 계산',
|
|
467
|
+
'pd.new.branch': '새 분기',
|
|
468
|
+
'pd.create.region': '영역 생성',
|
|
469
|
+
'pd.create.item': '항목 생성',
|
|
470
|
+
'pd.create.button': '버튼 생성',
|
|
471
|
+
'pd.create.dynamic_action': '동적 작업 생성',
|
|
472
|
+
'pd.create.validation': '검증 생성',
|
|
473
|
+
'pd.create.process': '프로세스 생성',
|
|
474
|
+
'pd.create.computation': '계산 생성',
|
|
475
|
+
'pd.create.branch': '분기 생성',
|
|
476
|
+
'pd.delete.region': '영역 삭제',
|
|
477
|
+
'pd.delete.item': '항목 삭제',
|
|
478
|
+
'pd.delete.button': '버튼 삭제',
|
|
479
|
+
'pd.delete.dynamic_action': '동적 작업 삭제',
|
|
480
|
+
'pd.delete.validation': '검증 삭제',
|
|
481
|
+
'pd.delete.process': '프로세스 삭제',
|
|
482
|
+
'pd.delete.computation': '계산 삭제',
|
|
483
|
+
'pd.delete.branch': '분기 삭제',
|
|
484
|
+
'pd.delete_confirm.region': '이 영역을 삭제하시겠습니까?',
|
|
485
|
+
'pd.delete_confirm.item': '이 항목을 삭제하시겠습니까?',
|
|
486
|
+
'pd.delete_confirm.button': '이 버튼을 삭제하시겠습니까?',
|
|
487
|
+
'pd.delete_confirm.dynamic_action': '이 동적 작업을 삭제하시겠습니까?',
|
|
488
|
+
'pd.delete_confirm.validation': '이 검증을 삭제하시겠습니까?',
|
|
489
|
+
'pd.delete_confirm.process': '이 프로세스를 삭제하시겠습니까?',
|
|
490
|
+
'pd.delete_confirm.computation': '이 계산을 삭제하시겠습니까?',
|
|
491
|
+
'pd.delete_confirm.branch': '이 분기를 삭제하시겠습니까?',
|
|
492
|
+
'pd.saved.region': '영역을 저장했습니다.',
|
|
493
|
+
'pd.saved.item': '항목을 저장했습니다.',
|
|
494
|
+
'pd.saved.button': '버튼을 저장했습니다.',
|
|
495
|
+
'pd.saved.dynamic_action': '동적 작업을 저장했습니다.',
|
|
496
|
+
'pd.saved.validation': '검증을 저장했습니다.',
|
|
497
|
+
'pd.saved.process': '프로세스를 저장했습니다.',
|
|
498
|
+
'pd.saved.computation': '계산을 저장했습니다.',
|
|
499
|
+
'pd.saved.branch': '분기를 저장했습니다.',
|
|
500
|
+
'pd.deleted.region': '영역을 삭제했습니다.',
|
|
501
|
+
'pd.deleted.item': '항목을 삭제했습니다.',
|
|
502
|
+
'pd.deleted.button': '버튼을 삭제했습니다.',
|
|
503
|
+
'pd.deleted.dynamic_action': '동적 작업을 삭제했습니다.',
|
|
504
|
+
'pd.deleted.validation': '검증을 삭제했습니다.',
|
|
505
|
+
'pd.deleted.process': '프로세스를 삭제했습니다.',
|
|
506
|
+
'pd.deleted.computation': '계산을 삭제했습니다.',
|
|
507
|
+
'pd.deleted.branch': '분기를 삭제했습니다.',
|
|
508
|
+
// display positions (POSITION_LABELS) and region button positions (SLOT_LABELS) in arrange.ts
|
|
509
|
+
'pos.banner': '배너',
|
|
510
|
+
'pos.breadcrumb': '이동 경로 표시줄',
|
|
511
|
+
'pos.left': '왼쪽 열',
|
|
512
|
+
'pos.body': '본문',
|
|
513
|
+
'pos.right': '오른쪽 열',
|
|
514
|
+
'pos.footer': '바닥글',
|
|
515
|
+
'slot.region': '영역 버튼',
|
|
516
|
+
'slot.create': '생성',
|
|
517
|
+
'slot.edit': '편집',
|
|
518
|
+
'slot.change': '변경',
|
|
519
|
+
'slot.copy': '복사',
|
|
520
|
+
'slot.help': '도움말',
|
|
521
|
+
'slot.up': '위로',
|
|
522
|
+
'slot.previous': '이전',
|
|
523
|
+
'slot.close': '닫기',
|
|
524
|
+
'slot.delete': '삭제',
|
|
525
|
+
'slot.next': '다음',
|
|
526
|
+
// the gallery (REGION_LABELS, ITEM_LABELS, BUTTON_LABELS in arrange.ts)
|
|
527
|
+
'gallery.region.report': '대화형 보고서',
|
|
528
|
+
'gallery.region.grid': '대화형 그리드',
|
|
529
|
+
'gallery.region.form': '폼',
|
|
530
|
+
'gallery.region.chart': '차트',
|
|
531
|
+
'gallery.region.cards': '카드',
|
|
532
|
+
'gallery.region.calendar': '달력',
|
|
533
|
+
'gallery.region.facets': '패싯 검색',
|
|
534
|
+
'gallery.region.smart_filters': '스마트 필터',
|
|
535
|
+
'gallery.region.display_selector': '영역 표시 선택기',
|
|
536
|
+
'gallery.region.tasks': '태스크 목록',
|
|
537
|
+
'gallery.region.workflows': '워크플로 콘솔',
|
|
538
|
+
'gallery.region.map': '지도',
|
|
539
|
+
'gallery.region.tree': '트리',
|
|
540
|
+
'gallery.region.static': '정적 콘텐츠',
|
|
541
|
+
'gallery.region.dynamic': '동적 콘텐츠',
|
|
542
|
+
'gallery.region.template_component': '템플리트 구성요소',
|
|
543
|
+
'gallery.region.list': '목록',
|
|
544
|
+
'gallery.region.data_reporter': '데이터 리포터',
|
|
545
|
+
'gallery.region.form_designer': '폼 디자이너',
|
|
546
|
+
'gallery.region.ai_assistant': 'AI 어시스턴트',
|
|
547
|
+
'gallery.region.url': 'URL',
|
|
548
|
+
'gallery.region.search': '검색',
|
|
549
|
+
'gallery.region.login': '로그인',
|
|
550
|
+
'gallery.region.plugin': '플러그인',
|
|
551
|
+
'gallery.item.text': '텍스트 필드',
|
|
552
|
+
'gallery.item.textarea': '텍스트 영역',
|
|
553
|
+
'gallery.item.number': '숫자 필드',
|
|
554
|
+
'gallery.item.date': '날짜 선택기',
|
|
555
|
+
'gallery.item.datetime': '날짜 및 시간',
|
|
556
|
+
'gallery.item.select': '선택 목록',
|
|
557
|
+
'gallery.item.popup_lov': '팝업 LOV',
|
|
558
|
+
'gallery.item.radio': '라디오 그룹',
|
|
559
|
+
'gallery.item.checkbox': '체크박스',
|
|
560
|
+
'gallery.item.switch': '스위치',
|
|
561
|
+
'gallery.item.checkbox_group': '체크박스 그룹',
|
|
562
|
+
'gallery.item.multiselect': '다중 선택',
|
|
563
|
+
'gallery.item.email': '이메일',
|
|
564
|
+
'gallery.item.tel': '전화번호',
|
|
565
|
+
'gallery.item.url': 'URL',
|
|
566
|
+
'gallery.item.color': '색상 선택기',
|
|
567
|
+
'gallery.item.file': '파일 업로드',
|
|
568
|
+
'gallery.item.location': '위치',
|
|
569
|
+
'gallery.item.richtext': '서식 있는 텍스트 편집기',
|
|
570
|
+
'gallery.item.markdown': 'Markdown 편집기',
|
|
571
|
+
'gallery.item.rating': '별점',
|
|
572
|
+
'gallery.item.combobox': '콤보박스(태그)',
|
|
573
|
+
'gallery.item.daterange': '날짜 범위',
|
|
574
|
+
'gallery.item.qrcode': 'QR 코드',
|
|
575
|
+
'gallery.item.image': '이미지 표시',
|
|
576
|
+
'gallery.item.address': '지오코딩된 주소',
|
|
577
|
+
'gallery.item.hidden': '숨김',
|
|
578
|
+
'gallery.item.display': '표시 전용',
|
|
579
|
+
'gallery.item.password': '비밀번호',
|
|
580
|
+
'gallery.item.plugin': '플러그인',
|
|
581
|
+
'gallery.button.submit': '페이지 제출',
|
|
582
|
+
'gallery.button.redirect': '페이지로 리디렉션',
|
|
583
|
+
'gallery.button.da': '동적 작업',
|
|
584
|
+
'gallery.button.document': '문서 다운로드',
|
|
585
|
+
'gallery.button.menu': '메뉴',
|
|
586
|
+
|
|
587
|
+
// ------------------------------------------------------------ SQL Workshop: home (Launchpad) and tabs
|
|
588
|
+
'sw.more': '더 보기',
|
|
589
|
+
'sw.aside': '정보, 스키마 및 작업',
|
|
590
|
+
'sw.about': 'SQL Workshop은 데이터베이스 객체를 관리하는 도구 모음입니다. {role}(으)로 실행됩니다.',
|
|
591
|
+
'sw.schema': '스키마',
|
|
592
|
+
'sw.schema_text': '이 세션의 기본 스키마: SQL 워크시트와 SQL 스크립트의 검색 경로에서 첫 번째입니다.',
|
|
593
|
+
'sw.default_path': '(기본 검색 경로)',
|
|
594
|
+
'sw.set': '설정',
|
|
595
|
+
'sw.task.quicksql': 'Quick SQL로 데이터 모델 생성',
|
|
596
|
+
'sw.task.blueprint': '블루프린트에서 애플리케이션 생성',
|
|
597
|
+
'sw.task.describe': '테이블 설명',
|
|
598
|
+
'sw.task.sample': '샘플 데이터 생성',
|
|
599
|
+
'sw.task.ddl': 'DDL 생성',
|
|
600
|
+
'sw.recent_tables': '최근 생성된 테이블',
|
|
601
|
+
'sw.rows': '~{n}행',
|
|
602
|
+
'sw.no_tables': '읽을 수 있는 테이블이 없습니다.',
|
|
603
|
+
'sw.history_title': 'SQL 기록 열기',
|
|
604
|
+
'sw.recent_commands': '최근 SQL 명령',
|
|
605
|
+
'sw.no_commands': '아직 SQL 명령을 실행하지 않았습니다.',
|
|
606
|
+
'sw.recent_scripts': '최근 SQL 스크립트',
|
|
607
|
+
'sw.no_scripts': '이 작업공간에 아직 스크립트가 없습니다.',
|
|
608
|
+
'sw.flash.schema': '스키마 {schema}이(가) SQL 워크시트와 SQL 스크립트의 검색 경로에서 첫 번째입니다.',
|
|
609
|
+
'sw.flash.default_path': '다시 기본 검색 경로를 사용합니다.',
|
|
610
|
+
'sw.pinned': '고정 및 최근 방문',
|
|
611
|
+
'sw.pin_hint': '도구, 객체 또는 저장된 워크시트를 {pin}(으)로 고정하면 여기에 유지됩니다.',
|
|
612
|
+
'sw.recent': '최근 방문',
|
|
613
|
+
'sw.pin_title': 'SQL Workshop 홈에 고정',
|
|
614
|
+
'sw.unpin': '고정 해제',
|
|
615
|
+
'sw.pin_what': '{what} 고정',
|
|
616
|
+
'sw.unpin_what': '{what} 고정 해제',
|
|
617
|
+
// the Launchpad's groups (TOOL_GROUPS) and tools (SQL_TOOLS in sql-tools.ts: sql.tool.<key>, .desc)
|
|
618
|
+
'sql.group.development': '개발',
|
|
619
|
+
'sql.group.administration': '관리',
|
|
620
|
+
'sql.group.monitoring': '모니터링',
|
|
621
|
+
'sql.tool.worksheet': 'SQL 워크시트',
|
|
622
|
+
'sql.tool.worksheet.desc': '탐색기, 실행 계획, 결과 및 기록과 함께 문장과 스크립트를 실행합니다.',
|
|
623
|
+
'sql.tool.objects': '객체 브라우저',
|
|
624
|
+
'sql.tool.objects.desc': '테이블, 뷰 및 함수와 그 열, 데이터, 키, 정책 및 DDL.',
|
|
625
|
+
'sql.tool.scripts': 'SQL 스크립트',
|
|
626
|
+
'sql.tool.scripts.desc': '작업공간의 저장된 스크립트: 업로드, 실행, 다운로드, 실행 기록.',
|
|
627
|
+
'sql.tool.table': '테이블 생성',
|
|
628
|
+
'sql.tool.table.desc': '폼으로 만드는 새 테이블: 열, 키, 인덱스 및 보안.',
|
|
629
|
+
'sql.tool.charts': '차트',
|
|
630
|
+
'sql.tool.charts.desc': '차트로 그린 쿼리와 그 대시보드.',
|
|
631
|
+
'sql.tool.quicksql': 'Quick SQL',
|
|
632
|
+
'sql.tool.quicksql.desc': '약식으로 작성한 데이터 모델을 DDL로 변환합니다.',
|
|
633
|
+
'sql.tool.query': '쿼리 빌더',
|
|
634
|
+
'sql.tool.query.desc': '테이블과 조인을 그려서 만드는 쿼리.',
|
|
635
|
+
'sql.tool.load': '데이터 로드',
|
|
636
|
+
'sql.tool.load.desc': 'CSV, Excel, JSON 또는 XML을 새 테이블이나 기존 테이블로 로드합니다.',
|
|
637
|
+
'sql.tool.unload': '데이터 언로드',
|
|
638
|
+
'sql.tool.unload.desc': '테이블, 뷰 또는 쿼리를 CSV, JSON, Excel, XML 또는 SQL INSERT 문으로 내보냅니다.',
|
|
639
|
+
'sql.tool.sample': '샘플 데이터',
|
|
640
|
+
'sql.tool.sample.desc': '개발용으로 실제처럼 보이는 행.',
|
|
641
|
+
'sql.tool.ddl': 'DDL 생성',
|
|
642
|
+
'sql.tool.ddl.desc': '스키마의 객체를 하나의 스크립트로.',
|
|
643
|
+
'sql.tool.compare': '스키마 비교',
|
|
644
|
+
'sql.tool.compare.desc': '두 스키마 간의 차이와 이를 맞추는 SQL.',
|
|
645
|
+
'sql.tool.changes': '변경 로그',
|
|
646
|
+
'sql.tool.changes.desc': '여기서 실행한 DDL을 스키마별 변경 세트로 기록합니다. Flyway, Liquibase 또는 SQL 마이그레이션으로 다운로드할 수 있습니다.',
|
|
647
|
+
'sql.tool.modeler': '데이터 모델러',
|
|
648
|
+
'sql.tool.modeler.desc': '테이블과 외래 키의 관계형 다이어그램, 그리고 이를 바탕으로 한 DDL과 데이터 사전.',
|
|
649
|
+
'sql.tool.rest': 'RESTful 서비스',
|
|
650
|
+
'sql.tool.rest.desc': 'REST 모듈, 템플리트 및 핸들러, REST 엔드포인트로서의 테이블과 뷰(AutoREST), OpenAPI.',
|
|
651
|
+
'sql.tool.ai': 'AI',
|
|
652
|
+
'sql.tool.ai.desc': '질문에서 SQL 생성, 설명 및 테이블 설명.',
|
|
653
|
+
'sql.tool.utilities': '유틸리티',
|
|
654
|
+
'sql.tool.utilities.desc': '객체 보고서, 데이터베이스 정보 및 기타 유틸리티.',
|
|
655
|
+
'sql.tool.backups': '백업 관리',
|
|
656
|
+
'sql.tool.backups.desc': '작업공간 애플리케이션의 백업.',
|
|
657
|
+
'sql.tool.workspaces': '작업공간',
|
|
658
|
+
'sql.tool.workspaces.desc': '작업공간, 개발자 및 데이터베이스 역할.',
|
|
659
|
+
'sql.tool.dbusers': '데이터베이스 사용자',
|
|
660
|
+
'sql.tool.dbusers.desc': 'PostgreSQL 역할: 로그인, 만료, 멤버십 및 스키마 권한.',
|
|
661
|
+
'sql.tool.datapump': '스키마 익스포트/임포트',
|
|
662
|
+
'sql.tool.datapump.desc': 'pg_dump로 스키마를 파일로, pg_restore로 파일을 스키마로(Data Pump).',
|
|
663
|
+
'sql.tool.scheduling': '스케줄링',
|
|
664
|
+
'sql.tool.scheduling.desc': 'pg_cron 작업: 일정에 따른 SQL, 다음 실행, 실행 기록. pg_cron이 없을 때는 pgkiln의 자동화.',
|
|
665
|
+
'sql.tool.developers': '개발자',
|
|
666
|
+
'sql.tool.developers.desc': '빌더 계정과 해당 작업공간.',
|
|
667
|
+
'sql.tool.monitor': 'SQL 모니터',
|
|
668
|
+
'sql.tool.monitor.desc': '실시간 세션: 실행 중인 작업, 대기 중인 항목 및 차단 원인. 취소 또는 종료할 수 있습니다.',
|
|
669
|
+
'sql.tool.topsql': '상위 SQL',
|
|
670
|
+
'sql.tool.topsql.desc': '데이터베이스에서 가장 느리고 가장 많이 호출된 문장과 그 실행 계획.',
|
|
671
|
+
'sql.tool.about': '데이터베이스 정보',
|
|
672
|
+
'sql.tool.about.desc': '서버: 버전, 설정, 확장 및 크기.',
|
|
673
|
+
'sql.tool.reports': '객체 보고서',
|
|
674
|
+
'sql.tool.reports.desc': '키가 없는 테이블, 인덱스가 없는 외래 키, 행 수준 보안의 빈틈 등.',
|
|
675
|
+
'sql.tool.activity': '작업 모니터',
|
|
676
|
+
'sql.tool.activity.desc': '애플리케이션의 페이지 조회, 오류 및 느린 페이지.',
|
|
677
|
+
// ------------------------------------------------------------ SQL Worksheet (sprint 123)
|
|
678
|
+
'ws.title': 'SQL 워크시트',
|
|
679
|
+
'ws.tab.result': '쿼리 결과',
|
|
680
|
+
'ws.tab.chart': '차트',
|
|
681
|
+
'ws.tab.output': '스크립트 출력',
|
|
682
|
+
'ws.tab.notices': '알림',
|
|
683
|
+
'ws.tab.explain': '실행 계획',
|
|
684
|
+
'ws.tab.autotrace': '자동 추적',
|
|
685
|
+
'ws.tab.history': 'SQL 기록',
|
|
686
|
+
'ob.type.all': '모든 객체',
|
|
687
|
+
'ob.type.table': '테이블',
|
|
688
|
+
'ob.type.view': '뷰',
|
|
689
|
+
'ob.type.matview': '구체화된 뷰',
|
|
690
|
+
'ob.type.index': '인덱스',
|
|
691
|
+
'ob.type.sequence': '시퀀스',
|
|
692
|
+
'ob.type.type': '유형',
|
|
693
|
+
'ob.type.function': '함수',
|
|
694
|
+
'ob.type.procedure': '프로시저',
|
|
695
|
+
'ob.type.trigger': '트리거',
|
|
696
|
+
'ob.type.policy': '정책',
|
|
697
|
+
'ws.nav.no_schema': '사용할 수 있는 스키마가 없습니다.',
|
|
698
|
+
'ws.nav.no_objects': '{schema}에 객체가 없습니다.',
|
|
699
|
+
'ws.nav.no_type': '{schema}에 {type}이(가) 없습니다.',
|
|
700
|
+
'ws.nav.drag': '{type}: 편집기로 끌어 놓으면 SELECT가 만들어집니다',
|
|
701
|
+
'ws.nav.open': '열기',
|
|
702
|
+
'ws.nav.cols_limit': '처음 {n}개 테이블과 뷰의 열만 나열됩니다.',
|
|
703
|
+
'ws.rows_one': '{n}행',
|
|
704
|
+
'ws.rows': '{n}행',
|
|
705
|
+
'ws.stmt_one': '문장 {n}개',
|
|
706
|
+
'ws.stmt': '문장 {n}개',
|
|
707
|
+
'ws.download': '다운로드',
|
|
708
|
+
'ws.dl.sql': 'SQL INSERT 문',
|
|
709
|
+
'ws.result.showing': '처음 {n}행 표시',
|
|
710
|
+
'ws.line': '{n}행',
|
|
711
|
+
'ws.all_rows': '모든 행',
|
|
712
|
+
'ws.all_rows.title': '문장을 다시 실행하고 최대 {n}행 표시',
|
|
713
|
+
'ws.chart.title': '차트 생성 (Ctrl+F11)',
|
|
714
|
+
'ws.copy': '복사',
|
|
715
|
+
'ws.value': '값',
|
|
716
|
+
'ws.close': '닫기',
|
|
717
|
+
'ws.result.failed': '문장이 실패했습니다. 스크립트 출력을 참조하세요.',
|
|
718
|
+
'ws.result.no_rows': '행 없음: 마지막 문장이 쿼리가 아니었습니다. 스크립트 출력을 참조하세요.',
|
|
719
|
+
'ws.result.empty': '쿼리를 실행(Ctrl+Enter)하면 여기에 행이 표시됩니다.',
|
|
720
|
+
'ws.log.not_run': '-- {n}. {line}행: 실행 안 됨(이전 문장이 실패함)',
|
|
721
|
+
'ws.log.head': '-- {n}. {line}행: {sql}',
|
|
722
|
+
'ws.error': '오류: {error}',
|
|
723
|
+
'ws.error_at': '{line}행 오류: {error}',
|
|
724
|
+
'ws.error_at_col': '{line}행 {col}열 오류: {error}',
|
|
725
|
+
'ws.log.first': '({rows}행 중 처음 {n}행)',
|
|
726
|
+
'ws.log.summary_one': '문장 {n}개 실행, {failed}개 실패, {ms}ms.',
|
|
727
|
+
'ws.log.summary': '문장 {n}개 실행, {failed}개 실패, {ms}ms.',
|
|
728
|
+
'ws.log.empty': '스크립트 실행(F5)은 모든 문장을 실행하고 각 문장을 여기에 기록합니다.',
|
|
729
|
+
'ws.notice.meta': '문장 {n} · {at}',
|
|
730
|
+
'ws.notice.empty': '마지막 실행의 RAISE NOTICE, INFO 및 WARNING 메시지가 여기에 표시됩니다.',
|
|
731
|
+
'ws.no_plan': '실행 계획 없음.',
|
|
732
|
+
'ws.hist.search': '기록 검색',
|
|
733
|
+
'ws.hist.status': '상태',
|
|
734
|
+
'ws.hist.all': '모두',
|
|
735
|
+
'ws.hist.ok': '성공',
|
|
736
|
+
'ws.hist.failed': '실패',
|
|
737
|
+
'ws.hist.failed_title': '실패: {error}',
|
|
738
|
+
'ws.hist.insert': '커서 위치에 삽입: {sql}',
|
|
739
|
+
'ws.hist.run_title': '편집기에 넣고 실행',
|
|
740
|
+
'ws.hist.empty': '문장을 실행하면 여기에 표시됩니다.',
|
|
741
|
+
'ws.ready': '준비됨.',
|
|
742
|
+
'ws.status.explain': '실행 계획 {ms}ms.',
|
|
743
|
+
'ws.status.autotrace': '자동 추적 {ms}ms.',
|
|
744
|
+
'ws.status.rows_one': '{n}행, {ms}ms.',
|
|
745
|
+
'ws.status.rows': '{n}행, {ms}ms.',
|
|
746
|
+
'ws.status.stmts_one': '문장 {n}개, {ms}ms.',
|
|
747
|
+
'ws.status.stmts': '문장 {n}개, {ms}ms.',
|
|
748
|
+
'ws.errors': '오류',
|
|
749
|
+
'ws.warnings': '경고',
|
|
750
|
+
'ws.running': '실행 중…',
|
|
751
|
+
'ws.chart.empty': '차트 생성(Ctrl+F11)은 마지막 쿼리를 그립니다: 레이블 열 하나와 숫자 열.',
|
|
752
|
+
'ws.explain.empty': '실행 계획(F10)은 PostgreSQL이 커서 위치의 문장을 어떻게 실행할지 보여 줍니다. 아무것도 실행되지 않습니다.',
|
|
753
|
+
'ws.autotrace.empty': '자동 추적(F6)은 커서 위치의 문장을 EXPLAIN ANALYZE로 실행한 후 롤백합니다: 단계별 실제 행, 시간 및 버퍼.',
|
|
754
|
+
'ws.idle.seconds': '{n}초',
|
|
755
|
+
'ws.idle.minute': '{n}분',
|
|
756
|
+
'ws.idle.minutes': '{n}분',
|
|
757
|
+
'ws.txn.none': '열린 트랜잭션 없음',
|
|
758
|
+
'ws.txn.failed': '트랜잭션 실패',
|
|
759
|
+
'ws.txn.open': '트랜잭션 열림',
|
|
760
|
+
'ws.txn.under_minute': '1분 미만',
|
|
761
|
+
'ws.txn.min': '{n}분',
|
|
762
|
+
'ws.txn.no_txn': '이 워크시트에는 열린 트랜잭션이 없습니다.',
|
|
763
|
+
'ws.txn.busy': '이 워크시트에서 아직 실행 중인 작업이 있습니다. 끝날 때까지 기다리세요.',
|
|
764
|
+
'ws.txn.end_failed': '{action} 실패: {error}. 연결이 닫혔으므로 트랜잭션이 롤백됩니다.',
|
|
765
|
+
'ws.txn.commit_rolled': '트랜잭션이 실패했으므로 COMMIT이 롤백했습니다. 아무것도 저장되지 않았습니다.',
|
|
766
|
+
'ws.txn.committed': '커밋했습니다({what}).',
|
|
767
|
+
'ws.txn.rolled_back': '롤백했습니다({what} 취소됨).',
|
|
768
|
+
'ws.txn.rolled_back_failed': '롤백했습니다({what} 취소됨, 트랜잭션이 실패했었습니다).',
|
|
769
|
+
'ws.file.name_long': '이름은 최대 200자입니다.',
|
|
770
|
+
'ws.file.too_big': '스크립트는 최대 5MB입니다.',
|
|
771
|
+
'ws.file.new_name': '새 이름을 입력하세요.',
|
|
772
|
+
'ws.file.need_name': '워크시트를 스크립트로 저장하려면 이름을 지정하세요.',
|
|
773
|
+
'ws.file.exists': '“{name}” 스크립트가 이미 있습니다.',
|
|
774
|
+
'ws.file.renamed': '“{name}”(으)로 이름을 바꿨습니다.',
|
|
775
|
+
'ws.file.saved': '“{name}” 스크립트로 저장했습니다.',
|
|
776
|
+
'ws.txn.switched': '작업공간을 전환했으므로 트랜잭션이 롤백되었습니다.',
|
|
777
|
+
'ws.txn.open_first': '이 워크시트에 열린 트랜잭션이 있습니다. 먼저 커밋하거나 롤백하거나, 다시 트랜잭션 모드로 전환하세요.',
|
|
778
|
+
'ws.txn.needs_js': '트랜잭션 모드에는 JavaScript(트랜잭션이 속한 워크시트 탭)가 필요합니다. 이 실행은 거부되었습니다.',
|
|
779
|
+
'ws.txn.runs_as': '이 워크시트의 트랜잭션은 {who}(으)로 실행됩니다. 실행 주체를 변경하기 전에 커밋하거나 롤백하세요.',
|
|
780
|
+
'ws.txn.not_in_txn': '{line}행: {what}은(는) 트랜잭션 안에서 실행할 수 없습니다. 실행하려면 워크시트를 자동 커밋으로 전환하세요.',
|
|
781
|
+
'ws.txn.new_started': '{note} 새 트랜잭션이 시작되었습니다.',
|
|
782
|
+
'ws.txn.begin_left': 'BEGIN으로 시작한 트랜잭션이 실행 끝까지 열려 있어 롤백되었습니다. 실행 사이에 트랜잭션을 열어 두려면 워크시트를 트랜잭션 모드로 전환하세요.',
|
|
783
|
+
'ws.txn.ended_editor': '편집기의 COMMIT 또는 ROLLBACK으로 트랜잭션이 종료되었습니다. 다음 실행에서 새 트랜잭션이 시작됩니다.',
|
|
784
|
+
'ws.txn.aborted': '문장이 실패하여 트랜잭션이 중단되었습니다. 롤백으로 종료하세요(COMMIT도 롤백합니다).',
|
|
785
|
+
'ws.chart.nothing': '그릴 내용이 없습니다. 쿼리에 레이블 옆의 숫자 열이 필요합니다.',
|
|
786
|
+
'ws.chart.again': '다시 그리기',
|
|
787
|
+
'ws.chart.name': '차트 이름',
|
|
788
|
+
'ws.chart.save': '차트 저장',
|
|
789
|
+
'ws.binds.title': '실행에 사용할 값',
|
|
790
|
+
'ws.binds.help': '바인드 변수({bind})는 따옴표로 묶인 리터럴로 값을 받고, 치환 변수({sub})는 텍스트를 그대로 문장에 넣습니다. 바인드 변수가 비어 있으면 NULL입니다.',
|
|
791
|
+
'ws.runs_as_role': '{app}의 역할 {role}',
|
|
792
|
+
'ws.refresh_nav': '탐색기 새로 고침',
|
|
793
|
+
'ws.navigator': '탐색기',
|
|
794
|
+
'ws.objects': '객체',
|
|
795
|
+
'ws.files': '파일',
|
|
796
|
+
'ws.schema': '스키마',
|
|
797
|
+
'ws.object_type': '객체 유형',
|
|
798
|
+
'ws.search_objects': '객체 검색',
|
|
799
|
+
'ws.refresh': '새로 고침',
|
|
800
|
+
'ws.sql_scripts': '(SQL 스크립트)',
|
|
801
|
+
'ws.no_scripts': '아직 스크립트가 없습니다. 워크시트를 저장하여 만드세요.',
|
|
802
|
+
'ws.resize_nav': '탐색기 크기 조정',
|
|
803
|
+
'ws.worksheet': '워크시트',
|
|
804
|
+
'ws.toggle_nav': '탐색기 숨기기 또는 표시',
|
|
805
|
+
'ws.file.menu': '워크시트 저장, 열기, 이름 바꾸기 또는 다운로드(Ctrl+S로 저장)',
|
|
806
|
+
'ws.untitled': '제목 없음',
|
|
807
|
+
'ws.name': '이름',
|
|
808
|
+
'ws.save_title': '저장 (Ctrl+S)',
|
|
809
|
+
'ws.save_as': '새로 저장',
|
|
810
|
+
'ws.rename': '이름 바꾸기',
|
|
811
|
+
'ws.new': '새로 만들기',
|
|
812
|
+
'ws.open_file': '열기…',
|
|
813
|
+
'ws.pin_title': '이 워크시트를 SQL Workshop 홈에 고정',
|
|
814
|
+
'ws.pin': '고정',
|
|
815
|
+
'ws.run_statement': '문장 실행',
|
|
816
|
+
'ws.run_script': '스크립트 실행',
|
|
817
|
+
'ws.continue': '오류 시 계속',
|
|
818
|
+
'ws.format': '서식 지정',
|
|
819
|
+
'ws.format_title': '서식 지정 (Ctrl+F7)',
|
|
820
|
+
'ws.case_title': '선택 영역의 대소문자 변환 (Ctrl+B)',
|
|
821
|
+
'ws.case': '대소문자 변환',
|
|
822
|
+
'ws.find_title': '찾기 및 바꾸기 (Ctrl+F, Ctrl+H)',
|
|
823
|
+
'ws.find': '찾기',
|
|
824
|
+
'ws.load_title': '테이블로 데이터 로드',
|
|
825
|
+
'ws.load': '데이터 로드',
|
|
826
|
+
'ws.keys': '키보드 단축키',
|
|
827
|
+
'ws.key.save': '저장',
|
|
828
|
+
'ws.key.find': '찾기/바꾸기',
|
|
829
|
+
'ws.key.goto': '행으로 이동',
|
|
830
|
+
'ws.key.comment': '행 주석 처리',
|
|
831
|
+
'ws.key.suggest': '제안',
|
|
832
|
+
'ws.key.help': '도움말',
|
|
833
|
+
'ws.key.fullscreen': '전체 화면 종료',
|
|
834
|
+
'ws.kwcase': '키워드 서식',
|
|
835
|
+
'ws.lower': '소문자',
|
|
836
|
+
'ws.upper': '대문자',
|
|
837
|
+
'ws.help': 'SQL 워크시트 도움말',
|
|
838
|
+
'ws.commit_label': '커밋',
|
|
839
|
+
'ws.txn.mode_title': '자동 커밋: 각 문장이 개별적으로 커밋됩니다. 트랜잭션: 커밋 또는 롤백할 때까지 문장이 하나의 트랜잭션에 남습니다.',
|
|
840
|
+
'ws.autocommit': '자동 커밋',
|
|
841
|
+
'ws.transaction': '트랜잭션',
|
|
842
|
+
'ws.txn.runs_as_title': '{who}(으)로 실행',
|
|
843
|
+
'ws.txn.commit_title': '워크시트의 트랜잭션 커밋',
|
|
844
|
+
'ws.txn.rollback_title': '워크시트의 트랜잭션 롤백',
|
|
845
|
+
'ws.rollback': '롤백',
|
|
846
|
+
'ws.run_as': '실행 주체',
|
|
847
|
+
'ws.run_as_title': '문장을 실행할 주체',
|
|
848
|
+
'ws.owner_conn': '소유자 연결',
|
|
849
|
+
'ws.ws_login': '작업공간 로그인',
|
|
850
|
+
'ws.clear_title': '편집기 지우기',
|
|
851
|
+
'ws.clear': '지우기',
|
|
852
|
+
'ws.fullscreen_title': '전체 화면 (Escape로 종료)',
|
|
853
|
+
'ws.fullscreen': '전체 화면',
|
|
854
|
+
'ws.runs_as': '{who}(으)로 실행',
|
|
855
|
+
'ws.search_path': '검색 경로에서 {schema}이(가) 첫 번째 ({change})',
|
|
856
|
+
'ws.change': '변경',
|
|
857
|
+
'ws.commit.txn': '커밋 또는 롤백할 때까지 문장이 하나의 트랜잭션에 남습니다. {idle} 동안 실행이 없으면 롤백됩니다.',
|
|
858
|
+
'ws.commit.auto': '각 문장이 개별적으로 커밋됩니다.',
|
|
859
|
+
'ws.worksheets': '워크시트',
|
|
860
|
+
'ws.replace_with': '바꿀 내용',
|
|
861
|
+
'ws.regex': '정규식',
|
|
862
|
+
'ws.match_case': '대소문자 구분',
|
|
863
|
+
'ws.next': '다음',
|
|
864
|
+
'ws.replace': '바꾸기',
|
|
865
|
+
'ws.replace_all': '모두 바꾸기',
|
|
866
|
+
'ws.line_ph': '행',
|
|
867
|
+
'ws.close_esc': '닫기 (Escape)',
|
|
868
|
+
'ws.resize_out': '출력 크기 조정',
|
|
869
|
+
'ws.output': '출력',
|
|
870
|
+
'js.ws.copied': '{what} 복사됨.',
|
|
871
|
+
'js.ws.no_copy': '여기서는 복사할 수 없습니다.',
|
|
872
|
+
'js.ws.the_statement': '문장',
|
|
873
|
+
'js.ws.rows': '{n}행',
|
|
874
|
+
'js.ws.untitled': '제목 없음 {n}',
|
|
875
|
+
'js.ws.script': '스크립트 “{name}”',
|
|
876
|
+
'js.ws.unsaved': '(저장되지 않은 변경 사항)',
|
|
877
|
+
'js.ws.not_saved': '스크립트로 저장되지 않음',
|
|
878
|
+
'js.ws.close_tab': '{name} 닫기',
|
|
879
|
+
'js.ws.new_tab': '새 워크시트',
|
|
880
|
+
'js.ws.close_unsaved': '“{name}”을(를) 저장하지 않고 닫으시겠습니까?',
|
|
881
|
+
'js.ws.txn_unknown': '트랜잭션 상태 알 수 없음',
|
|
882
|
+
'js.ws.txn_not_ended': '트랜잭션을 종료할 수 없습니다. 페이지를 다시 로드하세요.',
|
|
883
|
+
'js.ws.txn_confirm': '자동 커밋으로 전환하면 열린 트랜잭션이 롤백됩니다. 롤백하시겠습니까?',
|
|
884
|
+
'js.ws.formatted': '서식을 지정했습니다.',
|
|
885
|
+
'js.ws.format_failed': '서식 지정에 실패했습니다.',
|
|
886
|
+
'js.ws.bad_pattern': '올바른 패턴이 아닙니다: {error}',
|
|
887
|
+
'js.ws.not_found': '찾을 수 없습니다.',
|
|
888
|
+
'js.ws.open_ob': '객체 브라우저에서 열기',
|
|
889
|
+
'js.ws.close': '닫기',
|
|
890
|
+
'js.ws.open_failed': '객체를 열 수 없습니다.',
|
|
891
|
+
'js.ws.replaced': '{n}개 바꿈.',
|
|
892
|
+
// ------------------------------------------------------------ SQL Worksheet, the browser's transaction texts (sprint 123)
|
|
893
|
+
'js.ws.close_txn': '“{name}”에 열린 트랜잭션이 있습니다. 닫고 트랜잭션을 롤백하시겠습니까?',
|
|
894
|
+
'js.ws.commit_txn': '커밋 또는 롤백할 때까지 문장이 하나의 트랜잭션에 남습니다. {idle} 동안 실행이 없으면 롤백됩니다.',
|
|
895
|
+
'js.ws.commit_auto': '각 문장이 개별적으로 커밋됩니다.',
|
|
896
|
+
'js.ws.idle_seconds': '{n}초',
|
|
897
|
+
'js.ws.idle_minute': '{n}분',
|
|
898
|
+
'js.ws.idle_minutes': '{n}분',
|
|
899
|
+
'js.ws.txn_none': '열린 트랜잭션 없음',
|
|
900
|
+
'js.ws.txn_failed': '트랜잭션 실패',
|
|
901
|
+
'js.ws.txn_open': '트랜잭션 열림',
|
|
902
|
+
'js.ws.stmt_one': '문장 {n}개',
|
|
903
|
+
'js.ws.stmt': '문장 {n}개',
|
|
904
|
+
'js.ws.under_minute': '1분 미만',
|
|
905
|
+
'js.ws.min': '{n}분',
|
|
906
|
+
// ------------------------------------------------------------ Object Browser (sprint 123)
|
|
907
|
+
'ob.title': '객체 브라우저',
|
|
908
|
+
'ob.tab.columns': '열',
|
|
909
|
+
'ob.tab.data': '데이터',
|
|
910
|
+
'ob.tab.indexes': '인덱스',
|
|
911
|
+
'ob.tab.constraints': '제약 조건',
|
|
912
|
+
'ob.tab.triggers': '트리거',
|
|
913
|
+
'ob.tab.grants': '권한 부여',
|
|
914
|
+
'ob.tab.rls': '행 수준 보안',
|
|
915
|
+
'ob.tab.dependencies': '종속성',
|
|
916
|
+
'ob.tab.statistics': '통계',
|
|
917
|
+
'ob.tab.ddl': 'DDL',
|
|
918
|
+
'ob.filter_label': '객체 필터',
|
|
919
|
+
'ob.filter': '필터',
|
|
920
|
+
'ob.extension': '확장',
|
|
921
|
+
'ob.no_schema': '사용할 수 있는 스키마가 없습니다.',
|
|
922
|
+
'ob.create_in': '{schema}에 데이터베이스 객체 생성',
|
|
923
|
+
'ob.tile.table_form': '테이블(폼)',
|
|
924
|
+
'ob.tile.table_form.desc': '폼으로 열, 키, 인덱스 및 보안 지정',
|
|
925
|
+
'ob.kind.table': '테이블',
|
|
926
|
+
'ob.kind.view': '뷰',
|
|
927
|
+
'ob.kind.function': '함수',
|
|
928
|
+
'ob.kind.sequence': '시퀀스',
|
|
929
|
+
'ob.kind.index': '인덱스',
|
|
930
|
+
'ob.tile.start': 'CREATE {what} 문 시작',
|
|
931
|
+
'ob.tile.quick': 'Quick SQL',
|
|
932
|
+
'ob.tile.quick.desc': '약식으로 작성하는 데이터 모델',
|
|
933
|
+
'ob.tile.load': '데이터 로드',
|
|
934
|
+
'ob.tile.load.desc': '파일에서 만드는 테이블',
|
|
935
|
+
'ob.select_hint': '트리에서 객체를 선택하거나 이름으로 필터링하세요.',
|
|
936
|
+
'ob.schema': '스키마',
|
|
937
|
+
'ob.system': '시스템 객체 표시',
|
|
938
|
+
'ob.create': '생성',
|
|
939
|
+
'ob.db_objects': '데이터베이스 객체',
|
|
940
|
+
'ob.err.table': '사용할 수 있는 테이블을 선택하세요.',
|
|
941
|
+
'ob.err.col_name': '열 이름은 문자 또는 _로 시작하고 그 뒤에 문자, 숫자, _ 또는 $가 옵니다.',
|
|
942
|
+
'ob.err.col_exists': '{column} 열이 이미 있습니다.',
|
|
943
|
+
'ob.err.type': '유형은 선택적 크기가 붙은 이름입니다. 예: text, numeric(9,2), varchar(40), int[].',
|
|
944
|
+
'ob.err.choose_col': '테이블의 열을 선택하세요.',
|
|
945
|
+
'ob.err.new_name': '새 이름은 테이블에 아직 없는 올바른 이름이어야 합니다.',
|
|
946
|
+
'ob.err.default': '기본값은 하나의 표현식입니다(최대 200자, ; 또는 주석 없이). 예: now(), 0 또는 \'new\'.',
|
|
947
|
+
'ob.err.nothing': '변경할 내용이 없습니다. 새 유형, NULL 허용 여부 또는 기본값을 선택하세요.',
|
|
948
|
+
'ob.err.action': '알 수 없는 작업입니다.',
|
|
949
|
+
'ob.review': '문장을 검토하고 실행을 누르세요. 아직 아무것도 변경되지 않았습니다.',
|
|
950
|
+
'ob.none': '없음.',
|
|
951
|
+
'ob.ddl_of': '{name}의 DDL',
|
|
952
|
+
'ob.no_ddl': 'DDL 없음(확장의 객체이거나 이 연결로 읽을 수 없음).',
|
|
953
|
+
'ob.source_of': '{name}의 소스',
|
|
954
|
+
'ob.no_source': '집계 함수 또는 윈도우 함수: 소스 없음.',
|
|
955
|
+
'ob.definition_of': '{name}의 정의',
|
|
956
|
+
'ob.size': '크기: {size}',
|
|
957
|
+
'ob.more': '더 보기',
|
|
958
|
+
'ob.column': '열',
|
|
959
|
+
'ob.add_col': '열 추가',
|
|
960
|
+
'ob.name': '이름',
|
|
961
|
+
'ob.type': '유형',
|
|
962
|
+
'ob.show_sql': 'SQL 표시',
|
|
963
|
+
'ob.modify_col': '열 수정',
|
|
964
|
+
'ob.new_type': '새 유형',
|
|
965
|
+
'ob.the_same': '동일',
|
|
966
|
+
'ob.nulls': 'NULL',
|
|
967
|
+
'ob.allowed': '허용',
|
|
968
|
+
'ob.default': '기본값',
|
|
969
|
+
'ob.set_to': '설정값',
|
|
970
|
+
'ob.default_none': '없음',
|
|
971
|
+
'ob.default_expr': '기본 표현식',
|
|
972
|
+
'ob.rename_col': '열 이름 바꾸기',
|
|
973
|
+
'ob.new_name': '새 이름',
|
|
974
|
+
'ob.new_name_ph': '새 이름',
|
|
975
|
+
'ob.drop_col': '열 삭제',
|
|
976
|
+
'ob.toolbar_note': '각 작업은 ALTER TABLE 문을 SQL 워크시트에 작성합니다. 그곳에서 검토한 후 실행하세요.',
|
|
977
|
+
'ob.no_rows': '행 없음.',
|
|
978
|
+
'ob.pages': '페이지',
|
|
979
|
+
'ob.previous': '‹ 이전',
|
|
980
|
+
'ob.next': '다음 ›',
|
|
981
|
+
'ob.rows_range': '{from}–{to}행',
|
|
982
|
+
'ob.change_rows': '행을 변경하려면 SQL 워크시트나 애플리케이션에서 테이블에 대한 대화형 그리드를 사용하세요.',
|
|
983
|
+
'ob.rls_on': '행 수준 보안이 켜져 있습니다',
|
|
984
|
+
'ob.rls_forced': '(소유자에게도 강제 적용)',
|
|
985
|
+
'ob.rls_off': '행 수준 보안이 꺼져 있습니다.',
|
|
986
|
+
'ob.no_policies': '정책 없음.',
|
|
987
|
+
'ob.used_by': '사용하는 객체',
|
|
988
|
+
'ob.nothing_refers': '이 객체를 참조하는 것이 없습니다.',
|
|
989
|
+
'ob.uses': '사용하는 대상',
|
|
990
|
+
'ob.refers_nothing': '다른 것을 참조하지 않습니다.',
|
|
991
|
+
'ob.edit_table': '테이블 편집',
|
|
992
|
+
'ob.security': '보안',
|
|
993
|
+
// ------------------------------------------------------------ Table Properties (sprint 123)
|
|
994
|
+
'te.move_up': '위로 이동',
|
|
995
|
+
'te.move_down': '아래로 이동',
|
|
996
|
+
'te.name': '이름',
|
|
997
|
+
'te.type': '유형',
|
|
998
|
+
'te.key': '키',
|
|
999
|
+
'te.pk': '기본 키',
|
|
1000
|
+
'te.not_null': 'NOT NULL',
|
|
1001
|
+
'te.generated': '생성됨(저장)',
|
|
1002
|
+
'te.default': '기본값',
|
|
1003
|
+
'te.identity': 'ID 열',
|
|
1004
|
+
'te.comment': '주석',
|
|
1005
|
+
'te.remove': '제거',
|
|
1006
|
+
'te.columns': '열',
|
|
1007
|
+
'te.add_col': '열 추가',
|
|
1008
|
+
'te.pk_name': '기본 키 이름',
|
|
1009
|
+
'te.pk_help': '기본 키에 속하는 열에서 키를 체크하세요.',
|
|
1010
|
+
'te.uniques': '고유 키',
|
|
1011
|
+
'te.cols_comma': '열(쉼표로 구분)',
|
|
1012
|
+
'te.fks': '외래 키',
|
|
1013
|
+
'te.references': '참조 대상',
|
|
1014
|
+
'te.their_cols': '참조 열',
|
|
1015
|
+
'te.its_pk': '해당 기본 키',
|
|
1016
|
+
'te.on_delete': '삭제 시',
|
|
1017
|
+
'te.checks': '검사 제약 조건',
|
|
1018
|
+
'te.condition': '조건',
|
|
1019
|
+
'te.indexes': '인덱스',
|
|
1020
|
+
'te.cols_exprs': '열 또는 표현식',
|
|
1021
|
+
'te.unique': '고유',
|
|
1022
|
+
'te.kept': '그대로 유지됨(다른 방식 또는 조건):',
|
|
1023
|
+
'te.more': '주석 및 보안',
|
|
1024
|
+
'te.rls': '행 수준 보안: 정책을 통해서만 행 접근',
|
|
1025
|
+
'te.force_rls': '테이블 소유자에게도 강제 적용',
|
|
1026
|
+
'te.partitioning': '파티셔닝',
|
|
1027
|
+
'te.partition_by': '파티션 기준',
|
|
1028
|
+
'te.not_partitioned': '파티션 없음',
|
|
1029
|
+
'te.part_help': '파티션 자체는 워크시트에서 CREATE TABLE … PARTITION OF로 만드는 테이블입니다.',
|
|
1030
|
+
'te.no_changes': '아직 변경 사항이 없습니다. 테이블은 폼에 표시된 그대로입니다.',
|
|
1031
|
+
'te.fill_in': '테이블을 입력하고 DDL 미리보기를 누르세요.',
|
|
1032
|
+
'te.output': '출력',
|
|
1033
|
+
'te.output_empty': '적용하면 그 결과가 여기에 표시됩니다.',
|
|
1034
|
+
'te.schema': '스키마',
|
|
1035
|
+
'te.table_name': '테이블 이름',
|
|
1036
|
+
'te.props': '테이블 속성',
|
|
1037
|
+
'te.preview': 'DDL 미리보기',
|
|
1038
|
+
'te.apply': '적용',
|
|
1039
|
+
'te.open_ws': '워크시트에서 열기',
|
|
1040
|
+
'te.review': '문장을 검토하고 실행하세요. 아직 아무것도 변경되지 않았습니다.',
|
|
1041
|
+
'te.changed': '{table} 변경: {what}.',
|
|
1042
|
+
'te.created': '{table} 생성: {what}.',
|
|
1043
|
+
'te.nothing_changed': '아무것도 변경되지 않았습니다',
|
|
1044
|
+
'te.rolled_back': '문장이 하나의 트랜잭션에서 실행되었고, 그 트랜잭션은 롤백되었습니다.',
|
|
1045
|
+
'te.failed_stmt': '실패한 문장',
|
|
1046
|
+
'te.title_table': '테이블 {table}',
|
|
1047
|
+
'te.title_create': '테이블 생성',
|
|
1048
|
+
// ------------------------------------------------------------ Shared Components (sprint 124)
|
|
1049
|
+
'comp.nav_entry': '탐색 항목',
|
|
1050
|
+
'comp.nav_entry.plural': '탐색 메뉴',
|
|
1051
|
+
'comp.authz_scheme': '권한 부여 체계',
|
|
1052
|
+
'comp.authz_scheme.plural': '권한 부여 체계',
|
|
1053
|
+
'comp.build_option': '빌드 옵션',
|
|
1054
|
+
'comp.build_option.plural': '빌드 옵션',
|
|
1055
|
+
'comp.page_group': '페이지 그룹',
|
|
1056
|
+
'comp.page_group.plural': '페이지 그룹',
|
|
1057
|
+
'comp.lov': '값 목록',
|
|
1058
|
+
'comp.lov.plural': '값 목록',
|
|
1059
|
+
'comp.app_item': '애플리케이션 항목',
|
|
1060
|
+
'comp.app_item.plural': '애플리케이션 항목',
|
|
1061
|
+
'comp.app_process': '애플리케이션 프로세스',
|
|
1062
|
+
'comp.app_process.plural': '애플리케이션 프로세스',
|
|
1063
|
+
'comp.app_computation': '애플리케이션 계산',
|
|
1064
|
+
'comp.app_computation.plural': '애플리케이션 계산',
|
|
1065
|
+
'comp.shortcut': '바로 가기',
|
|
1066
|
+
'comp.shortcut.plural': '바로 가기',
|
|
1067
|
+
'comp.report_query': '보고서 쿼리',
|
|
1068
|
+
'comp.report_query.plural': '보고서 쿼리',
|
|
1069
|
+
'comp.component_group': '구성요소 그룹',
|
|
1070
|
+
'comp.component_group.plural': '구성요소 그룹',
|
|
1071
|
+
'comp.automation': '자동화',
|
|
1072
|
+
'comp.automation.plural': '자동화',
|
|
1073
|
+
'comp.automation_action': '자동화 작업',
|
|
1074
|
+
'comp.automation_action.plural': '자동화 작업',
|
|
1075
|
+
'comp.report_layout': '보고서 레이아웃',
|
|
1076
|
+
'comp.report_layout.plural': '보고서 레이아웃',
|
|
1077
|
+
'comp.document_template': '문서 템플리트',
|
|
1078
|
+
'comp.document_template.plural': '문서 템플리트',
|
|
1079
|
+
'comp.task_definition': '태스크 정의',
|
|
1080
|
+
'comp.task_definition.plural': '태스크 정의',
|
|
1081
|
+
'comp.workflow_definition': '워크플로',
|
|
1082
|
+
'comp.workflow_definition.plural': '워크플로',
|
|
1083
|
+
'comp.rest_module': 'REST 모듈',
|
|
1084
|
+
'comp.rest_module.plural': 'REST 모듈',
|
|
1085
|
+
'comp.template_component': '템플리트 구성요소',
|
|
1086
|
+
'comp.template_component.plural': '템플리트 구성요소',
|
|
1087
|
+
'comp.web_credential': '웹 자격 증명',
|
|
1088
|
+
'comp.web_credential.plural': '웹 자격 증명',
|
|
1089
|
+
'comp.rest_source': 'REST 데이터 소스',
|
|
1090
|
+
'comp.rest_source.plural': 'REST 데이터 소스',
|
|
1091
|
+
'comp.data_load_def': '데이터 로드 정의',
|
|
1092
|
+
'comp.data_load_def.plural': '데이터 로드 정의',
|
|
1093
|
+
'comp.list': '목록',
|
|
1094
|
+
'comp.list.plural': '목록',
|
|
1095
|
+
'comp.list_entry': '목록 항목',
|
|
1096
|
+
'comp.list_entry.plural': '목록 항목',
|
|
1097
|
+
'comp.supporting_script': '지원 스크립트',
|
|
1098
|
+
'comp.supporting_script.plural': '지원 객체',
|
|
1099
|
+
'comp.search_config': '검색 구성',
|
|
1100
|
+
'comp.search_config.plural': '검색 구성',
|
|
1101
|
+
'comp.email_template': '이메일 템플리트',
|
|
1102
|
+
'comp.email_template.plural': '이메일 템플리트',
|
|
1103
|
+
'comp.app_setting': '애플리케이션 설정',
|
|
1104
|
+
'comp.app_setting.plural': '애플리케이션 설정',
|
|
1105
|
+
'comp.dynamic_translation': '동적 번역',
|
|
1106
|
+
'comp.dynamic_translation.plural': '동적 번역',
|
|
1107
|
+
'sc.group.logic': '애플리케이션 로직',
|
|
1108
|
+
'sc.group.security': '보안',
|
|
1109
|
+
'sc.group.other': '기타 구성요소',
|
|
1110
|
+
'sc.group.navigation': '탐색 및 검색',
|
|
1111
|
+
'sc.group.ui': '사용자 인터페이스',
|
|
1112
|
+
'sc.group.files': '파일 및 보고서',
|
|
1113
|
+
'sc.group.data': '데이터 소스',
|
|
1114
|
+
'sc.group.workflows': '워크플로 및 자동화',
|
|
1115
|
+
'sc.group.globalization': '전역화',
|
|
1116
|
+
'sc.group.ai': '생성형 AI',
|
|
1117
|
+
'sc.item.application_items': '애플리케이션 항목',
|
|
1118
|
+
'sc.item.application_processes': '애플리케이션 프로세스',
|
|
1119
|
+
'sc.item.application_computations': '애플리케이션 계산',
|
|
1120
|
+
'sc.item.application_settings': '애플리케이션 설정',
|
|
1121
|
+
'sc.item.build_options': '빌드 옵션',
|
|
1122
|
+
'sc.item.application_definition': '애플리케이션 정의',
|
|
1123
|
+
'sc.item.access_control': '액세스 제어',
|
|
1124
|
+
'sc.item.authentication': '인증',
|
|
1125
|
+
'sc.item.authorization_schemes': '권한 부여 체계',
|
|
1126
|
+
'sc.item.security_attributes': '보안 속성',
|
|
1127
|
+
'sc.item.sign_in_and_session_management': '로그인 및 세션 관리',
|
|
1128
|
+
'sc.item.lists_of_values': '값 목록',
|
|
1129
|
+
'sc.item.lists': '목록',
|
|
1130
|
+
'sc.item.list_entries': '목록 항목',
|
|
1131
|
+
'sc.item.email_templates': '이메일 템플리트',
|
|
1132
|
+
'sc.item.shortcuts': '바로 가기',
|
|
1133
|
+
'sc.item.component_groups': '구성요소 그룹',
|
|
1134
|
+
'sc.item.supporting_objects': '지원 객체',
|
|
1135
|
+
'sc.item.subscriptions': '구독',
|
|
1136
|
+
'sc.item.navigation_menu': '탐색 메뉴',
|
|
1137
|
+
'sc.item.navigation_bar_list': '탐색 모음 목록',
|
|
1138
|
+
'sc.item.breadcrumbs': '이동 경로',
|
|
1139
|
+
'sc.item.page_groups': '페이지 그룹',
|
|
1140
|
+
'sc.item.search_configurations': '검색 구성',
|
|
1141
|
+
'sc.item.themes_and_theme_roller': '테마 및 Theme Roller',
|
|
1142
|
+
'sc.item.user_interface_attributes': '사용자 인터페이스 속성',
|
|
1143
|
+
'sc.item.template_components': '템플리트 구성요소',
|
|
1144
|
+
'sc.item.plug_ins': '플러그인',
|
|
1145
|
+
'sc.item.component_settings': '구성요소 설정',
|
|
1146
|
+
'sc.item.progressive_web_app': '프로그레시브 웹 앱',
|
|
1147
|
+
'sc.item.static_application_files': '정적 애플리케이션 파일',
|
|
1148
|
+
'sc.item.report_layouts': '보고서 레이아웃',
|
|
1149
|
+
'sc.item.report_queries': '보고서 쿼리',
|
|
1150
|
+
'sc.item.document_templates': '문서 템플리트',
|
|
1151
|
+
'sc.item.rest_data_sources': 'REST 데이터 소스',
|
|
1152
|
+
'sc.item.web_credentials': '웹 자격 증명',
|
|
1153
|
+
'sc.item.restful_services': 'RESTful 서비스',
|
|
1154
|
+
'sc.item.data_load_definitions': '데이터 로드 정의',
|
|
1155
|
+
'sc.item.workflows': '워크플로',
|
|
1156
|
+
'sc.item.task_definitions': '태스크 정의',
|
|
1157
|
+
'sc.item.automations': '자동화',
|
|
1158
|
+
'sc.item.translations_and_text_messages': '번역 및 텍스트 메시지',
|
|
1159
|
+
'sc.item.dynamic_translations': '동적 번역',
|
|
1160
|
+
'sc.item.globalization_attributes': '전역화 속성',
|
|
1161
|
+
'sc.item.ai_services': 'AI 서비스',
|
|
1162
|
+
'sc.item.ai_agents': 'AI 에이전트',
|
|
1163
|
+
'sc.entries': '항목',
|
|
1164
|
+
'sc.list_sql': '이 목록은 쿼리의 행을 표시합니다. 아래 항목은 사용되지 않습니다.',
|
|
1165
|
+
'sc.no_entries': '아직 항목이 없습니다.',
|
|
1166
|
+
'sc.add_entry': '+ 항목 추가',
|
|
1167
|
+
'sc.breadcrumbs_help': '페이지의 이동 경로에는 그 위의 페이지가 나열됩니다. 각 페이지는 이동 경로 상위 항목을 지정합니다(페이지 디자이너 → 페이지 → 이동 경로 상위 항목). 상위 항목이 없는 페이지는 홈을 표시합니다.',
|
|
1168
|
+
'sc.cs_help': '애플리케이션의 기본 제공 구성요소 유형에 대한 기본값으로, 구성요소 자체에 설정이 없을 때 사용됩니다. 비어 있으면 pgkiln의 기본값입니다.',
|
|
1169
|
+
'sc.cs_now': '{help} {min}–{max}. 현재 {now}.',
|
|
1170
|
+
'sc.cs_saved': '구성요소 설정을 저장했습니다.',
|
|
1171
|
+
'sc.intro': '{app}의 페이지가 공유하는 구성요소입니다.',
|
|
1172
|
+
'sc.tree_view': '트리 보기',
|
|
1173
|
+
'sc.create': '생성',
|
|
1174
|
+
'sc.search': '검색',
|
|
1175
|
+
'sc.name': '이름',
|
|
1176
|
+
'sc.details': '세부 정보',
|
|
1177
|
+
'sc.nothing_matches': '일치하는 항목이 없습니다.',
|
|
1178
|
+
'sc.none_yet': '아직 {what}이(가) 없습니다.',
|
|
1179
|
+
'sc.count': '{total}개 중 {n}개',
|
|
1180
|
+
'sc.new': '새 {what}',
|
|
1181
|
+
'sc.save': '저장',
|
|
1182
|
+
'sc.run_supporting': '지원 객체 실행…',
|
|
1183
|
+
'sc.delete_confirm': '이 {what}을(를) 삭제하시겠습니까?',
|
|
1184
|
+
'sc.delete': '삭제',
|
|
1185
|
+
'sc.not_found': '찾을 수 없습니다.',
|
|
1186
|
+
'sc.groups_title': 'ID 제공자 그룹 → 역할',
|
|
1187
|
+
'sc.groups_help': 'Single Sign-On을 사용하면 이 그룹의 구성원은 이 앱에서 해당 역할을 받으며, 위에 나열되지 않았더라도 로그인할 수 있습니다.',
|
|
1188
|
+
'sc.remove_mapping': '{group}에서 {role}(으)로의 매핑 제거',
|
|
1189
|
+
'sc.no_groups': '그룹 매핑이 없습니다.',
|
|
1190
|
+
'sc.group_label': '그룹(토큰에 있는 그대로)',
|
|
1191
|
+
'sc.group_ph': '예: hr-managers',
|
|
1192
|
+
'sc.role_label': '이 앱의 역할',
|
|
1193
|
+
'sc.role_ph': '예: manager',
|
|
1194
|
+
'sc.add_mapping': '매핑 추가',
|
|
1195
|
+
'sc.access': '액세스 제어',
|
|
1196
|
+
'sc.who': '로그인할 수 있는 사용자',
|
|
1197
|
+
'sc.who.assigned': '아래에 나열된 계정만(역할 기반 액세스)',
|
|
1198
|
+
'sc.who.any': '디렉터리의 모든 활성 계정',
|
|
1199
|
+
'sc.access_help': '계정은 {directory}에 있습니다. 여기에서는 계정에 {app} 액세스 권한을 부여하고 역할을 할당하며, 권한 부여 체계와 {fn}이(가) 이 역할을 확인합니다. 역할 변경은 사용자의 다음 로그인 시 적용됩니다(이 앱의 세션이 종료됨).',
|
|
1200
|
+
'sc.directory': '사용자 디렉터리',
|
|
1201
|
+
'sc.account': '계정',
|
|
1202
|
+
'sc.roles_in_app': '이 앱의 역할',
|
|
1203
|
+
'sc.last_signin': '마지막 로그인',
|
|
1204
|
+
'sc.roles': '역할',
|
|
1205
|
+
'sc.inactive': '(비활성)',
|
|
1206
|
+
'sc.roles_of': '{user}의 역할',
|
|
1207
|
+
'sc.no_roles': '역할 없음',
|
|
1208
|
+
'sc.revoke_confirm': '{user}의 {app} 액세스 권한을 취소하시겠습니까?',
|
|
1209
|
+
'sc.revoke': '취소',
|
|
1210
|
+
'sc.no_access': '아직 액세스 권한이 있는 계정이 없습니다.',
|
|
1211
|
+
'sc.grant': '액세스 권한 부여',
|
|
1212
|
+
'sc.username_ph': '사용자 이름',
|
|
1213
|
+
'sc.existing': '기존 계정입니다.',
|
|
1214
|
+
'sc.create_in_users': '계정은 사용자에서 생성하세요.',
|
|
1215
|
+
'sc.roles_ph': '쉼표로 구분하거나 아래에서 선택',
|
|
1216
|
+
'sc.tree.security': '보안',
|
|
1217
|
+
'sc.tree.globalization': '전역화',
|
|
1218
|
+
'sc.tree.translations': '번역 및 텍스트 메시지',
|
|
1219
|
+
'sc.tree.files': '파일 및 플러그인',
|
|
1220
|
+
'sc.tree.static': '정적 애플리케이션 파일',
|
|
1221
|
+
'sc.tree.subscriptions': '구독',
|
|
1222
|
+
'sc.tree.subscribers': '구독 및 구독자',
|
|
1223
|
+
'sc.add_kind': '{what} 추가',
|
|
1224
|
+
'sc.add': '+ 추가',
|
|
1225
|
+
'sc.review_run': '검토 및 실행…',
|
|
1226
|
+
'sc.edit': '편집',
|
|
1227
|
+
'sc.saved': '{what}을(를) 저장했습니다.',
|
|
1228
|
+
'sc.deleted': '{what}을(를) 삭제했습니다.',
|
|
1229
|
+
'sc.access_saved': '액세스 제어를 저장했습니다.',
|
|
1230
|
+
'sc.no_account': '"{user}" 계정이 없습니다. 먼저 사용자에서 생성하세요.',
|
|
1231
|
+
'sc.granted': '{user}에게 액세스 권한을 부여했습니다.',
|
|
1232
|
+
'sc.mapping_added': '그룹 매핑을 추가했습니다. 다음 로그인 시 적용됩니다.',
|
|
1233
|
+
'sc.mapping_removed': '그룹 매핑을 제거했습니다. 다음 로그인 시 적용됩니다.',
|
|
1234
|
+
'sc.roles_saved': '역할을 저장했습니다. 다음 로그인 시 적용됩니다.',
|
|
1235
|
+
'sc.revoked': '액세스 권한을 취소했습니다.',
|
|
1236
|
+
// ------------------------------------------------------------ Application settings (sprint 124)
|
|
1237
|
+
'st.tab.definition': '정의',
|
|
1238
|
+
'st.tab.security': '보안',
|
|
1239
|
+
'st.tab.signin': '로그인',
|
|
1240
|
+
'st.tab.ui': '사용자 인터페이스',
|
|
1241
|
+
'st.tab.globalization': '전역화',
|
|
1242
|
+
'st.tab.errors': '오류 및 세션',
|
|
1243
|
+
'st.tab.pwa': '프로그레시브 웹 앱',
|
|
1244
|
+
'st.settings': '설정',
|
|
1245
|
+
'st.name': '이름',
|
|
1246
|
+
'st.alias': '별칭',
|
|
1247
|
+
'st.version': '버전',
|
|
1248
|
+
'st.version_ph': '릴리스 1.0',
|
|
1249
|
+
'st.version_help': '애플리케이션 페이지의 바닥글에 표시됩니다. 비어 있으면 표시하지 않습니다.',
|
|
1250
|
+
'st.home_page': '홈 페이지',
|
|
1251
|
+
'st.app_type': '애플리케이션 유형',
|
|
1252
|
+
'st.app_type_help': '테마 및 라이브러리 애플리케이션은 자신의 테마나 공유 구성요소를 다른 애플리케이션에 제공합니다(공유 구성요소 → 구독). 애플리케이션 생성은 상용구 애플리케이션에서 시작할 수 있습니다.',
|
|
1253
|
+
'st.type.standard': '표준',
|
|
1254
|
+
'st.type.theme': '테마 애플리케이션',
|
|
1255
|
+
'st.type.library': '라이브러리 애플리케이션',
|
|
1256
|
+
'st.type.boilerplate': '상용구 애플리케이션',
|
|
1257
|
+
'st.authentication': '인증',
|
|
1258
|
+
'st.auth.app_users': '앱 사용자(로그인 페이지)',
|
|
1259
|
+
'st.auth.header': 'HTTP 헤더(역방향 프록시)',
|
|
1260
|
+
'st.auth.database': '데이터베이스 계정(PostgreSQL 역할)',
|
|
1261
|
+
'st.auth.custom': '사용자 정의(PL/pgSQL 함수)',
|
|
1262
|
+
'st.auth.none': '없음(공용)',
|
|
1263
|
+
'st.db_role': '데이터베이스 역할(구문 분석 스키마)',
|
|
1264
|
+
'st.db_role_help': '모든 애플리케이션 SQL이 이 역할로 실행되므로(SET LOCAL ROLE) 권한 부여와 행 수준 보안이 적용됩니다. 신뢰할 수 있는 내부 앱에서만 비워 두세요.',
|
|
1265
|
+
'st.debug': '디버그 모드',
|
|
1266
|
+
'st.debug_help': '최종 사용자에게 데이터베이스 오류 세부 정보를 표시합니다. 개발용으로만 사용하세요.',
|
|
1267
|
+
'st.debug_msgs': '디버그 메시지',
|
|
1268
|
+
'st.debug_on': '켜짐, 레벨 {level}',
|
|
1269
|
+
'st.off': '꺼짐',
|
|
1270
|
+
'st.debug_msgs_help': '모든 요청의 단계를 소요 시간 및 {fn}의 메시지와 함께 기록하며, {days}일 동안 보관합니다.',
|
|
1271
|
+
'st.header_title': 'HTTP 헤더 인증',
|
|
1272
|
+
'st.header_intro': '인증이 "HTTP 헤더"일 때만 사용됩니다. 역방향 프록시나 Single Sign-On 게이트웨이가 사용자를 로그인시키고 헤더로 사용자 이름을 전달합니다. pgkiln은 {env}에 지정된 프록시 주소에서 온 경우에만 이를 신뢰합니다',
|
|
1273
|
+
'st.header_unset': '이 서버에 설정되지 않음: 헤더 로그인이 거부됩니다',
|
|
1274
|
+
'st.header_name': '사용자 이름 헤더',
|
|
1275
|
+
'st.header_name_help': '사용자 이름이 담긴 요청 헤더(APEX: HTTP Header Variable). 비어 있으면 X-Remote-User입니다. 헤더가 바뀌거나 없으면 세션이 종료됩니다.',
|
|
1276
|
+
'st.logout_url': '로그아웃 URL',
|
|
1277
|
+
'st.logout_url_ph': '예: https://sso.example.com/logout',
|
|
1278
|
+
'st.logout_url_help': '세션이 끝난 후 "로그아웃"이 이동하는 곳으로, 보통 프록시 자체의 로그아웃 페이지입니다. 비어 있으면 "로그아웃됨" 페이지입니다.',
|
|
1279
|
+
'st.header_auto': '계정 자동 생성',
|
|
1280
|
+
'st.header_auto_help': '알 수 없는 사용자 이름에는 이 앱에 대한 액세스 권한이 있는 새 계정이 생성됩니다. 그렇지 않으면 계정이 존재하고 액세스 권한이 있어야 합니다.',
|
|
1281
|
+
'st.db_title': '데이터베이스 계정',
|
|
1282
|
+
'st.db_intro': '인증이 "데이터베이스 계정"일 때만 사용됩니다. 사용자는 PostgreSQL 로그인 역할과 그 비밀번호로 로그인하며, 해당 역할로 이 데이터베이스에 잠시 연결하여 확인합니다. 슈퍼유저와 pgkiln 자체 역할은 항상 거부되며, 두 필드가 모두 비어 있으면 아무도 로그인할 수 없습니다.',
|
|
1283
|
+
'st.db_roles': '허용된 역할',
|
|
1284
|
+
'st.db_roles_ph': '예: alice, bob',
|
|
1285
|
+
'st.db_roles_help': '로그인할 수 있는 로그인 역할, 쉼표로 구분(정확한 이름).',
|
|
1286
|
+
'st.db_member': '또는 다음 역할의 구성원',
|
|
1287
|
+
'st.db_member_ph': '예: app_users_group',
|
|
1288
|
+
'st.db_member_help': '이 역할의 모든 구성원도 로그인할 수 있습니다.',
|
|
1289
|
+
'st.custom_title': '사용자 정의 인증',
|
|
1290
|
+
'st.custom_intro': '인증이 "사용자 정의"일 때만 사용됩니다. 직접 작성한 PL/pgSQL이 애플리케이션의 데이터베이스 역할로 로그인 폼의 사용자 이름과 비밀번호를 확인합니다. 비밀번호는 매개변수로 전달되며 기록되지 않습니다. 실패한 시도는 다른 로그인과 마찬가지로 제한됩니다. 두 필드가 모두 비어 있으면 아무도 로그인할 수 없습니다.',
|
|
1291
|
+
'st.custom_fn': '함수 이름',
|
|
1292
|
+
'st.custom_fn_ph': '예: app.check_login',
|
|
1293
|
+
'st.custom_fn_help': 'boolean을 반환하는 함수(p_username text, p_password text)로, 소문자이며 선택적으로 스키마를 붙입니다. 앱의 역할에 EXECUTE 권한이 필요합니다. 아래 본문보다 우선합니다.',
|
|
1294
|
+
'st.custom_body': '또는 함수 본문',
|
|
1295
|
+
'st.custom_body_help': 'p_username과 p_password를 사용하고 올바른 로그인이면 true를 반환하는 PL/pgSQL. 예: {example}',
|
|
1296
|
+
'st.custom_post': '인증 후 코드',
|
|
1297
|
+
'st.custom_post_help': '확인에 성공한 후 p_username(및 meta.app_user())과 함께 실행되는 선택적 PL/pgSQL로, 예를 들어 마지막 로그인을 기록합니다. 예외를 발생시키면 로그인이 거부됩니다. "로그인 후" 애플리케이션 프로세스는 평소처럼 그 다음에 실행됩니다.',
|
|
1298
|
+
'st.signin': '로그인',
|
|
1299
|
+
'st.methods': '로그인 방법',
|
|
1300
|
+
'st.signin_page': '로그인 페이지',
|
|
1301
|
+
'st.staying': '로그인 상태 유지',
|
|
1302
|
+
'st.two_factor': '2단계 로그인',
|
|
1303
|
+
'st.local': '사용자 이름 및 비밀번호',
|
|
1304
|
+
'st.ldap': 'LDAP 비밀번호: {name}',
|
|
1305
|
+
'st.disabled': '(사용 안 함)',
|
|
1306
|
+
'st.no_ldap': '구성된 LDAP 디렉터리가 없습니다. LDAP 또는 Active Directory로 비밀번호를 확인하려면 {add}.',
|
|
1307
|
+
'st.add_one': '추가하세요',
|
|
1308
|
+
'st.ldap_help': 'LDAP 비밀번호는 로컬 계정 다음에 사용자 이름 및 비밀번호 폼에서 확인되므로 그 방법을 켜 두세요.',
|
|
1309
|
+
'st.session_group': '세션 공유 그룹',
|
|
1310
|
+
'st.session_group_ph': '비어 있음: 공유 안 함',
|
|
1311
|
+
'st.session_group_help': '같은 그룹(및 인증으로 사용자 디렉터리)을 사용하는 애플리케이션은 로그인을 공유합니다. 하나에 로그인하면 나머지는 다시 로그인하지 않고 열리며, 각각 자체 액세스 확인과 역할을 가집니다. 하나에서 로그아웃하면 모두 로그아웃됩니다(APEX: 세션 공유). 소문자, 숫자 및 _.',
|
|
1312
|
+
'st.remember': '"로그인 상태 유지" 기간(일)',
|
|
1313
|
+
'st.remember_ph': '비어 있음: 제공 안 함',
|
|
1314
|
+
'st.remember_help': '로그인 폼에 체크박스를 제공합니다(APEX: 영구 인증). 브라우저는 로그인 후 이 일수 동안 세션이 끝나도 로그인 상태를 유지합니다. 로그아웃, 새 비밀번호, 비활성화 또는 액세스 제거 시 종료됩니다. 1~365.',
|
|
1315
|
+
'st.sso': '{name}(으)로 로그인',
|
|
1316
|
+
'st.no_sso': '구성된 ID 제공자가 없습니다. Single Sign-On을 사용하려면 {add}.',
|
|
1317
|
+
'st.theme': '테마',
|
|
1318
|
+
'st.base': '기본 스타일',
|
|
1319
|
+
'st.base.iris': 'Iris(새 애플리케이션의 기본값)',
|
|
1320
|
+
'st.base.lavender': 'Lavender(pgkiln 0.41까지의 Iris)',
|
|
1321
|
+
'st.base.standard': 'Standard(pgkiln 0.28까지)',
|
|
1322
|
+
'st.base_help': '전체 애플리케이션의 색상, 모서리, 글꼴 및 그림자(밝게 및 어둡게). 아래 색상은 강조 색상과 헤더를 재정의합니다.',
|
|
1323
|
+
'st.accent': '강조 색상',
|
|
1324
|
+
'st.header_colour': '헤더 색상',
|
|
1325
|
+
'st.accent_dark': '어두운 모드의 강조 색상',
|
|
1326
|
+
'st.header_dark': '어두운 모드의 헤더 색상',
|
|
1327
|
+
'st.own_colour': '이 색상 사용(그렇지 않으면 기본 스타일의 어두운 팔레트)',
|
|
1328
|
+
'st.nav': '탐색 메뉴',
|
|
1329
|
+
'st.nav.side': '측면(접을 수 있음)',
|
|
1330
|
+
'st.nav.top': '상단 표시줄',
|
|
1331
|
+
'st.nav_help': '태블릿과 휴대폰에서는 메뉴가 항상 서랍형입니다.',
|
|
1332
|
+
'st.nav_list': '탐색 메뉴 목록',
|
|
1333
|
+
'st.nav_entries': '- 탐색 항목 -',
|
|
1334
|
+
'st.nav_list_help': '탐색 항목 대신 탐색 메뉴로 표시되는 목록(공유 구성요소 → 목록).',
|
|
1335
|
+
'st.navbar_list': '탐색 모음 목록',
|
|
1336
|
+
'st.none_option': '- 없음 -',
|
|
1337
|
+
'st.navbar_help': '헤더의 사용자 메뉴 옆에 링크로 표시되는 목록.',
|
|
1338
|
+
'st.missing': '{name}(없음!)',
|
|
1339
|
+
'st.mode': '테마 스타일',
|
|
1340
|
+
'st.mode.auto': '자동(기기에 따라 밝게 또는 어둡게)',
|
|
1341
|
+
'st.mode.light': '밝게',
|
|
1342
|
+
'st.mode.dark': '어둡게',
|
|
1343
|
+
'st.user_choice': '사용자가 밝게 또는 어둡게를 선택할 수 있음',
|
|
1344
|
+
'st.user_choice_help': '사용자 메뉴와 내 계정에 스위치를 추가합니다. 선택 내용은 계정에 저장됩니다(APEX: "Enable End Users to Choose Theme Style").',
|
|
1345
|
+
'st.roller': 'Theme Roller: 스타일 변형…',
|
|
1346
|
+
'st.styles_one': '스타일 {n}개',
|
|
1347
|
+
'st.styles': '스타일 {n}개',
|
|
1348
|
+
'st.no_styles': '아직 스타일 없음',
|
|
1349
|
+
'st.language': '기본 언어',
|
|
1350
|
+
'st.language_help': '앱을 작성한 언어. 예: en, nl, de, en-GB.',
|
|
1351
|
+
'st.languages': '번역된 언어',
|
|
1352
|
+
'st.languages_ph': '예: nl, de',
|
|
1353
|
+
'st.languages_help': '쉼표로 구분합니다. 텍스트는 공유 구성요소 → 전역화에서 번역하세요.',
|
|
1354
|
+
'st.language_from': '언어 결정 기준',
|
|
1355
|
+
'st.from.browser': '브라우저(Accept-Language)',
|
|
1356
|
+
'st.from.user': '사용자 환경 설정, 다음으로 브라우저',
|
|
1357
|
+
'st.from.primary': '항상 기본 언어',
|
|
1358
|
+
'st.language_from_help': '사용자는 ?lang=xx 또는 로그인 페이지의 선택기로도 전환할 수 있습니다.',
|
|
1359
|
+
'st.date_format': '날짜 형식',
|
|
1360
|
+
'st.date_format_ph': '예: DD-MM-YYYY(비어 있음: 언어별)',
|
|
1361
|
+
'st.date_format_help': '마스크: YYYY YY MM MON MONTH DD DY DAY HH24 HH MI SS AM',
|
|
1362
|
+
'st.ts_format': '날짜 및 시간 형식',
|
|
1363
|
+
'st.ts_format_ph': '예: DD-MM-YYYY HH24:MI',
|
|
1364
|
+
'st.save_settings': '설정 저장',
|
|
1365
|
+
'st.delete_confirm': '애플리케이션 {app}과(와) 모든 페이지를 삭제하시겠습니까?',
|
|
1366
|
+
'st.delete': '애플리케이션 삭제',
|
|
1367
|
+
'st.error_fn': '오류 처리 함수',
|
|
1368
|
+
'st.error_fn_ph': '예: sales.error_message',
|
|
1369
|
+
'st.error_fn_help': 'jsonb를 반환하는 schema.function(jsonb)으로, 애플리케이션의 역할로 실행됩니다. 메시지와 오류에 대해 알려진 정보(code, constraint, table, column, component, page, user, internal, reference)를 받으며, 대신 표시할 {"message": "…"}를 반환할 수 있습니다. 비어 있으면 없음입니다.',
|
|
1370
|
+
'st.warning': '세션 시간 초과 경고(초)',
|
|
1371
|
+
'st.warning_help': '로그인한 사용자는 세션이 끝나기 이 시간 전에 경고를 받고 로그인 상태를 유지할 수 있습니다(0: 경고 없음).',
|
|
1372
|
+
'st.save': '저장',
|
|
1373
|
+
'st.checklist': '보안 체크리스트',
|
|
1374
|
+
'st.ck.role': '전용 데이터베이스 역할로 실행됨',
|
|
1375
|
+
'st.ck.runtime': '(런타임 연결로 실행됨)',
|
|
1376
|
+
'st.ck.signin': '사용자가 로그인해야 함',
|
|
1377
|
+
'st.ck.public': '공용 애플리케이션',
|
|
1378
|
+
'st.ck.debug_on': '디버그 모드가 켜져 있음: 사용자에게 오류 세부 정보가 표시됨',
|
|
1379
|
+
'st.ck.debug_off': '디버그 모드가 꺼져 있음',
|
|
1380
|
+
'st.ck.msgs_on': '디버그 메시지가 켜져 있음(레벨 {level}): 모든 요청이 기록됨',
|
|
1381
|
+
'st.ck.msgs_off': '디버그 메시지가 꺼져 있음',
|
|
1382
|
+
'st.ck.unprotected': '체크섬 보호가 없는 페이지: {n}',
|
|
1383
|
+
'st.ck.public_pages': '공용 페이지: {n}',
|
|
1384
|
+
'st.title': '{app} 설정',
|
|
1385
|
+
'st.err.fn_shape': '오류 처리 함수는 schema.function 형식입니다. 예: sales.error_message.',
|
|
1386
|
+
'st.err.no_fn': 'jsonb를 반환하는 함수 {fn}(jsonb)이(가) 없습니다.',
|
|
1387
|
+
'st.err.warning': '세션 시간 초과 경고는 0~3600초입니다.',
|
|
1388
|
+
'st.saved': '저장했습니다.',
|
|
1389
|
+
'st.settings_saved': '설정을 저장했습니다.',
|
|
1390
|
+
'st.app_deleted': '애플리케이션을 삭제했습니다.',
|
|
1391
|
+
// ------------------------------------------------------------ Users and identity providers (sprint 125)
|
|
1392
|
+
'us.hints_none': '이 앱은 아직 어떤 역할도 확인하지 않습니다. 역할은 권한 부여 체계나 {fn}이(가) 확인하는 곳에서만 의미가 있습니다(공유 구성요소 → 권한 부여 체계).',
|
|
1393
|
+
'us.hints_label': '이 앱이 확인하는 역할',
|
|
1394
|
+
'us.hints_add': '추가',
|
|
1395
|
+
'us.hints_app': '{app}이(가) 확인하는 역할',
|
|
1396
|
+
'us.title': '사용자',
|
|
1397
|
+
'us.providers_btn': 'ID 제공자(Single Sign-On)',
|
|
1398
|
+
'us.ldap_btn': 'LDAP 디렉터리',
|
|
1399
|
+
'us.intro': '한 사람당 하나의 계정입니다. 여기 또는 애플리케이션의 {where}에서 계정에 애플리케이션 액세스 권한과 애플리케이션별 역할을 부여하세요.',
|
|
1400
|
+
'us.access_path': '공유 구성요소 → 액세스 제어',
|
|
1401
|
+
'us.accounts': '계정',
|
|
1402
|
+
'us.search_ph': '이름, 사용자 이름 또는 이메일 검색…',
|
|
1403
|
+
'us.search_label': '계정 검색',
|
|
1404
|
+
'us.search': '검색',
|
|
1405
|
+
'us.username': '사용자 이름',
|
|
1406
|
+
'us.name': '이름',
|
|
1407
|
+
'us.apps_roles': '애플리케이션(역할)',
|
|
1408
|
+
'us.applications': '애플리케이션',
|
|
1409
|
+
'us.signin': '로그인',
|
|
1410
|
+
'us.status': '상태',
|
|
1411
|
+
'us.none': '없음',
|
|
1412
|
+
'us.password': '비밀번호',
|
|
1413
|
+
'us.no_password': '비밀번호 없음',
|
|
1414
|
+
'us.active': '활성',
|
|
1415
|
+
'us.inactive': '비활성',
|
|
1416
|
+
'us.last': '마지막 {at}',
|
|
1417
|
+
'us.no_accounts': '계정을 찾을 수 없습니다.',
|
|
1418
|
+
'us.create': '계정 생성',
|
|
1419
|
+
'us.username_help': '공백이나 콜론을 사용할 수 없으며 대소문자를 구분하지 않습니다.',
|
|
1420
|
+
'us.email': '이메일',
|
|
1421
|
+
'us.password_label': '비밀번호',
|
|
1422
|
+
'us.password_help': '8자 이상. Single Sign-On으로만 로그인하는 계정은 비워 두세요.',
|
|
1423
|
+
'us.must_change': '처음 사용할 때 비밀번호 변경 필요',
|
|
1424
|
+
'us.settings': '계정 설정',
|
|
1425
|
+
'us.min_length': '최소 비밀번호 길이',
|
|
1426
|
+
'us.lifetime': '비밀번호 유효 기간(일)',
|
|
1427
|
+
'us.lifetime_help': '이 일수가 지나면 사용자가 로그인할 때 새 비밀번호를 정해야 합니다. 0 = 만료 없음.',
|
|
1428
|
+
'us.mixed': '비밀번호에 문자와 숫자가 필요함',
|
|
1429
|
+
'us.policy_note': '비밀번호에는 사용자 이름을 포함할 수 없습니다. 로그인에 {failures}회 실패하면 {minutes}분 동안 잠깁니다(작업공간 유틸리티 → 인스턴스 설정). 계정의 잠금 해제로 풀 수 있습니다.',
|
|
1430
|
+
'us.save_settings': '설정 저장',
|
|
1431
|
+
'us.created': '계정을 생성했습니다. 이제 애플리케이션 액세스 권한을 부여하세요.',
|
|
1432
|
+
'us.exists': '해당 사용자 이름의 계정이 이미 있습니다.',
|
|
1433
|
+
'us.settings_saved': '계정 설정을 저장했습니다.',
|
|
1434
|
+
'us.details': '세부 정보',
|
|
1435
|
+
'us.active_label': '활성',
|
|
1436
|
+
'us.active_help': '비활성 계정은 어떤 애플리케이션에도 로그인할 수 없습니다. 비활성화하면 세션이 종료됩니다.',
|
|
1437
|
+
'us.save': '저장',
|
|
1438
|
+
'us.password_title': '비밀번호',
|
|
1439
|
+
'us.set': '설정됨',
|
|
1440
|
+
'us.set_on': '{date}에 설정됨',
|
|
1441
|
+
'us.sso_only': '비밀번호 없음(Single Sign-On 전용)',
|
|
1442
|
+
'us.must_next': '다음 로그인 시 변경해야 함',
|
|
1443
|
+
'us.expires': '{n}일 후 만료',
|
|
1444
|
+
'us.fails': '최근 1시간 동안 로그인 실패 {n}회',
|
|
1445
|
+
'us.unexpire': '비밀번호 만료 해제',
|
|
1446
|
+
'us.expire': '비밀번호 만료',
|
|
1447
|
+
'us.unlock': '로그인 잠금 해제',
|
|
1448
|
+
'us.new_password': '새 비밀번호',
|
|
1449
|
+
'us.set_password_label': '비밀번호 설정',
|
|
1450
|
+
'us.ends_sessions': '계정의 세션이 종료됩니다.',
|
|
1451
|
+
'us.set_password': '비밀번호 설정',
|
|
1452
|
+
'us.remove_confirm': '비밀번호를 제거하시겠습니까? 그러면 계정은 Single Sign-On으로만 로그인할 수 있습니다.',
|
|
1453
|
+
'us.remove_password': '비밀번호 제거',
|
|
1454
|
+
'us.delete_confirm': '계정 {user}과(와) 모든 애플리케이션 액세스 권한을 삭제하시겠습니까?',
|
|
1455
|
+
'us.delete': '계정 삭제',
|
|
1456
|
+
'us.app_access': '애플리케이션 액세스',
|
|
1457
|
+
'us.application': '애플리케이션',
|
|
1458
|
+
'us.roles': '역할',
|
|
1459
|
+
'us.roles_in': '{app}의 역할',
|
|
1460
|
+
'us.roles_ph': '역할 없음(예: {example})',
|
|
1461
|
+
'us.revoke_confirm': '{app} 액세스 권한을 취소하시겠습니까?',
|
|
1462
|
+
'us.revoke': '취소',
|
|
1463
|
+
'us.no_access': '아직 어떤 애플리케이션에도 액세스 권한이 없습니다.',
|
|
1464
|
+
'us.grant': '액세스 권한 부여',
|
|
1465
|
+
'us.roles_comma': '쉼표로 구분하거나 아래에서 선택',
|
|
1466
|
+
'us.saved': '계정을 저장했습니다.',
|
|
1467
|
+
'us.pw_removed': '비밀번호를 제거했습니다.',
|
|
1468
|
+
'us.pw_set': '비밀번호를 설정했습니다.',
|
|
1469
|
+
'us.pw_expired': '비밀번호가 만료되었습니다. 다음 로그인 시 변경해야 합니다.',
|
|
1470
|
+
'us.pw_unexpired': '비밀번호가 더 이상 만료 상태가 아닙니다.',
|
|
1471
|
+
'us.unlocked': '로그인 잠금을 해제했습니다.',
|
|
1472
|
+
'us.deleted': '계정을 삭제했습니다.',
|
|
1473
|
+
'us.granted': '액세스 권한을 부여했습니다.',
|
|
1474
|
+
'us.roles_saved': '역할을 저장했습니다. 사용자는 다음 로그인 시 역할을 받습니다.',
|
|
1475
|
+
'us.revoked': '액세스 권한을 취소했습니다.',
|
|
1476
|
+
'idp.title': 'ID 제공자',
|
|
1477
|
+
'idp.name': '이름(URL에 사용)',
|
|
1478
|
+
'idp.name_help': '소문자. 예: entra, google, keycloak',
|
|
1479
|
+
'idp.protocol': '프로토콜',
|
|
1480
|
+
'idp.label': '버튼 레이블',
|
|
1481
|
+
'idp.label_help': '"… (으)로 로그인"으로 표시됩니다',
|
|
1482
|
+
'idp.issuer': '발급자(OIDC: URL, SAML: IdP 엔터티 ID)',
|
|
1483
|
+
'idp.issuer_help': '예: https://login.microsoftonline.com/<tenant>/v2.0, https://keycloak.example.com/realms/acme, SAML의 경우 IdP 메타데이터의 entityID',
|
|
1484
|
+
'idp.client_id': '클라이언트 ID(SAML: pgkiln의 엔터티 ID)',
|
|
1485
|
+
'idp.client_id_help': 'OIDC: 필수. SAML: 비어 있으면 이 제공자의 메타데이터 URL.',
|
|
1486
|
+
'idp.sso_url': 'SAML: IdP 로그인 URL',
|
|
1487
|
+
'idp.sso_url_help': 'IdP 메타데이터의 SingleSignOnService 위치(HTTP-Redirect 바인딩).',
|
|
1488
|
+
'idp.cert': 'SAML: IdP 서명 인증서(PEM)',
|
|
1489
|
+
'idp.cert_help': 'IdP 메타데이터에서 가져옵니다(X509Certificate, BEGIN/END CERTIFICATE 행으로 감쌈). 어설션은 이 인증서로 서명되어야 합니다.',
|
|
1490
|
+
'idp.secret': '클라이언트 암호',
|
|
1491
|
+
'idp.secret_kept': '암호가 저장되어 있습니다. 유지하려면 비워 두세요.',
|
|
1492
|
+
'idp.secret_public': '공용 클라이언트(PKCE만)의 경우 비워 두세요.',
|
|
1493
|
+
'idp.scopes': '범위',
|
|
1494
|
+
'idp.username_claim': '사용자 이름 클레임',
|
|
1495
|
+
'idp.username_claim_help': '사용자가 직접 변경할 수 없는 클레임을 사용하세요(예: preferred_username, upn, email). SAML: 속성 이름 또는 nameID.',
|
|
1496
|
+
'idp.groups_claim': '그룹 클레임',
|
|
1497
|
+
'idp.groups_claim_help': '점 경로를 사용할 수 있습니다. 예: realm_access.roles',
|
|
1498
|
+
'idp.auto_create': '처음 로그인할 때 계정 자동 생성',
|
|
1499
|
+
'idp.auto_create_help': '그렇지 않으면 이 제공자에 연결된 계정이 있는(또는 아래에서 허용된) 사람만 로그인할 수 있습니다.',
|
|
1500
|
+
'idp.link': '처음 로그인할 때 같은 사용자 이름의 기존 계정 연결',
|
|
1501
|
+
'idp.link_help': '이 제공자에서 사용자가 사용자 이름 클레임을 직접 선택할 수 없는 경우에만 사용하세요. 그렇지 않으면 누군가 기존 계정의 이름을 등록하여 계정을 탈취할 수 있습니다. 이메일 클레임의 경우 확인된 주소만 연결됩니다. 계정 연결이 끝나면 끄세요.',
|
|
1502
|
+
'idp.enabled': '사용',
|
|
1503
|
+
'idp.remove_secret': '저장된 클라이언트 암호 제거',
|
|
1504
|
+
'idp.add': '제공자 추가',
|
|
1505
|
+
'idp.intro': 'Single Sign-On을 위한 OpenID Connect 제공자(Microsoft Entra ID, Google, Okta, Keycloak, Auth0 등). 제공자에서 표시된 리디렉션 URI로 pgkiln을 웹 애플리케이션으로 등록한 후, 애플리케이션별로 {where}에서 제공자를 사용하도록 설정하세요.',
|
|
1506
|
+
'idp.where': '설정 → 로그인 방법',
|
|
1507
|
+
'idp.providers': '제공자',
|
|
1508
|
+
'idp.provider': '제공자',
|
|
1509
|
+
'idp.issuer_col': '발급자',
|
|
1510
|
+
'idp.used_by': '사용하는 앱',
|
|
1511
|
+
'idp.linked': '연결된 계정',
|
|
1512
|
+
'idp.no_apps': '앱 없음',
|
|
1513
|
+
'idp.enabled_s': '사용',
|
|
1514
|
+
'idp.disabled_s': '사용 안 함',
|
|
1515
|
+
'idp.auto_s': '자동 생성',
|
|
1516
|
+
'idp.links_s': '기존 계정 연결',
|
|
1517
|
+
'idp.mfa_title': '다단계 로그인',
|
|
1518
|
+
'idp.mfa_required': '이 제공자에서 다단계 로그인 필수',
|
|
1519
|
+
'idp.mfa_required_help': '제공자가 다단계로 표시하지 않은 로그인(애플리케이션 및 빌더)을 거부합니다. OpenID Connect는 ID 토큰의 amr 또는 acr 클레임으로, SAML은 AuthnContextClassRef로 판단합니다.',
|
|
1520
|
+
'idp.mfa_request': '제공자에게 요청할 값',
|
|
1521
|
+
'idp.mfa_request_help': 'OpenID Connect acr_values 또는 SAML AuthnContextClassRef 값, 공백으로 구분. 비어 있으면 아무것도 요청하지 않습니다.',
|
|
1522
|
+
'idp.mfa_values': '다단계를 의미하는 값',
|
|
1523
|
+
'idp.mfa_values_help': 'amr, acr 또는 AuthnContextClassRef 값, 공백으로 구분. 그중 하나만 있으면 됩니다. Entra ID와 Okta는 amr에 "mfa"를 넣습니다.',
|
|
1524
|
+
'idp.local_step': '이 제공자 다음에 pgkiln 자체의 두 번째 단계 요청',
|
|
1525
|
+
'idp.local_step_help': '다단계 로그인을 요구할 수 없는 제공자용입니다. 비밀번호 로그인 후와 마찬가지로 애플리케이션의 2단계 규칙이 적용되며, 두 번째 인증 요소가 있는 개발자도 이를 입력합니다. 그러면 단계 상향 인증은 제공자에서 다시 로그인하는 대신 pgkiln의 인증 요소를 요청합니다.',
|
|
1526
|
+
'idp.mfa_s': 'MFA 필수',
|
|
1527
|
+
'idp.none': '아직 ID 제공자가 없습니다.',
|
|
1528
|
+
'idp.settings': '설정',
|
|
1529
|
+
'idp.delete_confirm': '{name}을(를) 삭제하시겠습니까? 연결된 ID는 제거되지만 계정은 유지됩니다.',
|
|
1530
|
+
'idp.delete': '제공자 삭제',
|
|
1531
|
+
'idp.register_idp': 'ID 제공자에 등록',
|
|
1532
|
+
'idp.sp_metadata': '서비스 제공자 메타데이터(IdP에서 임포트하세요):',
|
|
1533
|
+
'idp.by_hand': '또는 수동으로: 엔터티 ID {entity}, 어설션 소비자 서비스(HTTP-POST) {acs}.',
|
|
1534
|
+
'idp.saml_note': '{env} 기준입니다. 어설션에 서명하고, 그룹을 역할에 매핑하려면 {claim} 속성으로 그룹을 보내세요.',
|
|
1535
|
+
'idp.register': '제공자에 등록',
|
|
1536
|
+
'idp.redirect': '리디렉션 URI(콜백):',
|
|
1537
|
+
'idp.public_url': '{env} 기준입니다. 사용자가 보는 주소로 설정하세요(예: https://apps.example.com).',
|
|
1538
|
+
'idp.grant': '권한 부여 유형: PKCE를 사용한 {type}. 범위: {scopes}. 그룹을 역할에 매핑하려면 ID 토큰에 {claim} 클레임을 포함하세요.',
|
|
1539
|
+
'idp.auth_code': '권한 부여 코드',
|
|
1540
|
+
'idp.test': '검색 테스트',
|
|
1541
|
+
'idp.added': '제공자를 추가했습니다. 제공자에 리디렉션 URI를 등록한 후 연결을 테스트하세요.',
|
|
1542
|
+
'idp.saved': '제공자를 저장했습니다.',
|
|
1543
|
+
'idp.works': '검색이 작동합니다. 권한 부여 엔드포인트: {url}',
|
|
1544
|
+
'idp.failed': '검색 실패: {error}',
|
|
1545
|
+
'idp.deleted': '제공자를 삭제했습니다.',
|
|
1546
|
+
// ------------------------------------------------------------ Workspaces (sprint 125)
|
|
1547
|
+
'wsp.title': '작업공간',
|
|
1548
|
+
'wsp.admins_only': '관리자만 작업공간을 관리합니다.',
|
|
1549
|
+
'wsp.err.exists': '이 이름의 작업공간이 이미 있습니다.',
|
|
1550
|
+
'wsp.err.name_check': '이름은 1~60자이며 앞이나 끝에 공백이 없어야 합니다.',
|
|
1551
|
+
'wsp.err.name': '이름은 1~60자입니다.',
|
|
1552
|
+
'wsp.iso.secret': '서버 환경에 PGKILN_SECRET_KEY(32자 이상)를 설정하세요. 작업공간의 데이터베이스 로그인은 이 키에서 파생된 비밀번호를 받습니다.',
|
|
1553
|
+
'wsp.iso.runtime': 'RUNTIME_DATABASE_URL을 설정하세요. 애플리케이션이 소유자 연결로 실행되므로 어떤 작업공간도 격리할 수 없습니다.',
|
|
1554
|
+
'wsp.err.role_taken': '이 역할은 이미 다른 작업공간에 속해 있습니다.',
|
|
1555
|
+
'wsp.err.role_has': '작업공간에 이미 이 역할이 있습니다.',
|
|
1556
|
+
'wsp.isolated_tag': '격리됨',
|
|
1557
|
+
'wsp.iso.on': '애플리케이션은 {run}(으)로, 개발자의 SQL(SQL Workshop, 코드 검사, 어드바이저)은 {dev}(으)로 실행됩니다. 둘 다 아래 역할에만 접근하며, pgkiln 자체 테이블에서는 이 작업공간의 애플리케이션, 세션 및 계정만 봅니다. 공유 작업공간에도 속한 개발자는 그 작업공간에서 해당 권한을 유지합니다.',
|
|
1558
|
+
'wsp.db_role': '데이터베이스 역할',
|
|
1559
|
+
'wsp.used_by': '사용하는 앱',
|
|
1560
|
+
'wsp.missing': '없음',
|
|
1561
|
+
'wsp.no_app': '애플리케이션 없음',
|
|
1562
|
+
'wsp.remove': '제거',
|
|
1563
|
+
'wsp.no_roles': '데이터베이스 역할이 없습니다. 여기 있는 애플리케이션은 자체 역할로 실행될 수 없습니다.',
|
|
1564
|
+
'wsp.add_role': '데이터베이스 역할 추가',
|
|
1565
|
+
'wsp.add_role_help': '기존 역할(슈퍼유저, 역할을 생성하는 역할 또는 행 수준 보안을 우회하는 역할 제외). 그 권한은 이 작업공간의 권한이 되며, 다른 작업공간에 속할 수 없습니다.',
|
|
1566
|
+
'wsp.add_role_btn': '역할 추가',
|
|
1567
|
+
'wsp.make_shared_confirm': '{name}을(를) 다시 공유 작업공간으로 만드시겠습니까? 그러면 애플리케이션은 공유 런타임 연결로, 개발자의 SQL은 소유자로 실행됩니다.',
|
|
1568
|
+
'wsp.make_shared': '공유로 전환',
|
|
1569
|
+
'wsp.shared_text': '공유: 다른 모든 공유 작업공간과 마찬가지로 애플리케이션은 공유 런타임 연결로, 개발자의 SQL은 소유자로 실행됩니다.',
|
|
1570
|
+
'wsp.iso_help': '격리하면 작업공간이 자체 데이터베이스 로그인 두 개와 현재 애플리케이션이 사용하는 데이터베이스 역할을 갖게 됩니다. 그러면 애플리케이션 코드는 해당 역할과 이 작업공간의 애플리케이션에만 접근하며, 개발자의 SQL Workshop은 소유자 대신 작업공간의 로그인으로 실행됩니다. 새 애플리케이션은 자체 역할과 스키마를 새로 받습니다.',
|
|
1571
|
+
'wsp.to_isolate': '작업공간을 격리하려면 {problem}',
|
|
1572
|
+
'wsp.isolate_confirm': '{name}을(를) 격리하시겠습니까?',
|
|
1573
|
+
'wsp.isolate': '이 작업공간 격리',
|
|
1574
|
+
'wsp.isolation': '격리',
|
|
1575
|
+
'wsp.service': '서비스 관리',
|
|
1576
|
+
'wsp.message': '작업공간 메시지',
|
|
1577
|
+
'wsp.message_help': 'App Builder 홈에서 이 작업공간의 개발자에게 표시됩니다(예: 유지 보수 시간). 일반 텍스트.',
|
|
1578
|
+
'wsp.banner': '환경 배너',
|
|
1579
|
+
'wsp.banner_help': '이 작업공간이 현재 작업공간인 동안 모든 빌더 페이지 상단에 표시되는 짧은 레이블. 비어 있으면 배너가 없습니다.',
|
|
1580
|
+
'wsp.banner_colour': '배너 색상',
|
|
1581
|
+
'wsp.save': '저장',
|
|
1582
|
+
'wsp.prefs': '작업공간 환경 설정',
|
|
1583
|
+
'wsp.sql_on': 'SQL Workshop 사용',
|
|
1584
|
+
'wsp.sql_on_help': '꺼짐: 이 작업공간이 현재 작업공간인 동안 모든 개발자에 대해 SQL 워크시트, 객체 브라우저, SQL 스크립트, 데이터 로드 및 언로드, Quick SQL, 쿼리 빌더, DDL, 비교 및 AI가 거부됩니다.',
|
|
1585
|
+
'wsp.rest_on': 'RESTful 서비스 사용',
|
|
1586
|
+
'wsp.rest_on_help': '꺼짐: 이 작업공간 애플리케이션의 REST 모듈이 {path}에서 404(Not found)로 응답합니다. 편집은 계속 가능합니다.',
|
|
1587
|
+
'wsp.builder_home': '빌더 링크 열기 위치',
|
|
1588
|
+
'wsp.home.apps': 'App Builder',
|
|
1589
|
+
'wsp.home.home': '작업공간 홈',
|
|
1590
|
+
'wsp.builder_home_help': '이 작업공간에서 /builder 링크(작업공간 홈 이전의 북마크)가 이동하는 곳. 로그인하면 항상 작업공간 홈이 열리며, App Builder는 /builder/apps에 있습니다.',
|
|
1591
|
+
'wsp.save_prefs': '환경 설정 저장',
|
|
1592
|
+
'wsp.links': '확장 링크',
|
|
1593
|
+
'wsp.links_help': '이 작업공간의 개발자가 사용하는 다른 도구(모니터링, 위키, 티켓 시스템)로의 링크로, 작업공간이 현재 작업공간인 동안 빌더의 {menu} 메뉴에 표시됩니다. 새 탭에서 열립니다.',
|
|
1594
|
+
'wsp.extensions': '확장',
|
|
1595
|
+
'wsp.label': '레이블',
|
|
1596
|
+
'wsp.url': 'URL',
|
|
1597
|
+
'wsp.order': '순서',
|
|
1598
|
+
'wsp.delete_link_confirm': '링크 {label}을(를) 삭제하시겠습니까?',
|
|
1599
|
+
'wsp.delete': '삭제',
|
|
1600
|
+
'wsp.no_links': '확장 링크가 없습니다.',
|
|
1601
|
+
'wsp.label_ph': '모니터링',
|
|
1602
|
+
'wsp.description': '설명',
|
|
1603
|
+
'wsp.add_link': '링크 추가',
|
|
1604
|
+
'wsp.switched': '작업공간 {name}.',
|
|
1605
|
+
'wsp.intro': '작업공간은 애플리케이션과 이를 구축하는 개발자를 묶습니다. 개발자는 자신의 작업공간에 있는 애플리케이션을 보고 변경할 수 있으며, 관리자는 모두 볼 수 있습니다. 공유 작업공간은 SQL을 작성하는 개발자 사이의 보안 경계가 아닙니다. SQL Workshop과 애플리케이션 코드는 이 설치의 권한으로 실행됩니다. {isolated} 작업공간은 보안 경계입니다. 애플리케이션과 SQL이 자체 데이터베이스 역할과 자체 애플리케이션에만 접근하는 자체 데이터베이스 로그인으로 실행됩니다.',
|
|
1606
|
+
'wsp.isolated_word': '격리된',
|
|
1607
|
+
'wsp.workspace': '작업공간',
|
|
1608
|
+
'wsp.applications': '애플리케이션',
|
|
1609
|
+
'wsp.developers': '개발자',
|
|
1610
|
+
'wsp.admins_text': '관리자만',
|
|
1611
|
+
'wsp.add': '작업공간 추가',
|
|
1612
|
+
'wsp.name': '이름',
|
|
1613
|
+
'wsp.name_help': '예를 들어 여기서 애플리케이션을 구축하는 팀이나 부서.',
|
|
1614
|
+
'wsp.first_dev': '귀하가 첫 번째 개발자가 됩니다. 다른 개발자는 작업공간 페이지에서 추가하세요.',
|
|
1615
|
+
'wsp.added': '작업공간 {name}을(를) 추가했습니다.',
|
|
1616
|
+
'wsp.settings': '설정',
|
|
1617
|
+
'wsp.default_no_delete': 'Default 작업공간은 삭제할 수 없습니다. 임포트한 애플리케이션과 명령줄로 만든 애플리케이션이 여기서 시작됩니다.',
|
|
1618
|
+
'wsp.delete_confirm': '작업공간 {name}을(를) 삭제하시겠습니까?',
|
|
1619
|
+
'wsp.delete_ws': '작업공간 삭제',
|
|
1620
|
+
'wsp.move_first': '먼저 애플리케이션을 다른 작업공간으로 이동하세요.',
|
|
1621
|
+
'wsp.devs_help': '이 작업공간의 개발자는 작업공간의 애플리케이션을 보고 변경할 수 있습니다. 관리자는 모든 작업공간을 봅니다.',
|
|
1622
|
+
'wsp.administrator': '(관리자)',
|
|
1623
|
+
'wsp.ws_admins': '작업공간 관리자',
|
|
1624
|
+
'wsp.ws_admins_help': '이 작업공간의 이름과 개발자를 관리합니다. 격리, 데이터베이스 역할, 애플리케이션 이동 및 작업공간 삭제는 관리자 권한으로 남습니다.',
|
|
1625
|
+
'wsp.save_devs': '개발자 저장',
|
|
1626
|
+
'wsp.mail_net': '메일 및 네트워크 액세스',
|
|
1627
|
+
'wsp.mail_net_text': '자체 메일 서비스가 없는 애플리케이션을 위한 이 작업공간의 {mail}, {network} 목록(설치의 목록 범위 안에서 애플리케이션이 호출할 수 있는 호스트) 및 {queue}.',
|
|
1628
|
+
'wsp.mail_service': '메일 서비스',
|
|
1629
|
+
'wsp.network': '네트워크 액세스',
|
|
1630
|
+
'wsp.queue': '메일 대기열',
|
|
1631
|
+
'wsp.iso_short_on': '격리됨: 애플리케이션과 SQL이 자체 데이터베이스 로그인으로 실행됩니다.',
|
|
1632
|
+
'wsp.iso_short_off': '공유.',
|
|
1633
|
+
'wsp.admins_change': '관리자가 변경합니다.',
|
|
1634
|
+
'wsp.application': '애플리케이션',
|
|
1635
|
+
'wsp.move_to': '이동 대상',
|
|
1636
|
+
'wsp.move_label': '{app} 이동 대상',
|
|
1637
|
+
'wsp.move': '이동',
|
|
1638
|
+
'wsp.no_other': '다른 작업공간 없음',
|
|
1639
|
+
'wsp.no_apps': '애플리케이션이 없습니다.',
|
|
1640
|
+
'wsp.saved': '작업공간을 저장했습니다.',
|
|
1641
|
+
'wsp.not_found': '찾을 수 없습니다.',
|
|
1642
|
+
'wsp.devs_saved': '개발자를 저장했습니다.',
|
|
1643
|
+
'wsp.not_moved': '이동하지 못함: {why}',
|
|
1644
|
+
'wsp.moved': '애플리케이션을 {name}(으)로 이동했습니다.',
|
|
1645
|
+
'wsp.err.default': 'Default 작업공간은 삭제할 수 없습니다.',
|
|
1646
|
+
'wsp.err.isolated': '삭제하기 전에 작업공간을 공유(격리되지 않음)로 전환하세요.',
|
|
1647
|
+
'wsp.err.has_apps': '먼저 이 작업공간의 애플리케이션을 다른 작업공간으로 이동하세요.',
|
|
1648
|
+
'wsp.deleted': '작업공간 {name}을(를) 삭제했습니다.',
|
|
1649
|
+
'wsp.isolated_now': '작업공간이 격리되었습니다. 이제 애플리케이션과 SQL이 자체 데이터베이스 로그인으로 실행됩니다.',
|
|
1650
|
+
'wsp.shared_now': '작업공간이 다시 공유되었습니다. 애플리케이션이 공유 런타임 연결로 실행됩니다.',
|
|
1651
|
+
'wsp.not_isolated': '격리하지 못함: {why}',
|
|
1652
|
+
'wsp.not_changed': '변경하지 못함: {why}',
|
|
1653
|
+
'wsp.err.role_name': '역할 이름은 문자 또는 _로 시작하고 그 뒤에 문자, 숫자, _ 또는 $가 옵니다(최대 63자).',
|
|
1654
|
+
'wsp.err.no_role': '데이터베이스 역할 {role}이(가) 없습니다.',
|
|
1655
|
+
'wsp.err.role_used_one': '{apps}은(는) {role}(으)로 실행됩니다. 먼저 다른 역할을 지정하세요.',
|
|
1656
|
+
'wsp.err.role_used': '{apps}은(는) {role}(으)로 실행됩니다. 먼저 다른 역할을 지정하세요.',
|
|
1657
|
+
'wsp.role_removed': '역할 {role}을(를) 제거했습니다.',
|
|
1658
|
+
'wsp.role_added': '역할 {role}을(를) 추가했습니다.',
|
|
1659
|
+
'wsp.not_saved': '저장하지 못함: {why}',
|
|
1660
|
+
'wsp.err.message': '메시지는 최대 2000자입니다.',
|
|
1661
|
+
'wsp.err.banner': '배너 레이블은 최대 40자입니다.',
|
|
1662
|
+
'wsp.service_saved': '메시지와 배너를 저장했습니다.',
|
|
1663
|
+
'wsp.prefs_saved': '환경 설정을 저장했습니다.',
|
|
1664
|
+
'wsp.err.label': '레이블은 1~60자입니다.',
|
|
1665
|
+
'wsp.err.url': 'URL은 http:// 또는 https://로 시작해야 합니다.',
|
|
1666
|
+
'wsp.err.description': '설명은 최대 500자입니다.',
|
|
1667
|
+
'wsp.err.order': '순서는 정수입니다.',
|
|
1668
|
+
'wsp.link_added': '링크 {label}을(를) 추가했습니다.',
|
|
1669
|
+
'wsp.link_exists': '링크 {label}이(가) 이미 있습니다.',
|
|
1670
|
+
'wsp.link_not_saved': '링크를 저장하지 못했습니다.',
|
|
1671
|
+
'wsp.link_deleted': '링크를 삭제했습니다.',
|
|
1672
|
+
'wsp.util_title': '작업공간 사용률: {name}',
|
|
1673
|
+
'wsp.pages': '페이지',
|
|
1674
|
+
'wsp.views30': '페이지 조회 수(30일)',
|
|
1675
|
+
'wsp.scripts': 'SQL 스크립트',
|
|
1676
|
+
'wsp.regions': '영역',
|
|
1677
|
+
'wsp.items': '항목',
|
|
1678
|
+
'wsp.users30': '사용자(30일)',
|
|
1679
|
+
'wsp.static': '정적 파일',
|
|
1680
|
+
'wsp.views': '페이지 조회 수',
|
|
1681
|
+
'wsp.users': '사용자',
|
|
1682
|
+
'wsp.schemas': '스키마',
|
|
1683
|
+
'wsp.schemas_help': '작업공간의 데이터베이스 역할이 사용할 수 있는 스키마와 그 테이블, 인덱스 및 TOAST 데이터의 저장 공간.',
|
|
1684
|
+
'wsp.schema': '스키마',
|
|
1685
|
+
'wsp.owner': '소유자',
|
|
1686
|
+
'wsp.tables': '테이블',
|
|
1687
|
+
'wsp.storage': '저장 공간',
|
|
1688
|
+
'wsp.no_schemas': '스키마가 없습니다. 작업공간의 애플리케이션에 자체 데이터베이스 역할이 없습니다.',
|
|
1689
|
+
'wsp.utilization': '사용률',
|
|
1690
|
+
'wsp.util_crumb': '사용률: {name}',
|
|
1691
|
+
// ------------------------------------------------------------ Developers (sprint 125)
|
|
1692
|
+
'dev.title': '개발자',
|
|
1693
|
+
'dev.change_pw': '비밀번호 변경',
|
|
1694
|
+
'dev.current': '현재 비밀번호',
|
|
1695
|
+
'dev.new': '새 비밀번호',
|
|
1696
|
+
'dev.min8': '8자 이상.',
|
|
1697
|
+
'dev.change_btn': '비밀번호 변경',
|
|
1698
|
+
'dev.your_email': '내 이메일 주소',
|
|
1699
|
+
'dev.email': '이메일 주소',
|
|
1700
|
+
'dev.email_help': '로그인 페이지의 "내 작업공간 찾기"가 이 주소로 작업공간 목록을 보냅니다. 비어 있으면 없음입니다.',
|
|
1701
|
+
'dev.save': '저장',
|
|
1702
|
+
'dev.accounts': '개발자 계정',
|
|
1703
|
+
'dev.accounts_help': '관리자는 개발자를 추가 및 제거하고 다른 개발자의 페이지 및 애플리케이션 잠금을 해제할 수 있습니다.',
|
|
1704
|
+
'dev.username': '사용자 이름',
|
|
1705
|
+
'dev.role': '역할',
|
|
1706
|
+
'dev.email_col': '이메일',
|
|
1707
|
+
'dev.you': '(나)',
|
|
1708
|
+
'dev.administrator': '관리자',
|
|
1709
|
+
'dev.developer': '개발자',
|
|
1710
|
+
'dev.email_of': '{user}의 이메일 주소',
|
|
1711
|
+
'dev.none': '없음',
|
|
1712
|
+
'dev.make_dev': '개발자로 변경',
|
|
1713
|
+
'dev.make_admin': '관리자로 변경',
|
|
1714
|
+
'dev.remove_confirm': '개발자 {user}을(를) 제거하시겠습니까?',
|
|
1715
|
+
'dev.remove': '제거',
|
|
1716
|
+
'dev.add': '개발자 추가',
|
|
1717
|
+
'dev.password': '비밀번호',
|
|
1718
|
+
'dev.optional_email': '선택 사항: "내 작업공간 찾기"에 사용.',
|
|
1719
|
+
'dev.admins_only': '관리자만 개발자를 추가하고 제거합니다.',
|
|
1720
|
+
'dev.err.email': '이메일 주소가 올바르지 않습니다.',
|
|
1721
|
+
'dev.added_ws': '개발자를 작업공간 {name}에 추가했습니다.',
|
|
1722
|
+
'dev.added': '개발자를 추가했습니다.',
|
|
1723
|
+
'dev.err.current': '현재 비밀번호가 올바르지 않습니다.',
|
|
1724
|
+
'dev.pw_changed': '비밀번호를 변경했습니다.',
|
|
1725
|
+
'dev.email_saved': '이메일 주소를 저장했습니다.',
|
|
1726
|
+
'dev.not_found': '찾을 수 없습니다.',
|
|
1727
|
+
'dev.role_changed': '역할을 변경했습니다.',
|
|
1728
|
+
'dev.removed': '개발자를 제거했습니다.',
|
|
1729
|
+
// ------------------------------------------------------------ Security: two-factor sign-in (sprint 126)
|
|
1730
|
+
'mfa.menu': '2단계 로그인',
|
|
1731
|
+
'mfa.title': '보안',
|
|
1732
|
+
'mfa.intro': '비밀번호 입력 후 패스키(지문, 얼굴, 보안 키) 또는 인증 앱의 코드로 본인임을 확인합니다. 이를 분실한 경우 복구 코드로 로그인할 수 있습니다.',
|
|
1733
|
+
'mfa.required_you': '관리자가 2단계 로그인을 요구합니다. 패스키 또는 인증 앱을 추가하세요.',
|
|
1734
|
+
'mfa.banner': '2단계 로그인이 필요합니다. {date} 전에 설정하세요: {link}',
|
|
1735
|
+
'mfa.set_up_now': '지금 설정',
|
|
1736
|
+
'mfa.factors': '패스키 및 인증 앱',
|
|
1737
|
+
'mfa.app_name': '이름',
|
|
1738
|
+
'mfa.app_default': '휴대폰',
|
|
1739
|
+
'mfa.added': '추가됨',
|
|
1740
|
+
'mfa.last_used': '마지막 사용',
|
|
1741
|
+
'mfa.no_apps': '아직 두 번째 인증 요소가 없습니다. 비밀번호만으로 로그인합니다.',
|
|
1742
|
+
'mfa.add_app': '인증 앱 추가',
|
|
1743
|
+
'mfa.no_key': '2단계 로그인에서 앱의 비밀 키를 저장하려면 인스턴스 키(PGKILN_SECRET_KEY)가 필요합니다.',
|
|
1744
|
+
'mfa.scan': '인증 앱으로 QR 코드를 스캔하세요.',
|
|
1745
|
+
'mfa.or_enter': '또는 이 키를 직접 입력하세요:',
|
|
1746
|
+
'mfa.enter_code': '앱에 표시된 6자리 코드를 입력하세요.',
|
|
1747
|
+
'mfa.qr_label': '인증 앱용 QR 코드',
|
|
1748
|
+
'mfa.confirm_app': '확인 후 켜기',
|
|
1749
|
+
'mfa.cancel_setup': '취소',
|
|
1750
|
+
'mfa.setup_expired': '설정 시간이 너무 오래 걸렸습니다. 다시 시작하세요.',
|
|
1751
|
+
'mfa.wrong_setup': '코드가 일치하지 않습니다. 휴대폰의 시간을 확인하고 다음 코드로 시도하세요.',
|
|
1752
|
+
'mfa.app_added': '인증 앱을 추가했습니다. 이제부터 코드로도 로그인합니다.',
|
|
1753
|
+
'mfa.remove': '제거',
|
|
1754
|
+
'mfa.remove_app': '이 앱 제거',
|
|
1755
|
+
'mfa.your_password': '비밀번호',
|
|
1756
|
+
'mfa.wrong_password': '비밀번호가 틀렸습니다.',
|
|
1757
|
+
'mfa.cannot_remove_required': '2단계 로그인이 필수입니다. 이 항목을 제거하기 전에 다른 패스키나 앱을 추가하세요.',
|
|
1758
|
+
'mfa.cannot_remove_admin': '정책이 켜져 있는 동안에는 최소 두 명의 관리자(관리자가 그보다 적으면 모든 관리자)가 2단계 로그인을 유지해야 합니다.',
|
|
1759
|
+
'mfa.keep_admins': '지금은 할 수 없습니다. 2단계 정책에는 2단계 로그인을 사용하는 관리자가 최소 두 명(관리자가 그보다 적으면 모든 관리자) 필요합니다.',
|
|
1760
|
+
'mfa.removed': '제거했습니다.',
|
|
1761
|
+
'mfa.codes_title': '복구 코드',
|
|
1762
|
+
'mfa.codes_once': '이 코드를 휴대폰과 떨어진 안전한 곳에 보관하세요. 각 코드는 앱 코드 대신 한 번 로그인하는 데 사용됩니다. 지금만 표시됩니다.',
|
|
1763
|
+
'mfa.codes_saved': '이 코드를 저장했습니다',
|
|
1764
|
+
'mfa.codes_done': '완료',
|
|
1765
|
+
'mfa.codes_kept': '복구 코드를 저장했습니다.',
|
|
1766
|
+
'mfa.codes_left': '사용하지 않은 복구 코드: {n}개.',
|
|
1767
|
+
'mfa.codes_after': '패스키나 인증 앱을 추가하면 복구 코드를 받습니다.',
|
|
1768
|
+
'mfa.codes_low': '남은 복구 코드가 적습니다. 새로 만드세요.',
|
|
1769
|
+
'mfa.codes_new': '새 복구 코드',
|
|
1770
|
+
'mfa.codes_new_confirm': '새 복구 코드를 만드시겠습니까? 기존 코드는 더 이상 작동하지 않습니다.',
|
|
1771
|
+
'mfa.expired': '로그인 시간이 너무 오래 걸렸습니다. 다시 로그인하세요.',
|
|
1772
|
+
'mfa.step_title': '2단계 로그인',
|
|
1773
|
+
'mfa.step_intro': '{user}님, 본인임을 확인하세요. 패스키를 사용하거나 인증 앱의 코드를 입력하세요.',
|
|
1774
|
+
'mfa.code': '코드',
|
|
1775
|
+
'mfa.code_help': '앱의 6자리 숫자 또는 복구 코드 중 하나.',
|
|
1776
|
+
'mfa.verify': '확인',
|
|
1777
|
+
'mfa.cancel': '로그인으로 돌아가기',
|
|
1778
|
+
'mfa.locked_out': '휴대폰, 키 및 코드를 모두 분실했습니까? 관리자에게 2단계 로그인 재설정을 요청하세요.',
|
|
1779
|
+
'mfa.wrong': '코드가 올바르지 않거나 이미 사용되었습니다.',
|
|
1780
|
+
'mfa.column': '2단계',
|
|
1781
|
+
'mfa.on': '켜짐',
|
|
1782
|
+
'mfa.off': '꺼짐',
|
|
1783
|
+
'mfa.reset': '재설정',
|
|
1784
|
+
'mfa.reason': '사유',
|
|
1785
|
+
'mfa.reset_help': '{user}의 앱과 복구 코드를 제거하고 로그아웃시킵니다. 기록되며, 관리자에게 메일로 알립니다.',
|
|
1786
|
+
'mfa.reset_btn': '2단계 로그인 재설정',
|
|
1787
|
+
'mfa.reason_needed': '재설정 사유를 입력하세요.',
|
|
1788
|
+
'mfa.reset_done': '{user}의 2단계 로그인을 재설정했습니다.',
|
|
1789
|
+
'mfa.policy_title': '2단계 로그인',
|
|
1790
|
+
'mfa.policy_label': '2단계 로그인 필수 대상',
|
|
1791
|
+
'mfa.policy_off': '없음(선택 사항)',
|
|
1792
|
+
'mfa.policy_admins': '관리자',
|
|
1793
|
+
'mfa.policy_all': '모든 개발자',
|
|
1794
|
+
'mfa.grace': '유예 기간(일)',
|
|
1795
|
+
'mfa.grace_help': '앱이 없는 개발자는 그때까지 알림을 보며, 그 이후에는 보안 페이지만 볼 수 있습니다.',
|
|
1796
|
+
'mfa.policy_help': '2단계 로그인을 사용하는 관리자: {admins}명 중 {enrolled}명. 필수로 하려면 최소 두 명(관리자가 그보다 적으면 모두)이 필요합니다.',
|
|
1797
|
+
'mfa.policy_save': '저장',
|
|
1798
|
+
'mfa.policy_saved': '2단계 정책을 저장했습니다.',
|
|
1799
|
+
'mfa.policy_needs_admins': '먼저 최소 두 명의 관리자(관리자가 그보다 적으면 모든 관리자)가 2단계 로그인을 설정해야 아무도 혼자 잠기지 않습니다.',
|
|
1800
|
+
'mfa.without': '2단계 로그인 미사용: {list}.',
|
|
1801
|
+
'mfa.cli_note': '잠겼습니까? 서버에서: pgkiln admin reset-2fa <developer> 또는 pgkiln admin set-2fa-policy off.',
|
|
1802
|
+
// ------------------------------------------------------------ Security: passkeys and trusted browsers (sprint 127)
|
|
1803
|
+
'mfa.kind': '종류',
|
|
1804
|
+
'mfa.kind_passkey': '패스키',
|
|
1805
|
+
'mfa.kind_app': '인증 앱',
|
|
1806
|
+
'mfa.other_domain': '{domain}용',
|
|
1807
|
+
'mfa.other_domain_help': '{domain}용으로 만들어져 이 주소에서는 작동하지 않습니다. 여기에서 새 패스키를 추가하세요.',
|
|
1808
|
+
'mfa.passkey_intro': '지문, 얼굴, 화면 잠금 또는 보안 키로 로그인합니다. 패스키는 이 사이트에서만 작동합니다.',
|
|
1809
|
+
'mfa.passkey_default': '패스키',
|
|
1810
|
+
'mfa.add_passkey': '패스키 추가',
|
|
1811
|
+
'mfa.passkey_needs_js': '패스키를 추가하려면 JavaScript가 필요합니다. 인증 앱은 JavaScript 없이도 작동합니다.',
|
|
1812
|
+
'mfa.passkey_failed': '패스키가 작동하지 않았습니다. 다시 시도하거나 코드를 사용하세요.',
|
|
1813
|
+
'mfa.passkey_known': '이 패스키는 이미 추가되어 있습니다.',
|
|
1814
|
+
'mfa.passkey_added': '패스키를 추가했습니다. 이제부터 패스키로 로그인할 수 있습니다.',
|
|
1815
|
+
'mfa.remove_passkey': '이 패스키 제거',
|
|
1816
|
+
'mfa.use_passkey': '패스키 사용',
|
|
1817
|
+
'mfa.trust_browser': '이 브라우저를 {days}일 동안 신뢰',
|
|
1818
|
+
'mfa.trusted_title': '신뢰할 수 있는 브라우저',
|
|
1819
|
+
'mfa.trusted_count': '두 번째 단계를 건너뛰는 브라우저: {n}개(최대 {days}일).',
|
|
1820
|
+
'mfa.trusted_off': '브라우저 신뢰가 꺼져 있습니다.',
|
|
1821
|
+
'mfa.forget_browsers': '신뢰할 수 있는 브라우저 잊기',
|
|
1822
|
+
'mfa.browsers_forgotten': '모든 브라우저가 다시 두 번째 단계를 요청합니다.',
|
|
1823
|
+
'mfa.trust_days': '브라우저 신뢰 기간(일)',
|
|
1824
|
+
'mfa.trust_days_help': '두 번째 단계 후 개발자는 해당 브라우저에서 이 일수 동안 이를 건너뛸 수 있습니다. 0: 사용 안 함.',
|
|
1825
|
+
'mfa.passkey_needs_host': '패스키에는 IP 주소({host})가 아닌 호스트 이름이 필요합니다. localhost 또는 도메인 이름으로 빌더를 여세요.',
|
|
1826
|
+
'signin.passkey': '패스키로 로그인',
|
|
1827
|
+
'mfa.passkey_signin': '개발자가 패스키만으로 로그인 가능(비밀번호 없음)',
|
|
1828
|
+
'mfa.passkey_signin_help': '기기가 개발자를 확인한 경우(지문, 얼굴 또는 PIN)에만 해당하며, 이때 패스키는 두 가지 인증 요소 모두로 간주됩니다.',
|
|
1829
|
+
'mfa.weak_required': '2단계 로그인이 필수입니다. 계속하기 전에 기본 비밀번호를 변경하세요.',
|
|
1830
|
+
'wsp.mfa': '2단계 로그인',
|
|
1831
|
+
'wsp.mfa_required': '이 작업공간의 개발자에게 2단계 로그인 필수',
|
|
1832
|
+
'wsp.mfa_required_help': '인스턴스 정책에 추가로 적용됩니다. 패스키나 인증 앱이 없는 개발자는 인스턴스의 유예 기간을 받으며, 그 이후에는 보안 페이지만 볼 수 있습니다.',
|
|
1833
|
+
'wsp.mfa_since': '{date}부터 필수.',
|
|
1834
|
+
'wsp.mfa_without': '아직 설정하지 않음: {list}.',
|
|
1835
|
+
'wsp.mfa_save': '2단계 규칙 저장',
|
|
1836
|
+
'wsp.mfa_on': '이 작업공간의 개발자는 2단계 로그인이 필요합니다.',
|
|
1837
|
+
'wsp.mfa_off': '작업공간에서 더 이상 2단계 로그인을 요구하지 않습니다(인스턴스 정책은 계속 적용됨).',
|
|
1838
|
+
'signin.method': '로그인 방법',
|
|
1839
|
+
'signin.method_pgkiln': 'pgkiln 계정',
|
|
1840
|
+
'signin.with': '{provider}(으)로 로그인',
|
|
1841
|
+
'signin.ldap_unavailable': '{directory}에 연결할 수 없습니다. 나중에 다시 시도하세요.',
|
|
1842
|
+
'signin.sso_required': '작업공간에서 Single Sign-On을 요구합니다. ID 제공자를 사용하세요.',
|
|
1843
|
+
'signin.sso_unavailable': '{provider}에 연결할 수 없습니다. 나중에 다시 시도하세요.',
|
|
1844
|
+
'bsso.title': '빌더 로그인',
|
|
1845
|
+
'bsso.intro': '개발자도 이 제공자로 빌더에 로그인할 수 있습니다. 개발자는 이름만이 아니라 항상 연결한 ID로 식별됩니다.',
|
|
1846
|
+
'bsso.on': '개발자가 이 제공자로 빌더에 로그인 가능',
|
|
1847
|
+
'bsso.on_help': '로그인 페이지에 표시됩니다. 이 방법으로 로그인하면 pgkiln 자체의 두 번째 인증 요소를 건너뛰며, 제공자가 판단합니다.',
|
|
1848
|
+
'bsso.auto_create': '처음 로그인할 때 개발자 생성',
|
|
1849
|
+
'bsso.auto_create_help': '아래 개발자 그룹의 구성원 대상(비어 있으면 누구나). 새 개발자는 Default 작업공간에 참여합니다.',
|
|
1850
|
+
'bsso.link_existing': '같은 사용자 이름의 기존 개발자 연결',
|
|
1851
|
+
'bsso.link_existing_help': '처음 로그인할 때 한 번만 적용되며, 비상 관리자는 절대 연결하지 않습니다. 제공자의 사용자 이름을 신뢰할 수 있을 때만 켜세요. 그렇지 않으면 개발자가 보안 페이지에서 ID를 연결합니다.',
|
|
1852
|
+
'bsso.group': '개발자 그룹',
|
|
1853
|
+
'bsso.group_help': '이 그룹의 구성원만 개발자 계정을 받습니다. 비어 있으면 제공자가 로그인시키는 누구나.',
|
|
1854
|
+
'bsso.admin_group': '관리자 그룹',
|
|
1855
|
+
'bsso.admin_group_help': '설정하면 이 그룹의 구성원은 인스턴스 관리자가 되고 다른 사람은 그렇지 않으며, 로그인할 때마다 확인합니다(비상 관리자는 역할 유지).',
|
|
1856
|
+
'bsso.save': '빌더 로그인 저장',
|
|
1857
|
+
'bsso.saved': '빌더 로그인을 저장했습니다.',
|
|
1858
|
+
'bsso.linked': '연결된 개발자',
|
|
1859
|
+
'bsso.none_linked': '아직 연결된 개발자가 없습니다.',
|
|
1860
|
+
'bsso.unlink': '연결 해제',
|
|
1861
|
+
'bsso.unlink_confirm': '{user}의 연결을 해제하시겠습니까? 비밀번호로 로그인하거나 다시 연결해야 합니다.',
|
|
1862
|
+
'bsso.unlink_mine_confirm': '{provider} 연결을 해제하시겠습니까? 다시 연결할 수 있습니다.',
|
|
1863
|
+
'bsso.unlinked': 'ID 연결을 해제했습니다.',
|
|
1864
|
+
'bsso.keep_one': '작업공간에서 이 개발자에게 Single Sign-On을 요구합니다. 연결된 ID를 하나 유지하세요.',
|
|
1865
|
+
'bsso.yours': 'Single Sign-On',
|
|
1866
|
+
'bsso.yours_intro': '빌더에 로그인할 수 있는 ID 제공자.',
|
|
1867
|
+
'bsso.none_yours': '아직 연결된 ID가 없습니다.',
|
|
1868
|
+
'bsso.link': '{provider} 연결',
|
|
1869
|
+
'bsso.linked_now': '{provider}이(가) 연결되었습니다. 이제 이 제공자로 로그인할 수 있습니다.',
|
|
1870
|
+
'bsso.directories_note': 'LDAP 디렉터리는 처음 그 디렉터리로 로그인할 때 연결됩니다(관리자가 디렉터리별로 허용).',
|
|
1871
|
+
'bsso.break_glass': '비상 액세스',
|
|
1872
|
+
'bsso.break_glass_help': 'ID 제공자가 실패할 경우에 대비해, 작업공간에서 Single Sign-On을 요구하더라도 pgkiln 비밀번호로 로그인할 수 있습니다.',
|
|
1873
|
+
'bsso.break_glass_make': '비상 액세스 지정',
|
|
1874
|
+
'bsso.break_glass_remove': '비상 액세스 제거',
|
|
1875
|
+
'bsso.break_glass_on': '{user}은(는) 비상 관리자입니다. 두 번째 인증 요소도 설정하게 하세요.',
|
|
1876
|
+
'bsso.break_glass_off': '{user}은(는) 더 이상 비상 관리자가 아닙니다.',
|
|
1877
|
+
'bsso.break_glass_admins': '관리자만 비상 액세스 권한을 가질 수 있습니다.',
|
|
1878
|
+
'bsso.keep_break_glass': '작업공간에서 Single Sign-On을 요구합니다. 비상 관리자를 최소 한 명 유지하세요.',
|
|
1879
|
+
'wsp.sso': 'Single Sign-On',
|
|
1880
|
+
'wsp.sso_only': '이 작업공간의 개발자는 ID 제공자를 통해 로그인해야 함',
|
|
1881
|
+
'wsp.sso_only_help': '또는 LDAP 디렉터리. 비상 관리자를 제외하고 pgkiln 비밀번호와 패스키만으로는 거부됩니다. `pgkiln admin builder-sign-in password`로 끌 수 있습니다.',
|
|
1882
|
+
'wsp.sso_unlinked': '아직 연결된 ID 없음(로그인할 수 없음): {list}.',
|
|
1883
|
+
'wsp.sso_save': 'Single Sign-On 규칙 저장',
|
|
1884
|
+
'wsp.sso_on': '이 작업공간의 개발자는 Single Sign-On을 사용해야 합니다.',
|
|
1885
|
+
'wsp.sso_off': '작업공간의 개발자가 다시 pgkiln 비밀번호를 사용할 수 있습니다.',
|
|
1886
|
+
'wsp.sso_no_break_glass': 'ID 제공자가 실패해도 누군가 로그인할 수 있도록 먼저 관리자를 비상 관리자로 지정하세요(개발자).',
|
|
1887
|
+
'wsp.sso_link_first': '먼저 보안 페이지에서 ID를 연결하세요. 그렇지 않으면 본인도 로그인할 수 없습니다.',
|
|
1888
|
+
'us.mfa_title': '2단계 로그인',
|
|
1889
|
+
'us.mfa_status': '인증 앱: {n}개. 남은 복구 코드: {codes}개.',
|
|
1890
|
+
'us.mfa_none': '아직 인증 앱이 없습니다.',
|
|
1891
|
+
'us.mfa_reset_help': '{user}의 인증 앱과 복구 코드를 제거하고 모든 곳에서 로그아웃시킵니다. 애플리케이션에서 2단계 로그인을 요구하면 다음 로그인 시 새 앱을 추가합니다. 기록됩니다.',
|
|
1892
|
+
'us.mfa_reset_done': '{user}의 2단계 로그인을 재설정했습니다.',
|
|
1893
|
+
'us.mfa_reason_needed': '재설정 사유를 입력하세요.',
|
|
1894
|
+
};
|