mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2024-12-01 11:16:21 +00:00
95386861bb
* 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
109 lines
7.2 KiB
JSON
109 lines
7.2 KiB
JSON
{
|
|
"bossAppeared": "¡{{bossName}} te corta el paso!",
|
|
"trainerAppeared": "¡{{trainerName}}\nte desafía!",
|
|
"trainerAppearedDouble": "¡{{trainerName}}\nquieren luchar!",
|
|
"trainerSendOut": "¡{{trainerName}} saca a\n{{pokemonName}}!",
|
|
"singleWildAppeared": "¡{{pokemonName}} salvaje te corta el paso!",
|
|
"multiWildAppeared": "¡{{pokemonName1}} y {{pokemonName2}} salvajes\nte cortan el paso!",
|
|
"playerComeBack": "¡{{pokemonName}}, vuelve!",
|
|
"trainerComeBack": "¡{{trainerName}} retira a {{pokemonName}} del combate!",
|
|
"playerGo": "¡Adelante, {{pokemonName}}!",
|
|
"trainerGo": "¡{{trainerName}} saca a {{pokemonName}}!",
|
|
"switchQuestion": "¿Quieres cambiar de {{pokemonName}}?",
|
|
"trainerDefeated": "¡Has derrotado a\n{{trainerName}}!",
|
|
"moneyWon": "¡Has ganado\n{{moneyAmount}}₽ por vencer!",
|
|
"moneyPickedUp": "¡Has recogido {{moneyAmount}}₽!",
|
|
"pokemonCaught": "¡{{pokemonName}} ha sido atrapado!",
|
|
"pokemonObtained": "¡Has recibido a {{pokemonName}}!",
|
|
"pokemonBrokeFree": "¡Oh, no!\n¡El Pokémon se ha escapado!",
|
|
"pokemonFled": "¡El {{pokemonName}} salvaje ha huido!",
|
|
"playerFled": "¡Huiste del {{pokemonName}}!",
|
|
"addedAsAStarter": "¡{{pokemonName}} ha sido añadido a tus iniciales!",
|
|
"partyFull": "Tu equipo está completo.\n¿Quieres liberar a un Pokémon para quedarte con {{pokemonName}}?",
|
|
"pokemon": "Pokémon",
|
|
"sendOutPokemon": "¡Vamos, {{pokemonName}}!",
|
|
"hitResultCriticalHit": "¡Un golpe crítico!",
|
|
"hitResultSuperEffective": "¡Es supereficaz!",
|
|
"hitResultNotVeryEffective": "No es muy eficaz…",
|
|
"hitResultNoEffect": "No afecta a {{pokemonName}}...",
|
|
"hitResultImmune": "¡No afecta a {{pokemonName}}!",
|
|
"hitResultOneHitKO": "¡KO de un golpe!",
|
|
"attackFailed": "¡Pero ha fallado!",
|
|
"attackMissed": "¡{{pokemonNameWithAffix}}\nha evitado el ataque!",
|
|
"attackHitsCount": "N.º de golpes: {{count}}.",
|
|
"rewardGain": "¡Has conseguido\n{{modifierName}}!",
|
|
"rewardGainCount": "¡Has conseguido\n{{count}} {{modifierName}}!",
|
|
"expGain": "{{pokemonName}} ha ganado\n{{exp}} puntos de experiencia.",
|
|
"levelUp": "¡{{pokemonName}} ha subido a\nNv. {{level}}!",
|
|
"learnMove": "¡{{pokemonName}} ha aprendido {{moveName}}!",
|
|
"learnMovePrompt": "{{pokemonName}} quiere aprender {{moveName}}.",
|
|
"learnMoveLimitReached": "Pero {{pokemonName}} ya conoce\ncuatro movimientos.",
|
|
"learnMoveReplaceQuestion": "¿Quieres sustituir uno de sus movimientos por {{moveName}}?",
|
|
"learnMoveStopTeaching": "¿Prefieres que no aprenda\n{{moveName}}?",
|
|
"learnMoveNotLearned": "{{pokemonName}} no ha aprendido {{moveName}}.",
|
|
"learnMoveForgetQuestion": "¿Qué movimiento debería olvidar?",
|
|
"learnMoveForgetSuccess": "{{pokemonName}} ha olvidado cómo utilizar {{moveName}}.",
|
|
"countdownPoof": "@d{32}1, @d{15}2, @d{15}3@d{15}… @d{15}… @d{15}… @d{15}@s{se/pb_bounce_1}Y...",
|
|
"learnMoveAnd": "¡Puf!",
|
|
"levelCapUp": "¡Se ha incrementado el\nnivel máximo a {{levelCap}}!",
|
|
"moveNotImplemented": "{{moveName}} aún no está implementado y no se puede seleccionar.",
|
|
"moveNoPP": "¡No quedan PP para este movimiento!",
|
|
"moveDisabled": "¡{{moveName}} está anulado!",
|
|
"disableInterruptedMove": "¡Se ha anulado el movimiento {{moveName}}\nde {{pokemonNameWithAffix}}!",
|
|
"noPokeballForce": "Una fuerza misteriosa\nte impide usar Poké Balls.",
|
|
"noPokeballTrainer": "¡No está bien capturar los\nPokémon de los demás!",
|
|
"noPokeballMulti": "¡No puedes lanzar Poké Balls\ncuando hay más de un Pokémon!",
|
|
"noPokeballStrong": "Este Pokémon es demasiado fuerte para ser capturado.\n¡Baja sus PS!",
|
|
"noPokeballMysteryEncounter": "¡No puedes capturar a este Pokémon!",
|
|
"noEscapeForce": "Una fuerza misteriosa\nte impide huir.",
|
|
"noEscapeTrainer": "¡No puedes huir de los\ncombates contra entrenadores!",
|
|
"noEscapePokemon": "¡{{moveName}} de {{pokemonName}} no te deja huir!",
|
|
"runAwaySuccess": "¡Escapas sin problemas!",
|
|
"runAwayCannotEscape": "¡No has podido escapar!",
|
|
"escapeVerbSwitch": "cambiar",
|
|
"escapeVerbFlee": "huir",
|
|
"notDisabled": "¡{{moveName}} de {{pokemonName}} ya no está anulado!",
|
|
"turnEndHpRestore": "{{pokemonName}} ha recuperado PS.",
|
|
"hpIsFull": "¡Los PS de {{pokemonName}}\nestán al máximo!",
|
|
"skipItemQuestion": "¿Estás seguro de que no quieres coger un objeto?",
|
|
"itemStackFull": "No tienes sitio para más {{fullItemName}}. Recibirás {{itemName}} en su lugar.",
|
|
"eggHatching": "¿Y esto?",
|
|
"ivScannerUseQuestion": "¿Quieres usar el Escáner de IVs en {{pokemonName}}?",
|
|
"wildPokemonWithAffix": "El {{pokemonName}} salvaje",
|
|
"foePokemonWithAffix": "El {{pokemonName}} enemigo",
|
|
"useMove": "¡{{pokemonNameWithAffix}} usó {{moveName}}!",
|
|
"drainMessage": "¡La energía de {{pokemonName}}\nha sido absorbida!",
|
|
"regainHealth": "¡{{pokemonName}} recuperó\nPS!",
|
|
"stealEatBerry": "¡{{pokemonName}} robó la {{berryName}}\nde {{targetName}} y se la comió!",
|
|
"ppHealBerry": "¡{{pokemonNameWithAffix}} recuperó algunos PP de {{moveName}}\ngracias a su {{berryName}}!",
|
|
"hpHealBerry": "¡{{pokemonNameWithAffix}} recuperó sus PS gracias a su {{berryName}}!",
|
|
"fainted": "¡{{pokemonNameWithAffix}} se debilitó!",
|
|
"statsAnd": "y",
|
|
"stats": "Las estadísticas",
|
|
"statRose_one": "¡{{stats}} de {{pokemonNameWithAffix}} ha aumentado!",
|
|
"statRose_other": "¡{{stats}} de {{pokemonNameWithAffix}} ha aumentado!",
|
|
"statSharplyRose_one": "¡{{stats}} de {{pokemonNameWithAffix}} ha aumentado mucho!",
|
|
"statSharplyRose_other": "¡{{stats}} de {{pokemonNameWithAffix}} ha aumentado mucho!",
|
|
"statRoseDrastically_one": "¡{{stats}} de {{pokemonNameWithAffix}} ha aumentado muchísimo!",
|
|
"statRoseDrastically_other": "¡{{stats}} de {{pokemonNameWithAffix}} ha aumentado muchísimo!",
|
|
"statWontGoAnyHigher_one": "¡{{stats}} de {{pokemonNameWithAffix}} no puede aumentar más!",
|
|
"statWontGoAnyHigher_other": "¡{{stats}} de {{pokemonNameWithAffix}} no puede aumentar más!",
|
|
"statFell_one": "¡{{stats}} de {{pokemonNameWithAffix}} ha disminuido!",
|
|
"statFell_other": "¡{{stats}} de {{pokemonNameWithAffix}} ha disminuido!",
|
|
"statHarshlyFell_one": "¡{{stats}} de {{pokemonNameWithAffix}} ha disminuido mucho!",
|
|
"statHarshlyFell_other": "¡{{stats}} de {{pokemonNameWithAffix}} ha disminuido mucho!",
|
|
"statSeverelyFell_one": "¡{{stats}} de {{pokemonNameWithAffix}} ha disminuido muchísimo!",
|
|
"statSeverelyFell_other": "¡{{stats}} de {{pokemonNameWithAffix}} ha disminuido muchísimo!",
|
|
"statWontGoAnyLower_one": "¡{{stats}} de {{pokemonNameWithAffix}} no puede disminuir más!",
|
|
"statWontGoAnyLower_other": "¡{{stats}} de {{pokemonNameWithAffix}} no puede disminuir más!",
|
|
"transformedIntoType": "¡{{pokemonName}} ha cambiado a tipo {{type}}!",
|
|
"retryBattle": "¿Quieres reintentar este combate?",
|
|
"unlockedSomething": "¡Has desbloqueado {{unlockedThing}}!",
|
|
"congratulations": "¡Enhorabuena!",
|
|
"beatModeFirstTime": "¡{{speciesName}} ha completado el modo {{gameMode}} por primera vez!\n¡Has conseguido {{newModifier}}!",
|
|
"ppReduced": "¡El movimiento {{moveName}} de {{targetName}} ha perdido {{reduction}} PP!",
|
|
"mysteryEncounterAppeared": "¿Qué es esto?",
|
|
"battlerTagsHealBlock": "¡{{pokemonNameWithAffix}} no puede restaurar sus PS!",
|
|
"battlerTagsHealBlockOnRemove": "¡{{pokemonNameWithAffix}} ya puede recuperar PS!"
|
|
}
|