@@ -92,6 +92,7 @@ const translations = {
9292 'detail.update_media' : 'Actualizar media' ,
9393 'detail.personal_note' : 'NOTA PERSONAL' ,
9494 'detail.unknown_author' : 'Autor desconocido' ,
95+ 'detail.downloading' : 'Procesando descarga...' ,
9596
9697 // PostCard
9798 'card.open' : 'Abrir detalle del post' ,
@@ -140,6 +141,64 @@ const translations = {
140141 'settings.shortcuts' : 'Atajos de teclado' ,
141142 'settings.dev_title' : 'Desarrollador de ThreadsVault' ,
142143 'settings.close' : 'CERRAR' ,
144+ 'settings.import_completed' : 'Importación completada' ,
145+ 'settings.import_error_title' : 'Error al importar' ,
146+ 'settings.import_error_fallback' : 'No se pudo completar la importación. Verifica que el archivo sea un backup válido de ThreadsVault.' ,
147+ 'settings.import_skipped_note' : 'Los elementos omitidos tenían datos incompatibles. El resto se importó correctamente.' ,
148+ 'settings.import_warning_suffix' : 'y los reemplazará con los del archivo seleccionado. Esta acción no se puede deshacer.' ,
149+ 'settings.error_read_file' : 'No se pudo leer el archivo seleccionado.' ,
150+ 'settings.error_import_unknown' : 'Error desconocido al importar' ,
151+
152+ // App
153+ 'app.page_share' : 'ThreadsVault — Añadir post' ,
154+ 'app.page_settings' : 'ThreadsVault — Ajustes' ,
155+ 'app.page_categories' : 'ThreadsVault — Categorías' ,
156+ 'app.theme_to_light' : 'Cambiar a tema claro' ,
157+ 'app.theme_to_dark' : 'Cambiar a tema oscuro' ,
158+ 'app.theme_toggle' : 'Alternar tema' ,
159+
160+ // VaultScreen bulk
161+ 'vault.merging' : 'Fusionando...' ,
162+ 'vault.merge_thread' : 'Fusionar hilo' ,
163+ 'vault.deleting' : 'Eliminando...' ,
164+
165+ // PostDetailScreen galería / vídeo
166+ 'detail.hide_failed' : 'Ocultar fallidos' ,
167+ 'detail.show_failed' : 'Mostrar fallidos' ,
168+ 'detail.image_of' : 'Imagen {i} de {total}' ,
169+ 'detail.video_loading' : 'Cargando vídeo…' ,
170+ 'detail.video_on_threads' : 'Vídeo en Threads' ,
171+ 'detail.video_searching' : 'Buscando fuente reproducible…' ,
172+ 'detail.video_protected' : 'Threads protege sus vídeos. Ábrelo directamente para reproducirlo.' ,
173+ 'detail.video_downloading' : 'Descargando...' ,
174+ 'detail.download_video' : 'Descargar video' ,
175+ 'detail.resource_unavailable' : 'Recurso no visible en app. Puedes abrir o descargar desde la URL.' ,
176+ 'detail.lightbox_alt' : 'Vista ampliada' ,
177+
178+ // PostDetailScreen mensajes de error (script)
179+ 'detail.error_download' : 'No se pudo descargar el video.' ,
180+ 'detail.error_no_new_text' : 'No se encontró texto nuevo. Abre el post en Threads e intenta de nuevo.' ,
181+ 'detail.error_extract' : 'Error al extraer. Comprueba la conexión e inténtalo de nuevo.' ,
182+ 'detail.error_stream' : 'No se pudo resolver el stream del vídeo.' ,
183+ 'detail.error_stream_app' : 'Falló la resolución del vídeo en la app.' ,
184+ 'detail.preparing_download' : 'Preparando descarga...' ,
185+ 'detail.error_timeout' : 'La descarga tardó demasiado. Reintenta o abre en Threads.' ,
186+ 'detail.error_download_failed' : 'La descarga falló.' ,
187+ 'detail.error_no_new_media' : 'No se encontró contenido nuevo. Abre el post en Threads e intenta de nuevo.' ,
188+ 'detail.error_update_media' : 'No se pudo actualizar media ahora. Abre el post en Threads y vuelve a intentar.' ,
189+
190+ // Shortcuts
191+ 'shortcut.back' : 'Volver atrás' ,
192+ 'shortcut.add_post' : 'Añadir post' ,
193+ 'shortcut.search_posts' : 'Buscar posts' ,
194+ 'shortcut.search_app' : 'Buscar en la app' ,
195+ 'shortcut.navigate' : 'Navegar entre posts' ,
196+ 'shortcut.zoom_in' : 'Acercar (zoom in)' ,
197+ 'shortcut.zoom_out' : 'Alejar (zoom out)' ,
198+ 'shortcut.zoom_reset' : 'Zoom normal' ,
199+ 'shortcut.ctx_global' : 'Global' ,
200+ 'shortcut.ctx_vault' : 'En vault' ,
201+ 'shortcut.ctx_post' : 'En post' ,
143202 } ,
144203 en : {
145204 // Common
@@ -232,6 +291,7 @@ const translations = {
232291 'detail.update_media' : 'Update media' ,
233292 'detail.personal_note' : 'PERSONAL NOTE' ,
234293 'detail.unknown_author' : 'Unknown author' ,
294+ 'detail.downloading' : 'Processing download...' ,
235295
236296 // PostCard
237297 'card.open' : 'Open post detail' ,
@@ -280,6 +340,64 @@ const translations = {
280340 'settings.shortcuts' : 'Keyboard shortcuts' ,
281341 'settings.dev_title' : 'ThreadsVault Developer' ,
282342 'settings.close' : 'CLOSE' ,
343+ 'settings.import_completed' : 'Import completed' ,
344+ 'settings.import_error_title' : 'Import error' ,
345+ 'settings.import_error_fallback' : 'Could not complete import. Check that the file is a valid ThreadsVault backup.' ,
346+ 'settings.import_skipped_note' : 'Skipped items had incompatible data. The rest was imported correctly.' ,
347+ 'settings.import_warning_suffix' : 'and replace them with those from the selected file. This action cannot be undone.' ,
348+ 'settings.error_read_file' : 'Could not read the selected file.' ,
349+ 'settings.error_import_unknown' : 'Unknown import error' ,
350+
351+ // App
352+ 'app.page_share' : 'ThreadsVault — Add post' ,
353+ 'app.page_settings' : 'ThreadsVault — Settings' ,
354+ 'app.page_categories' : 'ThreadsVault — Categories' ,
355+ 'app.theme_to_light' : 'Switch to light theme' ,
356+ 'app.theme_to_dark' : 'Switch to dark theme' ,
357+ 'app.theme_toggle' : 'Toggle theme' ,
358+
359+ // VaultScreen bulk
360+ 'vault.merging' : 'Merging...' ,
361+ 'vault.merge_thread' : 'Merge thread' ,
362+ 'vault.deleting' : 'Deleting...' ,
363+
364+ // PostDetailScreen gallery / video
365+ 'detail.hide_failed' : 'Hide failed' ,
366+ 'detail.show_failed' : 'Show failed' ,
367+ 'detail.image_of' : 'Image {i} of {total}' ,
368+ 'detail.video_loading' : 'Loading video…' ,
369+ 'detail.video_on_threads' : 'Video on Threads' ,
370+ 'detail.video_searching' : 'Looking for playable source…' ,
371+ 'detail.video_protected' : 'Threads protects its videos. Open it directly to play it.' ,
372+ 'detail.video_downloading' : 'Downloading...' ,
373+ 'detail.download_video' : 'Download video' ,
374+ 'detail.resource_unavailable' : 'Resource not visible in app. You can open or download from the URL.' ,
375+ 'detail.lightbox_alt' : 'Enlarged view' ,
376+
377+ // PostDetailScreen error messages (script)
378+ 'detail.error_download' : 'Could not download the video.' ,
379+ 'detail.error_no_new_text' : 'No new text found. Open the post on Threads and try again.' ,
380+ 'detail.error_extract' : 'Extraction error. Check your connection and try again.' ,
381+ 'detail.error_stream' : 'Could not resolve the video stream.' ,
382+ 'detail.error_stream_app' : 'Video stream resolution failed in app.' ,
383+ 'detail.preparing_download' : 'Preparing download...' ,
384+ 'detail.error_timeout' : 'Download took too long. Retry or open in Threads.' ,
385+ 'detail.error_download_failed' : 'Download failed.' ,
386+ 'detail.error_no_new_media' : 'No new content found. Open the post on Threads and try again.' ,
387+ 'detail.error_update_media' : 'Could not update media now. Open the post on Threads and try again.' ,
388+
389+ // Shortcuts
390+ 'shortcut.back' : 'Go back' ,
391+ 'shortcut.add_post' : 'Add post' ,
392+ 'shortcut.search_posts' : 'Search posts' ,
393+ 'shortcut.search_app' : 'Search in app' ,
394+ 'shortcut.navigate' : 'Navigate between posts' ,
395+ 'shortcut.zoom_in' : 'Zoom in' ,
396+ 'shortcut.zoom_out' : 'Zoom out' ,
397+ 'shortcut.zoom_reset' : 'Normal zoom' ,
398+ 'shortcut.ctx_global' : 'Global' ,
399+ 'shortcut.ctx_vault' : 'In vault' ,
400+ 'shortcut.ctx_post' : 'In post' ,
283401 }
284402} as const
285403
0 commit comments