From d5736a497d46902d45826a2c5b57725581107be0 Mon Sep 17 00:00:00 2001
From: Christoph Reiter <reiter.christoph@gmail.com>
Date: Thu, 8 Aug 2019 14:33:41 +0200
Subject: [PATCH] Port to new i18next wrapper

---
 packages/language-select/package.json         |  1 -
 packages/language-select/rollup.config.js     |  8 +++++-
 packages/language-select/src/i18n.js          | 27 ++-----------------
 .../language-select/src/language-select.js    |  2 +-
 packages/language-select/vendor/common        |  2 +-
 5 files changed, 11 insertions(+), 29 deletions(-)

diff --git a/packages/language-select/package.json b/packages/language-select/package.json
index 5bdcefba..0079a30c 100644
--- a/packages/language-select/package.json
+++ b/packages/language-select/package.json
@@ -24,7 +24,6 @@
     "vpu-common": "file:./vendor/common"
   },
   "dependencies": {
-    "i18next": "^17.0.3",
     "lit-element": "^2.1.0"
   },
   "scripts": {
diff --git a/packages/language-select/rollup.config.js b/packages/language-select/rollup.config.js
index 2d9f0c87..7448ef5f 100644
--- a/packages/language-select/rollup.config.js
+++ b/packages/language-select/rollup.config.js
@@ -1,3 +1,4 @@
+import path from 'path';
 import resolve from 'rollup-plugin-node-resolve';
 import commonjs from 'rollup-plugin-commonjs';
 import copy from 'rollup-plugin-copy';
@@ -18,7 +19,12 @@ export default {
     },
     plugins: [
         multiEntry(),
-        resolve(),
+        resolve({
+          customResolveOptions: {
+            // ignore node_modules from vendored packages
+            moduleDirectory: path.join(process.cwd(), 'node_modules')
+          }
+        }),
         commonjs({
             include: 'node_modules/**'
         }),
diff --git a/packages/language-select/src/i18n.js b/packages/language-select/src/i18n.js
index a2380632..02c88eb4 100644
--- a/packages/language-select/src/i18n.js
+++ b/packages/language-select/src/i18n.js
@@ -1,29 +1,6 @@
-import i18next from 'i18next';
+import {createInstance} from 'vpu-common/i18next.js';
 
 import de from './i18n/de/translation.json';
 import en from './i18n/en/translation.json';
 
-const i18n = i18next.createInstance();
-
-i18n.init({
-    lng: 'de',
-    fallbackLng: ['de'],
-    debug: false,
-    initImmediate: false, // Don't init async
-    resources: {
-        en: {translation: en},
-        de: {translation: de}
-    },
-});
-
-console.assert(i18n.isInitialized);
-
-function dateTimeFormat(date, options) {
-    return new Intl.DateTimeFormat(i18n.languages, options).format(date);
-}
-
-function numberFormat(number, options) {
-    return new Intl.NumberFormat(i18n.languages, options).format(number);
-}
-
-export {i18n, dateTimeFormat, numberFormat};
+export const i18n = createInstance({en: en, de: de}, 'de', 'en');
\ No newline at end of file
diff --git a/packages/language-select/src/language-select.js b/packages/language-select/src/language-select.js
index cf3a5102..53d05ed7 100644
--- a/packages/language-select/src/language-select.js
+++ b/packages/language-select/src/language-select.js
@@ -1,5 +1,5 @@
 import {html, css, LitElement} from 'lit-element';
-import {i18n, dateTimeFormat, numberFormat} from './i18n.js';
+import {i18n} from './i18n.js';
 import utils from 'vpu-common/utils';
 
 /**
diff --git a/packages/language-select/vendor/common b/packages/language-select/vendor/common
index b30eaa64..378256b0 160000
--- a/packages/language-select/vendor/common
+++ b/packages/language-select/vendor/common
@@ -1 +1 @@
-Subproject commit b30eaa6475ccc65b5f99d2ead86ddbe2b8e015a7
+Subproject commit 378256b0ae92712fd5b8feed3a987cd014617c0b
-- 
GitLab