EQ 批量管理窗口支持多语言

This commit is contained in:
eafonyang
2026-07-01 15:16:26 +08:00
parent ac9bac4d18
commit 0ead88deee
7 changed files with 45 additions and 9 deletions
+6
View File
@@ -276,6 +276,12 @@
"deleteConfirm": "Kopfhörer \"{{name}}\" löschen?",
"batchDeleteConfirm": "{{count}} ausgewählte Voreinstellung(en) löschen?",
"deletePresetConfirm": "Voreinstellung \"{{name}}\" löschen?",
"managePresetTitle": "EQ-Voreinstellungen verwalten",
"selectAll": "Alle auswählen",
"batchDelete": "Auswahl löschen",
"noPresets": "Keine Voreinstellungen",
"renamePreset": "Umbenennen",
"deletePreset": "Löschen",
"toastRenamed": "Umbenannt",
"toastRenameFail": "Umbenennung fehlgeschlagen",
"renameEmptyName": "Name darf nicht leer sein",
+6
View File
@@ -276,6 +276,12 @@
"deleteConfirm": "Delete headphone \"{{name}}\"?",
"batchDeleteConfirm": "Delete {{count}} selected preset(s)?",
"deletePresetConfirm": "Delete preset \"{{name}}\"?",
"managePresetTitle": "Manage EQ presets",
"selectAll": "Select all",
"batchDelete": "Delete selected",
"noPresets": "No presets",
"renamePreset": "Rename",
"deletePreset": "Delete",
"toastRenamed": "Renamed",
"toastRenameFail": "Rename failed",
"renameEmptyName": "Name cannot be empty",
+6
View File
@@ -276,6 +276,12 @@
"deleteConfirm": "¿Eliminar auriculares \"{{name}}\"?",
"batchDeleteConfirm": "¿Eliminar {{count}} preset(s) seleccionado(s)?",
"deletePresetConfirm": "¿Eliminar el preset \"{{name}}\"?",
"managePresetTitle": "Gestionar presets EQ",
"selectAll": "Seleccionar todo",
"batchDelete": "Eliminar selección",
"noPresets": "Sin presets",
"renamePreset": "Renombrar",
"deletePreset": "Eliminar",
"toastRenamed": "Renombrado",
"toastRenameFail": "Error al renombrar",
"renameEmptyName": "El nombre no puede estar vacío",
+6
View File
@@ -276,6 +276,12 @@
"deleteConfirm": "Supprimer le casque \"{{name}}\" ?",
"batchDeleteConfirm": "Supprimer {{count}} préréglage(s) sélectionné(s) ?",
"deletePresetConfirm": "Supprimer le préréglage \"{{name}}\" ?",
"managePresetTitle": "Gérer les préréglages EQ",
"selectAll": "Tout sélectionner",
"batchDelete": "Supprimer la sélection",
"noPresets": "Aucun préréglage",
"renamePreset": "Renommer",
"deletePreset": "Supprimer",
"toastRenamed": "Renommé",
"toastRenameFail": "Échec du renommage",
"renameEmptyName": "Le nom ne peut pas être vide",
+6
View File
@@ -269,6 +269,12 @@
"deleteConfirm": "是否刪除耳機「{{name}}」?",
"batchDeleteConfirm": "是否刪除選中的 {{count}} 個預設?",
"deletePresetConfirm": "是否刪除預設「{{name}}」?",
"managePresetTitle": "管理 EQ 預設",
"selectAll": "全選",
"batchDelete": "批量刪除",
"noPresets": "暫無預設",
"renamePreset": "重新命名",
"deletePreset": "刪除",
"toastRenamed": "已重新命名",
"toastRenameFail": "重新命名失敗",
"renameEmptyName": "名稱不能為空",
+6
View File
@@ -269,6 +269,12 @@
"deleteConfirm": "是否删除耳机「{{name}}」?",
"batchDeleteConfirm": "是否删除选中的 {{count}} 个预设?",
"deletePresetConfirm": "是否删除预设「{{name}}」?",
"managePresetTitle": "管理 EQ 预设",
"selectAll": "全选",
"batchDelete": "批量删除",
"noPresets": "暂无预设",
"renamePreset": "重命名",
"deletePreset": "删除",
"toastRenamed": "已重命名",
"toastRenameFail": "重命名失败",
"renameEmptyName": "名称不能为空",
@@ -208,13 +208,13 @@ export function PeqPresetManageDialog({
>
<div className="flex items-center justify-between mb-4">
<h3 className="text-[18px] font-semibold leading-tight text-white/90">
EQ
{eqUi.managePresetTitle}
</h3>
<button
type="button"
className="rounded-full p-1.5 text-white/45 transition-colors hover:bg-white/10 hover:text-white/80"
onClick={onClose}
aria-label="Close"
aria-label={eqUi.closeDrawer}
>
<X size={20} />
</button>
@@ -223,7 +223,7 @@ export function PeqPresetManageDialog({
<div className="flex items-center justify-between gap-3 mb-3">
<label className="flex items-center gap-2.5 text-[13px] text-white/70 select-none cursor-pointer">
<Checkbox checked={allChecked} onChange={toggleAll} />
{eqUi.selectAll}
</label>
<button
@@ -238,7 +238,7 @@ export function PeqPresetManageDialog({
onClick={() => void confirmAndDelete(checkedIdxs)}
>
{deleting && <Loader2 size={13} className="animate-spin" />}
{eqUi.batchDelete}
</button>
</div>
@@ -252,7 +252,7 @@ export function PeqPresetManageDialog({
>
{items.length === 0 ? (
<div className="py-10 text-center text-[13px] text-white/30">
{eqUi.noPresets}
</div>
) : (
items.map((item, idx) => {
@@ -293,7 +293,7 @@ export function PeqPresetManageDialog({
onClick={() => void commitRename()}
>
{renaming && <Loader2 size={13} className="animate-spin" />}
{eqUi.save}
</button>
<button
type="button"
@@ -307,7 +307,7 @@ export function PeqPresetManageDialog({
setEditingName("");
}}
>
{eqUi.cancel}
</button>
</div>
<PeqPresetNameLengthHint value={editingName} />
@@ -331,7 +331,7 @@ export function PeqPresetManageDialog({
background: "rgba(255,255,255,0.06)",
border: "1px solid rgba(255,255,255,0.1)",
}}
title="重命名"
title={eqUi.renamePreset}
onClick={() => beginRename(idx)}
>
<Pencil size={14} />
@@ -343,7 +343,7 @@ export function PeqPresetManageDialog({
background: "rgba(239,68,68,0.08)",
border: "1px solid rgba(239,68,68,0.2)",
}}
title="删除"
title={eqUi.deletePreset}
onClick={() => void confirmAndDelete([idx])}
>
<Trash2 size={14} />