From 7cee16cee2bf52320124b8cd0b06c7a13dedb11f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ricardo=20Fleury=20Oliveira?= Date: Sat, 8 Jun 2024 12:03:01 -0300 Subject: [PATCH] [Localization] Localized game-mode and save-slot-select-ui-handler (#1728) * localized game-mode and save-slot-select-ui-handler * Update src/locales/de/game-mode.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update src/locales/de/save-slot-select-ui-handler.ts Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> * Update French save-slot-select-ui-handler.ts * Update French game-mode.ts * Update French game-mode.ts * Update Spanish game-mode.ts and save-slot-select-ui-handler.ts * fixes * fix 2 * Update src/locales/ko/game-mode.ts Co-authored-by: returntoice * Update src/locales/ko/save-slot-select-ui-handler.ts Co-authored-by: returntoice * fix 3 --------- Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Co-authored-by: Lugiad Co-authored-by: GoldTra Co-authored-by: returntoice --- src/game-mode.ts | 15 +++--- src/locales/de/config.ts | 4 ++ src/locales/de/game-mode.ts | 10 ++++ src/locales/de/menu.ts | 1 - src/locales/de/save-slot-select-ui-handler.ts | 9 ++++ src/locales/en/config.ts | 4 ++ src/locales/en/game-mode.ts | 10 ++++ src/locales/en/menu.ts | 1 - src/locales/en/save-slot-select-ui-handler.ts | 9 ++++ src/locales/es/config.ts | 4 ++ src/locales/es/game-mode.ts | 10 ++++ src/locales/es/menu.ts | 1 - src/locales/es/save-slot-select-ui-handler.ts | 9 ++++ src/locales/fr/config.ts | 4 ++ src/locales/fr/game-mode.ts | 10 ++++ src/locales/fr/menu.ts | 1 - src/locales/fr/save-slot-select-ui-handler.ts | 9 ++++ src/locales/it/config.ts | 4 ++ src/locales/it/game-mode.ts | 10 ++++ src/locales/it/menu.ts | 1 - src/locales/it/save-slot-select-ui-handler.ts | 9 ++++ src/locales/ko/config.ts | 4 ++ src/locales/ko/game-mode.ts | 10 ++++ src/locales/ko/menu.ts | 1 - src/locales/ko/save-slot-select-ui-handler.ts | 9 ++++ src/locales/pt_BR/config.ts | 4 ++ src/locales/pt_BR/game-mode.ts | 10 ++++ src/locales/pt_BR/menu.ts | 1 - .../pt_BR/save-slot-select-ui-handler.ts | 9 ++++ src/locales/zh_CN/config.ts | 4 ++ src/locales/zh_CN/game-mode.ts | 10 ++++ src/locales/zh_CN/menu.ts | 1 - .../zh_CN/save-slot-select-ui-handler.ts | 9 ++++ src/locales/zh_TW/config.ts | 4 ++ src/locales/zh_TW/game-mode.ts | 10 ++++ src/locales/zh_TW/menu.ts | 1 - .../zh_TW/save-slot-select-ui-handler.ts | 9 ++++ src/plugins/i18n.ts | 54 ++++++++++--------- src/ui/save-slot-select-ui-handler.ts | 22 ++++---- 39 files changed, 254 insertions(+), 53 deletions(-) create mode 100644 src/locales/de/game-mode.ts create mode 100644 src/locales/de/save-slot-select-ui-handler.ts create mode 100644 src/locales/en/game-mode.ts create mode 100644 src/locales/en/save-slot-select-ui-handler.ts create mode 100644 src/locales/es/game-mode.ts create mode 100644 src/locales/es/save-slot-select-ui-handler.ts create mode 100644 src/locales/fr/game-mode.ts create mode 100644 src/locales/fr/save-slot-select-ui-handler.ts create mode 100644 src/locales/it/game-mode.ts create mode 100644 src/locales/it/save-slot-select-ui-handler.ts create mode 100644 src/locales/ko/game-mode.ts create mode 100644 src/locales/ko/save-slot-select-ui-handler.ts create mode 100644 src/locales/pt_BR/game-mode.ts create mode 100644 src/locales/pt_BR/save-slot-select-ui-handler.ts create mode 100644 src/locales/zh_CN/game-mode.ts create mode 100644 src/locales/zh_CN/save-slot-select-ui-handler.ts create mode 100644 src/locales/zh_TW/game-mode.ts create mode 100644 src/locales/zh_TW/save-slot-select-ui-handler.ts diff --git a/src/game-mode.ts b/src/game-mode.ts index 258d3b74980e..5649fef6a7a2 100644 --- a/src/game-mode.ts +++ b/src/game-mode.ts @@ -1,12 +1,13 @@ +import i18next from "i18next"; import { classicFixedBattles, FixedBattleConfig, FixedBattleConfigs } from "./battle"; import BattleScene from "./battle-scene"; +import { allChallenges, applyChallenges, Challenge, ChallengeType, copyChallenge } from "./data/challenge"; import { Biome } from "./data/enums/biome"; import { Species } from "./data/enums/species"; import PokemonSpecies, { allSpecies } from "./data/pokemon-species"; import { Arena } from "./field/arena"; -import * as Utils from "./utils"; import * as Overrides from "./overrides"; -import { allChallenges, applyChallenges, Challenge, ChallengeType, copyChallenge } from "./data/challenge"; +import * as Utils from "./utils"; export enum GameModes { CLASSIC, @@ -269,15 +270,15 @@ export class GameMode implements GameModeConfig { getName(): string { switch (this.modeId) { case GameModes.CLASSIC: - return "Classic"; + return i18next.t("gameMode:classic"); case GameModes.ENDLESS: - return "Endless"; + return i18next.t("gameMode:endless"); case GameModes.SPLICED_ENDLESS: - return "Endless (Spliced)"; + return i18next.t("gameMode:endlessSpliced"); case GameModes.DAILY: - return "Daily Run"; + return i18next.t("gameMode:dailyRun"); case GameModes.CHALLENGE: - return "Challenge"; + return i18next.t("gameMode:challenge"); } } diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index c9fd238b986c..42869e5719e7 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -19,6 +19,7 @@ import { } from "./dialogue"; import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; +import { gameMode } from "./game-mode"; import { gameStatsUiHandler } from "./game-stats-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -30,6 +31,7 @@ import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonInfo } from "./pokemon-info"; import { pokemonInfoContainer } from "./pokemon-info-container"; +import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -58,6 +60,7 @@ export const deConfig = { PGFdoubleBattleDialogue: PGFdoubleBattleDialogue, egg: egg, fightUiHandler: fightUiHandler, + gameMode: gameMode, gameStatsUiHandler: gameStatsUiHandler, growth: growth, menu: menu, @@ -69,6 +72,7 @@ export const deConfig = { pokemon: pokemon, pokemonInfo: pokemonInfo, pokemonInfoContainer: pokemonInfoContainer, + saveSlotSelectUiHandler: saveSlotSelectUiHandler, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/de/game-mode.ts b/src/locales/de/game-mode.ts new file mode 100644 index 000000000000..59058a6ab49b --- /dev/null +++ b/src/locales/de/game-mode.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const gameMode: SimpleTranslationEntries = { + "classic": "Klassik", + "endless": "Endlos", + "endlessSpliced": "Endlos (Fusion)", + "dailyRun": "Täglicher Run", + "unknown": "Unbekannt", + "challenge": "Challenge", +} as const; diff --git a/src/locales/de/menu.ts b/src/locales/de/menu.ts index e1e5db72b9c6..f2ea5c4e227a 100644 --- a/src/locales/de/menu.ts +++ b/src/locales/de/menu.ts @@ -46,7 +46,6 @@ export const menu: SimpleTranslationEntries = { "noRankings": "Keine Rangliste", "loading": "Lade…", "playersOnline": "Spieler Online", - "empty":"Leer", "yes":"Ja", "no":"Nein", "disclaimer": "DISCLAIMER", diff --git a/src/locales/de/save-slot-select-ui-handler.ts b/src/locales/de/save-slot-select-ui-handler.ts new file mode 100644 index 000000000000..fbbfebae6eeb --- /dev/null +++ b/src/locales/de/save-slot-select-ui-handler.ts @@ -0,0 +1,9 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const saveSlotSelectUiHandler: SimpleTranslationEntries = { + "overwriteData": "Den ausgewählten Speicherstand überschreiben?", + "loading": "Läd...", + "wave": "Welle", + "lv": "Lvl", + "empty": "Leer", +} as const; diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index b3d3417c4392..49dcd9f594e8 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -19,6 +19,7 @@ import { } from "./dialogue"; import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; +import { gameMode } from "./game-mode"; import { gameStatsUiHandler } from "./game-stats-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -30,6 +31,7 @@ import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonInfo } from "./pokemon-info"; import { pokemonInfoContainer } from "./pokemon-info-container"; +import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -58,6 +60,7 @@ export const enConfig = { PGFdoubleBattleDialogue: PGFdoubleBattleDialogue, egg: egg, fightUiHandler: fightUiHandler, + gameMode: gameMode, gameStatsUiHandler: gameStatsUiHandler, growth: growth, menu: menu, @@ -69,6 +72,7 @@ export const enConfig = { pokemon: pokemon, pokemonInfo: pokemonInfo, pokemonInfoContainer: pokemonInfoContainer, + saveSlotSelectUiHandler: saveSlotSelectUiHandler, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/en/game-mode.ts b/src/locales/en/game-mode.ts new file mode 100644 index 000000000000..be342b4c3902 --- /dev/null +++ b/src/locales/en/game-mode.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const gameMode: SimpleTranslationEntries = { + "classic": "Classic", + "endless": "Endless", + "endlessSpliced": "Endless (Spliced)", + "dailyRun": "Daily Run", + "unknown": "Unknown", + "challenge": "Challenge", +} as const; diff --git a/src/locales/en/menu.ts b/src/locales/en/menu.ts index d43ac0983f44..65ee46d65d99 100644 --- a/src/locales/en/menu.ts +++ b/src/locales/en/menu.ts @@ -46,7 +46,6 @@ export const menu: SimpleTranslationEntries = { "noRankings": "No Rankings", "loading": "Loading…", "playersOnline": "Players Online", - "empty":"Empty", "yes":"Yes", "no":"No", "disclaimer": "DISCLAIMER", diff --git a/src/locales/en/save-slot-select-ui-handler.ts b/src/locales/en/save-slot-select-ui-handler.ts new file mode 100644 index 000000000000..5aaa675fc4d0 --- /dev/null +++ b/src/locales/en/save-slot-select-ui-handler.ts @@ -0,0 +1,9 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const saveSlotSelectUiHandler: SimpleTranslationEntries = { + "overwriteData": "Overwrite the data in the selected slot?", + "loading": "Loading...", + "wave": "Wave", + "lv": "Lv", + "empty": "Empty", +} as const; diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index 7eb3b2f6710f..e31cd494c2fb 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -19,6 +19,7 @@ import { } from "./dialogue"; import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; +import { gameMode } from "./game-mode"; import { gameStatsUiHandler } from "./game-stats-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -30,6 +31,7 @@ import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonInfo } from "./pokemon-info"; import { pokemonInfoContainer } from "./pokemon-info-container"; +import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -58,6 +60,7 @@ export const esConfig = { PGFdoubleBattleDialogue: PGFdoubleBattleDialogue, egg: egg, fightUiHandler: fightUiHandler, + gameMode: gameMode, gameStatsUiHandler: gameStatsUiHandler, growth: growth, menu: menu, @@ -69,6 +72,7 @@ export const esConfig = { pokemon: pokemon, pokemonInfo: pokemonInfo, pokemonInfoContainer: pokemonInfoContainer, + saveSlotSelectUiHandler: saveSlotSelectUiHandler, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/es/game-mode.ts b/src/locales/es/game-mode.ts new file mode 100644 index 000000000000..c212521252e7 --- /dev/null +++ b/src/locales/es/game-mode.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const gameMode: SimpleTranslationEntries = { + "classic": "Clásica", + "endless": "Infinita", + "endlessSpliced": "Infinita (Fusión)", + "dailyRun": "Diaria", + "unknown": "Desconicido", + "challenge": "Challenge", +} as const; diff --git a/src/locales/es/menu.ts b/src/locales/es/menu.ts index 517569ff40b9..9d5fa2fb44d0 100644 --- a/src/locales/es/menu.ts +++ b/src/locales/es/menu.ts @@ -46,7 +46,6 @@ export const menu: SimpleTranslationEntries = { "noRankings": "Sin Rankings", "loading": "Cargando…", "playersOnline": "Jugadores en Línea", - "empty":"Vacío", "yes":"Sí", "no":"No", "disclaimer": "DISCLAIMER", diff --git a/src/locales/es/save-slot-select-ui-handler.ts b/src/locales/es/save-slot-select-ui-handler.ts new file mode 100644 index 000000000000..7939518ceed3 --- /dev/null +++ b/src/locales/es/save-slot-select-ui-handler.ts @@ -0,0 +1,9 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const saveSlotSelectUiHandler: SimpleTranslationEntries = { + "overwriteData": "¿Sobrescribir los datos en la ranura seleccionada?", + "loading": "Cargando...", + "wave": "Oleada", + "lv": "Nv", + "empty": "Vacío", +} as const; diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index 9a0f7e5664e9..058efe11dfea 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -19,6 +19,7 @@ import { } from "./dialogue"; import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; +import { gameMode } from "./game-mode"; import { gameStatsUiHandler } from "./game-stats-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -30,6 +31,7 @@ import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonInfo } from "./pokemon-info"; import { pokemonInfoContainer } from "./pokemon-info-container"; +import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -58,6 +60,7 @@ export const frConfig = { PGFdoubleBattleDialogue: PGFdoubleBattleDialogue, egg: egg, fightUiHandler: fightUiHandler, + gameMode: gameMode, gameStatsUiHandler: gameStatsUiHandler, growth: growth, menu: menu, @@ -69,6 +72,7 @@ export const frConfig = { pokemon: pokemon, pokemonInfo: pokemonInfo, pokemonInfoContainer: pokemonInfoContainer, + saveSlotSelectUiHandler: saveSlotSelectUiHandler, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/fr/game-mode.ts b/src/locales/fr/game-mode.ts new file mode 100644 index 000000000000..28858e46bfad --- /dev/null +++ b/src/locales/fr/game-mode.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const gameMode: SimpleTranslationEntries = { + "classic": "Classique", + "endless": "Infini", + "endlessSpliced": "Infini (Fusions)", + "dailyRun": "Défi du jour", + "unknown": "Inconnu", + "challenge": "Challenge", +} as const; diff --git a/src/locales/fr/menu.ts b/src/locales/fr/menu.ts index e955d4970c08..ccacd110db48 100644 --- a/src/locales/fr/menu.ts +++ b/src/locales/fr/menu.ts @@ -41,7 +41,6 @@ export const menu: SimpleTranslationEntries = { "noRankings": "Pas de Classement", "loading": "Chargement…", "playersOnline": "Joueurs Connectés", - "empty":"Vide", "yes":"Oui", "no":"Non", "disclaimer": "DISCLAIMER", diff --git a/src/locales/fr/save-slot-select-ui-handler.ts b/src/locales/fr/save-slot-select-ui-handler.ts new file mode 100644 index 000000000000..53b68191b9f3 --- /dev/null +++ b/src/locales/fr/save-slot-select-ui-handler.ts @@ -0,0 +1,9 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const saveSlotSelectUiHandler: SimpleTranslationEntries = { + "overwriteData": "Effacer les données de l’emplacement sélectionné ?", + "loading": "Chargement…", + "wave": "Vague", + "lv": "N.", + "empty": "Vide", +} as const; diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index 1eb9b78177ca..47926c05f7fe 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -19,6 +19,7 @@ import { } from "./dialogue"; import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; +import { gameMode } from "./game-mode"; import { gameStatsUiHandler } from "./game-stats-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -30,6 +31,7 @@ import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonInfo } from "./pokemon-info"; import { pokemonInfoContainer } from "./pokemon-info-container"; +import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -58,6 +60,7 @@ export const itConfig = { PGFdoubleBattleDialogue: PGFdoubleBattleDialogue, egg: egg, fightUiHandler: fightUiHandler, + gameMode: gameMode, gameStatsUiHandler: gameStatsUiHandler, growth: growth, menu: menu, @@ -69,6 +72,7 @@ export const itConfig = { pokemon: pokemon, pokemonInfo: pokemonInfo, pokemonInfoContainer: pokemonInfoContainer, + saveSlotSelectUiHandler: saveSlotSelectUiHandler, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/it/game-mode.ts b/src/locales/it/game-mode.ts new file mode 100644 index 000000000000..be342b4c3902 --- /dev/null +++ b/src/locales/it/game-mode.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const gameMode: SimpleTranslationEntries = { + "classic": "Classic", + "endless": "Endless", + "endlessSpliced": "Endless (Spliced)", + "dailyRun": "Daily Run", + "unknown": "Unknown", + "challenge": "Challenge", +} as const; diff --git a/src/locales/it/menu.ts b/src/locales/it/menu.ts index e891146f7541..1353519a9ef8 100644 --- a/src/locales/it/menu.ts +++ b/src/locales/it/menu.ts @@ -46,7 +46,6 @@ export const menu: SimpleTranslationEntries = { "pauseEvolutionsQuestion": "Vuoi sospendere le evoluzioni per {{pokemonName}}?\nLe evoluzioni possono essere riattivate dalla schermata del party.", "evolutionsPaused": "Le evoluzioni sono state sospese per {{pokemonName}}.", "evolutionDone": "Congratulazioni!\n{{pokemonName}} si è evoluto in {{evolvedPokemonName}}!", - "empty":"Vuoto", "yes":"Si", "no":"No", "disclaimer": "DISCLAIMER", diff --git a/src/locales/it/save-slot-select-ui-handler.ts b/src/locales/it/save-slot-select-ui-handler.ts new file mode 100644 index 000000000000..16e36e471a5c --- /dev/null +++ b/src/locales/it/save-slot-select-ui-handler.ts @@ -0,0 +1,9 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const saveSlotSelectUiHandler: SimpleTranslationEntries = { + "overwriteData": "Overwrite the data in the selected slot?", + "loading": "Loading...", + "wave": "Wave", + "lv": "Lv", + "empty": "Vuoto", +} as const; diff --git a/src/locales/ko/config.ts b/src/locales/ko/config.ts index 90381c42fbec..e79afbd8212a 100644 --- a/src/locales/ko/config.ts +++ b/src/locales/ko/config.ts @@ -19,6 +19,7 @@ import { } from "./dialogue"; import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; +import { gameMode } from "./game-mode"; import { gameStatsUiHandler } from "./game-stats-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -30,6 +31,7 @@ import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonInfo } from "./pokemon-info"; import { pokemonInfoContainer } from "./pokemon-info-container"; +import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -58,6 +60,7 @@ export const koConfig = { PGFdoubleBattleDialogue: PGFdoubleBattleDialogue, egg: egg, fightUiHandler: fightUiHandler, + gameMode: gameMode, gameStatsUiHandler: gameStatsUiHandler, growth: growth, menu: menu, @@ -69,6 +72,7 @@ export const koConfig = { pokemon: pokemon, pokemonInfo: pokemonInfo, pokemonInfoContainer: pokemonInfoContainer, + saveSlotSelectUiHandler: saveSlotSelectUiHandler, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/ko/game-mode.ts b/src/locales/ko/game-mode.ts new file mode 100644 index 000000000000..ad387010a8f6 --- /dev/null +++ b/src/locales/ko/game-mode.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const gameMode: SimpleTranslationEntries = { + "classic": "클래식", + "endless": "엔들리스", + "endlessSpliced": "엔들리스(융합체)", + "dailyRun": "데일리 런", + "unknown": "언노운", + "challenge": "챌린지", +} as const; diff --git a/src/locales/ko/menu.ts b/src/locales/ko/menu.ts index 3bd52540f945..473eb9919ed1 100644 --- a/src/locales/ko/menu.ts +++ b/src/locales/ko/menu.ts @@ -46,7 +46,6 @@ export const menu: SimpleTranslationEntries = { "noRankings": "랭킹 정보 없음", "loading": "로딩 중…", "playersOnline": "플레이어 온라인", - "empty":"빈 슬롯", "yes":"예", "no":"아니오", "disclaimer": "면책 조항", diff --git a/src/locales/ko/save-slot-select-ui-handler.ts b/src/locales/ko/save-slot-select-ui-handler.ts new file mode 100644 index 000000000000..213da34bda55 --- /dev/null +++ b/src/locales/ko/save-slot-select-ui-handler.ts @@ -0,0 +1,9 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const saveSlotSelectUiHandler: SimpleTranslationEntries = { + "overwriteData": "선택한 슬롯에 데이터를 덮어쓰시겠습니까?", + "loading": "로딩 중...", + "wave": "웨이브", + "lv": "Lv", + "empty": "빈 슬롯", +} as const; diff --git a/src/locales/pt_BR/config.ts b/src/locales/pt_BR/config.ts index 9f4d3683d467..b7c5e3a2403c 100644 --- a/src/locales/pt_BR/config.ts +++ b/src/locales/pt_BR/config.ts @@ -19,6 +19,7 @@ import { } from "./dialogue"; import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; +import { gameMode } from "./game-mode"; import { gameStatsUiHandler } from "./game-stats-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -31,6 +32,7 @@ import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonInfo } from "./pokemon-info"; import { pokemonInfoContainer } from "./pokemon-info-container"; +import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -58,6 +60,7 @@ export const ptBrConfig = { PGFdoubleBattleDialogue: PGFdoubleBattleDialogue, egg: egg, fightUiHandler: fightUiHandler, + gameMode: gameMode, gameStatsUiHandler: gameStatsUiHandler, growth: growth, menu: menu, @@ -70,6 +73,7 @@ export const ptBrConfig = { pokemon: pokemon, pokemonInfo: pokemonInfo, pokemonInfoContainer: pokemonInfoContainer, + saveSlotSelectUiHandler: saveSlotSelectUiHandler, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/pt_BR/game-mode.ts b/src/locales/pt_BR/game-mode.ts new file mode 100644 index 000000000000..5f0e930703b3 --- /dev/null +++ b/src/locales/pt_BR/game-mode.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const gameMode: SimpleTranslationEntries = { + "classic": "Clássico", + "endless": "Infinito", + "endlessSpliced": "Infinito (Fusões)", + "dailyRun": "Desafio Diário", + "unknown": "Desconhecido", + "challenge": "Desafio", +} as const; diff --git a/src/locales/pt_BR/menu.ts b/src/locales/pt_BR/menu.ts index 000ffb1e3977..bf7ef1058b29 100644 --- a/src/locales/pt_BR/menu.ts +++ b/src/locales/pt_BR/menu.ts @@ -46,7 +46,6 @@ export const menu: SimpleTranslationEntries = { "noRankings": "Sem Classificação", "loading": "Carregando…", "playersOnline": "Jogadores Ativos", - "empty": "Vazio", "yes": "Sim", "no": "Não", "disclaimer": "AVISO", diff --git a/src/locales/pt_BR/save-slot-select-ui-handler.ts b/src/locales/pt_BR/save-slot-select-ui-handler.ts new file mode 100644 index 000000000000..23aeed7c5c7c --- /dev/null +++ b/src/locales/pt_BR/save-slot-select-ui-handler.ts @@ -0,0 +1,9 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const saveSlotSelectUiHandler: SimpleTranslationEntries = { + "overwriteData": "Substituir os dados desse slot?", + "loading": "Carregando...", + "wave": "Onda", + "lv": "Nv", + "empty": "Vazio", +} as const; diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index a35788bda494..6b2132b6406b 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -19,6 +19,7 @@ import { } from "./dialogue"; import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; +import { gameMode } from "./game-mode"; import { gameStatsUiHandler } from "./game-stats-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -30,6 +31,7 @@ import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonInfo } from "./pokemon-info"; import { pokemonInfoContainer } from "./pokemon-info-container"; +import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -58,6 +60,7 @@ export const zhCnConfig = { PGFdoubleBattleDialogue: PGFdoubleBattleDialogue, egg: egg, fightUiHandler: fightUiHandler, + gameMode: gameMode, gameStatsUiHandler: gameStatsUiHandler, growth: growth, menu: menu, @@ -69,6 +72,7 @@ export const zhCnConfig = { pokemon: pokemon, pokemonInfo: pokemonInfo, pokemonInfoContainer: pokemonInfoContainer, + saveSlotSelectUiHandler: saveSlotSelectUiHandler, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/zh_CN/game-mode.ts b/src/locales/zh_CN/game-mode.ts new file mode 100644 index 000000000000..be342b4c3902 --- /dev/null +++ b/src/locales/zh_CN/game-mode.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const gameMode: SimpleTranslationEntries = { + "classic": "Classic", + "endless": "Endless", + "endlessSpliced": "Endless (Spliced)", + "dailyRun": "Daily Run", + "unknown": "Unknown", + "challenge": "Challenge", +} as const; diff --git a/src/locales/zh_CN/menu.ts b/src/locales/zh_CN/menu.ts index d8cad6b05af5..1dbe2b2b1b6e 100644 --- a/src/locales/zh_CN/menu.ts +++ b/src/locales/zh_CN/menu.ts @@ -46,7 +46,6 @@ export const menu: SimpleTranslationEntries = { "noRankings": "无排名", "loading": "加载中...", "playersOnline": "在线玩家", - "empty": "空", "yes": "是", "no": "否", "disclaimer": "DISCLAIMER", diff --git a/src/locales/zh_CN/save-slot-select-ui-handler.ts b/src/locales/zh_CN/save-slot-select-ui-handler.ts new file mode 100644 index 000000000000..98b7764aee2b --- /dev/null +++ b/src/locales/zh_CN/save-slot-select-ui-handler.ts @@ -0,0 +1,9 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const saveSlotSelectUiHandler: SimpleTranslationEntries = { + "overwriteData": "Overwrite the data in the selected slot?", + "loading": "Loading...", + "wave": "Wave", + "lv": "Lv", + "empty": "空", +} as const; diff --git a/src/locales/zh_TW/config.ts b/src/locales/zh_TW/config.ts index 50ff5ed0db41..098b1507eb4a 100644 --- a/src/locales/zh_TW/config.ts +++ b/src/locales/zh_TW/config.ts @@ -19,6 +19,7 @@ import { } from "./dialogue"; import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; +import { gameMode } from "./game-mode"; import { gameStatsUiHandler } from "./game-stats-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -30,6 +31,7 @@ import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonInfo } from "./pokemon-info"; import { pokemonInfoContainer } from "./pokemon-info-container"; +import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -58,6 +60,7 @@ export const zhTwConfig = { PGFdoubleBattleDialogue: PGFdoubleBattleDialogue, egg: egg, fightUiHandler: fightUiHandler, + gameMode: gameMode, gameStatsUiHandler: gameStatsUiHandler, growth: growth, menu: menu, @@ -69,6 +72,7 @@ export const zhTwConfig = { pokemon: pokemon, pokemonInfo: pokemonInfo, pokemonInfoContainer: pokemonInfoContainer, + saveSlotSelectUiHandler: saveSlotSelectUiHandler, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/zh_TW/game-mode.ts b/src/locales/zh_TW/game-mode.ts new file mode 100644 index 000000000000..be342b4c3902 --- /dev/null +++ b/src/locales/zh_TW/game-mode.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const gameMode: SimpleTranslationEntries = { + "classic": "Classic", + "endless": "Endless", + "endlessSpliced": "Endless (Spliced)", + "dailyRun": "Daily Run", + "unknown": "Unknown", + "challenge": "Challenge", +} as const; diff --git a/src/locales/zh_TW/menu.ts b/src/locales/zh_TW/menu.ts index 680db51e8ac1..4da9678e94ff 100644 --- a/src/locales/zh_TW/menu.ts +++ b/src/locales/zh_TW/menu.ts @@ -46,7 +46,6 @@ export const menu: SimpleTranslationEntries = { "noRankings": "無排名", "loading": "加載中…", "playersOnline": "在線玩家", - "empty":"空", "yes":"是", "no":"否", "disclaimer": "DISCLAIMER", diff --git a/src/locales/zh_TW/save-slot-select-ui-handler.ts b/src/locales/zh_TW/save-slot-select-ui-handler.ts new file mode 100644 index 000000000000..98b7764aee2b --- /dev/null +++ b/src/locales/zh_TW/save-slot-select-ui-handler.ts @@ -0,0 +1,9 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const saveSlotSelectUiHandler: SimpleTranslationEntries = { + "overwriteData": "Overwrite the data in the selected slot?", + "loading": "Loading...", + "wave": "Wave", + "lv": "Lv", + "empty": "空", +} as const; diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 58153b0c64f8..f7b3f6bbae84 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -196,36 +196,15 @@ declare module "i18next" { interface CustomTypeOptions { defaultNS: "menu"; // Even if we don't use it, i18next requires a valid default namespace resources: { - menu: SimpleTranslationEntries; - menuUiHandler: SimpleTranslationEntries; - move: MoveTranslationEntries; - battle: SimpleTranslationEntries; - abilityTriggers: SimpleTranslationEntries; ability: AbilityTranslationEntries; - pokeball: SimpleTranslationEntries; - pokemon: SimpleTranslationEntries; - pokemonInfo: PokemonInfoTranslationEntries; - commandUiHandler: SimpleTranslationEntries; - fightUiHandler: SimpleTranslationEntries; - titles: SimpleTranslationEntries; - trainerClasses: SimpleTranslationEntries; - trainerNames: SimpleTranslationEntries; - tutorial: SimpleTranslationEntries; - starterSelectUiHandler: SimpleTranslationEntries; - splashMessages: SimpleTranslationEntries; - nature: SimpleTranslationEntries; - growth: SimpleTranslationEntries; - egg: SimpleTranslationEntries; - weather: SimpleTranslationEntries; - modifierType: ModifierTypeTranslationEntries; + abilityTriggers: SimpleTranslationEntries; + achv: AchievementTranslationEntries; + battle: SimpleTranslationEntries; battleMessageUiHandler: SimpleTranslationEntries; berry: BerryTranslationEntries; - achv: AchievementTranslationEntries; - gameStatsUiHandler: SimpleTranslationEntries; - challenges: SimpleTranslationEntries; - voucher: SimpleTranslationEntries; biome: SimpleTranslationEntries; - pokemonInfoContainer: SimpleTranslationEntries; + challenges: SimpleTranslationEntries; + commandUiHandler: SimpleTranslationEntries; PGMdialogue: DialogueTranslationEntries; PGMbattleSpecDialogue: SimpleTranslationEntries; PGMmiscDialogue: SimpleTranslationEntries; @@ -234,7 +213,30 @@ declare module "i18next" { PGFbattleSpecDialogue: SimpleTranslationEntries; PGFmiscDialogue: SimpleTranslationEntries; PGFdoubleBattleDialogue: DialogueTranslationEntries; + egg: SimpleTranslationEntries; + fightUiHandler: SimpleTranslationEntries; + gameMode: SimpleTranslationEntries; + gameStatsUiHandler: SimpleTranslationEntries; + growth: SimpleTranslationEntries; + menu: SimpleTranslationEntries; + menuUiHandler: SimpleTranslationEntries; + modifierType: ModifierTypeTranslationEntries; + move: MoveTranslationEntries; + nature: SimpleTranslationEntries; partyUiHandler: SimpleTranslationEntries; + pokeball: SimpleTranslationEntries; + pokemon: SimpleTranslationEntries; + pokemonInfo: PokemonInfoTranslationEntries; + pokemonInfoContainer: SimpleTranslationEntries; + saveSlotSelectUiHandler: SimpleTranslationEntries; + splashMessages: SimpleTranslationEntries; + starterSelectUiHandler: SimpleTranslationEntries; + titles: SimpleTranslationEntries; + trainerClasses: SimpleTranslationEntries; + trainerNames: SimpleTranslationEntries; + tutorial: SimpleTranslationEntries; + voucher: SimpleTranslationEntries; + weather: SimpleTranslationEntries; }; } } diff --git a/src/ui/save-slot-select-ui-handler.ts b/src/ui/save-slot-select-ui-handler.ts index 4e6d3daecbe1..7df76f7ff30c 100644 --- a/src/ui/save-slot-select-ui-handler.ts +++ b/src/ui/save-slot-select-ui-handler.ts @@ -1,15 +1,15 @@ +import i18next from "i18next"; import BattleScene from "../battle-scene"; +import { Button } from "../enums/buttons"; import { GameMode } from "../game-mode"; +import { PokemonHeldItemModifier } from "../modifier/modifier"; import { SessionSaveData } from "../system/game-data"; +import PokemonData from "../system/pokemon-data"; +import * as Utils from "../utils"; +import MessageUiHandler from "./message-ui-handler"; import { TextStyle, addTextObject } from "./text"; import { Mode } from "./ui"; import { addWindow } from "./ui-theme"; -import * as Utils from "../utils"; -import PokemonData from "../system/pokemon-data"; -import { PokemonHeldItemModifier } from "../modifier/modifier"; -import MessageUiHandler from "./message-ui-handler"; -import i18next from "i18next"; -import {Button} from "../enums/buttons"; const sessionSlotCount = 5; @@ -118,7 +118,7 @@ export default class SaveSlotSelectUiHandler extends MessageUiHandler { originalCallback(cursor); }; if (this.sessionSlots[cursor].hasData) { - ui.showText("Overwrite the data in the selected slot?", null, () => { + ui.showText(i18next.t("saveSlotSelectUiHandler:overwriteData"), null, () => { ui.setOverlayMode(Mode.CONFIRM, () => saveAndCallback(), () => { ui.revertMode(); ui.showText(null, 0); @@ -258,7 +258,7 @@ class SessionSlot extends Phaser.GameObjects.Container { const slotWindow = addWindow(this.scene, 0, 0, 304, 52); this.add(slotWindow); - this.loadingLabel = addTextObject(this.scene, 152, 26, "Loading…", TextStyle.WINDOW); + this.loadingLabel = addTextObject(this.scene, 152, 26, i18next.t("saveSlotSelectUiHandler:loading"), TextStyle.WINDOW); this.loadingLabel.setOrigin(0.5, 0.5); this.add(this.loadingLabel); } @@ -266,7 +266,7 @@ class SessionSlot extends Phaser.GameObjects.Container { async setupWithData(data: SessionSaveData) { this.remove(this.loadingLabel, true); - const gameModeLabel = addTextObject(this.scene, 8, 5, `${GameMode.getModeName(data.gameMode) || "Unknown"} - Wave ${data.waveIndex}`, TextStyle.WINDOW); + const gameModeLabel = addTextObject(this.scene, 8, 5, `${GameMode.getModeName(data.gameMode) || i18next.t("gameMode:unkown")} - ${i18next.t("gameMode:wave")} ${data.waveIndex}`, TextStyle.WINDOW); this.add(gameModeLabel); const timestampLabel = addTextObject(this.scene, 8, 19, new Date(data.timestamp).toLocaleString(), TextStyle.WINDOW); @@ -283,7 +283,7 @@ class SessionSlot extends Phaser.GameObjects.Container { const pokemon = p.toPokemon(this.scene); const icon = this.scene.addPokemonIcon(pokemon, 0, 0, 0, 0); - const text = addTextObject(this.scene, 32, 20, `Lv${Utils.formatLargeNumber(pokemon.level, 1000)}`, TextStyle.PARTY, { fontSize: "54px", color: "#f8f8f8" }); + const text = addTextObject(this.scene, 32, 20, `${i18next.t("saveSlotSelectUiHandler:lv")}${Utils.formatLargeNumber(pokemon.level, 1000)}`, TextStyle.PARTY, { fontSize: "54px", color: "#f8f8f8" }); text.setShadow(0, 0, null); text.setStroke("#424242", 14); text.setOrigin(1, 0); @@ -324,7 +324,7 @@ class SessionSlot extends Phaser.GameObjects.Container { this.scene.gameData.getSession(this.slotId).then(async sessionData => { if (!sessionData) { this.hasData = false; - this.loadingLabel.setText(i18next.t("menu:empty")); + this.loadingLabel.setText(i18next.t("saveSlotSelectUiHandler:empty")); resolve(false); return; }