diff --git a/packages/auth/i18next-scanner.config.js b/packages/auth/i18next-scanner.config.js index 8c277798414be902846c6eb4f0e95a19750cda39..aeb8fdb6532e6c951401ba91424e2a256353d391 100644 --- a/packages/auth/i18next-scanner.config.js +++ b/packages/auth/i18next-scanner.config.js @@ -6,6 +6,7 @@ module.exports = { options: { debug: false, removeUnusedKeys: true, + func: {list: ['i18n.t', '_i18n.t']}, lngs: ['en','de'], resource: { loadPath: 'src/i18n/{{lng}}/{{ns}}.json', diff --git a/packages/auth/src/auth-keycloak.js b/packages/auth/src/auth-keycloak.js index ab5c0020d9753d2583a8eea9f1ded176d2b2bc66..f5b5ab718c3dbfce64c932754b5c59ebc3bc5520 100644 --- a/packages/auth/src/auth-keycloak.js +++ b/packages/auth/src/auth-keycloak.js @@ -1,4 +1,4 @@ -import {i18n} from './i18n.js'; +import {createInstance} from './i18n.js'; import JSONLD from '@dbp-toolkit/common/jsonld'; import {KeycloakWrapper} from './keycloak.js'; import {LoginStatus} from './util.js'; @@ -32,6 +32,7 @@ export class AuthKeycloak extends AdapterLitElement { this.entryPointUrl = ''; this._loginStatus = LoginStatus.UNKNOWN; this.requestedLoginStatus = LoginStatus.UNKNOWN; + this._i18n = createInstance(); // Keycloak config this.keycloakUrl = null; @@ -49,7 +50,7 @@ export class AuthKeycloak extends AdapterLitElement { changedProperties.forEach((oldValue, propName) => { switch (propName) { case 'lang': - i18n.changeLanguage(this.lang); + this._i18n.changeLanguage(this.lang); break; case 'entryPointUrl': // for preloading the instance diff --git a/packages/auth/src/dbp-auth-demo.js b/packages/auth/src/dbp-auth-demo.js index 96ed5a0fc479925919ea96bd6f0285e6a30c4d18..3b9170f60a77d3f063294497aea8d778bfe6014f 100644 --- a/packages/auth/src/dbp-auth-demo.js +++ b/packages/auth/src/dbp-auth-demo.js @@ -1,4 +1,4 @@ -import {i18n} from './i18n.js'; +import {createInstance} from './i18n.js'; import {html} from 'lit-element'; import {ScopedElementsMixin} from '@open-wc/scoped-elements'; import {AuthKeycloak} from './auth-keycloak.js'; @@ -14,6 +14,7 @@ export class DbpAuthDemo extends ScopedElementsMixin(DBPLitElement) { this.entryPointUrl = ''; this.auth = {}; this.noAuth = false; + this._i18n = createInstance(); } static get scopedElements() { @@ -36,7 +37,7 @@ export class DbpAuthDemo extends ScopedElementsMixin(DBPLitElement) { update(changedProperties) { changedProperties.forEach((oldValue, propName) => { if (propName === "lang") { - i18n.changeLanguage(this.lang); + this._i18n.changeLanguage(this.lang); } }); diff --git a/packages/auth/src/i18n.js b/packages/auth/src/i18n.js index 498d9f037b0a5ca481ec8de5df24640900285808..fbc1b032f3c662e149547117a8df129be5262e99 100644 --- a/packages/auth/src/i18n.js +++ b/packages/auth/src/i18n.js @@ -1,6 +1,10 @@ -import {createInstance} from '@dbp-toolkit/common/i18next.js'; +import {createInstance as _createInstance, setOverrides} from '@dbp-toolkit/common/i18next.js'; import de from './i18n/de/translation.json'; import en from './i18n/en/translation.json'; -export const i18n = createInstance({en: en, de: de}, 'de', 'en'); \ No newline at end of file +export function createInstance() { + return _createInstance({en: en, de: de}, 'de', 'en'); +} + +export {setOverrides}; \ No newline at end of file diff --git a/packages/auth/src/i18n/de/translation.json b/packages/auth/src/i18n/de/translation.json index 761eaa9c3fa834d02a6bdc3752fe45cec2739526..48287f0df6e557ec22aec507f185feb6dcc0711c 100644 --- a/packages/auth/src/i18n/de/translation.json +++ b/packages/auth/src/i18n/de/translation.json @@ -1,5 +1,4 @@ { "login": "Einloggen", - "logout": "Ausloggen", - "profile": "Profil" + "logout": "Ausloggen" } diff --git a/packages/auth/src/i18n/en/translation.json b/packages/auth/src/i18n/en/translation.json index fc4a771072fcb919a25bed598a7a867898425e4f..8c6f4faa8e8bb80ca74065918f431b01140f16a8 100644 --- a/packages/auth/src/i18n/en/translation.json +++ b/packages/auth/src/i18n/en/translation.json @@ -1,5 +1,4 @@ { "login": "Login", - "logout": "Logout", - "profile": "Profile" + "logout": "Logout" } diff --git a/packages/auth/src/login-button.js b/packages/auth/src/login-button.js index cd638494b0310f540df7db4946322689856da9d8..63e7353d567094b24cb376bc7a76da93557a97da 100644 --- a/packages/auth/src/login-button.js +++ b/packages/auth/src/login-button.js @@ -1,4 +1,4 @@ -import {i18n} from './i18n.js'; +import {createInstance} from './i18n.js'; import {html, css} from 'lit-element'; import {unsafeHTML} from 'lit-html/directives/unsafe-html.js'; import {ScopedElementsMixin} from '@open-wc/scoped-elements'; @@ -56,6 +56,7 @@ export class LoginButton extends ScopedElementsMixin(AdapterLitElement) { constructor() { super(); this.lang = 'de'; + this._i18n = createInstance(); this.auth = {}; } @@ -93,7 +94,7 @@ export class LoginButton extends ScopedElementsMixin(AdapterLitElement) { update(changedProperties) { changedProperties.forEach((oldValue, propName) => { if (propName === "lang") { - i18n.changeLanguage(this.lang); + this._i18n.changeLanguage(this.lang); } }); @@ -150,6 +151,7 @@ export class LoginButton extends ScopedElementsMixin(AdapterLitElement) { } render() { + let i18n = this._i18n; if (this.auth['login-status'] === LoginStatus.LOGGING_IN) { // try to keep the layout the same to avoid layout shifts return html`