chore(i18n): fix typos and improve Korean translation (#21955)

This commit is contained in:
허재원
2025-07-07 10:33:09 +09:00
committed by GitHub
parent 51f6095be7
commit 8288145ee4
6 changed files with 221 additions and 122 deletions

View File

@@ -16,7 +16,8 @@ const translation = {
importDSL: 'DSL 파일 가져오기', importDSL: 'DSL 파일 가져오기',
createFromConfigFile: 'DSL 파일에서 생성하기', createFromConfigFile: 'DSL 파일에서 생성하기',
deleteAppConfirmTitle: '이 앱을 삭제하시겠습니까?', deleteAppConfirmTitle: '이 앱을 삭제하시겠습니까?',
deleteAppConfirmContent: '앱을 삭제하면 복구할 수 없습니다. 사용자는 더 이상 앱에 액세스할 수 없으며 모든 프롬프트 설정 및 로그가 영구적으로 삭제됩니다.', deleteAppConfirmContent:
'앱을 삭제하면 복구할 수 없습니다. 사용자는 더 이상 앱에 액세스할 수 없으며 모든 프롬프트 설정 및 로그가 영구적으로 삭제됩니다.',
appDeleted: '앱이 삭제되었습니다', appDeleted: '앱이 삭제되었습니다',
appDeleteFailed: '앱 삭제 실패', appDeleteFailed: '앱 삭제 실패',
join: '커뮤니티에 참여하기', join: '커뮤니티에 참여하기',
@@ -26,20 +27,25 @@ const translation = {
startFromBlank: '빈 상태로 시작', startFromBlank: '빈 상태로 시작',
startFromTemplate: '템플릿에서 시작', startFromTemplate: '템플릿에서 시작',
captionAppType: '어떤 종류의 앱을 만들어 보시겠어요?', captionAppType: '어떤 종류의 앱을 만들어 보시겠어요?',
chatbotDescription: '대화형 어플리케이션을 만듭니다. 질문과 답변 형식을 사용하여 다단계 대화를 지원합니다.', chatbotDescription:
completionDescription: '프롬프트를 기반으로 품질 높은 텍스트를 생성하는 어플리케이션을 만듭니다. 기사, 요약, 번역 등을 생성할 수 있습니다.', '대화형 어플리케이션을 만듭니다. 질문과 답변 형식을 사용하여 다단계 대화를 지원합니다.',
completionDescription:
'프롬프트를 기반으로 품질 높은 텍스트를 생성하는 어플리케이션을 만듭니다. 기사, 요약, 번역 등을 생성할 수 있습니다.',
completionWarning: '이 종류의 앱은 더 이상 지원되지 않습니다.', completionWarning: '이 종류의 앱은 더 이상 지원되지 않습니다.',
agentDescription: '작업을 자동으로 완료하는 지능형 에이전트를 만듭니다.', agentDescription: '작업을 자동으로 완료하는 지능형 에이전트를 만듭니다.',
workflowDescription: '고도로 사용자 지정 가능한 워크플로우에 기반한 고품질 텍스트 생성 어플리케이션을 만듭니다. 경험 있는 사용자를 위한 것입니다.', workflowDescription:
'고도로 사용자 지정 가능한 워크플로우에 기반한 고품질 텍스트 생성 어플리케이션을 만듭니다. 경험 있는 사용자를 위한 것입니다.',
workflowWarning: '현재 베타 버전입니다.', workflowWarning: '현재 베타 버전입니다.',
chatbotType: '챗봇 오케스트레이션 방식', chatbotType: '챗봇 오케스트레이션 방식',
basic: '기본', basic: '기본',
basicTip: '초보자용. 나중에 Chatflow 로 전환할 수 있습니다.', basicTip: '초보자용. 나중에 Chatflow 로 전환할 수 있습니다.',
basicFor: '초보자용', basicFor: '초보자용',
basicDescription: '기본 오케스트레이션은 내장된 프롬프트를 수정할 수 없고 간단한 설정을 사용하여 챗봇 앱을 오케스트레이션합니다. 초보자용입니다.', basicDescription:
'기본 오케스트레이션은 내장된 프롬프트를 수정할 수 없고 간단한 설정을 사용하여 챗봇 앱을 오케스트레이션합니다. 초보자용입니다.',
advanced: 'Chatflow', advanced: 'Chatflow',
advancedFor: '고급 사용자용', advancedFor: '고급 사용자용',
advancedDescription: '워크플로우 오케스트레이션은 워크플로우 형식으로 챗봇을 오케스트레이션하며 내장된 프롬프트를 편집할 수 있는 고급 사용자 정의 기능을 제공합니다. 경험이 많은 사용자용입니다.', advancedDescription:
'워크플로우 오케스트레이션은 워크플로우 형식으로 챗봇을 오케스트레이션하며 내장된 프롬프트를 편집할 수 있는 고급 사용자 정의 기능을 제공합니다. 경험이 많은 사용자용입니다.',
captionName: '앱 아이콘과 이름', captionName: '앱 아이콘과 이름',
appNamePlaceholder: '앱 이름을 입력하세요', appNamePlaceholder: '앱 이름을 입력하세요',
captionDescription: '설명', captionDescription: '설명',
@@ -47,10 +53,12 @@ const translation = {
useTemplate: '이 템플릿 사용', useTemplate: '이 템플릿 사용',
previewDemo: '데모 미리보기', previewDemo: '데모 미리보기',
chatApp: '어시스턴트', chatApp: '어시스턴트',
chatAppIntro: '대화형 어플리케이션을 만들고 싶어요. 이 어플리케이션은 질문과 답변 형식을 사용하여 다단계 대화를 지원합니다.', chatAppIntro:
'대화형 어플리케이션을 만들고 싶어요. 이 어플리케이션은 질문과 답변 형식을 사용하여 다단계 대화를 지원합니다.',
agentAssistant: '새로운 에이전트 어시스턴트', agentAssistant: '새로운 에이전트 어시스턴트',
completeApp: '텍스트 생성기', completeApp: '텍스트 생성기',
completeAppIntro: '프롬프트를 기반으로 품질 높은 텍스트를 생성하는 어플리케이션을 만들고 싶어요. 기사, 요약, 번역 등을 생성합니다.', completeAppIntro:
'프롬프트를 기반으로 품질 높은 텍스트를 생성하는 어플리케이션을 만들고 싶어요. 기사, 요약, 번역 등을 생성합니다.',
showTemplates: '템플릿 선택', showTemplates: '템플릿 선택',
hideTemplates: '모드 선택으로 돌아가기', hideTemplates: '모드 선택으로 돌아가기',
Create: '만들기', Create: '만들기',
@@ -66,13 +74,16 @@ const translation = {
appCreateDSLErrorTitle: '버전 비호환성', appCreateDSLErrorTitle: '버전 비호환성',
appCreateDSLErrorPart2: '계속하시겠습니까?', appCreateDSLErrorPart2: '계속하시겠습니까?',
appCreateDSLErrorPart3: '현재 응용 프로그램 DSL 버전:', appCreateDSLErrorPart3: '현재 응용 프로그램 DSL 버전:',
appCreateDSLWarning: '주의: DSL 버전 차이는 특정 기능에 영향을 미칠 수 있습니다.', appCreateDSLWarning:
appCreateDSLErrorPart1: 'DSL 버전에서 상당한 차이가 감지되었습니다. 강제로 가져오면 응용 프로그램이 오작동할 수 있습니다.', '주의: DSL 버전 차이는 특정 기능에 영향을 미칠 수 있습니다.',
appCreateDSLErrorPart1:
'DSL 버전에서 상당한 차이가 감지되었습니다. 강제로 가져오면 응용 프로그램이 오작동할 수 있습니다.',
chooseAppType: '앱 유형 선택', chooseAppType: '앱 유형 선택',
forBeginners: '초보자용 기본 앱 유형', forBeginners: '초보자용 기본 앱 유형',
forAdvanced: '고급 사용자용', forAdvanced: '고급 사용자용',
chatbotShortDescription: '간단한 설정으로 LLM 기반 챗봇', chatbotShortDescription: '간단한 설정으로 LLM 기반 챗봇',
workflowUserDescription: '드래그 앤 드롭으로 자율 AI 워크플로우를 시각적으로 구축', workflowUserDescription:
'드래그 앤 드롭으로 자율 AI 워크플로우를 시각적으로 구축',
noTemplateFoundTip: '다른 키워드를 사용하여 검색해 보십시오.', noTemplateFoundTip: '다른 키워드를 사용하여 검색해 보십시오.',
noIdeaTip: '아이디어가 없으신가요? 템플릿을 확인해 보세요', noIdeaTip: '아이디어가 없으신가요? 템플릿을 확인해 보세요',
optional: '선택적', optional: '선택적',
@@ -80,16 +91,20 @@ const translation = {
completionShortDescription: '텍스트 생성 작업을 위한 AI 도우미', completionShortDescription: '텍스트 생성 작업을 위한 AI 도우미',
learnMore: '더 알아보세요', learnMore: '더 알아보세요',
foundResults: '{{개수}} 결과', foundResults: '{{개수}} 결과',
agentShortDescription: '추론 및 자율적인 도구 사용 기능이 있는 지능형 에이전트', agentShortDescription:
'추론 및 자율적인 도구 사용 기능이 있는 지능형 에이전트',
advancedShortDescription: '다중 대화를 위해 강화된 워크플로우', advancedShortDescription: '다중 대화를 위해 강화된 워크플로우',
noAppsFound: '앱을 찾을 수 없습니다.', noAppsFound: '앱을 찾을 수 없습니다.',
foundResult: '{{개수}} 결과', foundResult: '{{개수}} 결과',
completionUserDescription: '간단한 구성으로 텍스트 생성 작업을 위한 AI 도우미를 빠르게 구축합니다.', completionUserDescription:
chatbotUserDescription: '간단한 구성으로 LLM 기반 챗봇을 빠르게 구축할 수 있습니다. 나중에 Chatflow 로 전환할 수 있습니다.', '간단한 구성으로 텍스트 생성 작업을 위한 AI 도우미를 빠르게 구축합니다.',
chatbotUserDescription:
'간단한 구성으로 LLM 기반 챗봇을 빠르게 구축할 수 있습니다. 나중에 Chatflow 로 전환할 수 있습니다.',
workflowShortDescription: '지능형 자동화를 위한 에이전트 플로우', workflowShortDescription: '지능형 자동화를 위한 에이전트 플로우',
agentUserDescription: '작업 목표를 달성하기 위해 반복적인 추론과 자율적인 도구를 사용할 수 있는 지능형 에이전트입니다.', agentUserDescription:
'작업 목표를 달성하기 위해 반복적인 추론과 자율적인 도구를 사용할 수 있는 지능형 에이전트입니다.',
advancedUserDescription: '메모리 기능과 챗봇 인터페이스를 갖춘 워크플로우', advancedUserDescription: '메모리 기능과 챗봇 인터페이스를 갖춘 워크플로우',
dropDSLToCreateApp: '여기에 DSL 파일을 드롭하여 앱을 만드세요.', dropDSLToCreateApp: '여기에 DSL 파일을 드롭하여 앱을 불러오세요.',
}, },
editApp: '정보 편집하기', editApp: '정보 편집하기',
editAppTitle: '앱 정보 편집하기', editAppTitle: '앱 정보 편집하기',
@@ -102,7 +117,8 @@ const translation = {
image: '이미지', image: '이미지',
}, },
switch: '워크플로우 오케스트레이션으로 전환하기', switch: '워크플로우 오케스트레이션으로 전환하기',
switchTipStart: '새로운 앱의 복사본이 생성되어 새로운 복사본이 워크플로우 오케스트레이션으로 전환됩니다. 새로운 복사본은 ', switchTipStart:
'새로운 앱의 복사본이 생성되어 새로운 복사본이 워크플로우 오케스트레이션으로 전환됩니다. 새로운 복사본은 ',
switchTip: '전환을 허용하지 않습니다', switchTip: '전환을 허용하지 않습니다',
switchTipEnd: ' 기본적인 오케스트레이션으로 되돌릴 수 없습니다.', switchTipEnd: ' 기본적인 오케스트레이션으로 되돌릴 수 없습니다.',
switchLabel: '생성될 앱의 복사본', switchLabel: '생성될 앱의 복사본',
@@ -126,7 +142,8 @@ const translation = {
disabled: '비활성화됨', disabled: '비활성화됨',
disabledTip: '먼저 제공업체를 구성해 주세요', disabledTip: '먼저 제공업체를 구성해 주세요',
enabled: '서비스 중', enabled: '서비스 중',
tracingDescription: 'LLM 호출, 컨텍스트, 프롬프트, HTTP 요청 등 앱 실행의 전체 컨텍스트를 제 3 자 추적 플랫폼에 캡처합니다.', tracingDescription:
'LLM 호출, 컨텍스트, 프롬프트, HTTP 요청 등 앱 실행의 전체 컨텍스트를 제 3 자 추적 플랫폼에 캡처합니다.',
configProviderTitle: { configProviderTitle: {
configured: '구성됨', configured: '구성됨',
notConfigured: '추적을 활성화하려면 제공업체를 구성하세요', notConfigured: '추적을 활성화하려면 제공업체를 구성하세요',
@@ -134,19 +151,23 @@ const translation = {
}, },
arize: { arize: {
title: 'Arize', title: 'Arize',
description: '엔터프라이즈급 LLM 가시성, 온라인 및 오프라인 평가, 모니터링 및 실험—OpenTelemetry를 기반으로 합니다. LLM 및 에이전트 기반 애플리케이션을 위해 특별히 설계되었습니다.', description:
'엔터프라이즈급 LLM 가시성, 온라인 및 오프라인 평가, 모니터링 및 실험—OpenTelemetry를 기반으로 합니다. LLM 및 에이전트 기반 애플리케이션을 위해 특별히 설계되었습니다.',
}, },
phoenix: { phoenix: {
title: 'Phoenix', title: 'Phoenix',
description: '오픈소스 및 OpenTelemetry 기반의 가시성, 평가, 프롬프트 엔지니어링 및 실험 플랫폼으로, LLM 워크플로우 및 에이전트를 지원합니다.', description:
'오픈소스 및 OpenTelemetry 기반의 가시성, 평가, 프롬프트 엔지니어링 및 실험 플랫폼으로, LLM 워크플로우 및 에이전트를 지원합니다.',
}, },
langsmith: { langsmith: {
title: 'LangSmith', title: 'LangSmith',
description: 'LLM 기반 애플리케이션 수명 주기의 모든 단계를 위한 올인원 개발자 플랫폼.', description:
'LLM 기반 애플리케이션 수명 주기의 모든 단계를 위한 올인원 개발자 플랫폼.',
}, },
langfuse: { langfuse: {
title: 'Langfuse', title: 'Langfuse',
description: 'LLM 애플리케이션을 디버그하고 개선하기 위한 추적, 평가, 프롬프트 관리 및 메트릭.', description:
'LLM 애플리케이션을 디버그하고 개선하기 위한 추적, 평가, 프롬프트 관리 및 메트릭.',
}, },
inUse: '사용 중', inUse: '사용 중',
configProvider: { configProvider: {
@@ -157,22 +178,27 @@ const translation = {
secretKey: '비밀 키', secretKey: '비밀 키',
viewDocsLink: '{{key}} 문서 보기', viewDocsLink: '{{key}} 문서 보기',
removeConfirmTitle: '{{key}} 구성을 제거하시겠습니까?', removeConfirmTitle: '{{key}} 구성을 제거하시겠습니까?',
removeConfirmContent: '현재 구성이 사용 중입니다. 제거하면 추적 기능이 꺼집니다.', removeConfirmContent:
'현재 구성이 사용 중입니다. 제거하면 추적 기능이 꺼집니다.',
}, },
view: '보기', view: '보기',
opik: { opik: {
title: '오픽', title: '오픽',
description: 'Opik 은 LLM 애플리케이션을 평가, 테스트 및 모니터링하기 위한 오픈 소스 플랫폼입니다.', description:
'Opik 은 LLM 애플리케이션을 평가, 테스트 및 모니터링하기 위한 오픈 소스 플랫폼입니다.',
}, },
weave: { weave: {
title: '직조하다', title: '직조하다',
description: 'Weave 는 LLM 애플리케이션을 평가하고 테스트하며 모니터링하기 위한 오픈 소스 플랫폼입니다.', description:
'Weave 는 LLM 애플리케이션을 평가하고 테스트하며 모니터링하기 위한 오픈 소스 플랫폼입니다.',
}, },
}, },
answerIcon: { answerIcon: {
description: 'web app 아이콘을 사용하여 공유 응용 프로그램에서 바꿀🤖지 여부', description:
'web app 아이콘을 사용하여 공유 응용 프로그램에서 바꿀🤖지 여부',
title: 'web app 아이콘을 사용하여 🤖', title: 'web app 아이콘을 사용하여 🤖',
descriptionInExplore: 'Explore 에서 web app 아이콘을 사용하여 바꿀🤖지 여부', descriptionInExplore:
'Explore 에서 web app 아이콘을 사용하여 바꿀🤖지 여부',
}, },
importFromDSL: 'DSL 에서 가져오기', importFromDSL: 'DSL 에서 가져오기',
importFromDSLFile: 'DSL 파일에서', importFromDSLFile: 'DSL 파일에서',
@@ -211,8 +237,10 @@ const translation = {
structured: '구조화된', structured: '구조화된',
configure: '설정하다', configure: '설정하다',
moreFillTip: '최대 10 단계 중첩을 표시합니다.', moreFillTip: '최대 10 단계 중첩을 표시합니다.',
modelNotSupportedTip: '현재 모델은 이 기능을 지원하지 않으며 자동으로 프롬프트 주입으로 다운그레이드됩니다.', modelNotSupportedTip:
structuredTip: '구조화된 출력은 모델이 제공한 JSON 스키마를 항상 준수하는 응답을 생성하도록 보장하는 기능입니다.', '현재 모델은 이 기능을 지원하지 않으며 자동으로 프롬프트 주입으로 다운그레이드됩니다.',
structuredTip:
'구조화된 출력은 모델이 제공한 JSON 스키마를 항상 준수하는 응답을 생성하도록 보장하는 기능입니다.',
}, },
accessItemsDescription: { accessItemsDescription: {
anyone: '누구나 웹 앱에 접근할 수 있습니다.', anyone: '누구나 웹 앱에 접근할 수 있습니다.',
@@ -240,7 +268,8 @@ const translation = {
members_one: '{{count}} 회원', members_one: '{{count}} 회원',
members_other: '{{count}} 회원', members_other: '{{count}} 회원',
noGroupsOrMembers: '선택된 그룹 또는 멤버가 없습니다.', noGroupsOrMembers: '선택된 그룹 또는 멤버가 없습니다.',
webAppSSONotEnabledTip: '웹 앱 인증 방법을 구성하려면 엔터프라이즈 관리자인에게 문의하십시오.', webAppSSONotEnabledTip:
'웹 앱 인증 방법을 구성하려면 엔터프라이즈 관리자인에게 문의하십시오.',
updateSuccess: '업데이트가 성공적으로 완료되었습니다.', updateSuccess: '업데이트가 성공적으로 완료되었습니다.',
description: '웹 앱 접근 권한 설정', description: '웹 앱 접근 권한 설정',
}, },

View File

@@ -9,7 +9,7 @@ const translation = {
buyPermissionDeniedTip: '구독하려면 엔터프라이즈 관리자에게 문의하세요', buyPermissionDeniedTip: '구독하려면 엔터프라이즈 관리자에게 문의하세요',
plansCommon: { plansCommon: {
title: '당신에게 맞는 요금제를 선택하세요', title: '당신에게 맞는 요금제를 선택하세요',
yearlyTip: '연간 구독 시 2 개월 무료!', yearlyTip: '연간 구독 시 2개월 무료!',
mostPopular: '가장 인기 있는', mostPopular: '가장 인기 있는',
planRange: { planRange: {
monthly: '월간', monthly: '월간',
@@ -20,21 +20,25 @@ const translation = {
save: '절약 ', save: '절약 ',
free: '무료', free: '무료',
currentPlan: '현재 요금제', currentPlan: '현재 요금제',
contractSales: '영업에 문의하기', contractSales: '영업에 문의하기',
contractOwner: '팀 관리자에게 문의하기', contractOwner: '팀 관리자에게 문의하기',
startForFree: '무료로 시작하기', startForFree: '무료로 시작하기',
getStartedWith: '시작하기 ', getStartedWith: '시작하기 ',
contactSales: '영업에 문의하기', contactSales: '영업에 문의하기',
talkToSales: '영업과 상담하기', talkToSales: '영업과 상담하기',
modelProviders: '모델 제공자', modelProviders: '모델 제공자',
teamMembers: '팀 멤버', teamMembers: '팀 멤버',
buildApps: '앱 만들기', buildApps: '앱 만들기',
vectorSpace: '벡터 공간', vectorSpace: '벡터 공간',
vectorSpaceBillingTooltip: '1MB 당 약 120 만 글자의 벡터화된 데이터를 저장할 수 있습니다 (OpenAI Embeddings 을 기반으로 추정되며 모델에 따라 다릅니다).', vectorSpaceBillingTooltip:
vectorSpaceTooltip: '벡터 공간은 LLM 이 데이터를 이해하는 데 필요한 장기 기억 시스템입니다.', '1MB 당 약 120 만 글자의 벡터화된 데이터를 저장할 수 있습니다 (OpenAI Embeddings 을 기반으로 추정되며 모델에 따라 다릅니다).',
vectorSpaceTooltip:
'벡터 공간은 LLM 이 데이터를 이해하는 데 필요한 장기 기억 시스템입니다.',
documentProcessingPriority: '문서 처리 우선순위', documentProcessingPriority: '문서 처리 우선순위',
documentProcessingPriorityTip: '더 높은 문서 처리 우선순위를 원하시면 요금제를 업그레이드하세요.', documentProcessingPriorityTip:
documentProcessingPriorityUpgrade: '더 높은 정확성과 빠른 속도로 데이터를 처리합니다.', '더 높은 문서 처리 우선순위를 원하시면 요금제를 업그레이드하세요.',
documentProcessingPriorityUpgrade:
'더 높은 정확성과 빠른 속도로 데이터를 처리합니다.',
priority: { priority: {
'standard': '표준', 'standard': '표준',
'priority': '우선', 'priority': '우선',
@@ -60,31 +64,35 @@ const translation = {
workflow: '워크플로우', workflow: '워크플로우',
llmLoadingBalancing: 'LLM 로드 밸런싱', llmLoadingBalancing: 'LLM 로드 밸런싱',
bulkUpload: '문서 대량 업로드', bulkUpload: '문서 대량 업로드',
llmLoadingBalancingTooltip: '모델에 여러 API 키를 추가하여 API 속도 제한을 효과적으로 우회할 수 있습니다.', llmLoadingBalancingTooltip:
'모델에 여러 API 키를 추가하여 API 속도 제한을 효과적으로 우회할 수 있습니다.',
}, },
comingSoon: '곧 출시 예정', comingSoon: '곧 출시 예정',
member: '멤버', member: '멤버',
memberAfter: '멤버', memberAfter: '멤버',
messageRequest: { messageRequest: {
title: '메시지 크레딧', title: '메시지 크레딧',
tooltip: 'GPT 제외 다양한 요금제에서의 메시지 호출 쿼터 (gpt4 제외). 제한을 초과하는 메시지는 OpenAI API 키를 사용합니다.', tooltip:
'GPT 제외 다양한 요금제에서의 메시지 호출 쿼터 (gpt4 제외). 제한을 초과하는 메시지는 OpenAI API 키를 사용합니다.',
titlePerMonth: '{{count,number}} 메시지/월', titlePerMonth: '{{count,number}} 메시지/월',
}, },
annotatedResponse: { annotatedResponse: {
title: '주석 응답 쿼터', title: '주석 응답 쿼터',
tooltip: '수동으로 편집 및 응답 주석 달기로 앱의 사용자 정의 가능한 고품질 질의응답 기능을 제공합니다 (채팅 앱에만 해당).', tooltip:
'수동으로 편집 및 응답 주석 달기로 앱의 사용자 정의 가능한 고품질 질의응답 기능을 제공합니다 (채팅 앱에만 해당).',
}, },
ragAPIRequestTooltip: 'Dify 의 지식베이스 처리 기능을 호출하는 API 호출 수를 나타냅니다.', ragAPIRequestTooltip:
'Dify 의 지식베이스 처리 기능을 호출하는 API 호출 수를 나타냅니다.',
receiptInfo: '팀 소유자 및 팀 관리자만 구독 및 청구 정보를 볼 수 있습니다', receiptInfo: '팀 소유자 및 팀 관리자만 구독 및 청구 정보를 볼 수 있습니다',
annotationQuota: 'Annotation Quota(주석 할당량)', annotationQuota: 'Annotation Quota(주석 할당량)',
documentsUploadQuota: '문서 업로드 할당량', documentsUploadQuota: '문서 업로드 할당량',
freeTrialTipPrefix: '가입하고 받으세요', freeTrialTipPrefix: '요금제에 가입하고 ',
comparePlanAndFeatures: '계획 및 기능 비교', comparePlanAndFeatures: '계획 및 기능 비교',
documents: '{{count,number}} 지식 문서', documents: '{{count,number}} 지식 문서',
apiRateLimit: 'API 요금 한도', apiRateLimit: 'API 요금 한도',
cloud: '클라우드 서비스', cloud: '클라우드 서비스',
unlimitedApiRate: 'API 호출 속도 제한 없음', unlimitedApiRate: 'API 호출 속도 제한 없음',
freeTrialTip: '200 회의 OpenAI 호출에 대한 무료 체험.', freeTrialTip: '200 회의 OpenAI 호출 무료 체험을 받으세요. ',
annualBilling: '연간 청구', annualBilling: '연간 청구',
getStarted: '시작하기', getStarted: '시작하기',
apiRateLimitUnit: '{{count,number}}/일', apiRateLimitUnit: '{{count,number}}/일',
@@ -94,10 +102,13 @@ const translation = {
teamMember_other: '{{count,number}} 팀원', teamMember_other: '{{count,number}} 팀원',
teamMember_one: '{{count,number}} 팀원', teamMember_one: '{{count,number}} 팀원',
priceTip: '작업 공간당/', priceTip: '작업 공간당/',
apiRateLimitTooltip: 'Dify API 를 통한 모든 요청에는 API 요금 한도가 적용되며, 여기에는 텍스트 생성, 채팅 대화, 워크플로 실행 및 문서 처리가 포함됩니다.', apiRateLimitTooltip:
'Dify API 를 통한 모든 요청에는 API 요금 한도가 적용되며, 여기에는 텍스트 생성, 채팅 대화, 워크플로 실행 및 문서 처리가 포함됩니다.',
documentsRequestQuota: '{{count,number}}/분 지식 요청 비율 제한', documentsRequestQuota: '{{count,number}}/분 지식 요청 비율 제한',
documentsTooltip: '지식 데이터 소스에서 가져올 수 있는 문서 수에 대한 쿼터.', documentsTooltip:
documentsRequestQuotaTooltip: '지식 기반 내에서 작업 공간이 분당 수행할 수 있는 총 작업 수를 지정합니다. 여기에는 데이터 세트 생성, 삭제, 업데이트, 문서 업로드, 수정, 보관 및 지식 기반 쿼리가 포함됩니다. 이 지표는 지식 기반 요청의 성능을 평가하는 데 사용됩니다. 예를 들어, 샌드박스 사용자가 1 분 이내에 10 회의 연속 히트 테스트를 수행하면, 해당 작업 공간은 다음 1 분 동안 데이터 세트 생성, 삭제, 업데이트 및 문서 업로드 또는 수정과 같은 작업을 수행하는 것이 일시적으로 제한됩니다.', '지식 데이터 소스에서 가져올 수 있는 문서 수에 대한 쿼터.',
documentsRequestQuotaTooltip:
'지식 기반 내에서 작업 공간이 분당 수행할 수 있는 총 작업 수를 지정합니다. 여기에는 데이터 세트 생성, 삭제, 업데이트, 문서 업로드, 수정, 보관 및 지식 기반 쿼리가 포함됩니다. 이 지표는 지식 기반 요청의 성능을 평가하는 데 사용됩니다. 예를 들어, 샌드박스 사용자가 1 분 이내에 10 회의 연속 히트 테스트를 수행하면, 해당 작업 공간은 다음 1 분 동안 데이터 세트 생성, 삭제, 업데이트 및 문서 업로드 또는 수정과 같은 작업을 수행하는 것이 일시적으로 제한됩니다.',
}, },
plans: { plans: {
sandbox: { sandbox: {
@@ -108,9 +119,10 @@ const translation = {
}, },
professional: { professional: {
name: '프로페셔널', name: '프로페셔널',
description: '개인 및 소규모 팀을 위해 더 많은 파워를 저렴한 가격에 제공합니다.', description:
'개인 및 소규모 팀을 위해 더 많은 파워를 저렴한 가격에 제공합니다.',
includesTitle: '무료 플랜에 추가로 포함된 항목:', includesTitle: '무료 플랜에 추가로 포함된 항목:',
for: '독립 개발자/소규모 팀을 위한', for: '1인 개발자/소규모 팀을 위한',
}, },
team: { team: {
name: '팀', name: '팀',
@@ -120,7 +132,8 @@ const translation = {
}, },
enterprise: { enterprise: {
name: '엔터프라이즈', name: '엔터프라이즈',
description: '대규모 미션 크리티컬 시스템을 위한 완전한 기능과 지원을 제공합니다.', description:
'대규모 미션 크리티컬 시스템을 위한 완전한 기능과 지원을 제공합니다.',
includesTitle: '팀 플랜에 추가로 포함된 항목:', includesTitle: '팀 플랜에 추가로 포함된 항목:',
features: { features: {
2: '독점 기업 기능', 2: '독점 기업 기능',
@@ -178,7 +191,8 @@ const translation = {
contactUs: '문의하기', contactUs: '문의하기',
fullTip1: '업그레이드하여 더 많은 앱을 만들기', fullTip1: '업그레이드하여 더 많은 앱을 만들기',
fullTip2: '계획 한도에 도달했습니다.', fullTip2: '계획 한도에 도달했습니다.',
fullTip2des: '비활성 애플리케이션을 정리하여 사용량을 줄이거나 저희에게 문의하는 것이 좋습니다.', fullTip2des:
'비활성 애플리케이션을 정리하여 사용량을 줄이거나 저희에게 문의하는 것이 좋습니다.',
fullTip1des: '이 계획에서 앱을 구축할 수 있는 한계에 도달했습니다.', fullTip1des: '이 계획에서 앱을 구축할 수 있는 한계에 도달했습니다.',
}, },
annotatedResponse: { annotatedResponse: {
@@ -192,7 +206,8 @@ const translation = {
teamMembers: '팀원들', teamMembers: '팀원들',
buildApps: '앱 만들기', buildApps: '앱 만들기',
documentsUploadQuota: '문서 업로드 한도', documentsUploadQuota: '문서 업로드 한도',
vectorSpaceTooltip: '고품질 색인 모드를 사용하는 문서는 지식 데이터 저장소 자원을 소모합니다. 지식 데이터 저장소가 한도에 도달하면 새 문서를 업로드할 수 없습니다.', vectorSpaceTooltip:
'고품질 색인 모드를 사용하는 문서는 지식 데이터 저장소 자원을 소모합니다. 지식 데이터 저장소가 한도에 도달하면 새 문서를 업로드할 수 없습니다.',
}, },
teamMembers: '팀원들', teamMembers: '팀원들',
} }

View File

@@ -2,7 +2,8 @@ const translation = {
toVerifiedTip: { toVerifiedTip: {
end: 'Dify 프로페셔널 플랜을 위해.', end: 'Dify 프로페셔널 플랜을 위해.',
coupon: '독점 100% 쿠폰', coupon: '독점 100% 쿠폰',
front: '당신은 이제 교육 인증 상태를 받을 자격이 있습니다. 아래에 귀하의 교육 정보를 입력하여 과정을 완료하고 인증을 받으십시오.', front:
'당신은 이제 교육 인증 상태를 받을 자격이 있습니다. 아래에 귀하의 교육 정보를 입력하여 과정을 완료하고 인증을 받으십시오.',
}, },
form: { form: {
schoolName: { schoolName: {
@@ -26,15 +27,18 @@ const translation = {
privacyPolicy: '개인정보 보호정책', privacyPolicy: '개인정보 보호정책',
}, },
option: { option: {
inSchool: '나는 제공된 기관에 재학 중이거나 고용되어 있음을 확인합니다. Dify 는 재학증명서나 고용증명서를 요청할 수 있습니다. 만약 내가 자격을 허위로 진술하면, 나는 내 교육 상태에 따라 처음 면제된 수수료를 지불하기로 동의합니다.', inSchool:
age: '나는 최소한 18 세 이상임을 확인합니다.', '나는 제공된 기관에 재학 중이거나 고용되어 있음을 확인합니다. Dify 는 재학증명서나 고용증명서를 요청할 수 있습니다. 만약 내가 자격을 허위로 진술하면, 나는 내 교육 상태에 따라 처음 면제된 수수료를 지불하기로 동의합니다.',
age: '만 18세 이상입니다.',
}, },
title: '약관 및 동의사항', title: '약관 및 동의사항',
}, },
}, },
submit: '제출', submit: '제출',
rejectContent: '안타깝게도, 귀하는 교육 인증 상태에 적합하지 않으므로 이 이메일 주소를 사용할 경우 Dify Professional Plan 의 독점 100% 쿠폰을 받을 수 없습니다.', rejectContent:
successContent: '귀하의 계정에 Dify Professional 플랜을 위한 100% 할인 쿠폰을 발급했습니다. 이 쿠폰은 1 년간 유효하므로 유효 기간 내에 사용해 주시기 바랍니다.', '안타깝게도, 귀하는 교육 인증 상태에 적합하지 않으므로 이 이메일 주소를 사용할 경우 Dify Professional Plan 의 독점 100% 쿠폰을 받을 수 없습니다.',
successContent:
'귀하의 계정에 Dify Professional 플랜을 위한 100% 할인 쿠폰을 발급했습니다. 이 쿠폰은 1 년간 유효하므로 유효 기간 내에 사용해 주시기 바랍니다.',
currentSigned: '현재 로그인 중입니다', currentSigned: '현재 로그인 중입니다',
toVerified: '교육 인증 받기', toVerified: '교육 인증 받기',
rejectTitle: '귀하의 Dify 교육 인증이 거부되었습니다.', rejectTitle: '귀하의 Dify 교육 인증이 거부되었습니다.',

View File

@@ -16,7 +16,7 @@ const translation = {
image: '이미지', image: '이미지',
design: '디자인', design: '디자인',
business: '사업', business: '사업',
agent: '대리인', agent: '에이전트',
}, },
allTags: '모든 태그', allTags: '모든 태그',
searchTags: '검색 태그', searchTags: '검색 태그',

View File

@@ -1,12 +1,12 @@
const translation = { const translation = {
daysInWeek: { daysInWeek: {
Sun: '일요일',
Mon: '월요일',
Tue: '화요일',
Wed: '수요일', Wed: '수요일',
Thu: '목요일', Thu: '목요일',
Fri: '자유', Fri: '금요일',
Sat: '토요일', Sat: '토요일',
Sun: '태양',
Tue: '화요일',
Mon: '몬',
}, },
months: { months: {
May: '5 월', May: '5 월',
@@ -26,7 +26,7 @@ const translation = {
pickDate: '날짜 선택', pickDate: '날짜 선택',
cancel: '취소', cancel: '취소',
ok: '좋아요', ok: '좋아요',
now: '지금', now: '오늘',
}, },
title: { title: {
pickTime: '시간 선택', pickTime: '시간 선택',

View File

@@ -4,9 +4,9 @@ const translation = {
redo: '다시 실행', redo: '다시 실행',
editing: '편집 중', editing: '편집 중',
autoSaved: '자동 저장됨', autoSaved: '자동 저장됨',
unpublished: '미발행', unpublished: '게시되지 않음',
published: '발행됨', published: '게시됨',
publish: '발행', publish: '게시하기',
update: '업데이트', update: '업데이트',
run: '실행', run: '실행',
running: '실행 중', running: '실행 중',
@@ -43,7 +43,8 @@ const translation = {
previewPlaceholder: '디버깅을 시작하려면 아래 상자에 내용을 입력하세요', previewPlaceholder: '디버깅을 시작하려면 아래 상자에 내용을 입력하세요',
effectVarConfirm: { effectVarConfirm: {
title: '변수 제거', title: '변수 제거',
content: '변수가 다른 노드에서 사용되고 있습니다. 그래도 제거하시겠습니까?', content:
'변수가 다른 노드에서 사용되고 있습니다. 그래도 제거하시겠습니까?',
}, },
insertVarTip: '빠르게 삽입하려면 \'/\' 키를 누르세요', insertVarTip: '빠르게 삽입하려면 \'/\' 키를 누르세요',
processData: '데이터 처리', processData: '데이터 처리',
@@ -58,7 +59,7 @@ const translation = {
duplicate: '복제', duplicate: '복제',
pasteHere: '여기에 붙여넣기', pasteHere: '여기에 붙여넣기',
pointerMode: '포인터 모드', pointerMode: '포인터 모드',
handMode: '드 모드', handMode: '드래그 모드',
model: '모델', model: '모델',
workflowAsTool: '도구로서의 워크플로우', workflowAsTool: '도구로서의 워크플로우',
configureRequired: '구성 필요', configureRequired: '구성 필요',
@@ -73,7 +74,8 @@ const translation = {
overwriteAndImport: '덮어쓰기 및 가져오기', overwriteAndImport: '덮어쓰기 및 가져오기',
importSuccess: '가져오기 성공', importSuccess: '가져오기 성공',
syncingData: '단 몇 초 만에 데이터를 동기화할 수 있습니다.', syncingData: '단 몇 초 만에 데이터를 동기화할 수 있습니다.',
importDSLTip: '현재 초안을 덮어씁니다. 가져오기 전에 워크플로를 백업으로 내보냅니다.', importDSLTip:
'현재 초안을 덮어씁니다. 가져오기 전에 워크플로우를 백업으로 내보냅니다.',
parallelTip: { parallelTip: {
click: { click: {
title: '클릭', title: '클릭',
@@ -95,9 +97,11 @@ const translation = {
featuresDocLink: '더 알아보세요', featuresDocLink: '더 알아보세요',
fileUploadTip: '이미지 업로드 기능이 파일 업로드로 업그레이드되었습니다.', fileUploadTip: '이미지 업로드 기능이 파일 업로드로 업그레이드되었습니다.',
featuresDescription: '웹앱 사용자 경험 향상', featuresDescription: '웹앱 사용자 경험 향상',
ImageUploadLegacyTip: '이제 시작 양식에서 파일 형식 변수를 만들 수 있습니다. 앞으로 이미지 업로드 기능은 더 이상 지원되지 않습니다.', ImageUploadLegacyTip:
'이제 시작 양식에서 파일 형식 변수를 만들 수 있습니다. 앞으로 이미지 업로드 기능은 더 이상 지원되지 않습니다.',
importWarning: '주의', importWarning: '주의',
importWarningDetails: 'DSL 버전 차이는 특정 기능에 영향을 미칠 수 있습니다.', importWarningDetails:
'DSL 버전 차이는 특정 기능에 영향을 미칠 수 있습니다.',
openInExplore: 'Explore 에서 열기', openInExplore: 'Explore 에서 열기',
onFailure: '실패 시', onFailure: '실패 시',
addFailureBranch: '실패 분기 추가', addFailureBranch: '실패 분기 추가',
@@ -118,7 +122,8 @@ const translation = {
}, },
env: { env: {
envPanelTitle: '환경 변수', envPanelTitle: '환경 변수',
envDescription: '환경 변수는 개인 정보와 자격 증명을 저장하는 데 사용될 수 있습니다. 이들은 읽기 전용이며 내보내기 중에 DSL 파일과 분리할 수 있습니다.', envDescription:
'환경 변수는 개인 정보와 자격 증명을 저장하는 데 사용될 수 있습니다. 이들은 읽기 전용이며 내보내기 중에 DSL 파일과 분리할 수 있습니다.',
envPanelButton: '변수 추가', envPanelButton: '변수 추가',
modal: { modal: {
title: '환경 변수 추가', title: '환경 변수 추가',
@@ -128,7 +133,8 @@ const translation = {
namePlaceholder: '환경 이름', namePlaceholder: '환경 이름',
value: '값', value: '값',
valuePlaceholder: '환경 값', valuePlaceholder: '환경 값',
secretTip: '민감한 정보나 데이터를 정의하는 데 사용되며, DSL 설정은 유출 방지를 위해 구성됩니다.', secretTip:
'민감한 정보나 데이터를 정의하는 데 사용되며, DSL 설정은 유출 방지를 위해 구성됩니다.',
}, },
export: { export: {
title: '비밀 환경 변수를 내보내시겠습니까?', title: '비밀 환경 변수를 내보내시겠습니까?',
@@ -139,7 +145,8 @@ const translation = {
}, },
chatVariable: { chatVariable: {
panelTitle: '대화 변수', panelTitle: '대화 변수',
panelDescription: '대화 변수는 LLM 이 기억해야 할 대화 기록, 업로드된 파일, 사용자 선호도 등의 상호작용 정보를 저장하는 데 사용됩니다. 이들은 읽기 및 쓰기가 가능합니다.', panelDescription:
'대화 변수는 LLM 이 기억해야 할 대화 기록, 업로드된 파일, 사용자 선호도 등의 상호작용 정보를 저장하는 데 사용됩니다. 이들은 읽기 및 쓰기가 가능합니다.',
docLink: '자세한 내용은 문서를 참조하세요.', docLink: '자세한 내용은 문서를 참조하세요.',
button: '변수 추가', button: '변수 추가',
modal: { modal: {
@@ -169,7 +176,8 @@ const translation = {
placeholder: '아직 아무 것도 변경하지 않았습니다', placeholder: '아직 아무 것도 변경하지 않았습니다',
clearHistory: '기록 지우기', clearHistory: '기록 지우기',
hint: '힌트', hint: '힌트',
hintText: '편집 작업이 변경 기록에 추적되며, 이 세션 동안 기기에 저장됩니다. 편집기를 떠나면 이 기록이 지워집니다.', hintText:
'편집 작업이 변경 기록에 추적되며, 이 세션 동안 기기에 저장됩니다. 편집기를 떠나면 이 기록이 지워집니다.',
stepBackward_one: '{{count}} 단계 뒤로', stepBackward_one: '{{count}} 단계 뒤로',
stepBackward_other: '{{count}} 단계 뒤로', stepBackward_other: '{{count}} 단계 뒤로',
stepForward_one: '{{count}} 단계 앞으로', stepForward_one: '{{count}} 단계 앞으로',
@@ -203,7 +211,8 @@ const translation = {
visionVariable: '비전 변수', visionVariable: '비전 변수',
}, },
invalidVariable: '잘못된 변수', invalidVariable: '잘못된 변수',
rerankModelRequired: 'Rerank Model 을 켜기 전에 설정에서 모델이 성공적으로 구성되었는지 확인하십시오.', rerankModelRequired:
'Rerank Model 을 켜기 전에 설정에서 모델이 성공적으로 구성되었는지 확인하십시오.',
noValidTool: '{{field}} 유효한 도구가 선택되지 않았습니다.', noValidTool: '{{field}} 유효한 도구가 선택되지 않았습니다.',
toolParameterRequired: '{{field}}: 매개변수 [{{param}}] 이 필요합니다.', toolParameterRequired: '{{field}}: 매개변수 [{{param}}] 이 필요합니다.',
}, },
@@ -262,22 +271,34 @@ const translation = {
'end': '워크플로우의 종료 및 결과 유형을 정의합니다', 'end': '워크플로우의 종료 및 결과 유형을 정의합니다',
'answer': '대화의 답변 내용을 정의합니다', 'answer': '대화의 답변 내용을 정의합니다',
'llm': '질문에 답하거나 자연어를 처리하기 위해 대형 언어 모델을 호출합니다', 'llm': '질문에 답하거나 자연어를 처리하기 위해 대형 언어 모델을 호출합니다',
'knowledge-retrieval': '사용자 질문과 관련된 텍스트 콘텐츠를 지식 베이스에서 쿼리할 수 있습니다', 'knowledge-retrieval':
'question-classifier': '사용자 질문의 분류 조건을 정의합니다. LLM 은 분류 설명을 기반으로 대화의 진행 방식을 정의할 수 있습니다', '사용자 질문과 관련된 텍스트 콘텐츠를 지식 베이스에서 쿼리할 수 있습니다',
'if-else': 'if/else 조건을 기반으로 워크플로우를 두 가지 분기로 나눌 수 있습니다', 'question-classifier':
'사용자 질문의 분류 조건을 정의합니다. LLM 은 분류 설명을 기반으로 대화의 진행 방식을 정의할 수 있습니다',
'if-else':
'if/else 조건을 기반으로 워크플로우를 두 가지 분기로 나눌 수 있습니다',
'code': '사용자 정의 논리를 구현하기 위해 Python 또는 NodeJS 코드를 실행합니다', 'code': '사용자 정의 논리를 구현하기 위해 Python 또는 NodeJS 코드를 실행합니다',
'template-transform': 'Jinja 템플릿 구문을 사용하여 데이터를 문자열로 변환합니다', 'template-transform':
'Jinja 템플릿 구문을 사용하여 데이터를 문자열로 변환합니다',
'http-request': 'HTTP 프로토콜을 통해 서버 요청을 보낼 수 있습니다', 'http-request': 'HTTP 프로토콜을 통해 서버 요청을 보낼 수 있습니다',
'variable-assigner': '다중 분기 변수들을 하나의 변수로 집계하여 다운스트림 노드의 통합 구성을 가능하게 합니다.', 'variable-assigner':
'assigner': '변수 할당 노드는 쓰기 가능한 변수 (대화 변수 등) 에 값을 할당하는 데 사용됩니다.', '다중 분기 변수들을 하나의 변수로 집계하여 다운스트림 노드의 통합 구성을 가능하게 합니다.',
'variable-aggregator': '다중 분기 변수들을 하나의 변수로 집계하여 다운스트림 노드의 통합 구성을 가능하게 합니다.', 'assigner':
'iteration': '목록 객체에서 여러 단계를 수행하여 모든 결과가 출력될 때까지 반복합니다.', '변수 할당 노드는 쓰기 가능한 변수 (대화 변수 등) 에 값을 할당하는 데 사용됩니다.',
'parameter-extractor': '도구 호출 또는 HTTP 요청을 위해 자연어에서 구조화된 매개변수를 추출하기 위해 LLM 을 사용합니다.', 'variable-aggregator':
'document-extractor': '업로드된 문서를 LLM 에서 쉽게 이해할 수 있는 텍스트 콘텐츠로 구문 분석하는 데 사용됩니다.', '다중 분기 변수들을 하나의 변수로 집계하여 다운스트림 노드의 통합 구성을 가능하게 합니다.',
'iteration':
'목록 객체에서 여러 단계를 수행하여 모든 결과가 출력될 때까지 반복합니다.',
'parameter-extractor':
'도구 호출 또는 HTTP 요청을 위해 자연어에서 구조화된 매개변수를 추출하기 위해 LLM 을 사용합니다.',
'document-extractor':
'업로드된 문서를 LLM 에서 쉽게 이해할 수 있는 텍스트 콘텐츠로 구문 분석하는 데 사용됩니다.',
'list-operator': '배열 내용을 필터링하거나 정렬하는 데 사용됩니다.', 'list-operator': '배열 내용을 필터링하거나 정렬하는 데 사용됩니다.',
'agent': '질문에 답하거나 자연어를 처리하기 위해 대규모 언어 모델을 호출하는 경우', 'agent':
'질문에 답하거나 자연어를 처리하기 위해 대규모 언어 모델을 호출하는 경우',
'loop': '종료 조건이 충족되거나 최대 반복 횟수에 도달할 때까지 논리 루프를 실행합니다.', 'loop': '종료 조건이 충족되거나 최대 반복 횟수에 도달할 때까지 논리 루프를 실행합니다.',
'loop-end': '"break"와 동일합니다. 이 노드는 구성 항목이 없습니다. 루프 본문이 이 노드에 도달하면 루프가 종료됩니다.', 'loop-end':
'"break"와 동일합니다. 이 노드는 구성 항목이 없습니다. 루프 본문이 이 노드에 도달하면 루프가 종료됩니다.',
}, },
operator: { operator: {
zoomIn: '확대', zoomIn: '확대',
@@ -304,7 +325,7 @@ const translation = {
changeBlock: '노드 변경', changeBlock: '노드 변경',
addNextStep: '이 워크플로우에 다음 단계를 추가하세요.', addNextStep: '이 워크플로우에 다음 단계를 추가하세요.',
minimize: '전체 화면 종료', minimize: '전체 화면 종료',
maximize: '캔버스를 최대화하다', maximize: '캔버스 전체 화면',
}, },
nodes: { nodes: {
common: { common: {
@@ -338,9 +359,12 @@ const translation = {
failBranch: { failBranch: {
title: '실패 분기', title: '실패 분기',
desc: '오류가 발생하면 예외 분기를 실행합니다', desc: '오류가 발생하면 예외 분기를 실행합니다',
customize: '캔버스로 이동하여 fail branch logic 를 사용자 지정합니다.', customize:
inLog: '노드 예외는 실패 분기를 자동으로 실행합니다. 노드 출력은 오류 유형 및 오류 메시지를 반환하고 다운스트림으로 전달합니다.', '캔버스로 이동하여 fail branch logic 를 사용자 지정합니다.',
customizeTip: 'fail 분기가 활성화되면 노드에서 throw 된 예외가 프로세스를 종료하지 않습니다. 대신 미리 정의된 실패 분기를 자동으로 실행하여 오류 메시지, 보고서, 수정 사항을 유연하게 제공하거나 작업을 건너뛸 수 있습니다.', inLog:
'노드 예외는 실패 분기를 자동으로 실행합니다. 노드 출력은 오류 유형 및 오류 메시지를 반환하고 다운스트림으로 전달합니다.',
customizeTip:
'fail 분기가 활성화되면 노드에서 throw 된 예외가 프로세스를 종료하지 않습니다. 대신 미리 정의된 실패 분기를 자동으로 실행하여 오류 메시지, 보고서, 수정 사항을 유연하게 제공하거나 작업을 건너뛸 수 있습니다.',
}, },
partialSucceeded: { partialSucceeded: {
tip: '프로세스에 {{num}} 노드가 비정상적으로 실행 중입니다. 추적으로 이동하여 로그를 확인하십시오.', tip: '프로세스에 {{num}} 노드가 비정상적으로 실행 중입니다. 추적으로 이동하여 로그를 확인하십시오.',
@@ -358,7 +382,7 @@ const translation = {
retrySuccessful: '재시도 성공', retrySuccessful: '재시도 성공',
retryFailed: '재시도 실패', retryFailed: '재시도 실패',
retryFailedTimes: '{{times}} 재시도 실패', retryFailedTimes: '{{times}} 재시도 실패',
times: '', times: '',
ms: '미에스', ms: '미에스',
retries: '{{숫자}} 재시도', retries: '{{숫자}} 재시도',
}, },
@@ -399,7 +423,8 @@ const translation = {
variables: '변수', variables: '변수',
context: '컨텍스트', context: '컨텍스트',
contextTooltip: '컨텍스트로 지식을 가져올 수 있습니다', contextTooltip: '컨텍스트로 지식을 가져올 수 있습니다',
notSetContextInPromptTip: '컨텍스트 기능을 활성화하려면 PROMPT 에 컨텍스트 변수를 입력하세요.', notSetContextInPromptTip:
'컨텍스트 기능을 활성화하려면 PROMPT 에 컨텍스트 변수를 입력하세요.',
prompt: '프롬프트', prompt: '프롬프트',
roleDescription: { roleDescription: {
system: '대화를 위한 고급 지침 제공', system: '대화를 위한 고급 지침 제공',
@@ -443,8 +468,10 @@ const translation = {
stringValidations: '문자열 검증', stringValidations: '문자열 검증',
showAdvancedOptions: '고급 옵션 표시', showAdvancedOptions: '고급 옵션 표시',
promptPlaceholder: '당신의 JSON 스키마를 설명하세요...', promptPlaceholder: '당신의 JSON 스키마를 설명하세요...',
generationTip: '자연어를 사용하여 JSON 스키마를 신속하게 생성할 수 있습니다.', generationTip:
resultTip: '여기 생성된 결과가 있습니다. 만약 만족하지 않으신다면, 돌아가서 프롬프트를 수정할 수 있습니다.', '자연어를 사용하여 JSON 스키마를 신속하게 생성할 수 있습니다.',
resultTip:
'여기 생성된 결과가 있습니다. 만약 만족하지 않으신다면, 돌아가서 프롬프트를 수정할 수 있습니다.',
regenerate: '재생하다', regenerate: '재생하다',
required: '필수', required: '필수',
doc: '구조화된 출력에 대해 더 알아보세요.', doc: '구조화된 출력에 대해 더 알아보세요.',
@@ -470,7 +497,8 @@ const translation = {
}, },
automatic: { automatic: {
desc: '쿼리 변수를 기반으로 메타데이터 필터링 조건을 자동으로 생성합니다.', desc: '쿼리 변수를 기반으로 메타데이터 필터링 조건을 자동으로 생성합니다.',
subTitle: '사용자 쿼리를 기반으로 메타데이터 필터링 조건을 자동으로 생성합니다.', subTitle:
'사용자 쿼리를 기반으로 메타데이터 필터링 조건을 자동으로 생성합니다.',
title: '자동', title: '자동',
}, },
manual: { manual: {
@@ -542,7 +570,8 @@ const translation = {
inputVars: '입력 변수', inputVars: '입력 변수',
outputVars: '출력 변수', outputVars: '출력 변수',
advancedDependencies: '고급 종속성', advancedDependencies: '고급 종속성',
advancedDependenciesTip: '더 많은 시간이 소요되거나 기본으로 내장되지 않은 일부 미리 로드된 종속성을 여기에 추가하세요', advancedDependenciesTip:
'더 많은 시간이 소요되거나 기본으로 내장되지 않은 일부 미리 로드된 종속성을 여기에 추가하세요',
searchDependencies: '종속성 검색', searchDependencies: '종속성 검색',
}, },
templateTransform: { templateTransform: {
@@ -556,7 +585,8 @@ const translation = {
ifElse: { ifElse: {
if: 'If', if: 'If',
else: 'Else', else: 'Else',
elseDescription: 'If 조건이 충족되지 않을 때 실행할 논리를 정의하는 데 사용됩니다.', elseDescription:
'If 조건이 충족되지 않을 때 실행할 논리를 정의하는 데 사용됩니다.',
and: '그리고', and: '그리고',
or: '또는', or: '또는',
operator: '연산자', operator: '연산자',
@@ -609,7 +639,8 @@ const translation = {
array: '배열', array: '배열',
}, },
aggregationGroup: '집계 그룹', aggregationGroup: '집계 그룹',
aggregationGroupTip: '이 기능을 활성화하면 변수 집계자가 여러 변수 집합을 집계할 수 있습니다.', aggregationGroupTip:
'이 기능을 활성화하면 변수 집계자가 여러 변수 집합을 집계할 수 있습니다.',
addGroup: '그룹 추가', addGroup: '그룹 추가',
outputVars: { outputVars: {
varDescribe: '{{groupName}} 출력', varDescribe: '{{groupName}} 출력',
@@ -645,7 +676,8 @@ const translation = {
'noAssignedVars': '사용 가능한 할당된 변수가 없습니다.', 'noAssignedVars': '사용 가능한 할당된 변수가 없습니다.',
'noVarTip': '"+" 버튼을 클릭하여 변수를 추가합니다.', 'noVarTip': '"+" 버튼을 클릭하여 변수를 추가합니다.',
'setParameter': '매개 변수 설정...', 'setParameter': '매개 변수 설정...',
'assignedVarsDescription': '할당된 변수는 대화 변수와 같은 쓰기 가능한 변수여야 합니다.', 'assignedVarsDescription':
'할당된 변수는 대화 변수와 같은 쓰기 가능한 변수여야 합니다.',
'selectAssignedVariable': '할당된 변수 선택...', 'selectAssignedVariable': '할당된 변수 선택...',
'varNotSet': '변수가 설정되지 않음', 'varNotSet': '변수가 설정되지 않음',
}, },
@@ -677,7 +709,8 @@ const translation = {
topicPlaceholder: '주제 이름을 작성하세요', topicPlaceholder: '주제 이름을 작성하세요',
addClass: '클래스 추가', addClass: '클래스 추가',
instruction: '지시', instruction: '지시',
instructionTip: '질문 분류기가 질문을 더 잘 분류할 수 있도록 추가 지시를 입력하세요.', instructionTip:
'질문 분류기가 질문을 더 잘 분류할 수 있도록 추가 지시를 입력하세요.',
instructionPlaceholder: '지시를 작성하세요', instructionPlaceholder: '지시를 작성하세요',
}, },
parameterExtractor: { parameterExtractor: {
@@ -693,14 +726,17 @@ const translation = {
description: '설명', description: '설명',
descriptionPlaceholder: '추출 매개변수 설명', descriptionPlaceholder: '추출 매개변수 설명',
required: '필수', required: '필수',
requiredContent: '필수는 모델 추론을 위한 참고 용도로만 사용되며, 매개변수 출력의 필수 유효성 검사는 아닙니다.', requiredContent:
'필수는 모델 추론을 위한 참고 용도로만 사용되며, 매개변수 출력의 필수 유효성 검사는 아닙니다.',
}, },
extractParametersNotSet: '추출 매개변수가 설정되지 않음', extractParametersNotSet: '추출 매개변수가 설정되지 않음',
instruction: '지시', instruction: '지시',
instructionTip: '매개변수 추출기가 매개변수를 추출하는 방법을 이해하는 데 도움이 되는 추가 지시를 입력하세요.', instructionTip:
'매개변수 추출기가 매개변수를 추출하는 방법을 이해하는 데 도움이 되는 추가 지시를 입력하세요.',
advancedSetting: '고급 설정', advancedSetting: '고급 설정',
reasoningMode: '추론 모드', reasoningMode: '추론 모드',
reasoningModeTip: '모델의 함수 호출 또는 프롬프트에 대한 지시 응답 능력을 기반으로 적절한 추론 모드를 선택할 수 있습니다.', reasoningModeTip:
'모델의 함수 호출 또는 프롬프트에 대한 지시 응답 능력을 기반으로 적절한 추론 모드를 선택할 수 있습니다.',
isSuccess: '성공 여부. 성공 시 값은 1 이고, 실패 시 값은 0 입니다.', isSuccess: '성공 여부. 성공 시 값은 1 이고, 실패 시 값은 0 입니다.',
errorReason: '오류 원인', errorReason: '오류 원인',
}, },
@@ -726,9 +762,12 @@ const translation = {
error_other: '{{개수}} 오류', error_other: '{{개수}} 오류',
parallelModeEnableTitle: 'Parallel Mode Enabled(병렬 모드 사용)', parallelModeEnableTitle: 'Parallel Mode Enabled(병렬 모드 사용)',
parallelPanelDesc: '병렬 모드에서 반복의 작업은 병렬 실행을 지원합니다.', parallelPanelDesc: '병렬 모드에서 반복의 작업은 병렬 실행을 지원합니다.',
parallelModeEnableDesc: '병렬 모드에서는 반복 내의 작업이 병렬 실행을 지원합니다. 오른쪽의 속성 패널에서 이를 구성할 수 있습니다.', parallelModeEnableDesc:
MaxParallelismDesc: '최대 병렬 처리는 단일 반복에서 동시에 실행되는 작업 수를 제어하는 데 사용됩니다.', '병렬 모드에서는 반복 내의 작업이 병렬 실행을 지원합니다. 오른쪽의 속성 패널에서 이를 구성할 수 있습니다.',
answerNodeWarningDesc: '병렬 모드 경고: 응답 노드, 대화 변수 할당 및 반복 내의 지속적인 읽기/쓰기 작업으로 인해 예외가 발생할 수 있습니다.', MaxParallelismDesc:
'최대 병렬 처리는 단일 반복에서 동시에 실행되는 작업 수를 제어하는 데 사용됩니다.',
answerNodeWarningDesc:
'병렬 모드 경고: 응답 노드, 대화 변수 할당 및 반복 내의 지속적인 읽기/쓰기 작업으로 인해 예외가 발생할 수 있습니다.',
}, },
note: { note: {
editor: { editor: {
@@ -778,12 +817,14 @@ const translation = {
agent: { agent: {
strategy: { strategy: {
label: '에이전트 전략', label: '에이전트 전략',
tooltip: '다양한 에이전트 전략은 시스템이 다단계 도구 호출을 계획하고 실행하는 방법을 결정합니다', tooltip:
'다양한 에이전트 전략은 시스템이 다단계 도구 호출을 계획하고 실행하는 방법을 결정합니다',
configureTip: '에이전트 전략을 구성하세요.', configureTip: '에이전트 전략을 구성하세요.',
searchPlaceholder: '검색 에이전트 전략', searchPlaceholder: '검색 에이전트 전략',
shortLabel: '전략', shortLabel: '전략',
selectTip: '에이전트 전략 선택', selectTip: '에이전트 전략 선택',
configureTipDesc: '에이전트 전략을 구성한 후 이 노드는 나머지 구성을 자동으로 로드합니다. 이 전략은 다단계 도구 추론의 메커니즘에 영향을 미칩니다.', configureTipDesc:
'에이전트 전략을 구성한 후 이 노드는 나머지 구성을 자동으로 로드합니다. 이 전략은 다단계 도구 추론의 메커니즘에 영향을 미칩니다.',
}, },
pluginInstaller: { pluginInstaller: {
install: '설치하다', install: '설치하다',
@@ -796,7 +837,8 @@ const translation = {
}, },
modelNotSupport: { modelNotSupport: {
title: '지원되지 않는 모델', title: '지원되지 않는 모델',
descForVersionSwitch: '설치된 플러그인 버전은 이 모델을 제공하지 않습니다. 버전을 전환하려면 클릭합니다.', descForVersionSwitch:
'설치된 플러그인 버전은 이 모델을 제공하지 않습니다. 버전을 전환하려면 클릭합니다.',
desc: '설치된 플러그인 버전은 이 모델을 제공하지 않습니다.', desc: '설치된 플러그인 버전은 이 모델을 제공하지 않습니다.',
}, },
modelSelectorTooltips: { modelSelectorTooltips: {
@@ -823,13 +865,17 @@ const translation = {
cancel: '취소', cancel: '취소',
title: '플러그인 설치', title: '플러그인 설치',
}, },
strategyNotFoundDescAndSwitchVersion: '설치된 플러그인 버전은 이 전략을 제공하지 않습니다. 버전을 전환하려면 클릭합니다.', strategyNotFoundDescAndSwitchVersion:
'설치된 플러그인 버전은 이 전략을 제공하지 않습니다. 버전을 전환하려면 클릭합니다.',
learnMore: '더 알아보세요', learnMore: '더 알아보세요',
toolNotAuthorizedTooltip: '{{도구}} 권한이 부여되지 않음', toolNotAuthorizedTooltip: '{{도구}} 권한이 부여되지 않음',
strategyNotFoundDesc: '설치된 플러그인 버전은 이 전략을 제공하지 않습니다.', strategyNotFoundDesc:
'설치된 플러그인 버전은 이 전략을 제공하지 않습니다.',
maxIterations: '최대 반복 횟수', maxIterations: '최대 반복 횟수',
pluginNotFoundDesc: '이 플러그인은 GitHub 에서 설치됩니다. 플러그인으로 이동하여 다시 설치하십시오.', pluginNotFoundDesc:
pluginNotInstalledDesc: '이 플러그인은 GitHub 에서 설치됩니다. 플러그인으로 이동하여 다시 설치하십시오.', '이 플러그인은 GitHub 에서 설치됩니다. 플러그인으로 이동하여 다시 설치하십시오.',
pluginNotInstalledDesc:
'이 플러그인은 GitHub 에서 설치됩니다. 플러그인으로 이동하여 다시 설치하십시오.',
strategyNotInstallTooltip: '{{strategy}}가 설치되지 않았습니다.', strategyNotInstallTooltip: '{{strategy}}가 설치되지 않았습니다.',
tools: '도구', tools: '도구',
unsupportedStrategy: '지원되지 않는 전략', unsupportedStrategy: '지원되지 않는 전략',
@@ -868,9 +914,11 @@ const translation = {
loopVariables: '루프 변수', loopVariables: '루프 변수',
setLoopVariables: '루프 범위 내에서 변수를 설정합니다.', setLoopVariables: '루프 범위 내에서 변수를 설정합니다.',
initialLoopVariables: '초기 루프 변수', initialLoopVariables: '초기 루프 변수',
breakConditionTip: '종료 조건과 대화 변수가 있는 루프 내에서만 변수를 참조할 수 있습니다.', breakConditionTip:
'종료 조건과 대화 변수가 있는 루프 내에서만 변수를 참조할 수 있습니다.',
currentLoopCount: '현재 루프 카운트: {{count}}', currentLoopCount: '현재 루프 카운트: {{count}}',
loopMaxCountError: '유효한 최대 루프 수를 입력하십시오. 범위는 1 에서 {{maxCount}}입니다.', loopMaxCountError:
'유효한 최대 루프 수를 입력하십시오. 범위는 1 에서 {{maxCount}}입니다.',
totalLoopCount: '총 루프 횟수: {{count}}', totalLoopCount: '총 루프 횟수: {{count}}',
variableName: '변수 이름', variableName: '변수 이름',
loopNode: '루프 노드', loopNode: '루프 노드',
@@ -885,7 +933,8 @@ const translation = {
conversationVars: '대화 변수', conversationVars: '대화 변수',
noVarsForOperation: '선택한 작업에 할당할 수 있는 변수가 없습니다.', noVarsForOperation: '선택한 작업에 할당할 수 있는 변수가 없습니다.',
noAssignedVars: '사용 가능한 할당된 변수가 없습니다.', noAssignedVars: '사용 가능한 할당된 변수가 없습니다.',
assignedVarsDescription: '할당된 변수는 다음과 같이 쓰기 가능한 변수여야 합니다.', assignedVarsDescription:
'할당된 변수는 다음과 같이 쓰기 가능한 변수여야 합니다.',
}, },
versionHistory: { versionHistory: {
filter: { filter: {
@@ -899,7 +948,8 @@ const translation = {
titleLengthLimit: '제목은 {{limit}}자를 초과할 수 없습니다.', titleLengthLimit: '제목은 {{limit}}자를 초과할 수 없습니다.',
title: '제목', title: '제목',
releaseNotes: '릴리스 노트', releaseNotes: '릴리스 노트',
releaseNotesLengthLimit: '릴리스 노트는 {{limit}}자를 초과할 수 없습니다.', releaseNotesLengthLimit:
'릴리스 노트는 {{limit}}자를 초과할 수 없습니다.',
}, },
action: { action: {
updateFailure: '버전 업데이트에 실패했습니다.', updateFailure: '버전 업데이트에 실패했습니다.',
@@ -914,8 +964,8 @@ const translation = {
currentDraft: '현재 초안', currentDraft: '현재 초안',
releaseNotesPlaceholder: '변경된 내용을 설명하세요.', releaseNotesPlaceholder: '변경된 내용을 설명하세요.',
defaultName: '제목 없는 버전', defaultName: '제목 없는 버전',
nameThisVersion: '이 버전의 이름을 지어주세요', nameThisVersion: '이름 바꾸기',
title: '버전', title: '버전 기록',
deletionTip: '삭제는 되돌릴 수 없으니, 확인해 주시기 바랍니다.', deletionTip: '삭제는 되돌릴 수 없으니, 확인해 주시기 바랍니다.',
restorationTip: '버전 복원 후 현재 초안이 덮어쓰여질 것입니다.', restorationTip: '버전 복원 후 현재 초안이 덮어쓰여질 것입니다.',
}, },
@@ -943,7 +993,8 @@ const translation = {
clearNode: '캐시된 변수를 지우기', clearNode: '캐시된 변수를 지우기',
resetConversationVar: '대화 변수를 기본 값으로 재설정합니다.', resetConversationVar: '대화 변수를 기본 값으로 재설정합니다.',
reset: '마지막 실행 값으로 재설정', reset: '마지막 실행 값으로 재설정',
emptyTip: '캔버스에서 노드를 한 단계씩 실행한 후, 변수 검사에서 노드 변수의 현재 값을 볼 수 있습니다.', emptyTip:
'캔버스에서 노드를 한 단계씩 실행한 후, 변수 검사에서 노드 변수의 현재 값을 볼 수 있습니다.',
}, },
settingsTab: '설정', settingsTab: '설정',
lastRunTab: '마지막 실행', lastRunTab: '마지막 실행',