feat(i18n): 改造10个组件为i18n国际化,同步更新9种语言翻译文件

- 组件改造:EmptyState、ExportPanel、SearchConditionItem、SearchHistoryPanel、
  SearchResultCard、SearchResultList、Select、SortSwitcher、TemplatePanel、
  BottomNavigation、SearchConditionPanel
- 替换硬编码中文为 $t() 调用和 computed 响应式翻译
- 新增翻译键:search(搜索历史/模板/条件)、export(导出选项)、
  common.pleaseSelect 等
- 同步更新 zh-CN、en、zh-TW、ja、ko、es、fr、de、pt 共9种语言文件
- 重构 errorHandler:从 API 错误处理改为本地应用错误处理
- 移除 search.ts 中未使用的 SearchService 接口
This commit is contained in:
张翔
2026-04-29 19:13:55 +08:00
parent 70d3e3a277
commit 330c3af227
26 changed files with 1335 additions and 490 deletions
+43 -44
View File
@@ -9,6 +9,7 @@ export default {
search: 'Buscar',
male: 'Masculino',
female: 'Femenino',
pleaseSelect: 'Seleccione',
},
nav: {
almanac: 'Almanaque',
@@ -45,63 +46,61 @@ export default {
monthly: 'Mensual',
selectDate: 'Seleccionar fecha',
selectMonth: 'Seleccionar mes',
overallFortune: 'Fortuna general',
career: 'Carrera',
wealth: 'Riqueza',
relationship: 'Relación',
health: 'Salud',
luckyColor: 'Color de la suerte',
luckyNumber: 'Número de la suerte',
luckyDirection: 'Dirección de la suerte',
noChart: 'Primero genere una carta en la página de Zi Wei Dou Shu',
overallScore: 'Fortuna general: {score}pts',
career: 'Carrera: ',
wealth: 'Riqueza: ',
relationship: 'Relación: ',
health: 'Salud: ',
luckyColor: 'Color de la suerte: ',
luckyNumber: 'Número de la suerte: ',
luckyDirection: 'Dirección de la suerte: ',
noChartHint: 'Primero genere una carta en la página de Zi Wei Dou Shu',
},
search: {
conditions: 'Condiciones de búsqueda',
searchConditions: 'Condiciones de búsqueda',
addCondition: 'Añadir condición',
addConditionHint: 'Añada al menos una condición de búsqueda',
addConditionEmpty: 'Añadir condiciones de búsqueda',
days: 'Días de búsqueda',
dayUnit: 'días',
searchResult: 'Resultados de búsqueda',
searchDays: 'Días de búsqueda',
daysUnit: '{count} días',
searchResults: 'Resultados de búsqueda',
resultCount: '{count} resultados',
matchCount: 'Coincidencia: {count}',
matchCount: 'Coincidencia',
sort: 'Ordenar',
sortByDate: 'Fecha',
sortByMatch: 'Coincidencia',
typeSuitable: 'Favorable',
typeUnsuitable: 'Desfavorable',
suitable: 'Favorable',
unsuitable: 'Desfavorable',
operatorAnd: 'Y',
operatorOr: 'O',
excludeCondition: 'Excluir condición',
items: 'Elementos',
operator: 'Operador lógico',
},
template: {
title: 'Plantillas de búsqueda',
searchPlaceholder: 'Buscar plantillas',
empty: 'Sin plantillas',
emptyDesc: 'No hay plantillas que coincidan con los criterios',
all: 'Todo',
},
export: {
title: 'Exportar resultados',
selectFormat: 'Seleccionar formato de exportación',
selectContent: 'Seleccionar contenido de exportación',
date: 'Fecha',
lunarDate: 'Fecha lunar',
weekday: 'Día de la semana',
matchedItems: 'Elementos coincidentes',
matchCount: 'Coincidencia',
},
history: {
title: 'Historial de búsqueda',
clear: 'Borrar historial',
clearConfirm: 'Confirmar borrado',
clearConfirmMsg: '¿Desea borrar todo el historial de búsqueda?',
empty: 'Sin historial',
emptyDesc: 'Las condiciones de búsqueda aparecerán aquí después de buscar',
activityItems: 'Elementos',
logicalOperator: 'Operador lógico',
dateFormat: '{day}/{month}/{year}',
searchHistory: 'Historial de búsqueda',
clearHistory: 'Borrar historial',
noHistoryTitle: 'Sin historial',
noHistoryDesc: 'Las condiciones de búsqueda aparecerán aquí después de buscar',
confirmClear: 'Confirmar borrado',
confirmClearContent: '¿Desea borrar todo el historial de búsqueda?',
historyConditionDays: '{count} condiciones, {days} días de rango',
justNow: 'Justo ahora',
hoursAgo: 'Hace {count}h',
daysAgo: 'Hace {count}d',
searchTemplates: 'Plantillas de búsqueda',
noTemplatesTitle: 'Sin plantillas',
noTemplatesDesc: 'No hay plantillas que coincidan con los criterios',
allCategories: 'Todo',
},
export: {
exportResults: 'Exportar resultados',
exportSearchResults: 'Exportar resultados de búsqueda',
selectFormat: 'Seleccionar formato de exportación',
selectContent: 'Seleccionar contenido de exportación',
export: 'Exportar',
contentDate: 'Fecha',
contentLunarDate: 'Fecha lunar',
contentWeekday: 'Día de la semana',
contentMatchedItems: 'Elementos coincidentes',
contentMatchCount: 'Coincidencia',
},
}