Added german types image, localized most of the strings in german, added some more strings that can be localized and localized types are now also showing in the starter select

This commit is contained in:
Jannik Tappert 2024-05-15 23:38:35 +02:00
parent e6969ac4bf
commit 57571b5a09
14 changed files with 139 additions and 77 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -1,40 +1,40 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const biome: SimpleTranslationEntries = { export const biome: SimpleTranslationEntries = {
"unknownLocation": "Somewhere you can\'t remember", "unknownLocation": "An einem unbekannten Ort",
"TOWN": "Town", "TOWN": "Stadt",
"PLAINS": "Plains", "PLAINS": "Ebene",
"GRASS": "Grassy Field", "GRASS": "Grasfeld",
"TALL_GRASS": "Tall Grass", "TALL_GRASS": "Hohes Gras",
"METROPOLIS": "Metropolis", "METROPOLIS": "Metropole",
"FOREST": "Forest", "FOREST": "Wald",
"SEA": "Sea", "SEA": "Meer",
"SWAMP": "Swamp", "SWAMP": "Sumpf",
"BEACH": "Beach", "BEACH": "Strand",
"LAKE": "Lake", "LAKE": "See",
"SEABED": "Seabed", "SEABED": "Meeresboden",
"MOUNTAIN": "Mountain", "MOUNTAIN": "Berg",
"BADLANDS": "Badlands", "BADLANDS": "Kargland",
"CAVE": "Cave", "CAVE": "Höhle",
"DESERT": "Desert", "DESERT": "Wüste",
"ICE_CAVE": "Ice Cave", "ICE_CAVE": "Eishöhle",
"MEADOW": "Meadow", "MEADOW": "Weide",
"POWER_PLANT": "Power Plant", "POWER_PLANT": "Kraftwerk",
"VOLCANO": "Volcano", "VOLCANO": "Vulkan",
"GRAVEYARD": "Graveyard", "GRAVEYARD": "Friedhof",
"DOJO": "Dojo", "DOJO": "Dojo",
"FACTORY": "Factory", "FACTORY": "Fabrik",
"RUINS": "Ancient Ruins", "RUINS": "Alte Ruinen",
"WASTELAND": "Wasteland", "WASTELAND": "Ödland",
"ABYSS": "The Abyss", "ABYSS": "Der Abgrund",
"SPACE": "Stratosphere", "SPACE": "Stratosphäre",
"CONSTRUCTION_SITE": "Construction Site", "CONSTRUCTION_SITE": "Baustelle",
"JUNGLE": "Jungle", "JUNGLE": "Dschungel",
"FAIRY_CAVE": "Fairy Cave", "FAIRY_CAVE": "Feenhöhle",
"TEMPLE": "Temple", "TEMPLE": "Tempel",
"SLUM": "Slum", "SLUM": "Elendsviertel",
"SNOWY_FOREST": "Snowy Forest", "SNOWY_FOREST": "Verschneiter Wald",
"ISLAND": "Island", "ISLAND": "Insel",
"LABORATORY": "Laboratory", "LABORATORY": "Labor",
"END": "Final Destination", "END": "Ende",
} as const; } as const;

View File

@ -1,17 +1,21 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n"; import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const partyUiHandler: SimpleTranslationEntries = { export const partyUiHandler: SimpleTranslationEntries = {
"choosePokemon": "Choose a Pokémon.", "choosePokemon": "Wähle ein Pokémon.",
"cantReleaseInBattle": "You can\'t release a Pokémon that\'s in battle!", "cantReleaseInBattle": "Kämpfende Pokémon können\n nicht freigelassen werden.",
"what2doWithPoke": "Do what with this Pokémon?", "what2doWithPoke": "Was möchtest du mit diesem Pokémon tun?",
"cancelShort": "Cancel", "cancelShort": "Abbrechen",
"selectMove": "Select a move.", "selectMove": "Wähle eine Attacke.",
"selectHeldItemTransfer": "Select a held item to transfer.", "selectHeldItemTransfer": "Wähle welches Item du übertragen möchtest.",
"selectSplice": "Select another Pokémon to splice.", "selectSplice": "Wähle ein Pokémon zum verbinden.",
"deactivate": "Deactivate", "deactivate": "Deaktivieren",
"activate": "Activate", "activate": "Aktivieren",
"SEND_OUT": "Send Out", "SEND_OUT": "Einwechseln",
"SUMMARY": "Summary", "SUMMARY": "Info",
"RELEASE": "Release", "RELEASE": "Freilassen",
"CANCEL": "Cancel" "CANCEL": "Abbrechen",
"unpauseEvolution": "{{pokemonName}} kann jetzt wieder\nentwickelt werden.",
"unsplicePokemon": "Willst du wirklich {{fusionSpeciesName}}\nvon {{pokemonName}} trennen? {{fusionSpeciesName}} wird freigelassen.",
"spliceRevertText": "{{fusionName}} wurde wieder zu {{pokemonName}}.",
"releasePokemon": "Willst du {{pokemonName}} wirklich freilassen?",
} as const; } as const;

View File

@ -16,8 +16,8 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"gen7": "VII", "gen7": "VII",
"gen8": "VIII", "gen8": "VIII",
"gen9": "IX", "gen9": "IX",
"growthRate": "Wachstum:", "growthRate": "Wachstumrate:",
"ability": "Fhgkeit:", "ability": "Fähigkeit:",
"passive": "Passiv:", "passive": "Passiv:",
"nature": "Wesen:", "nature": "Wesen:",
"eggMoves": "Ei-Attacken", "eggMoves": "Ei-Attacken",
@ -40,7 +40,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"disablePassive": "Passiv-Skill deaktivieren", "disablePassive": "Passiv-Skill deaktivieren",
"locked": "Gesperrt", "locked": "Gesperrt",
"disabled": "Deaktiviert", "disabled": "Deaktiviert",
"uncaught": "Uncaught", "uncaught": "Nicht gefangen",
"luck":" Luck", "luck":" Glück",
"form": "Form" "form": "Form",
} }

View File

@ -3,15 +3,15 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const SummaryUiHandler: SimpleTranslationEntries = { export const SummaryUiHandler: SimpleTranslationEntries = {
"pokemonInfo": "Pokémon Info", //Currently unused "pokemonInfo": "Pokémon Info", //Currently unused
"originalTrainer": "OT", "originalTrainer": "OT",
"type": "Type", "type": "Typ",
"natureBeforeText": "", "natureBeforeText": "Wesen: ",
"natureAfterText": " nature", "natureAfterText": "",
"apparently": "apparently", "apparently": "Wahrscheinlich",
"metAtLv":"met at Lv", "metAtLv":"getroffen auf Lvl. ",
"status": "Status", "status": "Status",
"lvl": "Lvl", "lvl": "Lvl",
"unknown": 'Unknown', "unknown": 'Unbekannt',
"expPoints": "EXP. Points", "expPoints": "EP",
"nextLv": "Next Lv.", "nextLv": "Nächstes Lv",
"moveStats": "Power\nAccuracy\nCategory" "moveStats": "Stärke\nGenauigkeit\nKategorie",
} as const; } as const;

View File

@ -13,5 +13,10 @@ export const partyUiHandler: SimpleTranslationEntries = {
"SEND_OUT": "Send Out", "SEND_OUT": "Send Out",
"SUMMARY": "Summary", "SUMMARY": "Summary",
"RELEASE": "Release", "RELEASE": "Release",
"CANCEL": "Cancel" "CANCEL": "Cancel",
"unpauseEvolution": "Evolutions have been unpaused for {{pokemonName}}",
"unsplicePokemon": "`Do you really want to unsplice {{fusionSpeciesName}}\nfrom {{pokemonName}? {{fusionSpeciesName}} will be lost.",
"spliceRevertText": "{{fusionName}} was reverted to {{pokemonName}}.",
"releasePokemon": "Do you really want to release {{pokemonName}}?",
} as const; } as const;

View File

@ -13,5 +13,10 @@ export const partyUiHandler: SimpleTranslationEntries = {
"SEND_OUT": "Cambiar", "SEND_OUT": "Cambiar",
"SUMMARY": "Datos", "SUMMARY": "Datos",
"RELEASE": "Liberar", "RELEASE": "Liberar",
"CANCEL": "Cancelar" "CANCEL": "Cancelar",
"unpauseEvolution": "Evolutions have been unpaused for {{pokemonName}}",
"unsplicePokemon": "`Do you really want to unsplice {{fusionSpeciesName}}\nfrom {{pokemonName}? {{fusionSpeciesName}} will be lost.",
"spliceRevertText": "{{fusionName}} was reverted to {{pokemonName}}.",
"releasePokemon": "Do you really want to release {{pokemonName}}?",
} as const; } as const;

View File

@ -13,5 +13,10 @@ export const partyUiHandler: SimpleTranslationEntries = {
"SEND_OUT": "Send Out", "SEND_OUT": "Send Out",
"SUMMARY": "Summary", "SUMMARY": "Summary",
"RELEASE": "Release", "RELEASE": "Release",
"CANCEL": "Cancel" "CANCEL": "Cancel",
"unpauseEvolution": "Evolutions have been unpaused for {{pokemonName}}",
"unsplicePokemon": "`Do you really want to unsplice {{fusionSpeciesName}}\nfrom {{pokemonName}? {{fusionSpeciesName}} will be lost.",
"spliceRevertText": "{{fusionName}} was reverted to {{pokemonName}}.",
"releasePokemon": "Do you really want to release {{pokemonName}}?",
} as const; } as const;

View File

@ -13,5 +13,10 @@ export const partyUiHandler: SimpleTranslationEntries = {
"SEND_OUT": "Send Out", "SEND_OUT": "Send Out",
"SUMMARY": "Summary", "SUMMARY": "Summary",
"RELEASE": "Release", "RELEASE": "Release",
"CANCEL": "Cancel" "CANCEL": "Cancel",
"unpauseEvolution": "Evolutions have been unpaused for {{pokemonName}}",
"unsplicePokemon": "`Do you really want to unsplice {{fusionSpeciesName}}\nfrom {{pokemonName}? {{fusionSpeciesName}} will be lost.",
"spliceRevertText": "{{fusionName}} was reverted to {{pokemonName}}.",
"releasePokemon": "Do you really want to release {{pokemonName}}?",
} as const; } as const;

View File

@ -13,5 +13,10 @@ export const partyUiHandler: SimpleTranslationEntries = {
"SEND_OUT": "Send Out", "SEND_OUT": "Send Out",
"SUMMARY": "Summary", "SUMMARY": "Summary",
"RELEASE": "Release", "RELEASE": "Release",
"CANCEL": "Cancel" "CANCEL": "Cancel",
"unpauseEvolution": "Evolutions have been unpaused for {{pokemonName}}",
"unsplicePokemon": "`Do you really want to unsplice {{fusionSpeciesName}}\nfrom {{pokemonName}? {{fusionSpeciesName}} will be lost.",
"spliceRevertText": "{{fusionName}} was reverted to {{pokemonName}}.",
"releasePokemon": "Do you really want to release {{pokemonName}}?",
} as const; } as const;

View File

@ -13,5 +13,10 @@ export const partyUiHandler: SimpleTranslationEntries = {
"SEND_OUT": "Send Out", "SEND_OUT": "Send Out",
"SUMMARY": "Summary", "SUMMARY": "Summary",
"RELEASE": "Release", "RELEASE": "Release",
"CANCEL": "Cancel" "CANCEL": "Cancel",
"unpauseEvolution": "Evolutions have been unpaused for {{pokemonName}}",
"unsplicePokemon": "`Do you really want to unsplice {{fusionSpeciesName}}\nfrom {{pokemonName}? {{fusionSpeciesName}} will be lost.",
"spliceRevertText": "{{fusionName}} was reverted to {{pokemonName}}.",
"releasePokemon": "Do you really want to release {{pokemonName}}?",
} as const; } as const;

View File

@ -303,18 +303,18 @@ export default class PartyUiHandler extends MessageUiHandler {
this.clearOptions(); this.clearOptions();
ui.playSelect(); ui.playSelect();
pokemon.pauseEvolutions = false; pokemon.pauseEvolutions = false;
this.showText(`Evolutions have been unpaused for ${pokemon.name}.`, null, () => this.showText(null, 0), null, true); this.showText(i18next.t("partyUiHandler:unpauseEvolution",{pokemonName: pokemon.name}), null, () => this.showText(null, 0), null, true);
} else if (option === PartyOption.UNSPLICE) { } else if (option === PartyOption.UNSPLICE) {
this.clearOptions(); this.clearOptions();
ui.playSelect(); ui.playSelect();
this.showText(`Do you really want to unsplice ${pokemon.fusionSpecies.name}\nfrom ${pokemon.name}? ${pokemon.fusionSpecies.name} will be lost.`, null, () => { this.showText(i18next.t("partyUiHandler:unsplicePokemon",{fusionSpeciesName: pokemon.fusionSpecies.name, pokemonName: pokemon.name}), null, () => {
ui.setModeWithoutClear(Mode.CONFIRM, () => { ui.setModeWithoutClear(Mode.CONFIRM, () => {
const fusionName = pokemon.name; const fusionName = pokemon.name;
pokemon.unfuse().then(() => { pokemon.unfuse().then(() => {
this.clearPartySlots(); this.clearPartySlots();
this.populatePartySlots(); this.populatePartySlots();
ui.setMode(Mode.PARTY); ui.setMode(Mode.PARTY);
this.showText(`${fusionName} was reverted to ${pokemon.name}.`, null, () => { this.showText(i18next.t("partyUiHandler:spliceRevertText",{fusionName: fusionName,pokemonName: pokemon.name}), null, () => {
ui.setMode(Mode.PARTY); ui.setMode(Mode.PARTY);
this.showText(null, 0); this.showText(null, 0);
}, null, true); }, null, true);
@ -328,7 +328,7 @@ export default class PartyUiHandler extends MessageUiHandler {
this.clearOptions(); this.clearOptions();
ui.playSelect(); ui.playSelect();
if (this.cursor >= this.scene.currentBattle.getBattlerCount()) { if (this.cursor >= this.scene.currentBattle.getBattlerCount()) {
this.showText(`Do you really want to release ${pokemon.name}?`, null, () => { this.showText(i18next.t("partyUiHandler:releasePokemon",{pokemonName: pokemon.name}), null, () => {
ui.setModeWithoutClear(Mode.CONFIRM, () => { ui.setModeWithoutClear(Mode.CONFIRM, () => {
ui.setMode(Mode.PARTY); ui.setMode(Mode.PARTY);
this.doRelease(this.cursor); this.doRelease(this.cursor);

View File

@ -238,12 +238,22 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.pokemonNameText.setOrigin(0, 0); this.pokemonNameText.setOrigin(0, 0);
this.starterSelectContainer.add(this.pokemonNameText); this.starterSelectContainer.add(this.pokemonNameText);
let growthRateXPosition = 34;
switch (i18next.language) {
case 'de':
growthRateXPosition = 38;
break;
default:
growthRateXPosition = 34;
break
}
this.pokemonGrowthRateLabelText = addTextObject(this.scene, 8, 106, i18next.t("starterSelectUiHandler:growthRate"), TextStyle.SUMMARY_ALT, { fontSize: '36px' }); this.pokemonGrowthRateLabelText = addTextObject(this.scene, 8, 106, i18next.t("starterSelectUiHandler:growthRate"), TextStyle.SUMMARY_ALT, { fontSize: '36px' });
this.pokemonGrowthRateLabelText.setOrigin(0, 0); this.pokemonGrowthRateLabelText.setOrigin(0, 0);
this.pokemonGrowthRateLabelText.setVisible(false); this.pokemonGrowthRateLabelText.setVisible(false);
this.starterSelectContainer.add(this.pokemonGrowthRateLabelText); this.starterSelectContainer.add(this.pokemonGrowthRateLabelText);
this.pokemonGrowthRateText = addTextObject(this.scene, 34, 106, '', TextStyle.SUMMARY_PINK, { fontSize: '36px' }); this.pokemonGrowthRateText = addTextObject(this.scene, growthRateXPosition, 106, '', TextStyle.SUMMARY_PINK, { fontSize: '36px' });
this.pokemonGrowthRateText.setOrigin(0, 0); this.pokemonGrowthRateText.setOrigin(0, 0);
this.starterSelectContainer.add(this.pokemonGrowthRateText); this.starterSelectContainer.add(this.pokemonGrowthRateText);
@ -262,6 +272,9 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
case 'pt_BR': case 'pt_BR':
starterInfoXPosition = 32; starterInfoXPosition = 32;
break; break;
case 'de':
starterInfoXPosition = 36;
break;
default: default:
starterInfoXPosition = 31; starterInfoXPosition = 31;
break break
@ -274,6 +287,9 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
case 'pt_BR': case 'pt_BR':
starterInfoTextSize = '47px'; starterInfoTextSize = '47px';
break; break;
case 'de':
starterInfoTextSize = '52px';
break;
default: default:
starterInfoTextSize = '56px'; starterInfoTextSize = '56px';
break break
@ -461,12 +477,12 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.pokemonSprite.setPipeline(this.scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], ignoreTimeTint: true }); this.pokemonSprite.setPipeline(this.scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], ignoreTimeTint: true });
this.starterSelectContainer.add(this.pokemonSprite); this.starterSelectContainer.add(this.pokemonSprite);
this.type1Icon = this.scene.add.sprite(8, 98, 'types'); this.type1Icon = this.scene.add.sprite(8, 98, `types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ''}`);
this.type1Icon.setScale(0.5); this.type1Icon.setScale(0.5);
this.type1Icon.setOrigin(0, 0); this.type1Icon.setOrigin(0, 0);
this.starterSelectContainer.add(this.type1Icon); this.starterSelectContainer.add(this.type1Icon);
this.type2Icon = this.scene.add.sprite(26, 98, 'types'); this.type2Icon = this.scene.add.sprite(26, 98, `types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ''}`);
this.type2Icon.setScale(0.5); this.type2Icon.setScale(0.5);
this.type2Icon.setOrigin(0, 0); this.type2Icon.setOrigin(0, 0);
this.starterSelectContainer.add(this.type2Icon); this.starterSelectContainer.add(this.type2Icon);

View File

@ -108,6 +108,8 @@ export default class SummaryUiHandler extends UiHandler {
setup() { setup() {
const ui = this.getUi(); const ui = this.getUi();
const language = i18next.language;
this.summaryContainer = this.scene.add.container(0, 0); this.summaryContainer = this.scene.add.container(0, 0);
this.summaryContainer.setVisible(false); this.summaryContainer.setVisible(false);
ui.add(this.summaryContainer); ui.add(this.summaryContainer);
@ -225,7 +227,17 @@ export default class SummaryUiHandler extends UiHandler {
moveEffectBg.setOrigin(0, 0); moveEffectBg.setOrigin(0, 0);
this.moveEffectContainer.add(moveEffectBg); this.moveEffectContainer.add(moveEffectBg);
const moveEffectLabels = addTextObject(this.scene, 8, 12, i18next.t('summaryUiHandler:moveStats'), TextStyle.SUMMARY); let moveStatsXValue = 8;
switch (language) {
case 'de':
moveStatsXValue = 3;
break;
default:
moveStatsXValue = 8;
break;
}
const moveEffectLabels = addTextObject(this.scene, moveStatsXValue, 12, i18next.t('summaryUiHandler:moveStats'), TextStyle.SUMMARY);
moveEffectLabels.setLineSpacing(9); moveEffectLabels.setLineSpacing(9);
moveEffectLabels.setOrigin(0, 0); moveEffectLabels.setOrigin(0, 0);