mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-15 04:42:19 +02:00
* move: locales files to `/public` (from `/src`) * install: i18next-http-backend module * implement: i18next language lazy-loading * remove: all `config.ts` files (for locales) * disable: enConfig import in i18next.d.ts * remove: console.log from utils.camelCaseToKebabCase() * remove localization tests we don't need to test if i18next is working. This is the job of i18next itself * mock i18next for tests * fix: tests that have to use the i18next key now instead of the english translation * fix: absolute-avarice-encounter test * fix: loading mystery-encounter translations with lazy-load * fix: 2 mystery encounter translation loading * replace: i18next mocks any vi.fn() calls * fix: new namespace usage in ME tests now using "mysteryEncounters/..." * fix: delibirdy encounter not being language specific the encounter was checking if the modifier name includes `Berry` which is only true for english. Instead it has to check if the modifier is an instance of BerryModifier * fix: the-expert-pokemon-breeder the new i18n pattern requires a different namespacing which has been adopted * fix: GTS encounter tests * add: `MockText.on()` * fix: berries abound test * chore: apply review suggestion from @DayKev * update i18next.d.ts * chore: fix i18next.d.ts * fix: `dialogue-misc` switchup between `en` and `ja` * move: `SpeciesFormKey` into enum there was an issue with circular dependencies * replace: `#app/enums/` with `#enums/` for `SpeciesFormKey` imports * re-sync locales from `beta` * rename: `ca_ES` -> `ca-ES` * rename: `pt_BR` -> `pt-BR` * rename: `zh_CN` -> `zh-CN` * rename: `zh_TW` -> `zh-TW` * fix loading Species-Form-Key in poemon-evo. * update: i18next `supporterLngs` ... and remove `nonExplicitSupportedLngs` * fix: `${namespace}.` -> `${namespace}:` thanks @MokaStitcher
112 lines
7.0 KiB
JSON
112 lines
7.0 KiB
JSON
{
|
|
"bossAppeared": "{{bossName}} appeared.",
|
|
"trainerAppeared": "{{trainerName}}\nwould like to battle!",
|
|
"trainerAppearedDouble": "{{trainerName}}\nwould like to battle!",
|
|
"trainerSendOut": "{{trainerName}} sent out\n{{pokemonName}}!",
|
|
"singleWildAppeared": "A wild {{pokemonName}} appeared!",
|
|
"multiWildAppeared": "A wild {{pokemonName1}}\nand {{pokemonName2}} appeared!",
|
|
"playerComeBack": "Come back, {{pokemonName}}!",
|
|
"trainerComeBack": "{{trainerName}} withdrew {{pokemonName}}!",
|
|
"playerGo": "Go! {{pokemonName}}!",
|
|
"trainerGo": "{{trainerName}} sent out {{pokemonName}}!",
|
|
"switchQuestion": "Will you switch\n{{pokemonName}}?",
|
|
"trainerDefeated": "You defeated\n{{trainerName}}!",
|
|
"moneyWon": "You got\n₽{{moneyAmount}} for winning!",
|
|
"moneyPickedUp": "You picked up ₽{{moneyAmount}}!",
|
|
"pokemonCaught": "{{pokemonName}} was caught!",
|
|
"pokemonObtained": "You got {{pokemonName}}!",
|
|
"pokemonBrokeFree": "Oh no!\nThe Pokémon broke free!",
|
|
"pokemonFled": "The wild {{pokemonName}} fled!",
|
|
"playerFled": "You fled from the {{pokemonName}}!",
|
|
"addedAsAStarter": "{{pokemonName}} has been\nadded as a starter!",
|
|
"partyFull": "Your party is full.\nRelease a Pokémon to make room for {{pokemonName}}?",
|
|
"pokemon": "Pokémon",
|
|
"sendOutPokemon": "Go! {{pokemonName}}!",
|
|
"hitResultCriticalHit": "A critical hit!",
|
|
"hitResultSuperEffective": "It's super effective!",
|
|
"hitResultNotVeryEffective": "It's not very effective…",
|
|
"hitResultNoEffect": "It doesn't affect {{pokemonName}}!",
|
|
"hitResultImmune": "{{pokemonName}} is unaffected!",
|
|
"hitResultOneHitKO": "It's a one-hit KO!",
|
|
"attackFailed": "But it failed!",
|
|
"attackMissed": "{{pokemonNameWithAffix}} avoided the attack!",
|
|
"attackHitsCount": "Hit {{count}} time(s)!",
|
|
"rewardGain": "You received\n{{modifierName}}!",
|
|
"rewardGainCount": "You received\n{{count}} {{modifierName}}!",
|
|
"expGain": "{{pokemonName}} gained\n{{exp}} EXP. Points!",
|
|
"levelUp": "{{pokemonName}} grew to\nLv. {{level}}!",
|
|
"learnMove": "{{pokemonName}} learned\n{{moveName}}!",
|
|
"learnMovePrompt": "{{pokemonName}} wants to learn the\nmove {{moveName}}.",
|
|
"learnMoveLimitReached": "However, {{pokemonName}} already\nknows four moves.",
|
|
"learnMoveReplaceQuestion": "Should a move be forgotten and\nreplaced with {{moveName}}?",
|
|
"learnMoveStopTeaching": "Stop trying to teach\n{{moveName}}?",
|
|
"learnMoveNotLearned": "{{pokemonName}} did not learn the\nmove {{moveName}}.",
|
|
"learnMoveForgetQuestion": "Which move should be forgotten?",
|
|
"learnMoveForgetSuccess": "{{pokemonName}} forgot how to\nuse {{moveName}}.",
|
|
"countdownPoof": "@d{32}1, @d{15}2, and@d{15}… @d{15}… @d{15}… @d{15}@s{se/pb_bounce_1}Poof!",
|
|
"learnMoveAnd": "And…",
|
|
"levelCapUp": "The level cap\nhas increased to {{levelCap}}!",
|
|
"moveNotImplemented": "{{moveName}} is not yet implemented and cannot be selected.",
|
|
"moveNoPP": "There's no PP left for\nthis move!",
|
|
"moveDisabled": "{{moveName}} is disabled!",
|
|
"canOnlyUseMove": "{{pokemonName}} can only use {{moveName}}!",
|
|
"moveCannotBeSelected": "{{moveName}} cannot be selected!",
|
|
"disableInterruptedMove": "{{pokemonNameWithAffix}}'s {{moveName}}\nis disabled!",
|
|
"throatChopInterruptedMove": "The effects of Throat Chop prevent\n{{pokemonName}} from using certain moves!",
|
|
"noPokeballForce": "An unseen force\nprevents using Poké Balls.",
|
|
"noPokeballTrainer": "You can't catch\nanother trainer's Pokémon!",
|
|
"noPokeballMulti": "You can only throw a Poké Ball\nwhen there is one Pokémon remaining!",
|
|
"noPokeballStrong": "The target Pokémon is too strong to be caught!\nYou need to weaken it first!",
|
|
"noPokeballMysteryEncounter": "You aren't able to\ncatch this Pokémon!",
|
|
"noEscapeForce": "An unseen force\nprevents escape.",
|
|
"noEscapeTrainer": "You can't run\nfrom a trainer battle!",
|
|
"noEscapePokemon": "{{pokemonName}}'s {{moveName}}\nprevents {{escapeVerb}}!",
|
|
"runAwaySuccess": "You got away safely!",
|
|
"runAwayCannotEscape": "You can't escape!",
|
|
"escapeVerbSwitch": "switching",
|
|
"escapeVerbFlee": "fleeing",
|
|
"notDisabled": "{{pokemonName}}'s {{moveName}} is disabled\nno more!",
|
|
"turnEndHpRestore": "{{pokemonName}}'s HP was restored.",
|
|
"hpIsFull": "{{pokemonName}}'s\nHP is full!",
|
|
"skipItemQuestion": "Are you sure you want to skip taking an item?",
|
|
"itemStackFull": "The stack for {{fullItemName}} is full.\nYou will receive {{itemName}} instead.",
|
|
"eggHatching": "Oh?",
|
|
"eggSkipPrompt": "Skip to egg summary?",
|
|
"ivScannerUseQuestion": "Use IV Scanner on {{pokemonName}}?",
|
|
"wildPokemonWithAffix": "Wild {{pokemonName}}",
|
|
"foePokemonWithAffix": "Foe {{pokemonName}}",
|
|
"useMove": "{{pokemonNameWithAffix}} used {{moveName}}!",
|
|
"drainMessage": "{{pokemonName}} had its\nenergy drained!",
|
|
"regainHealth": "{{pokemonName}} regained\nhealth!",
|
|
"stealEatBerry": "{{pokemonName}} stole and ate\n{{targetName}}'s {{berryName}}!",
|
|
"ppHealBerry": "{{pokemonNameWithAffix}} restored PP to its move {{moveName}}\nusing its {{berryName}}!",
|
|
"hpHealBerry": "{{pokemonNameWithAffix}} restored its health using\nits {{berryName}}!",
|
|
"fainted": "{{pokemonNameWithAffix}} fainted!",
|
|
"statsAnd": "and",
|
|
"stats": "Stats",
|
|
"statRose_one": "{{pokemonNameWithAffix}}'s {{stats}} rose!",
|
|
"statRose_other": "{{pokemonNameWithAffix}}'s {{stats}} rose!",
|
|
"statSharplyRose_one": "{{pokemonNameWithAffix}}'s {{stats}} sharply rose!",
|
|
"statSharplyRose_other": "{{pokemonNameWithAffix}}'s {{stats}} sharply rose!",
|
|
"statRoseDrastically_one": "{{pokemonNameWithAffix}}'s {{stats}} rose drastically!",
|
|
"statRoseDrastically_other": "{{pokemonNameWithAffix}}'s {{stats}} rose drastically!",
|
|
"statWontGoAnyHigher_one": "{{pokemonNameWithAffix}}'s {{stats}} won't go any higher!",
|
|
"statWontGoAnyHigher_other": "{{pokemonNameWithAffix}}'s {{stats}} won't go any higher!",
|
|
"statFell_one": "{{pokemonNameWithAffix}}'s {{stats}} fell!",
|
|
"statFell_other": "{{pokemonNameWithAffix}}'s {{stats}} fell!",
|
|
"statHarshlyFell_one": "{{pokemonNameWithAffix}}'s {{stats}} harshly fell!",
|
|
"statHarshlyFell_other": "{{pokemonNameWithAffix}}'s {{stats}} harshly fell!",
|
|
"statSeverelyFell_one": "{{pokemonNameWithAffix}}'s {{stats}} severely fell!",
|
|
"statSeverelyFell_other": "{{pokemonNameWithAffix}}'s {{stats}} severely fell!",
|
|
"statWontGoAnyLower_one": "{{pokemonNameWithAffix}}'s {{stats}} won't go any lower!",
|
|
"statWontGoAnyLower_other": "{{pokemonNameWithAffix}}'s {{stats}} won't go any lower!",
|
|
"transformedIntoType": "{{pokemonName}} transformed\ninto the {{type}} type!",
|
|
"retryBattle": "Would you like to retry from the start of the battle?",
|
|
"unlockedSomething": "{{unlockedThing}}\nhas been unlocked.",
|
|
"congratulations": "Congratulations!",
|
|
"beatModeFirstTime": "{{speciesName}} beat {{gameMode}} Mode for the first time!\nYou received {{newModifier}}!",
|
|
"ppReduced": "It reduced the PP of {{targetName}}'s\n{{moveName}} by {{reduction}}!",
|
|
"mysteryEncounterAppeared": "What's this?",
|
|
"battlerTagsHealBlock": "{{pokemonNameWithAffix}} can't restore its HP!",
|
|
"battlerTagsHealBlockOnRemove": "{{pokemonNameWithAffix}} can restore its HP again!"
|
|
} |