summaryrefslogtreecommitdiffhomepage
path: root/gui/src/renderer/lib
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2021-01-26 09:19:06 +0100
committerOskar Nyberg <oskar@mullvad.net>2021-01-26 09:19:06 +0100
commit2c5163b9fa05e8b21ed92f6992e3a216e96817fe (patch)
tree32f4f2e706e152626b31ca472e1e564f71340319 /gui/src/renderer/lib
parent2b055cc39c4eee4b8af8bb193143ddd4055b39ac (diff)
parent5e9d51d61ecf3a7f8df10fcfc767213a108274c1 (diff)
downloadmullvadvpn-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.ts5
-rw-r--r--gui/src/renderer/lib/load-translations.ts22
-rw-r--r--gui/src/renderer/lib/logging.ts3
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 });
}
}