fix(i18n): clean up unused keys and fix nesting & placeholder issues (#23123)

This commit is contained in:
lyzno1 2025-07-30 10:37:44 +08:00 • committed by GitHub
commit a3ef869db6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
52 changed files with 70 additions and 276 deletions

View file

@ -227,21 +227,6 @@ const translation = {
},
},
automatic: {
title: '자동 어플리케이션 오케스트레이션',
description: '시나리오를 설명하세요. Dify 가 어플리케이션을 자동으로 오케스트레이션 합니다.',
intendedAudience: '누가 대상이 되는지 설명하세요.',
intendedAudiencePlaceHolder: '예: 학생',
solveProblem: '어떤 문제를 AI 가 해결할 것으로 예상하나요?',
solveProblemPlaceHolder: '예: 학업 성적 평가',
generate: '생성',
audiencesRequired: '대상이 필요합니다',
problemRequired: '문제가 필요합니다',
resTitle: '다음 어플리케이션을 자동으로 오케스트레이션 했습니다.',
apply: '이 오케스트레이션을 적용하기',
noData: '왼쪽에 사용 예시를 기술하고, 오케스트레이션 미리보기가 여기에 나타납니다.',
loading: '어플리케이션 오케스트레이션을 실행 중입니다...',
overwriteTitle: '기존 구성을 덮어쓰시겠습니까?',
overwriteMessage: '이 오케스트레이션을 적용하면 기존 구성이 덮어쓰여집니다.',
},
resetConfig: {
title: '리셋을 확인하시겠습니까?',

View file

@ -26,29 +26,10 @@ const translation = {
newApp: {
startFromBlank: '빈 상태로 시작',
startFromTemplate: '템플릿에서 시작',
captionAppType: '어떤 종류의 앱을 만들어 보시겠어요?',
chatbotDescription:
'대화형 어플리케이션을 만듭니다. 질문과 답변 형식을 사용하여 다단계 대화를 지원합니다.',
completionDescription:
'프롬프트를 기반으로 품질 높은 텍스트를 생성하는 어플리케이션을 만듭니다. 기사, 요약, 번역 등을 생성할 수 있습니다.',
completionWarning: '이 종류의 앱은 더 이상 지원되지 않습니다.',
agentDescription: '작업을 자동으로 완료하는 지능형 에이전트를 만듭니다.',
workflowDescription:
'고도로 사용자 지정 가능한 워크플로우에 기반한 고품질 텍스트 생성 어플리케이션을 만듭니다. 경험 있는 사용자를 위한 것입니다.',
workflowWarning: '현재 베타 버전입니다.',
chatbotType: '챗봇 오케스트레이션 방식',
basic: '기본',
basicTip: '초보자용. 나중에 Chatflow 로 전환할 수 있습니다.',
basicFor: '초보자용',
basicDescription:
'기본 오케스트레이션은 내장된 프롬프트를 수정할 수 없고 간단한 설정을 사용하여 챗봇 앱을 오케스트레이션합니다. 초보자용입니다.',
advanced: 'Chatflow',
advancedFor: '고급 사용자용',
advancedDescription:
'워크플로우 오케스트레이션은 워크플로우 형식으로 챗봇을 오케스트레이션하며 내장된 프롬프트를 편집할 수 있는 고급 사용자 정의 기능을 제공합니다. 경험이 많은 사용자용입니다.',
captionName: '앱 아이콘과 이름',
appNamePlaceholder: '앱 이름을 입력하세요',
captionDescription: '설명',
workflowWarning: '현재 베타 버전입니다',
appDescriptionPlaceholder: '앱 설명을 입력하세요',
useTemplate: '이 템플릿 사용',
previewDemo: '데모 미리보기',

View file

@ -23,20 +23,14 @@ const translation = {
contractSales: '영업팀에 문의하기',
contractOwner: '팀 관리자에게 문의하기',
startForFree: '무료로 시작하기',
getStartedWith: '시작하기 ',
contactSales: '영업팀에 문의하기',
talkToSales: '영업팀과 상담하기',
modelProviders: '모델 제공자',
teamMembers: '팀 멤버',
buildApps: '앱 만들기',
vectorSpace: '벡터 공간',
vectorSpaceBillingTooltip:
'1MB 당 약 120 만 글자의 벡터화된 데이터를 저장할 수 있습니다 (OpenAI Embeddings 을 기반으로 추정되며 모델에 따라 다릅니다).',
vectorSpaceTooltip:
'벡터 공간은 LLM 이 데이터를 이해하는 데 필요한 장기 기억 시스템입니다.',
documentProcessingPriority: '문서 처리 우선순위',
documentProcessingPriorityTip:
'더 높은 문서 처리 우선순위를 원하시면 요금제를 업그레이드하세요.',
documentProcessingPriorityUpgrade:
'더 높은 정확성과 빠른 속도로 데이터를 처리합니다.',
priority: {
@ -85,7 +79,6 @@ const translation = {
'Dify 의 지식베이스 처리 기능을 호출하는 API 호출 수를 나타냅니다.',
receiptInfo: '팀 소유자 및 팀 관리자만 구독 및 청구 정보를 볼 수 있습니다',
annotationQuota: 'Annotation Quota(주석 할당량)',
documentsUploadQuota: '문서 업로드 할당량',
freeTrialTipPrefix: '요금제에 가입하고 ',
comparePlanAndFeatures: '계획 및 기능 비교',
documents: '{{count,number}} 지식 문서',
@ -114,20 +107,17 @@ const translation = {
sandbox: {
name: '샌드박스',
description: 'GPT 무료 체험 200 회',
includesTitle: '포함된 항목:',
for: '핵심 기능 무료 체험',
},
professional: {
name: '프로페셔널',
description:
'개인 및 소규모 팀을 위해 더 많은 파워를 저렴한 가격에 제공합니다.',
includesTitle: '무료 플랜에 추가로 포함된 항목:',
for: '1인 개발자/소규모 팀을 위한',
},
team: {
name: '팀',
description: '제한 없이 협업하고 최고의 성능을 누리세요.',
includesTitle: '프로페셔널 플랜에 추가로 포함된 항목:',
for: '중간 규모 팀을 위한',
},
enterprise: {
@ -135,42 +125,36 @@ const translation = {
description:
'대규모 미션 크리티컬 시스템을 위한 완전한 기능과 지원을 제공합니다.',
includesTitle: '팀 플랜에 추가로 포함된 항목:',
features: {
2: '독점 기업 기능',
1: '상업적 라이선스 승인',
3: '다중 작업 공간 및 기업 관리',
4: 'SSO',
5: 'Dify 파트너에 의해 협상된 SLA',
6: '고급 보안 및 제어',
0: '기업급 확장 가능한 배포 솔루션',
7: '디피 공식 업데이트 및 유지 관리',
8: '전문 기술 지원',
},
price: '맞춤형',
btnText: '판매 문의하기',
for: '대규모 팀을 위해',
priceTip: '연간 청구 전용',
features: [
'엔터프라이즈급 확장 가능한 배포 솔루션',
'상업용 라이선스 인증',
'전용 엔터프라이즈 기능',
'다중 워크스페이스 및 엔터프라이즈 관리',
'SSO(싱글 사인온)',
'Dify 파트너와의 협상을 통한 SLA',
'고급 보안 및 제어 기능',
'Dify의 공식 업데이트 및 유지 관리',
'전문 기술 지원',
],
},
community: {
features: {
0: '모든 핵심 기능이 공개 저장소에 릴리스됨',
2: 'Dify 오픈 소스 라이선스를 준수합니다.',
1: '단일 작업 공간',
},
btnText: '커뮤니티 시작하기',
description: '개인 사용자, 소규모 팀 또는 비상업적 프로젝트를 위한',
name: '커뮤니티',
price: '무료',
includesTitle: '무료 기능:',
for: '개인 사용자, 소규모 팀 또는 비상업적 프로젝트를 위한',
features: [
'모든 핵심 기능이 공개 저장소에 공개됨',
'단일 워크스페이스',
'Dify 오픈소스 라이선스를 준수함',
],
},
premium: {
features: {
1: '단일 작업 공간',
2: '웹앱 로고 및 브랜딩 맞춤화',
3: '우선 이메일 및 채팅 지원',
0: '다양한 클라우드 제공업체에 의한 자율 관리 신뢰성',
},
btnText: '프리미엄 받기',
priceTip: '클라우드 마켓플레이스를 기반으로',
name: '프리미엄',
@ -179,6 +163,12 @@ const translation = {
price: '확장 가능',
for: '중규모 조직 및 팀을 위한',
includesTitle: '커뮤니티의 모든 것, 여기에 추가로:',
features: [
'다양한 클라우드 제공업체를 통한 자가 관리 신뢰성',
'단일 워크스페이스',
'웹앱 로고 및 브랜딩 커스터마이징',
'우선 이메일 및 채팅 지원',
],
},
},
vectorSpace: {
@ -186,8 +176,6 @@ const translation = {
fullSolution: '더 많은 공간을 얻으려면 요금제를 업그레이드하세요.',
},
apps: {
fullTipLine1: '더 많은 앱을 생성하려면,',
fullTipLine2: '요금제를 업그레이드하세요.',
contactUs: '문의하기',
fullTip1: '업그레이드하여 더 많은 앱을 만들기',
fullTip2: '계획 한도에 도달했습니다.',

View file

@ -193,7 +193,6 @@ const translation = {
showAppLength: '{{length}}개의 앱 표시',
delete: '계정 삭제',
deleteTip: '계정을 삭제하면 모든 데이터가 영구적으로 지워지며 복구할 수 없습니다.',
deleteConfirmTip: '확인하려면 등록된 이메일에서 다음 내용을 로 보내주세요 ',
myAccount: '내 계정',
studio: '디파이 스튜디오',
account: '계정',

View file

@ -1,8 +1,6 @@
const translation = {
steps: {
header: {
creation: '지식 생성',
update: '데이터 추가',
fallbackRoute: '지식',
},
one: '데이터 소스 선택',

View file

@ -341,7 +341,6 @@ const translation = {
keywords: '키워드',
addKeyWord: '키워드 추가',
keywordError: '키워드 최대 길이는 20 자입니다',
characters: '문자',
hitCount: '검색 횟수',
vectorHash: '벡터 해시: ',
questionPlaceholder: '질문을 입력하세요',

View file

@ -2,7 +2,6 @@ const translation = {
title: '검색 테스트',
desc: '주어진 쿼리 텍스트에 기반하여 지식의 검색 효과를 테스트합니다.',
dateTimeFormat: 'YYYY/MM/DD HH:mm',
recents: '최근 결과',
table: {
header: {
source: '소스',

View file

@ -70,7 +70,6 @@ const translation = {
activated: '지금 로그인하세요',
adminInitPassword: '관리자 초기화 비밀번호',
validate: '확인',
sso: 'SSO 로 계속하기',
checkCode: {
verify: '확인',
verificationCode: '인증 코드',

View file

@ -82,7 +82,6 @@ const translation = {
keyTooltip: 'HTTP 헤더 키입니다. 생각이 없으면 "Authorization"으로 남겨둘 수 있습니다. 또는 사용자 정의 값을 설정할 수 있습니다.',
types: {
none: '없음',
api_key: 'API 키',
apiKeyPlaceholder: 'API 키의 HTTP 헤더 이름',
apiValuePlaceholder: 'API 키를 입력하세요',
api_key_query: '쿼리 매개변수',

View file

@ -111,11 +111,9 @@ const translation = {
exportJPEG: 'JPEG 로 내보내기',
exitVersions: '종료 버전',
exportImage: '이미지 내보내기',
noExist: '해당 변수가 없습니다.',
exportSVG: 'SVG 로 내보내기',
versionHistory: '버전 기록',
exportPNG: 'PNG 로 내보내기',
referenceVar: '참조 변수',
addBlock: '노드 추가',
needAnswerNode: '답변 노드를 추가해야 합니다.',
needEndNode: '종단 노드를 추가해야 합니다.',
@ -231,7 +229,6 @@ const translation = {
tabs: {
'tools': '도구',
'allTool': '전체',
'builtInTool': '내장',
'customTool': '사용자 정의',
'workflowTool': '워크플로우',
'question-understand': '질문 이해',
@ -617,7 +614,6 @@ const translation = {
'not empty': '비어 있지 않음',
'null': 'null 임',
'not null': 'null 이 아님',
'regex match': '정규식 일치',
'in': '안으로',
'exists': '존재',
'all of': '모두의',
@ -640,7 +636,6 @@ const translation = {
},
select: '고르다',
addSubVariable: '하위 변수',
condition: '조건',
},
variableAssigner: {
title: '변수 할당',
@ -761,8 +756,6 @@ const translation = {
reasoningMode: '추론 모드',
reasoningModeTip:
'모델의 함수 호출 또는 프롬프트에 대한 지시 응답 능력을 기반으로 적절한 추론 모드를 선택할 수 있습니다.',
isSuccess: '성공 여부. 성공 시 값은 1 이고, 실패 시 값은 0 입니다.',
errorReason: '오류 원인',
},
iteration: {
deleteTitle: '반복 노드를 삭제하시겠습니까?',