diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2021-01-26 09:19:06 +0100 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2021-01-26 09:19:06 +0100 |
| commit | 2c5163b9fa05e8b21ed92f6992e3a216e96817fe (patch) | |
| tree | 32f4f2e706e152626b31ca472e1e564f71340319 /gui/src/renderer/lib | |
| parent | 2b055cc39c4eee4b8af8bb193143ddd4055b39ac (diff) | |
| parent | 5e9d51d61ecf3a7f8df10fcfc767213a108274c1 (diff) | |
| download | mullvadvpn-2c5163b9fa05e8b21ed92f6992e3a216e96817fe.tar.xz mullvadvpn-2c5163b9fa05e8b21ed92f6992e3a216e96817fe.zip | |
Merge branch 'sandbox-electron-renderer'
Diffstat (limited to 'gui/src/renderer/lib')
| -rw-r--r-- | gui/src/renderer/lib/ipc-event-channel.ts | 5 | ||||
| -rw-r--r-- | gui/src/renderer/lib/load-translations.ts | 22 | ||||
| -rw-r--r-- | gui/src/renderer/lib/logging.ts | 3 |
3 files changed, 28 insertions, 2 deletions
diff --git a/gui/src/renderer/lib/ipc-event-channel.ts b/gui/src/renderer/lib/ipc-event-channel.ts new file mode 100644 index 0000000000..bcb816e918 --- /dev/null +++ b/gui/src/renderer/lib/ipc-event-channel.ts @@ -0,0 +1,5 @@ +import { ipcRenderer } from 'electron'; +import { createIpcRenderer } from '../../shared/ipc-helpers'; +import { ipcSchema } from '../../shared/ipc-schema'; + +export const IpcRendererEventChannel = createIpcRenderer(ipcSchema, ipcRenderer); diff --git a/gui/src/renderer/lib/load-translations.ts b/gui/src/renderer/lib/load-translations.ts new file mode 100644 index 0000000000..43a483de25 --- /dev/null +++ b/gui/src/renderer/lib/load-translations.ts @@ -0,0 +1,22 @@ +import { GetTextTranslations } from 'gettext-parser'; +import Gettext from 'node-gettext'; +import log from '../../shared/logging'; + +const SOURCE_LANGUAGE = 'en'; + +export function loadTranslations( + catalogue: Gettext, + locale: string, + translations?: GetTextTranslations, +) { + if (translations) { + catalogue.addTranslations(locale, catalogue.domain, translations); + catalogue.setLocale(locale); + log.info(`Loaded translations ${locale}/${catalogue.domain}`); + } else { + // Reset the locale to source language if we couldn't load the catalogue for the requested locale + // Add empty translations to suppress some of the warnings produces by node-gettext + catalogue.addTranslations(SOURCE_LANGUAGE, catalogue.domain, {}); + catalogue.setLocale(SOURCE_LANGUAGE); + } +} diff --git a/gui/src/renderer/lib/logging.ts b/gui/src/renderer/lib/logging.ts index 433ba20f8f..7c8dc9e542 100644 --- a/gui/src/renderer/lib/logging.ts +++ b/gui/src/renderer/lib/logging.ts @@ -1,10 +1,9 @@ -import { IpcRendererEventChannel } from '../../shared/ipc-event-channel'; import { ILogOutput, LogLevel } from '../../shared/logging-types'; export default class IpcOutput implements ILogOutput { constructor(public level: LogLevel) {} public write(level: LogLevel, message: string) { - IpcRendererEventChannel.logging.log({ level: level, message }); + window.ipc.logging.log({ level: level, message }); } } |
