From 11138ff5ca3c16f847e68864311d36b0b3ca3e63 Mon Sep 17 00:00:00 2001 From: Rishabh Gautam Date: Mon, 15 Jan 2024 22:33:28 +0530 Subject: [PATCH] Libzim support for reading ZIM file content (#1160) --- i18n/en.jsonp.js | 4 +++ i18n/es.jsonp.js | 4 +++ i18n/fr.jsonp.js | 4 +++ www/index.html | 17 +++++++++++ www/js/app.js | 62 ++++++++++++++++++++++++++++++++++++++-- www/js/init.js | 6 ++++ www/js/lib/zimArchive.js | 9 ++++-- 7 files changed, 100 insertions(+), 6 deletions(-) diff --git a/i18n/en.jsonp.js b/i18n/en.jsonp.js index 8307c2d51..a354443d9 100644 --- a/i18n/en.jsonp.js +++ b/i18n/en.jsonp.js @@ -93,6 +93,10 @@ document.localeJson = { "configure-expert-disabledragdrop-tip": "This option disables drag-and-drop of ZIM files onto the app. It is not recommended to disable this feature.", "configure-expert-bypassappcache": "Bypass AppCache (disables offline use of this app!)", "configure-expert-bypassappcache-tip": "WARNING: Leaving this checked will prevent offline usage of the PWA. Setting will clear all existing Cache API caches, but assetsCache will be used unless also disabled above. For testing new code with the PWA.", + "configure-expert-useLibzim-tip": "Uses the selected version of libzim to access the ZIM contents (ServiceWorker mode only).", + "configure-expert-useLibzim": "Use libzim for loading ZIM", + "configure-expert-useLibzim-warning": "uses unstable libzim API for reading ZIM", + "configure-expert-libzimMode": "Select libzim version to use:", "configure-expert-resetapp-description": "Reset the app to default settings and erase all caches:", "configure-expert-resetapp": "Reset App", "configure-expert-resetapp-tip": "This will return the app to its original settings on launch, and will empty all caches and settings and deregister Service Workers. The app will then reload.", diff --git a/i18n/es.jsonp.js b/i18n/es.jsonp.js index 91dcf0cca..a54f18317 100644 --- a/i18n/es.jsonp.js +++ b/i18n/es.jsonp.js @@ -93,6 +93,10 @@ document.localeJson = { "configure-expert-disabledragdrop-tip": "Esta opción desactiva la función de arrastrar y soltar los archivos ZIM para cargarlos en la aplicación. No se recomienda desactivar esta función.", "configure-expert-bypassappcache": "Desactivar AppCache (¡desactiva el uso sin conexión de esta aplicación!)", "configure-expert-bypassappcache-tip": "ADVERTENCIA: Dejar esto marcado deshabilitará el uso sin conexión de la PWA. El ajuste borrará todas las cachés de la API de Caché, pero se utilizará la caché de activos a menos que también se desactive arriba. Facilita el desarrollo de nuevo código en la PWA.", + "configure-expert-useLibzim-tip": "Utiliza la versión seleccionada de libzim para acceder a los contenidos de ZIM (sólo en modo ServiceWorker).", + "configure-expert-useLibzim": "Utilizar libzim para cargar ZIM", + "configure-expert-useLibzim-warning": "utiliza la inestable API libzim para leer ZIM", + "configure-expert-libzimMode": "Seleccionar versión libzim para usar:", "configure-expert-resetapp-description": "Restablecer la aplicación a la configuración predeterminada y borrar todas las cachés:", "configure-expert-resetapp": "Restablecer aplicación", "configure-expert-resetapp-tip": "Esto devolverá la aplicación a su configuración original al iniciarla, y vaciará todas las cachés y configuraciones y cancelará el registro de los Service Workers. La aplicación se volverá a cargar.", diff --git a/i18n/fr.jsonp.js b/i18n/fr.jsonp.js index 58bc0dbed..32b6f5e63 100644 --- a/i18n/fr.jsonp.js +++ b/i18n/fr.jsonp.js @@ -93,6 +93,10 @@ document.localeJson = { "configure-expert-disabledragdrop-tip": "Cette option désactive la fonctionnalité de glisser-déposer des fichiers ZIM pour les charger dans l'application. Il n'est pas recommandé de désactiver cette fonctionnalité.", "configure-expert-bypassappcache": "Désactiver AppCache (désactive l'utilisation hors ligne de cette application !)", "configure-expert-bypassappcache-tip": "AVERTISSEMENT : Désactiver cette option désactivera l'utilisation hors ligne de la PWA. Le paramètre effacera tous les caches de l'API de Cache, mais le cache des actifs sera utilisé à moins qu'il ne soit également désactivé ci-dessus. Il facilite le développement de nouveaux codes dans la PWA.", + "configure-expert-useLibzim-tip": "Utilise la version sélectionnée de libzim pour accéder au contenu du ZIM (mode ServiceWorker uniquement).", + "configure-expert-useLibzim": "Utiliser libzim pour charger ZIM", + "configure-expert-useLibzim-warning": "utilise l'API libzim instable pour lire ZIM", + "configure-expert-libzimMode": "Sélectionnez la version de libzim à utiliser :", "configure-expert-resetapp-description": "Réinitialiser l'application à configuration d'origine et vider tous les caches :", "configure-expert-resetapp": "Réinitialiser l'application", "configure-expert-resetapp-tip": "Cela réinitialisera l'application à sa configuration d'origine au démarrage, videra tous les caches et les paramètres et annulera l'enregistrement des Service Workers. L'application sera rechargée.", diff --git a/www/index.html b/www/index.html index 51696221c..56904c51a 100644 --- a/www/index.html +++ b/www/index.html @@ -694,6 +694,23 @@

Expert settings

Bypass AppCache (disables offline use of PWA!) +
+ +
+

Reset the app to default settings and erase all caches: