This commit is contained in:
Sangyun Han 2025-12-29 13:11:18 +08:00 committed by GitHub
commit f0746463e1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 567 additions and 567 deletions

View File

@ -475,14 +475,14 @@ const translation = {
},
codegen: {
instruction: '지시',
apply: '적용하다',
apply: '적용',
generatedCodeTitle: '생성된 코드',
title: '코드 생성기',
applyChanges: '변경 사항 적용',
resTitle: '생성된 코드',
noDataLine1: '왼쪽에 사용 사례를 설명하십시오.',
overwriteConfirmTitle: '기존 코드를 덮어쓰시겠습니까?',
generate: '창조하다',
generate: '생성',
loading: '코드 생성 중...',
overwriteConfirmMessage: '이 작업은 기존 코드를 덮어씁니다. 계속하시겠습니까?',
noDataLine2: '코드 미리 보기가 여기에 표시됩니다.',
@ -528,10 +528,10 @@ const translation = {
instruction: '고급 카피에디팅 기술을 사용하여 글쓰기 향상',
},
},
apply: '적용하다',
apply: '적용',
instruction: '지시',
resTitle: '생성된 프롬프트',
generate: '창조하다',
generate: '생성',
tryIt: '사용해 보기',
title: '프롬프트 생성기',
overwriteTitle: '기존 구성을 재정의하시겠습니까?',

View File

@ -3,17 +3,17 @@ const translation = {
firstStepTip: '시작하려면,',
enterKeyTip: '아래에 OpenAI API 키를 입력하세요',
getKeyTip: 'OpenAI 대시보드에서 API 키를 가져오세요',
placeholder: '나의 OpenAI API 키 (예: sk-xxxx)',
placeholder: 'OpenAI API 키 입력 (예: sk-xxxx)',
},
apiKeyInfo: {
cloud: {
trial: {
title: '{{providerName}} 트라이얼 쿼터를 사용 중입니다.',
description: '트라이얼 쿼터는 테스트용으로 제공됩니다. 트라이얼 쿼터 소진 전에 고유한 모델 제공자를 설정하거나 추가 쿼터를 구매하세요.',
title: '{{providerName}} 체험 쿼터를 사용 중입니다.',
description: '체험 쿼터는 테스트용으로 제공됩니다. 쿼터가 소진되기 전에 고유한 모델 제공자를 설정하거나 추가 쿼터를 구매하세요.',
},
exhausted: {
title: '트라이얼 쿼터가 소진되었습니다. API 키를 설정하세요.',
description: '트라이얼 쿼터가 소진되었습니다. 고유한 모델 제공자를 설정하거나 추가 쿼터를 구매하세요.',
title: '체험 쿼터가 소진되었습니다. API 키를 설정하세요.',
description: '체험 쿼터가 소진되었습니다. 고유한 모델 제공자를 설정하거나 추가 쿼터를 구매하세요.',
},
},
selfHost: {
@ -22,10 +22,10 @@ const translation = {
row2: '먼저 모델 제공자를 설정하세요.',
},
},
callTimes: '요청 횟수',
callTimes: '호출 횟수',
usedToken: '사용된 토큰',
setAPIBtn: '모델 제공자 설정으로 이동',
tryCloud: '또는 Dify 의 클라우드 버전을 무료로 체험해보세요',
tryCloud: '또는 Dify의 클라우드 버전을 무료로 체험해 보세요',
},
overview: {
title: '개요',
@ -34,27 +34,27 @@ const translation = {
accessibleAddress: '공개 URL',
preview: '미리보기',
regenerate: '재생성',
regenerateNotice: '공개 URL 을 재생성하시겠습니까?',
regenerateNotice: '공개 URL을 재생성하시겠습니까?',
preUseReminder: '계속하기 전에 웹앱을 활성화하세요.',
settings: {
entry: '설정',
title: '웹앱 설정',
webName: '웹앱 이름',
webDesc: '웹앱 설명',
webDescTip: '이 텍스트는 클라이언트 측에 표시되며, 애플리케이션의 사용 방법에 대한 기본적인 안내를 제공합니다.',
webDescTip: '이 텍스트는 클라이언트 측에 표시되며, 애플리케이션의 기본적인 사용법을 안내합니다.',
webDescPlaceholder: '웹앱 설명을 입력하세요',
language: '언어',
workflow: {
title: '워크플로 단계',
title: '워크플로 단계',
show: '표시',
hide: '숨기기',
showDesc: 'WebApp 에서 워크플로 세부 정보 표시 또는 숨기기',
showDesc: '웹앱에서 워크플로우 세부 정보를 표시하거나 숨깁니다',
subTitle: '워크플로우 세부 정보',
},
chatColorTheme: '챗봇 색상 테마',
chatColorThemeDesc: '챗봇의 색상 테마를 설정하세요',
chatColorThemeInverted: '반전',
invalidHexMessage: '잘못된 16 진수 값',
invalidHexMessage: '잘못된 16진수 값',
invalidPrivacyPolicy: '유효하지 않은 개인정보처리방침 링크입니다. http 또는 https 로 시작하는 유효한 링크를 사용해 주세요',
more: {
entry: '추가 설정 보기',
@ -62,58 +62,58 @@ const translation = {
copyRightPlaceholder: '저작권자 또는 조직 이름을 입력하세요',
privacyPolicy: '개인정보 처리방침',
privacyPolicyPlaceholder: '개인정보 처리방침 링크를 입력하세요',
privacyPolicyTip: '방문자가 애플리케이션이 수집하는 데이터를 이해하고, Dify 의 <privacyPolicyLink>개인정보 처리방침</privacyPolicyLink>을 참조할 수 있도록 합니다.',
customDisclaimer: '사용자 정 면책 조항',
customDisclaimerPlaceholder: '사용자 지정 면책 조항 텍스트를 입력합니다.',
customDisclaimerTip: '사용자 지정 고지 사항 텍스트는 클라이언트 쪽에 표시되어 응용 프로그램에 대한 추가 정보를 제공합니다',
copyrightTip: '웹앱에 저작권 정보 표시',
privacyPolicyTip: '방문자가 애플리케이션이 수집하는 데이터를 이해하고, Dify의 <privacyPolicyLink>개인정보 처리방침</privacyPolicyLink>을 참조할 수 있도록 합니다.',
customDisclaimer: '사용자 면책 조항',
customDisclaimerPlaceholder: '면책 조항 텍스트를 입력하세요.',
customDisclaimerTip: '사용자 정의 면책 조항 텍스트는 클라이언트 측에 표시되어 애플리케이션에 대한 추가 정보를 제공합니다.',
copyrightTip: '웹앱에 저작권 정보 표시합니다',
copyrightTooltip: '프로페셔널 플랜 이상으로 업그레이드하세요.',
},
sso: {
label: 'SSO 인증',
title: '웹앱 SSO',
tooltip: '관리자에게 문의하여 web app SSO 를 사용하도록 설정합니다.',
description: '모든 사용자는 WebApp 을 사용하기 전에 SSO 로 로그인해야 합니다.',
tooltip: '관리자에게 문의하여 웹앱 SSO를 활성화하세요.',
description: '모든 사용자는 웹앱을 사용하기 전에 SSO로 로그인해야 합니다.',
},
modalTip: '클라이언트 웹앱 설정.',
modalTip: '클라이언트 웹앱 설정.',
},
embedded: {
entry: '임베드',
title: '웹사이트에 임베드하기',
explanation: '챗봇을 웹사이트에 임베드하는 방법을 선택하세요.',
iframe: '웹사이트의 원하는 위치에 챗봇 앱을 추가하려면 이 iframe 을 HTML 코드에 추가하세요.',
scripts: '웹사이트의 우측 하단에 챗봇을 추가하려면 이 코드를 HTML 에 추가하세요.',
chromePlugin: 'Dify Chatbot Chrome 확장 프로그램 설치',
explanation: '챗봇을 웹사이트에 임베드하는 방법을 선택하세요.',
iframe: '웹사이트의 원하는 위치에 챗봇을 추가하려면 이 iframe 코드를 HTML에 추가하세요.',
scripts: '웹사이트의 우측 하단에 챗봇을 추가하려면 이 코드를 HTML에 추가하세요.',
chromePlugin: 'Dify 챗봇 Chrome 확장 프로그램 설치',
copied: '복사되었습니다',
copy: '복사',
},
qrcode: {
title: '공유용 QR 코드',
scan: '앱 공유를 스캔하세요',
scan: 'QR 코드를 스캔하여 앱 공유',
download: 'QR 코드 다운로드',
},
customize: {
way: '방법',
entry: '사용자',
title: 'AI 웹앱 사용자화',
explanation: '시나리오와 스타일 요구에 따라 웹앱의 프론트엔드를 사용자화할 수 있습니다.',
entry: '사용자 지정',
title: 'AI 웹 앱 사용자 지정',
explanation: '시나리오와 스타일 요구 사항에 맞게 웹앱의 프론트엔드를 사용자 지정할 수 있습니다.',
way1: {
name: '클라이언트 코드를 포크하여 수정하고 Vercel 에 배포하기 (권장)',
name: '클라이언트 코드를 포크하여 수정하고 Vercel에 배포하기 (권장)',
step1: '클라이언트 코드를 포크하여 수정합니다',
step1Tip: '여기를 클릭하여 소스 코드를 GitHub 계정에 포크하고 코드를 수정하세요',
step1Operation: 'Dify-WebClient',
step2: 'Vercel 에 배포합니다',
step2Tip: '여기를 클릭하여 리포지토리를 Vercel 에 임포트하고 배포하세요',
step2Operation: '리포지토리 임포트',
step2: 'Vercel에 배포합니다',
step2Tip: '여기를 클릭하여 리포지토리를 Vercel로 가져오고 배포하세요',
step2Operation: '리포지토리 가져오기',
step3: '환경 변수를 설정합니다',
step3Tip: 'Vercel 에 다음 환경 변수를 추가하세요',
step3Tip: 'Vercel에 다음 환경 변수를 추가하세요',
},
way2: {
name: '클라이언트 측 코드를 작성하여 API 를 호출하고 서버에 배포합니다',
name: '클라이언트 측 코드를 작성하여 API를 호출하고 서버에 배포합니다',
operation: '문서',
},
},
launch: '발사',
launch: '실행',
enableTooltip: {
description: '이 기능을 사용하려면 캔버스에 사용자 입력 노드를 추가하세요. (초안에 이미 있을 수 있으며, 게시 후에 적용됩니다)',
learnMore: '자세히 알아보기',
@ -131,12 +131,12 @@ const translation = {
disable: '비활성',
},
triggerInfo: {
title: '유발 요인',
explanation: '워크플로 트리거 관리',
title: '트리거',
explanation: '워크플로 트리거 관리',
triggersAdded: '{{count}} 트리거 추가됨',
noTriggerAdded: '트리거가 추가되지 않았습니다',
triggerStatusDescription: '트리거 노드 상태가 여기에 표시됩니다. (이미 초안에 존재할 수 있으며, 게시 후에 적용됩니다)',
learnAboutTriggers: '트리거에 대해 배우기',
learnAboutTriggers: '트리거에 대해 알아보기',
},
disableTooltip: {
triggerMode: '트리거 노드 모드에서는 {{feature}} 기능이 지원되지 않습니다.',
@ -148,42 +148,42 @@ const translation = {
tokenPS: '토큰/초',
totalMessages: {
title: '총 메시지 수',
explanation: '일일 AI 상호작용 수.',
explanation: '일일 AI 상호작용 수',
},
totalConversations: {
title: '총 대화 수',
explanation: '일일 AI 대화 수; 프롬프트 엔지니어링/디버깅 제외.',
explanation: '일일 AI 대화 수(프롬프트 엔지니어링/디버깅 제외)',
},
activeUsers: {
title: '활성 사용자 수',
explanation: 'AI 와의 Q&A 에 참여하는 고유 사용자 수; 엔지니어링/디버깅 목적의 프롬프트는 제외됩니다.',
explanation: 'AI와 Q&A에 참여하는 고유 사용자 수(엔지니어링/디버깅 목적의 프롬프트 제외)',
},
tokenUsage: {
title: '토큰 사용량',
explanation: '애플리케이션의 언어 모델의 일일 토큰 사용량을 반영하여 비용 관리에 도움이 됩니다.',
explanation: '애플리케이션의 언어 모델 일일 토큰 사용량(비용 관리에 유용)',
consumed: '소비된 토큰',
},
avgSessionInteractions: {
title: '평균 세션 상호작용 수',
explanation: '사용자와 AI 의 연속적인 커뮤니케이션 수; 대화형 애플리케이션을 위한 것입니다.',
explanation: '사용자와 AI의 연속적인 커뮤니케이션 수(대화형 애플리케이션용)',
},
avgUserInteractions: {
title: '평균 사용자 상호작용 수',
explanation: '사용자의 일일 사용 빈도를 반영합니다. 이 지표는 사용자의 임계를 반영합니다.',
explanation: '사용자의 일일 사용 빈도(사용자들의 사용 정도를 반영)',
},
userSatisfactionRate: {
title: '사용자 만족도',
explanation: '1,000 개의 메시지 당 "좋아요" 수입니다. 이는 사용자가 매우 만족한 응답의 비율을 나타냅니다.',
title: '사용자 만족도',
explanation: '1,000개 메시지 당 "좋아요" 수(사용자가 매우 만족한 응답의 비율)',
},
avgResponseTime: {
title: '평균 응답 시간',
explanation: 'AI 가 처리/응답하는 시간 (밀리초); 텍스트 기반 애플리케이션을 위한 것입니다.',
explanation: 'AI가 처리하고 응답하는 데 걸리는 시간(밀리초)(텍스트 기반 애플리케이션용)',
},
tps: {
title: '토큰 출력 속도',
explanation: 'LLM 의 성능을 측정합니다. 요청 시작부터 출력 완료까지의 LLM 의 토큰 출력 속도를 계산합니다.',
explanation: 'LLM의 성능을 측정(요청 시작부터 출력 완료까지의 토큰 출력 속도를 계산)',
},
},
}
export default translation
export default translation

View File

@ -5,8 +5,8 @@ const translation = {
chatbot: '챗봇',
agent: '에이전트',
workflow: '워크플로우',
completion: '완',
basic: '기초의',
completion: '완',
basic: '기',
advanced: '채팅 플로우',
},
duplicate: '복제',
@ -50,7 +50,7 @@ const translation = {
appCreated: '앱이 생성되었습니다',
appCreateFailed: '앱 생성 실패',
caution: '주의',
Confirm: '확인하다',
Confirm: '확인',
appCreateDSLErrorPart4: '시스템 지원 DSL 버전:',
appCreateDSLErrorTitle: '버전 비호환성',
appCreateDSLErrorPart2: '계속하시겠습니까?',
@ -86,7 +86,7 @@ const translation = {
'작업 목표를 달성하기 위해 반복적인 추론과 자율적인 도구를 사용할 수 있는 지능형 에이전트입니다.',
advancedUserDescription: '메모리 기능과 챗봇 인터페이스를 갖춘 워크플로우',
dropDSLToCreateApp: '여기에 DSL 파일을 드롭하여 앱을 불러오세요.',
import: '수입',
import: '가져오기',
},
editApp: '정보 편집하기',
editAppTitle: '앱 정보 편집하기',
@ -111,7 +111,7 @@ const translation = {
chatbot: '챗봇',
agent: '에이전트',
workflow: '워크플로우',
completion: '완',
completion: '완',
advanced: '채팅 플로우',
},
tracing: {
@ -178,7 +178,7 @@ const translation = {
'Opik 은 LLM 애플리케이션을 평가, 테스트 및 모니터링하기 위한 오픈 소스 플랫폼입니다.',
},
weave: {
title: '직조하다',
title: 'Weave',
description:
'Weave 는 LLM 애플리케이션을 평가하고 테스트하며 모니터링하기 위한 오픈 소스 플랫폼입니다.',
},
@ -221,12 +221,12 @@ const translation = {
openInExplore: 'Explore 에서 열기',
newAppFromTemplate: {
sidebar: {
Agent: '대리인',
Agent: '에이전트',
Workflow: '워크플로',
HR: '인사',
Programming: '프로그래밍',
Writing: '쓰기',
Assistant: '조수',
Assistant: '어시스턴트',
Recommended: '권장',
},
byCategories: '카테고리별',
@ -245,7 +245,7 @@ const translation = {
modelNotSupported: '모델이 지원되지 않습니다.',
notConfiguredTip: '구성이 아직 설정되지 않았습니다.',
structured: '구조화된',
configure: '설정하다',
configure: '설정',
moreFillTip: '최대 10 단계 중첩을 표시합니다.',
modelNotSupportedTip:
'현재 모델은 이 기능을 지원하지 않으며 자동으로 프롬프트 주입으로 다운그레이드됩니다.',

View File

@ -214,7 +214,7 @@ const translation = {
},
viewBillingTitle: '청구 및 구독',
viewBillingDescription: '결제 수단, 청구서 및 구독 변경 관리',
viewBillingAction: '관리하다',
viewBillingAction: '관리',
upgrade: {
uploadMultiplePages: {
title: '한 번에 여러 문서를 업로드하려면 업그레이드하세요',

View File

@ -1,7 +1,7 @@
const translation = {
api: {
success: '성공',
actionSuccess: '작이 성공적으로 수행되었습니다',
actionSuccess: '이 성공적으로 수행되었습니다',
saved: '저장됨',
create: '생성됨',
remove: '삭제됨',
@ -25,7 +25,7 @@ const translation = {
send: '전송',
copy: '복사',
lineBreak: '줄 바꿈',
sure: '확실히',
sure: '확',
download: '다운로드',
delete: '삭제',
settings: '설정',
@ -36,20 +36,20 @@ const translation = {
log: '로그',
learnMore: '자세히 알아보기',
params: '매개변수',
duplicate: '복',
rename: '이름 바꾸기',
duplicate: '',
rename: '이름 변경',
audioSourceUnavailable: '오디오 소스를 사용할 수 없습니다.',
openInNewTab: '새 탭에서 열기',
zoomIn: '확대',
copyImage: '이미지 복사',
zoomOut: '축소',
close: '닫',
close: '닫',
viewMore: '더보기',
regenerate: '재생성',
view: '보기',
saveAndRegenerate: '저장 및 자식 청크 재생성',
submit: '전송',
skip: '',
skip: '건너뛰기',
imageCopied: '복사된 이미지',
deleteApp: '앱 삭제',
copied: '복사',
@ -233,7 +233,7 @@ const translation = {
title: '이메일 변경',
emailLabel: '새 이메일',
verifyEmail: '현재 이메일을 확인하세요',
sendVerifyCode: '인증 코드를 보내다',
sendVerifyCode: '인증 코드 보내기',
continue: '계속하다',
resendCount: '{{count}}초 후에 다시 보내기',
verifyNew: '새 이메일 확인하기',
@ -288,12 +288,12 @@ const translation = {
you: '(나)',
datasetOperator: '지식 관리자',
setBuilder: '빌더로 설정',
builder: '건설자',
builder: '빌더',
builderTip: '자신의 앱을 구축 및 편집할 수 있습니다.',
datasetOperatorTip: '기술 자료만 관리할 수 있습니다.',
transferModal: {
codeLabel: '검증 코드',
sendVerifyCode: '인증 코드를 보내다',
sendVerifyCode: '인증 코드 보내기',
verifyContent: '현재 이메일은 <email>{{email}}</email>입니다.',
verifyEmail: '현재 이메일을 확인하세요',
continue: '계속하다',
@ -495,7 +495,7 @@ const translation = {
addNewModel: '새 모델 추가하기',
specifyModelCredentialTip: '구성된 모델 자격 증명을 사용합니다.',
modelCredentials: '모델 자격 증명',
addCredential: '자격 증명 추가하다',
addCredential: '자격 증명 추가',
authRemoved: '인증이 제거되었습니다.',
providerManaged: '제공자가 관리하는',
addModelCredential: '모델 자격 증명 추가',
@ -762,7 +762,7 @@ const translation = {
browse: '브라우즈',
dropImageHere: '여기에 이미지를 드롭하거나',
},
you: '',
you: '당신',
avatar: {
deleteTitle: '아바타 제거하기',
deleteDescription: '프로필 사진을 제거하시겠습니까? 귀하의 계정은 기본 초기 아바타를 사용하게 됩니다.',

View File

@ -59,7 +59,7 @@ const translation = {
includeOnlyPaths: '경로만 포함',
excludePaths: '경로 제외',
preview: '미리 보기',
run: '달리다',
run: '실행',
fireCrawlNotConfigured: 'Firecrawl 이 구성되지 않았습니다.',
firecrawlTitle: 'Firecrawl 로 🔥웹 콘텐츠 추출',
configure: '구성',
@ -87,7 +87,7 @@ const translation = {
configureJinaReader: '지나 리더 설정하기',
waterCrawlNotConfigured: 'Watercrawl 이 설정되어 있지 않습니다.',
configureWatercrawl: '워터크롤 구성하기',
running: '달리기',
running: '실행 중',
},
cancel: '취소',
},

View File

@ -1,40 +1,40 @@
const translation = {
title: '검색 테스트',
desc: '주어진 쿼리 텍스트에 기반하여 지식의 검색 효과를 테스트합니다.',
dateTimeFormat: 'YYYY/MM/DD HH:mm',
dateTimeFormat: 'YYYY-MM-DD HH:mm',
table: {
header: {
source: '소스',
time: '시간',
queryContent: '질의 내용',
queryContent: '쿼리 내용',
},
},
input: {
title: '소스 텍스트',
placeholder: '텍스트를 입력하세요. 간결한 설명문이 좋습니다.',
countWarning: '최대 200 자까지 입력할 수 있습니다.',
indexWarning: '고품질 지식만.',
placeholder: '텍스트를 입력하세요. 간결한 서술문이 좋습니다.',
countWarning: '최대 200자까지 입력할 수 있습니다.',
indexWarning: '고품질 지식만 지원합니다.',
testing: '테스트 중',
},
hit: {
title: '검색 결과 단락',
title: '검색 결과',
emptyTip: '검색 테스트 결과가 여기에 표시됩니다.',
},
noRecentTip: '최근 쿼리 결과가 없습니다.',
viewChart: '벡터 차트 보기',
settingTitle: '검색 설정',
viewDetail: '자세히보기',
open: '열',
records: '레코드',
hitChunks: '{{num}}개의 자식 청크를 히트했습니다.',
viewDetail: '상세 보기',
open: '열',
records: '기록',
hitChunks: '{{num}}개의 자식 청크 검색됨',
keyword: '키워드',
chunkDetail: '청크 디테일 (Chunk Detail)',
chunkDetail: '청크 상세',
imageUploader: {
tip: '이미지를 업로드하거나 드래그하세요 (최대 {{batchCount}}장, 장당 {{size}}MB)',
tooltip: '이미지 업로드 (최대 {{batchCount}}개, 개당 {{size}}MB)',
tooltip: '이미지 업로드 (최대 {{batchCount}}장, 장당 {{size}}MB)',
dropZoneTip: '업로드할 파일을 여기에 끌어놓으세요',
singleChunkAttachmentLimitTooltip: '단일 청크 첨부 파일 수는 {{limit}}를 초과할 수 없습니다',
singleChunkAttachmentLimitTooltip: '단일 청크 첨부 파일 수는 {{limit}}를 초과할 수 없습니다',
},
}
export default translation
export default translation

View File

@ -5,35 +5,35 @@ const translation = {
description: '데이터 처리 및 구조를 완전히 제어할 수 있는 사용자 지정 파이프라인을 처음부터 만듭니다.',
},
caution: '주의',
createKnowledge: '지식 창출',
createKnowledge: '지식 생성',
backToKnowledge: '지식으로 돌아가기',
importDSL: 'DSL 파일에서 가져오기',
errorTip: '기술 자료를 만들지 못했습니다.',
successTip: '기술 자료를 성공적으로 만들었습니다.',
errorTip: '지식 생성을 실패했습니다.',
successTip: '지식 생성을 성공했습니다.',
},
templates: {
customized: '주문을 받아서 만들어진',
customized: '사용자 지정',
},
operations: {
choose: '고르다',
choose: '선택',
convert: '변환',
preview: '미리 보기',
process: '프로세스',
preview: '미리보기',
process: '처리',
dataSource: '데이터 소스',
details: '세부 정보',
saveAndProcess: '저장 및 처리',
exportPipeline: '수출 파이프라인',
exportPipeline: '파이프라인 내보내기',
editInfo: '정보 편집',
backToDataSource: '데이터 소스로 돌아가기',
useTemplate: '이 지식 파이프라인 사용',
},
deletePipeline: {
title: '이 파이프라인 템플릿을 삭제하시겠습니까?',
content: '파이프라인 템플릿 삭제 것은 되돌릴 수 없습니다.',
content: '파이프라인 템플릿 삭제는 되돌릴 수 없습니다.',
},
publishPipeline: {
success: {
message: '지식 파이프라인 게시',
message: '지식 파이프라인 게시',
tip: '<CustomLink>문서</CustomLink>로 이동하여 문서를 추가하거나 관리하세요.',
},
error: {
@ -42,22 +42,22 @@ const translation = {
},
publishTemplate: {
success: {
learnMore: '더 알아보세요',
learnMore: '더 알아보',
message: '파이프라인 템플릿 게시됨',
tip: '생성 페이지에서 이 템플릿을 사용할 수 있습니다.',
},
error: {
message: '파이프라인 템플릿을 게시하지 못했습니다.',
message: '파이프라인 템플릿 게시 실패',
},
},
exportDSL: {
successTip: '파이프라인 DSL 내보내기 성공',
errorTip: '파이프라인 DSL을 내보내지 못했습니다.',
errorTip: '파이프라인 DSL 내보내기 실패',
},
details: {
structure: '구조',
structureTooltip: '청크 구조는 문서를 분할하고 인덱싱하는 방법(일반, 부모-자식 및 Q&A 모드를 제공)을 결정하며 각 기술 자료에 고유합니다.',
createdBy: '{{author}} 작성',
structureTooltip: '청크 구조는 문서를 분할하고 인덱싱하는 방법(일반, 부모-자식, Q&A 모드 등)을 결정하며 각 지식에 고유합니다.',
createdBy: '작성자: {{author}}',
},
testRun: {
steps: {
@ -72,16 +72,16 @@ const translation = {
title: 'Notion 페이지 선택',
},
title: '테스트 실행',
tooltip: '테스트 실행 모드에서는 더 쉬운 디버깅 관찰을 위해 한 번에 하나의 문서만 가져올 수 있습니다.',
tooltip: '테스트 실행 모드에서는 더 쉬운 디버깅 관찰을 위해 한 번에 하나의 문서만 가져올 수 있습니다.',
},
inputFieldPanel: {
uniqueInputs: {
title: '각 입구에 대한 고유한 입력',
tooltip: '고유 입력은 선택한 데이터 원본 및 해당 다운스트림 노드에서만 액세스할 수 있습니다. 사용자는 다른 데이터 원본을 선택할 때 입력할 필요가 없습니다. 데이터 소스 변수에서 참조하는 입력 필드만 첫 번째 단계(데이터 소스)에 표시됩니다. 다른 모든 필드는 두 번째 단계(문서 처리)에 표시됩니다.',
title: '각 입력에 대한 고유 입력값',
tooltip: '고유 입력은 선택한 데이터 소스 및 해당 다운스트림 노드에서만 액세스할 수 있습니다. 사용자는 다른 데이터 소스를 선택할 때 입력할 필요가 없습니다. 데이터 소스 변수에서 참조하는 입력 필드만 첫 번째 단계(데이터 소스)에 표시됩니다. 다른 모든 필드는 두 번째 단계(문서 처리)에 표시됩니다.',
},
globalInputs: {
title: '모든 입구에 대한 전역 입력',
tooltip: '전역 입력은 모든 노드에서 공유됩니다. 사용자는 데이터 원본을 선택할 때 이를 입력해야 합니다. 예를 들어 구분 기호 및 최대 청크 길이와 같은 필드는 여러 데이터 원본에 균일하게 적용될 수 있습니다. 데이터 소스 변수에서 참조하는 입력 필드만 첫 번째 단계(데이터 소스)에 나타납니다. 다른 모든 필드는 두 번째 단계(문서 처리)에 표시됩니다.',
title: '모든 입력에 대한 전역 입력값',
tooltip: '전역 입력은 모든 노드에서 공유됩니다. 사용자는 데이터 소스를 선택할 때 이를 입력해야 합니다. 예를 들어 구분 기호 및 최대 청크 길이와 같은 필드는 여러 데이터 소스에 균일하게 적용될 수 있습니다. 데이터 소스 변수에서 참조하는 입력 필드만 첫 번째 단계(데이터 소스)에 나타납니다. 다른 모든 필드는 두 번째 단계(문서 처리)에 표시됩니다.',
},
preview: {
stepOneTitle: '데이터 소스',
@ -93,7 +93,7 @@ const translation = {
addInputField: '입력 필드 추가',
title: '사용자 입력 필드',
editInputField: '입력 필드 편집',
description: '사용자 입력 필드는 파이프라인 실행 프로세스 중에 필요한 변수를 정의하고 수집하는 데 사용됩니다. 사용자는 필드 유형을 사용자 정의하고 다양한 데이터 소스 또는 문서 처리 단계의 요구 사항을 충족하도록 입력 값을 유연하게 구성할 수 있습니다.',
description: '사용자 입력 필드는 파이프라인 실행 과정에서 필요한 변수를 정의하고 수집하는 데 사용됩니다. 사용자는 필드 유형을 사용자 정의하고 다양한 데이터 소스나 문서 처리 단계의 요구 사항에 맞춰 입력 값을 유연하게 구성할 수 있습니다.',
},
addDocuments: {
steps: {
@ -102,20 +102,20 @@ const translation = {
chooseDatasource: '데이터 소스 선택',
},
stepOne: {
preview: '미리 보기',
preview: '미리보기',
},
stepTwo: {
previewChunks: '프리뷰 청크',
chunkSettings: '청크 세팅',
previewChunks: '청크 미리보기',
chunkSettings: '청크 설정',
},
stepThree: {
learnMore: '더 알아보세요',
learnMore: '더 알아보',
},
characters: '문자',
backToDataSource: '데이터 소스',
title: '문서 추가',
selectOnlineDocumentTip: '{{count}}페이지까지 처리',
selectOnlineDriveTip: '최대 {{fileSize}}MB 크기의 파일 {{count}}개까지 처리',
selectOnlineDocumentTip: '최대 {{count}} 페이지 처리',
selectOnlineDriveTip: '최대 {{fileSize}}MB 파일 {{count}}개 처리',
},
documentSettings: {
title: '문서 설정',
@ -126,13 +126,13 @@ const translation = {
onlineDrive: {
breadcrumbs: {
allFiles: '모든 파일',
allBuckets: '모든 Cloud Storage 버킷',
allBuckets: '모든 클라우드 스토리지 버킷',
searchPlaceholder: '파일 검색...',
searchResult: '{{folderName}} 폴더에서 {{searchResultsLength}}개의 항목 찾기',
searchResult: '{{folderName}} 폴더에서 {{searchResultsLength}}개의 항목 발견',
},
emptySearchResult: '항목을 찾을 수 없습니다.',
emptyFolder: '이 폴더는 비어 있습니다.',
resetKeywords: '키워드 재설정',
resetKeywords: '키워드 초기화',
notSupportedFileType: '이 파일 형식은 지원되지 않습니다',
notConnected: '{{name}}가 연결되어 있지 않습니다',
notConnectedTip: '{{name}}와(과) 동기화하려면 먼저 {{name}}에 연결해야 합니다.',
@ -140,24 +140,24 @@ const translation = {
conversion: {
confirm: {
title: '확인',
content: '이 작업은 영구적입니다. 이전 방법으로 되돌릴 수 없습니다. 변환을 확인하시기 바랍니다.',
content: '이 작업은 영구적입니다. 이전 방법으로 되돌릴 수 없습니다. 변환을 확인하시겠습니까?',
},
title: '지식 파이프라인으로 변환',
warning: '이 작업은 실행 취소할 수 없습니다.',
errorMessage: '데이터 세트를 파이프라인으로 변환하지 못했습니다.',
successMessage: '데이터 세트를 파이프라인으로 성공적으로 변환했습니다.',
warning: '이 작업은 취소할 수 없습니다.',
errorMessage: '지식을 파이프라인으로 변환하지 못했습니다.',
successMessage: '지식을 파이프라인으로 성공적으로 변환했습니다.',
descriptionChunk2: '— 마켓플레이스의 플러그인에 액세스할 수 있는 보다 개방적이고 유연한 접근 방식입니다. 이렇게 하면 향후 모든 문서에 새로운 처리 방법이 적용됩니다.',
descriptionChunk1: '이제 문서 처리에 지식 파이프라인을 사용하도록 기존 기술 자료를 변환할 수 있습니다',
descriptionChunk1: '이제 문서 처리에 지식 파이프라인을 사용하도록 기존 지식을 변환할 수 있습니다',
},
knowledgeDescription: '지식 설명',
knowledgePermissions: '권한',
knowledgePermissions: '권한',
inputField: '입력 필드',
knowledgeNameAndIcon: '지식 이름 & 아이콘',
pipelineNameAndIcon: '파이프라인 이름 & 아이콘',
editPipelineInfo: '파이프라인 정보 편집',
knowledgeNameAndIconPlaceholder: '기술 자료의 이름을 입력하십시오.',
knowledgeDescriptionPlaceholder: '이 기술 자료에 포함된 내용을 설명하십시오. 자세한 설명을 통해 AI는 데이터 세트의 콘텐츠에 보다 정확하게 액세스할 수 있습니다. 비어 있으면 Dify는 기본 히트 전략을 사용합니다. (선택 사항)',
knowledgeNameAndIconPlaceholder: '지식 이름을 입력하세요.',
knowledgeDescriptionPlaceholder: '이 지식에 포함된 내용을 설명하세요. 자세한 설명을 통해 AI는 데이터셋의 콘텐츠에 더 정확하게 접근할 수 있습니다. 비워두면 Dify는 기본 검색 전략을 사용합니다. (선택 사항)',
configurationTip: '{{pluginName}} 구성',
}
export default translation
export default translation

View File

@ -82,7 +82,7 @@ const translation = {
},
deleteExternalAPIConfirmWarningContent: {
title: {
front: '삭제하다',
front: '삭제',
end: '?',
},
content: {
@ -112,17 +112,17 @@ const translation = {
},
externalKnowledgeForm: {
cancel: '취소',
connect: '연결하다',
connect: '연결',
},
externalAPIForm: {
encrypted: {
end: '기술.',
front: 'API 토큰은 다음을 사용하여 암호화되고 저장됩니다.',
},
save: '구해내다',
save: '저장',
name: '이름',
endpoint: 'API 엔드포인트',
edit: '편집하다',
edit: '편집',
cancel: '취소',
apiKey: 'API 키',
},
@ -157,7 +157,7 @@ const translation = {
paragraph: '단락',
},
batchAction: {
delete: '삭제하다',
delete: '삭제',
enable: '사용',
cancel: '취소',
archive: '보관',

View File

@ -1,14 +1,14 @@
const translation = {
toVerifiedTip: {
end: 'Dify 프로페셔널 플랜을 위해.',
end: 'Dify 프로페셔널 플랜 100% 할인 쿠폰을 받으세요.',
coupon: '독점 100% 쿠폰',
front:
'당신은 이제 교육 인증 상태를 받을 자격이 있습니다. 아래에 귀하의 교육 정보를 입력하여 과정을 완료하고 인증을 받으십시오.',
'교육 인증 상태를 받을 자격이 있습니다. 아래에 교육 정보를 입력하여 인증 과정을 완료하고',
},
form: {
schoolName: {
placeholder: '귀하의 학교의 공식 약어가 아닌 전체 이름을 입력하세요.',
title: '당신의 학교 이름',
placeholder: '학교의 공식 약어가 아닌 전체 이름을 입력하세요.',
title: '학교 이름',
},
schoolRole: {
option: {
@ -16,19 +16,19 @@ const translation = {
student: '학생',
administrator: '학교 관리자',
},
title: '당신의 학교 역할',
title: '학교 역할',
},
terms: {
desc: {
end: '제출함으로써',
and: '',
end: '제출함으로써:',
and: '',
termsOfService: '서비스 약관',
front: '귀하의 정보 및 교육 인증 상태 사용은 우리의',
privacyPolicy: '개인정보 보호정책',
privacyPolicy: '개인정보 처리방침',
},
option: {
inSchool:
'나는 제공된 기관에 재학 중이거나 고용되어 있음을 확인합니다. Dify 는 재학증명서나 고용증명서를 요청할 수 있습니다. 만약 내가 자격을 허위로 진술하면, 나는 내 교육 상태에 따라 처음 면제된 수수료를 지불하기로 동의합니다.',
'나는 제공된 기관에 재학 중이거나 고용되어 있음을 확인합니다. Dify는 재학증명서나 고용증명서를 요청할 수 있습니다. 자격을 허위로 기재할 경우, 면제된 수수료를 지불하기로 동의합니다.',
age: '만 18세 이상입니다.',
},
title: '약관 및 동의사항',
@ -36,15 +36,15 @@ const translation = {
},
submit: '제출',
rejectContent:
'안타깝게도, 귀하는 교육 인증 상태에 적합하지 않으므로 이 이메일 주소를 사용할 경우 Dify Professional Plan 의 독점 100% 쿠폰을 받을 수 없습니다.',
'안타깝게도 귀하는 교육 인증 자격에 부합하지 않으므로, 이 이메일 주소로는 Dify 프로페셔널 플랜 100% 할인 쿠폰을 받을 수 없습니다.',
successContent:
'귀하의 계정에 Dify Professional 플랜을 위한 100% 할인 쿠폰을 발급했습니다. 이 쿠폰은 1 년간 유효하므로 유효 기간 내에 사용해 주시기 바랍니다.',
currentSigned: '현재 로그인 중입니다',
'귀하의 계정에 Dify 프로페셔널 플랜을 위한 100% 할인 쿠폰을 발급했습니다. 이 쿠폰은 1년간 유효하므로 유효 기간 내에 사용해 주시기 바랍니다.',
currentSigned: '현재 로그인 중',
toVerified: '교육 인증 받기',
rejectTitle: '귀하의 Dify 교육 인증이 거부되었습니다.',
learn: '교육 인증을 받는 방법을 배우세요',
rejectTitle: 'Dify 교육 인증이 거부되었습니다.',
learn: '교육 인증을 받는 방법 알아보기',
submitError: '양식 제출에 실패했습니다. 나중에 다시 시도해 주세요.',
successTitle: '당신은 Dify 교육 인증을 받았습니다.',
successTitle: 'Dify 교육 인증을 받았습니다.',
emailLabel: '현재 이메일',
notice: {
expired: {
@ -52,29 +52,29 @@ const translation = {
line1: '여전히 Dify에 접근하고 사용할 수 있습니다.',
line2: '하지만, 더 이상 새로운 교육 할인 쿠폰을 받을 수 없습니다.',
},
title: '귀하의 교육 상태가 만료되었습니다.',
title: '교육 인증 상태가 만료되었습니다.',
},
isAboutToExpire: {
summary: '걱정하지 마세요 — 이번 사항은 현재 구독에 영향을 주지 않지만, 다시 상태를 확인하지 않으면 갱신 시 교육 할인 혜택을 받지 못합니다.',
title: '귀하의 학력 상태는 {{date}}에 만료됩니다',
summary: '걱정하지 마세요. 현재 구독에는 영향을 주지 않지만, 다시 인증하지 않으면 갱신 시 교육 할인 혜택을 받을 수 없습니다.',
title: '교육 인증 상태가 {{date}}에 만료됩니다',
},
stillInEducation: {
title: '아직 학업 중이신가요?',
isAboutToExpire: '새로운 학년을 위한 쿠폰을 받으시려면 지금 다시 인증하십시오. 쿠폰은 귀하의 계정에 저장되어 다음 갱신 시 사용할 수 있습니다.',
expired: '지금 다시 인하여 다가오는 학년도에 사용할 새 쿠폰을 받아보세요. 우리는 그것을 귀하의 계정에 추가하며, 다음 업그레이드에 사용할 수 있습니다.',
isAboutToExpire: '새로운 학년을 위한 쿠폰을 받으려면 지금 다시 인증하세요. 쿠폰은 계정에 저장되어 다음 갱신 시 사용할 수 있습니다.',
expired: '지금 다시 하여 다가오는 학년도에 사용할 새 쿠폰을 받으세요. 계정에 쿠폰이 추가되며, 다음 업그레이드 시 사용할 수 있습니다.',
},
alreadyGraduated: {
title: '벌써 졸업했나요?',
expired: '유료 기능에 대한 전체 액세스를 얻기 위해 언제든지 자유롭게 업그레이드하세요.',
isAboutToExpire: '현재 구독은 여전히 유효합니다. 구독이 종료되면 샌드박스 요금제로 변경되며, 언제든지 업그레이드하여 유료 기능에 대한 전체 접근을 복원할 수 있습니다.',
title: '이미 졸업하셨나요?',
expired: '유료 기능에 대한 전체 액세스를 유지하려면 언제든지 업그레이드하세요.',
isAboutToExpire: '현재 구독은 여전히 유효합니다. 구독이 종료되면 샌드박스 요금제로 변경되며, 언제든지 업그레이드하여 유료 기능을 다시 사용할 수 있습니다.',
},
action: {
dismiss: '해제',
dismiss: '닫기',
upgrade: '업그레이드',
reVerify: '재인',
reVerify: '재',
},
dateFormat: 'MM/DD/YYYY',
dateFormat: 'YYYY-MM-DD',
},
}
export default translation
export default translation

View File

@ -1,7 +1,7 @@
const translation = {
title: '탐색',
sidebar: {
discovery: '탐색',
discovery: '발견',
chat: '채팅',
workspace: '작업 공간',
action: {
@ -12,12 +12,12 @@ const translation = {
},
delete: {
title: '앱 삭제',
content: '이 앱을 삭제해도 괜찮습니까?',
content: '이 앱을 삭제하시겠습니까?',
},
},
apps: {
title: 'Dify 앱 탐색',
description: '템플릿 앱을 즉시 사용하거나 템플릿을 기반으로 고유한 앱을 사용자 정의하세요.',
title: 'Dify 앱 탐색',
description: '템플릿 앱을 즉시 사용하거나 템플릿을 기반으로 나만의 앱을 커스터마이징하세요.',
allCategories: '모든 카테고리',
},
appCard: {
@ -31,14 +31,14 @@ const translation = {
},
category: {
Assistant: '어시스턴트',
Writing: '작성',
Writing: '글쓰기',
Translate: '번역',
Programming: '프로그래밍',
Agent: '에이전트',
Workflow: '워크플로우',
HR: '인사',
Entertainment: '오락',
Entertainment: '엔터테인먼트',
},
}
export default translation
export default translation

View File

@ -1,8 +1,8 @@
const translation = {
sidebar: {
expandSidebar: '사이드바 확장',
collapseSidebar: '사이드바 축소',
expandSidebar: '사이드바 펼치기',
collapseSidebar: '사이드바 접기',
},
}
export default translation
export default translation

View File

@ -1,6 +1,6 @@
const translation = {
pageTitle: '시작하기 🎉',
welcome: 'Dify 에 오신 것을 환영합니다. 계속하려면 로그인하세요.',
welcome: 'Dify에 오신 것을 환영합니다. 계속하려면 로그인하세요.',
email: '이메일 주소',
emailPlaceholder: '이메일 주소를 입력하세요',
password: '비밀번호',
@ -19,31 +19,31 @@ const translation = {
invitationCodePlaceholder: '초대 코드를 입력하세요',
interfaceLanguage: '인터페이스 언어',
timezone: '시간대',
go: 'Dify 로 이동',
sendUsMail: '간단한 소개를 메일로 보내주시면 초대 요청을 처리해드립니다.',
acceptPP: '개인정보 처리 방침에 동의합니다.',
go: 'Dify로 이동',
sendUsMail: '간단한 소개를 메일로 보내주시면 초대 요청을 처리해 드립니다.',
acceptPP: '개인정보 처리방침에 동의합니다.',
reset: '비밀번호를 재설정하려면 다음 명령을 실행하세요:',
withGitHub: 'GitHub 로 계속',
withGoogle: 'Google 로 계속',
rightTitle: 'LLM 최대 잠재력을 발휘하세요',
withGitHub: 'GitHub로 계속',
withGoogle: 'Google로 계속',
rightTitle: 'LLM의 잠재력을 최대한 발휘하세요',
rightDesc: '매력적이고 조작 가능하며 개선 가능한 AI 애플리케이션을 쉽게 구축하세요.',
tos: '이용약관',
pp: '개인정보 처리 방침',
pp: '개인정보 처리방침',
tosDesc: '가입함으로써 다음 내용에 동의하게 됩니다.',
goToInit: '계정이 초기화되지 않았다면 초기화 페이지로 이동하세요.',
dontHave: '계정이 없으신가요?',
invalidInvitationCode: '유효하지 않은 초대 코드입니다.',
accountAlreadyInited: '계정 이미 초기화되었습니다.',
accountAlreadyInited: '계정 이미 초기화되었습니다.',
forgotPassword: '비밀번호를 잊으셨나요?',
resetLinkSent: '재설정 링크가 전송되었습니다',
sendResetLink: '재설정 링크 보내기',
backToSignIn: '로그인으로 돌아가기',
forgotPasswordDesc: '비밀번호를 재설정하려면 이메일 주소를 입력하세요. 비밀번호 재설정 방법에 대한 이메일을 보내드리겠습니다.',
checkEmailForResetLink: '비밀번호 재설정 링크를 확인하려면 이메일을 확인하세요. 몇 분 내에 나타나지 않으면 스팸 폴더를 확인하세요.',
forgotPasswordDesc: '비밀번호를 재설정하려면 이메일 주소를 입력하세요. 비밀번호 재설정 방법에 대한 이메일을 보내드니다.',
checkEmailForResetLink: '비밀번호 재설정 링크를 확인하려면 이메일을 확인하세요. 몇 분 내에 도착하지 않으면 스팸 폴더를 확인하세요.',
passwordChanged: '지금 로그인',
changePassword: '비밀번호 변경',
changePasswordTip: '계정의 새 비밀번호를 입력하세요',
invalidToken: '유효하지 않거나 만료된 토큰',
invalidToken: '유효하지 않거나 만료된 토큰입니다',
confirmPassword: '비밀번호 확인',
confirmPasswordPlaceholder: '새 비밀번호를 확인하세요',
passwordChangedTip: '비밀번호가 성공적으로 변경되었습니다',
@ -52,20 +52,20 @@ const translation = {
emailInValid: '유효한 이메일 주소를 입력하세요.',
nameEmpty: '사용자 이름을 입력하세요.',
passwordEmpty: '비밀번호를 입력하세요.',
passwordInvalid: '비밀번호는 문자와 숫자를 포함하고 8 자 이상이어야 합니다.',
passwordLengthInValid: '비밀번호는 8 자 이상이어야 합니다.',
passwordInvalid: '비밀번호는 문자와 숫자를 포함하고 8자 이상이어야 합니다.',
passwordLengthInValid: '비밀번호는 8자 이상이어야 합니다.',
registrationNotAllowed: '계정을 찾을 수 없습니다. 등록하려면 시스템 관리자에게 문의하십시오.',
invalidEmailOrPassword: '유효하지 않은 이메일이나 비밀번호입니다.',
},
license: {
tip: 'Dify Community Edition 을 시작하기 전에 GitHub 의',
tip: 'Dify 커뮤니티 에디션을 시작하기 전에 GitHub의',
link: '오픈 소스 라이선스',
},
join: '가입하기',
joinTipStart: '당신을 초대합니다.',
joinTipEnd: '팀에 가입하세요.',
invalid: '링크의 유효 기간이 만료되었습니다.',
explore: 'Dify 를 탐색하세요',
explore: 'Dify 탐색하기',
activatedTipStart: '이제',
activatedTipEnd: '팀에 가입되었습니다.',
activated: '지금 로그인하세요',
@ -74,53 +74,53 @@ const translation = {
checkCode: {
verify: '확인',
verificationCode: '인증 코드',
validTime: '코드는 5 분 동안 유효합니다',
validTime: '코드는 5분 동안 유효합니다',
checkYourEmail: '이메일 주소 확인',
invalidCode: '유효하지 않은 코드',
verificationCodePlaceholder: '6 자리 코드 입력',
verificationCodePlaceholder: '6자리 코드 입력',
emptyCode: '코드가 필요합니다.',
useAnotherMethod: '다른 방법 사용',
didNotReceiveCode: '코드를 받지 못하셨나요?',
resend: '재전송',
tipsPrefix: '우리는 확인 코드를 보냅니다',
tipsPrefix: '인증 코드를 다음 주소로 보냈습니다:',
},
back: '뒤로',
or: '또는',
useVerificationCode: '인증 코드 사용',
continueWithCode: '코드로 계속하기',
usePassword: '비밀번호 사용',
withSSO: 'SSO 로 계속하기',
withSSO: 'SSO로 계속하기',
backToLogin: '로그인으로 돌아가기',
resetPassword: '비밀번호 재설정',
setYourAccount: '계정 설정',
noLoginMethod: '인증 방법이 구성되지 않음',
noLoginMethod: '인증 방법이 설정되지 않음',
sendVerificationCode: '인증 코드 보내기',
changePasswordBtn: '비밀번호 설정',
enterYourName: '사용자 이름을 입력해 주세요',
noLoginMethodTip: '인증 방법을 추가하려면 시스템 관리자에게 문의하십시오.',
resetPasswordDesc: 'Dify 에 가입할 때 사용한 이메일을 입력하면 비밀번호 재설정 이메일을 보내드립니다.',
licenseInactiveTip: '작업 영역에 대한 Dify Enterprise 라이선스가 비활성 상태입니다. Dify 를 계속 사용하려면 관리자에게 문의하십시오.',
licenseLost: '라이스 분실',
licenseLostTip: 'Dify 라이선스 서버에 연결하지 못했습니다. Dify 를 계속 사용하려면 관리자에게 문의하십시오.',
licenseInactive: 'License Inactive(라이선스 비활성)',
licenseExpired: '라이스가 만료되었습니다.',
licenseExpiredTip: '작업 영역에 대한 Dify Enterprise 라이선스가 만료되었습니다. Dify 를 계속 사용하려면 관리자에게 문의하십시오.',
resetPasswordDesc: 'Dify에 가입할 때 사용한 이메일을 입력하면 비밀번호 재설정 이메일을 보내드립니다.',
licenseInactiveTip: '작업 공간에 대한 Dify 엔터프라이즈 라이선스가 비활성 상태입니다. Dify를 계속 사용하려면 관리자에게 문의하십시오.',
licenseLost: '라이스 분실',
licenseLostTip: 'Dify 라이선스 서버에 연결하지 못했습니다. Dify를 계속 사용하려면 관리자에게 문의하십시오.',
licenseInactive: '라이선스 비활성',
licenseExpired: '라이스가 만료되었습니다.',
licenseExpiredTip: '작업 공간에 대한 Dify 엔터프라이즈 라이선스가 만료되었습니다. Dify를 계속 사용하려면 관리자에게 문의하십시오.',
webapp: {
noLoginMethod: '웹 애플리케이션에 대한 인증 방법이 구성되어 있지 않습니다.',
disabled: '웹앱 인증이 비활성화되었습니다. 이를 활성화하려면 시스템 관리자에게 문의하십시오. 앱을 직접 사용해 볼 수 있습니다.',
noLoginMethodTip: '인증 방법을 추가하려면 시스템 관리자에게 연락하십시오.',
noLoginMethod: '웹 애플리케이션에 대한 인증 방법이 설정되어 있지 않습니다.',
disabled: '웹앱 인증이 비활성화되었습니다. 활성화하려면 시스템 관리자에게 문의하십시오. 앱을 직접 사용해 볼 수 있습니다.',
noLoginMethodTip: '인증 방법을 추가하려면 시스템 관리자에게 문의하십시오.',
login: '로그인',
},
signup: {
signIn: '로그인',
signUp: '가입하기',
haveAccount: '이미 계정이 있으신가요?',
createAccount: '계정 생성하세요',
verifyMail: '인증 코드로 계속 진행하세요',
createAccount: '계정 생성',
verifyMail: '이메일 인증으로 계속',
noAccount: '계정이 없으신가요?',
welcome: '👋 환영합니다! 시작하려면 세부 정보를 입력해 주세요.',
},
pageTitleForE: '이봐, 시작하자!',
pageTitleForE: '자, 시작해 봅시다!',
}
export default translation
export default translation

View File

@ -1,15 +1,15 @@
const translation = {
tips: {
needLogin: '로그인하여 인증해 주세요.',
notLoggedIn: '이 앱은 Dify Cloud 계정에 접근하고 싶어합니다.',
loggedIn: '이 앱은 다음 정보를 귀하의 Dify Cloud 계정에서 액세스하려고 합니다.',
notLoggedIn: '이 앱은 Dify 클라우드 계정에 접근하고 싶어합니다.',
loggedIn: '이 앱은 Dify 클라우드 계정에서 다음 정보에 접근하려고 합니다.',
common: '우리는 귀하의 개인 정보를 존중하며, 이 정보를 개발자 도구를 통한 귀하의 경험 향상에만 사용할 것입니다.',
},
scopes: {
avatar: '아바타',
email: '이메일',
name: '이름',
languagePreference: '언어 선호',
languagePreference: '언어 선호',
timezone: '시간대',
},
error: {
@ -24,4 +24,4 @@ const translation = {
connect: '연결',
}
export default translation
export default translation

View File

@ -7,7 +7,7 @@ const translation = {
descriptionPlaceholder: '이 지식 파이프라인에 대한 설명을 입력하십시오. (선택 사항)',
},
reRun: '다시 실행',
processing: '가공',
processing: '처리 중',
testRun: '테스트 실행',
confirmPublish: '게시 확인',
preparingDataSource: '데이터 소스 준비',
@ -16,25 +16,25 @@ const translation = {
confirmPublishContent: '지식 파이프라인을 성공적으로 게시한 후에는 이 지식 기반의 청크 구조를 수정할 수 없습니다. 게시하시겠습니까?',
},
inputField: {
manage: '관리하다',
create: '사용자 입력 필드 만들기',
manage: '관리',
create: '사용자 입력 필드 생성',
},
publishToast: {
title: '이 파이프라인은 아직 게시되지 않았습니다.',
desc: '파이프라인이 게시되지 않은 경우 기술 자료 노드에서 청크 구조를 수정할 수 있으며 파이프라인 오케스트레이션 및 변경 내용은 자동으로 초안으로 저장됩니다.',
desc: '파이프라인이 게시되지 않은 경우 지식 노드에서 청크 구조를 수정할 수 있으며 파이프라인 오케스트레이션 및 변경 내용은 자동으로 초안으로 저장됩니다.',
},
result: {
resultPreview: {
loading: '가공... 기다리세요',
viewDetails: ' 정보보기',
loading: '처리 중... 잠시만 기다려 주세요',
viewDetails: '세 정보 보기',
error: '실행 중 오류가 발생했습니다.',
footerTip: '테스트 실행 모드에서, 최대 {{count}}개의 청크를 미리보기',
footerTip: '테스트 실행 모드에서는 최대 {{count}}개의 청크를 미리보기할 수 있습니다',
},
},
ragToolSuggestions: {
title: 'RAG에 대한 제안',
title: 'RAG 제안',
noRecommendationPlugins: '추천 플러그인이 없습니다. 더 많은 플러그인은 <CustomLink>마켓플레이스</CustomLink>에서 찾아보세요.',
},
}
export default translation
export default translation

View File

@ -1,26 +1,26 @@
const translation = {
tags: {
social: '사회적인',
social: '소셜',
finance: '금융',
travel: '여행하다',
travel: '여행',
search: '검색',
entertainment: '오락',
entertainment: '엔터테인먼트',
utilities: '유틸리티',
productivity: '생산',
productivity: '생산',
weather: '날씨',
other: '다른',
videos: '동영상',
news: '소식',
medical: '내과의',
other: '기타',
videos: '비디오',
news: '뉴스',
medical: '',
education: '교육',
image: '이미지',
design: '디자인',
business: '사업',
business: '비즈니스',
agent: '에이전트',
rag: '넝마',
rag: 'RAG',
},
allTags: '모든 태그',
searchTags: '검색 태그',
searchTags: '태그 검색',
}
export default translation
export default translation

View File

@ -1,33 +1,33 @@
const translation = {
subscription: {
title: '구독',
listNum: '{{num}} 구독',
listNum: '{{num}} 구독',
empty: {
title: '구독 없음',
button: '새 구독',
},
createButton: {
oauth: 'OAuth로 새 구독',
apiKey: 'API 키를 이용한 새 구독',
apiKey: 'API 키 새 구독',
manual: '새 구독을 만들려면 URL을 붙여넣으세요',
},
createSuccess: '구독이 성공적으로 생성되었습니다',
createFailed: '구독 생성 실패했습니다',
maxCount: '최대 {{num}} 구독',
createFailed: '구독 생성 실패',
maxCount: '최대 {{num}} 구독',
selectPlaceholder: '구독 선택',
noSubscriptionSelected: '선택한 구독이 없습니다',
subscriptionRemoved: '구독 취소됨',
list: {
title: '구독',
addButton: '추가',
tip: '구독을 통해 이벤트 받기',
tip: '구독을 통해 이벤트 수신',
item: {
enabled: '활성화됨',
disabled: '사용하지 않음',
disabled: '비활성화됨',
credentialType: {
api_key: 'API 키',
oauth2: 'OAuth',
unauthorized: '매뉴얼',
unauthorized: '수동',
},
actions: {
delete: '삭제',
@ -36,25 +36,25 @@ const translation = {
success: '구독 {{name}}이(가) 성공적으로 삭제되었습니다',
error: '구독 {{name}} 삭제 실패',
content: '삭제하면 이 구독은 복구할 수 없습니다. 확인해주세요.',
contentWithApps: '현재 구독은 {{count}}개의 애플리케이션에서 참조되고 있습니다. 이를 삭제하면 구성된 애플리케이션이 구독 이벤트를 받지 않게 됩니다.',
contentWithApps: '현재 구독은 {{count}}개의 애플리케이션에서 사용 중입니다. 삭제하면 구성된 애플리케이션이 더 이상 구독 이벤트를 받지 못합니다.',
confirm: '삭제 확인',
cancel: '취소',
confirmInputWarning: '확인을 위해 올바른 이름을 입력해 주세요.',
confirmInputPlaceholder: '"{{name}}"를 입력하여 확인하세요.',
confirmInputTip: '확인을 위해 “{{name}}”를 입력해 주세요.',
confirmInputPlaceholder: '"{{name}}"을() 입력하여 확인하세요.',
confirmInputTip: '확인을 위해 "{{name}}"을(를) 입력해 주세요.',
},
},
status: {
active: '활성',
inactive: '비활성',
},
usedByNum: '{{num}} 워크플로우에서 사용됨',
usedByNum: '{{num}} 워크플로우에서 사용됨',
noUsed: '사용된 워크플로우 없음',
},
},
addType: {
title: '구독 추가',
description: '트리거 구독 생성하는 방법을 선택하세요',
description: '트리거 구독 생성 방법을 선택하세요',
options: {
apikey: {
title: 'API 키로 생성',
@ -71,7 +71,7 @@ const translation = {
manual: {
title: '수동 설정',
description: '새 구독을 만들려면 URL을 붙여넣으세요',
tip: '타사 플랫폼에서 URL 수동으로 구성',
tip: '타사 플랫폼에서 URL 수동 구성',
},
},
},
@ -85,19 +85,19 @@ const translation = {
cancel: '취소',
back: '뒤로',
next: '다음',
create: '만들다',
create: '생성',
verify: '확인',
authorize: '권한 부여',
creating: '생성 중...',
verifying: '검증 중...',
authorizing: '승인 중...',
},
oauthRedirectInfo: '이 도구 제공자에 대한 시스템 클라이언트 비밀이 발견되지 않아 수동 설정이 필요하며, redirect_uri에는 다음을 사용해 주세요',
oauthRedirectInfo: '이 도구 제공자에 대한 시스템 클라이언트 시크릿을 찾을 수 없어 수동 설정이 필요합니다. redirect_uri에는 다음을 사용해 주세요',
apiKey: {
title: 'API 키로 생성',
verify: {
title: '자격 증명 확인',
description: '액세스를 확인하려면 API 자격 증명을 제공해 주세요',
description: '액세스를 확인하려면 API 자격 증명을 입력하세요',
error: '자격 증명 확인에 실패했습니다. API 키를 확인해주세요.',
success: '자격 증명이 성공적으로 확인되었습니다',
},
@ -117,7 +117,7 @@ const translation = {
waitingAuth: '승인 대기 중...',
authSuccess: '승인 성공',
authFailed: 'OAuth 인증 정보를 가져오지 못했습니다',
waitingJump: '승인됨, 이륙 대기 중',
waitingJump: '승인됨, 리디렉션 대기 중',
},
configuration: {
title: '구독 설정',
@ -146,21 +146,21 @@ const translation = {
subscriptionName: {
label: '구독 이름',
placeholder: '구독 이름 입력',
required: '구독 이름은 필수 항목입니다',
required: '구독 이름은 필수입니다',
},
callbackUrl: {
label: '콜백 URL',
description: '이 URL은 웹훅 이벤트를 수신합니다',
tooltip: '트리거 제공자로부터 콜백 요청을 받을 수 있는 공개 접근 가능한 엔드포인트를 제공하십시오.',
tooltip: '트리거 제공자로부터 콜백 요청을 받을 수 있는 공개적으로 접근 가능한 엔드포인트를 제공하세요.',
placeholder: '생성 중...',
privateAddressWarning: '이 URL은 내부 주소인 것으로 보이며, 이로 인해 웹후크 요청이 실패할 수 있습니다. TRIGGER_URL을 공개 주소로 변경할 수 있습니다.',
privateAddressWarning: '이 URL은 내부 주소인 것으로 보이며, 웹훅 요청이 실패할 수 있습니다. TRIGGER_URL을 공개 주소로 변경하는 것을 고려하세요.',
},
},
errors: {
createFailed: '구독 생성 실패했습니다',
createFailed: '구독 생성 실패',
verifyFailed: '인증 정보를 확인하지 못했습니다',
authFailed: '인증 실패',
networkError: '네트워크 오류가 발생했습니다. 다시 시도해주세요.',
networkError: '네트워크 오류가 발생했습니다. 다시 시도해 주세요.',
},
},
events: {
@ -169,18 +169,18 @@ const translation = {
empty: '이용 가능한 이벤트가 없습니다',
event: '이벤트',
events: '이벤트',
actionNum: '{{num}} {{event}} 포함',
actionNum: '{{num}}개의 {{event}} 포함',
item: {
parameters: '{{count}} 매개변수',
parameters: '{{count}}개의 매개변수',
noParameters: '매개변수 없음',
},
output: '출력',
},
node: {
status: {
warning: '연결 끊',
warning: '연결 끊',
},
},
}
export default translation
export default translation

View File

@ -7,13 +7,13 @@ const translation = {
tools: '도구',
bundles: '번들',
datasources: '데이터 소스',
triggers: '유발 요인',
triggers: '트리거',
},
categorySingle: {
extension: '확장',
tool: '도구',
agent: '에이전트 전략',
bundle: '보따리',
bundle: '번들',
model: '모델',
datasource: '데이터 소스',
trigger: '트리거',
@ -22,27 +22,27 @@ const translation = {
source: {
marketplace: '마켓플레이스에서 설치',
local: '로컬 패키지 파일에서 설치',
github: 'GitHub 에서 설치',
github: 'GitHub에서 설치',
},
noInstalled: '설치된 플러그인이 없습니다.',
notFound: '플러그인을 찾을 수 없습니다.',
},
source: {
local: '로컬 패키지 파일',
marketplace: '마켓',
github: '깃허브',
marketplace: '마켓플레이스',
github: 'GitHub',
},
detailPanel: {
categoryTip: {
marketplace: '마켓플레이스에서 설치됨',
debugging: '디버깅 플러그인',
github: 'Github 에서 설치됨',
github: 'GitHub에서 설치됨',
local: '로컬 플러그인',
},
operation: {
detail: ' 정보',
detail: '세 정보',
install: '설치',
viewDetail: '자세히보기',
viewDetail: '상세 보기',
info: '플러그인 정보',
update: '업데이트',
remove: '제거',
@ -52,41 +52,41 @@ const translation = {
toolSelector: {
empty: '\'+\' 버튼을 클릭하여 도구를 추가합니다. 여러 도구를 추가할 수 있습니다.',
descriptionLabel: '도구 설명',
uninstalledContent: '이 플러그인은 로컬/GitHub 저장소에서 설치됩니다. 설치 후 사용하십시오.',
params: '추론 구성',
uninstalledContent: '이 플러그인은 로컬/GitHub 저장소에서 설치됩니다. 설치 후 사용해 주세요.',
params: '추론 설정',
paramsTip1: 'LLM 추론 파라미터를 제어합니다.',
uninstalledLink: '플러그인에서 관리',
unsupportedTitle: '지원되지 않는 작업',
auto: '자동 번역',
auto: '자동',
settings: '사용자 설정',
unsupportedContent2: '버전을 전환하려면 클릭합니다.',
unsupportedContent2: '버전을 전환하려면 클릭하세요.',
uninstalledTitle: '도구가 설치되지 않음',
descriptionPlaceholder: '도구의 용도에 대한 간략한 설명 (예: 특정 위치의 온도 가져오기).',
title: '추가 도구',
descriptionPlaceholder: '도구의 용도에 대한 간략한 설명 (예: 특정 지역의 온도 가져오기).',
title: '도구 추가',
toolLabel: '도구',
placeholder: '도구 선택...',
paramsTip2: '\'자동\'이 꺼져 있으면 기본값이 사용됩니다.',
unsupportedContent: '설치된 플러그인 버전은 이 작업을 제공하지 않습니다.',
unsupportedContent: '설치된 플러그인 버전은 이 작업을 지원하지 않습니다.',
toolSetting: '도구 설정',
unsupportedMCPTool: '현재 선택된 에이전트 전략 플러그인 버전은 MCP 도구를 지원하지 않습니다.',
},
configureApp: '앱 구성',
strategyNum: '{{번호}} {{전략}} 포함',
strategyNum: '{{num}}개의 {{strategy}} 포함',
endpointModalDesc: '구성이 완료되면 API 엔드포인트를 통해 플러그인에서 제공하는 기능을 사용할 수 있습니다.',
actionNum: '{{번호}} {{행동}} 포함',
actionNum: '{{num}}개의 {{action}} 포함',
endpointDeleteTip: '엔드포인트 제거',
modelNum: '{{번호}} 포함 된 모델',
modelNum: '{{num}}개의 모델 포함',
configureModel: '모델 구성',
configureTool: ' 구',
switchVersion: '스위치 버전',
endpointsEmpty: '\'+\' 버튼을 클릭하여 엔드포인트를 추가합니다.',
configureTool: '구 구',
switchVersion: '버전 전환',
endpointsEmpty: "'+' 버튼을 클릭하여 엔드포인트를 추가하세요.",
endpointModalTitle: '엔드포인트 설정',
endpointsTip: '이 플러그인은 엔드포인트를 통해 특정 기능을 제공하며 현재 작업 공간에 대해 여러 엔드포인트 세트를 구성할 수 있습니다.',
endpointDisableContent: '{{name}}을 비활성화하시겠습니까?',
endpointDeleteContent: '{{name}}을 제거하시겠습니까?',
disabled: '비활성화',
endpointDisableContent: '{{name}}을(를) 비활성화하시겠습니까?',
endpointDeleteContent: '{{name}}을(를) 제거하시겠습니까?',
disabled: '비활성화',
endpointsDocLink: '문서 보기',
endpoints: '끝점',
endpoints: '엔드포인트',
serviceOk: '서비스 정상',
endpointDisableTip: '엔드포인트 비활성화',
deprecation: {
@ -106,24 +106,24 @@ const translation = {
},
privilege: {
admins: '관리자',
title: '플러그인 기본 설정',
title: '플러그인 권한 설정',
whoCanDebug: '누가 플러그인을 디버깅할 수 있나요?',
noone: '아무도 없어',
noone: '없음',
everyone: '모두',
whoCanInstall: '누가 플러그인을 설치하고 관리할 수 있습니까?',
whoCanInstall: '누가 플러그인을 설치하고 관리할 수 있나요?',
},
pluginInfoModal: {
packageName: '패키지',
repository: '저장소',
title: '플러그인 정보',
release: '석방',
release: '릴리스',
},
action: {
deleteContentRight: '플러그인?',
deleteContentRight: '플러그인을 제거하시겠습니까?',
usedInApps: '이 플러그인은 {{num}}개의 앱에서 사용되고 있습니다.',
pluginInfo: '플러그인 정보',
checkForUpdates: '업데이트 확인',
deleteContentLeft: '제거하시겠습니까?',
deleteContentLeft: '정말',
delete: '플러그인 제거',
},
installModal: {
@ -134,171 +134,171 @@ const translation = {
},
back: '뒤로',
readyToInstallPackage: '다음 플러그인을 설치하려고 합니다.',
close: '닫',
fromTrustSource: '<trustSource>신뢰할 수 있는 출처</trustSource>의 플러그인만 설치하도록 하세요.',
close: '닫',
fromTrustSource: '<trustSource>신뢰할 수 있는 출처</trustSource>의 플러그인만 설치하세요.',
readyToInstall: '다음 플러그인을 설치하려고 합니다.',
uploadFailed: '업로드 실패',
installPlugin: '플러그인 설치',
pluginLoadErrorDesc: '이 플러그인은 설치되지 않습니다.',
installedSuccessfully: '설치 성공',
installedSuccessfullyDesc: '플러그인이 성공적으로 설치되었습니다.',
installing: '설치...',
installing: '설치...',
pluginLoadError: '플러그인 로드 오류',
installFailedDesc: '플러그인이 설치되지 않았습니다.',
installFailed: '설치 실패',
next: '다음',
installComplete: '설치 완료',
install: '설치하다',
readyToInstallPackages: '다음 {{num}} 플러그인을 설치하려고 합니다.',
uploadingPackage: '{{packageName}} 업로드 중...',
dropPluginToInstall: '플러그인 패키지를 여기에 놓아 설치하십시오.',
install: '설치',
readyToInstallPackages: '다음 {{num}}개의 플러그인을 설치하려고 합니다.',
uploadingPackage: '{{packageName}} 업로드 중...',
dropPluginToInstall: '플러그인 패키지를 여기에 놓아 설치하세요.',
cancel: '취소',
installWarning: '이 플러그인은 설치할 수 없습니다.',
},
installFromGitHub: {
uploadFailed: '업로드 실패',
selectVersionPlaceholder: '버전을 선택하세요.',
installPlugin: 'GitHub 에서 플러그인 설치',
installPlugin: 'GitHub에서 플러그인 설치',
installFailed: '설치 실패',
updatePlugin: 'GitHub 에서 플러그인 업데이트',
updatePlugin: 'GitHub에서 플러그인 업데이트',
selectPackage: '패키지 선택',
gitHubRepo: 'GitHub 리포지토리',
selectPackagePlaceholder: '패키지를 선택하세요.',
installedSuccessfully: '설치 성공',
selectVersion: '버전 선택',
installNote: '신뢰할 수 있는 출처의 플러그인만 설치하도록 하세요.',
installNote: '신뢰할 수 있는 출처의 플러그인만 설치하세요.',
},
upgrade: {
usedInApps: '{{num}}개의 앱에서 사용됨',
description: '다음 플러그인을 설치하려고 합니다.',
successfulTitle: '설치 성공',
upgrade: '설치하다',
upgrading: '설치...',
close: '닫',
upgrade: '업그레이드',
upgrading: '설치...',
close: '닫',
title: '플러그인 설치',
},
error: {
noReleasesFound: '릴리스를 찾을 수 없습니다. GitHub 리포지토리 또는 입력 URL 을 확인하세요.',
fetchReleasesError: '릴리스를 검색할 수 없습니다. 나중에 다시 시도하십시오.',
inValidGitHubUrl: '잘못된 GitHub URL 입니다. 유효한 URL 을 https://github.com/owner/repo 형식으로 입력하십시오.',
noReleasesFound: '릴리스를 찾을 수 없습니다. GitHub 리포지토리 또는 입력 URL을 확인하세요.',
fetchReleasesError: '릴리스를 검색할 수 없습니다. 나중에 다시 시도하세요.',
inValidGitHubUrl: '잘못된 GitHub URL입니다. 유효한 URL을 https://github.com/owner/repo 형식으로 입력하세요.',
},
marketplace: {
sortOption: {
recentlyUpdated: '최근 업데이트',
firstReleased: '첫 출시',
newlyReleased: '새로 출시 된',
mostPopular: '가장 인기 있는',
recentlyUpdated: '최근 업데이트',
firstReleased: '최초 출시순',
newlyReleased: '최신 출시순',
mostPopular: '인기순',
},
noPluginFound: '플러그인을 찾을 수 없습니다.',
empower: 'AI 개발 역량 강화',
viewMore: '더보기',
viewMore: '더 보기',
difyMarketplace: 'Dify 마켓플레이스',
pluginsResult: '{{num}} 결과',
discover: '발견하',
moreFrom: 'Marketplace 에서 더 보기',
pluginsResult: '{{num}} 결과',
discover: '발견하',
moreFrom: '마켓플레이스에서 더 보기',
sortBy: '정렬',
and: '그리고',
verifiedTip: 'Dify 에 의해 확인됨',
partnerTip: 'Dify 파트너 의해 확인됨',
and: '',
verifiedTip: 'Dify 됨',
partnerTip: 'Dify 파트너됨',
},
task: {
installingWithSuccess: '{{installingLength}} 플러그인 설치, {{successLength}} 성공.',
installedError: '{{errorLength}} 플러그인 설치 실패',
installing: '{{installingLength}} 플러그인 설치, 0 완료.',
installingWithError: '{{installingLength}} 플러그인 설치, {{successLength}} 성공, {{errorLength}} 실패',
installError: '{{errorLength}} 플러그인 설치 실패, 보려면 클릭하십시오.',
installingWithSuccess: '{{installingLength}} 플러그인 설치, {{successLength}} 성공.',
installedError: '{{errorLength}} 플러그인 설치 실패',
installing: '{{installingLength}} 플러그인 설치, 0 완료.',
installingWithError: '{{installingLength}} 플러그인 설치, {{successLength}} 성공, {{errorLength}} 실패',
installError: '{{errorLength}}개 플러그인 설치 실패, 클릭하여 보기.',
clearAll: '모두 지우기',
installSuccess: '{{successLength}} plugins installed successfully',
installed: 'Installed',
runningPlugins: 'Installing Plugins',
successPlugins: 'Successfully Installed Plugins',
errorPlugins: 'Failed to Install Plugins',
installSuccess: '{{successLength}}개 플러그인 설치 성공',
installed: '설치됨',
runningPlugins: '플러그인 설치 중',
successPlugins: '플러그인 설치 성공',
errorPlugins: '플러그인 설치 실패',
},
installAction: '설치하다',
searchTools: '검색 도구...',
installAction: '설치',
searchTools: '도구 검색...',
installPlugin: '플러그인 설치',
endpointsEnabled: '{{num}}개의 엔드포인트 집합이 활성화되었습니다.',
installFrom: '에서 설치',
endpointsEnabled: '{{num}}개 엔드포인트 세트 활성화됨',
installFrom: '설치 출처:',
allCategories: '모든 카테고리',
findMoreInMarketplace: 'Marketplace 에서 더 알아보기',
searchCategories: '검색 카테고리',
findMoreInMarketplace: '마켓플레이스에서 더 알아보기',
searchCategories: '카테고리 검색',
search: '검색',
searchInMarketplace: 'Marketplace 에서 검색',
from: '보낸 사람',
searchPlugins: '검색 플러그인',
searchInMarketplace: '마켓플레이스에서 검색',
from: '출처',
searchPlugins: '플러그인 검색',
install: '{{num}} 설치',
fromMarketplace: 'Marketplace 에서',
fromMarketplace: '마켓플레이스에서',
metadata: {
title: '플러그인',
},
difyVersionNotCompatible: '현재 Dify 버전이 이 플러그인과 호환되지 않습니다. 필요한 최소 버전으로 업그레이드하십시오: {{minimalDifyVersion}}',
requestAPlugin: '플러그인을 요청하세요',
requestAPlugin: '플러그인 요청하기',
publishPlugins: '플러그인 게시',
auth: {
oauthClient: 'OAuth 클라이언트',
default: '기본',
addApi: 'API 키 추가하기',
authorization: '권한',
addApi: 'API 키 추가',
authorization: '인증',
oauthClientSettings: 'OAuth 클라이언트 설정',
setupOAuth: 'OAuth 클라이언트 설정',
setDefault: '기본값으로 설정',
workspaceDefault: '작업 공간 기본값',
saveAndAuth: '저장하고 승인하세요',
addOAuth: 'OAuth 추가하기',
custom: '맞춤형',
saveAndAuth: '저장 및 인증',
addOAuth: 'OAuth 추가',
custom: '사용자 지정',
authRemoved: '인증이 제거되었습니다.',
saveOnly: '저장만 하기',
authorizationName: '권한 이름',
useApiAuth: 'API 키 인증 구성',
useOAuth: 'OAuth 사용하기',
useApi: 'API 키 사용하세요.',
authorizationName: '인증 이름',
useApiAuth: 'API 키 인증 사용',
useOAuth: 'OAuth 사용',
useApi: 'API 키 사용',
authorizations: '권한',
useOAuthAuth: 'OAuth 인증 사용하기',
useApiAuthDesc: '자격증명을 구성한 후에는 작업 공간 내의 모든 구성원이 애플리케이션을 조정할 때 이 도구를 사용할 수 있습니다.',
clientInfo: '이 도구 공급자에 대한 시스템 클라이언트 비밀이 발견되지 않았으므로 수동으로 설정해야 하며, redirect_uri는 다음을 사용하십시오.',
unavailable: '사용할 수 없음',
credentialUnavailable: '현재 자격 증명이 사용 불가능합니다. 관리자에게 문의하십시오.',
customCredentialUnavailable: '현재 사용자 정의 자격 증명이 사용 불가능합니다.',
credentialUnavailableInButton: '자격 증명 사용 불가',
useOAuthAuth: 'OAuth 인증 사용',
useApiAuthDesc: '자격 증명을 구성한 후에는 작업 공간 내의 모든 구성원이 애플리케이션을 조정할 때 이 도구를 사용할 수 있습니다.',
clientInfo: '이 도구 공급자에 대한 시스템 클라이언트 시크릿을 찾을 수 없어 수동 설정이 필요합니다. redirect_uri에는 다음을 사용하세요.',
unavailable: '사용 불가',
credentialUnavailable: '현재 자격 증명을 사용할 수 없습니다. 관리자에게 문의하세요.',
customCredentialUnavailable: '현재 사용자 지정 자격 증명을 사용할 수 없습니다.',
credentialUnavailableInButton: '자격 증명 사용 불가',
connectedWorkspace: '연결된 작업 공간',
emptyAuth: '인증을 구성하십시오.',
emptyAuth: '인증을 설정하세요.',
},
deprecated: '사용 중단됨',
autoUpdate: {
strategy: {
disabled: {
name: '장애인',
name: '비활성화',
description: '플러그인이 자동으로 업데이트되지 않습니다.',
},
fixOnly: {
name: '수정만 하기',
name: '수정 사항만',
selectedDescription: '패치 버전만 자동 업데이트',
description: '패치 버전만 자동 업데이트 (예: 1.0.1 → 1.0.2). 마이너 버전 변경은 업데이트를 유발하지 않습니다.',
description: '패치 버전만 자동 업데이트합니다 (예: 1.0.1 → 1.0.2). 마이너 버전 변경은 업데이트지 않습니다.',
},
latest: {
name: '최신',
description: '항상 최신 버전으로 업데이트하세요.',
selectedDescription: '항상 최신 버전으로 업데이트하세요.',
description: '항상 최신 버전으로 업데이트합니다.',
selectedDescription: '항상 최신 버전으로 업데이트합니다.',
},
},
upgradeMode: {
partial: '선택된 것만',
all: '모두 업데이트하기',
exclude: '선택 항목 제외',
partial: '선택 항목만',
all: '모두 업데이트',
exclude: '선택 항목 제외',
},
upgradeModePlaceholder: {
partial: '선택된 플러그인만 자동 업데이트됩니다. 현재 선택된 플러그인이 없으므로 자동 업데이트되는 플러그인은 없습니다.',
exclude: '선택 플러그인은 자동으로 업데이트되지 않습니다.',
exclude: '선택 플러그인은 자동으로 업데이트되지 않습니다.',
},
operation: {
clearAll: '모두 지우기',
select: '플러그인 선택하세요',
select: '플러그인 선택',
},
pluginDowngradeWarning: {
exclude: '자동 업데이트에서 제외',
title: '플러그인 다운그레이드',
downgrade: '어쨌든 다운그레이드',
description: '이 플러그인은 현재 자동 업데이트가 활성화되어 있습니다. 버전을 다운그레이드하면 다음 자동 업데이트 중에 변경 사항이 덮어써질 수 있습니다.',
downgrade: '강제 다운그레이드',
description: '이 플러그인은 현재 자동 업데이트가 활성화되어 있습니다. 버전을 다운그레이드하면 다음 자동 업데이트 시 변경 사항이 덮어쓰여질 수 있습니다.',
},
noPluginPlaceholder: {
noFound: '플러그인이 없습니다.',
@ -309,17 +309,17 @@ const translation = {
updateTime: '업데이트 시간',
nextUpdateTime: '다음 자동 업데이트: {{time}}',
updateSettings: '설정 업데이트',
partialUPdate: '다음 {{num}} 플러그인만 자동 업데이트됩니다.',
partialUPdate: '다음 {{num}}개의 플러그인만 자동 업데이트됩니다.',
changeTimezone: '시간대를 변경하려면 <setTimezone>설정</setTimezone>으로 이동하세요.',
specifyPluginsToUpdate: '업데이트할 플러그인을 지정하십시오.',
excludeUpdate: '다음 {{num}} 플러그인은 자동 업데이트되지 않습니다.',
specifyPluginsToUpdate: '업데이트할 플러그인을 지정하세요.',
excludeUpdate: '다음 {{num}}개의 플러그인은 자동 업데이트되지 않습니다.',
},
readmeInfo: {
title: '읽어보기',
title: 'README',
needHelpCheckReadme: '도움이 필요하신가요? README를 확인하세요.',
noReadmeAvailable: '사용 가능한 README가 없습니다',
failedToFetch: 'README를 가져오지 못했습니다',
},
}
export default translation
export default translation

View File

@ -1,12 +1,12 @@
const translation = {
input: '입력',
result: '결과',
detail: '상세정보',
detail: '상세 정보',
tracing: '트레이싱',
resultPanel: {
status: '상태',
time: '소요 시간',
tokens: '토큰 합',
tokens: '토큰 ',
},
meta: {
title: '메타데이터',
@ -15,17 +15,17 @@ const translation = {
executor: '실행자',
startTime: '시작 시간',
time: '소요 시간',
tokens: '토큰 합',
tokens: '토큰 ',
steps: '실행 단계',
},
resultEmpty: {
title: '이 실행에서는 JSON 형식만 출력됩니다',
tipLeft: '를 방문해주세요',
title: '이 실행은 JSON 형식만 출력합니다',
tipLeft: '자세한 내용은',
link: '상세 정보 패널',
tipRight: '를 확인하세요.',
tipRight: '을() 확인하세요.',
},
actionLogs: '작업 로그',
circularInvocationTip: '현재 워크플로우에 도구/노드의 순환 호출이 있습니다.',
}
export default translation
export default translation

View File

@ -9,65 +9,65 @@ const translation = {
pinnedTitle: '고정됨',
unpinnedTitle: '채팅',
newChatDefaultName: '새 대화',
resetChat: '대화 재설정',
resetChat: '대화 초기화',
poweredBy: 'Powered by',
prompt: '프롬프트',
privatePromptConfigTitle: '채팅 설정',
publicPromptConfigTitle: '초기 프롬프트',
configStatusDes: '시작하기 전에 채팅 설정을 변경할 수 있습니다',
configDisabled: '이전 세션의 설정이 현재 세션에 사용되었습니다.',
configDisabled: '이전 세션의 설정이 현재 세션에 사용되었습니다.',
startChat: '채팅 시작',
privacyPolicyLeft: '앱 개발자가 제공하는',
privacyPolicyMiddle: '개인 정보 보호 정책',
privacyPolicyRight: '을 읽어보세요.',
privacyPolicyMiddle: '개인정보 처리방침',
privacyPolicyRight: '을(를) 읽어보세요.',
deleteConversation: {
title: '대화 삭제',
content: '이 대화를 삭제하시겠습니까?',
},
tryToSolve: '해결하려고 합니다',
tryToSolve: '해결 시도',
temporarySystemIssue: '죄송합니다. 일시적인 시스템 문제가 발생했습니다.',
expand: '확장',
collapse: '축소',
expand: '펼치기',
collapse: '접기',
viewChatSettings: '채팅 설정 보기',
newChatTip: '이미 새로운 채팅 중입니다.',
newChatTip: '이미 새 채팅 중입니다.',
chatFormTip: '채팅이 시작된 후에는 채팅 설정을 수정할 수 없습니다.',
chatSettingsTitle: '새 채팅 설정',
},
generation: {
tabs: {
create: '회용 실행',
create: '일 실행',
batch: '일괄 실행',
saved: '저장된 결과',
},
savedNoData: {
title: '아직 저장된 결과가 없습니다!',
description: '컨텐츠 생성을 시작하고 저장된 결과를 여기서 찾아보세요.',
startCreateContent: '텐츠 생성 시작',
description: '콘텐츠 생성을 시작하고 저장된 결과를 여기서 확인하세요.',
startCreateContent: '텐츠 생성 시작',
},
title: 'AI 성',
queryTitle: '컨텐츠 쿼리',
completionResult: '성 결과',
queryPlaceholder: '쿼리 컨텐츠를 작성해주세요...',
title: 'AI 텍스트 생성',
queryTitle: '쿼리 내용',
completionResult: '성 결과',
queryPlaceholder: '쿼리 내용을 작성해주세요...',
run: '실행',
copy: '복사',
resultTitle: 'AI 성',
noData: 'AI 가 필요한 내용을 제공할 것입니다.',
csvUploadTitle: 'CSV 파일을 여기로 끌어다 놓거나',
resultTitle: 'AI 텍스트 생성',
noData: 'AI가 필요한 내용을 생성할 것입니다.',
csvUploadTitle: 'CSV 파일을 여기로 드래그 앤 드롭하거나',
browse: '찾아보기',
csvStructureTitle: 'CSV 파일은 다음 구조를 따라야 합니다:',
downloadTemplate: '여기에서 템플릿 다운로드',
field: '필드',
batchFailed: {
info: '{{num}} 실행 실패했습니다',
info: '{{num}}회 실행 실패',
retry: '재시도',
outputPlaceholder: '출력 컨텐츠 없음',
outputPlaceholder: '출력 내용 없음',
},
errorMsg: {
empty: '업로드된 파일에 컨텐츠를 입력해주세요.',
empty: '업로드된 파일에 내용을 입력해주세요.',
fileStructNotMatch: '업로드된 CSV 파일이 구조와 일치하지 않습니다.',
emptyLine: '{{rowIndex}}이 (가) 비어 있습니다.',
invalidLine: '{{rowIndex}}: {{varName}} 값은 비워둘 수 없습니다.',
moreThanMaxLengthLine: '{{rowIndex}}: {{varName}} 값은 {{maxLength}}자를 초과할 수 없습니다.',
emptyLine: '{{rowIndex}}이 비어 있습니다.',
invalidLine: '{{rowIndex}}: {{varName}} 값은 비워둘 수 없습니다.',
moreThanMaxLengthLine: '{{rowIndex}}: {{varName}} 값은 {{maxLength}}자를 초과할 수 없습니다.',
atLeastOne: '업로드된 파일에는 적어도 한 줄의 입력이 필요합니다.',
},
execution: '실행',
@ -79,4 +79,4 @@ const translation = {
},
}
export default translation
export default translation

View File

@ -9,23 +9,23 @@ const translation = {
Sat: '토요일',
},
months: {
May: '5 월',
January: '1 월',
August: '8 월',
July: '7 월',
April: '4 월',
October: '10 월',
December: '12 월',
February: '2 월',
June: '6 월',
November: '11 월',
March: '3 월',
September: '9 월',
January: '1월',
February: '2월',
March: '3월',
April: '4월',
May: '5월',
June: '6월',
July: '7월',
August: '8월',
September: '9월',
October: '10월',
November: '11월',
December: '12월',
},
operation: {
pickDate: '날짜 선택',
cancel: '취소',
ok: '좋아요',
ok: '확인',
now: '오늘',
},
title: {
@ -34,11 +34,11 @@ const translation = {
defaultPlaceholder: '시간을 선택하세요...',
dateFormats: {
input: 'YYYY-MM-DD',
display: 'MMMM D, YYYY',
display: 'YYYY년 MMMM D일',
outputWithTime: 'YYYY-MM-DDTHH:mm:ss.SSSZ',
displayWithTime: 'MMMM D, YYYY hh:mm A',
displayWithTime: 'YYYY년 MMMM D일 A h:mm',
output: 'YYYY-MM-DD',
},
}
export default translation
export default translation

View File

@ -1,27 +1,27 @@
const translation = {
title: '도구',
createCustomTool: '커스텀 도구 만들기',
customToolTip: 'Dify 커스텀 도구에 대해 더 알아보기',
createCustomTool: '사용자 정의 도구 만들기',
customToolTip: 'Dify 사용자 정의 도구에 대해 더 알아보기',
type: {
builtIn: '내장',
custom: '커스텀',
custom: '사용자 정의',
workflow: '워크플로우',
},
contribute: {
line1: '저는 Dify 에',
line2: '도구를 기여하는데 관심이 있습니다.',
line1: 'Dify에',
line2: '도구를 기여하는 데 관심이 있습니다.',
viewGuide: '가이드 보기',
},
author: '자',
author: '제작자',
auth: {
authorized: '인증됨',
setup: '사용을 위한 인증 설정',
setupModalTitle: '인증 설정',
setupModalTitleDescription: '자격 증명을 구성한 후에 워크스페이스의 모든 멤버가 이 도구를 사용하여 애플리케이션을 조작할 수 있습니다.',
setupModalTitleDescription: '자격 증명을 설정하면 워크스페이스의 모든 멤버가 이 도구를 사용하여 애플리케이션을 조작할 수 있습니다.',
},
includeToolNum: '{{num}}개의 도구가 포함되어 있습니다',
addToolModal: {
type: '타입',
type: '유형',
category: '카테고리',
added: '추가됨',
custom: {
@ -41,22 +41,22 @@ const translation = {
},
},
createTool: {
title: '커스텀 도구 만들기',
title: '사용자 정의 도구 만들기',
editAction: '설정',
editTitle: '커스텀 도구 편집',
editTitle: '사용자 정의 도구 편집',
name: '이름',
toolNamePlaceHolder: '도구 이름을 입력하세요',
nameForToolCall: '도구 호출 이름',
nameForToolCallPlaceHolder: 'getCurrentWeather, list_pets 과 같이, 기계 인지를 위해 사용됩니다.',
nameForToolCallTip: '숫자 문자, 밑줄만 지원합니다.',
nameForToolCall: '도구 호출',
nameForToolCallPlaceHolder: 'getCurrentWeather, list_pets와 같이 기계가 이해할 수 있는 이름',
nameForToolCallTip: '숫자, 문자, 밑줄만 지원합니다.',
description: '설명',
descriptionPlaceholder: '도구의 목적을 설명합니다. 예시로, 특정 지역의 온도 가져오기',
descriptionPlaceholder: '도구의 목적을 설명합니다. 예: 특정 지역의 온도 가져오기',
schema: '스키마',
schemaPlaceHolder: '여기에 OpenAPI 스키마를 입력하세요',
schemaPlaceHolder: 'OpenAPI 스키마를 여기에 입력하세요',
viewSchemaSpec: 'OpenAPI-Swagger 명세 보기',
importFromUrl: 'URL 에서 가져오기',
importFromUrl: 'URL에서 가져오기',
importFromUrlPlaceHolder: 'https://...',
urlError: '유효한 URL 을 입력하세요',
urlError: '유효한 URL을 입력하세요',
examples: '예시',
exampleOptions: {
json: '날씨 (JSON)',
@ -67,33 +67,33 @@ const translation = {
title: '사용 가능한 도구',
name: '이름',
description: '설명',
method: '메드',
method: '메드',
path: '경로',
action: '작',
action: '',
test: '테스트',
},
authMethod: {
title: '인증 방법',
type: '인증 유형',
keyTooltip: 'HTTP 헤더 키입니다. 생각이 없으면 "Authorization"으로 남겨둘 수 있습니다. 또는 사용자 정의 값을 설정할 수 있습니다.',
keyTooltip: 'HTTP 헤더 키입니다. "Authorization"이 기본값입니다. 사용자 정의 값을 설정할 수도 있습니다.',
types: {
none: '없음',
apiKeyPlaceholder: 'API 키의 HTTP 헤더 이름',
apiValuePlaceholder: 'API 키를 입력하세요',
api_key_query: '쿼리 매개변수',
queryParamPlaceholder: 'API 키에 대한 쿼리 매개변수 이름',
queryParamPlaceholder: 'API 키 쿼리 매개변수 이름',
api_key_header: '헤더',
},
key: '키',
value: '값',
queryParam: '쿼리 매개변수',
queryParamTooltip: '전달할 API 키 쿼리 매개변수의 이름, 예: "https://example.com/test?key=API_KEY"에서의 "key".',
queryParamTooltip: '전달할 API 키 쿼리 매개변수의 이름입니다. 예: "https://example.com/test?key=API_KEY"에서의 "key".',
},
authHeaderPrefix: {
title: '인증 유형',
types: {
basic: '베이직',
bearer: '베어러',
basic: 'Basic',
bearer: 'Bearer',
custom: '사용자 정의',
},
},
@ -102,35 +102,35 @@ const translation = {
toolInput: {
title: '도구 입력',
name: '이름',
required: '필요사항',
required: '필',
method: '방식',
methodSetting: '설정',
methodSettingTip: '도구 설정에서 사용자가 입',
methodParameter: '파라미터',
methodParameterTip: '추론 중에 LLM 입',
methodSettingTip: '도구 설정에서 사용자가 ',
methodParameter: '매개변수',
methodParameterTip: '추론 중에 LLM이 입',
label: '태그',
labelPlaceholder: '태그를 선택하세요.(선택사항)',
labelPlaceholder: '태그를 선택하세요(선택 사항)',
description: '설명',
descriptionPlaceholder: '파라미터의 의도를 설명하세요.',
descriptionPlaceholder: '매개변수의 의미를 설명하세요.',
},
customDisclaimer: '사용자 정의 권리 포기 문구',
customDisclaimerPlaceholder: '사용자 정의 권리 포기 문구를 입력해주세요.',
customDisclaimer: '사용자 정의 면책 조항',
customDisclaimerPlaceholder: '사용자 정의 면책 조항을 입력하세요.',
confirmTitle: '저장하시겠습니까?',
confirmTip: '이 도구를 사용하는 앱은 영향을 받습니다.',
confirmTip: '이 도구를 사용하는 앱에 영향을 미칠 수 있습니다.',
deleteToolConfirmTitle: '이 도구를 삭제하시겠습니까?',
deleteToolConfirmContent: '도구를 삭제하면 되돌릴 수 없습니다. 사용자는 더 이상 당신의 도구에 액세스할 수 없습니다.',
deleteToolConfirmContent: '도구를 삭제하면 되돌릴 수 없습니다. 사용자는 더 이상 도구에 액세스할 수 없습니다.',
toolOutput: {
title: '도구 출력',
name: '이름',
reserved: '예약됨',
reservedParameterDuplicateTip: 'text, json, 파일은 예약된 변수입니다. 이러한 이름을 가진 변수는 출력 스키마에 나타날 수 없습니다.',
reservedParameterDuplicateTip: 'text, json, file은 예약된 변수입니다. 이 이름들은 출력 스키마에 사용할 수 없습니다.',
description: '설명',
},
},
test: {
title: '테스트',
parametersValue: '파라미터 및 값',
parameters: '파라미터',
parametersValue: '매개변수 및 값',
parameters: '매개변수',
value: '값',
testResult: '테스트 결과',
testResultPlaceholder: '테스트 결과가 여기에 표시됩니다',
@ -145,7 +145,7 @@ const translation = {
info: '정보',
setting: '설정',
toolDescription: '도구 설명',
parameters: '파라미터',
parameters: '매개변수',
string: '문자열',
number: '숫자',
required: '필수',
@ -153,8 +153,8 @@ const translation = {
file: '파일',
},
noCustomTool: {
title: '커스텀 도구가 없습니다!',
content: 'AI 앱을 구축하기 위한 커스텀 도구를 여기서 추가 및 관리합니다.',
title: '사용자 정의 도구가 없습니다!',
content: 'AI 앱 구축을 위한 사용자 정의 도구를 여기에서 추가하고 관리하세요.',
createTool: '도구 만들기',
},
noSearchRes: {
@ -167,7 +167,7 @@ const translation = {
notAuthorized: '권한이 없습니다',
howToGet: '획득 방법',
openInStudio: '스튜디오에서 열기',
toolNameUsageTip: 'Agent 추리와 프롬프트를 위한 도구 호출 이름',
toolNameUsageTip: '에이전트 추론과 프롬프트를 위한 도구 호출명',
noTools: '도구를 찾을 수 없습니다.',
copyToolName: '이름 복사',
mcp: {
@ -175,44 +175,44 @@ const translation = {
cardTitle: 'MCP 서버 추가 (HTTP)',
cardLink: 'MCP 서버 통합에 대해 자세히 알아보기',
},
noConfigured: '구성되지 않은 서버',
noConfigured: '구성된 서버 없음',
updateTime: '업데이트됨',
toolsCount: '{count} 도구',
toolsCount: '{count} 도구',
noTools: '사용 가능한 도구 없음',
modal: {
title: 'MCP 서버 추가 (HTTP)',
editTitle: 'MCP 서버 수정 (HTTP)',
name: '이름 및 아이콘',
namePlaceholder: 'MCP 서버 이름 지정',
namePlaceholder: 'MCP 서버 이름',
serverUrl: '서버 URL',
serverUrlPlaceholder: '서버 엔드포인트 URL',
serverUrlWarning: '서버 주소를 업데이트하면 이 서버에 의존하는 응용 프로그램에 지장이 발생할 수 있습니다',
serverUrlWarning: '서버 주소를 변경하면 이 서버를 사용하는 앱에 영향을 줄 수 있습니다',
serverIdentifier: '서버 식별자',
serverIdentifierTip: '작업 공간 내에서 MCP 서버의 고유 식별자. 소문자, 숫자, 밑줄 및 하이픈만 사용 가능. 최대 24자.',
serverIdentifierPlaceholder: '고유 식별자, 예: my-mcp-server',
serverIdentifierWarning: 'ID 변경 후 기존 앱에서 서버를 인식하지 못합니다',
serverIdentifierTip: '작업 공간 내에서 MCP 서버를 구별하는 고유 식별자입니다. 소문자, 숫자, 밑줄, 하이픈만 사용할 수 있습니다. 최대 24자.',
serverIdentifierPlaceholder: '고유 식별자 (예: my-mcp-server)',
serverIdentifierWarning: 'ID를 변경하면 기존 앱에서 이 서버를 인식하지 못할 수 있습니다',
cancel: '취소',
save: '저장',
confirm: '추가 및 승인',
timeout: '타임아웃',
sseReadTimeout: 'SSE 읽기 타임아웃',
headers: '헤더',
headerKeyPlaceholder: '예: 승인',
headerKeyPlaceholder: '예: Authorization',
headerKey: '헤더 이름',
headerValuePlaceholder: '예: 베어러 토큰123',
timeoutPlaceholder: '서른',
headerValuePlaceholder: '예: Bearer token123',
timeoutPlaceholder: '30',
headerValue: '헤더 값',
addHeader: '헤더 추가',
noHeaders: '사용자 정의 헤더가 구성되어 있지 않습니다.',
headersTip: 'MCP 서버 요청 함께 보낼 추가 HTTP 헤더',
maskedHeadersTip: '헤더 값은 보안상 마스킹 처리되어 있습니다. 변경 사항은 실제 값에 업데이트됩니다.',
noHeaders: '사용자 정의 헤더가 설정되지 않았습니다.',
headersTip: 'MCP 서버 요청 함께 보낼 추가 HTTP 헤더',
maskedHeadersTip: '헤더 값은 보안을 위해 마스킹 처리됩니다. 변경 시 새 값으로 업데이트됩니다.',
authentication: '인증',
configurations: '구성',
useDynamicClientRegistration: '동적 클라이언트 등록 사용',
clientSecret: '클라이언트 시크릿',
clientID: '클라이언트 ID',
clientSecretPlaceholder: '클라이언트 시크릿',
redirectUrlWarning: 'OAuth 리디렉션 URL을 다음로 설정해 주세요:',
redirectUrlWarning: 'OAuth 리디렉션 URL을 다음 주소로 설정해 주세요:',
},
delete: 'MCP 서버 제거',
deleteConfirmTitle: '{mcp}를 제거하시겠습니까?',
@ -232,7 +232,7 @@ const translation = {
getTools: '도구 가져오기',
toolUpdateConfirmTitle: '도구 목록 업데이트',
toolUpdateConfirmContent: '도구 목록을 업데이트하면 기존 앱에 영향을 줄 수 있습니다. 계속하시겠습니까?',
toolsNum: '{count} 도구 포함',
toolsNum: '{count} 도구 포함',
onlyTool: '1개 도구 포함',
identifier: '서버 식별자 (클릭하여 복사)',
server: {
@ -242,16 +242,16 @@ const translation = {
addDescription: '설명 추가',
edit: '설명 수정',
modal: {
addTitle: 'MCP 서버를 활성화하기 위한 설명 추가',
addTitle: 'MCP 서버 활성화를 위한 설명 추가',
editTitle: '설명 수정',
description: '설명',
descriptionPlaceholder: '이 도구가 수행하는 작업과 LLM이 사용하는 방법을 설명하세요.',
descriptionPlaceholder: '이 도구의 기능과 LLM이 이를 어떻게 사용해야 하는지 설명하세요.',
parameters: '매개변수',
parametersTip: '각 매개변수의 설명을 추가하여 LLM이 목적과 제한 사항을 이해할 수 있도록 도와주세요.',
parametersPlaceholder: '매개변수의 목적 및 제한 사항',
parametersTip: '각 매개변수의 설명을 추가하여 LLM이 목적과 제약 조건을 이해하도록 도와주세요.',
parametersPlaceholder: '매개변수의 목적 및 제약 조건',
confirm: 'MCP 서버 활성화',
},
publishTip: '앱이 게시되지 않았습니다. 먼저 앱을 게시하십시오.',
publishTip: '앱이 게시되지 않았습니다. 먼저 앱을 게시하세요.',
},
toolItem: {
noDescription: '설명 없음',
@ -261,4 +261,4 @@ const translation = {
allTools: '모든 도구',
}
export default translation
export default translation

View File

@ -45,7 +45,7 @@ const translation = {
content:
'변수가 다른 노드에서 사용되고 있습니다. 그래도 제거하시겠습니까?',
},
insertVarTip: '빠르게 삽입하려면 \'/\' 키를 누르세요',
insertVarTip: "'\/' 키를 눌러 빠르게 삽입",
processData: '데이터 처리',
input: '입력',
output: '출력',
@ -65,16 +65,16 @@ const translation = {
configure: '구성',
manageInTools: '도구에서 관리',
workflowAsToolTip: '워크플로우 업데이트 후 도구 재구성이 필요합니다.',
viewDetailInTracingPanel: ' 정보 보기',
viewDetailInTracingPanel: '세 정보 보기',
importDSL: 'DSL 가져오기',
importFailure: '가져오기 실패',
chooseDSL: 'DSL(yml) 파일 선택',
backupCurrentDraft: '현재 초안 백업',
overwriteAndImport: '덮어쓰기 및 가져오기',
importSuccess: '가져오기 성공',
syncingData: '단 몇 초 만에 데이터를 동기화할 수 있습니다.',
syncingData: '데이터 동기화 중 (몇 초 소요)',
importDSLTip:
'현재 초안을 덮어씁니다. 가져오기 전에 워크플로우를 백업으로 내보니다.',
'현재 초안을 덮어씁니다. 가져오기 전에 워크플로우를 백업으로 내보내는 것을 권장합니다.',
parallelTip: {
click: {
title: '클릭',
@ -82,12 +82,12 @@ const translation = {
},
drag: {
title: '드래그',
desc: '연결 방법',
desc: '연결',
},
depthLimit: '평행 중첩 레이어 {{num}}개 레이어의 제한',
depthLimit: '병렬 중첩 레이어 {{num}}개 제한',
limit: '병렬 처리는 {{num}}개의 분기로 제한됩니다.',
},
disconnect: '분리하다',
disconnect: '연결 해제',
jumpToNode: '이 노드로 이동',
addParallelNode: '병렬 노드 추가',
parallel: '병렬',
@ -98,52 +98,52 @@ const translation = {
importWarning: '주의',
importWarningDetails:
'DSL 버전 차이는 특정 기능에 영향을 미칠 수 있습니다.',
openInExplore: 'Explore 에서 열기',
openInExplore: '탐색에서 열기',
onFailure: '실패 시',
addFailureBranch: '실패 분기 추가',
noHistory: '이력 없음',
noHistory: '기록 없음',
loadMore: '더 많은 워크플로우 로드',
publishUpdate: '업데이트 게시',
exportJPEG: 'JPEG 로 내보내기',
exportJPEG: 'JPEG로 내보내기',
exitVersions: '종료 버전',
exportImage: '이미지 내보내기',
exportSVG: 'SVG 로 내보내기',
exportSVG: 'SVG로 내보내기',
versionHistory: '버전 기록',
exportPNG: 'PNG 로 내보내기',
exportPNG: 'PNG로 내보내기',
addBlock: '노드 추가',
needAnswerNode: '답변 노드를 추가해야 합니다.',
needOutputNode: '출력 노드를 추가해야 합니다',
tagBound: '이 태그를 사용하는 앱 수',
currentView: '현재 보기',
currentWorkflow: '현재 워크플로',
currentWorkflow: '현재 워크플로',
moreActions: '더 많은 작업',
listening: '듣기',
chooseStartNodeToRun: '실행할 시작 노드 선택하세요',
listening: '수신 중',
chooseStartNodeToRun: '실행할 시작 노드 선택',
runAllTriggers: '모든 트리거 실행',
features: '특징',
features: '기능',
featuresDescription: '웹 앱 사용자 경험 향상',
featuresDocLink: '자세히 알아보기',
needAdd: '{{node}} 노드를 추가해야 합니다',
needStartNode: '적어도 하나의 시작 노드를 추가해야 합니다',
workflowAsToolDisabledHint: '최신 워크플로를 게시하고 도구로 구성하기 전에 연결된 사용자 입력 노드가 있는지 확인하세요.',
workflowAsToolDisabledHint: '최신 워크플로를 게시하고 도구로 구성하기 전에 연결된 사용자 입력 노드가 있는지 확인하세요.',
},
env: {
envPanelTitle: '환경 변수',
envDescription:
'환경 변수는 개인 정보와 자격 증명을 저장하는 데 사용될 수 있습니다. 이들은 읽기 전용이며 내보내기 중에 DSL 파일과 분리할 수 있습니다.',
'환경 변수는 민감한 정보와 자격 증명을 저장하는 데 사용됩니다. 읽기 전용이며 내보내기 시 DSL 파일과 분리됩니다.',
envPanelButton: '변수 추가',
modal: {
title: '환경 변수 추가',
editTitle: '환경 변수 편집',
type: '유형',
name: '이름',
namePlaceholder: '환경 이름',
namePlaceholder: '환경 변수 이름',
value: '값',
valuePlaceholder: '환경 값',
valuePlaceholder: '환경 변수 값',
secretTip:
'민감한 정보나 데이터를 정의하는 데 사용되며, DSL 설정은 유출 방지를 위해 구성됩니다.',
description: '설명',
descriptionPlaceholder: '변수에 대해 설명하세요',
descriptionPlaceholder: '변수에 대한 설명',
},
export: {
title: '비밀 환경 변수를 내보내시겠습니까?',
@ -154,21 +154,21 @@ const translation = {
},
globalVar: {
title: '시스템 변수',
description: '시스템 변수는 타입이 맞으면 배선 없이도 모든 노드에서 참조할 수 있는 전역 변수로, 엔드유저 ID와 워크플로 ID 등이 포함됩니다.',
description: '시스템 변수는 타입이 일치하면 연결 없이도 모든 노드에서 참조할 수 있는 전역 변수로, 최종 사용자 ID, 워크플로우 ID 등이 포함됩니다.',
fieldsDescription: {
conversationId: '대화 ID',
dialogCount: '대화 수',
userId: '사용자 ID',
triggerTimestamp: '애플리케이션 시작 타임스탬프',
appId: '애플리케이션 ID',
workflowId: '워크플로 ID',
workflowRunId: '워크플로 실행 ID',
workflowId: '워크플로 ID',
workflowRunId: '워크플로 실행 ID',
},
},
chatVariable: {
panelTitle: '대화 변수',
panelDescription:
'대화 변수는 LLM 이 기억해야 할 대화 기록, 업로드된 파일, 사용자 선호도 등의 상호작용 정보를 저장하는 데 사용됩니다. 이들은 읽기 및 쓰기가 가능합니다.',
'대화 변수는 LLM이 기억해야 할 대화 기록, 업로드된 파일, 사용자 선호도 등의 상호작용 정보를 저장하는 데 사용됩니다. 읽기 및 쓰기가 가능합니다.',
docLink: '자세한 내용은 문서를 참조하세요.',
button: '변수 추가',
modal: {
@ -178,10 +178,10 @@ const translation = {
namePlaceholder: '변수 이름',
type: '유형',
value: '기본값',
valuePlaceholder: '기본값, 설정하지 않으려면 비워두세요',
valuePlaceholder: '기본값 (설정하지 않으려면 비워두세요)',
description: '설명',
descriptionPlaceholder: '변수에 대해 설명하세요',
editInJSON: 'JSON 으로 편집',
descriptionPlaceholder: '변수에 대한 설명',
editInJSON: 'JSON으로 편집',
oneByOne: '하나씩 추가',
editInForm: '양식에서 편집',
arrayValue: '값',
@ -195,48 +195,48 @@ const translation = {
},
changeHistory: {
title: '변경 기록',
placeholder: '아직 아무 것도 변경하지 않았습니다',
placeholder: '아직 변경 사항이 없습니다',
clearHistory: '기록 지우기',
hint: '힌트',
hintText:
'편집 작업이 변경 기록에 추적되며, 이 세션 동안 기기에 저장됩니다. 편집기를 떠나면 이 기록이 지워집니다.',
stepBackward_one: '{{count}} 단계 뒤로',
stepBackward_other: '{{count}} 단계 뒤로',
stepForward_one: '{{count}} 단계 앞으로',
stepForward_other: '{{count}} 단계 앞으로',
stepBackward_one: '{{count}}단계 뒤로',
stepBackward_other: '{{count}}단계 뒤로',
stepForward_one: '{{count}}단계 앞으로',
stepForward_other: '{{count}}단계 앞으로',
sessionStart: '세션 시작',
currentState: '현재 상태',
noteAdd: '노트 추가됨',
noteChange: '노트 변경됨',
noteDelete: '노트 삭제됨',
nodeConnect: '노드가 연결되었습니다.',
noteAdd: '메모 추가됨',
noteChange: '메모 변경됨',
noteDelete: '메모 삭제됨',
nodeConnect: '노드 연결됨',
nodePaste: '노드 붙여넣기',
nodeDelete: '노드가 삭제되었습니다.',
nodeAdd: '노드가 추가되었습니다.',
nodeChange: '노드가 변경되었습니다.',
nodeDescriptionChange: '노드 설명 변경됨',
nodeDelete: '노드 삭제됨',
nodeAdd: '노드 추가됨',
nodeChange: '노드 변경됨',
nodeDescriptionChange: '노드 설명 변경됨',
nodeResize: '노드 크기 조정됨',
nodeDragStop: '노드가 이동했습니다.',
edgeDelete: '노드가 연결이 끊어졌습니다.',
nodeTitleChange: '노드 제목 변경됨',
nodeDragStop: '노드 이동됨',
edgeDelete: '노드 연결 해제됨',
nodeTitleChange: '노드 제목 변경됨',
},
errorMsg: {
fieldRequired: '{{field}}가 필요합니다',
fieldRequired: '{{field}}는 필수입니다',
authRequired: '인증이 필요합니다',
invalidJson: '{{field}}는 잘못된 JSON 입니다',
invalidJson: '{{field}}는 유효하지 않은 JSON입니다',
fields: {
variable: '변수 이름',
variableValue: '변수 값',
code: '코드',
model: '모델',
rerankModel: '재정렬 모델',
rerankModel: '재순위 모델',
visionVariable: '비전 변수',
},
invalidVariable: '잘못된 변수',
rerankModelRequired:
'Rerank Model 을 켜기 전에 설정에서 모델이 성공적으로 구성되었는지 확인하십시오.',
noValidTool: '{{field}} 유효한 도구가 선택되지 않았습니다.',
toolParameterRequired: '{{field}}: 매개변수 [{{param}}] 이 필요합니다.',
toolParameterRequired: '{{field}}: 매개변수 [{{param}}]이 필요합니다.',
startNodeRequired: '{{operation}} 전에 먼저 시작 노드를 추가해 주세요',
},
singleRun: {
@ -248,7 +248,7 @@ const translation = {
iteration: '반복',
loop: '루프',
reRun: '다시 실행',
preparingDataSource: '데이터 소스 준비',
preparingDataSource: '데이터 소스 준비',
},
tabs: {
'tools': '도구',
@ -264,30 +264,30 @@ const translation = {
'plugin': '플러그인',
'agent': '에이전트 전략',
'blocks': '노드',
'searchBlock': '검색 노드',
'searchBlock': '노드 검색',
'allAdded': '모두 추가됨',
'addAll': '모두 추가',
'sources': '소스',
'searchDataSource': '데이터 소스 검색',
'start': '시작',
'searchTrigger': '검색 트리거...',
'searchTrigger': '트리거 검색...',
'allTriggers': '모든 트리거',
'noPluginsFound': '플러그인을 찾을 수 없습니다',
'requestToCommunity': '커뮤니티에 대한 요청',
'requestToCommunity': '커뮤니티에 요청',
'featuredTools': '추천',
'showMoreFeatured': '더 보기',
'showLessFeatured': '간략히 보기',
'installed': '설치됨',
'pluginByAuthor': '{{author}} ',
'pluginByAuthor': '{{author}} 작',
'usePlugin': '도구 선택',
'hideActions': '도구 숨기기',
'noFeaturedPlugins': '마켓플레이스에서 더 많은 도구를 발견하세요',
'noFeaturedTriggers': '마켓플레이스에서 더 많은 트리거 발견하기',
'startDisabledTip': '트리거 노드와 사용자 입력 노드는 상호 배타적입니다.',
'noFeaturedPlugins': '마켓플레이스에서 더 많은 도구를 찾아보세요',
'noFeaturedTriggers': '마켓플레이스에서 더 많은 트리거를 찾아보세요',
'startDisabledTip': '트리거 노드와 사용자 입력 노드는 동시에 사용할 수 없습니다.',
},
blocks: {
'start': '시작',
'end': '출력',
'end': '종료',
'answer': '답변',
'llm': 'LLM',
'knowledge-retrieval': '지식 검색',
@ -302,34 +302,34 @@ const translation = {
'iteration-start': '반복 시작',
'iteration': '반복',
'parameter-extractor': '매개변수 추출기',
'document-extractor': 'Doc 추출기',
'list-operator': 'List 연산자',
'agent': '대리인',
'document-extractor': '문서 추출기',
'list-operator': '리스트 연산자',
'agent': '에이전트',
'loop-start': '루프 시작',
'loop-end': '루프 종료',
'loop': '루프',
'datasource': '데이터 소스',
'knowledge-index': '기술 자료',
'knowledge-index': '지식 베이스',
'originalStartNode': '원래 시작 노드',
'trigger-schedule': '일정 트리거',
'trigger-schedule': '스케줄 트리거',
'trigger-webhook': '웹훅 트리거',
'trigger-plugin': '플러그인 트리거',
},
blocksAbout: {
'start': '워크플로우를 시작하기 위한 초기 매개변수를 정의합니다',
'end': '워크플로의 출력 및 결과 유형을 정의합니다',
'end': '워크플로의 출력 및 결과 유형을 정의합니다',
'answer': '대화의 답변 내용을 정의합니다',
'llm': '질문에 답하거나 자연어를 처리하기 위해 대 언어 모델을 호출합니다',
'llm': '질문에 답하거나 자연어를 처리하기 위해 대규모 언어 모델을 호출합니다',
'knowledge-retrieval':
'사용자 질문과 관련된 텍스트 콘텐츠를 지식 베이스에서 쿼리할 수 있습니다',
'사용자 질문과 관련된 텍스트 콘텐츠를 지식 베이스에서 쿼리니다',
'question-classifier':
'사용자 질문의 분류 조건을 정의합니다. LLM 은 분류 설명을 기반으로 대화의 진행 방식을 정의할 수 있습니다',
'사용자 질문의 분류 조건을 정의합니다. LLM은 분류 설명을 기반으로 대화의 진행 방식을 결정합니다',
'if-else':
'if/else 조건을 기반으로 워크플로우를 두 가지 분기로 나눌 수 있습니다',
'code': '사용자 정의 논리를 구현하기 위해 Python 또는 NodeJS 코드를 실행합니다',
'if/else 조건을 기반으로 워크플로우를 두 가지 분기로 나니다',
'code': '사용자 정의 로직을 구현하기 위해 Python 또는 NodeJS 코드를 실행합니다',
'template-transform':
'Jinja 템플릿 구문을 사용하여 데이터를 문자열로 변환합니다',
'http-request': 'HTTP 프로토콜을 통해 서버 요청을 보낼 수 있습니다',
'http-request': 'HTTP 프로토콜을 통해 서버 요청을 보니다',
'variable-assigner':
'다중 분기 변수들을 하나의 변수로 집계하여 다운스트림 노드의 통합 구성을 가능하게 합니다.',
'assigner':
@ -337,14 +337,14 @@ const translation = {
'variable-aggregator':
'다중 분기 변수들을 하나의 변수로 집계하여 다운스트림 노드의 통합 구성을 가능하게 합니다.',
'iteration':
'목록 객체에서 여러 단계를 수행하여 모든 결과가 출력될 때까지 반복합니다.',
'리스트 객체에서 여러 단계를 수행하여 모든 결과가 출력될 때까지 반복합니다.',
'parameter-extractor':
'도구 호출 또는 HTTP 요청을 위해 자연어에서 구조화된 매개변수를 추출하기 위해 LLM 을 사용합니다.',
'도구 호출 또는 HTTP 요청을 위해 자연어에서 구조화된 매개변수를 추출하는 데 LLM을 사용합니다.',
'document-extractor':
'업로드된 문서를 LLM 에서 쉽게 이해할 수 있는 텍스트 콘텐츠로 구문 분석하는 데 사용됩니다.',
'업로드된 문서를 LLM이 이해할 수 있는 텍스트 콘텐츠로 파싱하는 데 사용됩니다.',
'list-operator': '배열 내용을 필터링하거나 정렬하는 데 사용됩니다.',
'agent':
'질문에 답하거나 자연어를 처리하기 위해 대규모 언어 모델을 호출하는 경우',
'질문에 답하거나 자연어를 처리하기 위해 대규모 언어 모델을 호출합니다',
'loop': '종료 조건이 충족되거나 최대 반복 횟수에 도달할 때까지 논리 루프를 실행합니다.',
'loop-end':
'"break"와 동일합니다. 이 노드는 구성 항목이 없습니다. 루프 본문이 이 노드에 도달하면 루프가 종료됩니다.',
@ -453,7 +453,7 @@ const translation = {
retryFailed: '재시도 실패',
retryFailedTimes: '{{times}} 재시도 실패',
times: '번',
ms: '미에스',
ms: 'ms',
retries: '{{숫자}} 재시도',
},
typeSwitch: {
@ -529,15 +529,15 @@ const translation = {
saveSchema: '현재 필드의 편집을 완료한 후 스키마를 저장하세요.',
},
generating: 'JSON 스키마 생성 중...',
apply: '지원하다',
apply: '적용',
descriptionPlaceholder: '설명을 추가하세요.',
generate: '생성하다',
generate: '생성',
generatedResult: '생성된 결과',
addField: '필드 추가',
addChildField: '자녀 필드 추가',
generateJsonSchema: 'JSON 스키마 생성',
fieldNamePlaceholder: '필드 이름',
back: '뒤',
back: '뒤',
instruction: '지침',
resetDefaults: '재설정',
promptTooltip: '텍스트 설명을 표준화된 JSON 스키마 구조로 변환하세요.',
@ -549,7 +549,7 @@ const translation = {
'자연어를 사용하여 JSON 스키마를 신속하게 생성할 수 있습니다.',
resultTip:
'여기 생성된 결과가 있습니다. 만약 만족하지 않으신다면, 돌아가서 프롬프트를 수정할 수 있습니다.',
regenerate: '재생하다',
regenerate: '재생',
required: '필수',
doc: '구조화된 출력에 대해 더 알아보세요.',
import: 'JSON 에서 가져오기',
@ -645,7 +645,7 @@ const translation = {
writeLabel: '쓰기 시간 초과',
writePlaceholder: '초 단위로 쓰기 시간 초과 입력',
},
type: '',
type: '타입',
binaryFileVariable: '바이너리 파일 변수',
extractListPlaceholder: '목록 항목 인덱스 입력, \'/\' 변수 삽입',
curl: {
@ -714,7 +714,7 @@ const translation = {
url: 'URL (영문)',
doc: '문서',
},
select: '고르다',
select: '선택',
addSubVariable: '하위 변수',
},
variableAssigner: {
@ -901,7 +901,7 @@ const translation = {
last_record: '마지막 레코드',
first_record: '첫 번째 레코드',
},
asc: '증권 시세 표시기',
asc: '오름차순',
filterConditionKey: '필터 조건 키',
limit: '톱 N',
filterConditionComparisonValue: '필터 조건 값',
@ -926,7 +926,7 @@ const translation = {
'에이전트 전략을 구성한 후 이 노드는 나머지 구성을 자동으로 로드합니다. 이 전략은 다단계 도구 추론의 메커니즘에 영향을 미칩니다.',
},
pluginInstaller: {
install: '설치하다',
install: '설치',
installing: '설치',
},
modelNotInMarketplace: {
@ -960,7 +960,7 @@ const translation = {
},
installPlugin: {
changelog: '변경 로그',
install: '설치하다',
install: '설치',
desc: '다음 플러그인을 설치하려고 합니다.',
cancel: '취소',
title: '플러그인 설치',
@ -1244,8 +1244,8 @@ const translation = {
},
variableInspect: {
trigger: {
stop: '멈춰 뛰어',
clear: '맑은',
stop: '중지',
clear: '지우기',
running: '캐싱 실행 상태',
cached: '캐시된 변수를 보기',
normal: '변수 검사',
@ -1263,7 +1263,7 @@ const translation = {
reset: '마지막 실행 값으로 재설정',
emptyTip:
'캔버스에서 노드를 한 단계씩 실행한 후, 변수 검사에서 노드 변수의 현재 값을 볼 수 있습니다.',
export: '수출',
export: '내보내기',
largeData: '대용량 데이터, 읽기 전용 미리 보기. 모두 보도록 내보내기.',
exportToolTip: '변수를 파일로 내보내기',
largeDataNoExport: '대용량 데이터 - 부분 미리 보기만',
@ -1339,7 +1339,7 @@ const translation = {
escTip: {
press: '누르다',
key: '이스케이프',
toDismiss: '해고하다',
toDismiss: '닫기',
},
},
}