Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 85 additions & 0 deletions core/http/react-ui/public/locales/ko/admin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
"manage": {
"title": "시스템",
"subtitle": "설치된 모델과 백엔드를 관리합니다"
},
"settings": {
"title": "설정",
"subtitle": "LocalAI 런타임 설정을 구성합니다",
"saved": "설정이 저장되었습니다",
"saveFailed": "저장 실패: {{message}}",
"loadFailed": "설정을 불러오지 못했습니다: {{message}}",
"sections": {
"branding": "브랜딩",
"watchdog": "워치독",
"memory": "메모리",
"backends": "백엔드",
"performance": "성능",
"tracing": "트레이싱",
"api": "API 및 CORS",
"p2p": "P2P",
"galleries": "갤러리",
"apikeys": "API 키",
"agents": "에이전트 작업",
"agentpool": "에이전트 풀",
"assistant": "LocalAI 어시스턴트",
"responses": "응답"
}
},
"backends": {
"title": "백엔드 관리",
"subtitle": "모델을 구동할 AI 백엔드를 탐색하고 설치합니다"
},
"backendLogs": {
"title": "백엔드 로그",
"subtitle": "실행 중인 백엔드의 로그를 확인합니다",
"empty": "사용 가능한 로그가 없습니다"
},
"traces": {
"title": "트레이스",
"subtitle": "기록된 API 요청, 응답, 백엔드 작업을 확인합니다"
},
"nodes": {
"title": "분산 노드",
"subtitle": "백엔드 및 에이전트 워커 노드를 관리합니다"
},
"p2p": {
"title": "분산 AI 컴퓨팅",
"subtitle": "피어 투 피어 분산으로 여러 기기에 걸쳐 AI 워크로드를 확장합니다"
},
"users": {
"title": "사용자",
"subtitle": "등록된 사용자, 역할, 초대를 관리합니다"
},
"usage": {
"title": "사용량",
"subtitle": "API 토큰 사용량 통계",
"sources": {
"tab": "출처",
"mixTitle": "출처 구성",
"ribbonAria": "API 키 {{apikey}}%, 웹 UI {{web}}%, 레거시 {{legacy}}%",
"topSources": "기간별 상위 출처",
"searchPlaceholder": "이름 또는 접두사로 검색",
"sortBy": "정렬",
"sortTokens": "토큰",
"sortRequests": "요청",
"sortLastUsed": "마지막 사용",
"sortName": "이름",
"sortUser": "사용자",
"webUI": "웹 UI",
"legacy": "레거시",
"revoked": "해지됨",
"filteredTo": "필터: {{name}}",
"clearFilter": "필터 지우기",
"other": "기타 ({{count}})",
"noTrafficShort": "이 기간에는 요청이 없습니다.",
"noKeysYet": "요청이 들어오면 여기에 항목별로 표시됩니다.",
"createKey": "첫 API 키 만들기",
"truncatedWarning": "상위 200개 키를 표시합니다. 필터를 적용해 범위를 좁혀 보세요."
}
},
"explorer": {
"title": "탐색기",
"subtitle": "파일과 구성을 둘러봅니다"
}
}
55 changes: 55 additions & 0 deletions core/http/react-ui/public/locales/ko/agents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
{
"title": "에이전트",
"subtitle": "자율 AI 에이전트를 관리합니다",
"actions": {
"agentHub": "에이전트 허브",
"import": "가져오기",
"createAgent": "에이전트 만들기",
"edit": "편집",
"chat": "채팅",
"export": "내보내기",
"delete": "삭제",
"pause": "일시중지",
"resume": "재개"
},
"table": {
"name": "이름",
"status": "상태",
"events": "이벤트",
"actions": "작업",
"eventsTooltip": "이벤트 {{count}}개 - 클릭하여 보기"
},
"search": {
"placeholder": "에이전트 검색...",
"summary_one": "에이전트 {{total}}개 중 {{shown}}개",
"summary_other": "에이전트 {{total}}개 중 {{shown}}개"
},
"empty": {
"noConfigured": "구성된 에이전트가 없습니다",
"noConfiguredText": "에이전트를 만들어 자율 AI 워크플로를 시작하세요.",
"browseHub": "어디서 시작할지 모르겠나요? <1>에이전트 허브</1>를 둘러보고 바로 가져올 수 있는 에이전트 구성을 찾아보세요.",
"noMatching": "일치하는 에이전트가 없습니다",
"noMatchingText": "\"{{query}}\"와 일치하는 에이전트가 없습니다"
},
"sections": {
"yourAgents": "내 에이전트",
"otherUsersAgents": "다른 사용자의 에이전트"
},
"deleteDialog": {
"title": "에이전트 삭제",
"message": "에이전트 \"{{name}}\"을(를) 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
"confirm": "삭제"
},
"toasts": {
"loadFailed": "에이전트를 불러오지 못했습니다: {{message}}",
"deleted": "에이전트 \"{{name}}\"이(가) 삭제되었습니다",
"deleteFailed": "에이전트 삭제 실패: {{message}}",
"paused": "에이전트 \"{{name}}\"이(가) 일시중지되었습니다",
"resumed": "에이전트 \"{{name}}\"이(가) 재개되었습니다",
"pauseFailed": "에이전트 일시중지 실패: {{message}}",
"resumeFailed": "에이전트 재개 실패: {{message}}",
"exported": "에이전트 \"{{name}}\"이(가) 내보내졌습니다",
"exportFailed": "에이전트 내보내기 실패: {{message}}",
"parseFailed": "에이전트 파일을 분석하지 못했습니다: {{message}}"
}
}
112 changes: 112 additions & 0 deletions core/http/react-ui/public/locales/ko/auth.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
{
"login": {
"subtitle": "계속하려면 로그인하세요",
"registerSubtitle": "계정을 만듭니다",
"createAdminSubtitle": "관리자 계정을 만듭니다",
"tokenSubtitle": "계속하려면 API 키를 입력하세요",
"email": "이메일",
"emailPlaceholder": "you@example.com",
"name": "이름",
"namePlaceholder": "이름 (선택 사항)",
"password": "비밀번호",
"passwordPlaceholder": "비밀번호 입력...",
"newPasswordPlaceholder": "최소 12자 이상",
"confirmPassword": "비밀번호 확인",
"confirmPasswordPlaceholder": "비밀번호 재입력",
"inviteCodeLabel": "초대 코드",
"inviteCodeOptional": " (선택 사항 — 승인 대기를 건너뜁니다)",
"inviteCodePlaceholder": "초대 코드를 붙여넣으세요...",
"tokenPlaceholder": "API 키 입력...",
"tokenAltPlaceholder": "API 토큰 입력...",
"signIn": "로그인",
"signingIn": "로그인 중...",
"register": "회원가입",
"creatingAccount": "계정 생성 중...",
"createAdminAccount": "관리자 계정 만들기",
"signInWithGitHub": "GitHub로 로그인",
"signInWithSSO": "SSO로 로그인",
"loginWithToken": "토큰으로 로그인",
"showTokenLogin": "API 토큰으로 로그인",
"hideTokenLogin": "토큰 로그인 숨기기",
"noAccount": "계정이 없으신가요?",
"hasAccount": "이미 계정이 있으신가요?",
"or": "또는",
"errors": {
"loginFailed": "로그인 실패",
"registrationFailed": "회원가입 실패",
"invalidToken": "유효하지 않은 토큰",
"passwordsDoNotMatch": "비밀번호가 일치하지 않습니다",
"enterToken": "토큰을 입력해 주세요",
"networkError": "네트워크 오류",
"inviteRequired": "회원가입하려면 유효한 초대 코드가 필요합니다"
},
"messages": {
"registrationPending": "회원가입이 완료되었습니다. 승인을 기다리고 있습니다."
}
},
"account": {
"title": "계정",
"subtitle": "프로필, 자격 증명, API 키",
"unavailable": "계정을 사용할 수 없습니다",
"unavailableText": "계정을 관리하려면 인증이 활성화되어 있어야 합니다.",
"tabs": {
"profile": "프로필",
"security": "보안",
"apiKeys": "API 키"
},
"profile": {
"displayName": "표시 이름",
"displayNameDescription": "공개적으로 표시되는 이름",
"avatarUrl": "아바타 URL",
"avatarUrlDescription": "프로필 사진 URL",
"avatarUrlPlaceholder": "https://example.com/avatar.png",
"save": "저장",
"saving": "저장 중...",
"updated": "프로필이 업데이트되었습니다",
"updateFailed": "프로필 업데이트 실패: {{message}}"
},
"security": {
"currentPassword": "현재 비밀번호",
"currentPasswordDescription": "본인 확인을 위해 기존 비밀번호를 입력하세요",
"currentPasswordPlaceholder": "현재 비밀번호",
"newPassword": "새 비밀번호",
"newPasswordDescription": "최소 12자 이상이어야 합니다",
"newPasswordPlaceholder": "새 비밀번호",
"confirmPassword": "비밀번호 확인",
"confirmPasswordDescription": "새 비밀번호를 다시 입력하세요",
"confirmPasswordPlaceholder": "새 비밀번호 확인",
"changePassword": "비밀번호 변경",
"changing": "변경 중...",
"changed": "비밀번호가 변경되었습니다",
"passwordsDoNotMatch": "비밀번호가 일치하지 않습니다",
"tooShort": "새 비밀번호는 최소 12자 이상이어야 합니다",
"oauthOnly": "{{provider}} 계정은 비밀번호 관리를 사용할 수 없습니다."
},
"apiKeys": {
"create": "API 키 만들기",
"createDescription": "프로그래밍 방식 접근을 위한 키를 생성합니다",
"namePlaceholder": "키 이름 (예: my-app)",
"createButton": "만들기",
"creating": "생성 중...",
"createdToast": "API 키가 생성되었습니다",
"createFailed": "API 키 생성 실패: {{message}}",
"loadFailed": "API 키를 불러오지 못했습니다: {{message}}",
"revoke": "해지",
"revokeKey": "키 해지",
"revokeTitle": "API 키 해지",
"revokeMessage": "API 키 \"{{name}}\"을(를) 해지하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
"revoked": "API 키가 해지되었습니다",
"revokeFailed": "API 키 해지 실패: {{message}}",
"copyNow": "지금 복사하세요 — 이 키는 다시 표시되지 않습니다",
"copiedToast": "클립보드에 복사되었습니다",
"copyFailed": "복사하지 못했습니다",
"empty": "아직 API 키가 없습니다. 위에서 하나를 만들어 프로그래밍 방식 접근을 시작하세요.",
"lastUsed": "마지막 사용 {{date}}"
}
},
"notFound": {
"title": "페이지를 찾을 수 없습니다",
"text": "이 페이지가 사라진 것 같습니다. 다시 돌아가도록 도와드리겠습니다.",
"goHome": "홈으로 이동"
}
}
117 changes: 117 additions & 0 deletions core/http/react-ui/public/locales/ko/chat.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
{
"activity": {
"thought": "생각",
"tool": "도구",
"result": "결과",
"toolResult": "{{name}} 결과",
"thinking": "생각 중..."
},
"header": {
"manageModeTooltip": "이 채팅은 LocalAI와 대화하여 모델을 설치하고, 구성을 편집하고, 백엔드를 관리할 수 있습니다.",
"modelInfo": "모델 정보",
"chatSettings": "채팅 설정",
"modelInfoTitle": "모델 정보: {{model}}",
"editConfig": "구성 편집",
"close": "닫기"
},
"modelInfo": {
"backend": "백엔드",
"modelFile": "모델 파일",
"contextSize": "컨텍스트 크기",
"threads": "스레드",
"mcp": "MCP",
"configured": "구성됨",
"chatTemplate": "채팅 템플릿",
"yes": "예",
"gpuLayers": "GPU 레이어"
},
"context": {
"label": "컨텍스트: {{percent}}%",
"labelWithTokens": "컨텍스트: {{percent}}% ({{tokens}} 토큰)"
},
"settings": {
"title": "채팅 설정",
"manageMode": "관리 모드",
"manageModeDesc": "이 채팅이 LocalAI와 대화하여 모델을 설치하고, 백엔드를 전환하고, 구성을 편집할 수 있게 합니다.",
"systemPrompt": "시스템 프롬프트",
"systemPromptPlaceholder": "당신은 도움이 되는 어시스턴트입니다...",
"temperature": "Temperature",
"topP": "Top P",
"topK": "Top K",
"contextSize": "컨텍스트 크기",
"contextSizePlaceholder": "2048",
"clearHistory": "채팅 기록 지우기"
},
"empty": {
"manageTitle": "채팅으로 LocalAI 관리",
"manageText": "모델 설치, 백엔드 전환, 구성 편집 또는 상태 확인을 요청하세요. 어시스턴트가 작업을 요약하고 변경하기 전에 확인을 기다립니다.",
"startTitle": "대화 시작",
"readyText": "{{model}}와(과) 채팅할 준비가 되었습니다",
"selectModelText": "시작하려면 위에서 모델을 선택하세요",
"suggestionsManage": [
"무엇이 설치되어 있나요?",
"채팅 모델 설치하기",
"시스템 상태 보기",
"백엔드 업데이트하기"
],
"suggestionsChat": [
"이게 어떻게 작동하는지 설명해 줘",
"코드 작성을 도와줘",
"문서를 요약해 줘",
"아이디어를 브레인스토밍해 줘"
],
"recent": "최근",
"noMessages": "아직 메시지가 없습니다",
"hintEnter": "Enter로 전송",
"hintShiftEnter": "Shift+Enter로 줄바꿈",
"hintAttach": "파일 첨부"
},
"errors": {
"viewTraces": "자세한 내용은 트레이스를 확인하세요"
},
"actions": {
"copy": "복사",
"regenerate": "다시 생성"
},
"streaming": {
"transferring": "모델 전송 중...",
"transferringTo": "{{node}}(으)로 모델 전송 중..."
},
"tokens": {
"perSec": "{{count}} tok/s",
"peak": "최고: {{count}} tok/s",
"usage": "{{prompt}}p + {{completion}}c = {{total}}"
},
"input": {
"placeholder": "메시지...",
"attachFile": "파일 첨부",
"stopGenerating": "생성 중지",
"canvasTitle": "캔버스 — 코드 블록과 미디어를 사이드 패널로 추출해 미리보기, 복사, 다운로드할 수 있습니다",
"canvasLabel": "캔버스",
"openCanvas": "캔버스 패널 열기"
},
"deleteAllDialog": {
"title": "모든 채팅 삭제",
"message": "모든 채팅을 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.",
"confirm": "모두 삭제"
},
"toasts": {
"selectModel": "모델을 선택해 주세요",
"copied": "클립보드에 복사되었습니다",
"copyFailed": "클립보드에 복사할 수 없습니다"
},
"menu": {
"trigger": "채팅",
"triggerTitle": "대화 (Ctrl/Cmd+K)",
"search": "대화 검색...",
"clearSearch": "검색 지우기",
"noMatch": "검색과 일치하는 대화가 없습니다",
"noConversations": "아직 대화가 없습니다",
"rename": "이름 변경",
"exportMarkdown": "Markdown으로 내보내기",
"deleteChat": "채팅 삭제",
"newChat": "새 채팅",
"clearAll": "모두 지우기",
"deleteAllTitle": "모든 대화 삭제"
}
}
Loading