aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlain <lain@soykaf.club>2020-06-13 11:47:34 +0200
committerlain <lain@soykaf.club>2020-06-13 11:48:02 +0200
commit9bfb3754c1bc0d1033afda97f2884e721d1ab3d8 (patch)
tree0a2ee74b3757f4e0661d4f854fd181bf8c05aed4 /src
parent33c1adbef4b5513605b21797860e7fd60070864c (diff)
ServiceWorker: Use loader to only notification messages.
This keeps the translation size very small and makes it easy to integrate all the languages, as dynamically loading them isn't easy in the service worker.
Diffstat (limited to 'src')
-rw-r--r--src/lib/notification-i18n-loader.js9
-rw-r--r--src/sw.js55
2 files changed, 37 insertions, 27 deletions
diff --git a/src/lib/notification-i18n-loader.js b/src/lib/notification-i18n-loader.js
new file mode 100644
index 00000000..a61755c8
--- /dev/null
+++ b/src/lib/notification-i18n-loader.js
@@ -0,0 +1,9 @@
+// This somewhat mysterious module
+module.exports = function(source) {
+ var object = JSON.parse(source)
+ var smol = {
+ notifications: object.notifications || {}
+ }
+
+ return JSON.stringify(smol)
+}
diff --git a/src/sw.js b/src/sw.js
index d0050b24..6e31516a 100644
--- a/src/sw.js
+++ b/src/sw.js
@@ -1,4 +1,5 @@
/* eslint-env serviceworker */
+/* eslint-disable import/no-webpack-loader-syntax */
import localForage from 'localforage'
import { parseNotification } from './services/entity_normalizer/entity_normalizer.service.js'
@@ -7,33 +8,33 @@ import Vue from 'vue'
import VueI18n from 'vue-i18n'
const messages = {
- ar: require('./i18n/ar.json'),
- ca: require('./i18n/ca.json'),
- cs: require('./i18n/cs.json'),
- de: require('./i18n/de.json'),
- eo: require('./i18n/eo.json'),
- es: require('./i18n/es.json'),
- et: require('./i18n/et.json'),
- eu: require('./i18n/eu.json'),
- fi: require('./i18n/fi.json'),
- fr: require('./i18n/fr.json'),
- ga: require('./i18n/ga.json'),
- he: require('./i18n/he.json'),
- hu: require('./i18n/hu.json'),
- it: require('./i18n/it.json'),
- ja: require('./i18n/ja_pedantic.json'),
- ja_easy: require('./i18n/ja_easy.json'),
- ko: require('./i18n/ko.json'),
- nb: require('./i18n/nb.json'),
- nl: require('./i18n/nl.json'),
- oc: require('./i18n/oc.json'),
- pl: require('./i18n/pl.json'),
- pt: require('./i18n/pt.json'),
- ro: require('./i18n/ro.json'),
- ru: require('./i18n/ru.json'),
- te: require('./i18n/te.json'),
- zh: require('./i18n/zh.json'),
- en: require('./i18n/en.json')
+ ar: require('./lib/notification-i18n-loader.js!./i18n/ar.json'),
+ ca: require('./lib/notification-i18n-loader.js!./i18n/ca.json'),
+ cs: require('./lib/notification-i18n-loader.js!./i18n/cs.json'),
+ de: require('./lib/notification-i18n-loader.js!./i18n/de.json'),
+ eo: require('./lib/notification-i18n-loader.js!./i18n/eo.json'),
+ es: require('./lib/notification-i18n-loader.js!./i18n/es.json'),
+ et: require('./lib/notification-i18n-loader.js!./i18n/et.json'),
+ eu: require('./lib/notification-i18n-loader.js!./i18n/eu.json'),
+ fi: require('./lib/notification-i18n-loader.js!./i18n/fi.json'),
+ fr: require('./lib/notification-i18n-loader.js!./i18n/fr.json'),
+ ga: require('./lib/notification-i18n-loader.js!./i18n/ga.json'),
+ he: require('./lib/notification-i18n-loader.js!./i18n/he.json'),
+ hu: require('./lib/notification-i18n-loader.js!./i18n/hu.json'),
+ it: require('./lib/notification-i18n-loader.js!./i18n/it.json'),
+ ja: require('./lib/notification-i18n-loader.js!./i18n/ja_pedantic.json'),
+ ja_easy: require('./lib/notification-i18n-loader.js!./i18n/ja_easy.json'),
+ ko: require('./lib/notification-i18n-loader.js!./i18n/ko.json'),
+ nb: require('./lib/notification-i18n-loader.js!./i18n/nb.json'),
+ nl: require('./lib/notification-i18n-loader.js!./i18n/nl.json'),
+ oc: require('./lib/notification-i18n-loader.js!./i18n/oc.json'),
+ pl: require('./lib/notification-i18n-loader.js!./i18n/pl.json'),
+ pt: require('./lib/notification-i18n-loader.js!./i18n/pt.json'),
+ ro: require('./lib/notification-i18n-loader.js!./i18n/ro.json'),
+ ru: require('./lib/notification-i18n-loader.js!./i18n/ru.json'),
+ te: require('./lib/notification-i18n-loader.js!./i18n/te.json'),
+ zh: require('./lib/notification-i18n-loader.js!./i18n/zh.json'),
+ en: require('./lib/notification-i18n-loader.js!./i18n/en.json')
}
Vue.use(VueI18n)