diff --git a/packages/frontend/src/components/BatchEditConnectionForm.vue b/packages/frontend/src/components/BatchEditConnectionForm.vue index 13ec74e..35791ba 100644 --- a/packages/frontend/src/components/BatchEditConnectionForm.vue +++ b/packages/frontend/src/components/BatchEditConnectionForm.vue @@ -226,17 +226,15 @@ onMounted(() => {
-

{{ t('connections.form.sectionBasic.port', '端口') }}

+

{{ t('connections.table.port', '端口') }}

-
@@ -244,21 +242,20 @@ onMounted(() => {
-

{{ t('connections.form.sectionAuth.title', '认证信息') }}

+

{{ t('connections.form.sectionAuth', '认证信息') }}

- - + +
- - -

{{ t('connections.batchEdit.passwordWarning', '注意:某些连接类型可能不支持空密码或有特定密码策略。') }}

+ +
- + -

{{ t('connections.batchEdit.sshKeyInfo', '选择密钥将覆盖密码认证(如果连接类型支持)。') }}

@@ -280,34 +276,32 @@ onMounted(() => {
-

{{ t('connections.form.sectionAdvanced.title', '高级选项') }}

+

{{ t('connections.form.sectionAdvanced', '高级选项') }}

- +
- + -

{{ t('connections.batchEdit.tagsInfoReplace', '选择的标签将替换所有选中连接的现有标签。') }}

@@ -317,7 +311,6 @@ onMounted(() => { v-model="formData.notes" rows="3" class="mt-1 block w-full px-3 py-2 border border-border rounded-md shadow-sm bg-input text-foreground focus:outline-none focus:ring-1 focus:ring-primary sm:text-sm" - :placeholder="t('connections.batchEdit.notesPlaceholder', '输入新备注,或留空不更改')" >
@@ -340,7 +333,7 @@ onMounted(() => { :disabled="isLoading || (!enablePortEdit && !enableAuthEdit && !enableAdvancedEdit)" > - {{ t('common.saveChanges', '保存更改') }} + {{ t('common.save', '保存') }}
diff --git a/packages/frontend/src/locales/en-US.json b/packages/frontend/src/locales/en-US.json index 018a88b..b3f2d45 100644 --- a/packages/frontend/src/locales/en-US.json +++ b/packages/frontend/src/locales/en-US.json @@ -127,7 +127,18 @@ "lastConnected": "Last Connected", "actions": "Actions" }, + "batchEdit":{ + "toggleLabel":"Batch Edit", + "selectAll": "Select All", + "deselectAll": "Deselect All", + "invertSelection": "Invert Selection", + "title": "Batch Edit Connections", + "editSelected": "Edit Selected", + "noChange":"No change", + "selectedItems":"{count} items selected" + }, "actions": { + "testAllFiltered":"Test All", "connect": "Connect", "edit": "Edit", "delete": "Delete", @@ -152,6 +163,7 @@ "confirm": "Confirm Add", "adding": "Adding...", "cancel": "Cancel", + "noSshKey":"No SSH Key", "errorRequiredFields": "Please fill in all required fields.", "errorPasswordRequired": "Password is required for password authentication.", "errorPrivateKeyRequired": "Private key is required for key authentication.", diff --git a/packages/frontend/src/locales/ja-JP.json b/packages/frontend/src/locales/ja-JP.json index b2e882b..b017c93 100644 --- a/packages/frontend/src/locales/ja-JP.json +++ b/packages/frontend/src/locales/ja-JP.json @@ -109,7 +109,18 @@ "copied": "クリップボードにコピーしました" }, "connections": { + "batchEdit": { + "toggleLabel": "一括編集", + "selectAll": "すべて選択", + "deselectAll": "すべて選択解除", + "invertSelection": "選択を反転", + "title": "接続の一括編集", + "editSelected": "選択した項目を編集", + "noChange": "変更なし", + "selectedItems": "{count} 件選択済み" + }, "actions": { + "testAllFiltered":"すべてテスト", "connect": "接続", "delete": "削除", "edit": "編集", @@ -150,6 +161,7 @@ "password": "パスワード:", "port": "ポート:", "privateKey": "秘密鍵:", + "noSshKey":"SSHキーなし", "proxy": "プロキシ:", "saving": "保存中...", "sectionAdvanced": "詳細設定", diff --git a/packages/frontend/src/locales/zh-CN.json b/packages/frontend/src/locales/zh-CN.json index 19cba42..7b511f4 100644 --- a/packages/frontend/src/locales/zh-CN.json +++ b/packages/frontend/src/locales/zh-CN.json @@ -126,7 +126,19 @@ "lastConnected": "上次连接", "actions": "操作" }, + "batchEdit":{ + "toggleLabel":"批量修改", + "selectAll": "全选", + "deselectAll": "取消全选", + "invertSelection": "反向选择", + "editSelected": "编辑所选", + "title": "批量编辑连接", + "selectedItems": "已选项目", + "noChange": "保持不变", + "tagsPlaceholder": "输入标签 (替换现有)" + }, "actions": { + "testAllFiltered":"测试全部", "connect": "连接", "edit": "编辑", "delete": "删除", @@ -181,6 +193,7 @@ "testConnection": "测试连接", "testing": "测试中...", "sshKey": "SSH 密钥", + "noSshKey":"无 SSH 密钥", "privateKeyDirect": "私钥内容", "keyUpdateNoteDirect": "编辑时将私钥和密码短语留空以保留现有密钥。", "keyUpdateNoteSelected": "编辑时选择其他密钥或使用直接输入来更改密钥。", diff --git a/packages/frontend/src/views/ConnectionsView.vue b/packages/frontend/src/views/ConnectionsView.vue index f8e802a..43ae18a 100644 --- a/packages/frontend/src/views/ConnectionsView.vue +++ b/packages/frontend/src/views/ConnectionsView.vue @@ -485,7 +485,7 @@ const getTruncatedNotes = (notes: string | null | undefined): string => { - @@ -498,7 +498,6 @@ const getTruncatedNotes = (notes: string | null | undefined): string => { - {{ t('connections.actions.testAllShort', '测试全部') }} @@ -560,7 +559,7 @@ const getTruncatedNotes = (notes: string | null | undefined): string => {
- {{ t('connections.notes.label', '备注:') }} + {{ t('connections.form.notes', '备注:') }} {{ getTruncatedNotes(conn.notes) }} @@ -619,7 +618,6 @@ const getTruncatedNotes = (notes: string | null | undefined): string => { class="px-3 py-1.5 bg-transparent text-foreground border border-border rounded-md shadow-sm hover:bg-border focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary transition duration-150 ease-in-out text-sm font-medium h-9 flex items-center justify-center" :disabled="isBatchEditMode" :class="{ 'opacity-50 cursor-not-allowed': isBatchEditMode }" - :title="isBatchEditMode ? t('connections.batchEdit.disabledInBatchMode', '批量模式下禁用') : t('connections.actions.edit', '编辑')" > {{ t('connections.actions.edit') }} @@ -628,7 +626,6 @@ const getTruncatedNotes = (notes: string | null | undefined): string => { class="px-4 py-2 bg-button text-button-text rounded-md shadow-sm hover:bg-button-hover focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary transition duration-150 ease-in-out text-sm font-medium h-9 flex items-center justify-center" :disabled="isBatchEditMode" :class="{ 'opacity-50 cursor-not-allowed': isBatchEditMode }" - :title="isBatchEditMode ? t('connections.batchEdit.disabledInBatchMode', '批量模式下禁用') : t('connections.actions.connect', '连接')" > {{ t('connections.actions.connect') }}