Skip to content

Commit fe0a685

Browse files
authored
Merge pull request #2674 from xinnan-tech/web-context-i18n
update:上下文源功能的国际化
2 parents 401deff + bfa0474 commit fe0a685

File tree

7 files changed

+115
-15
lines changed

7 files changed

+115
-15
lines changed

main/manager-web/src/components/ContextProviderDialog.vue

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
<el-dialog
33
:visible.sync="dialogVisible"
44
width="900px"
5-
title="编辑源"
5+
:title="$t('contextProviderDialog.title')"
66
:close-on-click-modal="false"
77
custom-class="context-provider-dialog"
88
append-to-body
99
>
1010
<div class="dialog-content">
11-
<el-empty v-if="localProviders.length === 0" description="暂无上下文API">
12-
<el-button type="primary" icon="el-icon-plus" @click="addProvider(0)">添加</el-button>
11+
<el-empty v-if="localProviders.length === 0" :description="$t('contextProviderDialog.noContextApi')">
12+
<el-button type="primary" icon="el-icon-plus" @click="addProvider(0)">{{ $t('contextProviderDialog.add') }}</el-button>
1313
</el-empty>
1414

1515
<div
@@ -20,18 +20,18 @@
2020
<el-card class="provider-card" shadow="hover" :body-style="{ padding: '15px 20px' }">
2121
<!-- URL Row -->
2222
<div class="input-row">
23-
<span class="label-text">接口地址</span>
23+
<span class="label-text">{{ $t('contextProviderDialog.apiUrl') }}</span>
2424
<el-input
2525
v-model="provider.url"
26-
placeholder="http://api.example.com/data"
26+
:placeholder="$t('contextProviderDialog.apiUrlPlaceholder')"
2727
size="small"
2828
class="flex-1"
2929
></el-input>
3030
</div>
3131

3232
<!-- Headers Section -->
3333
<div class="headers-section">
34-
<div class="label-text" style="margin-top: 6px;">请求头</div>
34+
<div class="label-text" style="margin-top: 6px;">{{ $t('contextProviderDialog.requestHeaders') }}</div>
3535
<div class="headers-list">
3636
<div
3737
v-for="(header, hIndex) in provider.headers"
@@ -40,14 +40,14 @@
4040
>
4141
<el-input
4242
v-model="header.key"
43-
placeholder="Key"
43+
:placeholder="$t('contextProviderDialog.headerKeyPlaceholder')"
4444
size="small"
4545
style="width: 180px;"
4646
></el-input>
4747
<span class="separator">:</span>
4848
<el-input
4949
v-model="header.value"
50-
placeholder="Value"
50+
:placeholder="$t('contextProviderDialog.headerValuePlaceholder')"
5151
size="small"
5252
class="flex-1"
5353
></el-input>
@@ -73,13 +73,13 @@
7373
</div>
7474
<!-- Empty Headers State -->
7575
<div v-if="provider.headers.length === 0" class="header-row empty-header">
76-
<span class="no-header-text">暂无 Headers</span>
76+
<span class="no-header-text">{{ $t('contextProviderDialog.noHeaders') }}</span>
7777
<el-button
7878
type="text"
7979
icon="el-icon-plus"
8080
size="mini"
8181
@click="addHeader(pIndex, 0)"
82-
>添加 Header</el-button>
82+
>{{ $t('contextProviderDialog.addHeader') }}</el-button>
8383
</div>
8484
</div>
8585
</div>
@@ -106,8 +106,8 @@
106106
</div>
107107

108108
<span slot="footer" class="dialog-footer">
109-
<el-button @click="dialogVisible = false">取消</el-button>
110-
<el-button type="primary" @click="handleConfirm">确定</el-button>
109+
<el-button @click="dialogVisible = false">{{ $t('contextProviderDialog.cancel') }}</el-button>
110+
<el-button type="primary" @click="handleConfirm">{{ $t('contextProviderDialog.confirm') }}</el-button>
111111
</span>
112112
</el-dialog>
113113
</template>

main/manager-web/src/i18n/de.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,26 @@ export default {
230230
'voicePrintDialog.requiredName': 'Bitte Namen eingeben',
231231
'voicePrintDialog.requiredAudioVector': 'Bitte Audio-Vektor auswählen',
232232

233+
// Context provider dialog related
234+
'contextProviderDialog.title': 'Quelle bearbeiten',
235+
'contextProviderDialog.noContextApi': 'Keine Kontext-API',
236+
'contextProviderDialog.add': 'Hinzufügen',
237+
'contextProviderDialog.apiUrl': 'API-URL',
238+
'contextProviderDialog.apiUrlPlaceholder': 'http://api.example.com/data',
239+
'contextProviderDialog.requestHeaders': 'Anfrage-Header',
240+
'contextProviderDialog.headerKeyPlaceholder': 'Schlüssel',
241+
'contextProviderDialog.headerValuePlaceholder': 'Wert',
242+
'contextProviderDialog.noHeaders': 'Keine Headers',
243+
'contextProviderDialog.addHeader': 'Header hinzufügen',
244+
'contextProviderDialog.cancel': 'Abbrechen',
245+
'contextProviderDialog.confirm': 'Bestätigen',
246+
247+
// Role config page - context provider related
248+
'roleConfig.contextProvider': 'Kontext',
249+
'roleConfig.contextProviderSuccess': '{count} Quellen erfolgreich hinzugefügt.',
250+
'roleConfig.contextProviderDocLink': 'Wie man Kontextquellen bereitstellt',
251+
'roleConfig.editContextProvider': 'Quelle bearbeiten',
252+
233253
// Voice print page related
234254
'voicePrint.pageTitle': 'Stimmabdruck-Erkennung',
235255
'voicePrint.name': 'Name',

main/manager-web/src/i18n/en.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,26 @@ export default {
230230
'voicePrintDialog.requiredName': 'Please enter name',
231231
'voicePrintDialog.requiredAudioVector': 'Please select audio vector',
232232

233+
// Context provider dialog related
234+
'contextProviderDialog.title': 'Edit Source',
235+
'contextProviderDialog.noContextApi': 'No Context API',
236+
'contextProviderDialog.add': 'Add',
237+
'contextProviderDialog.apiUrl': 'API URL',
238+
'contextProviderDialog.apiUrlPlaceholder': 'http://api.example.com/data',
239+
'contextProviderDialog.requestHeaders': 'Request Headers',
240+
'contextProviderDialog.headerKeyPlaceholder': 'Key',
241+
'contextProviderDialog.headerValuePlaceholder': 'Value',
242+
'contextProviderDialog.noHeaders': 'No Headers',
243+
'contextProviderDialog.addHeader': 'Add Header',
244+
'contextProviderDialog.cancel': 'Cancel',
245+
'contextProviderDialog.confirm': 'Confirm',
246+
247+
// Role config page - context provider related
248+
'roleConfig.contextProvider': 'Context',
249+
'roleConfig.contextProviderSuccess': 'Successfully added {count} sources.',
250+
'roleConfig.contextProviderDocLink': 'How to deploy context provider',
251+
'roleConfig.editContextProvider': 'Edit Source',
252+
233253
// Voice print page related
234254
'voicePrint.pageTitle': 'Voice Print Recognition',
235255
'voicePrint.name': 'Name',

main/manager-web/src/i18n/vi.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,26 @@ export default {
230230
'voicePrintDialog.requiredName': 'Vui lòng nhập tên',
231231
'voicePrintDialog.requiredAudioVector': 'Vui lòng chọn vector âm thanh',
232232

233+
// Context provider dialog related
234+
'contextProviderDialog.title': 'Chỉnh sửa nguồn',
235+
'contextProviderDialog.noContextApi': 'Không có API ngữ cảnh',
236+
'contextProviderDialog.add': 'Thêm',
237+
'contextProviderDialog.apiUrl': 'Địa chỉ API',
238+
'contextProviderDialog.apiUrlPlaceholder': 'http://api.example.com/data',
239+
'contextProviderDialog.requestHeaders': 'Header yêu cầu',
240+
'contextProviderDialog.headerKeyPlaceholder': 'Khóa',
241+
'contextProviderDialog.headerValuePlaceholder': 'Giá trị',
242+
'contextProviderDialog.noHeaders': 'Không có Headers',
243+
'contextProviderDialog.addHeader': 'Thêm Header',
244+
'contextProviderDialog.cancel': 'Hủy bỏ',
245+
'contextProviderDialog.confirm': 'Xác nhận',
246+
247+
// Role config page - context provider related
248+
'roleConfig.contextProvider': 'Bối cảnh',
249+
'roleConfig.contextProviderSuccess': 'Đã thêm thành công {count} nguồn.',
250+
'roleConfig.contextProviderDocLink': 'Cách triển khai nguồn ngữ cảnh',
251+
'roleConfig.editContextProvider': 'Chỉnh sửa nguồn',
252+
233253
// Voice print page related
234254
'voicePrint.pageTitle': 'Nhận dạng dấu giọng nói',
235255
'voicePrint.name': 'Tên',

main/manager-web/src/i18n/zh_CN.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,26 @@ export default {
230230
'voicePrintDialog.requiredName': '请输入姓名',
231231
'voicePrintDialog.requiredAudioVector': '请选择音频向量',
232232

233+
// 上下文源对话框相关
234+
'contextProviderDialog.title': '编辑源',
235+
'contextProviderDialog.noContextApi': '暂无上下文API',
236+
'contextProviderDialog.add': '添加',
237+
'contextProviderDialog.apiUrl': '接口地址',
238+
'contextProviderDialog.apiUrlPlaceholder': 'http://api.example.com/data',
239+
'contextProviderDialog.requestHeaders': '请求头',
240+
'contextProviderDialog.headerKeyPlaceholder': 'Key',
241+
'contextProviderDialog.headerValuePlaceholder': 'Value',
242+
'contextProviderDialog.noHeaders': '暂无 Headers',
243+
'contextProviderDialog.addHeader': '添加 Header',
244+
'contextProviderDialog.cancel': '取消',
245+
'contextProviderDialog.confirm': '确定',
246+
247+
// 角色配置页面-上下文源相关
248+
'roleConfig.contextProvider': '上下文源',
249+
'roleConfig.contextProviderSuccess': '已成功添加 {count} 个源。',
250+
'roleConfig.contextProviderDocLink': '如何部署上下文源',
251+
'roleConfig.editContextProvider': '编辑源',
252+
233253
// 声纹页面相关
234254
'voicePrint.pageTitle': '声纹识别',
235255
'voicePrint.name': '姓名',

main/manager-web/src/i18n/zh_TW.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,26 @@ export default {
230230
'voicePrintDialog.requiredName': '請輸入姓名',
231231
'voicePrintDialog.requiredAudioVector': '請選擇音頻向量',
232232

233+
// 上下文源對話框相關
234+
'contextProviderDialog.title': '編輯源',
235+
'contextProviderDialog.noContextApi': '暫無上下文API',
236+
'contextProviderDialog.add': '添加',
237+
'contextProviderDialog.apiUrl': '接口地址',
238+
'contextProviderDialog.apiUrlPlaceholder': 'http://api.example.com/data',
239+
'contextProviderDialog.requestHeaders': '請求頭',
240+
'contextProviderDialog.headerKeyPlaceholder': 'Key',
241+
'contextProviderDialog.headerValuePlaceholder': 'Value',
242+
'contextProviderDialog.noHeaders': '暫無 Headers',
243+
'contextProviderDialog.addHeader': '添加 Header',
244+
'contextProviderDialog.cancel': '取消',
245+
'contextProviderDialog.confirm': '確定',
246+
247+
// 角色配置頁面-上下文源相關
248+
'roleConfig.contextProvider': '上下文源',
249+
'roleConfig.contextProviderSuccess': '已成功添加 {count} 個源。',
250+
'roleConfig.contextProviderDocLink': '如何部署上下文源',
251+
'roleConfig.editContextProvider': '編輯源',
252+
233253
// 聲紋頁面相關
234254
'voicePrint.pageTitle': '聲紋識別',
235255
'voicePrint.name': '姓名',

main/manager-web/src/views/roleConfig.vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,17 +55,17 @@
5555
</div>
5656
</div>
5757
</el-form-item>
58-
<el-form-item label="上下文源:" class="context-provider-item">
58+
<el-form-item :label="$t('roleConfig.contextProvider') + ':'" class="context-provider-item">
5959
<div style="display: flex; align-items: center; justify-content: space-between;">
6060
<span style="color: #606266; font-size: 13px;">
61-
已成功添加 {{ currentContextProviders.length }} 个源。<a href="https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/context-provider-integration.md" target="_blank" class="doc-link">如何部署上下文源</a>
61+
{{ $t('roleConfig.contextProviderSuccess', { count: currentContextProviders.length }) }}<a href="https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/context-provider-integration.md" target="_blank" class="doc-link">{{ $t('roleConfig.contextProviderDocLink') }}</a>
6262
</span>
6363
<el-button
6464
class="edit-function-btn"
6565
size="small"
6666
@click="openContextProviderDialog"
6767
>
68-
编辑源
68+
{{ $t('roleConfig.editContextProvider') }}
6969
</el-button>
7070
</div>
7171
</el-form-item>

0 commit comments

Comments
 (0)