From 1d1789b49b17c08a1686b4acc5edbbac29188ddc Mon Sep 17 00:00:00 2001 From: Miguel S <62101239+sl-miguel@users.noreply.github.com> Date: Thu, 18 Apr 2024 19:27:51 +0200 Subject: [PATCH] Added language setting --- src/system/settings.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/system/settings.ts b/src/system/settings.ts index 68199d9aa5b..9231c32410d 100644 --- a/src/system/settings.ts +++ b/src/system/settings.ts @@ -1,3 +1,4 @@ +import i18next from "i18next"; import BattleScene from "../battle-scene"; import { hasTouchscreen } from "../touch-controls"; import { updateWindowType } from "../ui/ui-theme"; @@ -22,7 +23,8 @@ export enum Setting { Player_Gender = "PLAYER_GENDER", Gamepad_Support = "GAMEPAD_SUPPORT", Touch_Controls = "TOUCH_CONTROLS", - Vibration = "VIBRATION" + Vibration = "VIBRATION", + Language = "LANGUAGE" } export interface SettingOptions { @@ -52,7 +54,8 @@ export const settingOptions: SettingOptions = { [Setting.Player_Gender]: [ 'Boy', 'Girl' ], [Setting.Gamepad_Support]: [ 'Auto', 'Disabled' ], [Setting.Touch_Controls]: [ 'Auto', 'Disabled' ], - [Setting.Vibration]: [ 'Auto', 'Disabled' ] + [Setting.Vibration]: [ 'Auto', 'Disabled' ], + [Setting.Language]: [ 'en', 'fr' ] }; export const settingDefaults: SettingDefaults = { @@ -74,10 +77,11 @@ export const settingDefaults: SettingDefaults = { [Setting.Player_Gender]: 0, [Setting.Gamepad_Support]: 0, [Setting.Touch_Controls]: 0, - [Setting.Vibration]: 0 + [Setting.Vibration]: 0, + [Setting.Language]: 0 }; -export const reloadSettings: Setting[] = [ Setting.UI_Theme ]; +export const reloadSettings: Setting[] = [ Setting.UI_Theme, Setting.Language ]; export function setSetting(scene: BattleScene, setting: Setting, value: integer): boolean { switch (setting) { @@ -151,6 +155,9 @@ export function setSetting(scene: BattleScene, setting: Setting, value: integer) case Setting.Vibration: scene.enableVibration = settingOptions[setting][value] !== 'Disabled' && hasTouchscreen(); break; + case Setting.Language: + i18next.changeLanguage(settingOptions[setting][value]); + break; } return true;