chore(locales): add Spanish i18n translation (#381)

* chore(locales): add Spanish i18n translation

* chore(locales): rename spanish translation to es-es.ts

* docs: add key for new spanish translation
This commit is contained in:
João Pedro Sconetto 2026-03-02 04:04:50 +01:00 committed by GitHub
parent 5940bee86a
commit 50999f2af3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 181 additions and 1 deletions

View File

@ -410,10 +410,11 @@ Partial internationalization (for non-admin, user-facing text) provided for a ha
- `tr-tr`
- `vi-vn`
- `zh-cn`
- `es-es`
To add support for a new language, open a PR following instructions in [/src/i18n/index.ts](https://github.com/sambecker/exif-photo-blog/blob/main/src/i18n/index.ts), using [en-us.ts](https://github.com/sambecker/exif-photo-blog/blob/main/src/i18n/locales/en-us.ts) as reference.
Thank you ❤️ translators: [@sconetto](https://github.com/sconetto) (`pt-br`, `pt-pt`), [@brandnholl](https://github.com/brandnholl) (`id-id`), [@TongEc](https://github.com/TongEc) (`zh-cn`), [@xahidex](https://github.com/xahidex) (`bd-bn`, `hi-in`), [@mehmetabak](https://github.com/mehmetabak) (`tr-tr`), [@simondeeley](https://github.com/simondeeley) (`en-gb`), [@jasonquache](https://github.com/jasonquache) (`vi-vn`)
Thank you ❤️ translators: [@sconetto](https://github.com/sconetto) (`pt-br`, `pt-pt`, `es-es`), [@brandnholl](https://github.com/brandnholl) (`id-id`), [@TongEc](https://github.com/TongEc) (`zh-cn`), [@xahidex](https://github.com/xahidex) (`bd-bn`, `hi-in`), [@mehmetabak](https://github.com/mehmetabak) (`tr-tr`), [@simondeeley](https://github.com/simondeeley) (`en-gb`), [@jasonquache](https://github.com/jasonquache) (`vi-vn`)
📖  FAQ
-

179
src/i18n/locales/es-es.ts Normal file
View File

@ -0,0 +1,179 @@
import { I18N } from '..';
export { es as default } from 'date-fns/locale/es';
export const TEXT: I18N = {
photo: {
photo: 'Foto',
photoPlural: 'Fotos',
taken: 'Tomada',
created: 'Creado',
updated: 'Actualizado',
copied: 'Enlace a la foto copiado',
},
category: {
camera: 'Cámara',
cameraPlural: 'Cámaras',
cameraTitle: 'Tomada con {{camera}}',
cameraShare: 'Fotos tomadas con {{camera}}',
lens: 'Lente',
lensPlural: 'Lentes',
album: 'Álbum',
albumPlural: 'Álbumes',
tag: 'Etiqueta',
tagPlural: 'Etiquetas',
tagged: 'Etiquetado',
taggedPhotos: 'Fotos etiquetadas',
taggedPhrase: 'Fotos etiquetadas con {{tag}}',
taggedFavs: 'Fotos favoritas',
recipe: 'Receta',
recipePlural: 'Recetas',
recipeShare: 'Fotos de la receta {{recipe}}',
film: 'Película',
filmPlural: 'Películas',
filmShare: 'Fotos tomadas con {{film}}',
focalLength: 'Distancia focal',
focalLengthPlural: 'Distancias focales',
focalLengthTitle: 'Distancia focal de {{focal}}',
focalLengthShare: 'Fotos tomadas a {{focal}}',
year: 'Año',
yearPlural: 'Años',
yearShare: 'Fotos de {{year}}',
yearTitle: 'Fotos tomadas en {{year}}',
recent: 'Reciente',
recentPlural: 'Recientes',
recentTitle: 'Fotos Recientes',
recentSubhead: 'Subido hace {{distance}}',
},
nav: {
home: 'Inicio',
full: 'Completo',
grid: 'Cuadrícula',
about: 'Sobre',
admin: 'Menú de administrador',
search: 'Buscar',
prev: 'Anterior',
prevShort: 'Ant',
next: 'Siguiente',
nextShort: 'Sig',
},
about: {
titleDefault: 'Sobre este sitio',
updated: 'Actualizado hace {{distance}}',
photoCount: 'Número de fotos',
firstPhoto: 'Primera foto',
topCamera: 'Cámara principal',
topLens: 'Lente principal',
topRecipe: 'Receta principal',
topFilm: 'Película principal',
recentAlbum: 'Álbum reciente',
popularTag: 'Etiqueta popular',
},
footer: {
madeWith: 'Hecho con',
},
sort: {
sort: 'Ordenar',
newest: 'Más recientes',
oldest: 'Más antiguas',
descending: 'Descendente',
ascending: 'Ascendente',
newestFirst: 'Más recientes primero',
oldestFirst: 'Más antiguas primero',
viewNewest: 'Ver más recientes',
viewOldest: 'Ver más antiguas',
takenAt: 'Tomada en',
byTakenAt: 'Por fecha de captura',
uploadedAt: 'Subida en',
byUploadedAt: 'Por fecha de subida',
uploadedAtShort: 'Subida',
color: 'Cromático',
byColor: 'Por color',
clearSort: 'Limpiar orden',
},
cmdk: {
placeholder: 'Buscar fotos, páginas, ajustes...',
searching: 'Buscando ...',
noResults: 'No se encontraron resultados',
pages: 'Páginas',
},
tooltip: {
'35mm': 'Equivalente en 35mm',
zoom: 'Aumentar zoom',
recipeInfo: 'Información de la receta',
recipeCopy: 'Copiar texto de la receta',
download: 'Descargar archivo original',
sharePhoto: 'Compartir Foto',
shareCopy: 'Copiar Enlace',
shareTo: 'Compartir en...',
shareX: 'Compartir en X',
shareThreads: 'Compartir en Threads',
shareFacebook: 'Compartir en Facebook',
shareLinkedIn: 'Compartir en LinkedIn',
shareQRCode: 'Alternar Código QR',
},
theme: {
theme: 'Tema',
system: 'Sistema',
light: 'Modo Claro',
dark: 'Modo Oscuro',
},
auth: {
signIn: 'Iniciar sesión',
signOut: 'Cerrar sesión',
email: 'Email del administrador',
password: 'Contraseña del administrador',
invalidEmailPassword: 'Email/contraseña no válidos',
},
admin: {
uploadPhotos: 'Subir fotos',
upload: 'Subir',
uploadPlural: 'Subidas',
uploading: 'Subiendo',
update: 'Actualizar',
updatePlural: 'Actualizaciones',
managePhotos: 'Gestionar fotos',
manageCameras: 'Gestionar cámaras',
manageLenses: 'Gestionar lentes',
manageAlbums: 'Gestionar álbumes',
manageTags: 'Gestionar etiquetas',
manageRecipes: 'Gestionar recetas',
selectPhotos: 'Seleccionar Fotos...',
selectPhotosExit: 'Dejar de Seleccionar',
appInsights: 'Estadísticas de la aplicación',
appConfig: 'Configuración de la aplicación',
edit: 'Editar',
favorite: 'Marcar como favorito',
unfavorite: 'Quitar de favoritos',
private: 'Hacer Privado',
public: 'Hacer Público',
download: 'Descargar',
sync: 'Sincronizar',
syncAutomatic: 'Automático',
syncOverwrite: 'Sobrescribir',
// eslint-disable-next-line max-len
syncOverwriteConfirm: '¿Estás seguro de que quieres sobrescribir todos los campos de la foto? Se pueden perder datos personalizados.',
reupload: 'Volver a subir',
delete: 'Eliminar',
deleteConfirm: '¿Estás seguro de que quieres eliminar "{{photoTitle}}"?',
},
onboarding: {
setupComplete: '¡Configuración completa!',
setupIncomplete: 'Finalizar configuración',
setupSignIn: 'Inicia sesión para subir fotos',
setupFirstPhoto: 'Añade tu primera foto',
// eslint-disable-next-line max-len
setupConfig: 'Cambia el nombre del sitio y otros ajustes editando las variables de entorno a las que se hace referencia en',
},
utility: {
more: 'Más',
less: 'Menos',
loadMore: 'Cargar Más',
loading: 'Cargando...',
tryAgain: 'Intentar de Nuevo',
finishing: 'Finalizando...',
uploading: 'Subiendo',
copyPhrase: '{{label}} copiado',
paginate: '{{index}} de {{count}}',
paginateAction: '{{action}} {{index}} de {{count}}',
},
};