Skip to content

Commit 111bb8b

Browse files
ochanismlyingbug
authored andcommitted
fix(i18n): fix vue-i18n placeholder escaping, computed ref accessor, and missing ru-RU keys
- Escape literal {{ and }} in locale strings using vue-i18n's {'{{'} syntax to prevent "Not allowed nest placeholder" compilation errors (ko-KR: 10, en-US: 10, ru-RU: 2, zh-CN: 1) - Add missing .value accessor on allTools computed ref in AgentEditorModal, fixing "allTools.map is not a function" error - Add missing menu.agents and menu.organizations keys to ru-RU locale All issues are follow-ups from #724 (frontend i18n).
1 parent edcf711 commit 111bb8b

File tree

5 files changed

+27
-25
lines changed

5 files changed

+27
-25
lines changed

frontend/src/i18n/locales/en-US.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -385,12 +385,12 @@ export default {
385385
systemPromptRequired: 'System prompt is required',
386386
modelRequired: 'Please select a model',
387387
rerankModelRequired: 'ReRank model is required when using knowledge bases',
388-
contextsMissing: 'Context template must contain {{contexts}} placeholder when knowledge base is enabled',
389-
queryMissingInContext: 'Context template must contain {{query}} placeholder',
390-
knowledgeBasesMissing: 'It is recommended to include {{knowledge_bases}} placeholder in system prompt so the model knows available knowledge bases',
391-
queryMissingInRewrite: 'Rewrite user prompt must contain {{query}} placeholder',
392-
conversationMissing: 'Rewrite user prompt must contain {{conversation}} placeholder',
393-
queryMissingInFallback: 'Fallback prompt must contain {{query}} placeholder',
388+
contextsMissing: "Context template must contain {'{{'}contexts{'}}'} placeholder when knowledge base is enabled",
389+
queryMissingInContext: "Context template must contain {'{{'}query{'}}'} placeholder",
390+
knowledgeBasesMissing: "It is recommended to include {'{{'}knowledge_bases{'}}'} placeholder in system prompt so the model knows available knowledge bases",
391+
queryMissingInRewrite: "Rewrite user prompt must contain {'{{'}query{'}}'} placeholder",
392+
conversationMissing: "Rewrite user prompt must contain {'{{'}conversation{'}}'} placeholder",
393+
queryMissingInFallback: "Fallback prompt must contain {'{{'}query{'}}'} placeholder",
394394
avatar: 'Avatar',
395395
avatarPlaceholder: 'Enter Emoji or select',
396396
description: 'Description',
@@ -401,12 +401,12 @@ export default {
401401
model: 'Model',
402402
modelPlaceholder: 'Select Model',
403403
systemPrompt: 'System Prompt',
404-
systemPromptPlaceholder: 'Custom system prompt to define agent behavior and role (use {{web_search_status}} placeholder for dynamic web search behavior)',
404+
systemPromptPlaceholder: "Custom system prompt to define agent behavior and role (use {'{{'}web_search_status{'}}'} placeholder for dynamic web search behavior)",
405405
defaultPromptHint: 'Leave empty to use the following default system prompt:',
406406
defaultContextTemplateHint: 'Leave empty to use the following default context template:',
407407
contextTemplateRequired: 'Context template is required',
408408
availablePlaceholders: 'Available Placeholders',
409-
placeholderHint: 'Type {{ to trigger autocomplete',
409+
placeholderHint: "Type {'{{'} to trigger autocomplete",
410410
temperature: 'Temperature',
411411
thinking: 'Thinking Mode',
412412
welcomeMessage: 'Welcome Message',
@@ -2176,8 +2176,8 @@ export default {
21762176
custom: 'Custom Prompt',
21772177
disabledHint: 'Currently using the default prompt. Enable custom to apply the content below.',
21782178
placeholder: 'Enter the system prompt, or leave blank to use the default...',
2179-
tabHint: 'Unified system prompt using {{web_search_status}} placeholder for dynamic web search behavior',
2180-
tabHintDetail: 'Unified system prompt (leave empty for system default, use {{web_search_status}} placeholder to dynamically control web search behavior)',
2179+
tabHint: "Unified system prompt using {'{{'}web_search_status{'}}'} placeholder for dynamic web search behavior",
2180+
tabHintDetail: "Unified system prompt (leave empty for system default, use {'{{'}web_search_status{'}}'} placeholder to dynamically control web search behavior)",
21812181
},
21822182
reset: {
21832183
header: 'Reset to Default Prompt',
@@ -3063,7 +3063,7 @@ export default {
30633063
placeholders: {
30643064
available: 'Available variables: ',
30653065
clickToInsert: '(click to insert)',
3066-
hint: '(click to insert, or type {{ to show list)',
3066+
hint: "(click to insert, or type {'{{'} to show list)",
30673067
},
30683068
selection: {
30693069
all: 'All',

frontend/src/i18n/locales/ko-KR.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,15 +1033,15 @@ export default {
10331033
modelRequired: "모델을 선택하세요.",
10341034
rerankModelRequired: "지식베이스를 사용할 때 ReRank 모델을 선택하세요",
10351035
contextsMissing:
1036-
"지식베이스를 사용할 때 컨텍스트 템플릿에는 {{contexts}} 플레이스홀더가 포함되어야 합니다.",
1037-
queryMissingInContext: "컨텍스트 템플릿에는 {{query}} 플레이스홀더가 포함되어야 합니다.",
1036+
"지식베이스를 사용할 때 컨텍스트 템플릿에는 {'{{'}contexts{'}}'} 플레이스홀더가 포함되어야 합니다.",
1037+
queryMissingInContext: "컨텍스트 템플릿에는 {'{{'}query{'}}'} 플레이스홀더가 포함되어야 합니다.",
10381038
knowledgeBasesMissing:
1039-
"모델이 사용 가능한 지식베이스를 알 수 있도록 시스템 프롬프트에 {{knowledge_bases}} 플레이스홀더를 포함하는 것을 권장합니다.",
1039+
"모델이 사용 가능한 지식베이스를 알 수 있도록 시스템 프롬프트에 {'{{'}knowledge_bases{'}}'} 플레이스홀더를 포함하는 것을 권장합니다.",
10401040
queryMissingInRewrite:
1041-
"재작성 사용자 프롬프트에는 {{query}} 플레이스홀더가 포함되어야 합니다.",
1041+
"재작성 사용자 프롬프트에는 {'{{'}query{'}}'} 플레이스홀더가 포함되어야 합니다.",
10421042
conversationMissing:
1043-
"재작성 사용자 프롬프트에는 {{conversation}} 플레이스홀더가 포함되어야 합니다.",
1044-
queryMissingInFallback: "폴백 프롬프트에는 {{query}} 플레이스홀더가 포함되어야 합니다.",
1043+
"재작성 사용자 프롬프트에는 {'{{'}conversation{'}}'} 플레이스홀더가 포함되어야 합니다.",
1044+
queryMissingInFallback: "폴백 프롬프트에는 {'{{'}query{'}}'} 플레이스홀더가 포함되어야 합니다.",
10451045
avatar: "아바타",
10461046
avatarPlaceholder: "이모티콘을 입력하거나 클릭하여 선택하세요.",
10471047
description: "설명",
@@ -1053,12 +1053,12 @@ export default {
10531053
modelPlaceholder: "모델을 선택하세요.",
10541054
systemPrompt: "시스템 프롬프트",
10551055
systemPromptPlaceholder:
1056-
"에이전트의 동작과 역할을 정의하는 사용자 지정 시스템 프롬프트(웹 검색 동작을 동적으로 제어하려면 {{web_search_status}} 플레이스홀더 사용)",
1056+
"에이전트의 동작과 역할을 정의하는 사용자 지정 시스템 프롬프트(웹 검색 동작을 동적으로 제어하려면 {'{{'}web_search_status{'}}'} 플레이스홀더 사용)",
10571057
defaultPromptHint: "다음 시스템 기본 프롬프트를 사용하려면 비워 두세요.",
10581058
defaultContextTemplateHint: "다음 시스템 기본 컨텍스트 템플릿을 사용하려면 비워 두세요.",
10591059
contextTemplateRequired: "컨텍스트 템플릿을 입력하십시오.",
10601060
availablePlaceholders: "사용 가능한 플레이스홀더",
1061-
placeholderHint: "{{ 입력 시 자동완성",
1061+
placeholderHint: "{'{{'} 입력 시 자동완성",
10621062
temperature: "온도",
10631063
thinking: "사고 모델",
10641064
welcomeMessage: "환영 메시지",
@@ -2222,7 +2222,7 @@ export default {
22222222
disabledHint:
22232223
"현재 시스템 기본 Prompt를 사용 중입니다. 사용자 정의를 활성화한 후에 아래 내용이 적용됩니다.",
22242224
placeholder: "시스템 Prompt를 입력하거나 비워두면 기본 Prompt가 사용됩니다...",
2225-
tabHintDetail: "통합 시스템 프롬프트 (비워두면 시스템 기본값 사용, {{web_search_status}} 자리 표시자로 웹 검색 동작을 동적 제어)",
2225+
tabHintDetail: "통합 시스템 프롬프트 (비워두면 시스템 기본값 사용, {'{{'}web_search_status{'}}'} 자리 표시자로 웹 검색 동작을 동적 제어)",
22262226
tabHint: "웹 검색 활성화 여부에 따라 시스템 Prompt를 개별적으로 설정합니다.",
22272227
tabWebOn: "웹 검색 활성화됨",
22282228
tabWebOff: "웹 검색 비활성화됨",
@@ -3134,7 +3134,7 @@ export default {
31343134
placeholders: {
31353135
available: '사용 가능한 변수: ',
31363136
clickToInsert: '(클릭하여 삽입)',
3137-
hint: '(클릭하여 삽입, 또는 {{ 입력으로 목록 표시)',
3137+
hint: "(클릭하여 삽입, 또는 {'{{'} 입력으로 목록 표시)",
31383138
},
31393139
selection: {
31403140
all: '전체',

frontend/src/i18n/locales/ru-RU.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ export default {
1616
collapseSidebar: 'Свернуть боковую панель',
1717
expandSidebar: 'Развернуть боковую панель',
1818
logoutSuccess: 'Вы вышли из системы',
19+
agents: 'Агенты',
20+
organizations: 'Общие пространства',
1921
},
2022
batchManage: {
2123
title: 'Управление диалогами',
@@ -1680,7 +1682,7 @@ export default {
16801682
custom: 'Пользовательский промпт',
16811683
disabledHint: 'Сейчас используется промпт по умолчанию. Включите пользовательский, чтобы применить содержимое ниже.',
16821684
placeholder: 'Введите системный промпт или оставьте пустым для значения по умолчанию...',
1683-
tabHintDetail: 'Единый системный промпт (оставьте пустым для значения по умолчанию, используйте {{web_search_status}} для динамического управления веб-поиском)',
1685+
tabHintDetail: "Единый системный промпт (оставьте пустым для значения по умолчанию, используйте {'{{'}web_search_status{'}}'} для динамического управления веб-поиском)",
16841686
tabHint: 'Настройте разные промпты для режимов с включённым и отключённым веб-поиском.',
16851687
tabWebOn: 'Веб-поиск включён',
16861688
tabWebOff: 'Веб-поиск отключён'
@@ -2215,7 +2217,7 @@ export default {
22152217
placeholders: {
22162218
available: 'Доступные переменные: ',
22172219
clickToInsert: '(нажмите для вставки)',
2218-
hint: '(нажмите для вставки или введите {{ для списка)',
2220+
hint: "(нажмите для вставки или введите {'{{'} для списка)",
22192221
},
22202222
selection: {
22212223
all: 'Все',

frontend/src/i18n/locales/zh-CN.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3067,7 +3067,7 @@ export default {
30673067
placeholders: {
30683068
available: "可用变量:",
30693069
clickToInsert: "(点击插入)",
3070-
hint: "(点击插入,或输入 {{ 唤起列表)",
3070+
hint: "(点击插入,或输入 {'{{'} 唤起列表)",
30713071
},
30723072
selection: {
30733073
all: "全部",

frontend/src/views/agent/AgentEditorModal.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1168,7 +1168,7 @@ const hasFaqKnowledgeBase = computed(() => {
11681168
});
11691169
11701170
const availableTools = computed(() => {
1171-
return allTools.map(tool => ({
1171+
return allTools.value.map(tool => ({
11721172
...tool,
11731173
disabled: tool.requiresKB && !hasKnowledgeBase.value
11741174
}));

0 commit comments

Comments
 (0)