Skip to content

Commit 0140fd1

Browse files
dnunnarisimonwep
authored andcommitted
feat: add spanish locale
1 parent fcb2114 commit 0140fd1

File tree

2 files changed

+141
-1
lines changed

2 files changed

+141
-1
lines changed

src/i18n/index.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
import cze from './locales/cze.json?url';
22
import de from './locales/de.json?url';
33
import en from './locales/en.json?url';
4+
import es from './locales/es.json?url';
45
import hu from './locales/hu.json?url';
56
import it from './locales/it.json?url';
67
import pl from './locales/pl.json?url';
78
import ptbr from './locales/pt-br.json?url';
89
import ru from './locales/ru.json?url';
910
import tr from './locales/tr.json?url';
11+
1012
import { createI18n, IntlNumberFormat } from 'vue-i18n';
1113

12-
const localeUrls = { de, en, tr, it, 'pt-br': ptbr, cze, hu, pl, ru };
14+
const localeUrls = { de, en, tr, it, 'pt-br': ptbr, cze, hu, pl, ru, es };
1315

1416
export const availableLocales = Object.keys(localeUrls);
1517

src/i18n/locales/es.json

+138
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
{
2+
"navigation": {
3+
"tools": {
4+
"tools": "Herramientas",
5+
"changePassword": {
6+
"change": "Cambiar contraseña",
7+
"current": "Contraseña actual",
8+
"new": "Nueva contraseña",
9+
"invalid": "La contraseña actual no es válida.",
10+
"unknownError": "Algo salió mal, por favor inténtalo de nuevo más tarde."
11+
},
12+
"copyPaste": {
13+
"copy": "Copiar datos de {year}",
14+
"paste": "Pegar datos de {from} en {to}",
15+
"confirm": "¿Copiar datos de {from} en {to}?"
16+
},
17+
"demo": {
18+
"loadDemoData": "Cargar datos de demostración"
19+
},
20+
"deleteYear": {
21+
"delete": "Eliminar {year}",
22+
"confirm": "¿Eliminar {year}?"
23+
},
24+
"export": {
25+
"export": "Exportar como archivo json"
26+
},
27+
"import": {
28+
"import": "Importar desde archivo json",
29+
"what": {
30+
"google": "Archivo de presupuesto anual de Google-Sheets",
31+
"ocular": "Un archivo exportado anteriormente",
32+
"title": "¿Qué te gustaría importar?"
33+
},
34+
"ocular": {
35+
"pickFile": "Selecciona tu archivo .json para importar",
36+
"import": "Importar datos de Ocular"
37+
},
38+
"google": {
39+
"import": "Importar datos de Google",
40+
"pickFile": "Selecciona tu archivo .csv para importar",
41+
"expenses": "Expenses.csv",
42+
"income": "Income.csv"
43+
}
44+
},
45+
"privacyMode": {
46+
"disable": "Cambiar a modo público",
47+
"enable": "Cambiar a modo privado"
48+
}
49+
},
50+
"info": {
51+
"about": "Acerca de Ocular",
52+
"github": "¡Echa un vistazo a este proyecto en {link}, considera una {donation} para mantenerlo vivo!",
53+
"madeWithLove": "Hecho con ❤️ por Simon",
54+
"meta": "{version} / {date} / {sha}",
55+
"donation": "Donación"
56+
},
57+
"theme": {
58+
"change": "Cambiar tema de color"
59+
},
60+
"year": {
61+
"change": "Cambiar a un año diferente"
62+
},
63+
"auth": {
64+
"welcomeBack": "¡Bienvenido de nuevo!",
65+
"signIn": "Iniciar sesión",
66+
"username": "Usuario",
67+
"password": "Contraseña",
68+
"loginFailed": "Error al iniciar sesión, usuario y/o contraseña inválidos."
69+
},
70+
"admin": {
71+
"settings": "Configuraciones de administrador",
72+
"createUser": "Crear usuario",
73+
"username": "Usuario",
74+
"password": "Contraseña",
75+
"admin": "Administrador",
76+
"conflict": "Ya existe un usuario con ese nombre.",
77+
"error": "Algo salió mal, por favor inténtalo de nuevo más tarde.",
78+
"deleteUserConfirmation": "¿Estás seguro de que quieres eliminar a este usuario?",
79+
"manageUsers": "Administrar usuarios",
80+
"noUsersFound": "No se encontraron usuarios..."
81+
},
82+
"settings": {
83+
"settings": "Configuraciones",
84+
"language": "Idioma",
85+
"currency": "Moneda",
86+
"firstMonthOfYear": "Primer mes del año"
87+
}
88+
},
89+
"shared": {
90+
"addGroup": "Agregar grupo",
91+
"append": "Mover “{from}” después de “{to}”",
92+
"average": "Promedio",
93+
"move": "Mover “{from}”",
94+
"moveInto": "Mover “{from}” dentro de “{to}”",
95+
"prepend": "Mover “{from}” antes de “{to}”",
96+
"fillRow": "Llenar fila",
97+
"fillRowToRight": "Llenar hacia la derecha",
98+
"total": "Total",
99+
"totals": "Totales",
100+
"placeholder": "¡Empieza llenando las pestañas de ingresos/gastos! :)"
101+
},
102+
"page": {
103+
"income": {
104+
"title": "Ingresos",
105+
"incomeFor": "Ingresos de {year}"
106+
},
107+
"expenses": {
108+
"title": "Gastos",
109+
"expensesFor": "Gastos de {year}"
110+
},
111+
"dashboard": {
112+
"title": "Panel de control",
113+
"tables": "Tablas",
114+
"income": "Ingresos",
115+
"incomeTrend": "Tendencia de ingresos",
116+
"allTime": "Resumen de todos los tiempos",
117+
"allTimeFromTo": "Resumen desde {from} hasta {to}",
118+
"expenses": "Gastos",
119+
"expensesTrend": "Tendencia de gastos",
120+
"endingBalance": "Saldo final",
121+
"budgetFor": "Presupuesto anual para {year}",
122+
"remainingBalance": "Saldo restante hasta {year}",
123+
"netSavings": "Ahorros netos",
124+
"yearInThePast": "El año está en el pasado",
125+
"yearInTheFuture": "El año está en el futuro",
126+
"yearEnding": "Este año está llegando a su fin...",
127+
"yoyIncomeGrowth": "Crecimiento de ingresos interanual",
128+
"yoyExpenseGrowth": "Crecimiento de gastos interanual",
129+
"allTimeIncome": "Ingresos de todos los tiempos",
130+
"allTimeExpenses": "Gastos de todos los tiempos",
131+
"allTimeSavings": "Ahorros de todos los tiempos",
132+
"downloadAsPNG": "Descargar como PNG",
133+
"downloadAsSVG": "Descargar como SVG",
134+
"jumpToIncome": "Ir a ingresos de {year}",
135+
"jumpToExpenses": "Ir a gastos de {year}"
136+
}
137+
}
138+
}

0 commit comments

Comments
 (0)