@lobehub/chat 0.84.0 → 0.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.github/workflows/lighthouse-badger-advanced.yml +11 -29
  2. package/.github/workflows/pre-welcome.yml +22 -0
  3. package/.github/workflows/sync.yml +5 -3
  4. package/.i18nrc.js +1 -2
  5. package/CHANGELOG.md +25 -0
  6. package/locales/ja_JP/common.json +103 -0
  7. package/locales/ja_JP/empty.json +6 -0
  8. package/locales/ja_JP/error.json +42 -0
  9. package/locales/ja_JP/market.json +16 -0
  10. package/locales/ja_JP/plugin.json +107 -0
  11. package/locales/ja_JP/setting.json +225 -0
  12. package/locales/ja_JP/welcome.json +14 -0
  13. package/locales/ko_KR/common.json +103 -0
  14. package/locales/ko_KR/empty.json +6 -0
  15. package/locales/ko_KR/error.json +42 -0
  16. package/locales/ko_KR/market.json +16 -0
  17. package/locales/ko_KR/plugin.json +107 -0
  18. package/locales/ko_KR/setting.json +225 -0
  19. package/locales/ko_KR/welcome.json +14 -0
  20. package/package.json +1 -1
  21. package/public/icons/maskable-icon-192x192.png +0 -0
  22. package/public/icons/maskable-icon-512x512.png +0 -0
  23. package/public/manifest.json +34 -5
  24. package/public/screenshots/screenshot-1.png +0 -0
  25. package/public/screenshots/screenshot-2.png +0 -0
  26. package/public/screenshots/screenshot-3.png +0 -0
  27. package/public/screenshots/screenshot-4.png +0 -0
  28. package/src/app/chat/features/ChatInputContent/Footer/SaveTopic.tsx +1 -1
  29. package/src/app/welcome/(desktop)/features/Footer.tsx +14 -3
  30. package/src/app/welcome/(desktop)/layout.desktop.tsx +1 -4
  31. package/src/const/url.ts +2 -1
  32. package/src/features/SideBar/BottomActions.tsx +9 -2
  33. package/src/layout/GlobalLayout/AppTheme.tsx +3 -3
  34. package/src/layout/GlobalLayout/Locale.tsx +2 -2
  35. package/src/locales/options.ts +8 -1
  36. package/src/locales/resources/index.ts +4 -0
  37. package/src/locales/resources/ja_JP.ts +19 -0
  38. package/src/locales/resources/ko_KR.ts +19 -0
  39. package/src/utils/VersionController.ts +1 -1
  40. package/src/utils/responsive.ts +1 -1
@@ -0,0 +1,14 @@
1
+ {
2
+ "button": {
3
+ "import": "設定をインポート",
4
+ "start": "すぐに開始"
5
+ },
6
+ "header": "ようこそ",
7
+ "pickAgent": "または以下のアシスタントテンプレートから選択してください",
8
+ "skip": "作成をスキップ",
9
+ "slogan": {
10
+ "desc1": "脳のクラスターを開始し、思考の火花を引き起こします。あなたのスマートアシスタントは常にそこにあります。",
11
+ "desc2": "最初のアシスタントを作成して、始めましょう〜",
12
+ "title": "より賢い脳を自分に与える"
13
+ }
14
+ }
@@ -0,0 +1,103 @@
1
+ {
2
+ "about": "소개",
3
+ "advanceSettings": "고급 설정",
4
+ "agentDefaultMessage": "안녕하세요, 저는 **{{name}}**입니다. 바로 대화를 시작하거나 [도우미 설정](/chat/settings#session={{id}})으로 이동하여 제 정보를 완성할 수 있습니다.",
5
+ "agentDefaultMessageWithSystemRole": "안녕하세요, 저는 **{{name}}**입니다. {{systemRole}}입니다. 대화를 시작해봅시다!",
6
+ "agentMaxToken": "세션 최대 길이",
7
+ "agentModel": "모델",
8
+ "agentProfile": "도우미 정보",
9
+ "appInitializing": "LobeChat을 시작하는 중입니다. 잠시 기다려주세요...",
10
+ "archive": "보관함",
11
+ "autoGenerate": "자동 생성",
12
+ "autoGenerateTooltip": "도우미 설명을 자동으로 완성합니다.",
13
+ "backToBottom": "최신 메시지 보기",
14
+ "cancel": "취소",
15
+ "changelog": "변경 내역",
16
+ "clearCurrentMessages": "현재 대화 메시지 지우기",
17
+ "close": "닫기",
18
+ "confirmClearCurrentMessages": "현재 대화 메시지를 지우시겠습니까? 지운 후에는 복구할 수 없습니다. 작업을 확인하세요.",
19
+ "confirmRemoveSessionItemAlert": "도우미를 삭제하시겠습니까? 삭제한 후에는 복구할 수 없습니다. 작업을 확인하세요.",
20
+ "copy": "복사",
21
+ "copySuccess": "복사 완료",
22
+ "defaultAgent": "기본 도우미",
23
+ "defaultSession": "기본 도우미",
24
+ "delete": "삭제",
25
+ "edit": "편집",
26
+ "export": "설정 내보내기",
27
+ "exportType": {
28
+ "agent": "도우미 설정 내보내기",
29
+ "agentWithMessage": "도우미와 메시지 내보내기",
30
+ "all": "전역 설정과 모든 도우미 데이터 내보내기",
31
+ "allAgent": "모든 도우미 설정 내보내기",
32
+ "allAgentWithMessage": "모든 도우미와 메시지 내보내기",
33
+ "globalSetting": "전역 설정 내보내기"
34
+ },
35
+ "feedback": "피드백",
36
+ "historyRange": "기록 범위",
37
+ "import": "설정 가져오기",
38
+ "inbox": {
39
+ "defaultMessage": "안녕하세요, 저는 인공지능 도우미입니다. 궁금한 점이 있으면 물어보세요. 가능한 한 답변해드리겠습니다. 더 전문적이거나 맞춤화된 도우미가 필요하다면 `+`를 클릭하여 사용자 정의 도우미를 만들 수 있습니다.",
40
+ "desc": "뇌 클러스터를 활성화하여 창의적인 아이디어를 끄집어내세요. 여기에서 모든 것을 대화하는 인공지능 도우미와 소통하세요.",
41
+ "title": "무작위 대화"
42
+ },
43
+ "message": {
44
+ "function_loading": "플러그인 요청 중..."
45
+ },
46
+ "moreSetting": "추가 설정...",
47
+ "newAgent": "새 도우미",
48
+ "noDescription": "설명 없음",
49
+ "ok": "확인",
50
+ "password": "비밀번호",
51
+ "pin": "고정",
52
+ "pinOff": "고정 해제",
53
+ "regenerate": "재생성",
54
+ "rename": "이름 변경",
55
+ "reset": "재설정",
56
+ "retry": "재시도",
57
+ "roleAndArchive": "역할 및 기록",
58
+ "searchAgentPlaceholder": "도우미와 대화 검색...",
59
+ "send": "보내기",
60
+ "sendPlaceholder": "대화 내용 입력...",
61
+ "sessionList": "도우미 목록",
62
+ "setting": "설정",
63
+ "share": "공유",
64
+ "shareModal": {
65
+ "download": "스크린샷 다운로드",
66
+ "imageType": "이미지 형식",
67
+ "screenshot": "스크린샷",
68
+ "settings": "내보내기 설정",
69
+ "shareToShareGPT": "ShareGPT 공유 링크 생성",
70
+ "withBackground": "배경 이미지 포함",
71
+ "withFooter": "푸터 포함",
72
+ "withPluginInfo": "플러그인 정보 포함",
73
+ "withSystemRole": "어시스턴트 역할 포함"
74
+ },
75
+ "stop": "중지",
76
+ "tab": {
77
+ "chat": "채팅",
78
+ "market": "탐색",
79
+ "setting": "설정"
80
+ },
81
+ "temp": "임시",
82
+ "tokenDetail": "역할 설정: {{systemRoleToken}} · 이전 메시지: {{chatsToken}}",
83
+ "tokenTag": {
84
+ "overload": "제한 초과",
85
+ "remained": "남음",
86
+ "used": "사용됨"
87
+ },
88
+ "topic": {
89
+ "confirmRemoveTopic": "이 주제를 삭제하려고 합니다. 삭제 후에는 복구할 수 없으니 주의하세요.",
90
+ "defaultTitle": "기본 주제",
91
+ "saveCurrentMessages": "현재 대화를 주제로 저장",
92
+ "searchPlaceholder": "주제 검색...",
93
+ "title": "주제"
94
+ },
95
+ "updateAgent": "어시스턴트 정보 업데이트",
96
+ "updatePrompt": "프롬프트 문구 업데이트",
97
+ "upgradeVersion": {
98
+ "action": "지금 업그레이드",
99
+ "hasNew": "사용 가능한 업데이트가 있습니다",
100
+ "newVersion": "새 버전 사용 가능: {{version}}"
101
+ },
102
+ "warp": "줄바꿈"
103
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "topic": {
3
+ "desc": "현재 대화를 히스토리 토픽으로 저장하고 새로운 대화를 시작하려면 왼쪽 버튼을 클릭하세요.",
4
+ "title": "토픽 목록"
5
+ }
6
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "pluginSettings": {
3
+ "desc": "다음 구성을 완료하면 플러그인을 사용할 수 있습니다.",
4
+ "title": "{{name}} 플러그인 설정"
5
+ },
6
+ "response": {
7
+ "400": "죄송합니다. 서버가 요청을 이해하지 못했습니다. 요청 매개변수가 올바른지 확인해주세요.",
8
+ "401": "죄송합니다. 서버가 요청을 거부했습니다. 권한이 부족하거나 유효한 인증 정보를 제공하지 않았을 수 있습니다.",
9
+ "403": "죄송합니다. 서버가 요청을 거부했습니다. 이 콘텐츠에 대한 액세스 권한이 없습니다.",
10
+ "404": "죄송합니다. 서버가 요청한 페이지나 리소스를 찾을 수 없습니다. URL이 올바른지 확인해주세요.",
11
+ "405": "죄송합니다. 서버가 사용한 요청 메서드를 지원하지 않습니다. 요청 메서드가 올바른지 확인해주세요.",
12
+ "429": "죄송합니다. 요청이 너무 많아 서버가 약간 지친 상태입니다. 잠시 후에 다시 시도해주세요.",
13
+ "500": "죄송합니다. 서버에 문제가 발생하여 요청을 완료할 수 없습니다. 잠시 후에 다시 시도해주세요.",
14
+ "502": "죄송합니다. 서버가 잠시 서비스를 제공할 수 없는 상태입니다. 잠시 후에 다시 시도해주세요.",
15
+ "503": "죄송합니다. 서버가 현재 요청을 처리할 수 없습니다. 과부하 또는 유지 보수 중일 수 있습니다. 잠시 후에 다시 시도해주세요.",
16
+ "504": "죄송합니다. 서버가 상위 서버의 응답을 기다리지 못했습니다. 잠시 후에 다시 시도해주세요.",
17
+ "PluginMarketIndexNotFound": "죄송합니다. 서버에서 플러그인 인덱스를 찾을 수 없습니다. 인덱스 주소가 올바른지 확인해주세요.",
18
+ "PluginMarketIndexInvalid": "죄송합니다. 플러그인 인덱스 유효성 검사에 실패했습니다. 인덱스 파일 형식이 올바른지 확인해주세요.",
19
+ "PluginMetaNotFound": "죄송합니다. 인덱스에서 해당 플러그인을 찾을 수 없습니다. 플러그인의 구성 정보를 인덱스에서 확인해주세요.",
20
+ "PluginMetaInvalid": "죄송합니다. 해당 플러그인의 메타 정보 유효성 검사에 실패했습니다. 플러그인 메타 정보 형식이 올바른지 확인해주세요.",
21
+ "PluginManifestNotFound": "죄송합니다. 서버에서 해당 플러그인의 설명서 (manifest.json)를 찾을 수 없습니다. 플러그인 설명 파일 주소가 올바른지 확인해주세요.",
22
+ "PluginManifestInvalid": "죄송합니다. 해당 플러그인의 설명서 유효성 검사에 실패했습니다. 설명서 형식이 올바른지 확인해주세요.",
23
+ "PluginApiNotFound": "죄송합니다. 플러그인 설명서에 해당 API가 없습니다. 요청 메서드와 플러그인 설명서 API가 일치하는지 확인해주세요.",
24
+ "PluginApiParamsError": "죄송합니다. 플러그인 요청의 입력 매개변수 유효성 검사에 실패했습니다. 입력 매개변수와 API 설명 정보가 일치하는지 확인해주세요.",
25
+ "PluginSettingsInvalid": "플러그인을 사용하려면 올바른 구성이 필요합니다. 구성이 올바른지 확인해주세요.",
26
+ "PluginServerError": "플러그인 서버 요청이 오류로 반환되었습니다. 플러그인 설명 파일, 플러그인 구성 또는 서버 구현을 확인해주세요.",
27
+ "InvalidAccessCode": "암호가 올바르지 않거나 비어 있습니다. 올바른 액세스 암호를 입력하거나 사용자 지정 OpenAI API 키를 추가해주세요.",
28
+ "OpenAIBizError": "OpenAI 서비스 요청 중 오류가 발생했습니다. 아래 정보를 확인하고 문제를 해결하거나 다시 시도해주세요."
29
+ },
30
+ "unlock": {
31
+ "apikey": {
32
+ "description": "OpenAI API 키를 입력하여 암호 확인을 우회할 수 있습니다. 애플리케이션은 API 키를 기록하지 않습니다.",
33
+ "title": "사용자 정의 API 키 사용"
34
+ },
35
+ "closeMessage": "알림 닫기",
36
+ "confirm": "확인 및 다시 시도",
37
+ "password": {
38
+ "description": "관리자가 애플리케이션 암호화를 활성화했습니다. 애플리케이션을 잠금 해제하려면 애플리케이션 비밀번호를 입력하십시오. 비밀번호는 한 번만 입력하면 됩니다.",
39
+ "title": "암호 입력하여 애플리케이션 잠금 해제"
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "addAgent": "보조 프로그램 추가",
3
+ "search": {
4
+ "placeholder": "보조 프로그램 이름, 설명 또는 키워드 검색..."
5
+ },
6
+ "sidebar": {
7
+ "comment": "의견",
8
+ "prompt": "프롬프트",
9
+ "title": "보조 프로그램 세부 정보"
10
+ },
11
+ "submitAgent": "보조 프로그램 제출",
12
+ "title": {
13
+ "allAgents": "모든 보조 프로그램",
14
+ "recentSubmits": "최근 추가"
15
+ }
16
+ }
@@ -0,0 +1,107 @@
1
+ {
2
+ "debug": {
3
+ "arguments": "함수 호출 인수",
4
+ "function_call": "함수 호출",
5
+ "response": "응답"
6
+ },
7
+ "dev": {
8
+ "confirmDeleteDevPlugin": "로컬 플러그인을 삭제하시겠습니까? 삭제 후에는 복구할 수 없습니다.",
9
+ "deleteSuccess": "플러그인이 성공적으로 삭제되었습니다.",
10
+ "manifest": {
11
+ "identifier": {
12
+ "desc": "플러그인의 고유 식별자",
13
+ "label": "식별자"
14
+ },
15
+ "mode": {
16
+ "local": "시각적 구성",
17
+ "local-tooltip": "시각적 구성은 일시적으로 지원되지 않습니다.",
18
+ "url": "온라인 링크"
19
+ },
20
+ "name": {
21
+ "desc": "플러그인 제목",
22
+ "label": "제목",
23
+ "placeholder": "검색 엔진"
24
+ }
25
+ },
26
+ "meta": {
27
+ "author": {
28
+ "desc": "플러그인 작성자",
29
+ "label": "작성자"
30
+ },
31
+ "avatar": {
32
+ "desc": "플러그인 아이콘으로는 Emoji 또는 URL을 사용할 수 있습니다.",
33
+ "label": "아이콘"
34
+ },
35
+ "description": {
36
+ "desc": "플러그인 설명",
37
+ "label": "설명",
38
+ "placeholder": "검색 엔진에서 정보 가져오기"
39
+ },
40
+ "formFieldRequired": "이 필드는 필수 입력 사항입니다.",
41
+ "homepage": {
42
+ "desc": "플러그인 홈페이지",
43
+ "label": "홈페이지"
44
+ },
45
+ "identifier": {
46
+ "desc": "플러그인의 고유 식별자는 manifest에서 자동으로 인식됩니다.",
47
+ "errorDuplicate": "식별자가 이미 있는 플러그인과 중복되었습니다. 식별자를 수정해주세요.",
48
+ "label": "식별자",
49
+ "pattenErrorMessage": "영문자, 숫자, - 및 _만 입력할 수 있습니다."
50
+ },
51
+ "manifest": {
52
+ "desc": "LobeChat은 이 링크를 통해 플러그인을 설치합니다.",
53
+ "jsonInvalid": "manifest가 규칙에 맞지 않습니다. 유효성 검사 결과: \n\n {{error}}",
54
+ "label": "플러그인 설명 파일 URL 주소",
55
+ "preview": "Manifest 미리보기",
56
+ "refresh": "새로 고침",
57
+ "requestError": "이 링크를 요청하는 중에 오류가 발생했습니다. 유효한 링크를 입력하고 링크가 크로스 도메인 액세스를 허용하는지 확인해주세요.",
58
+ "urlError": "이 링크는 JSON 형식의 내용을 반환하지 않습니다. 유효한 링크를 입력해주세요."
59
+ },
60
+ "title": {
61
+ "desc": "플러그인 제목",
62
+ "label": "제목",
63
+ "placeholder": "검색 엔진"
64
+ }
65
+ },
66
+ "metaConfig": "플러그인 메타 정보 구성",
67
+ "modalDesc": "사용자 정의 플러그인을 추가하면 플러그인 개발 검증 및 세션에서 직접 사용할 수 있습니다. 플러그인 개발 문서는 참조해주세요.",
68
+ "preview": {
69
+ "card": "플러그인 미리보기",
70
+ "desc": "플러그인 설명 미리보기",
71
+ "title": "플러그인 이름 미리보기"
72
+ },
73
+ "save": "저장",
74
+ "saveSuccess": "플러그인 설정이 성공적으로 저장되었습니다.",
75
+ "tabs": {
76
+ "manifest": "기능 설명 목록 (Manifest)",
77
+ "meta": "플러그인 메타 정보"
78
+ },
79
+ "title": "사용자 정의 플러그인 추가",
80
+ "update": "업데이트",
81
+ "updateSuccess": "플러그인 설정이 성공적으로 업데이트되었습니다."
82
+ },
83
+ "list": {
84
+ "item": {
85
+ "deprecated.title": "삭제됨",
86
+ "local.config": "구성",
87
+ "local.title": "사용자 정의"
88
+ }
89
+ },
90
+ "loading": {
91
+ "content": "데이터 가져오는 중...",
92
+ "plugin": "플러그인 실행 중..."
93
+ },
94
+ "pluginList": "플러그인 목록",
95
+ "plugins": {
96
+ "unknown": "플러그인 검사 중..."
97
+ },
98
+ "setting": "플러그인 설정",
99
+ "settings": {
100
+ "indexUrl": {
101
+ "title": "마켓 인덱스",
102
+ "tooltip": "온라인 편집은 지원되지 않습니다. 배포 환경 변수를 통해 설정해주세요."
103
+ },
104
+ "modalDesc": "플러그인 마켓의 주소를 구성하면 사용자 정의 플러그인 마켓을 사용할 수 있습니다.",
105
+ "title": "플러그인 마켓 설정"
106
+ }
107
+ }
@@ -0,0 +1,225 @@
1
+ {
2
+ "danger": {
3
+ "clear": {
4
+ "action": "지금 지우기",
5
+ "confirm": "모든 채팅 데이터를 지우시겠습니까?",
6
+ "desc": "모든 대화 데이터를 지웁니다.",
7
+ "success": "모든 대화 메시지가 지워졌습니다.",
8
+ "title": "모든 대화 메시지 지우기"
9
+ },
10
+ "reset": {
11
+ "action": "지금 재설정",
12
+ "confirm": "모든 설정을 재설정하시겠습니까?",
13
+ "currentVersion": "현재 버전",
14
+ "desc": "모든 설정 항목을 기본값으로 재설정합니다.",
15
+ "title": "모든 설정 재설정"
16
+ }
17
+ },
18
+ "header": {
19
+ "global": "전역 설정",
20
+ "session": "세션 설정",
21
+ "sessionWithName": "세션 설정 · {{name}}"
22
+ },
23
+ "llm": {
24
+ "AzureOpenAI": {
25
+ "endpoint": {
26
+ "desc": "Azure 포털에서 리소스를 확인할 때 이 값을 '키 및 엔드포인트' 섹션에서 찾을 수 있습니다.",
27
+ "placeholder": "https://docs-test-001.openai.azure.com",
28
+ "title": "Azure API 주소"
29
+ },
30
+ "models": {
31
+ "desc": "지원되는 모델",
32
+ "title": "모델 목록"
33
+ },
34
+ "title": "Azure OpenAI 설정",
35
+ "token": {
36
+ "desc": "Azure 포털에서 리소스를 확인할 때 이 값을 '키 및 엔드포인트' 섹션에서 찾을 수 있습니다. KEY1 또는 KEY2를 사용할 수 있습니다.",
37
+ "placeholder": "Azure API 키",
38
+ "title": "API 키"
39
+ }
40
+ },
41
+ "OpenAI": {
42
+ "azureApiVersion": {
43
+ "desc": "Azure의 API 버전입니다. YYYY-MM-DD 형식을 따릅니다. [최신 버전](https://learn.microsoft.com/ko-kr/azure/ai-services/openai/reference#chat-completions)을 확인하세요.",
44
+ "fetch": "목록 가져오기",
45
+ "title": "Azure API 버전"
46
+ },
47
+ "check": {
48
+ "button": "확인",
49
+ "desc": "API 키와 프록시 주소가 올바르게 입력되었는지 테스트합니다.",
50
+ "pass": "확인 완료",
51
+ "title": "연결성 확인"
52
+ },
53
+ "endpoint": {
54
+ "desc": "기본 주소 외에도 반드시 http(s)://를 포함해야 합니다.",
55
+ "placeholder": "https://api.openai.com/v1",
56
+ "title": "인터페이스 프록시 주소"
57
+ },
58
+ "models": {
59
+ "count": "총 {{count}}개의 모델 지원",
60
+ "desc": "지원되는 모델",
61
+ "fetch": "모델 목록 가져오기",
62
+ "notSupport": "Azure OpenAI에서 모델 목록을 볼 수 없습니다.",
63
+ "notSupportTip": "배포 이름과 모델 이름이 일치하는지 확인해야 합니다.",
64
+ "refetch": "모델 목록 다시 가져오기",
65
+ "title": "모델 목록"
66
+ },
67
+ "title": "OpenAI 설정",
68
+ "token": {
69
+ "desc": "자체 OpenAI 키 사용",
70
+ "placeholder": "OpenAI API 키",
71
+ "title": "API 키"
72
+ },
73
+ "useAzure": {
74
+ "desc": "Azure에서 제공하는 OpenAI 서비스 사용",
75
+ "fetch": "목록 가져오기",
76
+ "serverConfig": "관리자가 서버에서 Azure OpenAI를 구성했으므로 변경이 금지되었습니다.",
77
+ "title": "Azure OpenAI"
78
+ }
79
+ },
80
+ "waitingForMore": "더 많은 모델이 <1>계획 중</1>에 있으니 기대해주세요 ✨"
81
+ },
82
+ "settingAgent": {
83
+ "avatar": {
84
+ "title": "아바타"
85
+ },
86
+ "backgroundColor": {
87
+ "title": "배경색"
88
+ },
89
+ "description": {
90
+ "placeholder": "도우미 설명을 입력하세요.",
91
+ "title": "도우미 설명"
92
+ },
93
+ "name": {
94
+ "placeholder": "도우미 이름을 입력하세요.",
95
+ "title": "이름"
96
+ },
97
+ "prompt": {
98
+ "placeholder": "역할 프롬프트 힌트를 입력하세요.",
99
+ "title": "역할 설정"
100
+ },
101
+ "tag": {
102
+ "placeholder": "태그를 입력하세요.",
103
+ "title": "태그"
104
+ },
105
+ "title": "도우미 정보"
106
+ },
107
+ "settingChat": {
108
+ "chatStyleType": {
109
+ "title": "채팅 창 스타일",
110
+ "type": {
111
+ "chat": "대화 모드",
112
+ "docs": "문서 모드"
113
+ }
114
+ },
115
+ "compressThreshold": {
116
+ "desc": "압축되지 않은 이전 메시지가이 값보다 크면 압축됩니다.",
117
+ "title": "압축 임계값"
118
+ },
119
+ "enableCompressThreshold": {
120
+ "title": "이전 메시지 길이 압축 사용"
121
+ },
122
+ "enableHistoryCount": {
123
+ "alias": "제한 없음",
124
+ "limited": "대화 메시지 {{number}} 개만 포함",
125
+ "title": "대화 메시지 제한",
126
+ "unlimited": "대화 메시지 제한 없음"
127
+ },
128
+ "historyCount": {
129
+ "desc": "요청당 포함되는 이전 메시지 수",
130
+ "title": "포함된 이전 메시지 수"
131
+ },
132
+ "inputTemplate": {
133
+ "desc": "사용자의 최신 메시지가이 템플릿에 채워집니다.",
134
+ "placeholder": "사전 처리 템플릿 {{text}}은(는) 실시간 입력 정보로 대체됩니다.",
135
+ "title": "사용자 입력 사전 처리"
136
+ },
137
+ "title": "채팅 설정"
138
+ },
139
+ "settingModel": {
140
+ "enableMaxTokens": {
141
+ "title": "단일 응답 제한 사용"
142
+ },
143
+ "frequencyPenalty": {
144
+ "desc": "값이 클수록 반복 단어가 줄어듭니다.",
145
+ "title": "빈도 패널티"
146
+ },
147
+ "maxTokens": {
148
+ "desc": "단일 상호 작용에 사용되는 최대 토큰 수",
149
+ "title": "단일 응답 제한"
150
+ },
151
+ "model": {
152
+ "desc": "ChatGPT 모델",
153
+ "list": {
154
+ "gpt-3.5-turbo": "GPT 3.5",
155
+ "gpt-3.5-turbo-16k": "GPT 3.5 (16K)",
156
+ "gpt-4": "GPT 4",
157
+ "gpt-4-32k": "GPT 4 (32K)"
158
+ },
159
+ "title": "모델"
160
+ },
161
+ "presencePenalty": {
162
+ "desc": "값이 클수록 새로운 주제로 확장될 가능성이 높아집니다.",
163
+ "title": "주제 신선도"
164
+ },
165
+ "temperature": {
166
+ "desc": "값이 클수록 응답이 더 무작위 해집니다.",
167
+ "title": "랜덤성",
168
+ "titleWithValue": "랜덤성 {{value}}"
169
+ },
170
+ "title": "모델 설정",
171
+ "topP": {
172
+ "desc": "랜덤성과 유사하지만 함께 변경하지 마십시오.",
173
+ "title": "상위 P 샘플링"
174
+ }
175
+ },
176
+ "settingPlugin": {
177
+ "add": "추가",
178
+ "addTooltip": "사용자 정의 플러그인 추가",
179
+ "clearDeprecated": "사용되지 않는 플러그인 제거",
180
+ "config": "{{id}} 플러그인 구성",
181
+ "settings": "플러그인 마켓 설정",
182
+ "title": "플러그인 목록"
183
+ },
184
+ "settingSystem": {
185
+ "accessCode": {
186
+ "desc": "관리자가 암호 액세스를 활성화했습니다.",
187
+ "placeholder": "액세스 코드를 입력하세요.",
188
+ "title": "액세스 코드"
189
+ },
190
+ "title": "시스템 설정"
191
+ },
192
+ "settingTheme": {
193
+ "avatar": {
194
+ "title": "아바타"
195
+ },
196
+ "fontSize": {
197
+ "desc": "채팅 콘텐츠의 글꼴 크기",
198
+ "title": "글꼴 크기"
199
+ },
200
+ "lang": {
201
+ "autoMode": "시스템에 따름",
202
+ "title": "언어"
203
+ },
204
+ "neutralColor": {
205
+ "desc": "다양한 색상 경향의 중립적인 사용자 정의",
206
+ "title": "중립 색상"
207
+ },
208
+ "primaryColor": {
209
+ "desc": "사용자 정의 테마 색상",
210
+ "title": "테마 색상"
211
+ },
212
+ "themeMode": {
213
+ "auto": "자동",
214
+ "dark": "다크",
215
+ "light": "라이트",
216
+ "title": "테마"
217
+ },
218
+ "title": "테마 설정"
219
+ },
220
+ "tab": {
221
+ "agent": "기본 도우미",
222
+ "common": "일반 설정",
223
+ "llm": "언어 모델"
224
+ }
225
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "button": {
3
+ "import": "구성 가져오기",
4
+ "start": "지금 시작"
5
+ },
6
+ "header": "환영합니다",
7
+ "pickAgent": "또는 다음 도우미 템플릿 중 하나를 선택하세요",
8
+ "skip": "생성 건너뛰기",
9
+ "slogan": {
10
+ "desc1": "뇌 클러스터를 시작하여 아이디어를 자극하세요. 당신의 지능형 어시스턴트가 항상 여기에 있습니다.",
11
+ "desc2": "첫 번째 어시스턴트를 만들어 보세요. 시작해 봅시다~",
12
+ "title": "더 똑똑한 뇌를 위해 스스로에게 선물하세요"
13
+ }
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/chat",
3
- "version": "0.84.0",
3
+ "version": "0.85.0",
4
4
  "description": "An open-source, extensible (Function Calling), high-performance chatbot framework. It supports one-click free deployment of your private ChatGPT/LLM web application",
5
5
  "keywords": [
6
6
  "chatbot",
@@ -6,12 +6,26 @@
6
6
  {
7
7
  "src": "/icons/icon-192x192.png",
8
8
  "sizes": "192x192",
9
- "type": "image/png"
9
+ "type": "image/png",
10
+ "purpose": "any"
11
+ },
12
+ {
13
+ "src": "/icons/maskable-icon-192x192.png",
14
+ "sizes": "192x192",
15
+ "type": "image/png",
16
+ "purpose": "maskable"
10
17
  },
11
18
  {
12
19
  "src": "/icons/icon-512x512.png",
13
20
  "sizes": "512x512",
14
- "type": "image/png"
21
+ "type": "image/png",
22
+ "purpose": "any"
23
+ },
24
+ {
25
+ "src": "/icons/maskable-icon-512x512.png",
26
+ "sizes": "512x512",
27
+ "type": "image/png",
28
+ "purpose": "maskable"
15
29
  }
16
30
  ],
17
31
  "id": "/",
@@ -20,13 +34,28 @@
20
34
  "scope": "/",
21
35
  "screenshots": [
22
36
  {
23
- "src": "https://registry.npmmirror.com/@lobehub/assets-favicons/1.4.0/files/assets/og-960x540.png",
24
- "sizes": "960x540",
37
+ "src": "/screenshots/screenshot-1.png",
38
+ "sizes": "750x1334",
39
+ "type": "image/png"
40
+ },
41
+ {
42
+ "src": "/screenshots/screenshot-2.png",
43
+ "sizes": "750x1334",
44
+ "type": "image/png"
45
+ },
46
+ {
47
+ "src": "/screenshots/screenshot-3.png",
48
+ "sizes": "750x1334",
49
+ "type": "image/png"
50
+ },
51
+ {
52
+ "src": "/screenshots/screenshot-4.png",
53
+ "sizes": "750x1334",
25
54
  "type": "image/png"
26
55
  }
27
56
  ],
28
57
  "short_name": "LobeChat",
29
58
  "splash_pages": null,
30
- "start_url": "/",
59
+ "start_url": ".",
31
60
  "theme_color": "#000000"
32
61
  }
@@ -19,7 +19,7 @@ const SaveTopic = memo(() => {
19
19
 
20
20
  return (
21
21
  <Tooltip title={t('topic.saveCurrentMessages')}>
22
- <Render icon={icon} onClick={saveToTopic} />
22
+ <Render aria-label={t('topic.saveCurrentMessages')} icon={icon} onClick={saveToTopic} />
23
23
  </Tooltip>
24
24
  );
25
25
  });
@@ -6,7 +6,7 @@ import { Book, Github } from 'lucide-react';
6
6
  import { memo } from 'react';
7
7
  import { Flexbox } from 'react-layout-kit';
8
8
 
9
- import { CHANGELOG, DISCORD, GITHUB } from '@/const/url';
9
+ import { DISCORD, GITHUB, WIKI } from '@/const/url';
10
10
 
11
11
  const Footer = memo(() => {
12
12
  const theme = useTheme();
@@ -21,9 +21,20 @@ const Footer = memo(() => {
21
21
  icon={DiscordIcon}
22
22
  onClick={() => window.open(DISCORD, '__blank')}
23
23
  size={'site'}
24
+ title={'Discord'}
25
+ />
26
+ <ActionIcon
27
+ icon={Book}
28
+ onClick={() => window.open(WIKI, '__blank')}
29
+ size={'site'}
30
+ title={'Wiki'}
31
+ />
32
+ <ActionIcon
33
+ icon={Github}
34
+ onClick={() => window.open(GITHUB, '__blank')}
35
+ size={'site'}
36
+ title={'GitHub'}
24
37
  />
25
- <ActionIcon icon={Book} onClick={() => window.open(CHANGELOG, '__blank')} size={'site'} />
26
- <ActionIcon icon={Github} onClick={() => window.open(GITHUB, '__blank')} size={'site'} />
27
38
  </Flexbox>
28
39
  </Flexbox>
29
40
  );