From a12463877a9f7626e0a83bec93207d5429d88b24 Mon Sep 17 00:00:00 2001 From: smartfrigde <37928912+smartfrigde@users.noreply.github.com> Date: Fri, 10 Jun 2022 22:29:43 +0200 Subject: [PATCH 01/18] Add macOS tray icon potential fix --- assets/macos.png | Bin 0 -> 4460 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/macos.png diff --git a/assets/macos.png b/assets/macos.png new file mode 100644 index 0000000000000000000000000000000000000000..953ecfa160dfcaed2b442d82526c9cc4aab2cbb8 GIT binary patch literal 4460 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 literal 0 HcmV?d00001 From 0f6f650be2e8aa58c91511069a4c39318f3ca3d1 Mon Sep 17 00:00:00 2001 From: smartfrigde <37928912+smartfrigde@users.noreply.github.com> Date: Fri, 10 Jun 2022 22:38:27 +0200 Subject: [PATCH 02/18] Add 16x16 icon --- assets/16.png | Bin 0 -> 1134 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/16.png diff --git a/assets/16.png b/assets/16.png new file mode 100644 index 0000000000000000000000000000000000000000..f43ff68fd6370e39be7d8a943c4a09c2e57241c5 GIT binary patch literal 1134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>SW8zQByM2p6H)IU({5zu02I+RG_!UJcMmG@3@NvBi`O+U%dcw6sy~rf zw6eJCPI1@W+@`ZRji-w`Zx?mmD(bqOTDd17r#7SJP;uAo;_kcAIZN_dE~ZuO%Wu70 z&~_!G_AoF)cMJE`0v+8^666O;DY(G2RdTlb4|}mn_uQUm#mQv9^5(YsXghf}_J&O- zu3TE5BqFHd(SBjKAuF50;)Am01!h?rGh}7X6tum2_wS6|a>?{_C#9w`N%JtT`5nsA zYj|mI&zs^%mF-_|-zs6|PX2ncp2hv~T~7|niI;9Jv3@DFVj9pPj7i?^E=+0MH7P(2 zXMsm#F#`j)FbFd;%$g$s6l5>)^mS!_#>OS0$jKD(5R~p;c)B=-NL)^yFl}Ng1CyIX z!i34;0U=2a9fk%Pt5>XAnQdU;z}ncdY}&TIb@TQ$E)-7m2v-5)Q zD{y`6n^BP*Tzm0Xkxq!^40jEsP( zL)XwC#K^$P*x1UzNZY``%D}*8Qu-1U4Y~O#nQ4`{HTa&t4+>}oPgg&ebxsLQ0MavN Ab^rhX literal 0 HcmV?d00001 From 465a072e674ec399356b9fa48464f1988dd5f070 Mon Sep 17 00:00:00 2001 From: Ufal Salman Date: Sat, 7 May 2022 13:38:16 +0200 Subject: [PATCH 03/18] Added translation using Weblate (Indonesian) --- assets/lang/id-ID.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 assets/lang/id-ID.json diff --git a/assets/lang/id-ID.json b/assets/lang/id-ID.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/assets/lang/id-ID.json @@ -0,0 +1 @@ +{} From b8b1d04d24a548b57ab1ab748d0ebd44b487cb4f Mon Sep 17 00:00:00 2001 From: Anonymous Date: Sat, 7 May 2022 11:38:17 +0000 Subject: [PATCH 04/18] Translated using Weblate (Indonesian) Currently translated at 100.0% (0 of 0 strings) Translation: ArmCord/ArmCord Translate-URL: https://hosted.weblate.org/projects/armcord/armcord/id/ --- assets/lang/id-ID.json | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/assets/lang/id-ID.json b/assets/lang/id-ID.json index 0967ef4..8e16124 100644 --- a/assets/lang/id-ID.json +++ b/assets/lang/id-ID.json @@ -1 +1,28 @@ -{} +{ + "loading_screen_start": "Starting ArmCord…", + "loading_screen_offline": "You appear to be offline. Please connect to the Internet and try again.", + "loading_screen_update": "A new version of ArmCord is available. Please update to the latest version.", + "setup_question1": "Select what kind of setup you want to perform:", + "setup_question1_answer1": "Express setup", + "setup_question1_answer2": "Full setup", + "setup_question2": "Choose your Discord channel/instance:", + "setup_offline": "You appear to be offline. Please connect to the Internet and restart the ArmCord setup.", + "setup_question3": "Should ArmCord handle client mods installation?", + "yes": "Yes", + "no": "No", + "next": "Next", + "setup_question4": "Select a client mod you want to install:", + "setup_question4_clientmodnotice": "Why not all of them? Having many client mods at the same time can cause issues. If you really want to do it though, check our documentation.", + "settings-theme": "ArmCord Theme:", + "settings-theme-glasstron": "Glasstron (experimental)", + "settings-theme-tabs": "Tabs (experimental)", + "settings-theme-default": "Default", + "settings-theme-native": "Native", + "settings-tray": "Minimize to tray", + "settings-patches": "Automatic Patches", + "settings-channel": "Discord channel:", + "settings-invitewebsocket": "discord.gg support", + "settings-mod": "Client mod:", + "settings-save": "Save settings", + "settings-updater": "Check for updates" +} From b43a9920273d8e78514814baed663901a6b6a990 Mon Sep 17 00:00:00 2001 From: smartfrigde <37928912+smartfrigde@users.noreply.github.com> Date: Fri, 10 Jun 2022 23:17:03 +0200 Subject: [PATCH 05/18] Tweak translations a bit --- assets/lang/en_US.json | 10 +++++++--- src/content/setup.html | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/assets/lang/en_US.json b/assets/lang/en_US.json index 03e21bc..979bc73 100644 --- a/assets/lang/en_US.json +++ b/assets/lang/en_US.json @@ -12,8 +12,8 @@ "no": "No", "next": "Next", "setup_question4": "Select a client mod you want to install:", - "setup_question4_clientmodnotice": "Why not all of them? Having many client mods at the same time can cause issues. If you really want to do it though, check our documentation.", - "settings-theme": "ArmCord Theme:", + "setup_question4_clientmodnotice": "Why not all of them? Having many client mods at the same time can cause issues. If you really want to do it though, check our Discord.", + "settings-theme": "ArmCord theme:", "settings-theme-glasstron": "Glasstron (experimental)", "settings-theme-tabs": "Tabs (experimental)", "settings-theme-default": "Default", @@ -21,8 +21,12 @@ "settings-tray": "Minimize to tray", "settings-patches": "Automatic Patches", "settings-channel": "Discord channel:", - "settings-invitewebsocket": "discord.gg support", + "settings-invitewebsocket": "Invite Websocket", "settings-mod": "Client mod:", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery", + "settings-none": "None", "settings-save": "Save settings", "settings-updater": "Check for updates" } diff --git a/src/content/setup.html b/src/content/setup.html index 4b9d4bd..1783c8f 100644 --- a/src/content/setup.html +++ b/src/content/setup.html @@ -57,7 +57,7 @@

Why not all of them? Having many client mods at the same time can cause issues. If you really - want to do it though, check our documentation ;) + want to do it though, check our Discord ;)

From 478c2da61a5748341a47f796efdace0ef98f8578 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 10 Jun 2022 21:22:39 +0000 Subject: [PATCH 06/18] Translated using Weblate (French) Currently translated at 76.6% (23 of 30 strings) Translation: ArmCord/ArmCord Translate-URL: https://hosted.weblate.org/projects/armcord/armcord/fr/ --- assets/lang/fr-FR.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/assets/lang/fr-FR.json b/assets/lang/fr-FR.json index 28dbdbd..31e09b1 100644 --- a/assets/lang/fr-FR.json +++ b/assets/lang/fr-FR.json @@ -24,5 +24,9 @@ "settings-theme-glasstron": "Glasstron (experimental)", "settings-theme-native": "Native", "settings-patches": "Automatic Patches", - "settings-invitewebsocket": "discord.gg support" + "settings-invitewebsocket": "discord.gg support", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery", + "settings-none": "None" } From 7f524b155950d069b5ccd1b72153858540b2c080 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 10 Jun 2022 21:22:39 +0000 Subject: [PATCH 07/18] Translated using Weblate (Italian) Currently translated at 76.6% (23 of 30 strings) Translation: ArmCord/ArmCord Translate-URL: https://hosted.weblate.org/projects/armcord/armcord/it/ --- assets/lang/it-IT.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/assets/lang/it-IT.json b/assets/lang/it-IT.json index 144d221..a301d5c 100644 --- a/assets/lang/it-IT.json +++ b/assets/lang/it-IT.json @@ -24,5 +24,9 @@ "settings-theme-default": "Default", "settings-theme-native": "Native", "settings-patches": "Automatic Patches", - "settings-invitewebsocket": "discord.gg support" + "settings-invitewebsocket": "discord.gg support", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery", + "settings-none": "None" } From 00bf23667b39808ad9d7118b54ac00304416d7dd Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 10 Jun 2022 21:22:39 +0000 Subject: [PATCH 08/18] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegian?= =?UTF-8?q?=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 76.6% (23 of 30 strings) Translation: ArmCord/ArmCord Translate-URL: https://hosted.weblate.org/projects/armcord/armcord/nb_NO/ --- assets/lang/nb-NO.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/assets/lang/nb-NO.json b/assets/lang/nb-NO.json index 41670f2..050af76 100644 --- a/assets/lang/nb-NO.json +++ b/assets/lang/nb-NO.json @@ -24,5 +24,9 @@ "settings-theme-default": "Default", "settings-theme-native": "Native", "settings-patches": "Automatic Patches", - "settings-invitewebsocket": "discord.gg support" + "settings-invitewebsocket": "discord.gg support", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery", + "settings-none": "None" } From 85dea9731279bc13e4d4f20721b661c4b0f9cb32 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 10 Jun 2022 21:22:40 +0000 Subject: [PATCH 09/18] Translated using Weblate (Dutch) Currently translated at 76.6% (23 of 30 strings) Translation: ArmCord/ArmCord Translate-URL: https://hosted.weblate.org/projects/armcord/armcord/nl/ --- assets/lang/nl-NL.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/assets/lang/nl-NL.json b/assets/lang/nl-NL.json index 485d28f..bb37188 100644 --- a/assets/lang/nl-NL.json +++ b/assets/lang/nl-NL.json @@ -24,5 +24,9 @@ "settings-theme-tabs": "Tabs (experimenteel)", "settings-theme-default": "Standaard", "settings-theme-native": "Native", - "settings-invitewebsocket": "discord.gg support" + "settings-invitewebsocket": "discord.gg support", + "settings-none": "None", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery" } From 113a693603ce46603799c2b9df5a88bbd02ace18 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 10 Jun 2022 21:22:40 +0000 Subject: [PATCH 10/18] Translated using Weblate (Polish) Currently translated at 76.6% (23 of 30 strings) Translation: ArmCord/ArmCord Translate-URL: https://hosted.weblate.org/projects/armcord/armcord/pl/ --- assets/lang/pl-PL.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/assets/lang/pl-PL.json b/assets/lang/pl-PL.json index 979e56b..7e06569 100644 --- a/assets/lang/pl-PL.json +++ b/assets/lang/pl-PL.json @@ -24,5 +24,9 @@ "settings-theme-default": "Domyślny", "settings-theme-native": "Natywny", "settings-patches": "Automatyczne łatki", - "settings-invitewebsocket": "Wsparcie linków discord.gg" + "settings-invitewebsocket": "Wsparcie linków discord.gg", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery", + "settings-none": "None" } From e518c0f04ede5f715e5da5ca23cecb8c87dbcb97 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Fri, 10 Jun 2022 21:22:40 +0000 Subject: [PATCH 11/18] Translated using Weblate (Indonesian) Currently translated at 0.0% (0 of 30 strings) Translation: ArmCord/ArmCord Translate-URL: https://hosted.weblate.org/projects/armcord/armcord/id/ --- assets/lang/id-ID.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/assets/lang/id-ID.json b/assets/lang/id-ID.json index 8e16124..03f2b4f 100644 --- a/assets/lang/id-ID.json +++ b/assets/lang/id-ID.json @@ -24,5 +24,9 @@ "settings-invitewebsocket": "discord.gg support", "settings-mod": "Client mod:", "settings-save": "Save settings", - "settings-updater": "Check for updates" + "settings-updater": "Check for updates", + "settings-prfmMode": "Performance mode:", + "settings-prfmMode-performance": "Performance", + "settings-prfmMode-battery": "Battery", + "settings-none": "None" } From fa24b7996f1de8041d05a1ff9e8dff98c28e9d14 Mon Sep 17 00:00:00 2001 From: smartfrigde <37928912+smartfrigde@users.noreply.github.com> Date: Sat, 11 Jun 2022 22:14:16 +0200 Subject: [PATCH 12/18] Add language detection from Discord --- src/ipc.ts | 5 ++++- src/preload/bridge.ts | 1 + src/preload/preload.ts | 13 ++++++++++--- src/utils.ts | 22 ++++++++++++++++++---- 4 files changed, 33 insertions(+), 8 deletions(-) diff --git a/src/ipc.ts b/src/ipc.ts index c3e799d..92079ec 100644 --- a/src/ipc.ts +++ b/src/ipc.ts @@ -1,7 +1,7 @@ //ipc stuff import {app, ipcMain, shell, desktopCapturer} from "electron"; import {createTabsGuest, mainWindow} from "./window"; -import {setConfigBulk, getVersion, getConfig} from "./utils"; +import {setConfigBulk, getVersion, getConfig, setLang} from "./utils"; import {customTitlebar, tabs} from "./main"; import {createSettingsWindow} from "./settings/main"; export function registerIpc() { @@ -11,6 +11,9 @@ export function registerIpc() { ipcMain.on("openTab", (event, number: number) => { createTabsGuest(number); }); + ipcMain.on("setLang", (event, lang: string) => { + setLang(lang); + }); ipcMain.on("open-external-link", (event, href: string) => { shell.openExternal(href); }); diff --git a/src/preload/bridge.ts b/src/preload/bridge.ts index 23fe888..931e08e 100644 --- a/src/preload/bridge.ts +++ b/src/preload/bridge.ts @@ -16,6 +16,7 @@ contextBridge.exposeInMainWorld("armcord", { electron: process.versions.electron, channel: ipcRenderer.sendSync("channel"), openTab: (number: number) => ipcRenderer.sendSync("openTab", number), + setLang: (lang: string) => ipcRenderer.send("setLang", lang), version: ipcRenderer.sendSync("get-app-version", "app-version"), getDisplayMediaSelector: getDisplayMediaSelector, openSettingsWindow: () => ipcRenderer.send("openSettingsWindow") diff --git a/src/preload/preload.ts b/src/preload/preload.ts index fcde5a0..810f4a3 100644 --- a/src/preload/preload.ts +++ b/src/preload/preload.ts @@ -4,11 +4,15 @@ import "./patch"; import * as fs from "fs"; import * as path from "path"; import {injectTitlebar} from "./titlebar"; -import {sleep, addStyle, injectJS} from "../utils"; +import {sleep, addStyle, injectJS, addScript} from "../utils"; import {ipcRenderer} from "electron"; import {injectTabs} from "./tabs"; var version = ipcRenderer.sendSync("get-app-version", "app-version"); - +async function updateLang() { + addScript(`function getDiscordLang() { + {const _w=webpackChunkdiscord_app;let lang;_w.push([[Symbol()],{},e=>{for(const k in e.c){const m=e.c[k].exports;const mDef=m?.default&&m.__esModule?m.default:m;if(mDef?._chosenLocale&&!lang)lang=mDef}}]);_w.pop();window.armcord.setLang(lang._chosenLocale);return lang._chosenLocale;void 0}} + getDiscordLang();`); +} declare global { interface Window { armcord: any; @@ -30,7 +34,7 @@ if (window.location.href.indexOf("splash.html") > -1) { if (ipcRenderer.sendSync("tabs")) { injectTabs(); } - sleep(5000).then(() => { + sleep(5000).then(async () => { const cssPath = path.join(__dirname, "../", "/content/css/discord.css"); addStyle(fs.readFileSync(cssPath, "utf8")); @@ -38,14 +42,17 @@ if (window.location.href.indexOf("splash.html") > -1) { case "goosemod": injectJS(clientMods.goosemod); console.log("Loading GooseMod..."); + await updateLang(); break; case "cumcord": injectJS(clientMods.cumcord); console.log("Loading Cumcord..."); + await updateLang(); break; case "flicker": injectJS(clientMods.flicker); console.log("Loading FlickerMod..."); + await updateLang(); break; } }); diff --git a/src/utils.ts b/src/utils.ts index 2a42ff8..9e51f49 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,7 +1,7 @@ import * as fs from "fs"; import {app, dialog} from "electron"; import path from "path"; -import { defaultMaxListeners } from "events"; +import {defaultMaxListeners} from "events"; export var firstRun: boolean; export var isSetup: boolean; export var contentPath: string; @@ -88,8 +88,8 @@ export async function injectElectronFlags() { // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. const presets = { - 'performance': `--enable-gpu-rasterization --enable-zero-copy --ignore-gpu-blocklist --enable-hardware-overlays=single-fullscreen,single-on-top,underlay --enable-features=EnableDrDc,CanvasOopRasterization,BackForwardCache:TimeToLiveInBackForwardCacheInSeconds/300/should_ignore_blocklists/true/enable_same_site/true,ThrottleDisplayNoneAndVisibilityHiddenCrossOriginIframes,UseSkiaRenderer,WebAssemblyLazyCompilation --disable-features=Vulkan --force_high_performance_gpu`, // Performance - 'battery': '--enable-features=TurnOffStreamingMediaCachingOnBattery --force_low_power_gpu' // Known to have better battery life for Chromium? + performance: `--enable-gpu-rasterization --enable-zero-copy --ignore-gpu-blocklist --enable-hardware-overlays=single-fullscreen,single-on-top,underlay --enable-features=EnableDrDc,CanvasOopRasterization,BackForwardCache:TimeToLiveInBackForwardCacheInSeconds/300/should_ignore_blocklists/true/enable_same_site/true,ThrottleDisplayNoneAndVisibilityHiddenCrossOriginIframes,UseSkiaRenderer,WebAssemblyLazyCompilation --disable-features=Vulkan --force_high_performance_gpu`, // Performance + battery: "--enable-features=TurnOffStreamingMediaCachingOnBattery --force_low_power_gpu" // Known to have better battery life for Chromium? }; switch (await getConfig("performanceMode")) { case "performance": @@ -104,6 +104,20 @@ export async function injectElectronFlags() { console.log("No performance modes set"); } } +export async function setLang(language: string) { + const userDataPath = app.getPath("userData"); + const storagePath = path.join(userDataPath, "/storage/"); + const langConfigFile = storagePath + "lang.json"; + if (!fs.existsSync(langConfigFile)) { + fs.writeFileSync(langConfigFile, "{}", "utf-8"); + } + let rawdata = fs.readFileSync(langConfigFile, "utf-8"); + let parsed = JSON.parse(rawdata); + parsed["lang"] = language; + let toSave = JSON.stringify(parsed); + fs.writeFileSync(langConfigFile, toSave, "utf-8"); +} + //ArmCord Settings/Storage manager export interface Settings { @@ -113,7 +127,7 @@ export interface Settings { minimizeToTray: boolean; automaticPatches: boolean; mods: string; - performanceMode: string, + performanceMode: string; blurType: string; inviteWebsocket: boolean; doneSetup: boolean; From 410c899c84346c4c92194eaf4f9a77e14117a392 Mon Sep 17 00:00:00 2001 From: smartfridge Date: Fri, 10 Jun 2022 21:26:06 +0000 Subject: [PATCH 13/18] Translated using Weblate (Polish) Currently translated at 100.0% (30 of 30 strings) Translation: ArmCord/ArmCord Translate-URL: https://hosted.weblate.org/projects/armcord/armcord/pl/ --- assets/lang/pl-PL.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/assets/lang/pl-PL.json b/assets/lang/pl-PL.json index 7e06569..e4892b6 100644 --- a/assets/lang/pl-PL.json +++ b/assets/lang/pl-PL.json @@ -7,7 +7,7 @@ "no": "Nie", "next": "Dalej", "setup_question4": "Wybierz modyfikację klienta którą chcesz zainstalować:", - "setup_question4_clientmodnotice": "Dlaczego nie wszystkie na raz? Posiadanie wielu modyfikacji może spowodować wiele błędów. Jeśli jednak nalegasz możesz sprawdzić naszą dokumentację.", + "setup_question4_clientmodnotice": "Dlaczego nie wszystkie na raz? Posiadanie wielu modyfikacji może spowodować wiele błędów. Jeśli jednak nalegasz możesz sprawdzić naszego Discorda.", "loading_screen_start": "Ładowanie ArmCord…", "loading_screen_offline": "Wydaje nam się, że nie jesteś połączony z Internetem. Połącz się z internetem i spróbuj ponownie.", "setup_question1_answer1": "Ekspresowa konfiguracja", @@ -24,9 +24,9 @@ "settings-theme-default": "Domyślny", "settings-theme-native": "Natywny", "settings-patches": "Automatyczne łatki", - "settings-invitewebsocket": "Wsparcie linków discord.gg", - "settings-prfmMode": "Performance mode:", - "settings-prfmMode-performance": "Performance", - "settings-prfmMode-battery": "Battery", - "settings-none": "None" + "settings-invitewebsocket": "Websocket dla zaproszeń", + "settings-prfmMode": "Tryb wydajności:", + "settings-prfmMode-performance": "Wydajny", + "settings-prfmMode-battery": "Bateria", + "settings-none": "Nic/Brak" } From f9bfed7585bceb4ab5e878db11efdc3161ba449d Mon Sep 17 00:00:00 2001 From: smartfrigde <37928912+smartfrigde@users.noreply.github.com> Date: Sun, 12 Jun 2022 13:18:18 +0200 Subject: [PATCH 14/18] Add translation loading for settings --- assets/lang/{en_US.json => en-US.json} | 0 src/ipc.ts | 5 ++- src/settings/main.ts | 6 +++- src/settings/preload.ts | 4 +++ src/settings/settings.html | 44 +++++++++++++++++++------- src/utils.ts | 19 ++++++++++- 6 files changed, 64 insertions(+), 14 deletions(-) rename assets/lang/{en_US.json => en-US.json} (100%) diff --git a/assets/lang/en_US.json b/assets/lang/en-US.json similarity index 100% rename from assets/lang/en_US.json rename to assets/lang/en-US.json diff --git a/src/ipc.ts b/src/ipc.ts index 92079ec..830a2f1 100644 --- a/src/ipc.ts +++ b/src/ipc.ts @@ -1,7 +1,7 @@ //ipc stuff import {app, ipcMain, shell, desktopCapturer} from "electron"; import {createTabsGuest, mainWindow} from "./window"; -import {setConfigBulk, getVersion, getConfig, setLang} from "./utils"; +import {setConfigBulk, getVersion, getConfig, setLang, getLang} from "./utils"; import {customTitlebar, tabs} from "./main"; import {createSettingsWindow} from "./settings/main"; export function registerIpc() { @@ -14,6 +14,9 @@ export function registerIpc() { ipcMain.on("setLang", (event, lang: string) => { setLang(lang); }); + ipcMain.on("getLang", (event, object: string) => { + getLang(object); + }); ipcMain.on("open-external-link", (event, href: string) => { shell.openExternal(href); }); diff --git a/src/settings/main.ts b/src/settings/main.ts index 53a46d4..4167f62 100644 --- a/src/settings/main.ts +++ b/src/settings/main.ts @@ -1,5 +1,5 @@ import {BrowserWindow, shell, ipcMain} from "electron"; -import {getConfig, setConfigBulk, Settings} from "../utils"; +import {getConfig, setConfigBulk, Settings, getLang} from "../utils"; import path from "path"; var settingsWindow: BrowserWindow; var instance: number = 0; @@ -31,6 +31,9 @@ export function createSettingsWindow() { ipcMain.handle("getSetting", (event, toGet: string) => { return getConfig(toGet); }); + ipcMain.handle("getLang", (event, toGet: string) => { + return getLang(toGet); + }); settingsWindow.webContents.setWindowOpenHandler(({url}) => { shell.openExternal(url); return {action: "deny"}; @@ -38,6 +41,7 @@ export function createSettingsWindow() { settingsWindow.loadURL(`file://${__dirname}/settings.html`); settingsWindow.on("close", (event: Event) => { ipcMain.removeHandler("getSetting"); + ipcMain.removeHandler("getLang"); ipcMain.removeAllListeners("saveSettings"); instance = 0; }); diff --git a/src/settings/preload.ts b/src/settings/preload.ts index 0c90a53..38c986d 100644 --- a/src/settings/preload.ts +++ b/src/settings/preload.ts @@ -2,6 +2,10 @@ import {contextBridge, ipcRenderer} from "electron"; console.log("ArmCord Settings"); contextBridge.exposeInMainWorld("settings", { save: (...args: any) => ipcRenderer.send("saveSettings", ...args), + getLang: (toGet: string) => + ipcRenderer.invoke("getLang", toGet).then((result) => { + return result; + }), get: (toGet: string) => ipcRenderer.invoke("getSetting", toGet).then((result) => { return result; diff --git a/src/settings/settings.html b/src/settings/settings.html index c57151c..e352741 100644 --- a/src/settings/settings.html +++ b/src/settings/settings.html @@ -14,7 +14,7 @@ -

ArmCord theme:

+

ArmCord theme:


@@ -24,19 +24,19 @@

- +

- +

- +
@@ -47,7 +47,7 @@ -

Discord channel:

+

Discord channel:

-

Client mod:

+

Client mod:

-

Performance mode:

+

Performance mode:

- + - +