[Refactor] I18n Cleaning (#2348)

* I18n Cleaning

* pr comments

* appease typedoc

* moved types into src
This commit is contained in:
Matthew 2024-06-17 17:05:33 -04:00 committed by GitHub
parent fd1baef244
commit d70dd16f8c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
349 changed files with 1458 additions and 1506 deletions

54
src/@types/i18next.d.ts vendored Normal file
View File

@ -0,0 +1,54 @@
import { AbilityTranslationEntries, SimpleTranslationEntries, AchievementTranslationEntries, BerryTranslationEntries, DialogueTranslationEntries, ModifierTypeTranslationEntries, MoveTranslationEntries, PokemonInfoTranslationEntries } from "#app/interfaces/locales";
// Module declared to make referencing keys in the localization files type-safe.
declare module "i18next" {
interface CustomTypeOptions {
defaultNS: "menu", // needed here as well for typedoc
resources: {
ability: AbilityTranslationEntries;
abilityTriggers: SimpleTranslationEntries;
achv: AchievementTranslationEntries;
battle: SimpleTranslationEntries;
battleMessageUiHandler: SimpleTranslationEntries;
berry: BerryTranslationEntries;
biome: SimpleTranslationEntries;
challenges: SimpleTranslationEntries;
commandUiHandler: SimpleTranslationEntries;
PGMachv: AchievementTranslationEntries;
PGFachv: AchievementTranslationEntries;
PGMdialogue: DialogueTranslationEntries;
PGFdialogue: DialogueTranslationEntries;
PGMbattleSpecDialogue: SimpleTranslationEntries;
PGFbattleSpecDialogue: SimpleTranslationEntries;
PGMmiscDialogue: SimpleTranslationEntries;
PGFmiscDialogue: SimpleTranslationEntries;
PGMdoubleBattleDialogue: DialogueTranslationEntries;
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;
settings: SimpleTranslationEntries;
splashMessages: SimpleTranslationEntries;
starterSelectUiHandler: SimpleTranslationEntries;
titles: SimpleTranslationEntries;
trainerClasses: SimpleTranslationEntries;
trainerNames: SimpleTranslationEntries;
tutorial: SimpleTranslationEntries;
voucher: SimpleTranslationEntries;
weather: SimpleTranslationEntries;
};
}
}

View File

@ -47,7 +47,7 @@ import { biomeDepths, getBiomeName } from "./data/biomes";
import { SceneBase } from "./scene-base"; import { SceneBase } from "./scene-base";
import CandyBar from "./ui/candy-bar"; import CandyBar from "./ui/candy-bar";
import { Variant, variantData } from "./data/variant"; import { Variant, variantData } from "./data/variant";
import { Localizable } from "./plugins/i18n"; import { Localizable } from "#app/interfaces/locales";
import * as Overrides from "./overrides"; import * as Overrides from "./overrides";
import {InputsController} from "./inputs-controller"; import {InputsController} from "./inputs-controller";
import {UiInputs} from "./ui-inputs"; import {UiInputs} from "./ui-inputs";

View File

@ -14,7 +14,8 @@ import { Stat, getStatName } from "./pokemon-stat";
import { BerryModifier, PokemonHeldItemModifier } from "../modifier/modifier"; import { BerryModifier, PokemonHeldItemModifier } from "../modifier/modifier";
import { TerrainType } from "./terrain"; import { TerrainType } from "./terrain";
import { SpeciesFormChangeManualTrigger } from "./pokemon-forms"; import { SpeciesFormChangeManualTrigger } from "./pokemon-forms";
import i18next, { Localizable } from "#app/plugins/i18n.js"; import i18next from "i18next";
import { Localizable } from "#app/interfaces/locales.js";
import { Command } from "../ui/command-ui-handler"; import { Command } from "../ui/command-ui-handler";
import { BerryModifierType } from "#app/modifier/modifier-type"; import { BerryModifierType } from "#app/modifier/modifier-type";
import { getPokeballName } from "./pokeball"; import { getPokeballName } from "./pokeball";

View File

@ -5,7 +5,7 @@ import { BattleStat } from "./battle-stat";
import { getStatusEffectHealText } from "./status-effect"; import { getStatusEffectHealText } from "./status-effect";
import * as Utils from "../utils"; import * as Utils from "../utils";
import { DoubleBerryEffectAbAttr, ReduceBerryUseThresholdAbAttr, applyAbAttrs } from "./ability"; import { DoubleBerryEffectAbAttr, ReduceBerryUseThresholdAbAttr, applyAbAttrs } from "./ability";
import i18next from "../plugins/i18n"; import i18next from "i18next";
import { BattlerTagType } from "#enums/battler-tag-type"; import { BattlerTagType } from "#enums/battler-tag-type";
import { BerryType } from "#enums/berry-type"; import { BerryType } from "#enums/berry-type";

View File

@ -1,5 +1,5 @@
import * as Utils from "../utils"; import * as Utils from "../utils";
import i18next from "#app/plugins/i18n.js"; import i18next from "i18next";
import { GameData } from "#app/system/game-data.js"; import { GameData } from "#app/system/game-data.js";
import PokemonSpecies, { getPokemonSpecies, speciesStarters } from "./pokemon-species"; import PokemonSpecies, { getPokemonSpecies, speciesStarters } from "./pokemon-species";
import Pokemon from "#app/field/pokemon.js"; import Pokemon from "#app/field/pokemon.js";
@ -535,7 +535,7 @@ export class LowerStarterPointsChallenge extends Challenge {
/** /**
* Apply all challenges of a given challenge type. * Apply all challenges of a given challenge type.
* @param {BattleScene} scene The current scene * @param {GameMode} gameMode The current game mode
* @param {ChallengeType} challengeType What challenge type to apply * @param {ChallengeType} challengeType What challenge type to apply
* @param {any[]} args Any args for that challenge type * @param {any[]} args Any args for that challenge type
* @returns {boolean} True if any challenge was successfully applied. * @returns {boolean} True if any challenge was successfully applied.

View File

@ -1,6 +1,6 @@
import BattleScene from "../battle-scene"; import BattleScene from "../battle-scene";
import PokemonSpecies, { getPokemonSpecies, speciesStarters } from "./pokemon-species"; import PokemonSpecies, { getPokemonSpecies, speciesStarters } from "./pokemon-species";
import i18next from "../plugins/i18n"; import i18next from "i18next";
import { EggTier } from "#enums/egg-type"; import { EggTier } from "#enums/egg-type";
import { Species } from "#enums/species"; import { Species } from "#enums/species";

View File

@ -18,7 +18,8 @@ import { TerrainType } from "./terrain";
import { SpeciesFormChangeActiveTrigger } from "./pokemon-forms"; import { SpeciesFormChangeActiveTrigger } from "./pokemon-forms";
import { ModifierPoolType } from "#app/modifier/modifier-type"; import { ModifierPoolType } from "#app/modifier/modifier-type";
import { Command } from "../ui/command-ui-handler"; import { Command } from "../ui/command-ui-handler";
import i18next, { Localizable } from "../plugins/i18n"; import i18next from "i18next";
import { Localizable } from "#app/interfaces/locales";
import { getBerryEffectFunc } from "./berry"; import { getBerryEffectFunc } from "./berry";
import { Abilities } from "#enums/abilities"; import { Abilities } from "#enums/abilities";
import { ArenaTagType } from "#enums/arena-tag-type"; import { ArenaTagType } from "#enums/arena-tag-type";
@ -793,7 +794,7 @@ export enum MoveEffectTrigger {
*/ */
export class MoveEffectAttr extends MoveAttr { export class MoveEffectAttr extends MoveAttr {
/** Defines when this effect should trigger in the move's effect order /** Defines when this effect should trigger in the move's effect order
* @see {@linkcode MoveEffectPhase.start} * @see {@linkcode phases.MoveEffectPhase.start}
*/ */
public trigger: MoveEffectTrigger; public trigger: MoveEffectTrigger;
/** Should this effect only apply on the first hit? */ /** Should this effect only apply on the first hit? */

View File

@ -1,5 +1,5 @@
import BattleScene from "../battle-scene"; import BattleScene from "../battle-scene";
import i18next from "../plugins/i18n"; import i18next from "i18next";
export enum PokeballType { export enum PokeballType {
POKEBALL, POKEBALL,

View File

@ -13,7 +13,8 @@ import { speciesEggMoves } from "./egg-moves";
import { GameMode } from "../game-mode"; import { GameMode } from "../game-mode";
import { QuantizerCelebi, argbFromRgba, rgbaFromArgb } from "@material/material-color-utilities"; import { QuantizerCelebi, argbFromRgba, rgbaFromArgb } from "@material/material-color-utilities";
import { VariantSet } from "./variant"; import { VariantSet } from "./variant";
import i18next, { Localizable } from "../plugins/i18n"; import i18next from "i18next";
import { Localizable } from "#app/interfaces/locales";
import { Stat } from "./pokemon-stat"; import { Stat } from "./pokemon-stat";
import { Abilities } from "#enums/abilities"; import { Abilities } from "#enums/abilities";
import { PartyMemberStrength } from "#enums/party-member-strength"; import { PartyMemberStrength } from "#enums/party-member-strength";

View File

@ -1,4 +1,4 @@
import i18next from "../plugins/i18n"; import i18next from "i18next";
export enum Stat { export enum Stat {
HP = 0, HP = 0,

View File

@ -1,4 +1,4 @@
import i18next from "../plugins/i18n"; import i18next from "i18next";
export function getBattleCountSplashMessage(): string { export function getBattleCountSplashMessage(): string {
return `{COUNT} ${i18next.t("splashMessages:battlesWon")}`; return `{COUNT} ${i18next.t("splashMessages:battlesWon")}`;

View File

@ -37,7 +37,7 @@ import { SpeciesFormChange, SpeciesFormChangeActiveTrigger, SpeciesFormChangeMov
import { TerrainType } from "../data/terrain"; import { TerrainType } from "../data/terrain";
import { TrainerSlot } from "../data/trainer-config"; import { TrainerSlot } from "../data/trainer-config";
import * as Overrides from "../overrides"; import * as Overrides from "../overrides";
import i18next from "../plugins/i18n"; import i18next from "i18next";
import { speciesEggMoves } from "../data/egg-moves"; import { speciesEggMoves } from "../data/egg-moves";
import { ModifierTier } from "../modifier/modifier-tier"; import { ModifierTier } from "../modifier/modifier-tier";
import { applyChallenges, ChallengeType } from "#app/data/challenge.js"; import { applyChallenges, ChallengeType } from "#app/data/challenge.js";

76
src/interfaces/locales.ts Normal file
View File

@ -0,0 +1,76 @@
export interface Localizable {
localize(): void;
}
export interface SimpleTranslationEntries {
[key: string]: string
}
export interface MoveTranslationEntry {
name: string,
effect: string
}
export interface MoveTranslationEntries {
[key: string]: MoveTranslationEntry
}
export interface AbilityTranslationEntry {
name: string,
description: string
}
export interface AbilityTranslationEntries {
[key: string]: AbilityTranslationEntry
}
export interface ModifierTypeTranslationEntry {
name?: string,
description?: string,
extra?: SimpleTranslationEntries
}
export interface ModifierTypeTranslationEntries {
ModifierType: { [key: string]: ModifierTypeTranslationEntry },
AttackTypeBoosterItem: SimpleTranslationEntries,
TempBattleStatBoosterItem: SimpleTranslationEntries,
TempBattleStatBoosterStatName: SimpleTranslationEntries,
BaseStatBoosterItem: SimpleTranslationEntries,
EvolutionItem: SimpleTranslationEntries,
FormChangeItem: SimpleTranslationEntries,
}
export interface PokemonInfoTranslationEntries {
Stat: SimpleTranslationEntries,
Type: SimpleTranslationEntries,
}
export interface BerryTranslationEntry {
name: string,
effect: string,
}
export interface BerryTranslationEntries {
[key: string]: BerryTranslationEntry
}
export interface AchievementTranslationEntry {
name?: string,
description?: string,
}
export interface AchievementTranslationEntries {
[key: string]: AchievementTranslationEntry;
}
export interface DialogueTranslationEntry {
[key: number]: string;
}
export interface DialogueTranslationCategory {
[category: string]: DialogueTranslationEntry;
}
export interface DialogueTranslationEntries {
[trainertype: string]: DialogueTranslationCategory;
}

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = { export const abilityTriggers: SimpleTranslationEntries = {
"blockRecoilDamage" : "{{pokemonName}} wurde durch {{abilityName}}\nvor Rückstoß geschützt!", "blockRecoilDamage" : "{{pokemonName}} wurde durch {{abilityName}}\nvor Rückstoß geschützt!",

View File

@ -1,4 +1,4 @@
import { AbilityTranslationEntries } from "#app/plugins/i18n.js"; import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
export const ability: AbilityTranslationEntries = { export const ability: AbilityTranslationEntries = {
stench: { stench: {

View File

@ -1,4 +1,4 @@
import {AchievementTranslationEntries} from "#app/plugins/i18n.js"; import {AchievementTranslationEntries} from "#app/interfaces/locales.js";
// Achievement translations for the when the player character is male // Achievement translations for the when the player character is male
export const PGMachv: AchievementTranslationEntries = { export const PGMachv: AchievementTranslationEntries = {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = { export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "Sensationell", "ivBest": "Sensationell",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = { export const battle: SimpleTranslationEntries = {
"bossAppeared": "{{bossName}} erscheint.", "bossAppeared": "{{bossName}} erscheint.",

View File

@ -1,4 +1,4 @@
import { BerryTranslationEntries } from "#app/plugins/i18n"; import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = { export const berry: BerryTranslationEntries = {
"SITRUS": { "SITRUS": {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = { export const biome: SimpleTranslationEntries = {
"unknownLocation": "An einem unbekannten Ort", "unknownLocation": "An einem unbekannten Ort",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const challenges: SimpleTranslationEntries = { export const challenges: SimpleTranslationEntries = {
"title": "Herausforderungsmodifikatoren", "title": "Herausforderungsmodifikatoren",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = { export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Kampf", "fight": "Kampf",

View File

@ -39,6 +39,7 @@ import { tutorial } from "./tutorial";
import { voucher } from "./voucher"; import { voucher } from "./voucher";
import { weather } from "./weather"; import { weather } from "./weather";
import { partyUiHandler } from "./party-ui-handler"; import { partyUiHandler } from "./party-ui-handler";
import { settings } from "#app/locales/de/settings.js";
export const deConfig = { export const deConfig = {
ability: ability, ability: ability,
@ -74,6 +75,7 @@ export const deConfig = {
pokemonInfo: pokemonInfo, pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer, pokemonInfoContainer: pokemonInfoContainer,
saveSlotSelectUiHandler: saveSlotSelectUiHandler, saveSlotSelectUiHandler: saveSlotSelectUiHandler,
settings: settings,
splashMessages: splashMessages, splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler, starterSelectUiHandler: starterSelectUiHandler,
titles: titles, titles: titles,

View File

@ -1,4 +1,4 @@
import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/plugins/i18n"; import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/interfaces/locales";
// Dialogue of the NPCs in the game when the player character is male (or unset) // Dialogue of the NPCs in the game when the player character is male (or unset)

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = { export const egg: SimpleTranslationEntries = {
"egg": "Ei", "egg": "Ei",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = { export const fightUiHandler: SimpleTranslationEntries = {
"pp": "AP", "pp": "AP",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameMode: SimpleTranslationEntries = { export const gameMode: SimpleTranslationEntries = {
"classic": "Klassik", "classic": "Klassik",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = { export const gameStatsUiHandler: SimpleTranslationEntries = {
"stats": "Statistiken", "stats": "Statistiken",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = { export const growth: SimpleTranslationEntries = {
"Erratic": "Unregelmäßig", "Erratic": "Unregelmäßig",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = { export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "Spieleinstellungen", "GAME_SETTINGS": "Spieleinstellungen",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
/** /**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's * The menu namespace holds most miscellaneous text that isn't directly part of the game's
@ -34,8 +34,6 @@ export const menu: SimpleTranslationEntries = {
"sessionSuccess": "Sitzung erfolgreich geladen.", "sessionSuccess": "Sitzung erfolgreich geladen.",
"failedToLoadSession": "Ihre Sitzungsdaten konnten nicht geladen werden.\nSie könnten beschädigt sein.", "failedToLoadSession": "Ihre Sitzungsdaten konnten nicht geladen werden.\nSie könnten beschädigt sein.",
"boyOrGirl": "Bist du ein Junge oder ein Mädchen?", "boyOrGirl": "Bist du ein Junge oder ein Mädchen?",
"boy": "Junge",
"girl": "Mädchen",
"evolving": "Nanu?\n{{pokemonName}} entwickelt sich!", "evolving": "Nanu?\n{{pokemonName}} entwickelt sich!",
"stoppedEvolving": "Hm? {{pokemonName}} hat die Entwicklung \nabgebrochen.", // "Hm? Entwicklung wurde abgebrochen!" without naming the pokemon seems to be the original. "stoppedEvolving": "Hm? {{pokemonName}} hat die Entwicklung \nabgebrochen.", // "Hm? Entwicklung wurde abgebrochen!" without naming the pokemon seems to be the original.
"pauseEvolutionsQuestion": "Die Entwicklung von {{pokemonName}} vorübergehend pausieren?\nEntwicklungen können im Gruppenmenü wieder aktiviert werden.", "pauseEvolutionsQuestion": "Die Entwicklung von {{pokemonName}} vorübergehend pausieren?\nEntwicklungen können im Gruppenmenü wieder aktiviert werden.",
@ -54,109 +52,5 @@ export const menu: SimpleTranslationEntries = {
"yes":"Ja", "yes":"Ja",
"no":"Nein", "no":"Nein",
"disclaimer": "DISCLAIMER", "disclaimer": "DISCLAIMER",
"disclaimerDescription": "Dieses Spiel ist ein unfertiges Produkt. Es kann spielbeinträchtigende Fehler (bis hin zum Verlust des Speicherstandes) aufweisen, sich ohne Vorankündigung ändern und es gibt keine Garantie dass es weiterentwickelt oder fertiggestellt wird.", "disclaimerDescription": "Dieses Spiel ist ein unfertiges Produkt. Es kann spielbeinträchtigende Fehler (bis hin zum Verlust des Speicherstandes)\n aufweisen, sich ohne Vorankündigung ändern und es gibt keine Garantie dass es weiterentwickelt oder fertiggestellt wird.",
"general": "Allgemein",
"display": "Anzeige",
"audio": "Audio",
"gamepad": "Controller",
"keyboard": "Tastatur",
"gameSpeed": "Spielgeschwindigkeit",
"hpBarSpeed": "KP-Balken Geschwindigkeit",
"expGainsSpeed": "EXP-Balken Geschwindigkeit",
"expPartyDisplay": "Team-EXP anzeigen",
"skipSeenDialogues": "Gesehenen Dialog überspringen",
"battleStyle": "Kampfstil",
"enableRetries": "Erneut versuchen aktivieren",
"tutorials": "Tutorials",
"touchControls": "Touch Steuerung",
"vibrations": "Vibration",
"normal": "Normal",
"fast": "Schnell",
"faster": "Schneller",
"skip": "Überspringen",
"levelUpNotifications": "Auflevelbenachrichtigung",
"on": "An",
"off": "Aus",
"switch": "Wechsel",
"set": "Folge",
"auto": "Auto",
"disabled": "Deaktiviert",
"language": "Sprache",
"change": "Ändern",
"uiTheme": "UI Thema",
"default": "Standard",
"legacy": "Legacy",
"windowType": "Fenster Typ",
"moneyFormat": "Währungsformat",
"damageNumbers": "Schadensnummern",
"simple": "Simpel",
"fancy": "Schön",
"abbreviated": "Abgekürzt",
"moveAnimations": "Attacken Animationen",
"showStatsOnLevelUp": "Werte beim Aufleveln anzeigen",
"candyUpgradeNotification": "Bonbon Upgrade Benachrichtigung",
"passivesOnly": "Nur Passive",
"candyUpgradeDisplay": "Bonbon Upgrade Anzeige",
"icon": "Icon",
"animation": "Animation",
"moveInfo": "Attacken-Info",
"showMovesetFlyout": "Zeige Attacken Flyout",
"showArenaFlyout": "Zeige Arena Flyout",
"showTimeOfDayWidget": "Zeige Tageszeit Widget",
"timeOfDayAnimation": "Tageszeit Animation",
"bounce": "Springen",
"back": "Zurück",
"spriteSet": "Sprite Satz",
"consistent": "Konistent",
"mixedAnimated": "Gemischt animiert",
"fusionPaletteSwaps": "Fusion-Farbpalettenwechsel",
"playerGender": "Spieler Geschlecht",
"typeHints": "Typhinweise",
"masterVolume": "Gesamtlautstärke",
"bgmVolume": "Hintergrundmusik",
"seVolume": "Spezialeffekte",
"musicPreference": "Musik Präferenz",
"mixed": "Gemisch",
"gamepadPleasePlug": "Bitte einen Controller anschließen oder eine Taste drücken",
"delete": "Löschen",
"keyboardPleasePress": "Bitte eine Taste auf der Tastatur drücken",
"reset": "Zurücksetzen",
"requireReload": "Neuladen benötigt",
"action": "Aktion",
"pressToBind": "Zum Zuweisen drücken",
"pressButton": "Eine Taste drücken...",
"buttonUp": "Hoch",
"buttonDown": "Runter",
"altButtonUp": "Hoch (Alt)",
"buttonLeft": "Links",
"buttonRight": "Rechts",
"buttonAction": "Aktion",
"buttonMenu": "Menü",
"buttonSubmit": "Bestätigen",
"altButtonDown": "Runter (Alt)",
"altButtonLeft": "Links (Alt)",
"altButtonRight": "Rechts (Alt)",
"altButtonAction": "Aktion (Alt)",
"buttonCancel": "Abbrechen",
"altButtonCancel": "Abbrechen (Alt)",
"altButtonMenu": "Menü (Alt)",
"buttonStats": "Statistiken",
"altButtonStats": "Statistiken (Alt)",
"buttonCycleForm": "Form wechseln",
"altButtonCycleForm": "Form wechseln (Alt)",
"buttonCycleShiny": "Schillernd wechseln",
"altButtonCycleShiny": "Schillernd wechseln (Alt)",
"buttonCycleGender": "Geschlecht wechseln",
"altButtonCycleGender": "Geschlecht wechseln (Alt)",
"buttonCycleAbility": "Fähigkeit wechseln",
"altButtonCycleAbility": "Fähigkeit wechseln (Alt)",
"buttonCycleNature": "Wesen wechseln",
"altButtonCycleNature": "Wesen wechslen (Alt)",
"buttonCycleVariant": "Variante wechseln",
"altButtonCycleVariant": "Variante wechseln (Alt)",
"buttonSpeedUp": "Beschleunigen",
"altButtonSpeedUp": "Beschleunigen (Alt)",
"buttonSlowDown": "Verlangsamen",
"altButtonSlowDown": "Verlangsamen (Alt)",
"altButtonSubmit": "Bestätigen (Alt)",
} as const; } as const;

View File

@ -1,4 +1,4 @@
import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = { export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: { ModifierType: {

View File

@ -1,4 +1,4 @@
import { MoveTranslationEntries } from "#app/plugins/i18n"; import { MoveTranslationEntries } from "#app/interfaces/locales";
export const move: MoveTranslationEntries = { export const move: MoveTranslationEntries = {
"pound": { "pound": {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const nature: SimpleTranslationEntries = { export const nature: SimpleTranslationEntries = {
"Hardy": "Robust", "Hardy": "Robust",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const partyUiHandler: SimpleTranslationEntries = { export const partyUiHandler: SimpleTranslationEntries = {
"SEND_OUT": "Einwechseln", "SEND_OUT": "Einwechseln",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokeball: SimpleTranslationEntries = { export const pokeball: SimpleTranslationEntries = {
"pokeBall": "Pokéball", "pokeBall": "Pokéball",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfoContainer: SimpleTranslationEntries = { export const pokemonInfoContainer: SimpleTranslationEntries = {
"moveset": "Attacken", "moveset": "Attacken",

View File

@ -1,4 +1,4 @@
import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; import { PokemonInfoTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfo: PokemonInfoTranslationEntries = { export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: { Stat: {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemon: SimpleTranslationEntries = { export const pokemon: SimpleTranslationEntries = {
"bulbasaur": "Bisasam", "bulbasaur": "Bisasam",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const saveSlotSelectUiHandler: SimpleTranslationEntries = { export const saveSlotSelectUiHandler: SimpleTranslationEntries = {
"overwriteData": "Den ausgewählten Speicherstand überschreiben?", "overwriteData": "Den ausgewählten Speicherstand überschreiben?",

View File

@ -0,0 +1,97 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales.js";
export const settings: SimpleTranslationEntries = {
"boy": "Junge",
"girl": "Mädchen",
"general": "Allgemein",
"display": "Anzeige",
"audio": "Audio",
"gamepad": "Controller",
"keyboard": "Tastatur",
"gameSpeed": "Spielgeschwindigkeit",
"hpBarSpeed": "KP-Balken Geschwindigkeit",
"expGainsSpeed": "EXP-Balken Geschwindigkeit",
"expPartyDisplay": "Team-EXP anzeigen",
"skipSeenDialogues": "Gesehenen Dialog überspringen",
"battleStyle": "Kampfstil",
"enableRetries": "Erneut versuchen aktivieren",
"tutorials": "Tutorials",
"touchControls": "Touch Steuerung",
"vibrations": "Vibration",
"normal": "Normal",
"fast": "Schnell",
"faster": "Schneller",
"skip": "Überspringen",
"levelUpNotifications": "Auflevelbenachrichtigung",
"on": "An",
"off": "Aus",
"switch": "Wechsel",
"set": "Folge",
"auto": "Auto",
"disabled": "Deaktiviert",
"language": "Sprache",
"change": "Ändern",
"uiTheme": "UI Thema",
"default": "Standard",
"legacy": "Legacy",
"windowType": "Fenster Typ",
"moneyFormat": "Währungsformat",
"damageNumbers": "Schadensnummern",
"simple": "Simpel",
"fancy": "Schön",
"abbreviated": "Abgekürzt",
"moveAnimations": "Attacken Animationen",
"showStatsOnLevelUp": "Werte beim Aufleveln anzeigen",
"candyUpgradeNotification": "Bonbon Upgrade Benachrichtigung",
"passivesOnly": "Nur Passive",
"candyUpgradeDisplay": "Bonbon Upgrade Anzeige",
"icon": "Icon",
"animation": "Animation",
"moveInfo": "Attacken-Info",
"showMovesetFlyout": "Zeige Attacken Flyout",
"showArenaFlyout": "Zeige Arena Flyout",
"showTimeOfDayWidget": "Zeige Tageszeit Widget",
"timeOfDayAnimation": "Tageszeit Animation",
"bounce": "Springen",
"back": "Zurück",
"spriteSet": "Sprite Satz",
"consistent": "Konistent",
"mixedAnimated": "Gemischt animiert",
"fusionPaletteSwaps": "Fusion-Farbpalettenwechsel",
"playerGender": "Spieler Geschlecht",
"typeHints": "Typhinweise",
"masterVolume": "Gesamtlautstärke",
"bgmVolume": "Hintergrundmusik",
"seVolume": "Spezialeffekte",
"musicPreference": "Musik Präferenz",
"mixed": "Gemisch",
"gamepadPleasePlug": "Bitte einen Controller anschließen oder eine Taste drücken",
"delete": "Löschen",
"keyboardPleasePress": "Bitte eine Taste auf der Tastatur drücken",
"reset": "Zurücksetzen",
"requireReload": "Neuladen benötigt",
"action": "Aktion",
"pressToBind": "Zum Zuweisen drücken",
"pressButton": "Eine Taste drücken...",
"buttonUp": "Hoch",
"buttonDown": "Runter",
"buttonLeft": "Links",
"buttonRight": "Rechts",
"buttonAction": "Aktion",
"buttonMenu": "Menü",
"buttonSubmit": "Bestätigen",
"buttonCancel": "Abbrechen",
"buttonStats": "Statistiken",
"buttonCycleForm": "Form wechseln",
"buttonCycleShiny": "Schillernd wechseln",
"buttonCycleGender": "Geschlecht wechseln",
"buttonCycleAbility": "Fähigkeit wechseln",
"buttonCycleNature": "Wesen wechseln",
"buttonCycleVariant": "Variante wechseln",
"buttonSpeedUp": "Beschleunigen",
"buttonSlowDown": "Verlangsamen",
"alt": " (Alt)",
"mute": "Mute",
"controller": "Controller",
"gamepadSupport": "Gamepad Support"
} as const;

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const splashMessages: SimpleTranslationEntries = { export const splashMessages: SimpleTranslationEntries = {
"battlesWon": "Kämpfe gewonnen!", "battlesWon": "Kämpfe gewonnen!",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
/** /**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's * The menu namespace holds most miscellaneous text that isn't directly part of the game's

View File

@ -1,4 +1,4 @@
import {SimpleTranslationEntries} from "#app/plugins/i18n"; import {SimpleTranslationEntries} from "#app/interfaces/locales";
// Titles of special trainers like gym leaders, elite four, and the champion // Titles of special trainers like gym leaders, elite four, and the champion
export const titles: SimpleTranslationEntries = { export const titles: SimpleTranslationEntries = {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const tutorial: SimpleTranslationEntries = { export const tutorial: SimpleTranslationEntries = {
"intro": `Willkommen bei PokéRogue! Dies ist ein kampforientiertes Pokémon-Fangame mit Roguelite-Elementen. "intro": `Willkommen bei PokéRogue! Dies ist ein kampforientiertes Pokémon-Fangame mit Roguelite-Elementen.

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const voucher: SimpleTranslationEntries = { export const voucher: SimpleTranslationEntries = {
"vouchers": "Gutscheine", "vouchers": "Gutscheine",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
/** /**
* The weather namespace holds text displayed when weather is active during a battle * The weather namespace holds text displayed when weather is active during a battle

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = { export const abilityTriggers: SimpleTranslationEntries = {
"blockRecoilDamage" : "{{pokemonName}}'s {{abilityName}}\nprotected it from recoil!", "blockRecoilDamage" : "{{pokemonName}}'s {{abilityName}}\nprotected it from recoil!",

View File

@ -1,4 +1,4 @@
import { AbilityTranslationEntries } from "#app/plugins/i18n.js"; import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
export const ability: AbilityTranslationEntries = { export const ability: AbilityTranslationEntries = {
stench: { stench: {

View File

@ -1,4 +1,4 @@
import { AchievementTranslationEntries } from "#app/plugins/i18n.js"; import { AchievementTranslationEntries } from "#app/interfaces/locales.js";
// Achievement translations for the when the player character is male // Achievement translations for the when the player character is male
export const PGMachv: AchievementTranslationEntries = { export const PGMachv: AchievementTranslationEntries = {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = { export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "Best", "ivBest": "Best",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = { export const battle: SimpleTranslationEntries = {
"bossAppeared": "{{bossName}} appeared.", "bossAppeared": "{{bossName}} appeared.",

View File

@ -1,4 +1,4 @@
import { BerryTranslationEntries } from "#app/plugins/i18n"; import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = { export const berry: BerryTranslationEntries = {
"SITRUS": { "SITRUS": {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = { export const biome: SimpleTranslationEntries = {
"unknownLocation": "Somewhere you can\'t remember", "unknownLocation": "Somewhere you can\'t remember",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const challenges: SimpleTranslationEntries = { export const challenges: SimpleTranslationEntries = {
"title": "Challenge Modifiers", "title": "Challenge Modifiers",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = { export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Fight", "fight": "Fight",

View File

@ -1,3 +1,4 @@
import { settings } from "#app/locales/en/settings.js";
import { ability } from "./ability"; import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger"; import { abilityTriggers } from "./ability-trigger";
import { PGFachv, PGMachv } from "./achv"; import { PGFachv, PGMachv } from "./achv";
@ -75,6 +76,7 @@ export const enConfig = {
pokemonInfo: pokemonInfo, pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer, pokemonInfoContainer: pokemonInfoContainer,
saveSlotSelectUiHandler: saveSlotSelectUiHandler, saveSlotSelectUiHandler: saveSlotSelectUiHandler,
settings: settings,
splashMessages: splashMessages, splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler, starterSelectUiHandler: starterSelectUiHandler,
titles: titles, titles: titles,

View File

@ -1,4 +1,4 @@
import { DialogueTranslationEntries, SimpleTranslationEntries } from "#app/plugins/i18n"; import { DialogueTranslationEntries, SimpleTranslationEntries } from "#app/interfaces/locales";
// Dialogue of the NPCs in the game when the player character is male (or unset) // Dialogue of the NPCs in the game when the player character is male (or unset)
export const PGMdialogue: DialogueTranslationEntries = { export const PGMdialogue: DialogueTranslationEntries = {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = { export const egg: SimpleTranslationEntries = {
"egg": "Egg", "egg": "Egg",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = { export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP", "pp": "PP",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameMode: SimpleTranslationEntries = { export const gameMode: SimpleTranslationEntries = {
"classic": "Classic", "classic": "Classic",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = { export const gameStatsUiHandler: SimpleTranslationEntries = {
"stats": "Stats", "stats": "Stats",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = { export const growth: SimpleTranslationEntries = {
"Erratic": "Erratic", "Erratic": "Erratic",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = { export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "Game Settings", "GAME_SETTINGS": "Game Settings",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
/** /**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's * The menu namespace holds most miscellaneous text that isn't directly part of the game's
@ -34,8 +34,6 @@ export const menu: SimpleTranslationEntries = {
"sessionSuccess": "Session loaded successfully.", "sessionSuccess": "Session loaded successfully.",
"failedToLoadSession": "Your session data could not be loaded.\nIt may be corrupted.", "failedToLoadSession": "Your session data could not be loaded.\nIt may be corrupted.",
"boyOrGirl": "Are you a boy or a girl?", "boyOrGirl": "Are you a boy or a girl?",
"boy": "Boy",
"girl": "Girl",
"evolving": "What?\n{{pokemonName}} is evolving!", "evolving": "What?\n{{pokemonName}} is evolving!",
"stoppedEvolving": "{{pokemonName}} stopped evolving.", "stoppedEvolving": "{{pokemonName}} stopped evolving.",
"pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.", "pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.",
@ -55,108 +53,4 @@ export const menu: SimpleTranslationEntries = {
"no":"No", "no":"No",
"disclaimer": "DISCLAIMER", "disclaimer": "DISCLAIMER",
"disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed.", "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed.",
"general": "General",
"display": "Display",
"audio": "Audio",
"gamepad": "Gamepad",
"keyboard": "Keyboard",
"gameSpeed": "Game Speed",
"hpBarSpeed": "HP Bar Speed",
"expGainsSpeed": "EXP Gains Speed",
"expPartyDisplay": "Show EXP Party",
"skipSeenDialogues": "Skip Seen Dialogues",
"battleStyle": "Battle Style",
"enableRetries": "Enable Retries",
"tutorials": "Tutorials",
"touchControls": "Touch Controls",
"vibrations": "Vibrations",
"normal": "Normal",
"fast": "Fast",
"faster": "Faster",
"skip": "Skip",
"levelUpNotifications": "Level Up Notifications",
"on": "On",
"off": "Off",
"switch": "Switch",
"set": "Set",
"auto": "Auto",
"disabled": "Disabled",
"language": "Language",
"change": "Change",
"uiTheme": "UI Theme",
"default": "Default",
"legacy": "Legacy",
"windowType": "Window Type",
"moneyFormat": "Money Format",
"damageNumbers": "Damage Numbers",
"simple": "Simple",
"fancy": "Fancy",
"abbreviated": "Abbreviated",
"moveAnimations": "Move Animations",
"showStatsOnLevelUp": "Show Stats on Level Up",
"candyUpgradeNotification": "Candy Upgrade Notification",
"passivesOnly": "Passives Only",
"candyUpgradeDisplay": "Candy Upgrade Display",
"icon": "Icon",
"animation": "Animation",
"moveInfo": "Move Info",
"showMovesetFlyout": "Show Moveset Flyout",
"showArenaFlyout": "Show Arena Flyout",
"showTimeOfDayWidget": "Show Time of Day Widget",
"timeOfDayAnimation": "Time of Day Animation",
"bounce": "Bounce",
"back": "Back",
"spriteSet": "Sprite Set",
"consistent": "Consistent",
"mixedAnimated": "Mixed Animated",
"fusionPaletteSwaps": "Fusion Palette Swaps",
"playerGender": "Player Gender",
"typeHints": "Type Hints",
"masterVolume": "Master Volume",
"bgmVolume": "BGM Volume",
"seVolume": "SE Volume",
"musicPreference": "Music Preference",
"mixed": "Mixed",
"gamepadPleasePlug": "Please Plug in a Gamepad or Press a Button",
"delete": "Delete",
"keyboardPleasePress": "Please Press a Key on Your Keyboard",
"reset": "Reset",
"requireReload": "Reload Required",
"action": "Action",
"pressToBind": "Press to Bind",
"pressButton": "Press a Button...",
"buttonUp": "Up",
"buttonDown": "Down",
"altButtonUp": "Up (Alt)",
"buttonLeft": "Left",
"buttonRight": "Right",
"buttonAction": "Action",
"buttonMenu": "Menu",
"buttonSubmit": "Submit",
"altButtonDown": "Down (Alt)",
"altButtonLeft": "Left (Alt)",
"altButtonRight": "Right (Alt)",
"altButtonAction": "Action (Alt)",
"buttonCancel": "Cancel",
"altButtonCancel": "Cancel (Alt)",
"altButtonMenu": "Menu (Alt)",
"buttonStats": "Stats",
"altButtonStats": "Stats (Alt)",
"buttonCycleForm": "Cycle Form",
"altButtonCycleForm": "Cycle Form (Alt)",
"buttonCycleShiny": "Cycle Shiny",
"altButtonCycleShiny": "Cycle Shiny (Alt)",
"buttonCycleGender": "Cycle Gender",
"altButtonCycleGender": "Cycle Gender (Alt)",
"buttonCycleAbility": "Cycle Ability",
"altButtonCycleAbility": "Cycle Ability (Alt)",
"buttonCycleNature": "Cycle Nature",
"altButtonCycleNature": "Cycle Nature (Alt)",
"buttonCycleVariant": "Cycle Variant",
"altButtonCycleVariant": "Cycle Variant (Alt)",
"buttonSpeedUp": "Speed Up",
"altButtonSpeedUp": "Speed Up (Alt)",
"buttonSlowDown": "Slow Down",
"altButtonSlowDown": "Slow Down (Alt)",
"altButtonSubmit": "Submit (Alt)"
} as const; } as const;

View File

@ -1,4 +1,4 @@
import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = { export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: { ModifierType: {

View File

@ -1,4 +1,4 @@
import { MoveTranslationEntries } from "#app/plugins/i18n"; import { MoveTranslationEntries } from "#app/interfaces/locales";
export const move: MoveTranslationEntries = { export const move: MoveTranslationEntries = {
"pound": { "pound": {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const nature: SimpleTranslationEntries = { export const nature: SimpleTranslationEntries = {
"Hardy": "Hardy", "Hardy": "Hardy",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const partyUiHandler: SimpleTranslationEntries = { export const partyUiHandler: SimpleTranslationEntries = {
"ALL": "All", "ALL": "All",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokeball: SimpleTranslationEntries = { export const pokeball: SimpleTranslationEntries = {
"pokeBall": "Poké Ball", "pokeBall": "Poké Ball",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfoContainer: SimpleTranslationEntries = { export const pokemonInfoContainer: SimpleTranslationEntries = {
"moveset": "Moveset", "moveset": "Moveset",

View File

@ -1,4 +1,4 @@
import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; import { PokemonInfoTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfo: PokemonInfoTranslationEntries = { export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: { Stat: {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemon: SimpleTranslationEntries = { export const pokemon: SimpleTranslationEntries = {
"bulbasaur": "Bulbasaur", "bulbasaur": "Bulbasaur",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const saveSlotSelectUiHandler: SimpleTranslationEntries = { export const saveSlotSelectUiHandler: SimpleTranslationEntries = {
"overwriteData": "Overwrite the data in the selected slot?", "overwriteData": "Overwrite the data in the selected slot?",

View File

@ -0,0 +1,97 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales.js";
export const settings: SimpleTranslationEntries = {
"boy": "Boy",
"girl": "Girl",
"general": "General",
"display": "Display",
"audio": "Audio",
"gamepad": "Gamepad",
"keyboard": "Keyboard",
"gameSpeed": "Game Speed",
"hpBarSpeed": "HP Bar Speed",
"expGainsSpeed": "EXP Gains Speed",
"expPartyDisplay": "Show EXP Party",
"skipSeenDialogues": "Skip Seen Dialogues",
"battleStyle": "Battle Style",
"enableRetries": "Enable Retries",
"tutorials": "Tutorials",
"touchControls": "Touch Controls",
"vibrations": "Vibrations",
"normal": "Normal",
"fast": "Fast",
"faster": "Faster",
"skip": "Skip",
"levelUpNotifications": "Level Up Notifications",
"on": "On",
"off": "Off",
"switch": "Switch",
"set": "Set",
"auto": "Auto",
"disabled": "Disabled",
"language": "Language",
"change": "Change",
"uiTheme": "UI Theme",
"default": "Default",
"legacy": "Legacy",
"windowType": "Window Type",
"moneyFormat": "Money Format",
"damageNumbers": "Damage Numbers",
"simple": "Simple",
"fancy": "Fancy",
"abbreviated": "Abbreviated",
"moveAnimations": "Move Animations",
"showStatsOnLevelUp": "Show Stats on Level Up",
"candyUpgradeNotification": "Candy Upgrade Notification",
"passivesOnly": "Passives Only",
"candyUpgradeDisplay": "Candy Upgrade Display",
"icon": "Icon",
"animation": "Animation",
"moveInfo": "Move Info",
"showMovesetFlyout": "Show Moveset Flyout",
"showArenaFlyout": "Show Arena Flyout",
"showTimeOfDayWidget": "Show Time of Day Widget",
"timeOfDayAnimation": "Time of Day Animation",
"bounce": "Bounce",
"back": "Back",
"spriteSet": "Sprite Set",
"consistent": "Consistent",
"mixedAnimated": "Mixed Animated",
"fusionPaletteSwaps": "Fusion Palette Swaps",
"playerGender": "Player Gender",
"typeHints": "Type Hints",
"masterVolume": "Master Volume",
"bgmVolume": "BGM Volume",
"seVolume": "SE Volume",
"musicPreference": "Music Preference",
"mixed": "Mixed",
"gamepadPleasePlug": "Please Plug in a Gamepad or Press a Button",
"delete": "Delete",
"keyboardPleasePress": "Please Press a Key on Your Keyboard",
"reset": "Reset",
"requireReload": "Reload Required",
"action": "Action",
"pressToBind": "Press to Bind",
"pressButton": "Press a Button...",
"buttonUp": "Up",
"buttonDown": "Down",
"buttonLeft": "Left",
"buttonRight": "Right",
"buttonAction": "Action",
"buttonMenu": "Menu",
"buttonSubmit": "Submit",
"buttonCancel": "Cancel",
"buttonStats": "Stats",
"buttonCycleForm": "Cycle Form",
"buttonCycleShiny": "Cycle Shiny",
"buttonCycleGender": "Cycle Gender",
"buttonCycleAbility": "Cycle Ability",
"buttonCycleNature": "Cycle Nature",
"buttonCycleVariant": "Cycle Variant",
"buttonSpeedUp": "Speed Up",
"buttonSlowDown": "Slow Down",
"alt": " (Alt)",
"mute": "Mute",
"controller": "Controller",
"gamepadSupport": "Gamepad Support"
} as const;

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const splashMessages: SimpleTranslationEntries = { export const splashMessages: SimpleTranslationEntries = {
"battlesWon": "Battles Won!", "battlesWon": "Battles Won!",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
/** /**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's * The menu namespace holds most miscellaneous text that isn't directly part of the game's

View File

@ -1,4 +1,4 @@
import {SimpleTranslationEntries} from "#app/plugins/i18n"; import {SimpleTranslationEntries} from "#app/interfaces/locales";
// Titles of special trainers like gym leaders, elite four, and the champion // Titles of special trainers like gym leaders, elite four, and the champion
export const titles: SimpleTranslationEntries = { export const titles: SimpleTranslationEntries = {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const tutorial: SimpleTranslationEntries = { export const tutorial: SimpleTranslationEntries = {
"intro": `Welcome to PokéRogue! This is a battle-focused Pokémon fangame with roguelite elements. "intro": `Welcome to PokéRogue! This is a battle-focused Pokémon fangame with roguelite elements.

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const voucher: SimpleTranslationEntries = { export const voucher: SimpleTranslationEntries = {
"vouchers": "Vouchers", "vouchers": "Vouchers",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
/** /**
* The weather namespace holds text displayed when weather is active during a battle * The weather namespace holds text displayed when weather is active during a battle

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = { export const abilityTriggers: SimpleTranslationEntries = {
"blockRecoilDamage" : "¡{{abilityName}} de {{pokemonName}}\nlo protegió del daño de retroceso!", "blockRecoilDamage" : "¡{{abilityName}} de {{pokemonName}}\nlo protegió del daño de retroceso!",

View File

@ -1,4 +1,4 @@
import { AbilityTranslationEntries } from "#app/plugins/i18n.js"; import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
export const ability: AbilityTranslationEntries = { export const ability: AbilityTranslationEntries = {
"stench": { "stench": {

View File

@ -1,4 +1,4 @@
import { AchievementTranslationEntries } from "#app/plugins/i18n.js"; import { AchievementTranslationEntries } from "#app/interfaces/locales.js";
// Achievement translations for the when the player character is male // Achievement translations for the when the player character is male
export const PGMachv: AchievementTranslationEntries = { export const PGMachv: AchievementTranslationEntries = {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = { export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "Inmejorable", "ivBest": "Inmejorable",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = { export const battle: SimpleTranslationEntries = {
"bossAppeared": "¡{{bossName}} te corta el paso!", "bossAppeared": "¡{{bossName}} te corta el paso!",

View File

@ -1,4 +1,4 @@
import { BerryTranslationEntries } from "#app/plugins/i18n"; import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = { export const berry: BerryTranslationEntries = {
"SITRUS": { "SITRUS": {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = { export const biome: SimpleTranslationEntries = {
"unknownLocation": "En algún lugar que no puedes recordar", "unknownLocation": "En algún lugar que no puedes recordar",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const challenges: SimpleTranslationEntries = { export const challenges: SimpleTranslationEntries = {
"title": "Parámetros de Desafíos", "title": "Parámetros de Desafíos",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = { export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Luchar", "fight": "Luchar",

View File

@ -39,6 +39,7 @@ import { tutorial } from "./tutorial";
import { voucher } from "./voucher"; import { voucher } from "./voucher";
import { weather } from "./weather"; import { weather } from "./weather";
import { partyUiHandler } from "./party-ui-handler"; import { partyUiHandler } from "./party-ui-handler";
import { settings } from "#app/locales/es/settings.js";
export const esConfig = { export const esConfig = {
ability: ability, ability: ability,
@ -74,6 +75,7 @@ export const esConfig = {
pokemonInfo: pokemonInfo, pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer, pokemonInfoContainer: pokemonInfoContainer,
saveSlotSelectUiHandler: saveSlotSelectUiHandler, saveSlotSelectUiHandler: saveSlotSelectUiHandler,
settings: settings,
splashMessages: splashMessages, splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler, starterSelectUiHandler: starterSelectUiHandler,
titles: titles, titles: titles,

View File

@ -1,4 +1,4 @@
import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/plugins/i18n"; import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/interfaces/locales";
// Dialogue of the NPCs in the game when the player character is male (or unset) // Dialogue of the NPCs in the game when the player character is male (or unset)
export const PGMdialogue: DialogueTranslationEntries = { export const PGMdialogue: DialogueTranslationEntries = {

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = { export const egg: SimpleTranslationEntries = {
"egg": "Huevo", "egg": "Huevo",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = { export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP", "pp": "PP",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameMode: SimpleTranslationEntries = { export const gameMode: SimpleTranslationEntries = {
"classic": "Clásica", "classic": "Clásica",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = { export const gameStatsUiHandler: SimpleTranslationEntries = {
"stats": "Stats", "stats": "Stats",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = { export const growth: SimpleTranslationEntries = {
"Erratic": "Errático", "Erratic": "Errático",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = { export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "Ajustes", "GAME_SETTINGS": "Ajustes",

View File

@ -1,4 +1,4 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/interfaces/locales";
/** /**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's * The menu namespace holds most miscellaneous text that isn't directly part of the game's
@ -34,8 +34,6 @@ export const menu: SimpleTranslationEntries = {
"sessionSuccess": "Sesión cargada con éxito.", "sessionSuccess": "Sesión cargada con éxito.",
"failedToLoadSession": "No se han podido cargar los datos de tu sesión.\nPuede que estén corruptos.", "failedToLoadSession": "No se han podido cargar los datos de tu sesión.\nPuede que estén corruptos.",
"boyOrGirl": "¿Eres un chico o una chica?", "boyOrGirl": "¿Eres un chico o una chica?",
"boy": "Chico",
"girl": "Chica",
"evolving": "¡Anda!\n¡{{pokemonName}} está evolucionando!", "evolving": "¡Anda!\n¡{{pokemonName}} está evolucionando!",
"stoppedEvolving": "¿Eh?\n¡La evolución de {{pokemonName}} se ha detenido!", "stoppedEvolving": "¿Eh?\n¡La evolución de {{pokemonName}} se ha detenido!",
"pauseEvolutionsQuestion": "¿Quieres detener las evoluciones de {{pokemonName}}?\nSiempre pueden ser reactivadas desde la pantalla de tu equipo.", "pauseEvolutionsQuestion": "¿Quieres detener las evoluciones de {{pokemonName}}?\nSiempre pueden ser reactivadas desde la pantalla de tu equipo.",
@ -54,109 +52,5 @@ export const menu: SimpleTranslationEntries = {
"yes":"Sí", "yes":"Sí",
"no":"No", "no":"No",
"disclaimer": "AVISO", "disclaimer": "AVISO",
"disclaimerDescription": "Este juego es un producto inacabado; puede tener problemas de jugabilidad (incluyendo la posible pérdida de datos de guardado),\ncambiar sin avisar, y puede o no puede ser actualizado hasta ser completado.", "disclaimerDescription": "Este juego es un producto inacabado; puede tener problemas de jugabilidad (incluyendo la posible pérdida\n de datos de guardado),cambiar sin avisar, y puede o no puede ser actualizado hasta ser completado.",
"general": "General",
"display": "Display",
"audio": "Audio",
"gamepad": "Gamepad",
"keyboard": "Keyboard",
"gameSpeed": "Game Speed",
"hpBarSpeed": "HP Bar Speed",
"expGainsSpeed": "EXP Gains Speed",
"expPartyDisplay": "Show EXP Party",
"skipSeenDialogues": "Skip Seen Dialogues",
"battleStyle": "Battle Style",
"enableRetries": "Enable Retries",
"tutorials": "Tutorials",
"touchControls": "Touch Controls",
"vibrations": "Vibrations",
"normal": "Normal",
"fast": "Fast",
"faster": "Faster",
"skip": "Skip",
"levelUpNotifications": "Level Up Notifications",
"on": "On",
"off": "Off",
"switch": "Switch",
"set": "Set",
"auto": "Auto",
"disabled": "Disabled",
"language": "Language",
"change": "Change",
"uiTheme": "UI Theme",
"default": "Default",
"legacy": "Legacy",
"windowType": "Window Type",
"moneyFormat": "Money Format",
"damageNumbers": "Damage Numbers",
"simple": "Simple",
"fancy": "Fancy",
"abbreviated": "Abbreviated",
"moveAnimations": "Move Animations",
"showStatsOnLevelUp": "Show Stats on Level Up",
"candyUpgradeNotification": "Candy Upgrade Notification",
"passivesOnly": "Passives Only",
"candyUpgradeDisplay": "Candy Upgrade Display",
"icon": "Icon",
"animation": "Animation",
"moveInfo": "Move Info",
"showMovesetFlyout": "Show Moveset Flyout",
"showArenaFlyout": "Show Arena Flyout",
"showTimeOfDayWidget": "Show Time of Day Widget",
"timeOfDayAnimation": "Time of Day Animation",
"bounce": "Bounce",
"back": "Back",
"spriteSet": "Sprite Set",
"consistent": "Consistent",
"mixedAnimated": "Mixed Animated",
"fusionPaletteSwaps": "Fusion Palette Swaps",
"playerGender": "Player Gender",
"typeHints": "Type Hints",
"masterVolume": "Master Volume",
"bgmVolume": "BGM Volume",
"seVolume": "SE Volume",
"musicPreference": "Music Preference",
"mixed": "Mixed",
"gamepadPleasePlug": "Please Plug in a Gamepad or Press a Button",
"delete": "Delete",
"keyboardPleasePress": "Please Press a Key on Your Keyboard",
"reset": "Reset",
"requireReload": "Reload Required",
"action": "Action",
"pressToBind": "Press to Bind",
"pressButton": "Press a Button...",
"buttonUp": "Up",
"buttonDown": "Down",
"altButtonUp": "Up (Alt)",
"buttonLeft": "Left",
"buttonRight": "Right",
"buttonAction": "Action",
"buttonMenu": "Menu",
"buttonSubmit": "Submit",
"altButtonDown": "Down (Alt)",
"altButtonLeft": "Left (Alt)",
"altButtonRight": "Right (Alt)",
"altButtonAction": "Action (Alt)",
"buttonCancel": "Cancel",
"altButtonCancel": "Cancel (Alt)",
"altButtonMenu": "Menu (Alt)",
"buttonStats": "Stats",
"altButtonStats": "Stats (Alt)",
"buttonCycleForm": "Cycle Form",
"altButtonCycleForm": "Cycle Form (Alt)",
"buttonCycleShiny": "Cycle Shiny",
"altButtonCycleShiny": "Cycle Shiny (Alt)",
"buttonCycleGender": "Cycle Gender",
"altButtonCycleGender": "Cycle Gender (Alt)",
"buttonCycleAbility": "Cycle Ability",
"altButtonCycleAbility": "Cycle Ability (Alt)",
"buttonCycleNature": "Cycle Nature",
"altButtonCycleNature": "Cycle Nature (Alt)",
"buttonCycleVariant": "Cycle Variant",
"altButtonCycleVariant": "Cycle Variant (Alt)",
"buttonSpeedUp": "Speed Up",
"altButtonSpeedUp": "Speed Up (Alt)",
"buttonSlowDown": "Slow Down",
"altButtonSlowDown": "Slow Down (Alt)",
"altButtonSubmit": "Submit (Alt)"
} as const; } as const;

View File

@ -1,4 +1,4 @@
import { ModifierTypeTranslationEntries } from "#app/plugins/i18n"; import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = { export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: { ModifierType: {

Some files were not shown because too many files have changed in this diff Show More