mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2024-11-26 00:36:25 +00:00
Achievements localization, organized some locales files and ptBR translations (#1150)
* organizing, translations and achv localization * localized for all languages * minor fix * minor fix 2 * minor fix 3 * Fixed Achivment Localization, Added german localization and fixes some issues with german localization at other parts * fix pickup description * Update French achv.ts * French typo correction achv.ts * eslint fixes * added zhTW * minor fix * Achivment Bar is localized and gets bigger when using german * Changed some things to make it not as Big * The Achivment Bar now grows with the context * Updated Achivment Names in german * Update French achv.ts * Vouchers now will show the correct descrption again * minor fix * minor fixes * "sub" to "semi" * minor fix * fixes warning and organizes some files * forgot about english * korean translations * test fix --------- Co-authored-by: Jannik Tappert <tappertjannik@googlemail.com> Co-authored-by: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Co-authored-by: Lugiad <adrien.grivel@hotmail.fr>
This commit is contained in:
parent
7ee6c979cf
commit
c7de17a46e
@ -894,27 +894,27 @@ export const ability: AbilityTranslationEntries = {
|
|||||||
description: "Wechselt seine Fähigkeit zu der eines kampfunfähig gewordenen Mitstreiters.",
|
description: "Wechselt seine Fähigkeit zu der eines kampfunfähig gewordenen Mitstreiters.",
|
||||||
},
|
},
|
||||||
beastBoost: {
|
beastBoost: {
|
||||||
name: "BestienBoost",
|
name: "Bestien-Boost",
|
||||||
description: "Erhöht in jeder Runde, in der es ein anderes Pokémon besiegt, seinen höchsten Statuswert.",
|
description: "Erhöht in jeder Runde, in der es ein anderes Pokémon besiegt, seinen höchsten Statuswert.",
|
||||||
},
|
},
|
||||||
rksSystem: {
|
rksSystem: {
|
||||||
name: "AlphaSystem",
|
name: "Alpha-System",
|
||||||
description: "Das Pokémon passt seinen Typ der getragenen Disc an.",
|
description: "Das Pokémon passt seinen Typ der getragenen Disc an.",
|
||||||
},
|
},
|
||||||
electricSurge: {
|
electricSurge: {
|
||||||
name: "ElektroErzeuger",
|
name: "Elektro-Erzeuger",
|
||||||
description: "Erzeugt bei Kampfantritt ein Elektrofeld.",
|
description: "Erzeugt bei Kampfantritt ein Elektrofeld.",
|
||||||
},
|
},
|
||||||
psychicSurge: {
|
psychicSurge: {
|
||||||
name: "PsychoErzeuger",
|
name: "Psycho-Erzeuger",
|
||||||
description: "Erzeugt bei Kampfantritt ein Psychofeld.",
|
description: "Erzeugt bei Kampfantritt ein Psychofeld.",
|
||||||
},
|
},
|
||||||
mistySurge: {
|
mistySurge: {
|
||||||
name: "NebelErzeuger",
|
name: "Nebel-Erzeuger",
|
||||||
description: "Erzeugt bei Kampfantritt ein Nebelfeld.",
|
description: "Erzeugt bei Kampfantritt ein Nebelfeld.",
|
||||||
},
|
},
|
||||||
grassySurge: {
|
grassySurge: {
|
||||||
name: "GrasErzeuger",
|
name: "Gras-Erzeuger",
|
||||||
description: "Erzeugt bei Kampfantritt ein Grasfeld.",
|
description: "Erzeugt bei Kampfantritt ein Grasfeld.",
|
||||||
},
|
},
|
||||||
fullMetalBody: {
|
fullMetalBody: {
|
||||||
|
172
src/locales/de/achv.ts
Normal file
172
src/locales/de/achv.ts
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
|
||||||
|
|
||||||
|
export const achv: AchievementTranslationEntries = {
|
||||||
|
"Achievements": {
|
||||||
|
name: "Errungenschaften",
|
||||||
|
},
|
||||||
|
"Locked": {
|
||||||
|
name: "Gesperrt",
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"MoneyAchv": {
|
||||||
|
description:"Häufe eine Gesamtsumme von {{moneyAmount}} ₽ an",
|
||||||
|
},
|
||||||
|
"10K_MONEY": {
|
||||||
|
name: "Besserverdiener",
|
||||||
|
},
|
||||||
|
"100K_MONEY": {
|
||||||
|
name: "Reich",
|
||||||
|
},
|
||||||
|
"1M_MONEY": {
|
||||||
|
name: "Millionär",
|
||||||
|
},
|
||||||
|
"10M_MONEY": {
|
||||||
|
name: "Einprozenter",
|
||||||
|
},
|
||||||
|
|
||||||
|
"DamageAchv": {
|
||||||
|
description: "Füge mit einem Treffer {{damageAmount}} Schaden zu",
|
||||||
|
},
|
||||||
|
"250_DMG": {
|
||||||
|
name: "Harte Treffer",
|
||||||
|
},
|
||||||
|
"1000_DMG": {
|
||||||
|
name: "Härtere Treffer",
|
||||||
|
},
|
||||||
|
"2500_DMG": {
|
||||||
|
name: "Das ist ne Menge Schaden!",
|
||||||
|
},
|
||||||
|
"10000_DMG": {
|
||||||
|
name: "One Punch Man",
|
||||||
|
},
|
||||||
|
|
||||||
|
"HealAchv": {
|
||||||
|
description: "Heile {{healAmount}} {{HP}} auf einmal. Mit einer Attacke, Fähigkeit oder einem gehaltenen Gegenstand",
|
||||||
|
},
|
||||||
|
"250_HEAL": {
|
||||||
|
name: "Anfänger-Heiler",
|
||||||
|
},
|
||||||
|
"1000_HEAL": {
|
||||||
|
name: "Gesundheitsprofi",
|
||||||
|
},
|
||||||
|
"2500_HEAL": {
|
||||||
|
name: "Kleriker",
|
||||||
|
},
|
||||||
|
"10000_HEAL": {
|
||||||
|
name: "Wiederherstellungsmeister",
|
||||||
|
},
|
||||||
|
|
||||||
|
"LevelAchv": {
|
||||||
|
description: "Erhöhe das Level eines Pokémon auf {{level}}",
|
||||||
|
},
|
||||||
|
"LV_100": {
|
||||||
|
name: "Warte, es gibt mehr!",
|
||||||
|
},
|
||||||
|
"LV_250": {
|
||||||
|
name: "Elite",
|
||||||
|
},
|
||||||
|
"LV_1000": {
|
||||||
|
name: "Geh noch höher hinaus!",
|
||||||
|
},
|
||||||
|
|
||||||
|
"RibbonAchv": {
|
||||||
|
description: "Sammle insgesamt {{ribbonAmount}} Bänder",
|
||||||
|
},
|
||||||
|
"10_RIBBONS": {
|
||||||
|
name: "Champion der Pokémon Liga",
|
||||||
|
},
|
||||||
|
"25_RIBBONS": {
|
||||||
|
name: "Bänder-Sammler",
|
||||||
|
},
|
||||||
|
"50_RIBBONS": {
|
||||||
|
name: "Bänder-Experte",
|
||||||
|
},
|
||||||
|
"75_RIBBONS": {
|
||||||
|
name: "Bänder-Guru",
|
||||||
|
},
|
||||||
|
"100_RIBBONS": {
|
||||||
|
name: "Bänder-Meister",
|
||||||
|
},
|
||||||
|
|
||||||
|
"TRANSFER_MAX_BATTLE_STAT": {
|
||||||
|
name: "Teamwork",
|
||||||
|
description: "Nutze Staffette, während der Anwender mindestens eines Statuswertes maximiert hat",
|
||||||
|
},
|
||||||
|
"MAX_FRIENDSHIP": {
|
||||||
|
name: "Freundschaftsmaximierung",
|
||||||
|
description: "Erreiche maximale Freundschaft bei einem Pokémon",
|
||||||
|
},
|
||||||
|
"MEGA_EVOLVE": {
|
||||||
|
name: "Megaverwandlung",
|
||||||
|
description: "Megaentwickle ein Pokémon",
|
||||||
|
},
|
||||||
|
"GIGANTAMAX": {
|
||||||
|
name: "Absolute Einheit",
|
||||||
|
description: "Gigadynamaximiere ein Pokémon",
|
||||||
|
},
|
||||||
|
"TERASTALLIZE": {
|
||||||
|
name: "Typen-Bonus Enthusiast",
|
||||||
|
description: "Terrakristallisiere ein Pokémon",
|
||||||
|
},
|
||||||
|
"STELLAR_TERASTALLIZE": {
|
||||||
|
name: "Der geheime Typ",
|
||||||
|
description: "Terrakristallisiere ein Pokémon zum Typen Stellar",
|
||||||
|
},
|
||||||
|
"SPLICE": {
|
||||||
|
name: "Unendliche Fusion",
|
||||||
|
description: "Kombiniere zwei Pokémon mit einem DNS-Keil",
|
||||||
|
},
|
||||||
|
"MINI_BLACK_HOLE": {
|
||||||
|
name: "Ein Loch voller Items",
|
||||||
|
description: "Erlange ein Mini-Schwarzes Loch",
|
||||||
|
},
|
||||||
|
"CATCH_MYTHICAL": {
|
||||||
|
name: "Mysteriöses!",
|
||||||
|
description: "Fange ein mysteriöses Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_SUB_LEGENDARY": {
|
||||||
|
name: "Sub-Legendär",
|
||||||
|
description: "Fange ein sub-legendäres Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_LEGENDARY": {
|
||||||
|
name: "Legendär",
|
||||||
|
description: "Fange ein legendäres Pokémon",
|
||||||
|
},
|
||||||
|
"SEE_SHINY": {
|
||||||
|
name: "Schillerndes Licht",
|
||||||
|
description: "Finde ein wildes schillerndes Pokémon",
|
||||||
|
},
|
||||||
|
"SHINY_PARTY": {
|
||||||
|
name: "Das ist Hingabe",
|
||||||
|
description: "Habe ein Team aus schillernden Pokémon",
|
||||||
|
},
|
||||||
|
"HATCH_MYTHICAL": {
|
||||||
|
name: "Mysteriöses Ei",
|
||||||
|
description: "Lass ein mysteriöses Pokémon aus einem Ei schlüpfen",
|
||||||
|
},
|
||||||
|
"HATCH_SUB_LEGENDARY": {
|
||||||
|
name: "Sub-Legendäres Ei",
|
||||||
|
description: "Lass ein sub-legendäres Pokémon aus einem Ei schlüpfen",
|
||||||
|
},
|
||||||
|
"HATCH_LEGENDARY": {
|
||||||
|
name: "Legendäres Ei",
|
||||||
|
description: "Lass ein legendäres Pokémon aus einem Ei schlüpfen",
|
||||||
|
},
|
||||||
|
"HATCH_SHINY": {
|
||||||
|
name: "Schillerndes Ei",
|
||||||
|
description: "Lass ein schillerndes Pokémon aus einem Ei schlüpfen",
|
||||||
|
},
|
||||||
|
"HIDDEN_ABILITY": {
|
||||||
|
name: "Geheimes Talent",
|
||||||
|
description: "Fang ein Pokémon mit versteckter Fähigkeit",
|
||||||
|
},
|
||||||
|
"PERFECT_IVS": {
|
||||||
|
name: "Zertifikat der Echtheit",
|
||||||
|
description: "Erhalte ein Pokémon mit perfekten IS-Werten",
|
||||||
|
},
|
||||||
|
"CLASSIC_VICTORY": {
|
||||||
|
name: "Ungeschlagen",
|
||||||
|
description: "Beende den klassischen Modus erfolgreich",
|
||||||
|
},
|
||||||
|
} as const;
|
@ -1,9 +1,24 @@
|
|||||||
import { ability } from "./ability";
|
import { ability } from "./ability";
|
||||||
import { abilityTriggers } from "./ability-trigger";
|
import { abilityTriggers } from "./ability-trigger";
|
||||||
|
import { achv } from "./achv";
|
||||||
import { battle } from "./battle";
|
import { battle } from "./battle";
|
||||||
|
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||||
|
import { berry } from "./berry";
|
||||||
|
import { biome } from "./biome";
|
||||||
import { commandUiHandler } from "./command-ui-handler";
|
import { commandUiHandler } from "./command-ui-handler";
|
||||||
|
import {
|
||||||
|
PGFbattleSpecDialogue,
|
||||||
|
PGFdialogue,
|
||||||
|
PGFdoubleBattleDialogue,
|
||||||
|
PGFmiscDialogue,
|
||||||
|
PGMbattleSpecDialogue,
|
||||||
|
PGMdialogue,
|
||||||
|
PGMdoubleBattleDialogue,
|
||||||
|
PGMmiscDialogue
|
||||||
|
} from "./dialogue";
|
||||||
import { egg } from "./egg";
|
import { egg } from "./egg";
|
||||||
import { fightUiHandler } from "./fight-ui-handler";
|
import { fightUiHandler } from "./fight-ui-handler";
|
||||||
|
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
||||||
import { growth } from "./growth";
|
import { growth } from "./growth";
|
||||||
import { menu } from "./menu";
|
import { menu } from "./menu";
|
||||||
import { menuUiHandler } from "./menu-ui-handler";
|
import { menuUiHandler } from "./menu-ui-handler";
|
||||||
@ -13,33 +28,34 @@ import { nature } from "./nature";
|
|||||||
import { pokeball } from "./pokeball";
|
import { pokeball } from "./pokeball";
|
||||||
import { pokemon } from "./pokemon";
|
import { pokemon } from "./pokemon";
|
||||||
import { pokemonInfo } from "./pokemon-info";
|
import { pokemonInfo } from "./pokemon-info";
|
||||||
|
import { pokemonInfoContainer } from "./pokemon-info-container";
|
||||||
import { splashMessages } from "./splash-messages";
|
import { splashMessages } from "./splash-messages";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
import { weather } from "./weather";
|
|
||||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
|
||||||
import { berry } from "./berry";
|
|
||||||
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
|
||||||
import { voucher } from "./voucher";
|
import { voucher } from "./voucher";
|
||||||
import {
|
import { weather } from "./weather";
|
||||||
PGMdialogue,
|
|
||||||
PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue, PGMdoubleBattleDialogue, PGFdoubleBattleDialogue
|
|
||||||
} from "./dialogue";
|
|
||||||
import { biome } from "./biome";
|
|
||||||
import { pokemonInfoContainer } from "./pokemon-info-container";
|
|
||||||
|
|
||||||
export const deConfig = {
|
export const deConfig = {
|
||||||
ability: ability,
|
ability: ability,
|
||||||
abilityTriggers: abilityTriggers,
|
abilityTriggers: abilityTriggers,
|
||||||
|
achv: achv,
|
||||||
battle: battle,
|
battle: battle,
|
||||||
|
battleMessageUiHandler: battleMessageUiHandler,
|
||||||
|
berry: berry,
|
||||||
|
biome: biome,
|
||||||
commandUiHandler: commandUiHandler,
|
commandUiHandler: commandUiHandler,
|
||||||
|
PGMdialogue: PGMdialogue,
|
||||||
|
PGFdialogue: PGFdialogue,
|
||||||
|
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
||||||
|
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
||||||
|
PGMmiscDialogue: PGMmiscDialogue,
|
||||||
|
PGFmiscDialogue: PGFmiscDialogue,
|
||||||
|
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
||||||
|
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
|
||||||
egg: egg,
|
egg: egg,
|
||||||
fightUiHandler: fightUiHandler,
|
fightUiHandler: fightUiHandler,
|
||||||
|
gameStatsUiHandler: gameStatsUiHandler,
|
||||||
growth: growth,
|
growth: growth,
|
||||||
menu: menu,
|
menu: menu,
|
||||||
menuUiHandler: menuUiHandler,
|
menuUiHandler: menuUiHandler,
|
||||||
@ -49,25 +65,13 @@ export const deConfig = {
|
|||||||
pokeball: pokeball,
|
pokeball: pokeball,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
pokemonInfo: pokemonInfo,
|
pokemonInfo: pokemonInfo,
|
||||||
|
pokemonInfoContainer: pokemonInfoContainer,
|
||||||
splashMessages: splashMessages,
|
splashMessages: splashMessages,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
titles: titles,
|
titles: titles,
|
||||||
trainerClasses: trainerClasses,
|
trainerClasses: trainerClasses,
|
||||||
trainerNames: trainerNames,
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial,
|
tutorial: tutorial,
|
||||||
weather: weather,
|
|
||||||
battleMessageUiHandler: battleMessageUiHandler,
|
|
||||||
berry: berry,
|
|
||||||
gameStatsUiHandler: gameStatsUiHandler,
|
|
||||||
voucher: voucher,
|
voucher: voucher,
|
||||||
biome: biome,
|
weather: weather
|
||||||
pokemonInfoContainer: pokemonInfoContainer,
|
|
||||||
PGMdialogue: PGMdialogue,
|
|
||||||
PGFdialogue: PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue: PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue: PGFmiscDialogue,
|
|
||||||
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
|
||||||
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue
|
|
||||||
};
|
};
|
||||||
|
@ -2,8 +2,8 @@ import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
|
|||||||
|
|
||||||
export const pokemonInfo: PokemonInfoTranslationEntries = {
|
export const pokemonInfo: PokemonInfoTranslationEntries = {
|
||||||
Stat: {
|
Stat: {
|
||||||
"HP": "Max. KP",
|
"HP": "KP",
|
||||||
"HPshortened": "MaxKP",
|
"HPshortened": "KP",
|
||||||
"ATK": "Angriff",
|
"ATK": "Angriff",
|
||||||
"ATKshortened": "Ang",
|
"ATKshortened": "Ang",
|
||||||
"DEF": "Verteidigung",
|
"DEF": "Verteidigung",
|
||||||
|
@ -17,7 +17,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
|
|||||||
"gen8": "VIII",
|
"gen8": "VIII",
|
||||||
"gen9": "IX",
|
"gen9": "IX",
|
||||||
"growthRate": "Wachstum:",
|
"growthRate": "Wachstum:",
|
||||||
"ability": "Fähgkeit:",
|
"ability": "Fähigkeit:",
|
||||||
"passive": "Passiv:",
|
"passive": "Passiv:",
|
||||||
"nature": "Wesen:",
|
"nature": "Wesen:",
|
||||||
"eggMoves": "Ei-Attacken",
|
"eggMoves": "Ei-Attacken",
|
||||||
|
171
src/locales/en/achv.ts
Normal file
171
src/locales/en/achv.ts
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
|
||||||
|
|
||||||
|
export const achv: AchievementTranslationEntries = {
|
||||||
|
"Achievements": {
|
||||||
|
name: "Achievements",
|
||||||
|
},
|
||||||
|
"Locked": {
|
||||||
|
name: "Locked",
|
||||||
|
},
|
||||||
|
|
||||||
|
"MoneyAchv": {
|
||||||
|
description: "Accumulate a total of ₽{{moneyAmount}}",
|
||||||
|
},
|
||||||
|
"10K_MONEY": {
|
||||||
|
name: "Money Haver",
|
||||||
|
},
|
||||||
|
"100K_MONEY": {
|
||||||
|
name: "Rich",
|
||||||
|
},
|
||||||
|
"1M_MONEY": {
|
||||||
|
name: "Millionaire",
|
||||||
|
},
|
||||||
|
"10M_MONEY": {
|
||||||
|
name: "One Percenter",
|
||||||
|
},
|
||||||
|
|
||||||
|
"DamageAchv": {
|
||||||
|
description: "Inflict {{damageAmount}} damage in one hit",
|
||||||
|
},
|
||||||
|
"250_DMG": {
|
||||||
|
name: "Hard Hitter",
|
||||||
|
},
|
||||||
|
"1000_DMG": {
|
||||||
|
name: "Harder Hitter",
|
||||||
|
},
|
||||||
|
"2500_DMG": {
|
||||||
|
name: "That's a Lotta Damage!",
|
||||||
|
},
|
||||||
|
"10000_DMG": {
|
||||||
|
name: "One Punch Man",
|
||||||
|
},
|
||||||
|
|
||||||
|
"HealAchv": {
|
||||||
|
description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
|
||||||
|
},
|
||||||
|
"250_HEAL": {
|
||||||
|
name: "Novice Healer",
|
||||||
|
},
|
||||||
|
"1000_HEAL": {
|
||||||
|
name: "Big Healer",
|
||||||
|
},
|
||||||
|
"2500_HEAL": {
|
||||||
|
name: "Cleric",
|
||||||
|
},
|
||||||
|
"10000_HEAL": {
|
||||||
|
name: "Recovery Master",
|
||||||
|
},
|
||||||
|
|
||||||
|
"LevelAchv": {
|
||||||
|
description: "Level up a Pokémon to Lv{{level}}",
|
||||||
|
},
|
||||||
|
"LV_100": {
|
||||||
|
name: "But Wait, There's More!",
|
||||||
|
},
|
||||||
|
"LV_250": {
|
||||||
|
name: "Elite",
|
||||||
|
},
|
||||||
|
"LV_1000": {
|
||||||
|
name: "To Go Even Further Beyond",
|
||||||
|
},
|
||||||
|
|
||||||
|
"RibbonAchv": {
|
||||||
|
description: "Accumulate a total of {{ribbonAmount}} Ribbons",
|
||||||
|
},
|
||||||
|
"10_RIBBONS": {
|
||||||
|
name: "Pokémon League Champion",
|
||||||
|
},
|
||||||
|
"25_RIBBONS": {
|
||||||
|
name: "Great League Champion",
|
||||||
|
},
|
||||||
|
"50_RIBBONS": {
|
||||||
|
name: "Ultra League Champion",
|
||||||
|
},
|
||||||
|
"75_RIBBONS": {
|
||||||
|
name: "Rogue League Champion",
|
||||||
|
},
|
||||||
|
"100_RIBBONS": {
|
||||||
|
name: "Master League Champion",
|
||||||
|
},
|
||||||
|
|
||||||
|
"TRANSFER_MAX_BATTLE_STAT": {
|
||||||
|
name: "Teamwork",
|
||||||
|
description: "Baton pass to another party member with at least one stat maxed out",
|
||||||
|
},
|
||||||
|
"MAX_FRIENDSHIP": {
|
||||||
|
name: "Friendmaxxing",
|
||||||
|
description: "Reach max friendship on a Pokémon",
|
||||||
|
},
|
||||||
|
"MEGA_EVOLVE": {
|
||||||
|
name: "Megamorph",
|
||||||
|
description: "Mega evolve a Pokémon",
|
||||||
|
},
|
||||||
|
"GIGANTAMAX": {
|
||||||
|
name: "Absolute Unit",
|
||||||
|
description: "Gigantamax a Pokémon",
|
||||||
|
},
|
||||||
|
"TERASTALLIZE": {
|
||||||
|
name: "STAB Enthusiast",
|
||||||
|
description: "Terastallize a Pokémon",
|
||||||
|
},
|
||||||
|
"STELLAR_TERASTALLIZE": {
|
||||||
|
name: "The Hidden Type",
|
||||||
|
description: "Stellar Terastallize a Pokémon",
|
||||||
|
},
|
||||||
|
"SPLICE": {
|
||||||
|
name: "Infinite Fusion",
|
||||||
|
description: "Splice two Pokémon together with DNA Splicers",
|
||||||
|
},
|
||||||
|
"MINI_BLACK_HOLE": {
|
||||||
|
name: "A Hole Lot of Items",
|
||||||
|
description: "Acquire a Mini Black Hole",
|
||||||
|
},
|
||||||
|
"CATCH_MYTHICAL": {
|
||||||
|
name: "Mythical",
|
||||||
|
description: "Catch a mythical Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_SUB_LEGENDARY": {
|
||||||
|
name: "(Sub-)Legendary",
|
||||||
|
description: "Catch a sub-legendary Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_LEGENDARY": {
|
||||||
|
name: "Legendary",
|
||||||
|
description: "Catch a legendary Pokémon",
|
||||||
|
},
|
||||||
|
"SEE_SHINY": {
|
||||||
|
name: "Shiny",
|
||||||
|
description: "Find a shiny Pokémon in the wild",
|
||||||
|
},
|
||||||
|
"SHINY_PARTY": {
|
||||||
|
name: "That's Dedication",
|
||||||
|
description: "Have a full party of shiny Pokémon",
|
||||||
|
},
|
||||||
|
"HATCH_MYTHICAL": {
|
||||||
|
name: "Mythical Egg",
|
||||||
|
description: "Hatch a mythical Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_SUB_LEGENDARY": {
|
||||||
|
name: "Sub-Legendary Egg",
|
||||||
|
description: "Hatch a sub-legendary Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_LEGENDARY": {
|
||||||
|
name: "Legendary Egg",
|
||||||
|
description: "Hatch a legendary Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_SHINY": {
|
||||||
|
name: "Shiny Egg",
|
||||||
|
description: "Hatch a shiny Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HIDDEN_ABILITY": {
|
||||||
|
name: "Hidden Potential",
|
||||||
|
description: "Catch a Pokémon with a hidden ability",
|
||||||
|
},
|
||||||
|
"PERFECT_IVS": {
|
||||||
|
name: "Certificate of Authenticity",
|
||||||
|
description: "Get perfect IVs on a Pokémon",
|
||||||
|
},
|
||||||
|
"CLASSIC_VICTORY": {
|
||||||
|
name: "Undefeated",
|
||||||
|
description: "Beat the game in classic mode",
|
||||||
|
},
|
||||||
|
} as const;
|
@ -1,9 +1,24 @@
|
|||||||
import { ability } from "./ability";
|
import { ability } from "./ability";
|
||||||
import { abilityTriggers } from "./ability-trigger";
|
import { abilityTriggers } from "./ability-trigger";
|
||||||
|
import { achv } from "./achv";
|
||||||
import { battle } from "./battle";
|
import { battle } from "./battle";
|
||||||
|
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||||
|
import { berry } from "./berry";
|
||||||
|
import { biome } from "./biome";
|
||||||
import { commandUiHandler } from "./command-ui-handler";
|
import { commandUiHandler } from "./command-ui-handler";
|
||||||
|
import {
|
||||||
|
PGFbattleSpecDialogue,
|
||||||
|
PGFdialogue,
|
||||||
|
PGFdoubleBattleDialogue,
|
||||||
|
PGFmiscDialogue,
|
||||||
|
PGMbattleSpecDialogue,
|
||||||
|
PGMdialogue,
|
||||||
|
PGMdoubleBattleDialogue,
|
||||||
|
PGMmiscDialogue
|
||||||
|
} from "./dialogue";
|
||||||
import { egg } from "./egg";
|
import { egg } from "./egg";
|
||||||
import { fightUiHandler } from "./fight-ui-handler";
|
import { fightUiHandler } from "./fight-ui-handler";
|
||||||
|
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
||||||
import { growth } from "./growth";
|
import { growth } from "./growth";
|
||||||
import { menu } from "./menu";
|
import { menu } from "./menu";
|
||||||
import { menuUiHandler } from "./menu-ui-handler";
|
import { menuUiHandler } from "./menu-ui-handler";
|
||||||
@ -13,33 +28,34 @@ import { nature } from "./nature";
|
|||||||
import { pokeball } from "./pokeball";
|
import { pokeball } from "./pokeball";
|
||||||
import { pokemon } from "./pokemon";
|
import { pokemon } from "./pokemon";
|
||||||
import { pokemonInfo } from "./pokemon-info";
|
import { pokemonInfo } from "./pokemon-info";
|
||||||
|
import { pokemonInfoContainer } from "./pokemon-info-container";
|
||||||
import { splashMessages } from "./splash-messages";
|
import { splashMessages } from "./splash-messages";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
import { weather } from "./weather";
|
|
||||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
|
||||||
import { berry } from "./berry";
|
|
||||||
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
|
||||||
import { voucher } from "./voucher";
|
import { voucher } from "./voucher";
|
||||||
import {
|
import { weather } from "./weather";
|
||||||
PGMdialogue,
|
|
||||||
PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue, PGMdoubleBattleDialogue, PGFdoubleBattleDialogue
|
|
||||||
} from "./dialogue";
|
|
||||||
import { biome } from "./biome";
|
|
||||||
import { pokemonInfoContainer } from "./pokemon-info-container";
|
|
||||||
|
|
||||||
export const enConfig = {
|
export const enConfig = {
|
||||||
ability: ability,
|
ability: ability,
|
||||||
abilityTriggers: abilityTriggers,
|
abilityTriggers: abilityTriggers,
|
||||||
|
achv: achv,
|
||||||
battle: battle,
|
battle: battle,
|
||||||
|
battleMessageUiHandler: battleMessageUiHandler,
|
||||||
|
berry: berry,
|
||||||
|
biome: biome,
|
||||||
commandUiHandler: commandUiHandler,
|
commandUiHandler: commandUiHandler,
|
||||||
|
PGMdialogue: PGMdialogue,
|
||||||
|
PGFdialogue: PGFdialogue,
|
||||||
|
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
||||||
|
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
||||||
|
PGMmiscDialogue: PGMmiscDialogue,
|
||||||
|
PGFmiscDialogue: PGFmiscDialogue,
|
||||||
|
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
||||||
|
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
|
||||||
egg: egg,
|
egg: egg,
|
||||||
fightUiHandler: fightUiHandler,
|
fightUiHandler: fightUiHandler,
|
||||||
|
gameStatsUiHandler: gameStatsUiHandler,
|
||||||
growth: growth,
|
growth: growth,
|
||||||
menu: menu,
|
menu: menu,
|
||||||
menuUiHandler: menuUiHandler,
|
menuUiHandler: menuUiHandler,
|
||||||
@ -49,25 +65,13 @@ export const enConfig = {
|
|||||||
pokeball: pokeball,
|
pokeball: pokeball,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
pokemonInfo: pokemonInfo,
|
pokemonInfo: pokemonInfo,
|
||||||
|
pokemonInfoContainer: pokemonInfoContainer,
|
||||||
splashMessages: splashMessages,
|
splashMessages: splashMessages,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
titles: titles,
|
titles: titles,
|
||||||
trainerClasses: trainerClasses,
|
trainerClasses: trainerClasses,
|
||||||
trainerNames: trainerNames,
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial,
|
tutorial: tutorial,
|
||||||
weather: weather,
|
|
||||||
battleMessageUiHandler: battleMessageUiHandler,
|
|
||||||
berry: berry,
|
|
||||||
gameStatsUiHandler: gameStatsUiHandler,
|
|
||||||
voucher: voucher,
|
voucher: voucher,
|
||||||
biome: biome,
|
weather: weather
|
||||||
pokemonInfoContainer: pokemonInfoContainer,
|
|
||||||
PGMdialogue: PGMdialogue,
|
|
||||||
PGFdialogue: PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue: PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue: PGFmiscDialogue,
|
|
||||||
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
|
||||||
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue
|
|
||||||
};
|
};
|
||||||
|
171
src/locales/es/achv.ts
Normal file
171
src/locales/es/achv.ts
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
|
||||||
|
|
||||||
|
export const achv: AchievementTranslationEntries = {
|
||||||
|
"Achievements": {
|
||||||
|
name: "Achievements",
|
||||||
|
},
|
||||||
|
"Locked": {
|
||||||
|
name: "Locked",
|
||||||
|
},
|
||||||
|
|
||||||
|
"MoneyAchv": {
|
||||||
|
description: "Accumulate a total of ₽{{moneyAmount}}",
|
||||||
|
},
|
||||||
|
"10K_MONEY": {
|
||||||
|
name: "Money Haver",
|
||||||
|
},
|
||||||
|
"100K_MONEY": {
|
||||||
|
name: "Rich",
|
||||||
|
},
|
||||||
|
"1M_MONEY": {
|
||||||
|
name: "Millionaire",
|
||||||
|
},
|
||||||
|
"10M_MONEY": {
|
||||||
|
name: "One Percenter",
|
||||||
|
},
|
||||||
|
|
||||||
|
"DamageAchv": {
|
||||||
|
description: "Inflict {{damageAmount}} damage in one hit",
|
||||||
|
},
|
||||||
|
"250_DMG": {
|
||||||
|
name: "Hard Hitter",
|
||||||
|
},
|
||||||
|
"1000_DMG": {
|
||||||
|
name: "Harder Hitter",
|
||||||
|
},
|
||||||
|
"2500_DMG": {
|
||||||
|
name: "That's a Lotta Damage!",
|
||||||
|
},
|
||||||
|
"10000_DMG": {
|
||||||
|
name: "One Punch Man",
|
||||||
|
},
|
||||||
|
|
||||||
|
"HealAchv": {
|
||||||
|
description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
|
||||||
|
},
|
||||||
|
"250_HEAL": {
|
||||||
|
name: "Novice Healer",
|
||||||
|
},
|
||||||
|
"1000_HEAL": {
|
||||||
|
name: "Big Healer",
|
||||||
|
},
|
||||||
|
"2500_HEAL": {
|
||||||
|
name: "Cleric",
|
||||||
|
},
|
||||||
|
"10000_HEAL": {
|
||||||
|
name: "Recovery Master",
|
||||||
|
},
|
||||||
|
|
||||||
|
"LevelAchv": {
|
||||||
|
description: "Level up a Pokémon to Lv{{level}}",
|
||||||
|
},
|
||||||
|
"LV_100": {
|
||||||
|
name: "But Wait, There's More!",
|
||||||
|
},
|
||||||
|
"LV_250": {
|
||||||
|
name: "Elite",
|
||||||
|
},
|
||||||
|
"LV_1000": {
|
||||||
|
name: "To Go Even Further Beyond",
|
||||||
|
},
|
||||||
|
|
||||||
|
"RibbonAchv": {
|
||||||
|
description: "Accumulate a total of {{ribbonAmount}} Ribbons",
|
||||||
|
},
|
||||||
|
"10_RIBBONS": {
|
||||||
|
name: "Pokémon League Champion",
|
||||||
|
},
|
||||||
|
"25_RIBBONS": {
|
||||||
|
name: "Great League Champion",
|
||||||
|
},
|
||||||
|
"50_RIBBONS": {
|
||||||
|
name: "Ultra League Champion",
|
||||||
|
},
|
||||||
|
"75_RIBBONS": {
|
||||||
|
name: "Rogue League Champion",
|
||||||
|
},
|
||||||
|
"100_RIBBONS": {
|
||||||
|
name: "Master League Champion",
|
||||||
|
},
|
||||||
|
|
||||||
|
"TRANSFER_MAX_BATTLE_STAT": {
|
||||||
|
name: "Teamwork",
|
||||||
|
description: "Baton pass to another party member with at least one stat maxed out",
|
||||||
|
},
|
||||||
|
"MAX_FRIENDSHIP": {
|
||||||
|
name: "Friendmaxxing",
|
||||||
|
description: "Reach max friendship on a Pokémon",
|
||||||
|
},
|
||||||
|
"MEGA_EVOLVE": {
|
||||||
|
name: "Megamorph",
|
||||||
|
description: "Mega evolve a Pokémon",
|
||||||
|
},
|
||||||
|
"GIGANTAMAX": {
|
||||||
|
name: "Absolute Unit",
|
||||||
|
description: "Gigantamax a Pokémon",
|
||||||
|
},
|
||||||
|
"TERASTALLIZE": {
|
||||||
|
name: "STAB Enthusiast",
|
||||||
|
description: "Terastallize a Pokémon",
|
||||||
|
},
|
||||||
|
"STELLAR_TERASTALLIZE": {
|
||||||
|
name: "The Hidden Type",
|
||||||
|
description: "Stellar Terastallize a Pokémon",
|
||||||
|
},
|
||||||
|
"SPLICE": {
|
||||||
|
name: "Infinite Fusion",
|
||||||
|
description: "Splice two Pokémon together with DNA Splicers",
|
||||||
|
},
|
||||||
|
"MINI_BLACK_HOLE": {
|
||||||
|
name: "A Hole Lot of Items",
|
||||||
|
description: "Acquire a Mini Black Hole",
|
||||||
|
},
|
||||||
|
"CATCH_MYTHICAL": {
|
||||||
|
name: "Mythical",
|
||||||
|
description: "Catch a mythical Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_SUB_LEGENDARY": {
|
||||||
|
name: "(Sub-)Legendary",
|
||||||
|
description: "Catch a sub-legendary Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_LEGENDARY": {
|
||||||
|
name: "Legendary",
|
||||||
|
description: "Catch a legendary Pokémon",
|
||||||
|
},
|
||||||
|
"SEE_SHINY": {
|
||||||
|
name: "Shiny",
|
||||||
|
description: "Find a shiny Pokémon in the wild",
|
||||||
|
},
|
||||||
|
"SHINY_PARTY": {
|
||||||
|
name: "That's Dedication",
|
||||||
|
description: "Have a full party of shiny Pokémon",
|
||||||
|
},
|
||||||
|
"HATCH_MYTHICAL": {
|
||||||
|
name: "Mythical Egg",
|
||||||
|
description: "Hatch a mythical Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_SUB_LEGENDARY": {
|
||||||
|
name: "Sub-Legendary Egg",
|
||||||
|
description: "Hatch a sub-legendary Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_LEGENDARY": {
|
||||||
|
name: "Legendary Egg",
|
||||||
|
description: "Hatch a legendary Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_SHINY": {
|
||||||
|
name: "Shiny Egg",
|
||||||
|
description: "Hatch a shiny Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HIDDEN_ABILITY": {
|
||||||
|
name: "Hidden Potential",
|
||||||
|
description: "Catch a Pokémon with a hidden ability",
|
||||||
|
},
|
||||||
|
"PERFECT_IVS": {
|
||||||
|
name: "Certificate of Authenticity",
|
||||||
|
description: "Get perfect IVs on a Pokémon",
|
||||||
|
},
|
||||||
|
"CLASSIC_VICTORY": {
|
||||||
|
name: "Undefeated",
|
||||||
|
description: "Beat the game in classic mode",
|
||||||
|
},
|
||||||
|
} as const;
|
@ -1,9 +1,24 @@
|
|||||||
import { ability } from "./ability";
|
import { ability } from "./ability";
|
||||||
import { abilityTriggers } from "./ability-trigger";
|
import { abilityTriggers } from "./ability-trigger";
|
||||||
|
import { achv } from "./achv";
|
||||||
import { battle } from "./battle";
|
import { battle } from "./battle";
|
||||||
|
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||||
|
import { berry } from "./berry";
|
||||||
|
import { biome } from "./biome";
|
||||||
import { commandUiHandler } from "./command-ui-handler";
|
import { commandUiHandler } from "./command-ui-handler";
|
||||||
|
import {
|
||||||
|
PGFbattleSpecDialogue,
|
||||||
|
PGFdialogue,
|
||||||
|
PGFdoubleBattleDialogue,
|
||||||
|
PGFmiscDialogue,
|
||||||
|
PGMbattleSpecDialogue,
|
||||||
|
PGMdialogue,
|
||||||
|
PGMdoubleBattleDialogue,
|
||||||
|
PGMmiscDialogue
|
||||||
|
} from "./dialogue";
|
||||||
import { egg } from "./egg";
|
import { egg } from "./egg";
|
||||||
import { fightUiHandler } from "./fight-ui-handler";
|
import { fightUiHandler } from "./fight-ui-handler";
|
||||||
|
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
||||||
import { growth } from "./growth";
|
import { growth } from "./growth";
|
||||||
import { menu } from "./menu";
|
import { menu } from "./menu";
|
||||||
import { menuUiHandler } from "./menu-ui-handler";
|
import { menuUiHandler } from "./menu-ui-handler";
|
||||||
@ -13,33 +28,34 @@ import { nature } from "./nature";
|
|||||||
import { pokeball } from "./pokeball";
|
import { pokeball } from "./pokeball";
|
||||||
import { pokemon } from "./pokemon";
|
import { pokemon } from "./pokemon";
|
||||||
import { pokemonInfo } from "./pokemon-info";
|
import { pokemonInfo } from "./pokemon-info";
|
||||||
|
import { pokemonInfoContainer } from "./pokemon-info-container";
|
||||||
import { splashMessages } from "./splash-messages";
|
import { splashMessages } from "./splash-messages";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
import { weather } from "./weather";
|
|
||||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
|
||||||
import { berry } from "./berry";
|
|
||||||
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
|
||||||
import { voucher } from "./voucher";
|
import { voucher } from "./voucher";
|
||||||
import {
|
import { weather } from "./weather";
|
||||||
PGMdialogue,
|
|
||||||
PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue, PGMdoubleBattleDialogue, PGFdoubleBattleDialogue
|
|
||||||
} from "./dialogue";
|
|
||||||
import { biome } from "./biome";
|
|
||||||
import { pokemonInfoContainer } from "./pokemon-info-container";
|
|
||||||
|
|
||||||
export const esConfig = {
|
export const esConfig = {
|
||||||
ability: ability,
|
ability: ability,
|
||||||
abilityTriggers: abilityTriggers,
|
abilityTriggers: abilityTriggers,
|
||||||
|
achv: achv,
|
||||||
battle: battle,
|
battle: battle,
|
||||||
|
battleMessageUiHandler: battleMessageUiHandler,
|
||||||
|
berry: berry,
|
||||||
|
biome: biome,
|
||||||
commandUiHandler: commandUiHandler,
|
commandUiHandler: commandUiHandler,
|
||||||
|
PGMdialogue: PGMdialogue,
|
||||||
|
PGFdialogue: PGFdialogue,
|
||||||
|
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
||||||
|
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
||||||
|
PGMmiscDialogue: PGMmiscDialogue,
|
||||||
|
PGFmiscDialogue: PGFmiscDialogue,
|
||||||
|
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
||||||
|
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
|
||||||
egg: egg,
|
egg: egg,
|
||||||
fightUiHandler: fightUiHandler,
|
fightUiHandler: fightUiHandler,
|
||||||
|
gameStatsUiHandler: gameStatsUiHandler,
|
||||||
growth: growth,
|
growth: growth,
|
||||||
menu: menu,
|
menu: menu,
|
||||||
menuUiHandler: menuUiHandler,
|
menuUiHandler: menuUiHandler,
|
||||||
@ -49,25 +65,13 @@ export const esConfig = {
|
|||||||
pokeball: pokeball,
|
pokeball: pokeball,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
pokemonInfo: pokemonInfo,
|
pokemonInfo: pokemonInfo,
|
||||||
|
pokemonInfoContainer: pokemonInfoContainer,
|
||||||
splashMessages: splashMessages,
|
splashMessages: splashMessages,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
titles: titles,
|
titles: titles,
|
||||||
trainerClasses: trainerClasses,
|
trainerClasses: trainerClasses,
|
||||||
trainerNames: trainerNames,
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial,
|
tutorial: tutorial,
|
||||||
weather: weather,
|
|
||||||
battleMessageUiHandler: battleMessageUiHandler,
|
|
||||||
berry: berry,
|
|
||||||
gameStatsUiHandler: gameStatsUiHandler,
|
|
||||||
voucher: voucher,
|
voucher: voucher,
|
||||||
biome: biome,
|
weather: weather
|
||||||
pokemonInfoContainer: pokemonInfoContainer,
|
|
||||||
PGMdialogue: PGMdialogue,
|
|
||||||
PGFdialogue: PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue: PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue: PGFmiscDialogue,
|
|
||||||
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
|
||||||
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue
|
|
||||||
};
|
};
|
||||||
|
171
src/locales/fr/achv.ts
Normal file
171
src/locales/fr/achv.ts
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
|
||||||
|
|
||||||
|
export const achv: AchievementTranslationEntries = {
|
||||||
|
"Achievements": {
|
||||||
|
name: "Succès",
|
||||||
|
},
|
||||||
|
"Locked": {
|
||||||
|
name: "Verrouillé",
|
||||||
|
},
|
||||||
|
|
||||||
|
"MoneyAchv": {
|
||||||
|
description: "Récolter un total de {{moneyAmount}} ₽",
|
||||||
|
},
|
||||||
|
"10K_MONEY": {
|
||||||
|
name: "Épargnant",
|
||||||
|
},
|
||||||
|
"100K_MONEY": {
|
||||||
|
name: "Je possède des thunes",
|
||||||
|
},
|
||||||
|
"1M_MONEY": {
|
||||||
|
name: "Banquier",
|
||||||
|
},
|
||||||
|
"10M_MONEY": {
|
||||||
|
name: "Évadé·e fiscal·e",
|
||||||
|
},
|
||||||
|
|
||||||
|
"DamageAchv": {
|
||||||
|
description: "Infliger {{damageAmount}} de dégâts en un coup",
|
||||||
|
},
|
||||||
|
"250_DMG": {
|
||||||
|
name: "Caïd",
|
||||||
|
},
|
||||||
|
"1000_DMG": {
|
||||||
|
name: "Boxeur",
|
||||||
|
},
|
||||||
|
"2500_DMG": {
|
||||||
|
name: "Distributeur de pains",
|
||||||
|
},
|
||||||
|
"10000_DMG": {
|
||||||
|
name: "One Punch Man",
|
||||||
|
},
|
||||||
|
|
||||||
|
"HealAchv": {
|
||||||
|
description: "Soigner {{healAmount}} {{HP}} en une fois avec une capacité, un talent ou un objet tenu",
|
||||||
|
},
|
||||||
|
"250_HEAL": {
|
||||||
|
name: "Infirmier·ère",
|
||||||
|
},
|
||||||
|
"1000_HEAL": {
|
||||||
|
name: "Médecin",
|
||||||
|
},
|
||||||
|
"2500_HEAL": {
|
||||||
|
name: "Clerc",
|
||||||
|
},
|
||||||
|
"10000_HEAL": {
|
||||||
|
name: "Centre Pokémon",
|
||||||
|
},
|
||||||
|
|
||||||
|
"LevelAchv": {
|
||||||
|
description: "Monter un Pokémon au N.{{level}}",
|
||||||
|
},
|
||||||
|
"LV_100": {
|
||||||
|
name: "Et c’est pas fini !",
|
||||||
|
},
|
||||||
|
"LV_250": {
|
||||||
|
name: "Élite",
|
||||||
|
},
|
||||||
|
"LV_1000": {
|
||||||
|
name: "Vers l’infini et au-delà",
|
||||||
|
},
|
||||||
|
|
||||||
|
"RibbonAchv": {
|
||||||
|
description: "Accumuler un total de {{ribbonAmount}} Rubans",
|
||||||
|
},
|
||||||
|
"10_RIBBONS": {
|
||||||
|
name: "Maitre·sse de la Ligue",
|
||||||
|
},
|
||||||
|
"25_RIBBONS": {
|
||||||
|
name: "Super Maitre·sse de la Ligue",
|
||||||
|
},
|
||||||
|
"50_RIBBONS": {
|
||||||
|
name: "Hyper Maitre·sse de la Ligue",
|
||||||
|
},
|
||||||
|
"75_RIBBONS": {
|
||||||
|
name: "Rogue Maitre·sse de la Ligue",
|
||||||
|
},
|
||||||
|
"100_RIBBONS": {
|
||||||
|
name: "Master Maitre·sse de la Ligue",
|
||||||
|
},
|
||||||
|
|
||||||
|
"TRANSFER_MAX_BATTLE_STAT": {
|
||||||
|
name: "Travail d’équipe",
|
||||||
|
description: "Utiliser Relais avec au moins une statistique montée à fond",
|
||||||
|
},
|
||||||
|
"MAX_FRIENDSHIP": {
|
||||||
|
name: "Copinage",
|
||||||
|
description: "Atteindre le niveau de bonheur maximal avec un Pokémon",
|
||||||
|
},
|
||||||
|
"MEGA_EVOLVE": {
|
||||||
|
name: "Mégamorph",
|
||||||
|
description: "Méga-évoluer un Pokémon",
|
||||||
|
},
|
||||||
|
"GIGANTAMAX": {
|
||||||
|
name: "Kaijū",
|
||||||
|
description: "Gigamaxer un Pokémon",
|
||||||
|
},
|
||||||
|
"TERASTALLIZE": {
|
||||||
|
name: "J’aime les STAB",
|
||||||
|
description: "Téracristalliser un Pokémon",
|
||||||
|
},
|
||||||
|
"STELLAR_TERASTALLIZE": {
|
||||||
|
name: "Le type enfoui",
|
||||||
|
description: "Téracristalliser un Pokémon en type Stellaire",
|
||||||
|
},
|
||||||
|
"SPLICE": {
|
||||||
|
name: "Infinite Fusion",
|
||||||
|
description: "Fusionner deux Pokémon avec le Pointeau ADN",
|
||||||
|
},
|
||||||
|
"MINI_BLACK_HOLE": {
|
||||||
|
name: "Item-stellar",
|
||||||
|
description: "Obtenir un Mini Trou Noir",
|
||||||
|
},
|
||||||
|
"CATCH_MYTHICAL": {
|
||||||
|
name: "Fabuleux",
|
||||||
|
description: "Capturer un Pokémon fabuleux",
|
||||||
|
},
|
||||||
|
"CATCH_SUB_LEGENDARY": {
|
||||||
|
name: "(Semi-)Légendaire",
|
||||||
|
description: "Capturer un Pokémon semi-légendaire",
|
||||||
|
},
|
||||||
|
"CATCH_LEGENDARY": {
|
||||||
|
name: "Légendaire",
|
||||||
|
description: "Capturer un Pokémon légendaire",
|
||||||
|
},
|
||||||
|
"SEE_SHINY": {
|
||||||
|
name: "Chromatique",
|
||||||
|
description: "Trouver un Pokémon sauvage chromatique",
|
||||||
|
},
|
||||||
|
"SHINY_PARTY": {
|
||||||
|
name: "Shasseur",
|
||||||
|
description: "Avoir une équipe exclusivement composée de Pokémon chromatiques",
|
||||||
|
},
|
||||||
|
"HATCH_MYTHICAL": {
|
||||||
|
name: "Œuf fabuleux",
|
||||||
|
description: "Obtenir un Pokémon fabuleux dans un Œuf",
|
||||||
|
},
|
||||||
|
"HATCH_SUB_LEGENDARY": {
|
||||||
|
name: "Œuf semi-légendaire",
|
||||||
|
description: "Obtenir un Pokémon semi-légendaire dans un Œuf",
|
||||||
|
},
|
||||||
|
"HATCH_LEGENDARY": {
|
||||||
|
name: "Œuf légendaire",
|
||||||
|
description: "Obtenir un Pokémon légendaire dans un Œuf",
|
||||||
|
},
|
||||||
|
"HATCH_SHINY": {
|
||||||
|
name: "Œuf chromatique",
|
||||||
|
description: "Obtenir un Pokémon chromatique dans un Œuf",
|
||||||
|
},
|
||||||
|
"HIDDEN_ABILITY": {
|
||||||
|
name: "Potentiel enfoui",
|
||||||
|
description: "Capturer un Pokémon possédant un talent caché",
|
||||||
|
},
|
||||||
|
"PERFECT_IVS": {
|
||||||
|
name: "Certificat d’Authenticité",
|
||||||
|
description: "Avoir des IV parfaits sur un Pokémon",
|
||||||
|
},
|
||||||
|
"CLASSIC_VICTORY": {
|
||||||
|
name: "Invaincu·e",
|
||||||
|
description: "Terminer le jeu en mode classique",
|
||||||
|
},
|
||||||
|
} as const;
|
@ -1,9 +1,24 @@
|
|||||||
import { ability } from "./ability";
|
import { ability } from "./ability";
|
||||||
import { abilityTriggers } from "./ability-trigger";
|
import { abilityTriggers } from "./ability-trigger";
|
||||||
|
import { achv } from "./achv";
|
||||||
import { battle } from "./battle";
|
import { battle } from "./battle";
|
||||||
|
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||||
|
import { berry } from "./berry";
|
||||||
|
import { biome } from "./biome";
|
||||||
import { commandUiHandler } from "./command-ui-handler";
|
import { commandUiHandler } from "./command-ui-handler";
|
||||||
|
import {
|
||||||
|
PGFbattleSpecDialogue,
|
||||||
|
PGFdialogue,
|
||||||
|
PGFdoubleBattleDialogue,
|
||||||
|
PGFmiscDialogue,
|
||||||
|
PGMbattleSpecDialogue,
|
||||||
|
PGMdialogue,
|
||||||
|
PGMdoubleBattleDialogue,
|
||||||
|
PGMmiscDialogue
|
||||||
|
} from "./dialogue";
|
||||||
import { egg } from "./egg";
|
import { egg } from "./egg";
|
||||||
import { fightUiHandler } from "./fight-ui-handler";
|
import { fightUiHandler } from "./fight-ui-handler";
|
||||||
|
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
||||||
import { growth } from "./growth";
|
import { growth } from "./growth";
|
||||||
import { menu } from "./menu";
|
import { menu } from "./menu";
|
||||||
import { menuUiHandler } from "./menu-ui-handler";
|
import { menuUiHandler } from "./menu-ui-handler";
|
||||||
@ -13,33 +28,34 @@ import { nature } from "./nature";
|
|||||||
import { pokeball } from "./pokeball";
|
import { pokeball } from "./pokeball";
|
||||||
import { pokemon } from "./pokemon";
|
import { pokemon } from "./pokemon";
|
||||||
import { pokemonInfo } from "./pokemon-info";
|
import { pokemonInfo } from "./pokemon-info";
|
||||||
|
import { pokemonInfoContainer } from "./pokemon-info-container";
|
||||||
import { splashMessages } from "./splash-messages";
|
import { splashMessages } from "./splash-messages";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
import { weather } from "./weather";
|
|
||||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
|
||||||
import { berry } from "./berry";
|
|
||||||
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
|
||||||
import { voucher } from "./voucher";
|
import { voucher } from "./voucher";
|
||||||
import {
|
import { weather } from "./weather";
|
||||||
PGMdialogue,
|
|
||||||
PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue, PGMdoubleBattleDialogue, PGFdoubleBattleDialogue
|
|
||||||
} from "./dialogue";
|
|
||||||
import { biome } from "./biome";
|
|
||||||
import { pokemonInfoContainer } from "./pokemon-info-container";
|
|
||||||
|
|
||||||
export const frConfig = {
|
export const frConfig = {
|
||||||
ability: ability,
|
ability: ability,
|
||||||
abilityTriggers: abilityTriggers,
|
abilityTriggers: abilityTriggers,
|
||||||
|
achv: achv,
|
||||||
battle: battle,
|
battle: battle,
|
||||||
|
battleMessageUiHandler: battleMessageUiHandler,
|
||||||
|
berry: berry,
|
||||||
|
biome: biome,
|
||||||
commandUiHandler: commandUiHandler,
|
commandUiHandler: commandUiHandler,
|
||||||
|
PGMdialogue: PGMdialogue,
|
||||||
|
PGFdialogue: PGFdialogue,
|
||||||
|
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
||||||
|
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
||||||
|
PGMmiscDialogue: PGMmiscDialogue,
|
||||||
|
PGFmiscDialogue: PGFmiscDialogue,
|
||||||
|
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
||||||
|
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
|
||||||
egg: egg,
|
egg: egg,
|
||||||
fightUiHandler: fightUiHandler,
|
fightUiHandler: fightUiHandler,
|
||||||
|
gameStatsUiHandler: gameStatsUiHandler,
|
||||||
growth: growth,
|
growth: growth,
|
||||||
menu: menu,
|
menu: menu,
|
||||||
menuUiHandler: menuUiHandler,
|
menuUiHandler: menuUiHandler,
|
||||||
@ -49,25 +65,13 @@ export const frConfig = {
|
|||||||
pokeball: pokeball,
|
pokeball: pokeball,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
pokemonInfo: pokemonInfo,
|
pokemonInfo: pokemonInfo,
|
||||||
|
pokemonInfoContainer: pokemonInfoContainer,
|
||||||
splashMessages: splashMessages,
|
splashMessages: splashMessages,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
titles: titles,
|
titles: titles,
|
||||||
trainerClasses: trainerClasses,
|
trainerClasses: trainerClasses,
|
||||||
trainerNames: trainerNames,
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial,
|
tutorial: tutorial,
|
||||||
weather: weather,
|
|
||||||
battleMessageUiHandler: battleMessageUiHandler,
|
|
||||||
berry: berry,
|
|
||||||
gameStatsUiHandler: gameStatsUiHandler,
|
|
||||||
voucher: voucher,
|
voucher: voucher,
|
||||||
biome: biome,
|
weather: weather
|
||||||
pokemonInfoContainer: pokemonInfoContainer,
|
|
||||||
PGMdialogue: PGMdialogue,
|
|
||||||
PGFdialogue: PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue: PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue: PGFmiscDialogue,
|
|
||||||
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
|
||||||
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue
|
|
||||||
};
|
};
|
||||||
|
171
src/locales/it/achv.ts
Normal file
171
src/locales/it/achv.ts
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
|
||||||
|
|
||||||
|
export const achv: AchievementTranslationEntries = {
|
||||||
|
"Achievements": {
|
||||||
|
name: "Achievements",
|
||||||
|
},
|
||||||
|
"Locked": {
|
||||||
|
name: "Locked",
|
||||||
|
},
|
||||||
|
|
||||||
|
"MoneyAchv": {
|
||||||
|
description: "Accumulate a total of ₽{{moneyAmount}}",
|
||||||
|
},
|
||||||
|
"10K_MONEY": {
|
||||||
|
name: "Money Haver",
|
||||||
|
},
|
||||||
|
"100K_MONEY": {
|
||||||
|
name: "Rich",
|
||||||
|
},
|
||||||
|
"1M_MONEY": {
|
||||||
|
name: "Millionaire",
|
||||||
|
},
|
||||||
|
"10M_MONEY": {
|
||||||
|
name: "One Percenter",
|
||||||
|
},
|
||||||
|
|
||||||
|
"DamageAchv": {
|
||||||
|
description: "Inflict {{damageAmount}} damage in one hit",
|
||||||
|
},
|
||||||
|
"250_DMG": {
|
||||||
|
name: "Hard Hitter",
|
||||||
|
},
|
||||||
|
"1000_DMG": {
|
||||||
|
name: "Harder Hitter",
|
||||||
|
},
|
||||||
|
"2500_DMG": {
|
||||||
|
name: "That's a Lotta Damage!",
|
||||||
|
},
|
||||||
|
"10000_DMG": {
|
||||||
|
name: "One Punch Man",
|
||||||
|
},
|
||||||
|
|
||||||
|
"HealAchv": {
|
||||||
|
description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
|
||||||
|
},
|
||||||
|
"250_HEAL": {
|
||||||
|
name: "Novice Healer",
|
||||||
|
},
|
||||||
|
"1000_HEAL": {
|
||||||
|
name: "Big Healer",
|
||||||
|
},
|
||||||
|
"2500_HEAL": {
|
||||||
|
name: "Cleric",
|
||||||
|
},
|
||||||
|
"10000_HEAL": {
|
||||||
|
name: "Recovery Master",
|
||||||
|
},
|
||||||
|
|
||||||
|
"LevelAchv": {
|
||||||
|
description: "Level up a Pokémon to Lv{{level}}",
|
||||||
|
},
|
||||||
|
"LV_100": {
|
||||||
|
name: "But Wait, There's More!",
|
||||||
|
},
|
||||||
|
"LV_250": {
|
||||||
|
name: "Elite",
|
||||||
|
},
|
||||||
|
"LV_1000": {
|
||||||
|
name: "To Go Even Further Beyond",
|
||||||
|
},
|
||||||
|
|
||||||
|
"RibbonAchv": {
|
||||||
|
description: "Accumulate a total of {{ribbonAmount}} Ribbons",
|
||||||
|
},
|
||||||
|
"10_RIBBONS": {
|
||||||
|
name: "Pokémon League Champion",
|
||||||
|
},
|
||||||
|
"25_RIBBONS": {
|
||||||
|
name: "Great League Champion",
|
||||||
|
},
|
||||||
|
"50_RIBBONS": {
|
||||||
|
name: "Ultra League Champion",
|
||||||
|
},
|
||||||
|
"75_RIBBONS": {
|
||||||
|
name: "Rogue League Champion",
|
||||||
|
},
|
||||||
|
"100_RIBBONS": {
|
||||||
|
name: "Master League Champion",
|
||||||
|
},
|
||||||
|
|
||||||
|
"TRANSFER_MAX_BATTLE_STAT": {
|
||||||
|
name: "Teamwork",
|
||||||
|
description: "Baton pass to another party member with at least one stat maxed out",
|
||||||
|
},
|
||||||
|
"MAX_FRIENDSHIP": {
|
||||||
|
name: "Friendmaxxing",
|
||||||
|
description: "Reach max friendship on a Pokémon",
|
||||||
|
},
|
||||||
|
"MEGA_EVOLVE": {
|
||||||
|
name: "Megamorph",
|
||||||
|
description: "Mega evolve a Pokémon",
|
||||||
|
},
|
||||||
|
"GIGANTAMAX": {
|
||||||
|
name: "Absolute Unit",
|
||||||
|
description: "Gigantamax a Pokémon",
|
||||||
|
},
|
||||||
|
"TERASTALLIZE": {
|
||||||
|
name: "STAB Enthusiast",
|
||||||
|
description: "Terastallize a Pokémon",
|
||||||
|
},
|
||||||
|
"STELLAR_TERASTALLIZE": {
|
||||||
|
name: "The Hidden Type",
|
||||||
|
description: "Stellar Terastallize a Pokémon",
|
||||||
|
},
|
||||||
|
"SPLICE": {
|
||||||
|
name: "Infinite Fusion",
|
||||||
|
description: "Splice two Pokémon together with DNA Splicers",
|
||||||
|
},
|
||||||
|
"MINI_BLACK_HOLE": {
|
||||||
|
name: "A Hole Lot of Items",
|
||||||
|
description: "Acquire a Mini Black Hole",
|
||||||
|
},
|
||||||
|
"CATCH_MYTHICAL": {
|
||||||
|
name: "Mythical",
|
||||||
|
description: "Catch a mythical Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_SUB_LEGENDARY": {
|
||||||
|
name: "(Sub-)Legendary",
|
||||||
|
description: "Catch a sub-legendary Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_LEGENDARY": {
|
||||||
|
name: "Legendary",
|
||||||
|
description: "Catch a legendary Pokémon",
|
||||||
|
},
|
||||||
|
"SEE_SHINY": {
|
||||||
|
name: "Shiny",
|
||||||
|
description: "Find a shiny Pokémon in the wild",
|
||||||
|
},
|
||||||
|
"SHINY_PARTY": {
|
||||||
|
name: "That's Dedication",
|
||||||
|
description: "Have a full party of shiny Pokémon",
|
||||||
|
},
|
||||||
|
"HATCH_MYTHICAL": {
|
||||||
|
name: "Mythical Egg",
|
||||||
|
description: "Hatch a mythical Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_SUB_LEGENDARY": {
|
||||||
|
name: "Sub-Legendary Egg",
|
||||||
|
description: "Hatch a sub-legendary Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_LEGENDARY": {
|
||||||
|
name: "Legendary Egg",
|
||||||
|
description: "Hatch a legendary Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_SHINY": {
|
||||||
|
name: "Shiny Egg",
|
||||||
|
description: "Hatch a shiny Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HIDDEN_ABILITY": {
|
||||||
|
name: "Hidden Potential",
|
||||||
|
description: "Catch a Pokémon with a hidden ability",
|
||||||
|
},
|
||||||
|
"PERFECT_IVS": {
|
||||||
|
name: "Certificate of Authenticity",
|
||||||
|
description: "Get perfect IVs on a Pokémon",
|
||||||
|
},
|
||||||
|
"CLASSIC_VICTORY": {
|
||||||
|
name: "Undefeated",
|
||||||
|
description: "Beat the game in classic mode",
|
||||||
|
},
|
||||||
|
} as const;
|
@ -1,9 +1,24 @@
|
|||||||
import { ability } from "./ability";
|
import { ability } from "./ability";
|
||||||
import { abilityTriggers } from "./ability-trigger";
|
import { abilityTriggers } from "./ability-trigger";
|
||||||
|
import { achv } from "./achv";
|
||||||
import { battle } from "./battle";
|
import { battle } from "./battle";
|
||||||
|
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||||
|
import { berry } from "./berry";
|
||||||
|
import { biome } from "./biome";
|
||||||
import { commandUiHandler } from "./command-ui-handler";
|
import { commandUiHandler } from "./command-ui-handler";
|
||||||
|
import {
|
||||||
|
PGFbattleSpecDialogue,
|
||||||
|
PGFdialogue,
|
||||||
|
PGFdoubleBattleDialogue,
|
||||||
|
PGFmiscDialogue,
|
||||||
|
PGMbattleSpecDialogue,
|
||||||
|
PGMdialogue,
|
||||||
|
PGMdoubleBattleDialogue,
|
||||||
|
PGMmiscDialogue
|
||||||
|
} from "./dialogue";
|
||||||
import { egg } from "./egg";
|
import { egg } from "./egg";
|
||||||
import { fightUiHandler } from "./fight-ui-handler";
|
import { fightUiHandler } from "./fight-ui-handler";
|
||||||
|
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
||||||
import { growth } from "./growth";
|
import { growth } from "./growth";
|
||||||
import { menu } from "./menu";
|
import { menu } from "./menu";
|
||||||
import { menuUiHandler } from "./menu-ui-handler";
|
import { menuUiHandler } from "./menu-ui-handler";
|
||||||
@ -13,33 +28,34 @@ import { nature } from "./nature";
|
|||||||
import { pokeball } from "./pokeball";
|
import { pokeball } from "./pokeball";
|
||||||
import { pokemon } from "./pokemon";
|
import { pokemon } from "./pokemon";
|
||||||
import { pokemonInfo } from "./pokemon-info";
|
import { pokemonInfo } from "./pokemon-info";
|
||||||
|
import { pokemonInfoContainer } from "./pokemon-info-container";
|
||||||
import { splashMessages } from "./splash-messages";
|
import { splashMessages } from "./splash-messages";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
import { weather } from "./weather";
|
|
||||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
|
||||||
import { berry } from "./berry";
|
|
||||||
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
|
||||||
import { voucher } from "./voucher";
|
import { voucher } from "./voucher";
|
||||||
import {
|
import { weather } from "./weather";
|
||||||
PGMdialogue,
|
|
||||||
PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue, PGMdoubleBattleDialogue, PGFdoubleBattleDialogue
|
|
||||||
} from "./dialogue";
|
|
||||||
import { biome } from "./biome";
|
|
||||||
import { pokemonInfoContainer } from "./pokemon-info-container";
|
|
||||||
|
|
||||||
export const itConfig = {
|
export const itConfig = {
|
||||||
ability: ability,
|
ability: ability,
|
||||||
abilityTriggers: abilityTriggers,
|
abilityTriggers: abilityTriggers,
|
||||||
|
achv: achv,
|
||||||
battle: battle,
|
battle: battle,
|
||||||
|
battleMessageUiHandler: battleMessageUiHandler,
|
||||||
|
berry: berry,
|
||||||
|
biome: biome,
|
||||||
commandUiHandler: commandUiHandler,
|
commandUiHandler: commandUiHandler,
|
||||||
|
PGMdialogue: PGMdialogue,
|
||||||
|
PGFdialogue: PGFdialogue,
|
||||||
|
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
||||||
|
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
||||||
|
PGMmiscDialogue: PGMmiscDialogue,
|
||||||
|
PGFmiscDialogue: PGFmiscDialogue,
|
||||||
|
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
||||||
|
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
|
||||||
egg: egg,
|
egg: egg,
|
||||||
fightUiHandler: fightUiHandler,
|
fightUiHandler: fightUiHandler,
|
||||||
|
gameStatsUiHandler: gameStatsUiHandler,
|
||||||
growth: growth,
|
growth: growth,
|
||||||
menu: menu,
|
menu: menu,
|
||||||
menuUiHandler: menuUiHandler,
|
menuUiHandler: menuUiHandler,
|
||||||
@ -49,25 +65,13 @@ export const itConfig = {
|
|||||||
pokeball: pokeball,
|
pokeball: pokeball,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
pokemonInfo: pokemonInfo,
|
pokemonInfo: pokemonInfo,
|
||||||
|
pokemonInfoContainer: pokemonInfoContainer,
|
||||||
splashMessages: splashMessages,
|
splashMessages: splashMessages,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
titles: titles,
|
titles: titles,
|
||||||
trainerClasses: trainerClasses,
|
trainerClasses: trainerClasses,
|
||||||
trainerNames: trainerNames,
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial,
|
tutorial: tutorial,
|
||||||
weather: weather,
|
|
||||||
battleMessageUiHandler: battleMessageUiHandler,
|
|
||||||
berry: berry,
|
|
||||||
gameStatsUiHandler: gameStatsUiHandler,
|
|
||||||
voucher: voucher,
|
voucher: voucher,
|
||||||
biome: biome,
|
weather: weather
|
||||||
pokemonInfoContainer: pokemonInfoContainer,
|
|
||||||
PGMdialogue: PGMdialogue,
|
|
||||||
PGFdialogue: PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue: PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue: PGFmiscDialogue,
|
|
||||||
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
|
||||||
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue
|
|
||||||
};
|
};
|
||||||
|
171
src/locales/ko/achv.ts
Normal file
171
src/locales/ko/achv.ts
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
|
||||||
|
|
||||||
|
export const achv: AchievementTranslationEntries = {
|
||||||
|
"Achievements": {
|
||||||
|
name: "업적",
|
||||||
|
},
|
||||||
|
"Locked": {
|
||||||
|
name: "미완료",
|
||||||
|
},
|
||||||
|
|
||||||
|
"MoneyAchv": {
|
||||||
|
description: "누적 소지금 ₽{{moneyAmount}} 달성",
|
||||||
|
},
|
||||||
|
"10K_MONEY": {
|
||||||
|
name: "돈 좀 있나?",
|
||||||
|
},
|
||||||
|
"100K_MONEY": {
|
||||||
|
name: "부자",
|
||||||
|
},
|
||||||
|
"1M_MONEY": {
|
||||||
|
name: "백만장자",
|
||||||
|
},
|
||||||
|
"10M_MONEY": {
|
||||||
|
name: "상위 1프로",
|
||||||
|
},
|
||||||
|
|
||||||
|
"DamageAchv": {
|
||||||
|
description: "한 번의 공격만으로 {{damageAmount}} 대미지",
|
||||||
|
},
|
||||||
|
"250_DMG": {
|
||||||
|
name: "강타자",
|
||||||
|
},
|
||||||
|
"1000_DMG": {
|
||||||
|
name: "최강타자",
|
||||||
|
},
|
||||||
|
"2500_DMG": {
|
||||||
|
name: "때릴 줄 아시는군요!",
|
||||||
|
},
|
||||||
|
"10000_DMG": {
|
||||||
|
name: "원펀맨",
|
||||||
|
},
|
||||||
|
|
||||||
|
"HealAchv": {
|
||||||
|
description: "기술이나 특성, 지닌 도구로 한 번에 {{healAmount}} {{HP}} 회복",
|
||||||
|
},
|
||||||
|
"250_HEAL": {
|
||||||
|
name: "견습 힐러",
|
||||||
|
},
|
||||||
|
"1000_HEAL": {
|
||||||
|
name: "상급 힐러",
|
||||||
|
},
|
||||||
|
"2500_HEAL": {
|
||||||
|
name: "클레릭",
|
||||||
|
},
|
||||||
|
"10000_HEAL": {
|
||||||
|
name: "회복 마스터",
|
||||||
|
},
|
||||||
|
|
||||||
|
"LevelAchv": {
|
||||||
|
description: "포켓몬 Lv{{level}} 달성",
|
||||||
|
},
|
||||||
|
"LV_100": {
|
||||||
|
name: "잠깐, 여기가 끝이 아니라구!",
|
||||||
|
},
|
||||||
|
"LV_250": {
|
||||||
|
name: "엘리트",
|
||||||
|
},
|
||||||
|
"LV_1000": {
|
||||||
|
name: "더 먼 곳을 향해",
|
||||||
|
},
|
||||||
|
|
||||||
|
"RibbonAchv": {
|
||||||
|
description: "총 {{ribbonAmount}}개의 리본 획득",
|
||||||
|
},
|
||||||
|
"10_RIBBONS": {
|
||||||
|
name: "포켓몬 리그 챔피언",
|
||||||
|
},
|
||||||
|
"25_RIBBONS": {
|
||||||
|
name: "슈퍼 리그 챔피언",
|
||||||
|
},
|
||||||
|
"50_RIBBONS": {
|
||||||
|
name: "하이퍼 리그 챔피언",
|
||||||
|
},
|
||||||
|
"75_RIBBONS": {
|
||||||
|
name: "로그 리그 챔피언",
|
||||||
|
},
|
||||||
|
"100_RIBBONS": {
|
||||||
|
name: "마스터 리그 챔피언",
|
||||||
|
},
|
||||||
|
|
||||||
|
"TRANSFER_MAX_BATTLE_STAT": {
|
||||||
|
name: "팀워크",
|
||||||
|
description: "한 개 이상의 능력치가 최대 랭크일 때 배턴터치 사용",
|
||||||
|
},
|
||||||
|
"MAX_FRIENDSHIP": {
|
||||||
|
name: "친밀 맥스",
|
||||||
|
description: "최대 친밀도 달성",
|
||||||
|
},
|
||||||
|
"MEGA_EVOLVE": {
|
||||||
|
name: "메가변환",
|
||||||
|
description: "포켓몬을 메가진화",
|
||||||
|
},
|
||||||
|
"GIGANTAMAX": {
|
||||||
|
name: "엄청난 것",
|
||||||
|
description: "포켓몬을 다이맥스",
|
||||||
|
},
|
||||||
|
"TERASTALLIZE": {
|
||||||
|
name: "반짝반짝",
|
||||||
|
description: "포켓몬을 테라스탈",
|
||||||
|
},
|
||||||
|
"STELLAR_TERASTALLIZE": {
|
||||||
|
name: "숨겨진 타입",
|
||||||
|
description: "포켓몬을 스텔라 테라스탈",
|
||||||
|
},
|
||||||
|
"SPLICE": {
|
||||||
|
name: "끝없는 융합",
|
||||||
|
description: "유전자쐐기로 두 포켓몬을 융합",
|
||||||
|
},
|
||||||
|
"MINI_BLACK_HOLE": {
|
||||||
|
name: "도구가 가득한 구멍",
|
||||||
|
description: "미니 블랙홀 획득",
|
||||||
|
},
|
||||||
|
"CATCH_MYTHICAL": {
|
||||||
|
name: "환상",
|
||||||
|
description: "환상의 포켓몬 포획",
|
||||||
|
},
|
||||||
|
"CATCH_SUB_LEGENDARY": {
|
||||||
|
name: "(준)전설",
|
||||||
|
description: "준전설 포켓몬 포획",
|
||||||
|
},
|
||||||
|
"CATCH_LEGENDARY": {
|
||||||
|
name: "전설",
|
||||||
|
description: "전설의 포켓몬 포획",
|
||||||
|
},
|
||||||
|
"SEE_SHINY": {
|
||||||
|
name: "다른 색",
|
||||||
|
description: "야생의 색이 다른 포켓몬 발견",
|
||||||
|
},
|
||||||
|
"SHINY_PARTY": {
|
||||||
|
name: "찐사랑",
|
||||||
|
description: "색이 다른 포켓몬만으로 파티 구성",
|
||||||
|
},
|
||||||
|
"HATCH_MYTHICAL": {
|
||||||
|
name: "환상의 알",
|
||||||
|
description: "알에서 환상의 포켓몬이 부화",
|
||||||
|
},
|
||||||
|
"HATCH_SUB_LEGENDARY": {
|
||||||
|
name: "준전설 알",
|
||||||
|
description: "알에서 준전설 포켓몬이 부화",
|
||||||
|
},
|
||||||
|
"HATCH_LEGENDARY": {
|
||||||
|
name: "전설의 알",
|
||||||
|
description: "알에서 전설의 포켓몬이 부화",
|
||||||
|
},
|
||||||
|
"HATCH_SHINY": {
|
||||||
|
name: "빛나는 알",
|
||||||
|
description: "알에서 색이 다른 포켓몬이 부화",
|
||||||
|
},
|
||||||
|
"HIDDEN_ABILITY": {
|
||||||
|
name: "숨은 잠재력",
|
||||||
|
description: "숨겨진 특성을 지닌 포켓몬을 포획",
|
||||||
|
},
|
||||||
|
"PERFECT_IVS": {
|
||||||
|
name: "진짜배기 증명서",
|
||||||
|
description: "최고의 개체값을 지닌 포켓몬 획득",
|
||||||
|
},
|
||||||
|
"CLASSIC_VICTORY": {
|
||||||
|
name: "무패",
|
||||||
|
description: "클래식 모드 클리어",
|
||||||
|
},
|
||||||
|
} as const;
|
@ -1,9 +1,24 @@
|
|||||||
import { ability } from "./ability";
|
import { ability } from "./ability";
|
||||||
import { abilityTriggers } from "./ability-trigger";
|
import { abilityTriggers } from "./ability-trigger";
|
||||||
|
import { achv } from "./achv";
|
||||||
import { battle } from "./battle";
|
import { battle } from "./battle";
|
||||||
|
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||||
|
import { berry } from "./berry";
|
||||||
|
import { biome } from "./biome";
|
||||||
import { commandUiHandler } from "./command-ui-handler";
|
import { commandUiHandler } from "./command-ui-handler";
|
||||||
|
import {
|
||||||
|
PGFbattleSpecDialogue,
|
||||||
|
PGFdialogue,
|
||||||
|
PGFdoubleBattleDialogue,
|
||||||
|
PGFmiscDialogue,
|
||||||
|
PGMbattleSpecDialogue,
|
||||||
|
PGMdialogue,
|
||||||
|
PGMdoubleBattleDialogue,
|
||||||
|
PGMmiscDialogue
|
||||||
|
} from "./dialogue";
|
||||||
import { egg } from "./egg";
|
import { egg } from "./egg";
|
||||||
import { fightUiHandler } from "./fight-ui-handler";
|
import { fightUiHandler } from "./fight-ui-handler";
|
||||||
|
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
||||||
import { growth } from "./growth";
|
import { growth } from "./growth";
|
||||||
import { menu } from "./menu";
|
import { menu } from "./menu";
|
||||||
import { menuUiHandler } from "./menu-ui-handler";
|
import { menuUiHandler } from "./menu-ui-handler";
|
||||||
@ -13,34 +28,34 @@ import { nature } from "./nature";
|
|||||||
import { pokeball } from "./pokeball";
|
import { pokeball } from "./pokeball";
|
||||||
import { pokemon } from "./pokemon";
|
import { pokemon } from "./pokemon";
|
||||||
import { pokemonInfo } from "./pokemon-info";
|
import { pokemonInfo } from "./pokemon-info";
|
||||||
|
import { pokemonInfoContainer } from "./pokemon-info-container";
|
||||||
import { splashMessages } from "./splash-messages";
|
import { splashMessages } from "./splash-messages";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
import { weather } from "./weather";
|
|
||||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
|
||||||
import { berry } from "./berry";
|
|
||||||
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
|
||||||
import { voucher } from "./voucher";
|
import { voucher } from "./voucher";
|
||||||
import {
|
import { weather } from "./weather";
|
||||||
PGMdialogue,
|
|
||||||
PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue, PGMdoubleBattleDialogue, PGFdoubleBattleDialogue
|
|
||||||
} from "./dialogue";
|
|
||||||
import { biome } from "./biome";
|
|
||||||
import { pokemonInfoContainer } from "./pokemon-info-container";
|
|
||||||
|
|
||||||
|
|
||||||
export const koConfig = {
|
export const koConfig = {
|
||||||
ability: ability,
|
ability: ability,
|
||||||
abilityTriggers: abilityTriggers,
|
abilityTriggers: abilityTriggers,
|
||||||
|
achv: achv,
|
||||||
battle: battle,
|
battle: battle,
|
||||||
|
battleMessageUiHandler: battleMessageUiHandler,
|
||||||
|
berry: berry,
|
||||||
|
biome: biome,
|
||||||
commandUiHandler: commandUiHandler,
|
commandUiHandler: commandUiHandler,
|
||||||
|
PGMdialogue: PGMdialogue,
|
||||||
|
PGFdialogue: PGFdialogue,
|
||||||
|
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
||||||
|
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
||||||
|
PGMmiscDialogue: PGMmiscDialogue,
|
||||||
|
PGFmiscDialogue: PGFmiscDialogue,
|
||||||
|
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
||||||
|
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
|
||||||
egg: egg,
|
egg: egg,
|
||||||
fightUiHandler: fightUiHandler,
|
fightUiHandler: fightUiHandler,
|
||||||
|
gameStatsUiHandler: gameStatsUiHandler,
|
||||||
growth: growth,
|
growth: growth,
|
||||||
menu: menu,
|
menu: menu,
|
||||||
menuUiHandler: menuUiHandler,
|
menuUiHandler: menuUiHandler,
|
||||||
@ -50,25 +65,13 @@ export const koConfig = {
|
|||||||
pokeball: pokeball,
|
pokeball: pokeball,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
pokemonInfo: pokemonInfo,
|
pokemonInfo: pokemonInfo,
|
||||||
|
pokemonInfoContainer: pokemonInfoContainer,
|
||||||
splashMessages: splashMessages,
|
splashMessages: splashMessages,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
titles: titles,
|
titles: titles,
|
||||||
trainerClasses: trainerClasses,
|
trainerClasses: trainerClasses,
|
||||||
trainerNames: trainerNames,
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial,
|
tutorial: tutorial,
|
||||||
weather: weather,
|
|
||||||
battleMessageUiHandler: battleMessageUiHandler,
|
|
||||||
berry: berry,
|
|
||||||
gameStatsUiHandler: gameStatsUiHandler,
|
|
||||||
voucher: voucher,
|
voucher: voucher,
|
||||||
biome: biome,
|
weather: weather
|
||||||
pokemonInfoContainer: pokemonInfoContainer,
|
|
||||||
PGMdialogue: PGMdialogue,
|
|
||||||
PGFdialogue: PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue: PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue: PGFmiscDialogue,
|
|
||||||
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
|
||||||
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue
|
|
||||||
};
|
};
|
||||||
|
@ -211,7 +211,7 @@ export const ability: AbilityTranslationEntries = {
|
|||||||
},
|
},
|
||||||
pickup: {
|
pickup: {
|
||||||
name: "Pickup",
|
name: "Pickup",
|
||||||
description: "Durante a batalha, o Pokémon pode tomar o item do Pokémon adversário. Fora de batalha pode encontrar itens pelo chão.",
|
description: "Após uma batalha, o Pokémon pegará um item que um adversário deixou cair.",
|
||||||
},
|
},
|
||||||
truant: {
|
truant: {
|
||||||
name: "Truant",
|
name: "Truant",
|
||||||
@ -1237,5 +1237,4 @@ export const ability: AbilityTranslationEntries = {
|
|||||||
name: "Poison Puppeteer",
|
name: "Poison Puppeteer",
|
||||||
description: "Pokémon envenenados pelos movimentos de Pecharunt também ficarão confusos.",
|
description: "Pokémon envenenados pelos movimentos de Pecharunt também ficarão confusos.",
|
||||||
},
|
},
|
||||||
|
|
||||||
} as const;
|
} as const;
|
||||||
|
171
src/locales/pt_BR/achv.ts
Normal file
171
src/locales/pt_BR/achv.ts
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
|
||||||
|
|
||||||
|
export const achv: AchievementTranslationEntries = {
|
||||||
|
"Achievements": {
|
||||||
|
name: "Conquistas",
|
||||||
|
},
|
||||||
|
"Locked": {
|
||||||
|
name: "Não conquistado",
|
||||||
|
},
|
||||||
|
|
||||||
|
"MoneyAchv": {
|
||||||
|
description: "Acumule um total de ₽{{moneyAmount}}",
|
||||||
|
},
|
||||||
|
"10K_MONEY": {
|
||||||
|
name: "Chuva de Dinheiro",
|
||||||
|
},
|
||||||
|
"100K_MONEY": {
|
||||||
|
name: "Tô Rica!",
|
||||||
|
},
|
||||||
|
"1M_MONEY": {
|
||||||
|
name: "Quem Quer Ser Um Milionário?",
|
||||||
|
},
|
||||||
|
"10M_MONEY": {
|
||||||
|
name: "Tio Patinhas",
|
||||||
|
},
|
||||||
|
|
||||||
|
"DamageAchv": {
|
||||||
|
description: "Inflija {{damageAmount}} de dano em um único golpe",
|
||||||
|
},
|
||||||
|
"250_DMG": {
|
||||||
|
name: "Essa Doeu!",
|
||||||
|
},
|
||||||
|
"1000_DMG": {
|
||||||
|
name: "Essa Doeu Mais!",
|
||||||
|
},
|
||||||
|
"2500_DMG": {
|
||||||
|
name: "Essa Doeu Muito!",
|
||||||
|
},
|
||||||
|
"10000_DMG": {
|
||||||
|
name: "Essa Doeu Pra Caramba!",
|
||||||
|
},
|
||||||
|
|
||||||
|
"HealAchv": {
|
||||||
|
description: "Cure {{healAmount}} {{HP}} de uma vez só com um movimento, habilidade ou item segurado",
|
||||||
|
},
|
||||||
|
"250_HEAL": {
|
||||||
|
name: "Residente",
|
||||||
|
},
|
||||||
|
"1000_HEAL": {
|
||||||
|
name: "Enfermeiro",
|
||||||
|
},
|
||||||
|
"2500_HEAL": {
|
||||||
|
name: "Médico",
|
||||||
|
},
|
||||||
|
"10000_HEAL": {
|
||||||
|
name: "Médico de Plantão",
|
||||||
|
},
|
||||||
|
|
||||||
|
"LevelAchv": {
|
||||||
|
description: "Aumente o nível de um Pokémon para o Nv{{level}}",
|
||||||
|
},
|
||||||
|
"LV_100": {
|
||||||
|
name: "Calma Que Tem Mais!",
|
||||||
|
},
|
||||||
|
"LV_250": {
|
||||||
|
name: "Treinador de Elite",
|
||||||
|
},
|
||||||
|
"LV_1000": {
|
||||||
|
name: "Ao Infinito e Além!",
|
||||||
|
},
|
||||||
|
|
||||||
|
"RibbonAchv": {
|
||||||
|
description: "Acumule um total de {{ribbonAmount}} Fitas",
|
||||||
|
},
|
||||||
|
"10_RIBBONS": {
|
||||||
|
name: "Fita de Bronze",
|
||||||
|
},
|
||||||
|
"25_RIBBONS": {
|
||||||
|
name: "Fita de Prata",
|
||||||
|
},
|
||||||
|
"50_RIBBONS": {
|
||||||
|
name: "Fita de Ouro",
|
||||||
|
},
|
||||||
|
"75_RIBBONS": {
|
||||||
|
name: "Fita de Platina",
|
||||||
|
},
|
||||||
|
"100_RIBBONS": {
|
||||||
|
name: "Fita de Diamante",
|
||||||
|
},
|
||||||
|
|
||||||
|
"TRANSFER_MAX_BATTLE_STAT": {
|
||||||
|
name: "Trabalho em Equipe",
|
||||||
|
description: "Use Baton Pass com pelo menos um atributo aumentado ao máximo",
|
||||||
|
},
|
||||||
|
"MAX_FRIENDSHIP": {
|
||||||
|
name: "Melhores Amigos",
|
||||||
|
description: "Alcance a amizade máxima com um Pokémon",
|
||||||
|
},
|
||||||
|
"MEGA_EVOLVE": {
|
||||||
|
name: "Megamorfose",
|
||||||
|
description: "Megaevolua um Pokémon",
|
||||||
|
},
|
||||||
|
"GIGANTAMAX": {
|
||||||
|
name: "Ficou Gigante!",
|
||||||
|
description: "Gigantamax um Pokémon",
|
||||||
|
},
|
||||||
|
"TERASTALLIZE": {
|
||||||
|
name: "Terastalização",
|
||||||
|
description: "Terastalize um Pokémon",
|
||||||
|
},
|
||||||
|
"STELLAR_TERASTALLIZE": {
|
||||||
|
name: "Estrela Cadente",
|
||||||
|
description: "Terastalize um Pokémon para o tipo Estelar",
|
||||||
|
},
|
||||||
|
"SPLICE": {
|
||||||
|
name: "Fusão!",
|
||||||
|
description: "Funda dois Pokémon com um Splicer de DNA",
|
||||||
|
},
|
||||||
|
"MINI_BLACK_HOLE": {
|
||||||
|
name: "Buraco Sem Fundo",
|
||||||
|
description: "Adquira um Mini Buraco Negro",
|
||||||
|
},
|
||||||
|
"CATCH_MYTHICAL": {
|
||||||
|
name: "Mítico",
|
||||||
|
description: "Capture um Pokémon Mítico",
|
||||||
|
},
|
||||||
|
"CATCH_SUB_LEGENDARY": {
|
||||||
|
name: "Quase Lendário",
|
||||||
|
description: "Capture um Pokémon Semi-Lendário",
|
||||||
|
},
|
||||||
|
"CATCH_LEGENDARY": {
|
||||||
|
name: "Lendário",
|
||||||
|
description: "Capture um Pokémon Lendário",
|
||||||
|
},
|
||||||
|
"SEE_SHINY": {
|
||||||
|
name: "Ué, Tá Brilhando?",
|
||||||
|
description: "Encontre um Pokémon Shiny selvagem",
|
||||||
|
},
|
||||||
|
"SHINY_PARTY": {
|
||||||
|
name: "Tá Todo Mundo Brilhando!",
|
||||||
|
description: "Tenha uma equipe formada por 6 Pokémon Shiny",
|
||||||
|
},
|
||||||
|
"HATCH_MYTHICAL": {
|
||||||
|
name: "Ovo Mítico",
|
||||||
|
description: "Choque um Pokémon Mítico",
|
||||||
|
},
|
||||||
|
"HATCH_SUB_LEGENDARY": {
|
||||||
|
name: "Ovo Semi-Lendário",
|
||||||
|
description: "Choque um Pokémon Semi-Lendário",
|
||||||
|
},
|
||||||
|
"HATCH_LEGENDARY": {
|
||||||
|
name: "Ovo Lendário",
|
||||||
|
description: "Choque um Pokémon Lendário",
|
||||||
|
},
|
||||||
|
"HATCH_SHINY": {
|
||||||
|
name: "Ovo Shiny",
|
||||||
|
description: "Choque um Pokémon Shiny",
|
||||||
|
},
|
||||||
|
"HIDDEN_ABILITY": {
|
||||||
|
name: "Potencial Oculto",
|
||||||
|
description: "Capture um Pokémon com uma Habilidade Oculta",
|
||||||
|
},
|
||||||
|
"PERFECT_IVS": {
|
||||||
|
name: "Perfeição Certificada",
|
||||||
|
description: "Obtenha IVs perfeitos em um Pokémon",
|
||||||
|
},
|
||||||
|
"CLASSIC_VICTORY": {
|
||||||
|
name: "Invencível",
|
||||||
|
description: "Vença o jogo no modo clássico",
|
||||||
|
},
|
||||||
|
} as const;
|
@ -1,9 +1,24 @@
|
|||||||
import { ability } from "./ability";
|
import { ability } from "./ability";
|
||||||
import { abilityTriggers } from "./ability-trigger";
|
import { abilityTriggers } from "./ability-trigger";
|
||||||
|
import { achv } from "./achv";
|
||||||
import { battle } from "./battle";
|
import { battle } from "./battle";
|
||||||
|
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||||
|
import { berry } from "./berry";
|
||||||
|
import { biome } from "./biome";
|
||||||
import { commandUiHandler } from "./command-ui-handler";
|
import { commandUiHandler } from "./command-ui-handler";
|
||||||
|
import {
|
||||||
|
PGFbattleSpecDialogue,
|
||||||
|
PGFdialogue,
|
||||||
|
PGFdoubleBattleDialogue,
|
||||||
|
PGFmiscDialogue,
|
||||||
|
PGMbattleSpecDialogue,
|
||||||
|
PGMdialogue,
|
||||||
|
PGMdoubleBattleDialogue,
|
||||||
|
PGMmiscDialogue
|
||||||
|
} from "./dialogue";
|
||||||
import { egg } from "./egg";
|
import { egg } from "./egg";
|
||||||
import { fightUiHandler } from "./fight-ui-handler";
|
import { fightUiHandler } from "./fight-ui-handler";
|
||||||
|
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
||||||
import { growth } from "./growth";
|
import { growth } from "./growth";
|
||||||
import { menu } from "./menu";
|
import { menu } from "./menu";
|
||||||
import { menuUiHandler } from "./menu-ui-handler";
|
import { menuUiHandler } from "./menu-ui-handler";
|
||||||
@ -13,33 +28,34 @@ import { nature } from "./nature";
|
|||||||
import { pokeball } from "./pokeball";
|
import { pokeball } from "./pokeball";
|
||||||
import { pokemon } from "./pokemon";
|
import { pokemon } from "./pokemon";
|
||||||
import { pokemonInfo } from "./pokemon-info";
|
import { pokemonInfo } from "./pokemon-info";
|
||||||
|
import { pokemonInfoContainer } from "./pokemon-info-container";
|
||||||
import { splashMessages } from "./splash-messages";
|
import { splashMessages } from "./splash-messages";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
import { weather } from "./weather";
|
|
||||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
|
||||||
import { berry } from "./berry";
|
|
||||||
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
|
||||||
import { voucher } from "./voucher";
|
import { voucher } from "./voucher";
|
||||||
import {
|
import { weather } from "./weather";
|
||||||
PGMdialogue,
|
|
||||||
PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue, PGMdoubleBattleDialogue, PGFdoubleBattleDialogue
|
|
||||||
} from "./dialogue";
|
|
||||||
import { biome } from "./biome";
|
|
||||||
import { pokemonInfoContainer } from "./pokemon-info-container";
|
|
||||||
|
|
||||||
export const ptBrConfig = {
|
export const ptBrConfig = {
|
||||||
ability: ability,
|
ability: ability,
|
||||||
abilityTriggers: abilityTriggers,
|
abilityTriggers: abilityTriggers,
|
||||||
|
achv: achv,
|
||||||
battle: battle,
|
battle: battle,
|
||||||
|
battleMessageUiHandler: battleMessageUiHandler,
|
||||||
|
berry: berry,
|
||||||
|
biome: biome,
|
||||||
commandUiHandler: commandUiHandler,
|
commandUiHandler: commandUiHandler,
|
||||||
|
PGMdialogue: PGMdialogue,
|
||||||
|
PGFdialogue: PGFdialogue,
|
||||||
|
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
||||||
|
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
||||||
|
PGMmiscDialogue: PGMmiscDialogue,
|
||||||
|
PGFmiscDialogue: PGFmiscDialogue,
|
||||||
|
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
||||||
|
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
|
||||||
egg: egg,
|
egg: egg,
|
||||||
fightUiHandler: fightUiHandler,
|
fightUiHandler: fightUiHandler,
|
||||||
|
gameStatsUiHandler: gameStatsUiHandler,
|
||||||
growth: growth,
|
growth: growth,
|
||||||
menu: menu,
|
menu: menu,
|
||||||
menuUiHandler: menuUiHandler,
|
menuUiHandler: menuUiHandler,
|
||||||
@ -49,25 +65,13 @@ export const ptBrConfig = {
|
|||||||
pokeball: pokeball,
|
pokeball: pokeball,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
pokemonInfo: pokemonInfo,
|
pokemonInfo: pokemonInfo,
|
||||||
|
pokemonInfoContainer: pokemonInfoContainer,
|
||||||
splashMessages: splashMessages,
|
splashMessages: splashMessages,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
titles: titles,
|
titles: titles,
|
||||||
trainerClasses: trainerClasses,
|
trainerClasses: trainerClasses,
|
||||||
trainerNames: trainerNames,
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial,
|
tutorial: tutorial,
|
||||||
weather: weather,
|
|
||||||
battleMessageUiHandler: battleMessageUiHandler,
|
|
||||||
berry: berry,
|
|
||||||
gameStatsUiHandler: gameStatsUiHandler,
|
|
||||||
voucher: voucher,
|
voucher: voucher,
|
||||||
biome: biome,
|
weather: weather
|
||||||
pokemonInfoContainer: pokemonInfoContainer,
|
|
||||||
PGMdialogue: PGMdialogue,
|
|
||||||
PGFdialogue: PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue: PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue: PGFmiscDialogue,
|
|
||||||
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
|
||||||
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue
|
|
||||||
};
|
};
|
||||||
|
@ -110,7 +110,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
|||||||
},
|
},
|
||||||
"TerastallizeModifierType": {
|
"TerastallizeModifierType": {
|
||||||
name: "{{teraType}} Fragmento Tera",
|
name: "{{teraType}} Fragmento Tera",
|
||||||
description: "{{teraType}} Terastaliza um Pokémon por até 10 batalhas",
|
description: "{{teraType}} Terastalize um Pokémon por até 10 batalhas",
|
||||||
},
|
},
|
||||||
"ContactHeldItemTransferChanceModifierType": {
|
"ContactHeldItemTransferChanceModifierType": {
|
||||||
description: "Quando atacar, tem {{chancePercent}}% de chance de roubar um item do oponente",
|
description: "Quando atacar, tem {{chancePercent}}% de chance de roubar um item do oponente",
|
||||||
@ -128,8 +128,8 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
|||||||
"RARE_CANDY": { name: "Doce Raro" },
|
"RARE_CANDY": { name: "Doce Raro" },
|
||||||
"RARER_CANDY": { name: "Doce Raríssimo" },
|
"RARER_CANDY": { name: "Doce Raríssimo" },
|
||||||
|
|
||||||
"MEGA_BRACELET": { name: "Mega Bracelete", description: "Mega Stones become available" },
|
"MEGA_BRACELET": { name: "Mega Bracelete", description: "Mega Pedras ficam disponíveis" },
|
||||||
"DYNAMAX_BAND": { name: "Bracelete Dynamax", description: "Max Mushrooms become available" },
|
"DYNAMAX_BAND": { name: "Bracelete Dynamax", description: "Cogumáximos ficam disponíveis" },
|
||||||
"TERA_ORB": { name: "Orbe Tera", description: "Fragmentos Tera ficam disponíveis" },
|
"TERA_ORB": { name: "Orbe Tera", description: "Fragmentos Tera ficam disponíveis" },
|
||||||
|
|
||||||
"MAP": { name: "Mapa", description: "Permite escolher a próxima rota" },
|
"MAP": { name: "Mapa", description: "Permite escolher a próxima rota" },
|
||||||
@ -369,7 +369,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
|||||||
"GRISEOUS_CORE": "Núcleo Platinado",
|
"GRISEOUS_CORE": "Núcleo Platinado",
|
||||||
"REVEAL_GLASS": "Espelho da Verdade",
|
"REVEAL_GLASS": "Espelho da Verdade",
|
||||||
"GRACIDEA": "Gracídea",
|
"GRACIDEA": "Gracídea",
|
||||||
"MAX_MUSHROOMS": "Cogumax",
|
"MAX_MUSHROOMS": "Cogumáximo",
|
||||||
"DARK_STONE": "Pedra das Trevas",
|
"DARK_STONE": "Pedra das Trevas",
|
||||||
"LIGHT_STONE": "Pedra da Luz",
|
"LIGHT_STONE": "Pedra da Luz",
|
||||||
"PRISON_BOTTLE": "Garrafa Prisão",
|
"PRISON_BOTTLE": "Garrafa Prisão",
|
||||||
|
@ -2,10 +2,10 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
|||||||
|
|
||||||
export const voucher: SimpleTranslationEntries = {
|
export const voucher: SimpleTranslationEntries = {
|
||||||
"vouchers": "Vouchers",
|
"vouchers": "Vouchers",
|
||||||
"eggVoucher": "Egg Voucher",
|
"eggVoucher": "Voucher de Ovo",
|
||||||
"eggVoucherPlus": "Egg Voucher Plus",
|
"eggVoucherPlus": "Voucher de Ovo Plus",
|
||||||
"eggVoucherPremium": "Egg Voucher Premium",
|
"eggVoucherPremium": "Voucher de Ovo Premium",
|
||||||
"eggVoucherGold": "Egg Voucher Gold",
|
"eggVoucherGold": "Voucher de Ovo Dourado",
|
||||||
"locked": "Locked",
|
"locked": "Bloqueado",
|
||||||
"defeatTrainer": "Defeat {{trainerName}}"
|
"defeatTrainer": "Derrote {{trainerName}}"
|
||||||
} as const;
|
} as const;
|
||||||
|
171
src/locales/zh_CN/achv.ts
Normal file
171
src/locales/zh_CN/achv.ts
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
|
||||||
|
|
||||||
|
export const achv: AchievementTranslationEntries = {
|
||||||
|
"Achievements": {
|
||||||
|
name: "Achievements",
|
||||||
|
},
|
||||||
|
"Locked": {
|
||||||
|
name: "Locked",
|
||||||
|
},
|
||||||
|
|
||||||
|
"MoneyAchv": {
|
||||||
|
description: "Accumulate a total of ₽{{moneyAmount}}",
|
||||||
|
},
|
||||||
|
"10K_MONEY": {
|
||||||
|
name: "Money Haver",
|
||||||
|
},
|
||||||
|
"100K_MONEY": {
|
||||||
|
name: "Rich",
|
||||||
|
},
|
||||||
|
"1M_MONEY": {
|
||||||
|
name: "Millionaire",
|
||||||
|
},
|
||||||
|
"10M_MONEY": {
|
||||||
|
name: "One Percenter",
|
||||||
|
},
|
||||||
|
|
||||||
|
"DamageAchv": {
|
||||||
|
description: "Inflict {{damageAmount}} damage in one hit",
|
||||||
|
},
|
||||||
|
"250_DMG": {
|
||||||
|
name: "Hard Hitter",
|
||||||
|
},
|
||||||
|
"1000_DMG": {
|
||||||
|
name: "Harder Hitter",
|
||||||
|
},
|
||||||
|
"2500_DMG": {
|
||||||
|
name: "That's a Lotta Damage!",
|
||||||
|
},
|
||||||
|
"10000_DMG": {
|
||||||
|
name: "One Punch Man",
|
||||||
|
},
|
||||||
|
|
||||||
|
"HealAchv": {
|
||||||
|
description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
|
||||||
|
},
|
||||||
|
"250_HEAL": {
|
||||||
|
name: "Novice Healer",
|
||||||
|
},
|
||||||
|
"1000_HEAL": {
|
||||||
|
name: "Big Healer",
|
||||||
|
},
|
||||||
|
"2500_HEAL": {
|
||||||
|
name: "Cleric",
|
||||||
|
},
|
||||||
|
"10000_HEAL": {
|
||||||
|
name: "Recovery Master",
|
||||||
|
},
|
||||||
|
|
||||||
|
"LevelAchv": {
|
||||||
|
description: "Level up a Pokémon to Lv{{level}}",
|
||||||
|
},
|
||||||
|
"LV_100": {
|
||||||
|
name: "But Wait, There's More!",
|
||||||
|
},
|
||||||
|
"LV_250": {
|
||||||
|
name: "Elite",
|
||||||
|
},
|
||||||
|
"LV_1000": {
|
||||||
|
name: "To Go Even Further Beyond",
|
||||||
|
},
|
||||||
|
|
||||||
|
"RibbonAchv": {
|
||||||
|
description: "Accumulate a total of {{ribbonAmount}} Ribbons",
|
||||||
|
},
|
||||||
|
"10_RIBBONS": {
|
||||||
|
name: "Pokémon League Champion",
|
||||||
|
},
|
||||||
|
"25_RIBBONS": {
|
||||||
|
name: "Great League Champion",
|
||||||
|
},
|
||||||
|
"50_RIBBONS": {
|
||||||
|
name: "Ultra League Champion",
|
||||||
|
},
|
||||||
|
"75_RIBBONS": {
|
||||||
|
name: "Rogue League Champion",
|
||||||
|
},
|
||||||
|
"100_RIBBONS": {
|
||||||
|
name: "Master League Champion",
|
||||||
|
},
|
||||||
|
|
||||||
|
"TRANSFER_MAX_BATTLE_STAT": {
|
||||||
|
name: "Teamwork",
|
||||||
|
description: "Baton pass to another party member with at least one stat maxed out",
|
||||||
|
},
|
||||||
|
"MAX_FRIENDSHIP": {
|
||||||
|
name: "Friendmaxxing",
|
||||||
|
description: "Reach max friendship on a Pokémon",
|
||||||
|
},
|
||||||
|
"MEGA_EVOLVE": {
|
||||||
|
name: "Megamorph",
|
||||||
|
description: "Mega evolve a Pokémon",
|
||||||
|
},
|
||||||
|
"GIGANTAMAX": {
|
||||||
|
name: "Absolute Unit",
|
||||||
|
description: "Gigantamax a Pokémon",
|
||||||
|
},
|
||||||
|
"TERASTALLIZE": {
|
||||||
|
name: "STAB Enthusiast",
|
||||||
|
description: "Terastallize a Pokémon",
|
||||||
|
},
|
||||||
|
"STELLAR_TERASTALLIZE": {
|
||||||
|
name: "The Hidden Type",
|
||||||
|
description: "Stellar Terastallize a Pokémon",
|
||||||
|
},
|
||||||
|
"SPLICE": {
|
||||||
|
name: "Infinite Fusion",
|
||||||
|
description: "Splice two Pokémon together with DNA Splicers",
|
||||||
|
},
|
||||||
|
"MINI_BLACK_HOLE": {
|
||||||
|
name: "A Hole Lot of Items",
|
||||||
|
description: "Acquire a Mini Black Hole",
|
||||||
|
},
|
||||||
|
"CATCH_MYTHICAL": {
|
||||||
|
name: "Mythical",
|
||||||
|
description: "Catch a mythical Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_SUB_LEGENDARY": {
|
||||||
|
name: "(Sub-)Legendary",
|
||||||
|
description: "Catch a sub-legendary Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_LEGENDARY": {
|
||||||
|
name: "Legendary",
|
||||||
|
description: "Catch a legendary Pokémon",
|
||||||
|
},
|
||||||
|
"SEE_SHINY": {
|
||||||
|
name: "Shiny",
|
||||||
|
description: "Find a shiny Pokémon in the wild",
|
||||||
|
},
|
||||||
|
"SHINY_PARTY": {
|
||||||
|
name: "That's Dedication",
|
||||||
|
description: "Have a full party of shiny Pokémon",
|
||||||
|
},
|
||||||
|
"HATCH_MYTHICAL": {
|
||||||
|
name: "Mythical Egg",
|
||||||
|
description: "Hatch a mythical Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_SUB_LEGENDARY": {
|
||||||
|
name: "Sub-Legendary Egg",
|
||||||
|
description: "Hatch a sub-legendary Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_LEGENDARY": {
|
||||||
|
name: "Legendary Egg",
|
||||||
|
description: "Hatch a legendary Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_SHINY": {
|
||||||
|
name: "Shiny Egg",
|
||||||
|
description: "Hatch a shiny Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HIDDEN_ABILITY": {
|
||||||
|
name: "Hidden Potential",
|
||||||
|
description: "Catch a Pokémon with a hidden ability",
|
||||||
|
},
|
||||||
|
"PERFECT_IVS": {
|
||||||
|
name: "Certificate of Authenticity",
|
||||||
|
description: "Get perfect IVs on a Pokémon",
|
||||||
|
},
|
||||||
|
"CLASSIC_VICTORY": {
|
||||||
|
name: "Undefeated",
|
||||||
|
description: "Beat the game in classic mode",
|
||||||
|
},
|
||||||
|
} as const;
|
@ -1,9 +1,24 @@
|
|||||||
import { ability } from "./ability";
|
import { ability } from "./ability";
|
||||||
import { abilityTriggers } from "./ability-trigger";
|
import { abilityTriggers } from "./ability-trigger";
|
||||||
|
import { achv } from "./achv";
|
||||||
import { battle } from "./battle";
|
import { battle } from "./battle";
|
||||||
|
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||||
|
import { berry } from "./berry";
|
||||||
|
import { biome } from "./biome";
|
||||||
import { commandUiHandler } from "./command-ui-handler";
|
import { commandUiHandler } from "./command-ui-handler";
|
||||||
|
import {
|
||||||
|
PGFbattleSpecDialogue,
|
||||||
|
PGFdialogue,
|
||||||
|
PGFdoubleBattleDialogue,
|
||||||
|
PGFmiscDialogue,
|
||||||
|
PGMbattleSpecDialogue,
|
||||||
|
PGMdialogue,
|
||||||
|
PGMdoubleBattleDialogue,
|
||||||
|
PGMmiscDialogue
|
||||||
|
} from "./dialogue";
|
||||||
import { egg } from "./egg";
|
import { egg } from "./egg";
|
||||||
import { fightUiHandler } from "./fight-ui-handler";
|
import { fightUiHandler } from "./fight-ui-handler";
|
||||||
|
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
||||||
import { growth } from "./growth";
|
import { growth } from "./growth";
|
||||||
import { menu } from "./menu";
|
import { menu } from "./menu";
|
||||||
import { menuUiHandler } from "./menu-ui-handler";
|
import { menuUiHandler } from "./menu-ui-handler";
|
||||||
@ -13,33 +28,34 @@ import { nature } from "./nature";
|
|||||||
import { pokeball } from "./pokeball";
|
import { pokeball } from "./pokeball";
|
||||||
import { pokemon } from "./pokemon";
|
import { pokemon } from "./pokemon";
|
||||||
import { pokemonInfo } from "./pokemon-info";
|
import { pokemonInfo } from "./pokemon-info";
|
||||||
|
import { pokemonInfoContainer } from "./pokemon-info-container";
|
||||||
import { splashMessages } from "./splash-messages";
|
import { splashMessages } from "./splash-messages";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
import { weather } from "./weather";
|
|
||||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
|
||||||
import { berry } from "./berry";
|
|
||||||
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
|
||||||
import { voucher } from "./voucher";
|
import { voucher } from "./voucher";
|
||||||
import {
|
import { weather } from "./weather";
|
||||||
PGMdialogue,
|
|
||||||
PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue, PGMdoubleBattleDialogue, PGFdoubleBattleDialogue
|
|
||||||
} from "./dialogue";
|
|
||||||
import { biome } from "./biome";
|
|
||||||
import { pokemonInfoContainer } from "./pokemon-info-container";
|
|
||||||
|
|
||||||
export const zhCnConfig = {
|
export const zhCnConfig = {
|
||||||
ability: ability,
|
ability: ability,
|
||||||
abilityTriggers: abilityTriggers,
|
abilityTriggers: abilityTriggers,
|
||||||
|
achv: achv,
|
||||||
battle: battle,
|
battle: battle,
|
||||||
|
battleMessageUiHandler: battleMessageUiHandler,
|
||||||
|
berry: berry,
|
||||||
|
biome: biome,
|
||||||
commandUiHandler: commandUiHandler,
|
commandUiHandler: commandUiHandler,
|
||||||
|
PGMdialogue: PGMdialogue,
|
||||||
|
PGFdialogue: PGFdialogue,
|
||||||
|
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
||||||
|
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
||||||
|
PGMmiscDialogue: PGMmiscDialogue,
|
||||||
|
PGFmiscDialogue: PGFmiscDialogue,
|
||||||
|
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
||||||
|
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
|
||||||
egg: egg,
|
egg: egg,
|
||||||
fightUiHandler: fightUiHandler,
|
fightUiHandler: fightUiHandler,
|
||||||
|
gameStatsUiHandler: gameStatsUiHandler,
|
||||||
growth: growth,
|
growth: growth,
|
||||||
menu: menu,
|
menu: menu,
|
||||||
menuUiHandler: menuUiHandler,
|
menuUiHandler: menuUiHandler,
|
||||||
@ -49,25 +65,13 @@ export const zhCnConfig = {
|
|||||||
pokeball: pokeball,
|
pokeball: pokeball,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
pokemonInfo: pokemonInfo,
|
pokemonInfo: pokemonInfo,
|
||||||
|
pokemonInfoContainer: pokemonInfoContainer,
|
||||||
splashMessages: splashMessages,
|
splashMessages: splashMessages,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
titles: titles,
|
titles: titles,
|
||||||
trainerClasses: trainerClasses,
|
trainerClasses: trainerClasses,
|
||||||
trainerNames: trainerNames,
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial,
|
tutorial: tutorial,
|
||||||
weather: weather,
|
|
||||||
battleMessageUiHandler: battleMessageUiHandler,
|
|
||||||
berry: berry,
|
|
||||||
gameStatsUiHandler: gameStatsUiHandler,
|
|
||||||
voucher: voucher,
|
voucher: voucher,
|
||||||
biome: biome,
|
weather: weather
|
||||||
pokemonInfoContainer: pokemonInfoContainer,
|
|
||||||
PGMdialogue: PGMdialogue,
|
|
||||||
PGFdialogue: PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue: PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue: PGFmiscDialogue,
|
|
||||||
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
|
||||||
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue
|
|
||||||
};
|
};
|
||||||
|
171
src/locales/zh_TW/achv.ts
Normal file
171
src/locales/zh_TW/achv.ts
Normal file
@ -0,0 +1,171 @@
|
|||||||
|
import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
|
||||||
|
|
||||||
|
export const achv: AchievementTranslationEntries = {
|
||||||
|
"Achievements": {
|
||||||
|
name: "Achievements",
|
||||||
|
},
|
||||||
|
"Locked": {
|
||||||
|
name: "Locked",
|
||||||
|
},
|
||||||
|
|
||||||
|
"MoneyAchv": {
|
||||||
|
description: "Accumulate a total of ₽{{moneyAmount}}",
|
||||||
|
},
|
||||||
|
"10K_MONEY": {
|
||||||
|
name: "Money Haver",
|
||||||
|
},
|
||||||
|
"100K_MONEY": {
|
||||||
|
name: "Rich",
|
||||||
|
},
|
||||||
|
"1M_MONEY": {
|
||||||
|
name: "Millionaire",
|
||||||
|
},
|
||||||
|
"10M_MONEY": {
|
||||||
|
name: "One Percenter",
|
||||||
|
},
|
||||||
|
|
||||||
|
"DamageAchv": {
|
||||||
|
description: "Inflict {{damageAmount}} damage in one hit",
|
||||||
|
},
|
||||||
|
"250_DMG": {
|
||||||
|
name: "Hard Hitter",
|
||||||
|
},
|
||||||
|
"1000_DMG": {
|
||||||
|
name: "Harder Hitter",
|
||||||
|
},
|
||||||
|
"2500_DMG": {
|
||||||
|
name: "That's a Lotta Damage!",
|
||||||
|
},
|
||||||
|
"10000_DMG": {
|
||||||
|
name: "One Punch Man",
|
||||||
|
},
|
||||||
|
|
||||||
|
"HealAchv": {
|
||||||
|
description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
|
||||||
|
},
|
||||||
|
"250_HEAL": {
|
||||||
|
name: "Novice Healer",
|
||||||
|
},
|
||||||
|
"1000_HEAL": {
|
||||||
|
name: "Big Healer",
|
||||||
|
},
|
||||||
|
"2500_HEAL": {
|
||||||
|
name: "Cleric",
|
||||||
|
},
|
||||||
|
"10000_HEAL": {
|
||||||
|
name: "Recovery Master",
|
||||||
|
},
|
||||||
|
|
||||||
|
"LevelAchv": {
|
||||||
|
description: "Level up a Pokémon to Lv{{level}}",
|
||||||
|
},
|
||||||
|
"LV_100": {
|
||||||
|
name: "But Wait, There's More!",
|
||||||
|
},
|
||||||
|
"LV_250": {
|
||||||
|
name: "Elite",
|
||||||
|
},
|
||||||
|
"LV_1000": {
|
||||||
|
name: "To Go Even Further Beyond",
|
||||||
|
},
|
||||||
|
|
||||||
|
"RibbonAchv": {
|
||||||
|
description: "Accumulate a total of {{ribbonAmount}} Ribbons",
|
||||||
|
},
|
||||||
|
"10_RIBBONS": {
|
||||||
|
name: "Pokémon League Champion",
|
||||||
|
},
|
||||||
|
"25_RIBBONS": {
|
||||||
|
name: "Great League Champion",
|
||||||
|
},
|
||||||
|
"50_RIBBONS": {
|
||||||
|
name: "Ultra League Champion",
|
||||||
|
},
|
||||||
|
"75_RIBBONS": {
|
||||||
|
name: "Rogue League Champion",
|
||||||
|
},
|
||||||
|
"100_RIBBONS": {
|
||||||
|
name: "Master League Champion",
|
||||||
|
},
|
||||||
|
|
||||||
|
"TRANSFER_MAX_BATTLE_STAT": {
|
||||||
|
name: "Teamwork",
|
||||||
|
description: "Baton pass to another party member with at least one stat maxed out",
|
||||||
|
},
|
||||||
|
"MAX_FRIENDSHIP": {
|
||||||
|
name: "Friendmaxxing",
|
||||||
|
description: "Reach max friendship on a Pokémon",
|
||||||
|
},
|
||||||
|
"MEGA_EVOLVE": {
|
||||||
|
name: "Megamorph",
|
||||||
|
description: "Mega evolve a Pokémon",
|
||||||
|
},
|
||||||
|
"GIGANTAMAX": {
|
||||||
|
name: "Absolute Unit",
|
||||||
|
description: "Gigantamax a Pokémon",
|
||||||
|
},
|
||||||
|
"TERASTALLIZE": {
|
||||||
|
name: "STAB Enthusiast",
|
||||||
|
description: "Terastallize a Pokémon",
|
||||||
|
},
|
||||||
|
"STELLAR_TERASTALLIZE": {
|
||||||
|
name: "The Hidden Type",
|
||||||
|
description: "Stellar Terastallize a Pokémon",
|
||||||
|
},
|
||||||
|
"SPLICE": {
|
||||||
|
name: "Infinite Fusion",
|
||||||
|
description: "Splice two Pokémon together with DNA Splicers",
|
||||||
|
},
|
||||||
|
"MINI_BLACK_HOLE": {
|
||||||
|
name: "A Hole Lot of Items",
|
||||||
|
description: "Acquire a Mini Black Hole",
|
||||||
|
},
|
||||||
|
"CATCH_MYTHICAL": {
|
||||||
|
name: "Mythical",
|
||||||
|
description: "Catch a mythical Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_SUB_LEGENDARY": {
|
||||||
|
name: "(Sub-)Legendary",
|
||||||
|
description: "Catch a sub-legendary Pokémon",
|
||||||
|
},
|
||||||
|
"CATCH_LEGENDARY": {
|
||||||
|
name: "Legendary",
|
||||||
|
description: "Catch a legendary Pokémon",
|
||||||
|
},
|
||||||
|
"SEE_SHINY": {
|
||||||
|
name: "Shiny",
|
||||||
|
description: "Find a shiny Pokémon in the wild",
|
||||||
|
},
|
||||||
|
"SHINY_PARTY": {
|
||||||
|
name: "That's Dedication",
|
||||||
|
description: "Have a full party of shiny Pokémon",
|
||||||
|
},
|
||||||
|
"HATCH_MYTHICAL": {
|
||||||
|
name: "Mythical Egg",
|
||||||
|
description: "Hatch a mythical Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_SUB_LEGENDARY": {
|
||||||
|
name: "Sub-Legendary Egg",
|
||||||
|
description: "Hatch a sub-legendary Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_LEGENDARY": {
|
||||||
|
name: "Legendary Egg",
|
||||||
|
description: "Hatch a legendary Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HATCH_SHINY": {
|
||||||
|
name: "Shiny Egg",
|
||||||
|
description: "Hatch a shiny Pokémon from an egg",
|
||||||
|
},
|
||||||
|
"HIDDEN_ABILITY": {
|
||||||
|
name: "Hidden Potential",
|
||||||
|
description: "Catch a Pokémon with a hidden ability",
|
||||||
|
},
|
||||||
|
"PERFECT_IVS": {
|
||||||
|
name: "Certificate of Authenticity",
|
||||||
|
description: "Get perfect IVs on a Pokémon",
|
||||||
|
},
|
||||||
|
"CLASSIC_VICTORY": {
|
||||||
|
name: "Undefeated",
|
||||||
|
description: "Beat the game in classic mode",
|
||||||
|
},
|
||||||
|
} as const;
|
@ -1,9 +1,24 @@
|
|||||||
import { ability } from "./ability";
|
import { ability } from "./ability";
|
||||||
import { abilityTriggers } from "./ability-trigger";
|
import { abilityTriggers } from "./ability-trigger";
|
||||||
|
import { achv } from "./achv";
|
||||||
import { battle } from "./battle";
|
import { battle } from "./battle";
|
||||||
|
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||||
|
import { berry } from "./berry";
|
||||||
|
import { biome } from "./biome";
|
||||||
import { commandUiHandler } from "./command-ui-handler";
|
import { commandUiHandler } from "./command-ui-handler";
|
||||||
|
import {
|
||||||
|
PGFbattleSpecDialogue,
|
||||||
|
PGFdialogue,
|
||||||
|
PGFdoubleBattleDialogue,
|
||||||
|
PGFmiscDialogue,
|
||||||
|
PGMbattleSpecDialogue,
|
||||||
|
PGMdialogue,
|
||||||
|
PGMdoubleBattleDialogue,
|
||||||
|
PGMmiscDialogue
|
||||||
|
} from "./dialogue";
|
||||||
import { egg } from "./egg";
|
import { egg } from "./egg";
|
||||||
import { fightUiHandler } from "./fight-ui-handler";
|
import { fightUiHandler } from "./fight-ui-handler";
|
||||||
|
import { gameStatsUiHandler } from "./game-stats-ui-handler";
|
||||||
import { growth } from "./growth";
|
import { growth } from "./growth";
|
||||||
import { menu } from "./menu";
|
import { menu } from "./menu";
|
||||||
import { menuUiHandler } from "./menu-ui-handler";
|
import { menuUiHandler } from "./menu-ui-handler";
|
||||||
@ -13,32 +28,34 @@ import { nature } from "./nature";
|
|||||||
import { pokeball } from "./pokeball";
|
import { pokeball } from "./pokeball";
|
||||||
import { pokemon } from "./pokemon";
|
import { pokemon } from "./pokemon";
|
||||||
import { pokemonInfo } from "./pokemon-info";
|
import { pokemonInfo } from "./pokemon-info";
|
||||||
|
import { pokemonInfoContainer } from "./pokemon-info-container";
|
||||||
import { splashMessages } from "./splash-messages";
|
import { splashMessages } from "./splash-messages";
|
||||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||||
import { titles, trainerClasses, trainerNames } from "./trainers";
|
import { titles, trainerClasses, trainerNames } from "./trainers";
|
||||||
import { tutorial } from "./tutorial";
|
import { tutorial } from "./tutorial";
|
||||||
import { weather } from "./weather";
|
|
||||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
|
||||||
import { berry } from "./berry";
|
|
||||||
import { voucher } from "./voucher";
|
import { voucher } from "./voucher";
|
||||||
import {
|
import { weather } from "./weather";
|
||||||
PGMdialogue,
|
|
||||||
PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue, PGMdoubleBattleDialogue, PGFdoubleBattleDialogue
|
|
||||||
} from "./dialogue";
|
|
||||||
import { biome } from "./biome";
|
|
||||||
import { pokemonInfoContainer } from "./pokemon-info-container";
|
|
||||||
|
|
||||||
export const zhTWConfig = {
|
export const zhTwConfig = {
|
||||||
ability: ability,
|
ability: ability,
|
||||||
abilityTriggers: abilityTriggers,
|
abilityTriggers: abilityTriggers,
|
||||||
|
achv: achv,
|
||||||
battle: battle,
|
battle: battle,
|
||||||
|
battleMessageUiHandler: battleMessageUiHandler,
|
||||||
|
berry: berry,
|
||||||
|
biome: biome,
|
||||||
commandUiHandler: commandUiHandler,
|
commandUiHandler: commandUiHandler,
|
||||||
|
PGMdialogue: PGMdialogue,
|
||||||
|
PGFdialogue: PGFdialogue,
|
||||||
|
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
||||||
|
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
||||||
|
PGMmiscDialogue: PGMmiscDialogue,
|
||||||
|
PGFmiscDialogue: PGFmiscDialogue,
|
||||||
|
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
||||||
|
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
|
||||||
egg: egg,
|
egg: egg,
|
||||||
fightUiHandler: fightUiHandler,
|
fightUiHandler: fightUiHandler,
|
||||||
|
gameStatsUiHandler: gameStatsUiHandler,
|
||||||
growth: growth,
|
growth: growth,
|
||||||
menu: menu,
|
menu: menu,
|
||||||
menuUiHandler: menuUiHandler,
|
menuUiHandler: menuUiHandler,
|
||||||
@ -48,24 +65,13 @@ export const zhTWConfig = {
|
|||||||
pokeball: pokeball,
|
pokeball: pokeball,
|
||||||
pokemon: pokemon,
|
pokemon: pokemon,
|
||||||
pokemonInfo: pokemonInfo,
|
pokemonInfo: pokemonInfo,
|
||||||
|
pokemonInfoContainer: pokemonInfoContainer,
|
||||||
splashMessages: splashMessages,
|
splashMessages: splashMessages,
|
||||||
starterSelectUiHandler: starterSelectUiHandler,
|
starterSelectUiHandler: starterSelectUiHandler,
|
||||||
titles: titles,
|
titles: titles,
|
||||||
trainerClasses: trainerClasses,
|
trainerClasses: trainerClasses,
|
||||||
trainerNames: trainerNames,
|
trainerNames: trainerNames,
|
||||||
tutorial: tutorial,
|
tutorial: tutorial,
|
||||||
weather: weather,
|
|
||||||
battleMessageUiHandler: battleMessageUiHandler,
|
|
||||||
berry: berry,
|
|
||||||
voucher: voucher,
|
voucher: voucher,
|
||||||
biome: biome,
|
weather: weather
|
||||||
pokemonInfoContainer: pokemonInfoContainer,
|
|
||||||
PGMdialogue: PGMdialogue,
|
|
||||||
PGFdialogue: PGFdialogue,
|
|
||||||
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
|
|
||||||
PGFbattleSpecDialogue: PGFbattleSpecDialogue,
|
|
||||||
PGMmiscDialogue: PGMmiscDialogue,
|
|
||||||
PGFmiscDialogue: PGFmiscDialogue,
|
|
||||||
PGMdoubleBattleDialogue: PGMdoubleBattleDialogue,
|
|
||||||
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue
|
|
||||||
};
|
};
|
||||||
|
44
src/locales/zh_TW/game-stats-ui-handler.ts
Normal file
44
src/locales/zh_TW/game-stats-ui-handler.ts
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||||
|
|
||||||
|
export const gameStatsUiHandler: SimpleTranslationEntries = {
|
||||||
|
"stats": "Stats",
|
||||||
|
"playTime": "Play Time",
|
||||||
|
"totalBattles": "Total Battles",
|
||||||
|
"starters": "Starters",
|
||||||
|
"shinyStarters": "Shiny Starters",
|
||||||
|
"speciesSeen": "Species Seen",
|
||||||
|
"speciesCaught": "Species Caught",
|
||||||
|
"ribbonsOwned": "Ribbons Owned",
|
||||||
|
"classicRuns": "Classic Runs",
|
||||||
|
"classicWins": "Classic Wins",
|
||||||
|
"dailyRunAttempts": "Daily Run Attempts",
|
||||||
|
"dailyRunWins": "Daily Run Wins",
|
||||||
|
"endlessRuns": "Endless Runs",
|
||||||
|
"highestWaveEndless": "Highest Wave (Endless)",
|
||||||
|
"highestMoney": "Highest Money",
|
||||||
|
"highestDamage": "Highest Damage",
|
||||||
|
"highestHPHealed": "Highest HP Healed",
|
||||||
|
"pokemonEncountered": "Pokémon Encountered",
|
||||||
|
"pokemonDefeated": "Pokémon Defeated",
|
||||||
|
"pokemonCaught": "Pokémon Caught",
|
||||||
|
"eggsHatched": "Eggs Hatched",
|
||||||
|
"subLegendsSeen": "Sub-Legends Seen",
|
||||||
|
"subLegendsCaught": "Sub-Legends Caught",
|
||||||
|
"subLegendsHatched": "Sub-Legends Hatched",
|
||||||
|
"legendsSeen": "Legends Seen",
|
||||||
|
"legendsCaught": "Legends Caught",
|
||||||
|
"legendsHatched": "Legends Hatched",
|
||||||
|
"mythicalsSeen": "Mythicals Seen",
|
||||||
|
"mythicalsCaught": "Mythicals Caught",
|
||||||
|
"mythicalsHatched": "Mythicals Hatched",
|
||||||
|
"shiniesSeen": "Shinies Seen",
|
||||||
|
"shiniesCaught": "Shinies Caught",
|
||||||
|
"shiniesHatched": "Shinies Hatched",
|
||||||
|
"pokemonFused": "Pokémon Fused",
|
||||||
|
"trainersDefeated": "Trainers Defeated",
|
||||||
|
"eggsPulled": "Eggs Pulled",
|
||||||
|
"rareEggsPulled": "Rare Eggs Pulled",
|
||||||
|
"epicEggsPulled": "Epic Eggs Pulled",
|
||||||
|
"legendaryEggsPulled": "Legendary Eggs Pulled",
|
||||||
|
"manaphyEggsPulled": "Manaphy Eggs Pulled",
|
||||||
|
} as const;
|
@ -6,10 +6,10 @@ import { enConfig } from "#app/locales/en/config.js";
|
|||||||
import { esConfig } from "#app/locales/es/config.js";
|
import { esConfig } from "#app/locales/es/config.js";
|
||||||
import { frConfig } from "#app/locales/fr/config.js";
|
import { frConfig } from "#app/locales/fr/config.js";
|
||||||
import { itConfig } from "#app/locales/it/config.js";
|
import { itConfig } from "#app/locales/it/config.js";
|
||||||
|
import { koConfig } from "#app/locales/ko/config.js";
|
||||||
import { ptBrConfig } from "#app/locales/pt_BR/config.js";
|
import { ptBrConfig } from "#app/locales/pt_BR/config.js";
|
||||||
import { zhCnConfig } from "#app/locales/zh_CN/config.js";
|
import { zhCnConfig } from "#app/locales/zh_CN/config.js";
|
||||||
import { zhTWConfig } from "#app/locales/zh_TW/config.js";
|
import { zhTwConfig } from "#app/locales/zh_TW/config.js";
|
||||||
import { koConfig } from "#app/locales/ko/config.js";
|
|
||||||
|
|
||||||
export interface SimpleTranslationEntries {
|
export interface SimpleTranslationEntries {
|
||||||
[key: string]: string
|
[key: string]: string
|
||||||
@ -54,13 +54,22 @@ export interface PokemonInfoTranslationEntries {
|
|||||||
|
|
||||||
export interface BerryTranslationEntry {
|
export interface BerryTranslationEntry {
|
||||||
name: string,
|
name: string,
|
||||||
effect: string
|
effect: string,
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface BerryTranslationEntries {
|
export interface BerryTranslationEntries {
|
||||||
[key: string]: BerryTranslationEntry
|
[key: string]: BerryTranslationEntry
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface AchievementTranslationEntry {
|
||||||
|
name?: string,
|
||||||
|
description?: string,
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AchievementTranslationEntries {
|
||||||
|
[key: string]: AchievementTranslationEntry;
|
||||||
|
}
|
||||||
|
|
||||||
export interface DialogueTranslationEntry {
|
export interface DialogueTranslationEntry {
|
||||||
[key: number]: string;
|
[key: number]: string;
|
||||||
}
|
}
|
||||||
@ -171,7 +180,7 @@ export function initI18n(): void {
|
|||||||
...zhCnConfig
|
...zhCnConfig
|
||||||
},
|
},
|
||||||
zh_TW: {
|
zh_TW: {
|
||||||
...zhTWConfig
|
...zhTwConfig
|
||||||
},
|
},
|
||||||
ko: {
|
ko: {
|
||||||
...koConfig
|
...koConfig
|
||||||
@ -209,6 +218,7 @@ declare module "i18next" {
|
|||||||
modifierType: ModifierTypeTranslationEntries;
|
modifierType: ModifierTypeTranslationEntries;
|
||||||
battleMessageUiHandler: SimpleTranslationEntries;
|
battleMessageUiHandler: SimpleTranslationEntries;
|
||||||
berry: BerryTranslationEntries;
|
berry: BerryTranslationEntries;
|
||||||
|
achv: AchievementTranslationEntries;
|
||||||
gameStatsUiHandler: SimpleTranslationEntries;
|
gameStatsUiHandler: SimpleTranslationEntries;
|
||||||
voucher: SimpleTranslationEntries;
|
voucher: SimpleTranslationEntries;
|
||||||
biome: SimpleTranslationEntries;
|
biome: SimpleTranslationEntries;
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import { Modifier } from "typescript";
|
import { Modifier } from "typescript";
|
||||||
import BattleScene from "../battle-scene";
|
import BattleScene from "../battle-scene";
|
||||||
import * as Utils from "../utils";
|
|
||||||
import { TurnHeldItemTransferModifier } from "../modifier/modifier";
|
import { TurnHeldItemTransferModifier } from "../modifier/modifier";
|
||||||
|
import i18next from "../plugins/i18n";
|
||||||
|
import * as Utils from "../utils";
|
||||||
|
|
||||||
export enum AchvTier {
|
export enum AchvTier {
|
||||||
COMMON,
|
COMMON,
|
||||||
@ -12,6 +13,7 @@ export enum AchvTier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class Achv {
|
export class Achv {
|
||||||
|
public localizationKey: string;
|
||||||
public id: string;
|
public id: string;
|
||||||
public name: string;
|
public name: string;
|
||||||
public description: string;
|
public description: string;
|
||||||
@ -24,16 +26,18 @@ export class Achv {
|
|||||||
|
|
||||||
private conditionFunc: (scene: BattleScene, args: any[]) => boolean;
|
private conditionFunc: (scene: BattleScene, args: any[]) => boolean;
|
||||||
|
|
||||||
constructor(name: string, description: string, iconImage: string, score: integer, conditionFunc?: (scene: BattleScene, args: any[]) => boolean) {
|
constructor(localizationKey:string, name: string, description: string, iconImage: string, score: integer, conditionFunc?: (scene: BattleScene, args: any[]) => boolean) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.description = description;
|
this.description = description;
|
||||||
this.iconImage = iconImage;
|
this.iconImage = iconImage;
|
||||||
this.score = score;
|
this.score = score;
|
||||||
this.conditionFunc = conditionFunc;
|
this.conditionFunc = conditionFunc;
|
||||||
|
this.localizationKey = localizationKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
getName(): string {
|
getName(): string {
|
||||||
return this.name;
|
// Localization key is used to get the name of the achievement
|
||||||
|
return i18next.t(`achv:${this.localizationKey}.name`);
|
||||||
}
|
}
|
||||||
|
|
||||||
getIconImage(): string {
|
getIconImage(): string {
|
||||||
@ -68,102 +72,191 @@ export class Achv {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class MoneyAchv extends Achv {
|
export class MoneyAchv extends Achv {
|
||||||
private moneyAmount: integer;
|
moneyAmount: integer;
|
||||||
|
|
||||||
constructor(name: string, moneyAmount: integer, iconImage: string, score: integer) {
|
|
||||||
super(name, `Accumulate a total of ₽${moneyAmount.toLocaleString("en-US")}`, iconImage, score, (scene: BattleScene, _args: any[]) => scene.money >= this.moneyAmount);
|
|
||||||
|
|
||||||
|
constructor(localizationKey: string, name: string, moneyAmount: integer, iconImage: string, score: integer) {
|
||||||
|
super(localizationKey, name, "", iconImage, score, (scene: BattleScene, _args: any[]) => scene.money >= this.moneyAmount);
|
||||||
this.moneyAmount = moneyAmount;
|
this.moneyAmount = moneyAmount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class RibbonAchv extends Achv {
|
export class RibbonAchv extends Achv {
|
||||||
private ribbonAmount: integer;
|
ribbonAmount: integer;
|
||||||
|
|
||||||
constructor(name: string, ribbonAmount: integer, iconImage: string, score: integer) {
|
|
||||||
super(name, `Accumulate a total of ${ribbonAmount.toLocaleString("en-US")} Ribbons`, iconImage, score, (scene: BattleScene, _args: any[]) => scene.gameData.gameStats.ribbonsOwned >= this.ribbonAmount);
|
|
||||||
|
|
||||||
|
constructor(localizationKey: string, name: string, ribbonAmount: integer, iconImage: string, score: integer) {
|
||||||
|
super(localizationKey, name, "", iconImage, score, (scene: BattleScene, _args: any[]) => scene.gameData.gameStats.ribbonsOwned >= this.ribbonAmount);
|
||||||
this.ribbonAmount = ribbonAmount;
|
this.ribbonAmount = ribbonAmount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class DamageAchv extends Achv {
|
export class DamageAchv extends Achv {
|
||||||
private damageAmount: integer;
|
damageAmount: integer;
|
||||||
|
|
||||||
constructor(name: string, damageAmount: integer, iconImage: string, score: integer) {
|
|
||||||
super(name, `Inflict ${damageAmount.toLocaleString("en-US")} damage in one hit`, iconImage, score, (_scene: BattleScene, args: any[]) => (args[0] as Utils.NumberHolder).value >= this.damageAmount);
|
|
||||||
|
|
||||||
|
constructor(localizationKey: string, name: string, damageAmount: integer, iconImage: string, score: integer) {
|
||||||
|
super(localizationKey, name, "", iconImage, score, (_scene: BattleScene, args: any[]) => (args[0] as Utils.NumberHolder).value >= this.damageAmount);
|
||||||
this.damageAmount = damageAmount;
|
this.damageAmount = damageAmount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class HealAchv extends Achv {
|
export class HealAchv extends Achv {
|
||||||
private healAmount: integer;
|
healAmount: integer;
|
||||||
|
|
||||||
constructor(name: string, healAmount: integer, iconImage: string, score: integer) {
|
|
||||||
super(name, `Heal ${healAmount.toLocaleString("en-US")} HP at once with a move, ability, or held item`, iconImage, score, (_scene: BattleScene, args: any[]) => (args[0] as Utils.NumberHolder).value >= this.healAmount);
|
|
||||||
|
|
||||||
|
constructor(localizationKey: string, name: string, healAmount: integer, iconImage: string, score: integer) {
|
||||||
|
super(localizationKey, name, "", iconImage, score, (_scene: BattleScene, args: any[]) => (args[0] as Utils.NumberHolder).value >= this.healAmount);
|
||||||
this.healAmount = healAmount;
|
this.healAmount = healAmount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class LevelAchv extends Achv {
|
export class LevelAchv extends Achv {
|
||||||
private level: integer;
|
level: integer;
|
||||||
|
|
||||||
constructor(name: string, level: integer, iconImage: string, score: integer) {
|
|
||||||
super(name, `Level up a Pokémon to Lv${level}`, iconImage, score, (scene: BattleScene, args: any[]) => (args[0] as Utils.IntegerHolder).value >= this.level);
|
|
||||||
|
|
||||||
|
constructor(localizationKey: string, name: string, level: integer, iconImage: string, score: integer) {
|
||||||
|
super(localizationKey, name, "", iconImage, score, (scene: BattleScene, args: any[]) => (args[0] as Utils.IntegerHolder).value >= this.level);
|
||||||
this.level = level;
|
this.level = level;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ModifierAchv extends Achv {
|
export class ModifierAchv extends Achv {
|
||||||
constructor(name: string, description: string, iconImage: string, score: integer, modifierFunc: (modifier: Modifier) => boolean) {
|
constructor(localizationKey: string, name: string, description: string, iconImage: string, score: integer, modifierFunc: (modifier: Modifier) => boolean) {
|
||||||
super(name, description, iconImage, score, (_scene: BattleScene, args: any[]) => modifierFunc((args[0] as Modifier)));
|
super(localizationKey, name, description, iconImage, score, (_scene: BattleScene, args: any[]) => modifierFunc((args[0] as Modifier)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the description of an achievement from the localization file with all the necessary variables filled in
|
||||||
|
* @param localizationKey The localization key of the achievement
|
||||||
|
* @returns The description of the achievement
|
||||||
|
*/
|
||||||
|
export function getAchievementDescription(localizationKey: string): string {
|
||||||
|
switch (localizationKey) {
|
||||||
|
case "10K_MONEY":
|
||||||
|
return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._10K_MONEY.moneyAmount.toLocaleString("en-US")});
|
||||||
|
case "100K_MONEY":
|
||||||
|
return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._100K_MONEY.moneyAmount.toLocaleString("en-US")});
|
||||||
|
case "1M_MONEY":
|
||||||
|
return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._1M_MONEY.moneyAmount.toLocaleString("en-US")});
|
||||||
|
case "10M_MONEY":
|
||||||
|
return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._10M_MONEY.moneyAmount.toLocaleString("en-US")});
|
||||||
|
case "250_DMG":
|
||||||
|
return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._250_DMG.damageAmount.toLocaleString("en-US")});
|
||||||
|
case "1000_DMG":
|
||||||
|
return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._1000_DMG.damageAmount.toLocaleString("en-US")});
|
||||||
|
case "2500_DMG":
|
||||||
|
return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._2500_DMG.damageAmount.toLocaleString("en-US")});
|
||||||
|
case "10000_DMG":
|
||||||
|
return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._10000_DMG.damageAmount.toLocaleString("en-US")});
|
||||||
|
case "250_HEAL":
|
||||||
|
return i18next.t("achv:HealAchv.description", {"healAmount": achvs._250_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
|
||||||
|
case "1000_HEAL":
|
||||||
|
return i18next.t("achv:HealAchv.description", {"healAmount": achvs._1000_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
|
||||||
|
case "2500_HEAL":
|
||||||
|
return i18next.t("achv:HealAchv.description", {"healAmount": achvs._2500_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
|
||||||
|
case "10000_HEAL":
|
||||||
|
return i18next.t("achv:HealAchv.description", {"healAmount": achvs._10000_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
|
||||||
|
case "LV_100":
|
||||||
|
return i18next.t("achv:LevelAchv.description", {"level": achvs.LV_100.level});
|
||||||
|
case "LV_250":
|
||||||
|
return i18next.t("achv:LevelAchv.description", {"level": achvs.LV_250.level});
|
||||||
|
case "LV_1000":
|
||||||
|
return i18next.t("achv:LevelAchv.description", {"level": achvs.LV_1000.level});
|
||||||
|
case "10_RIBBONS":
|
||||||
|
return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._10_RIBBONS.ribbonAmount.toLocaleString("en-US")});
|
||||||
|
case "25_RIBBONS":
|
||||||
|
return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._25_RIBBONS.ribbonAmount.toLocaleString("en-US")});
|
||||||
|
case "50_RIBBONS":
|
||||||
|
return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._50_RIBBONS.ribbonAmount.toLocaleString("en-US")});
|
||||||
|
case "75_RIBBONS":
|
||||||
|
return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._75_RIBBONS.ribbonAmount.toLocaleString("en-US")});
|
||||||
|
case "100_RIBBONS":
|
||||||
|
return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._100_RIBBONS.ribbonAmount.toLocaleString("en-US")});
|
||||||
|
case "TRANSFER_MAX_BATTLE_STAT":
|
||||||
|
return i18next.t("achv:TRANSFER_MAX_BATTLE_STAT.description");
|
||||||
|
case "MAX_FRIENDSHIP":
|
||||||
|
return i18next.t("achv:MAX_FRIENDSHIP.description");
|
||||||
|
case "MEGA_EVOLVE":
|
||||||
|
return i18next.t("achv:MEGA_EVOLVE.description");
|
||||||
|
case "GIGANTAMAX":
|
||||||
|
return i18next.t("achv:GIGANTAMAX.description");
|
||||||
|
case "TERASTALLIZE":
|
||||||
|
return i18next.t("achv:TERASTALLIZE.description");
|
||||||
|
case "STELLAR_TERASTALLIZE":
|
||||||
|
return i18next.t("achv:STELLAR_TERASTALLIZE.description");
|
||||||
|
case "SPLICE":
|
||||||
|
return i18next.t("achv:SPLICE.description");
|
||||||
|
case "MINI_BLACK_HOLE":
|
||||||
|
return i18next.t("achv:MINI_BLACK_HOLE.description");
|
||||||
|
case "CATCH_MYTHICAL":
|
||||||
|
return i18next.t("achv:CATCH_MYTHICAL.description");
|
||||||
|
case "CATCH_SUB_LEGENDARY":
|
||||||
|
return i18next.t("achv:CATCH_SUB_LEGENDARY.description");
|
||||||
|
case "CATCH_LEGENDARY":
|
||||||
|
return i18next.t("achv:CATCH_LEGENDARY.description");
|
||||||
|
case "SEE_SHINY":
|
||||||
|
return i18next.t("achv:SEE_SHINY.description");
|
||||||
|
case "SHINY_PARTY":
|
||||||
|
return i18next.t("achv:SHINY_PARTY.description");
|
||||||
|
case "HATCH_MYTHICAL":
|
||||||
|
return i18next.t("achv:HATCH_MYTHICAL.description");
|
||||||
|
case "HATCH_SUB_LEGENDARY":
|
||||||
|
return i18next.t("achv:HATCH_SUB_LEGENDARY.description");
|
||||||
|
case "HATCH_LEGENDARY":
|
||||||
|
return i18next.t("achv:HATCH_LEGENDARY.description");
|
||||||
|
case "HATCH_SHINY":
|
||||||
|
return i18next.t("achv:HATCH_SHINY.description");
|
||||||
|
case "HIDDEN_ABILITY":
|
||||||
|
return i18next.t("achv:HIDDEN_ABILITY.description");
|
||||||
|
case "PERFECT_IVS":
|
||||||
|
return i18next.t("achv:PERFECT_IVS.description");
|
||||||
|
case "CLASSIC_VICTORY":
|
||||||
|
return i18next.t("achv:CLASSIC_VICTORY.description");
|
||||||
|
default:
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
export const achvs = {
|
export const achvs = {
|
||||||
_10K_MONEY: new MoneyAchv("Money Haver", 10000, "nugget", 10),
|
_10K_MONEY: new MoneyAchv("10K_MONEY", "",10000, "nugget", 10),
|
||||||
_100K_MONEY: new MoneyAchv("Rich", 100000, "big_nugget", 25).setSecret(true),
|
_100K_MONEY: new MoneyAchv("100K_MONEY", "",100000, "big_nugget", 25).setSecret(true),
|
||||||
_1M_MONEY: new MoneyAchv("Millionaire", 1000000, "relic_gold", 50).setSecret(true),
|
_1M_MONEY: new MoneyAchv("1M_MONEY","", 1000000, "relic_gold", 50).setSecret(true),
|
||||||
_10M_MONEY: new MoneyAchv("One Percenter", 10000000, "coin_case", 100).setSecret(true),
|
_10M_MONEY: new MoneyAchv("10M_MONEY","", 10000000, "coin_case", 100).setSecret(true),
|
||||||
_250_DMG: new DamageAchv("Hard Hitter", 250, "lucky_punch", 10),
|
_250_DMG: new DamageAchv("250_DMG","", 250, "lucky_punch", 10),
|
||||||
_1000_DMG: new DamageAchv("Harder Hitter", 1000, "lucky_punch_great", 25).setSecret(true),
|
_1000_DMG: new DamageAchv("1000_DMG","", 1000, "lucky_punch_great", 25).setSecret(true),
|
||||||
_2500_DMG: new DamageAchv("That's a Lotta Damage!", 2500, "lucky_punch_ultra", 50).setSecret(true),
|
_2500_DMG: new DamageAchv("2500_DMG","", 2500, "lucky_punch_ultra", 50).setSecret(true),
|
||||||
_10000_DMG: new DamageAchv("One Punch Man", 10000, "lucky_punch_master", 100).setSecret(true),
|
_10000_DMG: new DamageAchv("10000_DMG","", 10000, "lucky_punch_master", 100).setSecret(true),
|
||||||
_250_HEAL: new HealAchv("Novice Healer", 250, "potion", 10),
|
_250_HEAL: new HealAchv("250_HEAL","", 250, "potion", 10),
|
||||||
_1000_HEAL: new HealAchv("Big Healer", 1000, "super_potion", 25).setSecret(true),
|
_1000_HEAL: new HealAchv("1000_HEAL", "",1000, "super_potion", 25).setSecret(true),
|
||||||
_2500_HEAL: new HealAchv("Cleric", 2500, "hyper_potion", 50).setSecret(true),
|
_2500_HEAL: new HealAchv("2500_HEAL","", 2500, "hyper_potion", 50).setSecret(true),
|
||||||
_10000_HEAL: new HealAchv("Recovery Master", 10000, "max_potion", 100).setSecret(true),
|
_10000_HEAL: new HealAchv("10000_HEAL","", 10000, "max_potion", 100).setSecret(true),
|
||||||
LV_100: new LevelAchv("But Wait, There's More!", 100, "rare_candy", 25).setSecret(),
|
LV_100: new LevelAchv("LV_100", "",100, "rare_candy", 25).setSecret(),
|
||||||
LV_250: new LevelAchv("Elite", 250, "rarer_candy", 50).setSecret(true),
|
LV_250: new LevelAchv("LV_250", "",250, "rarer_candy", 50).setSecret(true),
|
||||||
LV_1000: new LevelAchv("To Go Even Further Beyond", 1000, "candy_jar", 100).setSecret(true),
|
LV_1000: new LevelAchv("LV_1000", "",1000, "candy_jar", 100).setSecret(true),
|
||||||
_10_RIBBONS: new RibbonAchv("Pokémon League Champion", 10, "bronze_ribbon", 10),
|
_10_RIBBONS: new RibbonAchv("10_RIBBONS","", 10, "bronze_ribbon", 10),
|
||||||
_25_RIBBONS: new RibbonAchv("Great League Champion", 25, "great_ribbon", 25).setSecret(true),
|
_25_RIBBONS: new RibbonAchv("25_RIBBONS", "",25, "great_ribbon", 25).setSecret(true),
|
||||||
_50_RIBBONS: new RibbonAchv("Ultra League Champion", 50, "ultra_ribbon", 50).setSecret(true),
|
_50_RIBBONS: new RibbonAchv("50_RIBBONS","", 50, "ultra_ribbon", 50).setSecret(true),
|
||||||
_75_RIBBONS: new RibbonAchv("Rogue League Champion", 75, "rogue_ribbon", 75).setSecret(true),
|
_75_RIBBONS: new RibbonAchv("75_RIBBONS","", 75, "rogue_ribbon", 75).setSecret(true),
|
||||||
_100_RIBBONS: new RibbonAchv("Master League Champion", 100, "master_ribbon", 100).setSecret(true),
|
_100_RIBBONS: new RibbonAchv("100_RIBBONS","", 100, "master_ribbon", 100).setSecret(true),
|
||||||
TRANSFER_MAX_BATTLE_STAT: new Achv("Teamwork", "Baton pass to another party member with at least one stat maxed out", "stick", 20),
|
TRANSFER_MAX_BATTLE_STAT: new Achv("TRANSFER_MAX_BATTLE_STAT","", "TRANSFER_MAX_BATTLE_STAT.description", "stick", 20),
|
||||||
MAX_FRIENDSHIP: new Achv("Friendmaxxing", "Reach max friendship on a Pokémon", "soothe_bell", 25),
|
MAX_FRIENDSHIP: new Achv("MAX_FRIENDSHIP", "", "MAX_FRIENDSHIP.description", "soothe_bell", 25),
|
||||||
MEGA_EVOLVE: new Achv("Megamorph", "Mega evolve a Pokémon", "mega_bracelet", 50),
|
MEGA_EVOLVE: new Achv("MEGA_EVOLVE", "", "MEGA_EVOLVE.description", "mega_bracelet", 50),
|
||||||
GIGANTAMAX: new Achv("Absolute Unit", "Gigantamax a Pokémon", "dynamax_band", 50),
|
GIGANTAMAX: new Achv("GIGANTAMAX", "", "GIGANTAMAX.description", "dynamax_band", 50),
|
||||||
TERASTALLIZE: new Achv("STAB Enthusiast", "Terastallize a Pokémon", "tera_orb", 25),
|
TERASTALLIZE: new Achv("TERASTALLIZE","", "TERASTALLIZE.description", "tera_orb", 25),
|
||||||
STELLAR_TERASTALLIZE: new Achv("The Hidden Type", "Stellar Terastallize a Pokémon", "stellar_tera_shard", 25).setSecret(true),
|
STELLAR_TERASTALLIZE: new Achv("STELLAR_TERASTALLIZE", "", "STELLAR_TERASTALLIZE.description", "stellar_tera_shard", 25).setSecret(true),
|
||||||
SPLICE: new Achv("Infinite Fusion", "Splice two Pokémon together with DNA Splicers", "dna_splicers", 10),
|
SPLICE: new Achv("SPLICE","", "SPLICE.description", "dna_splicers", 10),
|
||||||
MINI_BLACK_HOLE: new ModifierAchv("A Hole Lot of Items", "Acquire a Mini Black Hole", "mini_black_hole", 25, modifier => modifier instanceof TurnHeldItemTransferModifier).setSecret(),
|
MINI_BLACK_HOLE: new ModifierAchv("MINI_BLACK_HOLE","", "MINI_BLACK_HOLE.description", "mini_black_hole", 25, modifier => modifier instanceof TurnHeldItemTransferModifier).setSecret(),
|
||||||
CATCH_MYTHICAL: new Achv("Mythical", "Catch a mythical Pokémon", "strange_ball", 50).setSecret(),
|
CATCH_MYTHICAL: new Achv("CATCH_MYTHICAL","", "CATCH_MYTHICAL.description", "strange_ball", 50).setSecret(),
|
||||||
CATCH_SUB_LEGENDARY: new Achv("(Sub-)Legendary", "Catch a sub-legendary Pokémon", "rb", 75).setSecret(),
|
CATCH_SUB_LEGENDARY: new Achv("CATCH_SUB_LEGENDARY","", "CATCH_SUB_LEGENDARY.description", "rb", 75).setSecret(),
|
||||||
CATCH_LEGENDARY: new Achv("Legendary", "Catch a legendary Pokémon", "mb", 100).setSecret(),
|
CATCH_LEGENDARY: new Achv("CATCH_LEGENDARY", "", "CATCH_LEGENDARY.description", "mb", 100).setSecret(),
|
||||||
SEE_SHINY: new Achv("Shiny", "Find a shiny Pokémon in the wild", "pb_gold", 75),
|
SEE_SHINY: new Achv("SEE_SHINY", "", "SEE_SHINY.description", "pb_gold", 75),
|
||||||
SHINY_PARTY: new Achv("That's Dedication", "Have a full party of shiny Pokémon", "shiny_charm", 100).setSecret(true),
|
SHINY_PARTY: new Achv("SHINY_PARTY", "", "SHINY_PARTY.description", "shiny_charm", 100).setSecret(true),
|
||||||
HATCH_MYTHICAL: new Achv("Mythical Egg", "Hatch a mythical Pokémon from an egg", "pair_of_tickets", 75).setSecret(),
|
HATCH_MYTHICAL: new Achv("HATCH_MYTHICAL", "", "HATCH_MYTHICAL.description", "pair_of_tickets", 75).setSecret(),
|
||||||
HATCH_SUB_LEGENDARY: new Achv("Sub-Legendary Egg", "Hatch a sub-legendary Pokémon from an egg", "mystic_ticket", 100).setSecret(),
|
HATCH_SUB_LEGENDARY: new Achv("HATCH_SUB_LEGENDARY","", "HATCH_SUB_LEGENDARY.description", "mystic_ticket", 100).setSecret(),
|
||||||
HATCH_LEGENDARY: new Achv("Legendary Egg", "Hatch a legendary Pokémon from an egg", "mystic_ticket", 125).setSecret(),
|
HATCH_LEGENDARY: new Achv("HATCH_LEGENDARY","", "HATCH_LEGENDARY.description", "mystic_ticket", 125).setSecret(),
|
||||||
HATCH_SHINY: new Achv("Shiny Egg", "Hatch a shiny Pokémon from an egg", "golden_mystic_ticket", 100).setSecret(),
|
HATCH_SHINY: new Achv("HATCH_SHINY","", "HATCH_SHINY.description", "golden_mystic_ticket", 100).setSecret(),
|
||||||
HIDDEN_ABILITY: new Achv("Hidden Potential", "Catch a Pokémon with a hidden ability", "ability_charm", 75),
|
HIDDEN_ABILITY: new Achv("HIDDEN_ABILITY","", "HIDDEN_ABILITY.description", "ability_charm", 75),
|
||||||
PERFECT_IVS: new Achv("Certificate of Authenticity", "Get perfect IVs on a Pokémon", "blunder_policy", 100),
|
PERFECT_IVS: new Achv("PERFECT_IVS","", "PERFECT_IVS.description", "blunder_policy", 100),
|
||||||
CLASSIC_VICTORY: new Achv("Undefeated", "Beat the game in classic mode", "relic_crown", 150)
|
CLASSIC_VICTORY: new Achv("CLASSIC_VICTORY","", "CLASSIC_VICTORY.description", "relic_crown", 150),
|
||||||
};
|
};
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import {describe, expect, it} from "vitest";
|
import { MoneyAchv } from "#app/system/achv";
|
||||||
import {MoneyAchv} from "#app/system/achv";
|
import { describe, expect, it } from "vitest";
|
||||||
|
|
||||||
describe("check some Achievement related stuff", () => {
|
describe("check some Achievement related stuff", () => {
|
||||||
it ("should check Achievement creation", () => {
|
it ("should check Achievement creation", () => {
|
||||||
const ach = new MoneyAchv("Achievement", 1000, null, 100);
|
const ach = new MoneyAchv("", "Achievement", 1000, null, 100);
|
||||||
expect(ach.name).toBe("Achievement");
|
expect(ach.name).toBe("Achievement");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import BattleScene from "../battle-scene";
|
import BattleScene from "../battle-scene";
|
||||||
import { Achv } from "../system/achv";
|
import { Achv, getAchievementDescription } from "../system/achv";
|
||||||
import { Voucher } from "../system/voucher";
|
import { Voucher } from "../system/voucher";
|
||||||
import { TextStyle, addTextObject } from "./text";
|
import { TextStyle, addTextObject } from "./text";
|
||||||
|
|
||||||
@ -66,7 +66,11 @@ export default class AchvBar extends Phaser.GameObjects.Container {
|
|||||||
this.icon.setFrame(achv.getIconImage());
|
this.icon.setFrame(achv.getIconImage());
|
||||||
this.titleText.setText(achv.getName());
|
this.titleText.setText(achv.getName());
|
||||||
this.scoreText.setVisible(achv instanceof Achv);
|
this.scoreText.setVisible(achv instanceof Achv);
|
||||||
this.descriptionText.setText(achv.description);
|
if (achv instanceof Achv) {
|
||||||
|
this.descriptionText.setText(getAchievementDescription((achv as Achv).localizationKey));
|
||||||
|
} else if (achv instanceof Voucher) {
|
||||||
|
this.descriptionText.setText((achv as Voucher).description);
|
||||||
|
}
|
||||||
|
|
||||||
if (achv instanceof Achv) {
|
if (achv instanceof Achv) {
|
||||||
this.scoreText.setText(`+${(achv as Achv).score}pt`);
|
this.scoreText.setText(`+${(achv as Achv).score}pt`);
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
import BattleScene from "../battle-scene";
|
import BattleScene from "../battle-scene";
|
||||||
import { Achv, achvs } from "../system/achv";
|
import { Button } from "../enums/buttons";
|
||||||
|
import i18next from "../plugins/i18n";
|
||||||
|
import { Achv, achvs, getAchievementDescription } from "../system/achv";
|
||||||
import MessageUiHandler from "./message-ui-handler";
|
import MessageUiHandler from "./message-ui-handler";
|
||||||
import { TextStyle, addTextObject } from "./text";
|
import { TextStyle, addTextObject } from "./text";
|
||||||
import { Mode } from "./ui";
|
import { Mode } from "./ui";
|
||||||
import { addWindow } from "./ui-theme";
|
import { addWindow } from "./ui-theme";
|
||||||
import {Button} from "../enums/buttons";
|
|
||||||
|
|
||||||
export default class AchvsUiHandler extends MessageUiHandler {
|
export default class AchvsUiHandler extends MessageUiHandler {
|
||||||
private achvsContainer: Phaser.GameObjects.Container;
|
private achvsContainer: Phaser.GameObjects.Container;
|
||||||
@ -32,7 +33,7 @@ export default class AchvsUiHandler extends MessageUiHandler {
|
|||||||
const headerBg = addWindow(this.scene, 0, 0, (this.scene.game.canvas.width / 6) - 2, 24);
|
const headerBg = addWindow(this.scene, 0, 0, (this.scene.game.canvas.width / 6) - 2, 24);
|
||||||
headerBg.setOrigin(0, 0);
|
headerBg.setOrigin(0, 0);
|
||||||
|
|
||||||
const headerText = addTextObject(this.scene, 0, 0, "Achievements", TextStyle.SETTINGS_LABEL);
|
const headerText = addTextObject(this.scene, 0, 0, i18next.t("achv:Achievements.name"), TextStyle.SETTINGS_LABEL);
|
||||||
headerText.setOrigin(0, 0);
|
headerText.setOrigin(0, 0);
|
||||||
headerText.setPositionRelative(headerBg, 8, 4);
|
headerText.setPositionRelative(headerBg, 8, 4);
|
||||||
|
|
||||||
@ -136,14 +137,15 @@ export default class AchvsUiHandler extends MessageUiHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected showAchv(achv: Achv) {
|
protected showAchv(achv: Achv) {
|
||||||
|
achv.name = i18next.t(`achv:${achv.localizationKey}.name`);
|
||||||
|
achv.description = getAchievementDescription(achv.localizationKey);
|
||||||
const achvUnlocks = this.scene.gameData.achvUnlocks;
|
const achvUnlocks = this.scene.gameData.achvUnlocks;
|
||||||
const unlocked = achvUnlocks.hasOwnProperty(achv.id);
|
const unlocked = achvUnlocks.hasOwnProperty(achv.id);
|
||||||
const hidden = !unlocked && achv.secret && (!achv.parentId || !achvUnlocks.hasOwnProperty(achv.parentId));
|
const hidden = !unlocked && achv.secret && (!achv.parentId || !achvUnlocks.hasOwnProperty(achv.parentId));
|
||||||
|
|
||||||
this.titleText.setText(unlocked ? achv.name : "???");
|
this.titleText.setText(unlocked ? achv.name : "???");
|
||||||
this.showText(!hidden ? achv.description : "");
|
this.showText(!hidden ? achv.description : "");
|
||||||
this.scoreText.setText(`${achv.score}pt`);
|
this.scoreText.setText(`${achv.score}pt`);
|
||||||
this.unlockText.setText(unlocked ? new Date(achvUnlocks[achv.id]).toLocaleDateString() : "Locked");
|
this.unlockText.setText(unlocked ? new Date(achvUnlocks[achv.id]).toLocaleDateString() : i18next.t("achv:Locked.name"));
|
||||||
}
|
}
|
||||||
|
|
||||||
processInput(button: Button): boolean {
|
processInput(button: Button): boolean {
|
||||||
|
@ -63,13 +63,18 @@ const languageSettings: { [key: string]: LanguageSetting } = {
|
|||||||
starterInfoTextSize: "56px",
|
starterInfoTextSize: "56px",
|
||||||
instructionTextSize: "35px",
|
instructionTextSize: "35px",
|
||||||
},
|
},
|
||||||
|
"fr":{
|
||||||
|
starterInfoTextSize: "54px",
|
||||||
|
instructionTextSize: "42px",
|
||||||
|
},
|
||||||
"it":{
|
"it":{
|
||||||
starterInfoTextSize: "56px",
|
starterInfoTextSize: "56px",
|
||||||
instructionTextSize: "38px",
|
instructionTextSize: "38px",
|
||||||
},
|
},
|
||||||
"fr":{
|
"pt_BR":{
|
||||||
starterInfoTextSize: "54px",
|
starterInfoTextSize: "47px",
|
||||||
instructionTextSize: "42px",
|
instructionTextSize: "38px",
|
||||||
|
starterInfoXPos: 33,
|
||||||
},
|
},
|
||||||
"zh":{
|
"zh":{
|
||||||
starterInfoTextSize: "40px",
|
starterInfoTextSize: "40px",
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
|
import i18next from "i18next";
|
||||||
import BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText";
|
import BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText";
|
||||||
import InputText from "phaser3-rex-plugins/plugins/inputtext";
|
import InputText from "phaser3-rex-plugins/plugins/inputtext";
|
||||||
import { ModifierTier } from "../modifier/modifier-tier";
|
|
||||||
import { EggTier } from "../data/enums/egg-type";
|
|
||||||
import BattleScene from "../battle-scene";
|
import BattleScene from "../battle-scene";
|
||||||
|
import { EggTier } from "../data/enums/egg-type";
|
||||||
import { UiTheme } from "../enums/ui-theme";
|
import { UiTheme } from "../enums/ui-theme";
|
||||||
import i18next from "i18next";
|
import { ModifierTier } from "../modifier/modifier-tier";
|
||||||
|
|
||||||
export enum TextStyle {
|
export enum TextStyle {
|
||||||
MESSAGE,
|
MESSAGE,
|
||||||
@ -45,10 +45,10 @@ const languageSettings: { [key: string]: LanguageSetting } = {
|
|||||||
"en":{},
|
"en":{},
|
||||||
"de":{},
|
"de":{},
|
||||||
"es":{},
|
"es":{},
|
||||||
"it":{},
|
|
||||||
"fr":{},
|
"fr":{},
|
||||||
"zh_CN":{},
|
"it":{},
|
||||||
"pt_BR":{},
|
"pt_BR":{},
|
||||||
|
"zh_CN":{},
|
||||||
};
|
};
|
||||||
|
|
||||||
export function addTextObject(scene: Phaser.Scene, x: number, y: number, content: string, style: TextStyle, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): Phaser.GameObjects.Text {
|
export function addTextObject(scene: Phaser.Scene, x: number, y: number, content: string, style: TextStyle, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): Phaser.GameObjects.Text {
|
||||||
|
Loading…
Reference in New Issue
Block a user