pokerogue/public/locales/es/battle.json
flx-sta 95386861bb
[Qol][Refactor] i18n lazy-loading (#4327)
* 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
2024-10-01 21:55:16 +01:00

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!"
}