@object-ui/i18n 17.5.0 → 17.6.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.
@@ -82,6 +82,7 @@ const ko = {
82
82
  removeFromFavorites: "즐겨찾기에서 제거",
83
83
  loading: "로딩 중…",
84
84
  save: "저장",
85
+ discard: "버리기",
85
86
  cancel: "취소",
86
87
  delete: "삭제",
87
88
  edit: "편집",
@@ -261,6 +262,14 @@ const ko = {
261
262
  tags: {
262
263
  placeholder: "입력 후 Enter 키로 추가…",
263
264
  },
265
+ // objectui#4028 — `AddressField`'s five sub-labels.
266
+ address: {
267
+ street: "도로명 주소",
268
+ city: "시/군/구",
269
+ state: "시/도",
270
+ postalCode: "우편번호",
271
+ country: "국가",
272
+ },
264
273
  textarea: {
265
274
  characterCount: "글자 수: {{max}}자 중 {{count}}자",
266
275
  charactersRemaining: "{{count}}자 남음",
@@ -893,6 +902,10 @@ const ko = {
893
902
  attachmentDownloadDenied: "이 첨부파일을 다운로드할 권한이 없습니다.",
894
903
  attachmentAuthRequired: "이 첨부파일을 다운로드하려면 로그인하세요.",
895
904
  attachmentPermissionDenied: "이 작업을 수행할 권한이 없습니다.",
905
+ attachmentsAccessDenied: "이 첨부파일에 접근할 권한이 없습니다.",
906
+ attachmentsLoadFailed: "이 레코드의 첨부파일을 불러오지 못했습니다.",
907
+ attachmentsApiUnavailable: "이 객체에서는 첨부 파일 목록을 사용할 수 없습니다.",
908
+ retryLoadAttachments: "다시 시도",
896
909
  unifiedDiff: "통합 보기",
897
910
  sideBySideDiff: "나란히 보기",
898
911
  noChanges: "변경 없음",
@@ -944,6 +957,8 @@ const ko = {
944
957
  writeStrippedTitle: "저장되었지만 일부 필드는 적용되지 않았습니다",
945
958
  writeStrippedReadonly: "다음 필드는 읽기 전용이므로 적용되지 않았습니다: {{fields}}",
946
959
  writeStrippedByState: "다음 필드는 이 레코드의 현재 상태에서 편집할 수 없으므로 적용되지 않았습니다: {{fields}}",
960
+ writeStrippedPrimaryKey: "다음 필드는 레코드의 식별자이며 저장으로 변경할 수 없으므로 적용되지 않았습니다: {{fields}}",
961
+ writeStrippedUnknownReason: "다음 필드는 서버에서 적용되지 않았습니다: {{fields}}",
947
962
  approvalPendingEditable: "승인 진행 중 · 편집 가능",
948
963
  approvalPendingTooltip: "이 레코드에 대기 중인 승인 요청이 있지만 이 단계에서는 편집할 수 있습니다",
949
964
  approvalProgress: "승인 — {{need}}건 중 {{got}}건",
@@ -956,6 +971,13 @@ const ko = {
956
971
  cancelApprovalTooltipUnlocked: "대기 중인 승인 요청 취소",
957
972
  cancelApprovalFailed: "승인 취소 실패",
958
973
  cancelApprovalUnavailable: "이 데이터 소스에서는 승인 취소가 지원되지 않습니다",
974
+ pathLabel: '레코드 경로',
975
+ pathStageCompleted: '{{stage}}, 완료됨',
976
+ pathStageCurrent: '{{stage}}, 현재 단계',
977
+ pathStageUpcoming: '{{stage}}, 예정',
978
+ pathStageLostCurrent: '{{stage}}, 실패, 현재 단계',
979
+ pathStageLostUpcoming: '{{stage}}, 실패, 도달하지 않음',
980
+ pathStageWonUpcoming: '{{stage}}, 목표 단계, 도달하지 않음',
959
981
  linkCopied: "링크가 클립보드에 복사됨",
960
982
  linkCopyFailed: "링크 복사 실패",
961
983
  cancel: "취소",
@@ -1014,66 +1036,6 @@ const ko = {
1014
1036
  invalidCoordinates: "좌표가 누락되었거나 유효하지 않아 {{count}}개 레코드가 지도에서 제외되었습니다.",
1015
1037
  invalidCoordinatesPlural: "좌표가 누락되었거나 유효하지 않아 {{count}}개 레코드가 지도에서 제외되었습니다.",
1016
1038
  },
1017
- workflow: {
1018
- draft: "초안",
1019
- active: "활성",
1020
- paused: "일시 중지",
1021
- completed: "완료",
1022
- cancelled: "취소됨",
1023
- save: "저장",
1024
- publish: "게시",
1025
- addNode: "노드 추가",
1026
- workflowFlow: "워크플로우",
1027
- properties: "속성",
1028
- connections: "연결",
1029
- quickConnect: "빠른 연결",
1030
- fromPlaceholder: "시작…",
1031
- toPlaceholder: "종료…",
1032
- connect: "연결",
1033
- label: "라벨",
1034
- type: "유형",
1035
- description: "설명",
1036
- assignee: "담당자",
1037
- assigneeType: "담당자 유형",
1038
- user: "사용자",
1039
- role: "역할",
1040
- group: "그룹",
1041
- expression: "수식",
1042
- timeoutMinutes: "제한 시간(분)",
1043
- selectNodeToEdit: "속성을 편집할 노드를 선택하세요",
1044
- workflowTitle: "워크플로우 제목",
1045
- newWorkflow: "새 워크플로우",
1046
- outConnections: "{{count}}개 출력",
1047
- start: "시작",
1048
- end: "종료",
1049
- task: "작업",
1050
- userTask: "사용자 작업",
1051
- serviceTask: "서비스 작업",
1052
- scriptTask: "스크립트 작업",
1053
- approval: "승인",
1054
- condition: "조건",
1055
- parallelGateway: "병렬 게이트웨이",
1056
- joinGateway: "합류 게이트웨이",
1057
- boundaryEvent: "경계 이벤트",
1058
- delay: "지연",
1059
- notification: "알림",
1060
- webhook: "Webhook",
1061
- allowConcurrency: "허용 (동시 실행)",
1062
- forbidConcurrency: "금지 (새 작업 건너뛰기)",
1063
- replaceConcurrency: "대체 (기존 취소)",
1064
- queueConcurrency: "대기열 (현재 완료 후 실행)",
1065
- conditionEvent: "조건",
1066
- manualEvent: "수동",
1067
- webhookEvent: "Webhook",
1068
- timerEvent: "타이머",
1069
- signalEvent: "시그널",
1070
- versionHistory: "버전 기록",
1071
- importBpmn: "BPMN 가져오기",
1072
- exportBpmn: "BPMN 내보내기",
1073
- undo: "실행 취소",
1074
- redo: "다시 실행",
1075
- resetZoom: "확대/축소 초기화",
1076
- },
1077
1039
  dashboard: {
1078
1040
  noRows: "행 없음",
1079
1041
  loading: "로딩 중…",
@@ -1113,6 +1075,105 @@ const ko = {
1113
1075
  total: "합계",
1114
1076
  noDataAvailable: "사용 가능한 데이터 없음",
1115
1077
  noDataSourceFor: "데이터 소스 없음:",
1078
+ config: {
1079
+ breadcrumb: {
1080
+ dashboard: "대시보드",
1081
+ configuration: "구성",
1082
+ widget: "위젯",
1083
+ chart: "차트",
1084
+ table: "테이블",
1085
+ pivotTable: "피벗 테이블",
1086
+ },
1087
+ section: {
1088
+ general: "일반",
1089
+ layout: "레이아웃",
1090
+ data: "데이터",
1091
+ dataBinding: "데이터 바인딩",
1092
+ appearance: "모양",
1093
+ },
1094
+ field: {
1095
+ title: "제목",
1096
+ description: "설명",
1097
+ columns: "열",
1098
+ gap: "간격",
1099
+ rowHeight: "행 높이(px)",
1100
+ autoRefresh: "자동 새로고침",
1101
+ showDescription: "설명 표시",
1102
+ theme: "테마",
1103
+ widgetType: "위젯 유형",
1104
+ colorVariant: "색상 변형",
1105
+ dataset: "데이터 세트",
1106
+ dimensions: "차원",
1107
+ values: "값",
1108
+ width: "너비(열)",
1109
+ height: "높이(행)",
1110
+ },
1111
+ placeholder: {
1112
+ dashboardTitle: "대시보드 제목",
1113
+ dashboardDescription: "제목 아래에 표시되는 간단한 요약",
1114
+ widgetTitle: "위젯 제목",
1115
+ widgetDescription: "위젯 설명",
1116
+ datasetName: "데이터 세트 이름",
1117
+ selectDataset: "데이터 세트 선택…",
1118
+ searchDatasets: "데이터 세트 검색…",
1119
+ addDimension: "차원 추가…",
1120
+ addMeasure: "측정값 추가…",
1121
+ searchMembers: "검색…",
1122
+ },
1123
+ empty: {
1124
+ datasets: "데이터 세트를 찾을 수 없습니다.",
1125
+ dimensions: "선택된 차원이 없습니다.",
1126
+ measures: "선택된 측정값이 없습니다.",
1127
+ nothingToAdd: "추가할 항목이 없습니다.",
1128
+ },
1129
+ help: {
1130
+ dataset: "이 위젯이 바인딩하는 시맨틱 레이어 데이터 세트(ADR-0021).",
1131
+ dimensions: "이러한 데이터 세트 차원으로 값을 그룹화/분할합니다.",
1132
+ dimensionsPivot: "그룹화/분할 필드입니다. 마지막 차원은 열로 가로 확장됩니다.",
1133
+ values: "표시할 데이터 세트의 측정값(하나 이상).",
1134
+ },
1135
+ action: {
1136
+ add: "추가",
1137
+ remove: "{{name}} 제거",
1138
+ },
1139
+ refresh: {
1140
+ off: "끄기",
1141
+ every30s: "30초마다",
1142
+ every1m: "1분마다",
1143
+ every5m: "5분마다",
1144
+ every15m: "15분마다",
1145
+ every30m: "30분마다",
1146
+ every1h: "1시간마다",
1147
+ },
1148
+ themeOption: {
1149
+ light: "라이트",
1150
+ dark: "다크",
1151
+ auto: "자동",
1152
+ },
1153
+ widgetType: {
1154
+ metric: "지표",
1155
+ bar: "막대 차트",
1156
+ horizontalBar: "가로 막대",
1157
+ line: "꺾은선형 차트",
1158
+ pie: "원형 차트",
1159
+ donut: "도넛 차트",
1160
+ area: "영역 차트",
1161
+ scatter: "분산형 차트",
1162
+ funnel: "퍼널",
1163
+ table: "테이블",
1164
+ pivot: "피벗 테이블",
1165
+ },
1166
+ color: {
1167
+ default: "기본",
1168
+ blue: "파랑",
1169
+ teal: "청록",
1170
+ orange: "주황",
1171
+ purple: "보라",
1172
+ success: "성공",
1173
+ warning: "경고",
1174
+ danger: "위험",
1175
+ },
1176
+ },
1116
1177
  trend: {
1117
1178
  vsLastQuarter: "전분기 대비",
1118
1179
  vsLastMonth: "전월 대비",
@@ -1122,24 +1183,6 @@ const ko = {
1122
1183
  vsPreviousPeriod: "이전 기간 대비",
1123
1184
  },
1124
1185
  },
1125
- configPanel: {
1126
- save: "저장",
1127
- discard: "취소",
1128
- close: "닫기",
1129
- layout: "레이아웃",
1130
- columns: "열",
1131
- gap: "간격",
1132
- rowHeight: "행 높이",
1133
- data: "데이터",
1134
- refreshInterval: "새로고침 간격",
1135
- appearance: "모양",
1136
- title: "제목",
1137
- showDescription: "설명 표시",
1138
- theme: "테마",
1139
- configuration: "구성",
1140
- general: "일반",
1141
- advanced: "고급",
1142
- },
1143
1186
  appDesigner: {
1144
1187
  createApp: "앱 만들기",
1145
1188
  editApp: "앱 편집",
@@ -1190,8 +1233,6 @@ const ko = {
1190
1233
  showSort: "정렬 표시",
1191
1234
  appearance: "외관",
1192
1235
  rowHeight: "행 높이",
1193
- stripedRows: "줄무늬 행",
1194
- bordered: "테두리",
1195
1236
  livePreview: "실시간 미리보기",
1196
1237
  stepBasicDesc: "이름, 제목 및 레이아웃",
1197
1238
  stepObjectsDesc: "비즈니스 객체 선택",
@@ -1305,7 +1346,6 @@ const ko = {
1305
1346
  unique: "고유",
1306
1347
  readOnly: "읽기 전용",
1307
1348
  hidden: "숨김",
1308
- indexed: "인덱스됨",
1309
1349
  externalId: "외부 ID",
1310
1350
  trackHistory: "기록 추적",
1311
1351
  defaultValue: "기본값",
@@ -1379,6 +1419,13 @@ const ko = {
1379
1419
  passwordsDownload: "CSV 다운로드",
1380
1420
  },
1381
1421
  ai: {
1422
+ pendingDrafts: {
1423
+ count: "게시되지 않은 변경이 {{count}}건 있습니다 — 사용자에게는 보이지 않습니다.",
1424
+ publish: "게시",
1425
+ published: "대기 중인 변경 사항이 모두 반영되었습니다.",
1426
+ failed: "게시에 실패했습니다.",
1427
+ publishedWithFindings: "게시했지만 런타임 프로브에서 문제가 보고되었습니다: {{detail}}",
1428
+ },
1382
1429
  usage: {
1383
1430
  title: "AI 사용량",
1384
1431
  meterBuild: "빌드",
@@ -1514,6 +1561,11 @@ const ko = {
1514
1561
  changesConfirmed: "확인됨",
1515
1562
  changesConfirm: "변경 확정",
1516
1563
  changesConfirmHint: "회신하여 이 변경을 확정하거나 조정하세요.",
1564
+ changesApplying: "적용 중…",
1565
+ changesApplied: "적용됨",
1566
+ changesDrafted: "초안으로 저장됨",
1567
+ changesFailed: "적용되지 않음",
1568
+ discussing: "논의 중: {{target}}",
1517
1569
  changeVerb: {
1518
1570
  createObject: "객체 생성",
1519
1571
  addField: "필드 추가",
@@ -1713,101 +1765,31 @@ const ko = {
1713
1765
  filterOrNotSavable: "이 필터는 조건 사이에 OR을 사용하며, 저장된 뷰에는 아직 저장할 수 없습니다. 현재 목록에는 계속 적용됩니다. 뷰에 저장하려면 OR 그룹을 해제하세요.",
1714
1766
  filterNestedNotSavable: "이 필터는 중첩된 조건 그룹을 사용하며, 저장된 뷰에는 저장할 수 없습니다. 뷰에 저장하려면 단일 조건 목록으로 펼치세요.",
1715
1767
  allRecords: "모든 레코드",
1716
- exitDesignMode: "디자인 모드 종료",
1717
- enterDesignMode: "디자인 모드 시작",
1718
- metadataInspector: "메타데이터 인스펙터",
1719
- editView: "뷰 편집",
1720
- addView: "뷰 추가",
1721
- designTools: "디자인 도구",
1722
1768
  new: "새로 만들기",
1723
1769
  configureView: "뷰 구성",
1724
- closePanel: "패널 닫기",
1725
- page: "페이지",
1726
- pageConfigHint: "도구 모음, 탐색 및 뷰 셸 설정",
1727
- listConfigHint: "이 목록 유형의 데이터 렌더링, 열 및 모양",
1728
- general: "일반",
1729
- generalHint: "보기 제목, 설명 및 유형",
1730
1770
  toolbar: "도구 모음",
1731
- toolbarHint: "검색, 필터, 정렬, 그룹화 및 밀도 전환",
1732
1771
  toolbarEnabledCount: "{{total}}개 중 {{count}}개 활성화",
1733
- navigationSection: "탐색",
1734
- navigationHint: "행 클릭 동작 및 상세 보기 설정",
1735
- records: "레코드",
1736
- recordsHint: "선택 모드, 레코드 추가 및 인라인 편집",
1737
- exportPrint: "내보내기 및 인쇄",
1738
- exportPrintHint: "내보내기 형식, 인쇄 및 레코드 수 표시",
1739
- showAllFields: "모두 표시",
1740
- hideAllFields: "모두 숨기기",
1741
1772
  searchFields: "필드 검색…",
1742
1773
  title: "제목",
1743
- description: "설명",
1744
- data: "데이터",
1745
- source: "소스",
1746
- columns: "열",
1747
- filterBy: "필터 기준",
1748
- sortBy: "정렬 기준",
1749
- appearance: "외관",
1750
- showDescription: "설명 표시",
1751
1774
  viewType: "뷰 유형",
1752
- userFilters: "사용자 필터",
1753
- enableSearch: "검색 활성화",
1754
- enableFilter: "필터 활성화",
1755
- enableSort: "정렬 활성화",
1756
- enableHideFields: "필드 숨기기 활성화",
1757
- enableGroup: "그룹 활성화",
1758
- enableColor: "색상 활성화",
1759
- enableDensity: "밀도 활성화",
1760
- userActions: "사용자 작업",
1761
- addRecordViaForm: "양식으로 레코드 추가",
1762
- advanced: "고급",
1763
- allowExport: "내보내기 허용",
1764
1775
  recordCount: "{{count}}개 레코드",
1765
- noDescription: "설명 없음",
1766
- none: "없음",
1767
- columnsConfigured: "{{count}}개 열",
1768
1776
  save: "저장",
1769
1777
  discard: "취소",
1770
1778
  createView: "뷰 생성",
1771
1779
  newView: "새 뷰",
1772
- typeOptions: "유형 옵션",
1773
1780
  groupByField: "그룹화 필드",
1774
1781
  startDateField: "시작 날짜 필드",
1775
1782
  titleField: "제목 필드",
1776
1783
  latitudeField: "위도 필드",
1777
1784
  longitudeField: "경도 필드",
1778
1785
  imageField: "이미지 필드",
1779
- dateField: "날짜 필드",
1780
1786
  selectField: "필드 선택…",
1781
- gridOptionsHint: "그리드 뷰는 위에서 구성된 열을 사용합니다.",
1782
1787
  groupBy: "그룹화 기준",
1783
- prefixField: "접두사 필드",
1784
- fields: "필드",
1785
- fieldsVisible: "{{count}}개 표시",
1786
- sortsCount: "{{count}}개 정렬",
1787
- filtersCount: "{{count}}개 필터",
1788
1788
  endDateField: "종료 날짜 필드",
1789
- color: "색상",
1790
- fieldTextColor: "필드 텍스트 색상",
1791
- rowHeight: "행 높이",
1792
- wrapHeaders: "헤더 줄바꿈",
1793
- showFieldDescriptions: "필드 설명 표시",
1794
- collapseAllByDefault: "기본적으로 모두 접기",
1795
- striped: "줄무늬 행",
1796
- bordered: "테두리 셀",
1797
- inlineEdit: "인라인으로 레코드 편집",
1798
- addDeleteRecordsInline: "인라인으로 레코드 추가/삭제",
1799
- clickIntoRecordDetails: "레코드 상세 보기 클릭",
1800
- navigationMode: "탐색 모드",
1801
- navigationWidth: "탐색 너비",
1802
- navigationWidthHint: "서랍, 모달, 분할 탐색 모드에서 사용 가능",
1803
- openNewTab: "새 탭에서 열기",
1804
- openNewTabHint: "페이지 및 새 창 탐색 모드에서 사용 가능",
1805
1789
  import: "가져오기",
1806
1790
  importTitle: "CSV에서 가져오기",
1807
1791
  importedToast: "{{count}}개 행 가져옴.",
1808
1792
  importedWithSkipped: "{{ok}}개 행 가져옴; {{skipped}}개 건너뜀.",
1809
- showAdvancedSettings: "고급 설정 표시",
1810
- showFewerSettings: "설정 줄이기",
1811
1793
  createViewDesc: "보기 유형을 선택하고 이름을 지정하세요. 모든 설정은 나중에 변경할 수 있습니다.",
1812
1794
  cancel: "취소",
1813
1795
  create: "생성",
@@ -1855,58 +1837,9 @@ const ko = {
1855
1837
  xAxisFieldHelp: "범주형 또는 시간 차원.",
1856
1838
  yAxisField: "Y축 필드",
1857
1839
  yAxisFieldHelp: "집계할 숫자 필드.",
1858
- selectionMode: "선택 모드",
1859
- selectionNone: "없음",
1860
- selectionSingle: "단일",
1861
- selectionMultiple: "다중",
1862
- pageSize: "페이지 크기",
1863
- pageSizeOptions: "페이지 크기 옵션",
1864
- exportFormats: "내보내기 형식",
1865
- exportMaxRecords: "최대 레코드 수",
1866
- exportIncludeHeaders: "헤더 포함",
1867
- exportFileNamePrefix: "파일 이름 접두사",
1868
- searchableFields: "검색 가능한 필드",
1869
- filterableFields: "필터링 가능한 필드",
1870
- resizableColumns: "크기 조절 가능한 열",
1871
- densityCompact: "컴팩트",
1872
- densityComfortable: "보통",
1873
- densitySpacious: "넓음",
1874
- densityMode: "밀도 모드",
1875
- hiddenFields: "숨겨진 필드",
1876
- rowActions: "행 작업",
1877
- bulkActions: "일괄 작업",
1878
- sharing: "공유",
1879
- sharingEnabled: "공유 활성화",
1880
- sharingVisibility: "가시성",
1881
- addRecordEnabled: "레코드 추가 활성화",
1882
- addRecordPosition: "위치",
1883
- addRecordMode: "모드",
1884
- addRecordFormView: "양식 보기",
1885
- conditionalFormatting: "조건부 서식",
1886
- addRule: "규칙 추가",
1887
- quickFilters: "빠른 필터",
1888
- addQuickFilter: "빠른 필터 추가",
1889
- ufElements: "요소",
1890
- ufDropdown: "드롭다운",
1891
1840
  ufTabs: "탭",
1892
- ufToggle: "토글",
1893
1841
  ufAddField: "+ 필터 필드 추가…",
1894
- ufNoFields: "사용 가능한 필드 없음",
1895
- ufAddTab: "+ 탭 추가",
1896
- ufTabLabel: "레이블",
1897
1842
  ufShowAllRecords: "\"모든 레코드\" 탭 표시",
1898
- ufAllowAddTab: "탭 추가 허용",
1899
- showRecordCount: "레코드 수 표시",
1900
- allowPrinting: "인쇄 허용",
1901
- virtualScroll: "가상 스크롤",
1902
- emptyStateTitle: "빈 상태 제목",
1903
- emptyStateMessage: "빈 상태 메시지",
1904
- emptyStateIcon: "빈 상태 아이콘",
1905
- ariaLabel: "ARIA 레이블",
1906
- ariaDescribedBy: "ARIA 설명",
1907
- ariaLive: "ARIA 라이브",
1908
- accessibility: "접근성",
1909
- viewTabs: "보기 탭",
1910
1843
  },
1911
1844
  localeSwitcher: {
1912
1845
  label: "언어",
@@ -2008,7 +1941,7 @@ const ko = {
2008
1941
  submitButton: "재설정 링크 보내기",
2009
1942
  submittingButton: "전송 중…",
2010
1943
  successTitle: "이메일을 확인하세요",
2011
- successDescription: "{{email}}(으)로 비밀번호 재설정 링크를 전송했습니다. 수신함을 확인해주세요.",
1944
+ successDescription: "{email}(으)로 비밀번호 재설정 링크를 전송했습니다. 수신함을 확인해주세요.",
2012
1945
  backToSignInText: "로그인으로 돌아가기",
2013
1946
  rememberPasswordText: "비밀번호가 기억나시나요?",
2014
1947
  signInText: "로그인",
@@ -2283,10 +2216,12 @@ const ko = {
2283
2216
  build: {
2284
2217
  title: "앱 만들기",
2285
2218
  subtitle: "처음부터 시작 — 객체, 폼, 자동화, 인터페이스를 설계합니다.",
2219
+ noCapability: "이 워크스페이스에서는 앱 만들기를 사용할 수 없습니다 — ‘메타데이터 관리’ 권한이 필요하지만 계정에 해당 권한이 없습니다.",
2286
2220
  },
2287
2221
  template: {
2288
2222
  title: "템플릿으로 시작",
2289
2223
  subtitle: "마켓플레이스에서 템플릿 앱을 설치하고 원하는 대로 바꾸세요.",
2224
+ marketplaceDisabled: "이 런타임에는 앱 마켓플레이스가 구성되어 있지 않아 여기에서 설치할 템플릿이 없습니다.",
2290
2225
  },
2291
2226
  welcomeAdminDescription: "비즈니스를 한 문장으로 설명해 주세요 — AI가 객체, 화면, API, 에이전트 도구를 생성합니다. 왼쪽 메뉴에서 직접 설정할 수도 있습니다.",
2292
2227
  welcomeAdminDescriptionNoBuild: "왼쪽 관리 메뉴에서 첫 애플리케이션을 설정하세요. 데이터가 쌓이면 AI 어시스턴트가 살펴보는 것을 도와줍니다.",
@@ -2468,21 +2403,6 @@ const ko = {
2468
2403
  recordNotFound: "레코드를 찾을 수 없습니다",
2469
2404
  recordNotFoundDescription: "찾고 있는 레코드가 존재하지 않거나 삭제되었을 수 있습니다.",
2470
2405
  },
2471
- renderer: {
2472
- noPageSchema: "페이지 스키마가 없습니다",
2473
- noFormSchema: "양식 스키마가 없습니다",
2474
- noDashboardSchema: "대시보드 스키마가 없습니다",
2475
- pageRendering: "페이지 렌더링: {{name}}",
2476
- dashboardRendering: "대시보드 렌더링: {{name}}",
2477
- formRenderingMode: "{{mode}} 모드로 양식 렌더링",
2478
- formRenderingFor: "레코드 {{id}}에 대해",
2479
- createRecord: "레코드 만들기",
2480
- editRecord: "레코드 편집",
2481
- page: "페이지",
2482
- dashboard: "대시보드",
2483
- save: "저장",
2484
- cancel: "취소",
2485
- },
2486
2406
  actionDialog: {
2487
2407
  title: "작업 매개변수",
2488
2408
  description: "계속하려면 필요한 정보를 입력하세요.",
@@ -2582,17 +2502,17 @@ const ko = {
2582
2502
  },
2583
2503
  organizations: {
2584
2504
  create: "워크스페이스 만들기",
2585
- mine: "내 조직",
2586
- title: "조직",
2587
- heading: "내 조직",
2588
- subtitle: "계속할 조직을 선택하거나 새 조직을 만드세요.",
2589
- searchPlaceholder: "조직 검색",
2590
- new: "새 조직",
2591
- current: "현재 조직",
2505
+ mine: "내 워크스페이스",
2506
+ title: "워크스페이스",
2507
+ heading: "내 워크스페이스",
2508
+ subtitle: "계속할 워크스페이스를 선택하거나 새 워크스페이스를 만드세요.",
2509
+ searchPlaceholder: "워크스페이스 검색",
2510
+ new: "새 워크스페이스",
2511
+ current: "현재 워크스페이스",
2592
2512
  manage: "관리",
2593
- emptyTitle: "아직 조직이 없습니다",
2594
- emptyDescription: "시작하려면 첫 번째 조직을 만드세요.",
2595
- noMatches: "검색과 일치하는 조직이 없습니다.",
2513
+ emptyTitle: "아직 워크스페이스가 없습니다",
2514
+ emptyDescription: "시작하려면 첫 번째 워크스페이스를 만드세요.",
2515
+ noMatches: "검색과 일치하는 워크스페이스가 없습니다.",
2596
2516
  },
2597
2517
  organization: {
2598
2518
  roles: {
@@ -2721,6 +2641,9 @@ const ko = {
2721
2641
  declined: "초대를 거절함",
2722
2642
  declineFailed: "초대 거절 실패",
2723
2643
  },
2644
+ current: {
2645
+ label: "현재 조직",
2646
+ },
2724
2647
  switcher: {
2725
2648
  label: "조직 전환",
2726
2649
  groupLabel: "작업 중인 조직",
@@ -2768,52 +2691,6 @@ const ko = {
2768
2691
  consentRequired: "계속하려면 개인정보 처리방침에 동의하세요.",
2769
2692
  rateLimited: "제출하기 전에 잠시 답변을 검토하세요.",
2770
2693
  redirectBlocked: "제출이 수락되었지만 보안상의 이유로 리디렉션 URL이 차단되었습니다.",
2771
- demo: {
2772
- contactTitle: "문의하기",
2773
- contactDescription: "프로젝트에 대해 알려주시면 영업 담당자가 1 영업일 이내에 연락드립니다.",
2774
- supportTitle: "지원 요청 제출",
2775
- supportDescription: "문제를 설명해 주세요 — 팀이 1 영업일 이내에 답변 드립니다.",
2776
- thankYouSalesTitle: "감사합니다 — 메시지를 받았습니다!",
2777
- thankYouSalesMessage: "영업 담당자가 1 영업일 이내에 연락드립니다.",
2778
- thankYouSupportTitle: "접수되었습니다 — 요청이 대기 중입니다.",
2779
- thankYouSupportMessage: "지원 엔지니어가 곧 후속 조치를 취할 것입니다. 추가 스크린샷이 있으면 이 페이지를 저장하세요.",
2780
- field: {
2781
- firstName: "이름",
2782
- lastName: "성",
2783
- email: "업무용 이메일",
2784
- phone: "전화번호",
2785
- jobTitle: "직함",
2786
- company: "회사",
2787
- website: "웹사이트",
2788
- industry: "업종",
2789
- companySize: "회사 규모",
2790
- howCanWeHelp: "어떻게 도와드릴까요?",
2791
- subject: "제목",
2792
- description: "설명",
2793
- issueType: "문제 유형",
2794
- priority: "우선순위",
2795
- },
2796
- industry: {
2797
- technology: "기술",
2798
- software: "소프트웨어 / SaaS",
2799
- finance: "금융",
2800
- healthcare: "의료",
2801
- retail: "리테일",
2802
- other: "기타",
2803
- },
2804
- issueType: {
2805
- question: "질문",
2806
- problem: "문제",
2807
- bug: "버그",
2808
- feature_request: "기능 요청",
2809
- },
2810
- priority: {
2811
- low: "낮음",
2812
- medium: "보통",
2813
- high: "높음",
2814
- critical: "긴급",
2815
- },
2816
- },
2817
2694
  },
2818
2695
  connectAgent: {
2819
2696
  disabled: {
@@ -2926,6 +2803,7 @@ const ko = {
2926
2803
  retry: "다시 시도",
2927
2804
  errors: {
2928
2805
  expired: "승인되기 전에 요청이 만료되었습니다. 다시 시작하세요.",
2806
+ accessDenied: "연결 요청이 거부되었습니다. 다시 시작하세요.",
2929
2807
  bindFailed: "바인딩에 실패했습니다.",
2930
2808
  deviceCodeFailed: "장치 코드 요청에 실패했습니다.",
2931
2809
  },
@@ -2991,10 +2869,16 @@ const ko = {
2991
2869
  installedBadge: "v{{version}} 설치됨",
2992
2870
  load: {
2993
2871
  failed: "마켓플레이스를 로드할 수 없습니다",
2994
- failedHint: "기본적으로 이 런타임은 ObjectStack 퍼블릭 클라우드를 가리킵니다. 런타임이 온라인인지 확인하세요.",
2872
+ failedHintConfigured: "이 런타임은 {{url}} 의 컨트롤 플레인을 통해 마켓플레이스에 접속합니다. 해당 주소가 온라인이고 여기에서 접근 가능한지 확인하세요.",
2873
+ failedHintSameOrigin: "이 런타임이 마켓플레이스 카탈로그를 직접 제공합니다. 런타임이 온라인인지 확인하세요.",
2995
2874
  packageFailed: "패키지를 로드할 수 없습니다",
2996
2875
  notFound: "찾을 수 없습니다.",
2997
2876
  },
2877
+ disabled: {
2878
+ title: "앱 마켓플레이스가 꺼져 있습니다",
2879
+ description: "이 런타임에는 마켓플레이스가 구성되어 있지 않아 여기에서 둘러보거나 설치할 항목이 없습니다.",
2880
+ hint: "런타임을 <code>OS_CLOUD_URL=off</code>(또는 <code>none</code>, <code>local</code>, <code>disabled</code>)로 시작하면 이것이 정상 상태입니다. 마켓플레이스를 켜려면 <code>OS_CLOUD_URL</code>을 컨트롤 플레인으로 지정하고 런타임을 다시 시작하세요.",
2881
+ },
2998
2882
  detail: {
2999
2883
  homepage: "홈페이지",
3000
2884
  installedV: "설치됨 · v{{version}}",
@@ -3234,12 +3118,19 @@ const ko = {
3234
3118
  submittedAgo: '{{when}} 제출됨',
3235
3119
  completedAt: '{{when}} 완료됨',
3236
3120
  waitingOn: '대기 중인 승인자',
3121
+ approverNameSeparator: ', ',
3122
+ approverUnstaffed: '{{seat}}(현재 담당자 없음)',
3237
3123
  history: '승인 활동',
3238
3124
  noActions: '아직 작업이 없습니다.',
3239
3125
  actSubmit: '제출',
3240
3126
  actApprove: '승인',
3241
3127
  actReject: '거부',
3242
3128
  actRecall: '회수',
3129
+ overrideActionLabel: '{{action}}(관리자 권한)',
3130
+ overrideNotice: '이 단계의 승인자 자리가 없습니다. 계속하면 관리자 재정의가 사용되어 단계가 즉시 확정되고, 아직 처리하지 않은 승인자는 모두 건너뜁니다. 이 결정은 관리자 재정의로 기록됩니다.',
3131
+ overrideNoticeWho: '이 단계의 승인자 자리가 없습니다. 계속하면 관리자 재정의가 사용되어 단계가 즉시 확정되고, 아직 처리하지 않은 승인자 — {{who}} — 를 건너뜁니다. 이 결정은 관리자 재정의로 기록됩니다.',
3132
+ viaOverrideChip: '관리자 재정의',
3133
+ viaOverrideHint: '실행자는 이 단계의 승인자 자리가 없으며 관리자 재정의 경로로 처리했습니다.',
3243
3134
  rawData: '원본 데이터(JSON)',
3244
3135
  copy: '복사',
3245
3136
  copied: '복사됨',
@@ -3326,6 +3217,11 @@ const ko = {
3326
3217
  detailChangedKeys: '기타 변경:',
3327
3218
  confirmNote: '게시하면 이 패키지의 대기 중인 초안 {{count}}개가 한 번에(원자적으로) 게시됩니다.',
3328
3219
  publishConfirm: '모두 게시',
3220
+ // [objectui#5418] Pre-publish security-posture findings, shown next to
3221
+ // the confirm button so a refusal the door would issue is read BEFORE
3222
+ // the click rather than as a toast after the batch rolled back.
3223
+ securityBlockTitle: '게시가 거부됩니다 — {{count}}개 항목에 먼저 결정이 필요합니다',
3224
+ securityBlockWhere: '객체의 설정 → 레코드 공유에서 수정한 후 다시 게시하세요.',
3329
3225
  },
3330
3226
  // ADR-0045 — the materialized-but-unlisted app banner
3331
3227
  // (UnpublishedAppBar.tsx), sibling of draftBar above.
@@ -3372,10 +3268,15 @@ const ko = {
3372
3268
  noResults: "결과 없음",
3373
3269
  searchField: "{{label}} 검색…",
3374
3270
  enterId: "{{label}} ID 입력",
3271
+ addValue: "값을 입력하고 Enter 키를 누르세요",
3272
+ removeValue: "{{value}} 제거",
3273
+ rangeStart: "시작",
3274
+ rangeEnd: "끝",
3375
3275
  operators: {
3376
3276
  equals: "같음",
3377
3277
  notEquals: "같지 않음",
3378
3278
  contains: "포함",
3279
+ containsCaseInsensitive: "포함 (대소문자 무시)",
3379
3280
  notContains: "포함하지 않음",
3380
3281
  isEmpty: "비어 있음",
3381
3282
  isNotEmpty: "비어 있지 않음",
@@ -3388,6 +3289,12 @@ const ko = {
3388
3289
  between: "사이",
3389
3290
  in: "포함됨",
3390
3291
  notIn: "포함되지 않음",
3292
+ startsWith: "다음으로 시작",
3293
+ endsWith: "다음으로 끝남",
3294
+ isNull: "null임",
3295
+ isNotNull: "null이 아님",
3296
+ exists: "설정됨",
3297
+ notExists: "설정되지 않음",
3391
3298
  },
3392
3299
  },
3393
3300
  sortBuilder: {
@@ -3436,6 +3343,13 @@ const ko = {
3436
3343
  wizard: {
3437
3344
  missingRequired: "필수 항목을 입력하세요: {{fields}}",
3438
3345
  },
3346
+ flowRunner: {
3347
+ title: '입력',
3348
+ submitting: '제출 중…',
3349
+ saveAndContinue: '저장 후 계속',
3350
+ nextStep: '저장됨 — 다음 단계',
3351
+ completed: '플로우 「{{flow}}」이(가) 완료되었습니다',
3352
+ },
3439
3353
  appManagement: {
3440
3354
  title: "애플리케이션",
3441
3355
  subtitle: "구성된 모든 애플리케이션을 관리합니다",