@liujitcn/kratos-uni-app-system 0.0.19 → 0.0.21
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.
- package/dist/index.mjs +1460 -7
- package/package.json +2 -2
- package/src/api/base/ai_message.ts +8 -5
- package/src/index.ts +18 -0
- package/src/locales/README.md +15 -0
- package/src/locales/en-US.json +91 -0
- package/src/locales/es-ES.json +91 -0
- package/src/locales/fr-FR.json +91 -0
- package/src/locales/ja-JP.json +91 -0
- package/src/locales/ko-KR.json +91 -0
- package/src/locales/zh-CN.json +91 -0
- package/src/locales/zh-TW.json +91 -0
- package/src/pages.ts +4 -4
- package/src/views/pages/my/my.vue +9 -7
- package/src/views/pagesMember/ai/components/SessionDrawer.vue +10 -6
- package/src/views/pagesMember/ai/components/WelcomePanel.vue +11 -7
- package/src/views/pagesMember/ai/index.vue +85 -66
- package/src/views/pagesMember/profile/profile.vue +22 -15
- package/src/views/pagesMember/settings/settings.vue +53 -6
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "git@github.com:liujitcn/kratos-admin.git"
|
|
9
9
|
},
|
|
10
|
-
"version": "0.0.
|
|
10
|
+
"version": "0.0.21",
|
|
11
11
|
"type": "module",
|
|
12
12
|
"files": [
|
|
13
13
|
"dist",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@dcloudio/uni-app": "3.0.0-5010520260709002",
|
|
31
31
|
"@dcloudio/uni-ui": "^1.4.28",
|
|
32
32
|
"vue": "^3.4.21",
|
|
33
|
-
"@liujitcn/kratos-uni-app-core": "^0.0.
|
|
33
|
+
"@liujitcn/kratos-uni-app-core": "^0.0.21"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"esbuild": "^0.20.2",
|
|
@@ -15,6 +15,7 @@ import type {
|
|
|
15
15
|
SendAiMessageResponse,
|
|
16
16
|
UpdateAiMessageRequest,
|
|
17
17
|
} from '../../rpc/base/v1/ai_message'
|
|
18
|
+
import { getLocaleRequestHeaders, t } from '@liujitcn/kratos-uni-app-core'
|
|
18
19
|
|
|
19
20
|
const AI_SESSION_URL = '/v1/base/ai/session'
|
|
20
21
|
|
|
@@ -45,7 +46,7 @@ type ChunkedRequestTask = UniNamespace.RequestTask & {
|
|
|
45
46
|
|
|
46
47
|
/** 从 direct stream 错误响应中提取后端业务提示。 */
|
|
47
48
|
async function resolveStreamErrorMessage(response: Response): Promise<string> {
|
|
48
|
-
const fallbackMessage =
|
|
49
|
+
const fallbackMessage = t('system.ai.requestFailedWithStatus', { status: response.status })
|
|
49
50
|
const contentType = response.headers.get('Content-Type') ?? ''
|
|
50
51
|
if (contentType.includes('application/json')) {
|
|
51
52
|
try {
|
|
@@ -74,6 +75,7 @@ export async function SendAiMessageStream(
|
|
|
74
75
|
Accept: 'text/event-stream',
|
|
75
76
|
'Content-Type': 'application/json;charset=utf-8',
|
|
76
77
|
'source-client': 'miniapp',
|
|
78
|
+
...getLocaleRequestHeaders(),
|
|
77
79
|
}
|
|
78
80
|
if (accessToken) {
|
|
79
81
|
headers.Authorization = accessToken
|
|
@@ -89,7 +91,7 @@ export async function SendAiMessageStream(
|
|
|
89
91
|
// direct stream 不经过 uni.request 拦截器,需要在这里补齐登录失效处理。
|
|
90
92
|
if (response.status === 401 || response.status === 403) {
|
|
91
93
|
handleAuthExpired('required')
|
|
92
|
-
throw new Error('
|
|
94
|
+
throw new Error(t('core.auth.sessionExpired'))
|
|
93
95
|
}
|
|
94
96
|
if (!response.ok) {
|
|
95
97
|
throw new Error(await resolveStreamErrorMessage(response))
|
|
@@ -127,6 +129,7 @@ export function StreamAiMessageByChunkedRequest(
|
|
|
127
129
|
Accept: 'text/event-stream',
|
|
128
130
|
'Content-Type': 'application/json;charset=utf-8',
|
|
129
131
|
'source-client': 'miniapp',
|
|
132
|
+
...getLocaleRequestHeaders(),
|
|
130
133
|
...(accessToken ? { Authorization: accessToken } : {}),
|
|
131
134
|
},
|
|
132
135
|
success(res) {
|
|
@@ -136,7 +139,7 @@ export function StreamAiMessageByChunkedRequest(
|
|
|
136
139
|
}
|
|
137
140
|
if (res.statusCode === 401 || res.statusCode === 403) {
|
|
138
141
|
handleAuthExpired('required')
|
|
139
|
-
reject(new Error('
|
|
142
|
+
reject(new Error(t('core.auth.sessionExpired')))
|
|
140
143
|
return
|
|
141
144
|
}
|
|
142
145
|
if (res.statusCode < 200 || res.statusCode >= 300) {
|
|
@@ -167,7 +170,7 @@ export function StreamAiMessageByChunkedRequest(
|
|
|
167
170
|
|
|
168
171
|
if (typeof requestTask.onChunkReceived !== 'function') {
|
|
169
172
|
requestTask.abort()
|
|
170
|
-
reject(new Error('
|
|
173
|
+
reject(new Error(t('system.ai.streamUnsupported')))
|
|
171
174
|
return
|
|
172
175
|
}
|
|
173
176
|
|
|
@@ -267,7 +270,7 @@ export class AiMessageServiceImpl implements AiMessageService {
|
|
|
267
270
|
export const defAiMessageService = new AiMessageServiceImpl()
|
|
268
271
|
|
|
269
272
|
function resolveChunkedStreamErrorMessage(response: UniApp.RequestSuccessCallbackResult) {
|
|
270
|
-
const fallbackMessage =
|
|
273
|
+
const fallbackMessage = t('system.ai.requestFailedWithStatus', { status: response.statusCode })
|
|
271
274
|
const text = decodeChunkedResponseData(response.data).trim()
|
|
272
275
|
if (!text) {
|
|
273
276
|
return fallbackMessage
|
package/src/index.ts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { defineKratosAppModule } from '@liujitcn/kratos-uni-app-core/module'
|
|
2
2
|
import { systemPages } from './pages'
|
|
3
3
|
|
|
4
|
+
// System 语言包随 systemModule 注册,供 uni-app System 页面、个人中心和 AI 功能使用。
|
|
5
|
+
import enUS from './locales/en-US.json'
|
|
6
|
+
import jaJP from './locales/ja-JP.json'
|
|
7
|
+
import zhCN from './locales/zh-CN.json'
|
|
8
|
+
import zhTW from './locales/zh-TW.json'
|
|
9
|
+
import koKR from './locales/ko-KR.json'
|
|
10
|
+
import frFR from './locales/fr-FR.json'
|
|
11
|
+
import esES from './locales/es-ES.json'
|
|
12
|
+
|
|
4
13
|
/** system 内置模块,AI 能力也归属 system。 */
|
|
5
14
|
export const systemModule = defineKratosAppModule({
|
|
6
15
|
name: '@liujitcn/kratos-uni-app-system',
|
|
@@ -11,6 +20,15 @@ export const systemModule = defineKratosAppModule({
|
|
|
11
20
|
SETTINGS: 'pagesMember/settings/settings',
|
|
12
21
|
AI: 'pagesMember/ai/index',
|
|
13
22
|
},
|
|
23
|
+
messages: {
|
|
24
|
+
'zh-CN': zhCN,
|
|
25
|
+
'zh-TW': zhTW,
|
|
26
|
+
'ko-KR': koKR,
|
|
27
|
+
'fr-FR': frFR,
|
|
28
|
+
'es-ES': esES,
|
|
29
|
+
'en-US': enUS,
|
|
30
|
+
'ja-JP': jaJP,
|
|
31
|
+
},
|
|
14
32
|
})
|
|
15
33
|
|
|
16
34
|
export default systemModule
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# uni-app System 语言包
|
|
2
|
+
|
|
3
|
+
本目录提供 uni-app System 模块的个人中心、设置、AI 和相关业务文案。语言包由同级 `../index.ts` 导入并挂载到 `systemModule`,应用启动时由 uni-app Core 的 `registerLocaleMessages` 合并;System 页面和业务组件通过 `useI18n()` 或 `t()` 使用 `system.*` 键。
|
|
4
|
+
|
|
5
|
+
| 文件 | 用途 | 使用位置 |
|
|
6
|
+
| --- | --- | --- |
|
|
7
|
+
| `zh-CN.json` | System 模块简体中文固定 UI 默认语言包,也是七语键集合和占位符校验基准。 | uni-app 固定文案默认语言及缺失翻译回退。 |
|
|
8
|
+
| `zh-TW.json` | System 模块繁体中文语言包。 | uni-app 切换为繁体中文时使用。 |
|
|
9
|
+
| `en-US.json` | System 模块英文语言包。 | uni-app 切换为英文时使用。 |
|
|
10
|
+
| `ja-JP.json` | System 模块日文语言包。 | uni-app 切换为日文时使用。 |
|
|
11
|
+
| `ko-KR.json` | System 模块韩语语言包。 | uni-app 切换为韩语时使用。 |
|
|
12
|
+
| `fr-FR.json` | System 模块法语语言包。 | uni-app 切换为法语时使用。 |
|
|
13
|
+
| `es-ES.json` | System 模块西班牙语语言包。 | uni-app 切换为西班牙语时使用。 |
|
|
14
|
+
|
|
15
|
+
语言键必须使用 `system.` 命名空间;语言包保持标准 JSON,不在文件内写注释。
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"system.ai.action.copy": "Copy",
|
|
3
|
+
"system.ai.action.regenerate": "Regenerate",
|
|
4
|
+
"system.ai.attachment": "Attachment",
|
|
5
|
+
"system.ai.attachmentAnswer": "Answer my question using the attached content",
|
|
6
|
+
"system.ai.attachmentLimit": "You can upload up to {count} attachments",
|
|
7
|
+
"system.ai.attachmentUploading": "Uploading attachments...",
|
|
8
|
+
"system.ai.chatTitle": "AI Assistant",
|
|
9
|
+
"system.ai.copySuccess": "Message copied",
|
|
10
|
+
"system.ai.currentSession": "current session",
|
|
11
|
+
"system.ai.createSessionFailed": "Failed to create session",
|
|
12
|
+
"system.ai.deleteMessageFailed": "Failed to delete message",
|
|
13
|
+
"system.ai.deleteSession": "Delete session",
|
|
14
|
+
"system.ai.deleteSessionConfirm": "Delete \"{title}\"?",
|
|
15
|
+
"system.ai.deleteSessionFailed": "Failed to delete session",
|
|
16
|
+
"system.ai.efficiencyAssistant": "Productivity assistant",
|
|
17
|
+
"system.ai.failedResponse": "The response did not complete. You can retry your previous question.",
|
|
18
|
+
"system.ai.generalAssistant": "General assistant",
|
|
19
|
+
"system.ai.greeting": "Good {period}, how can I help you today?",
|
|
20
|
+
"system.ai.greetingHello": "Hello, your AI assistant is ready to help.",
|
|
21
|
+
"system.ai.history": "Chat history",
|
|
22
|
+
"system.ai.imageAttachment": "IMG",
|
|
23
|
+
"system.ai.imageName": "Image {index}",
|
|
24
|
+
"system.ai.loadMessages": "Loading messages...",
|
|
25
|
+
"system.ai.loadMessagesFailed": "Failed to load messages",
|
|
26
|
+
"system.ai.loadSessions": "Loading sessions...",
|
|
27
|
+
"system.ai.loadSessionsFailed": "Failed to load sessions",
|
|
28
|
+
"system.ai.loadShortcutsFailed": "Failed to load shortcuts",
|
|
29
|
+
"system.ai.modelReply": "Model response",
|
|
30
|
+
"system.ai.newSession": "New session",
|
|
31
|
+
"system.ai.noMatchingSessions": "No matching sessions",
|
|
32
|
+
"system.ai.noShortcuts": "No shortcuts available",
|
|
33
|
+
"system.ai.noSummary": "No summary",
|
|
34
|
+
"system.ai.period.afternoon": "afternoon",
|
|
35
|
+
"system.ai.period.evening": "evening",
|
|
36
|
+
"system.ai.period.morning": "morning",
|
|
37
|
+
"system.ai.period.noon": "day",
|
|
38
|
+
"system.ai.placeholder.continue": "Continue your question",
|
|
39
|
+
"system.ai.placeholder.default": "Ask anything",
|
|
40
|
+
"system.ai.prompt.idea": "Give me some ideas",
|
|
41
|
+
"system.ai.prompt.ideaContent": "Suggest some fresh ideas about this topic",
|
|
42
|
+
"system.ai.prompt.optimize": "Improve some writing",
|
|
43
|
+
"system.ai.prompt.optimizeContent": "Help me improve the following text",
|
|
44
|
+
"system.ai.prompt.plan": "Create a plan",
|
|
45
|
+
"system.ai.prompt.planContent": "Create a clear action plan for me",
|
|
46
|
+
"system.ai.prompt.summary": "Summarize content",
|
|
47
|
+
"system.ai.prompt.summaryContent": "Summarize the following content",
|
|
48
|
+
"system.ai.quickActions": "Quick actions",
|
|
49
|
+
"system.ai.recording": "Listening...",
|
|
50
|
+
"system.ai.recognizing": "Recognizing speech",
|
|
51
|
+
"system.ai.refresh": "Refresh",
|
|
52
|
+
"system.ai.regenerateFailed": "Failed to regenerate",
|
|
53
|
+
"system.ai.requestFailed": "AI assistant request failed",
|
|
54
|
+
"system.ai.requestFailedWithStatus": "AI assistant request failed ({status})",
|
|
55
|
+
"system.ai.responseEmpty": "AI assistant returned an empty response",
|
|
56
|
+
"system.ai.responseIncomplete": "AI streaming response was incomplete",
|
|
57
|
+
"system.ai.searchSession": "Search sessions",
|
|
58
|
+
"system.ai.shortcutQuestion": "Try asking",
|
|
59
|
+
"system.ai.speechStopped": "Voice input stopped",
|
|
60
|
+
"system.ai.streamEmpty": "AI streaming response was empty",
|
|
61
|
+
"system.ai.streamUnsupported": "Streaming responses are not supported on this platform",
|
|
62
|
+
"system.ai.textAssistant": "Writing assistant",
|
|
63
|
+
"system.ai.thinking": "Responding",
|
|
64
|
+
"system.ai.toolCalled": "Tools used: {tools}",
|
|
65
|
+
"system.ai.uploadFailed": "Attachment upload failed",
|
|
66
|
+
"system.profile.account": "Account",
|
|
67
|
+
"system.profile.avatarChange": "Tap to change avatar",
|
|
68
|
+
"system.profile.avatarUploadFailed": "Avatar upload failed",
|
|
69
|
+
"system.profile.avatarUpdate": "Update avatar and name",
|
|
70
|
+
"system.profile.gender": "Gender",
|
|
71
|
+
"system.profile.loginPrompt": "Tap to log in",
|
|
72
|
+
"system.profile.mobile": "Mobile",
|
|
73
|
+
"system.profile.nickName": "Nickname",
|
|
74
|
+
"system.profile.nickNamePlaceholder": "Enter nickname",
|
|
75
|
+
"system.profile.notLoggedIn": "Not logged in",
|
|
76
|
+
"system.profile.phoneAuthorization": "Authorize mobile with WeChat",
|
|
77
|
+
"system.profile.phoneAuthorizationSuccess": "Authorized",
|
|
78
|
+
"system.profile.photoLimit": "Upload a photo smaller than 1 MB",
|
|
79
|
+
"system.profile.saveSuccess": "Saved",
|
|
80
|
+
"system.profile.title": "Profile",
|
|
81
|
+
"system.profile.updateSuccess": "Updated",
|
|
82
|
+
"system.settings.aiDescription": "Organize information, answer questions, and handle everyday tasks",
|
|
83
|
+
"system.settings.aiTitle": "AI Assistant",
|
|
84
|
+
"system.settings.authorization": "Authorization settings",
|
|
85
|
+
"system.settings.contact": "Contact us",
|
|
86
|
+
"system.settings.feedback": "Feedback",
|
|
87
|
+
"system.settings.goAsk": "Ask now",
|
|
88
|
+
"system.settings.logoutConfirm": "Log out now?",
|
|
89
|
+
"system.settings.logoutFailed": "Logout failed",
|
|
90
|
+
"system.settings.title": "Settings"
|
|
91
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"system.ai.action.copy": "Copiar",
|
|
3
|
+
"system.ai.action.regenerate": "Regenerar",
|
|
4
|
+
"system.ai.attachment": "Adjunto",
|
|
5
|
+
"system.ai.attachmentAnswer": "Responda mi pregunta según el archivo adjunto.",
|
|
6
|
+
"system.ai.attachmentLimit": "Cargar hasta {count} archivos adjuntos",
|
|
7
|
+
"system.ai.attachmentUploading": "Se está cargando el archivo adjunto...",
|
|
8
|
+
"system.ai.chatTitle": "Asistente de IA",
|
|
9
|
+
"system.ai.copySuccess": "Mensaje copiado",
|
|
10
|
+
"system.ai.currentSession": "Sesión actual",
|
|
11
|
+
"system.ai.createSessionFailed": "Error al crear la sesión",
|
|
12
|
+
"system.ai.deleteMessageFailed": "No se pudo eliminar el mensaje",
|
|
13
|
+
"system.ai.deleteSession": "Eliminar sesión",
|
|
14
|
+
"system.ai.deleteSessionConfirm": "¿Eliminar \"{title}\"?",
|
|
15
|
+
"system.ai.deleteSessionFailed": "No se pudo eliminar la sesión",
|
|
16
|
+
"system.ai.efficiencyAssistant": "Asistente de Eficiencia",
|
|
17
|
+
"system.ai.failedResponse": "La respuesta no se devolvió correctamente esta vez. Puedes volver a intentar la pregunta directamente.",
|
|
18
|
+
"system.ai.generalAssistant": "Asistente universal",
|
|
19
|
+
"system.ai.greeting": "Hola, {period} ¡Hola! ¿Hay algo con lo que necesites mi ayuda hoy?",
|
|
20
|
+
"system.ai.greetingHello": "Hola, ¡el asistente de IA está a tu servicio!",
|
|
21
|
+
"system.ai.history": "Conversaciones históricas",
|
|
22
|
+
"system.ai.imageAttachment": "Figura",
|
|
23
|
+
"system.ai.imageName": "Imagen{index}",
|
|
24
|
+
"system.ai.loadMessages": "Cargando mensajes...",
|
|
25
|
+
"system.ai.loadMessagesFailed": "Error al cargar el mensaje",
|
|
26
|
+
"system.ai.loadSessions": "Cargando sesión...",
|
|
27
|
+
"system.ai.loadSessionsFailed": "Error al cargar la sesión",
|
|
28
|
+
"system.ai.loadShortcutsFailed": "Error al cargar el asistente de acceso directo",
|
|
29
|
+
"system.ai.modelReply": "Modelo Respuesta",
|
|
30
|
+
"system.ai.newSession": "Nueva sesión",
|
|
31
|
+
"system.ai.noMatchingSessions": "No hay sesión coincidente",
|
|
32
|
+
"system.ai.noShortcuts": "Aún no hay asistente de acceso directo disponible",
|
|
33
|
+
"system.ai.noSummary": "Aún no hay resumen",
|
|
34
|
+
"system.ai.period.afternoon": "Tarde",
|
|
35
|
+
"system.ai.period.evening": "Tarde",
|
|
36
|
+
"system.ai.period.morning": "Mañana",
|
|
37
|
+
"system.ai.period.noon": "Mediodía",
|
|
38
|
+
"system.ai.placeholder.continue": "Continuar ingresando preguntas",
|
|
39
|
+
"system.ai.placeholder.default": "Introduce lo que quieras saber",
|
|
40
|
+
"system.ai.prompt.idea": "Dame algo de inspiración",
|
|
41
|
+
"system.ai.prompt.ideaContent": "Por favor, dame algunas ideas nuevas sobre este tema.",
|
|
42
|
+
"system.ai.prompt.optimize": "Ayúdame a optimizar un fragmento de texto",
|
|
43
|
+
"system.ai.prompt.optimizeContent": "Por favor ayúdame a optimizar el siguiente texto",
|
|
44
|
+
"system.ai.prompt.plan": "Ayúdame a hacer un plan",
|
|
45
|
+
"system.ai.prompt.planContent": "Ayúdenme a desarrollar un plan de ejecución claro",
|
|
46
|
+
"system.ai.prompt.summary": "Ayúdame a resumir un contenido",
|
|
47
|
+
"system.ai.prompt.summaryContent": "Por favor ayúdenme a resumir lo siguiente",
|
|
48
|
+
"system.ai.quickActions": "Operación rápida",
|
|
49
|
+
"system.ai.recording": "Escuchando...",
|
|
50
|
+
"system.ai.recognizing": "Reconocimiento del habla",
|
|
51
|
+
"system.ai.refresh": "Cámbialo",
|
|
52
|
+
"system.ai.regenerateFailed": "Falló la regeneración",
|
|
53
|
+
"system.ai.requestFailed": "Error en la solicitud del asistente de IA",
|
|
54
|
+
"system.ai.requestFailedWithStatus": "Error en la solicitud del asistente de IA ({status})",
|
|
55
|
+
"system.ai.responseEmpty": "La respuesta del asistente de IA está vacía",
|
|
56
|
+
"system.ai.responseIncomplete": "La respuesta de transmisión del asistente de IA no se devuelve por completo",
|
|
57
|
+
"system.ai.searchSession": "Sesión de búsqueda",
|
|
58
|
+
"system.ai.shortcutQuestion": "Puedes preguntar así",
|
|
59
|
+
"system.ai.speechStopped": "La entrada de voz se ha detenido",
|
|
60
|
+
"system.ai.streamEmpty": "La respuesta de transmisión del asistente de IA está vacía",
|
|
61
|
+
"system.ai.streamUnsupported": "El final actual no admite respuestas en streaming",
|
|
62
|
+
"system.ai.textAssistant": "Asistente de texto",
|
|
63
|
+
"system.ai.thinking": "está respondiendo",
|
|
64
|
+
"system.ai.toolCalled": "Llamado: {tools}",
|
|
65
|
+
"system.ai.uploadFailed": "Falló la carga del archivo adjunto",
|
|
66
|
+
"system.profile.account": "Cuenta",
|
|
67
|
+
"system.profile.avatarChange": "Haga clic para modificar avatar",
|
|
68
|
+
"system.profile.avatarUploadFailed": "No se pudo cargar el avatar",
|
|
69
|
+
"system.profile.avatarUpdate": "Actualizar apodo de avatar",
|
|
70
|
+
"system.profile.gender": "Género",
|
|
71
|
+
"system.profile.loginPrompt": "Haga clic para iniciar sesión en su cuenta",
|
|
72
|
+
"system.profile.mobile": "Número de móvil",
|
|
73
|
+
"system.profile.nickName": "Apodo",
|
|
74
|
+
"system.profile.nickNamePlaceholder": "Por favor ingresa tu apodo",
|
|
75
|
+
"system.profile.notLoggedIn": "No iniciado sesión",
|
|
76
|
+
"system.profile.phoneAuthorization": "Número de teléfono móvil autorizado de WeChat",
|
|
77
|
+
"system.profile.phoneAuthorizationSuccess": "Autorización exitosa",
|
|
78
|
+
"system.profile.photoLimit": "Sube fotos de menos de 1 millón",
|
|
79
|
+
"system.profile.saveSuccess": "Guardado exitosamente",
|
|
80
|
+
"system.profile.title": "Información personal",
|
|
81
|
+
"system.profile.updateSuccess": "Actualización exitosa",
|
|
82
|
+
"system.settings.aiDescription": "te ayuda a organizar información, responder preguntas y manejar tareas diarias",
|
|
83
|
+
"system.settings.aiTitle": "Asistente Inteligente",
|
|
84
|
+
"system.settings.authorization": "Gestión de autorizaciones",
|
|
85
|
+
"system.settings.contact": "Contáctenos",
|
|
86
|
+
"system.settings.feedback": "Comentarios sobre el problema",
|
|
87
|
+
"system.settings.goAsk": "Ir a hacer una pregunta",
|
|
88
|
+
"system.settings.logoutConfirm": "¿Cerrar sesión?",
|
|
89
|
+
"system.settings.logoutFailed": "No se pudo cerrar sesión",
|
|
90
|
+
"system.settings.title": "Configuración"
|
|
91
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"system.ai.action.copy": "Copie",
|
|
3
|
+
"system.ai.action.regenerate": "Régénérer",
|
|
4
|
+
"system.ai.attachment": "Pièce jointe",
|
|
5
|
+
"system.ai.attachmentAnswer": "Veuillez répondre à ma question en fonction de la pièce jointe.",
|
|
6
|
+
"system.ai.attachmentLimit": "Téléchargez jusqu'à {count} pièces jointes",
|
|
7
|
+
"system.ai.attachmentUploading": "La pièce jointe est en cours de téléchargement...",
|
|
8
|
+
"system.ai.chatTitle": "Assistant IA",
|
|
9
|
+
"system.ai.copySuccess": "Message copié",
|
|
10
|
+
"system.ai.currentSession": "Session en cours",
|
|
11
|
+
"system.ai.createSessionFailed": "Échec de la création de la session",
|
|
12
|
+
"system.ai.deleteMessageFailed": "Échec de la suppression du message",
|
|
13
|
+
"system.ai.deleteSession": "Supprimer la session",
|
|
14
|
+
"system.ai.deleteSessionConfirm": "Supprimer « {title} » ?",
|
|
15
|
+
"system.ai.deleteSessionFailed": "Échec de la suppression de la session",
|
|
16
|
+
"system.ai.efficiencyAssistant": "Assistant d'efficacité",
|
|
17
|
+
"system.ai.failedResponse": "La réponse n'a pas été renvoyée avec succès cette fois. Vous pouvez réessayer la question directement.",
|
|
18
|
+
"system.ai.generalAssistant": "Assistant universel",
|
|
19
|
+
"system.ai.greeting": "Bonjour, {period} Bonjour ! Y a-t-il quelque chose pour lequel vous avez besoin de mon aide aujourd'hui ?",
|
|
20
|
+
"system.ai.greetingHello": "Bonjour, l'assistant IA est à votre service !",
|
|
21
|
+
"system.ai.history": "Conversations historiques",
|
|
22
|
+
"system.ai.imageAttachment": "Chiffre",
|
|
23
|
+
"system.ai.imageName": "Image{index}",
|
|
24
|
+
"system.ai.loadMessages": "Chargement des messages...",
|
|
25
|
+
"system.ai.loadMessagesFailed": "Échec du chargement du message",
|
|
26
|
+
"system.ai.loadSessions": "Chargement de la session...",
|
|
27
|
+
"system.ai.loadSessionsFailed": "Échec du chargement de la session",
|
|
28
|
+
"system.ai.loadShortcutsFailed": "Échec du chargement de l'assistant de raccourci",
|
|
29
|
+
"system.ai.modelReply": "Réponse du modèle",
|
|
30
|
+
"system.ai.newSession": "Nouvelle session",
|
|
31
|
+
"system.ai.noMatchingSessions": "Aucune session correspondante",
|
|
32
|
+
"system.ai.noShortcuts": "Aucun assistant de raccourci disponible pour l'instant",
|
|
33
|
+
"system.ai.noSummary": "Pas encore de résumé",
|
|
34
|
+
"system.ai.period.afternoon": "Après-midi",
|
|
35
|
+
"system.ai.period.evening": "Soirée",
|
|
36
|
+
"system.ai.period.morning": "Matin",
|
|
37
|
+
"system.ai.period.noon": "Midi",
|
|
38
|
+
"system.ai.placeholder.continue": "Continuer à saisir des questions",
|
|
39
|
+
"system.ai.placeholder.default": "Entrez ce que vous voulez savoir",
|
|
40
|
+
"system.ai.prompt.idea": "Donnez-moi un peu d'inspiration",
|
|
41
|
+
"system.ai.prompt.ideaContent": "S'il vous plaît, donnez-moi de nouvelles idées autour de ce sujet",
|
|
42
|
+
"system.ai.prompt.optimize": "Aidez-moi à optimiser un morceau de texte",
|
|
43
|
+
"system.ai.prompt.optimizeContent": "S'il vous plaît, aidez-moi à optimiser le texte suivant",
|
|
44
|
+
"system.ai.prompt.plan": "Aide-moi à élaborer un plan",
|
|
45
|
+
"system.ai.prompt.planContent": "S'il vous plaît, aidez-moi à développer un plan d'exécution clair",
|
|
46
|
+
"system.ai.prompt.summary": "Aidez-moi à résumer un élément de contenu",
|
|
47
|
+
"system.ai.prompt.summaryContent": "S'il vous plaît, aidez-moi à résumer ce qui suit",
|
|
48
|
+
"system.ai.quickActions": "Fonctionnement rapide",
|
|
49
|
+
"system.ai.recording": "Écoute...",
|
|
50
|
+
"system.ai.recognizing": "Reconnaissance vocale",
|
|
51
|
+
"system.ai.refresh": "Changez-le",
|
|
52
|
+
"system.ai.regenerateFailed": "Échec de la régénération",
|
|
53
|
+
"system.ai.requestFailed": "La demande d'assistant IA a échoué",
|
|
54
|
+
"system.ai.requestFailedWithStatus": "La demande d'assistant IA a échoué ({status})",
|
|
55
|
+
"system.ai.responseEmpty": "La réponse de l'assistant IA est vide",
|
|
56
|
+
"system.ai.responseIncomplete": "La réponse de streaming de l'assistant IA n'est pas renvoyée complètement",
|
|
57
|
+
"system.ai.searchSession": "Session de recherche",
|
|
58
|
+
"system.ai.shortcutQuestion": "Vous pouvez demander comme ceci",
|
|
59
|
+
"system.ai.speechStopped": "La saisie vocale s'est arrêtée",
|
|
60
|
+
"system.ai.streamEmpty": "La réponse de streaming de l'assistant IA est vide",
|
|
61
|
+
"system.ai.streamUnsupported": "L'extrémité actuelle ne prend pas en charge les réponses en streaming",
|
|
62
|
+
"system.ai.textAssistant": "Assistant de texte",
|
|
63
|
+
"system.ai.thinking": "répond",
|
|
64
|
+
"system.ai.toolCalled": "Appelé : {tools}",
|
|
65
|
+
"system.ai.uploadFailed": "Échec du téléchargement de la pièce jointe",
|
|
66
|
+
"system.profile.account": "Compte",
|
|
67
|
+
"system.profile.avatarChange": "Cliquez pour modifier l'avatar",
|
|
68
|
+
"system.profile.avatarUploadFailed": "Échec du téléchargement de l'avatar",
|
|
69
|
+
"system.profile.avatarUpdate": "Mettre à jour le pseudo de l'avatar",
|
|
70
|
+
"system.profile.gender": "Sexe",
|
|
71
|
+
"system.profile.loginPrompt": "Cliquez pour vous connecter à votre compte",
|
|
72
|
+
"system.profile.mobile": "Numéro de portable",
|
|
73
|
+
"system.profile.nickName": "Pseudo",
|
|
74
|
+
"system.profile.nickNamePlaceholder": "Veuillez renseigner votre pseudo",
|
|
75
|
+
"system.profile.notLoggedIn": "Non connecté",
|
|
76
|
+
"system.profile.phoneAuthorization": "Numéro de téléphone mobile autorisé par WeChat",
|
|
77
|
+
"system.profile.phoneAuthorizationSuccess": "Autorisation réussie",
|
|
78
|
+
"system.profile.photoLimit": "Veuillez télécharger des photos inférieures à 1 M",
|
|
79
|
+
"system.profile.saveSuccess": "Enregistré avec succès",
|
|
80
|
+
"system.profile.title": "Informations personnelles",
|
|
81
|
+
"system.profile.updateSuccess": "Mise à jour réussie",
|
|
82
|
+
"system.settings.aiDescription": "vous aide à organiser les informations, à répondre aux questions et à gérer les tâches quotidiennes",
|
|
83
|
+
"system.settings.aiTitle": "Assistant intelligent",
|
|
84
|
+
"system.settings.authorization": "Gestion des autorisations",
|
|
85
|
+
"system.settings.contact": "Contactez-nous",
|
|
86
|
+
"system.settings.feedback": "Commentaires sur le problème",
|
|
87
|
+
"system.settings.goAsk": "Allez poser une question",
|
|
88
|
+
"system.settings.logoutConfirm": "Se déconnecter ?",
|
|
89
|
+
"system.settings.logoutFailed": "Échec de la déconnexion",
|
|
90
|
+
"system.settings.title": "Paramètres"
|
|
91
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"system.ai.action.copy": "コピー",
|
|
3
|
+
"system.ai.action.regenerate": "再生成",
|
|
4
|
+
"system.ai.attachment": "添付ファイル",
|
|
5
|
+
"system.ai.attachmentAnswer": "添付内容をもとに質問に回答してください",
|
|
6
|
+
"system.ai.attachmentLimit": "添付ファイルは最大 {count} 件です",
|
|
7
|
+
"system.ai.attachmentUploading": "添付ファイルをアップロード中...",
|
|
8
|
+
"system.ai.chatTitle": "AI アシスタント",
|
|
9
|
+
"system.ai.copySuccess": "メッセージをコピーしました",
|
|
10
|
+
"system.ai.currentSession": "現在のセッション",
|
|
11
|
+
"system.ai.createSessionFailed": "セッションを作成できませんでした",
|
|
12
|
+
"system.ai.deleteMessageFailed": "メッセージを削除できませんでした",
|
|
13
|
+
"system.ai.deleteSession": "セッションを削除",
|
|
14
|
+
"system.ai.deleteSessionConfirm": "「{title}」を削除しますか?",
|
|
15
|
+
"system.ai.deleteSessionFailed": "セッションを削除できませんでした",
|
|
16
|
+
"system.ai.efficiencyAssistant": "効率化アシスタント",
|
|
17
|
+
"system.ai.failedResponse": "回答が正常に完了しませんでした。直前の質問を再試行できます。",
|
|
18
|
+
"system.ai.generalAssistant": "汎用アシスタント",
|
|
19
|
+
"system.ai.greeting": "{period}、こんにちは。今日は何をお手伝いしましょうか?",
|
|
20
|
+
"system.ai.greetingHello": "こんにちは。AI アシスタントがお手伝いします。",
|
|
21
|
+
"system.ai.history": "会話履歴",
|
|
22
|
+
"system.ai.imageAttachment": "画像",
|
|
23
|
+
"system.ai.imageName": "画像{index}",
|
|
24
|
+
"system.ai.loadMessages": "メッセージを読み込み中...",
|
|
25
|
+
"system.ai.loadMessagesFailed": "メッセージを読み込めませんでした",
|
|
26
|
+
"system.ai.loadSessions": "セッションを読み込み中...",
|
|
27
|
+
"system.ai.loadSessionsFailed": "セッションを読み込めませんでした",
|
|
28
|
+
"system.ai.loadShortcutsFailed": "ショートカットを読み込めませんでした",
|
|
29
|
+
"system.ai.modelReply": "モデルの回答",
|
|
30
|
+
"system.ai.newSession": "新しいセッション",
|
|
31
|
+
"system.ai.noMatchingSessions": "一致するセッションはありません",
|
|
32
|
+
"system.ai.noShortcuts": "利用できるショートカットはありません",
|
|
33
|
+
"system.ai.noSummary": "要約なし",
|
|
34
|
+
"system.ai.period.afternoon": "午後",
|
|
35
|
+
"system.ai.period.evening": "こんばんは",
|
|
36
|
+
"system.ai.period.morning": "おはようございます",
|
|
37
|
+
"system.ai.period.noon": "こんにちは",
|
|
38
|
+
"system.ai.placeholder.continue": "質問を続ける",
|
|
39
|
+
"system.ai.placeholder.default": "知りたいことを入力してください",
|
|
40
|
+
"system.ai.prompt.idea": "アイデアを出して",
|
|
41
|
+
"system.ai.prompt.ideaContent": "このテーマについて新しいアイデアを提案してください",
|
|
42
|
+
"system.ai.prompt.optimize": "文章を改善して",
|
|
43
|
+
"system.ai.prompt.optimizeContent": "次の文章を改善してください",
|
|
44
|
+
"system.ai.prompt.plan": "計画を作成して",
|
|
45
|
+
"system.ai.prompt.planContent": "明確な実行計画を作成してください",
|
|
46
|
+
"system.ai.prompt.summary": "内容を要約して",
|
|
47
|
+
"system.ai.prompt.summaryContent": "次の内容を要約してください",
|
|
48
|
+
"system.ai.quickActions": "クイック操作",
|
|
49
|
+
"system.ai.recording": "聞き取り中...",
|
|
50
|
+
"system.ai.recognizing": "音声を認識中",
|
|
51
|
+
"system.ai.refresh": "入れ替え",
|
|
52
|
+
"system.ai.regenerateFailed": "再生成できませんでした",
|
|
53
|
+
"system.ai.requestFailed": "AI アシスタントへのリクエストに失敗しました",
|
|
54
|
+
"system.ai.requestFailedWithStatus": "AI アシスタントへのリクエストに失敗しました({status})",
|
|
55
|
+
"system.ai.responseEmpty": "AI アシスタントの回答が空です",
|
|
56
|
+
"system.ai.responseIncomplete": "AI のストリーミング回答が完了しませんでした",
|
|
57
|
+
"system.ai.searchSession": "セッションを検索",
|
|
58
|
+
"system.ai.shortcutQuestion": "こんな質問ができます",
|
|
59
|
+
"system.ai.speechStopped": "音声入力を停止しました",
|
|
60
|
+
"system.ai.streamEmpty": "AI のストリーミング回答が空です",
|
|
61
|
+
"system.ai.streamUnsupported": "この環境ではストリーミング回答を利用できません",
|
|
62
|
+
"system.ai.textAssistant": "文章アシスタント",
|
|
63
|
+
"system.ai.thinking": "回答中",
|
|
64
|
+
"system.ai.toolCalled": "使用ツール:{tools}",
|
|
65
|
+
"system.ai.uploadFailed": "添付ファイルをアップロードできませんでした",
|
|
66
|
+
"system.profile.account": "アカウント",
|
|
67
|
+
"system.profile.avatarChange": "タップしてアバターを変更",
|
|
68
|
+
"system.profile.avatarUploadFailed": "アバターをアップロードできませんでした",
|
|
69
|
+
"system.profile.avatarUpdate": "アバターとニックネームを更新",
|
|
70
|
+
"system.profile.gender": "性別",
|
|
71
|
+
"system.profile.loginPrompt": "タップしてログイン",
|
|
72
|
+
"system.profile.mobile": "携帯番号",
|
|
73
|
+
"system.profile.nickName": "ニックネーム",
|
|
74
|
+
"system.profile.nickNamePlaceholder": "ニックネームを入力してください",
|
|
75
|
+
"system.profile.notLoggedIn": "未ログイン",
|
|
76
|
+
"system.profile.phoneAuthorization": "WeChat で携帯番号を認証",
|
|
77
|
+
"system.profile.phoneAuthorizationSuccess": "認証しました",
|
|
78
|
+
"system.profile.photoLimit": "1 MB 未満の画像をアップロードしてください",
|
|
79
|
+
"system.profile.saveSuccess": "保存しました",
|
|
80
|
+
"system.profile.title": "プロフィール",
|
|
81
|
+
"system.profile.updateSuccess": "更新しました",
|
|
82
|
+
"system.settings.aiDescription": "情報整理、質問への回答、日常タスクを支援します",
|
|
83
|
+
"system.settings.aiTitle": "AI アシスタント",
|
|
84
|
+
"system.settings.authorization": "権限管理",
|
|
85
|
+
"system.settings.contact": "お問い合わせ",
|
|
86
|
+
"system.settings.feedback": "フィードバック",
|
|
87
|
+
"system.settings.goAsk": "質問する",
|
|
88
|
+
"system.settings.logoutConfirm": "ログアウトしますか?",
|
|
89
|
+
"system.settings.logoutFailed": "ログアウトできませんでした",
|
|
90
|
+
"system.settings.title": "設定"
|
|
91
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
{
|
|
2
|
+
"system.ai.action.copy": "복사",
|
|
3
|
+
"system.ai.action.regenerate": "재생성",
|
|
4
|
+
"system.ai.attachment": "첨부파일",
|
|
5
|
+
"system.ai.attachmentAnswer": "첨부파일을 토대로 제 질문에 답변 부탁드립니다.",
|
|
6
|
+
"system.ai.attachmentLimit": "최대 {count} 첨부 파일 업로드",
|
|
7
|
+
"system.ai.attachmentUploading": "첨부파일을 업로드하는 중입니다...",
|
|
8
|
+
"system.ai.chatTitle": "AI 도우미",
|
|
9
|
+
"system.ai.copySuccess": "메시지가 복사되었습니다.",
|
|
10
|
+
"system.ai.currentSession": "현재 세션",
|
|
11
|
+
"system.ai.createSessionFailed": "세션을 생성하지 못했습니다.",
|
|
12
|
+
"system.ai.deleteMessageFailed": "메시지 삭제 실패",
|
|
13
|
+
"system.ai.deleteSession": "세션 삭제",
|
|
14
|
+
"system.ai.deleteSessionConfirm": "\"{title}\"을 삭제하시겠습니까?",
|
|
15
|
+
"system.ai.deleteSessionFailed": "세션 삭제에 실패했습니다.",
|
|
16
|
+
"system.ai.efficiencyAssistant": "효율성 보조원",
|
|
17
|
+
"system.ai.failedResponse": "이번에는 응답이 성공적으로 반환되지 않았습니다. 질문을 직접 다시 시도할 수 있습니다.",
|
|
18
|
+
"system.ai.generalAssistant": "유니버설 어시스턴트",
|
|
19
|
+
"system.ai.greeting": "안녕하세요, {period} 안녕하세요! 오늘 내 도움이 필요한 일이라도 있나요?",
|
|
20
|
+
"system.ai.greetingHello": "안녕하세요, AI 비서가 여러분을 기다리고 있습니다!",
|
|
21
|
+
"system.ai.history": "역사적 대화",
|
|
22
|
+
"system.ai.imageAttachment": "그림",
|
|
23
|
+
"system.ai.imageName": "사진{index}",
|
|
24
|
+
"system.ai.loadMessages": "메시지 로드 중...",
|
|
25
|
+
"system.ai.loadMessagesFailed": "메시지를 로드하지 못했습니다.",
|
|
26
|
+
"system.ai.loadSessions": "세션 로드 중...",
|
|
27
|
+
"system.ai.loadSessionsFailed": "세션을 로드하지 못했습니다.",
|
|
28
|
+
"system.ai.loadShortcutsFailed": "바로가기 도우미를 로드하지 못했습니다.",
|
|
29
|
+
"system.ai.modelReply": "모델 답변",
|
|
30
|
+
"system.ai.newSession": "새 세션",
|
|
31
|
+
"system.ai.noMatchingSessions": "일치하는 세션이 없습니다.",
|
|
32
|
+
"system.ai.noShortcuts": "아직 바로가기 도우미를 사용할 수 없습니다.",
|
|
33
|
+
"system.ai.noSummary": "아직 요약이 없습니다.",
|
|
34
|
+
"system.ai.period.afternoon": "오후",
|
|
35
|
+
"system.ai.period.evening": "저녁",
|
|
36
|
+
"system.ai.period.morning": "아침",
|
|
37
|
+
"system.ai.period.noon": "정오",
|
|
38
|
+
"system.ai.placeholder.continue": "계속해서 질문을 입력하세요",
|
|
39
|
+
"system.ai.placeholder.default": "알고 싶은 내용을 입력하세요",
|
|
40
|
+
"system.ai.prompt.idea": "나에게 영감을 주세요",
|
|
41
|
+
"system.ai.prompt.ideaContent": "이 주제에 대한 새로운 아이디어를 제공해 주세요.",
|
|
42
|
+
"system.ai.prompt.optimize": "텍스트 최적화를 도와주세요",
|
|
43
|
+
"system.ai.prompt.optimizeContent": "다음 텍스트를 최적화하는 데 도움을 주세요.",
|
|
44
|
+
"system.ai.prompt.plan": "계획 세우는 데 도움을 주세요",
|
|
45
|
+
"system.ai.prompt.planContent": "명확한 실행 계획을 수립할 수 있도록 도와주세요.",
|
|
46
|
+
"system.ai.prompt.summary": "콘텐츠 요약을 도와주세요.",
|
|
47
|
+
"system.ai.prompt.summaryContent": "다음 내용을 요약하는 데 도움을 주세요.",
|
|
48
|
+
"system.ai.quickActions": "빠른 작업",
|
|
49
|
+
"system.ai.recording": "듣는 중...",
|
|
50
|
+
"system.ai.recognizing": "음성 인식 중",
|
|
51
|
+
"system.ai.refresh": "변경하세요",
|
|
52
|
+
"system.ai.regenerateFailed": "재생성 실패",
|
|
53
|
+
"system.ai.requestFailed": "AI 도우미 요청이 실패했습니다.",
|
|
54
|
+
"system.ai.requestFailedWithStatus": "AI 도우미 요청 실패({status})",
|
|
55
|
+
"system.ai.responseEmpty": "AI 보조 응답이 비어 있습니다.",
|
|
56
|
+
"system.ai.responseIncomplete": "AI 보조 스트리밍 응답이 완전히 반환되지 않습니다.",
|
|
57
|
+
"system.ai.searchSession": "검색 세션",
|
|
58
|
+
"system.ai.shortcutQuestion": "이렇게 물어보시면 됩니다",
|
|
59
|
+
"system.ai.speechStopped": "음성 입력이 중지되었습니다.",
|
|
60
|
+
"system.ai.streamEmpty": "AI 보조 스트리밍 응답이 비어 있습니다.",
|
|
61
|
+
"system.ai.streamUnsupported": "현재 끝은 스트리밍 응답을 지원하지 않습니다.",
|
|
62
|
+
"system.ai.textAssistant": "텍스트 도우미",
|
|
63
|
+
"system.ai.thinking": "님이 응답 중입니다.",
|
|
64
|
+
"system.ai.toolCalled": "호출: {tools}",
|
|
65
|
+
"system.ai.uploadFailed": "첨부파일 업로드 실패",
|
|
66
|
+
"system.profile.account": "계정",
|
|
67
|
+
"system.profile.avatarChange": "아바타를 수정하려면 클릭하세요.",
|
|
68
|
+
"system.profile.avatarUploadFailed": "아바타 업로드 실패",
|
|
69
|
+
"system.profile.avatarUpdate": "아바타 닉네임 업데이트",
|
|
70
|
+
"system.profile.gender": "성별",
|
|
71
|
+
"system.profile.loginPrompt": "계정에 로그인하려면 클릭하세요.",
|
|
72
|
+
"system.profile.mobile": "휴대폰 번호",
|
|
73
|
+
"system.profile.nickName": "닉네임",
|
|
74
|
+
"system.profile.nickNamePlaceholder": "닉네임을 입력해주세요",
|
|
75
|
+
"system.profile.notLoggedIn": "로그인되지 않았습니다.",
|
|
76
|
+
"system.profile.phoneAuthorization": "WeChat 승인 휴대폰 번호",
|
|
77
|
+
"system.profile.phoneAuthorizationSuccess": "승인 성공",
|
|
78
|
+
"system.profile.photoLimit": "1M 미만의 사진을 업로드해주세요.",
|
|
79
|
+
"system.profile.saveSuccess": "성공적으로 저장되었습니다.",
|
|
80
|
+
"system.profile.title": "개인정보",
|
|
81
|
+
"system.profile.updateSuccess": "업데이트 성공",
|
|
82
|
+
"system.settings.aiDescription": "은 정보를 정리하고, 질문에 답하고, 일상적인 작업을 처리하는 데 도움이 됩니다.",
|
|
83
|
+
"system.settings.aiTitle": "지능형 비서",
|
|
84
|
+
"system.settings.authorization": "권한 관리",
|
|
85
|
+
"system.settings.contact": "문의하기",
|
|
86
|
+
"system.settings.feedback": "문제 피드백",
|
|
87
|
+
"system.settings.goAsk": "가서 질문하세요",
|
|
88
|
+
"system.settings.logoutConfirm": "로그아웃하시겠습니까?",
|
|
89
|
+
"system.settings.logoutFailed": "로그아웃에 실패했습니다.",
|
|
90
|
+
"system.settings.title": "설정"
|
|
91
|
+
}
|