diff --git a/src/locales/ca_ES/config.ts b/src/locales/ca_ES/config.ts index 4d8f6c9dc59..b9f92bb8f49 100644 --- a/src/locales/ca_ES/config.ts +++ b/src/locales/ca_ES/config.ts @@ -53,7 +53,49 @@ import terrain from "./terrain.json"; import modifierSelectUiHandler from "./modifier-select-ui-handler.json"; import moveTriggers from "./move-trigger.json"; import runHistory from "./run-history.json"; +import mysteryEncounterMessages from "./mystery-encounter-messages.json"; +import lostAtSea from "./mystery-encounters/lost-at-sea-dialogue.json"; +import mysteriousChest from "./mystery-encounters/mysterious-chest-dialogue.json"; +import mysteriousChallengers from "./mystery-encounters/mysterious-challengers-dialogue.json"; +import darkDeal from "./mystery-encounters/dark-deal-dialogue.json"; +import departmentStoreSale from "./mystery-encounters/department-store-sale-dialogue.json"; +import fieldTrip from "./mystery-encounters/field-trip-dialogue.json"; +import fieryFallout from "./mystery-encounters/fiery-fallout-dialogue.json"; +import fightOrFlight from "./mystery-encounters/fight-or-flight-dialogue.json"; +import safariZone from "./mystery-encounters/safari-zone-dialogue.json"; +import shadyVitaminDealer from "./mystery-encounters/shady-vitamin-dealer-dialogue.json"; +import slumberingSnorlax from "./mystery-encounters/slumbering-snorlax-dialogue.json"; +import trainingSession from "./mystery-encounters/training-session-dialogue.json"; +import theStrongStuff from "./mystery-encounters/the-strong-stuff-dialogue.json"; +import pokemonSalesman from "./mystery-encounters/the-pokemon-salesman-dialogue.json"; +import offerYouCantRefuse from "./mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; +import delibirdy from "./mystery-encounters/delibirdy-dialogue.json"; +import absoluteAvarice from "./mystery-encounters/absolute-avarice-dialogue.json"; +import aTrainersTest from "./mystery-encounters/a-trainers-test-dialogue.json"; +import trashToTreasure from "./mystery-encounters/trash-to-treasure-dialogue.json"; +import berriesAbound from "./mystery-encounters/berries-abound-dialogue.json"; +import clowningAround from "./mystery-encounters/clowning-around-dialogue.json"; +import partTimer from "./mystery-encounters/part-timer-dialogue.json"; +import dancingLessons from "./mystery-encounters/dancing-lessons-dialogue.json"; +import weirdDream from "./mystery-encounters/weird-dream-dialogue.json"; +import theWinstrateChallenge from "./mystery-encounters/the-winstrate-challenge-dialogue.json"; +import teleportingHijinks from "./mystery-encounters/teleporting-hijinks-dialogue.json"; +import bugTypeSuperfan from "./mystery-encounters/bug-type-superfan-dialogue.json"; +import funAndGames from "./mystery-encounters/fun-and-games-dialogue.json"; +import uncommonBreed from "./mystery-encounters/uncommon-breed-dialogue.json"; +import globalTradeSystem from "./mystery-encounters/global-trade-system-dialogue.json"; +import expertPokemonBreeder from "./mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; +/** + * Dialogue/Text token injection patterns that can be used: + * - `$` will be treated as a new line for Message and Dialogue strings. + * - `@d{}` will add a time delay to text animation for Message and Dialogue strings. + * - `@s{}` will play a specified sound effect for Message and Dialogue strings. + * - `@f{}` will fade the screen to black for the given duration, then fade back in for Message and Dialogue strings. + * - `{{}}` (MYSTERY ENCOUNTERS ONLY) will auto-inject the matching dialogue token value that is stored in {@link IMysteryEncounter.dialogueTokens}. + * - (see [i18next interpolations](https://www.i18next.com/translation-function/interpolation)) for more details. + * - `@[]{}` (STATIC TEXT ONLY, NOT USEABLE WITH {@link UI.showText()} OR {@link UI.showDialogue()}) will auto-color the given text to a specified {@link TextStyle} (e.g. `TextStyle.SUMMARY_GREEN`). + */ export const caEsConfig = { ability, abilityTriggers, @@ -110,4 +152,40 @@ export const caEsConfig = { modifierSelectUiHandler, moveTriggers, runHistory, + mysteryEncounter: { + // DO NOT REMOVE + "unit_test_dialogue": "{{test}}{{test}} {{test{{test}}}} {{test1}} {{test\}} {{test\\}} {{test\\\}} {test}}", + mysteriousChallengers, + mysteriousChest, + darkDeal, + fightOrFlight, + slumberingSnorlax, + trainingSession, + departmentStoreSale, + shadyVitaminDealer, + fieldTrip, + safariZone, + lostAtSea, + fieryFallout, + theStrongStuff, + pokemonSalesman, + offerYouCantRefuse, + delibirdy, + absoluteAvarice, + aTrainersTest, + trashToTreasure, + berriesAbound, + clowningAround, + partTimer, + dancingLessons, + weirdDream, + theWinstrateChallenge, + teleportingHijinks, + bugTypeSuperfan, + funAndGames, + uncommonBreed, + globalTradeSystem, + expertPokemonBreeder + }, + mysteryEncounterMessages }; diff --git a/src/locales/ca_ES/mystery-encounter-messages.json b/src/locales/ca_ES/mystery-encounter-messages.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/src/locales/ca_ES/mystery-encounter-messages.json @@ -0,0 +1 @@ +{} diff --git a/src/locales/ca_ES/mystery-encounters/a-trainers-test-dialogue.json b/src/locales/ca_ES/mystery-encounters/a-trainers-test-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/a-trainers-test-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/absolute-avarice-dialogue.json b/src/locales/ca_ES/mystery-encounters/absolute-avarice-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/absolute-avarice-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/an-offer-you-cant-refuse-dialogue.json b/src/locales/ca_ES/mystery-encounters/an-offer-you-cant-refuse-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/an-offer-you-cant-refuse-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/berries-abound-dialogue.json b/src/locales/ca_ES/mystery-encounters/berries-abound-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/berries-abound-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/bug-type-superfan-dialogue.json b/src/locales/ca_ES/mystery-encounters/bug-type-superfan-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/bug-type-superfan-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/clowning-around-dialogue.json b/src/locales/ca_ES/mystery-encounters/clowning-around-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/clowning-around-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/dancing-lessons-dialogue.json b/src/locales/ca_ES/mystery-encounters/dancing-lessons-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/dancing-lessons-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/dark-deal-dialogue.json b/src/locales/ca_ES/mystery-encounters/dark-deal-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/dark-deal-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/delibirdy-dialogue.json b/src/locales/ca_ES/mystery-encounters/delibirdy-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/delibirdy-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/department-store-sale-dialogue.json b/src/locales/ca_ES/mystery-encounters/department-store-sale-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/department-store-sale-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/field-trip-dialogue.json b/src/locales/ca_ES/mystery-encounters/field-trip-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/field-trip-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/fiery-fallout-dialogue.json b/src/locales/ca_ES/mystery-encounters/fiery-fallout-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/fiery-fallout-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/fight-or-flight-dialogue.json b/src/locales/ca_ES/mystery-encounters/fight-or-flight-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/fight-or-flight-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/fun-and-games-dialogue.json b/src/locales/ca_ES/mystery-encounters/fun-and-games-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/fun-and-games-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/global-trade-system-dialogue.json b/src/locales/ca_ES/mystery-encounters/global-trade-system-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/global-trade-system-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/lost-at-sea-dialogue.json b/src/locales/ca_ES/mystery-encounters/lost-at-sea-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/lost-at-sea-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/mysterious-challengers-dialogue.json b/src/locales/ca_ES/mystery-encounters/mysterious-challengers-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/mysterious-challengers-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/mysterious-chest-dialogue.json b/src/locales/ca_ES/mystery-encounters/mysterious-chest-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/mysterious-chest-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/part-timer-dialogue.json b/src/locales/ca_ES/mystery-encounters/part-timer-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/part-timer-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/safari-zone-dialogue.json b/src/locales/ca_ES/mystery-encounters/safari-zone-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/safari-zone-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/shady-vitamin-dealer-dialogue.json b/src/locales/ca_ES/mystery-encounters/shady-vitamin-dealer-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/shady-vitamin-dealer-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/slumbering-snorlax-dialogue.json b/src/locales/ca_ES/mystery-encounters/slumbering-snorlax-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/slumbering-snorlax-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/teleporting-hijinks-dialogue.json b/src/locales/ca_ES/mystery-encounters/teleporting-hijinks-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/teleporting-hijinks-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/the-expert-pokemon-breeder-dialogue.json b/src/locales/ca_ES/mystery-encounters/the-expert-pokemon-breeder-dialogue.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/the-expert-pokemon-breeder-dialogue.json @@ -0,0 +1 @@ +{} diff --git a/src/locales/ca_ES/mystery-encounters/the-pokemon-salesman-dialogue.json b/src/locales/ca_ES/mystery-encounters/the-pokemon-salesman-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/the-pokemon-salesman-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/the-strong-stuff-dialogue.json b/src/locales/ca_ES/mystery-encounters/the-strong-stuff-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/the-strong-stuff-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/the-winstrate-challenge-dialogue.json b/src/locales/ca_ES/mystery-encounters/the-winstrate-challenge-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/the-winstrate-challenge-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/training-session-dialogue.json b/src/locales/ca_ES/mystery-encounters/training-session-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/training-session-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/trash-to-treasure-dialogue.json b/src/locales/ca_ES/mystery-encounters/trash-to-treasure-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/trash-to-treasure-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/uncommon-breed-dialogue.json b/src/locales/ca_ES/mystery-encounters/uncommon-breed-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/uncommon-breed-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ca_ES/mystery-encounters/weird-dream-dialogue.json b/src/locales/ca_ES/mystery-encounters/weird-dream-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ca_ES/mystery-encounters/weird-dream-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/de/achv.json b/src/locales/de/achv.json index 21a1d89f9d6..4fa48d8cfdc 100644 --- a/src/locales/de/achv.json +++ b/src/locales/de/achv.json @@ -273,5 +273,9 @@ "INVERSE_BATTLE": { "name": "Spieglein, Spieglein an der Wand", "description": "Schließe die 'Umkehrkampf' Herausforderung ab" + }, + "BREEDERS_IN_SPACE": { + "name": "Züchter im Weltall!", + "description": "Besiege die Pokémon-Züchter-Expertin im Stratosphären Biome." } } diff --git a/src/locales/de/battle.json b/src/locales/de/battle.json index 7a9c2570211..93b30e10fe5 100644 --- a/src/locales/de/battle.json +++ b/src/locales/de/battle.json @@ -14,6 +14,10 @@ "moneyWon": "Du gewinnst {{moneyAmount}} ₽!", "moneyPickedUp": "Du hebst {{moneyAmount}} ₽ auf!", "pokemonCaught": "{{pokemonName}} wurde gefangen!", + "pokemonObtained": "Du erhältst {{pokemonName}}!", + "pokemonBrokeFree": "Mist!\nDas Pokémon hat sich befreit!", + "pokemonFled": "Das wilde {{pokemonName}} ist geflohen!", + "playerFled": "Du bist vor dem wilden {{pokemonName}} geflohen!", "addedAsAStarter": "{{pokemonName}} wurde als Starterpokémon hinzugefügt!", "partyFull": "Dein Team ist voll. Möchtest du ein Pokémon durch {{pokemonName}} ersetzen?", "pokemon": "Pokémon", @@ -49,6 +53,7 @@ "noPokeballTrainer": "Du kannst das Pokémon eines anderen Trainers nicht fangen!", "noPokeballMulti": "Du kannst erst einen Pokéball werfen, wenn nur noch ein Pokémon übrig ist!", "noPokeballStrong": "Das Ziel-Pokémon ist zu stark, um gefangen zu werden! Du musst es zuerst schwächen!", + "noPokeballMysteryEncounter": "You aren't able to\ncatch this Pokémon!", "noEscapeForce": "Eine unsichtbare Kraft verhindert die Flucht.", "noEscapeTrainer": "Du kannst nicht aus einem Trainerkampf fliehen!", "noEscapePokemon": "{{moveName}} von {{pokemonName}} verhindert {{escapeVerb}}!", @@ -97,6 +102,7 @@ "congratulations": "Glückwunsch!", "beatModeFirstTime": "{{speciesName}} hat den {{gameMode}} Modus zum ersten Mal beendet! Du erhältst {{newModifier}}!", "eggSkipPrompt": "Zur Ei-Zusammenfassung springen?", + "mysteryEncounterAppeared": "Was ist das?", "battlerTagsHealBlock": "{{pokemonNameWithAffix}} kann nicht geheilt werden, da die Heilung blockiert wird!", "battlerTagsHealBlockOnRemove": "{{pokemonNameWithAffix}} kann wieder geheilt werden!" } diff --git a/src/locales/de/bgm-name.json b/src/locales/de/bgm-name.json index 830fad50f7a..dbcb6ee6929 100644 --- a/src/locales/de/bgm-name.json +++ b/src/locales/de/bgm-name.json @@ -77,20 +77,20 @@ "end_summit": "PMDDX Gipfel des Himmelturms", "battle_rocket_grunt": "HGSS Vs. Team Rocket Rüpel", "battle_aqua_magma_grunt": "ORAS Vs. Team Aqua & Magma", - "battle_galactic_grunt": "BDSP Vs. Team Galaktik Rüpel", + "battle_galactic_grunt": "SDLP Vs. Team Galaktik Rüpel", "battle_plasma_grunt": "SW Vs. Team Plasma Rüpel", "battle_flare_grunt": "XY Vs. Team Flare Rüpel", "battle_aether_grunt": "SM Vs. Æther Foundation", "battle_skull_grunt": "SM Vs. Team Skull Rüpel", "battle_macro_grunt": "SWSH Vs. Trainer", "battle_star_grunt": "KAPU Vs. Team Star", - "battle_galactic_admin": "BDSP Vs. Team Galactic Commander", + "battle_galactic_admin": "SDLP Vs. Team Galactic Commander", "battle_skull_admin": "SM Vs. Team Skull Vorstand", "battle_oleana": "SWSH Vs. Olivia", "battle_star_admin": "KAPU Vs. Team Star Boss", "battle_rocket_boss": "USUM Vs. Giovanni", "battle_aqua_magma_boss": "ORAS Vs. Team Aqua & Magma Boss", - "battle_galactic_boss": "BDSP Vs. Zyrus", + "battle_galactic_boss": "SDLP Vs. Zyrus", "battle_plasma_boss": "S2W2 Vs. G-Cis", "battle_flare_boss": "XY Vs. Flordelis", "battle_aether_boss": "SM Vs. Samantha", @@ -149,5 +149,11 @@ "encounter_youngster": "SW Trainerblicke treffen sich (Knirps)", "heal": "SW Pokémon-Heilung", "menu": "PMD Erkundungsteam Himmel Willkommen in der Welt der Pokémon!", - "title": "PMD Erkundungsteam Himmel Top-Menü-Thema" + "title": "PMD Erkundungsteam Himmel Top-Menü-Thema", + + "mystery_encounter_weird_dream": "PMD Erkundungsteam Himmel Zeitturmspitze", + "mystery_encounter_fun_and_games": "PMD Erkundungsteam Himmel Gildenmeister Knuddeluff", + "mystery_encounter_gen_5_gts": "SW GTS", + "mystery_encounter_gen_6_gts": "XY GTS", + "mystery_encounter_delibirdy": "Firel - DeliDelivery!" } diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index 772bfb6d1d5..582272d4087 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -53,7 +53,49 @@ import terrain from "./terrain.json"; import modifierSelectUiHandler from "./modifier-select-ui-handler.json"; import moveTriggers from "./move-trigger.json"; import runHistory from "./run-history.json"; +import mysteryEncounterMessages from "./mystery-encounter-messages.json"; +import lostAtSea from "./mystery-encounters/lost-at-sea-dialogue.json"; +import mysteriousChest from "./mystery-encounters/mysterious-chest-dialogue.json"; +import mysteriousChallengers from "./mystery-encounters/mysterious-challengers-dialogue.json"; +import darkDeal from "./mystery-encounters/dark-deal-dialogue.json"; +import departmentStoreSale from "./mystery-encounters/department-store-sale-dialogue.json"; +import fieldTrip from "./mystery-encounters/field-trip-dialogue.json"; +import fieryFallout from "./mystery-encounters/fiery-fallout-dialogue.json"; +import fightOrFlight from "./mystery-encounters/fight-or-flight-dialogue.json"; +import safariZone from "./mystery-encounters/safari-zone-dialogue.json"; +import shadyVitaminDealer from "./mystery-encounters/shady-vitamin-dealer-dialogue.json"; +import slumberingSnorlax from "./mystery-encounters/slumbering-snorlax-dialogue.json"; +import trainingSession from "./mystery-encounters/training-session-dialogue.json"; +import theStrongStuff from "./mystery-encounters/the-strong-stuff-dialogue.json"; +import pokemonSalesman from "./mystery-encounters/the-pokemon-salesman-dialogue.json"; +import offerYouCantRefuse from "./mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; +import delibirdy from "./mystery-encounters/delibirdy-dialogue.json"; +import absoluteAvarice from "./mystery-encounters/absolute-avarice-dialogue.json"; +import aTrainersTest from "./mystery-encounters/a-trainers-test-dialogue.json"; +import trashToTreasure from "./mystery-encounters/trash-to-treasure-dialogue.json"; +import berriesAbound from "./mystery-encounters/berries-abound-dialogue.json"; +import clowningAround from "./mystery-encounters/clowning-around-dialogue.json"; +import partTimer from "./mystery-encounters/part-timer-dialogue.json"; +import dancingLessons from "./mystery-encounters/dancing-lessons-dialogue.json"; +import weirdDream from "./mystery-encounters/weird-dream-dialogue.json"; +import theWinstrateChallenge from "./mystery-encounters/the-winstrate-challenge-dialogue.json"; +import teleportingHijinks from "./mystery-encounters/teleporting-hijinks-dialogue.json"; +import bugTypeSuperfan from "./mystery-encounters/bug-type-superfan-dialogue.json"; +import funAndGames from "./mystery-encounters/fun-and-games-dialogue.json"; +import uncommonBreed from "./mystery-encounters/uncommon-breed-dialogue.json"; +import globalTradeSystem from "./mystery-encounters/global-trade-system-dialogue.json"; +import expertPokemonBreeder from "./mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; +/** + * Dialogue/Text token injection patterns that can be used: + * - `$` will be treated as a new line for Message and Dialogue strings. + * - `@d{}` will add a time delay to text animation for Message and Dialogue strings. + * - `@s{}` will play a specified sound effect for Message and Dialogue strings. + * - `@f{}` will fade the screen to black for the given duration, then fade back in for Message and Dialogue strings. + * - `{{}}` (MYSTERY ENCOUNTERS ONLY) will auto-inject the matching dialogue token value that is stored in {@link IMysteryEncounter.dialogueTokens}. + * - (see [i18next interpolations](https://www.i18next.com/translation-function/interpolation)) for more details. + * - `@[]{}` (STATIC TEXT ONLY, NOT USEABLE WITH {@link UI.showText()} OR {@link UI.showDialogue()}) will auto-color the given text to a specified {@link TextStyle} (e.g. `TextStyle.SUMMARY_GREEN`). + */ export const deConfig = { ability, abilityTriggers, @@ -110,4 +152,40 @@ export const deConfig = { modifierSelectUiHandler, moveTriggers, runHistory, + mysteryEncounter: { + // DO NOT REMOVE + "unit_test_dialogue": "{{test}}{{test}} {{test{{test}}}} {{test1}} {{test\}} {{test\\}} {{test\\\}} {test}}", + mysteriousChallengers, + mysteriousChest, + darkDeal, + fightOrFlight, + slumberingSnorlax, + trainingSession, + departmentStoreSale, + shadyVitaminDealer, + fieldTrip, + safariZone, + lostAtSea, + fieryFallout, + theStrongStuff, + pokemonSalesman, + offerYouCantRefuse, + delibirdy, + absoluteAvarice, + aTrainersTest, + trashToTreasure, + berriesAbound, + clowningAround, + partTimer, + dancingLessons, + weirdDream, + theWinstrateChallenge, + teleportingHijinks, + bugTypeSuperfan, + funAndGames, + uncommonBreed, + globalTradeSystem, + expertPokemonBreeder + }, + mysteryEncounterMessages }; diff --git a/src/locales/de/dialogue.json b/src/locales/de/dialogue.json index 2e8804ab747..493ccef2976 100644 --- a/src/locales/de/dialogue.json +++ b/src/locales/de/dialogue.json @@ -1026,6 +1026,116 @@ "1": "Du bist unfassbar stark. Kein Wunder, dass die anderen Bosse gegen dich verloren haben..." } }, + "stat_trainer_buck": { + "encounter": { + "1": "...Ich sag dir jetzt mal was. Ich bin echt stark. Tue überrascht!", + "2": "Ich fühle, wie meine Pokémon in ihren Pokébällen zittern!" + }, + "victory": { + "1": "Hehehehe! So heiß bist du!", + "2": "Hehehehe! So heiß bist du!" + }, + "defeat": { + "1": "Whoa! Du scheinst ja wirklich erschöpft zu sein.", + "2": "Whoa! Du scheinst ja wirklich erschöpft zu sein." + } + }, + "stat_trainer_cheryl": { + "encounter": { + "1": "Meine Pokémon können es kaum erwarten, zu kämpfen.", + "2": "Ich sollte dich warnen, meine Pokémon können ziemlich wild sein." + }, + "victory": { + "1": "Ein gutes Verhältnis von Angriff und Verteidigung... Das ist nicht einfach.", + "2": "Ein gutes Verhältnis von Angriff und Verteidigung... Das ist nicht einfach." + }, + "defeat": { + "1": "Brauchen deine Pokémon Heilung?", + "2": "Brauchen deine Pokémon Heilung?" + } + }, + "stat_trainer_marley": { + "encounter": { + "1": "...OK. Ich werde mein Bestes geben.", + "2": "...OK. Ich werde nicht verlieren...!" + }, + "victory": { + "1": "... Awww.", + "2": "... Awww." + }, + "defeat": { + "1": "... Auf Wiedersehen.", + "2": "... Auf Wiedersehen." + } + }, + "stat_trainer_mira": { + "encounter": { + "1": "Du wirst von Mira schockiert sein!", + "2": "Mira wird dir zeigen, dass Mira sich nicht mehr verirrt!" + }, + "victory": { + "1": "Mira wundern, ob sie in diesem Land weit kommen kann.", + "2": "Mira wundern, ob sie in diesem Land weit kommen kann." + }, + "defeat": { + "1": "Mira wuss, dass sie gewinnen würde!", + "2": "Mira wuss, dass sie gewinnen würde!" + } + }, + "stat_trainer_riley": { + "encounter": { + "1": "Kämpfe sind unsere Art der Begrüßung.", + "2": "Wir setzen alles daran, deine Pokémon zu besiegen." + }, + "victory": { + "1": "Manchmal kämpfen wir, und manchmal schließen wir uns zusammen...\n$Es ist großartig, wie Trainer interagieren können.", + "2": "Manchmal kämpfen wir, und manchmal schließen wir uns zusammen...\n$Es ist großartig, wie Trainer interagieren können." + }, + "defeat": { + "1": "Du hast dich gut geschlagen. Bis zum nächsten Mal.", + "2": "Du hast dich gut geschlagen. Bis zum nächsten Mal." + } + }, + "winstrates_victor": { + "encounter": { + "1": "Das ist der Kampfgeist den ich sehen will! Ich mag dich!" + }, + "victory": { + "1": "Ahh! Du bist stärker als ich dachte!" + } + }, + "winstrates_victoria": { + "encounter": { + "1": "Mein Gott! Bist du nicht etwas jung?\n$Du musst ein ziemlich guter Trainer sein, um meinen Mann zu besiegen.\n$Jetzt bin ich wohl an der Reihe!" + }, + "victory": { + "1": "Waas? Wie stark bist du denn?" + } + }, + "winstrates_vivi": { + "encounter": { + "1": "Du bist stärker als Mama? Wow! Aber ich bin auch stark! Wirklich! Ehrlich!" + }, + "victory": { + "1": "Huh? Habe ich wirklich verloren?\nSchnief... Omaaa!" + } + }, + "winstrates_vicky": { + "encounter": { + "1": "Wie kannst du es wagen, meine kostbare Enkelin zum Weinen zu bringen!\n$Ich sehe, ich muss dir eine Lektion erteilen.\n$Mach dich bereit, eine Niederlage zu erleiden!" + }, + "victory": { + "1": "Wow! So stark!\nMeine Enkelin hat nicht gelogen." + } + }, + "winstrates_vito": { + "encounter": { + "1": "Ich habe zusammen mit meiner ganzen Familie trainiert, mit jedem von uns!\n$Ich verliere gegen niemanden!" + }, + "victory": { + "1": "Ich war besser als jeder in meiner Familie. Ich habe noch nie verloren..." + } + }, "brock": { "encounter": { "1": "Meine Expertise in Bezug auf Gesteins-Pokémon wird dich besiegen! Komm schon!", diff --git a/src/locales/de/egg.json b/src/locales/de/egg.json index dbece7e81f3..4097ac17578 100644 --- a/src/locales/de/egg.json +++ b/src/locales/de/egg.json @@ -11,6 +11,7 @@ "gachaTypeLegendary": "Erhöhte Chance auf legendäre Eier.", "gachaTypeMove": "Erhöhte Chance auf Eier mit seltenen Attacken.", "gachaTypeShiny": "Erhöhte Chance auf schillernde Eier.", + "eventType": "Geheimnisvolles Ereignis", "selectMachine": "Wähle eine Maschine.", "notEnoughVouchers": "Du hast nicht genug Ei-Gutscheine!", "tooManyEggs": "Du hast schon zu viele Eier!", @@ -23,4 +24,4 @@ "moveUPGacha": "Mehr\nEi-Attacken!", "shinyUPGacha": "Mehr\nSchillernde!", "legendaryUPGacha": "erscheint\nöfter!" -} \ No newline at end of file +} diff --git a/src/locales/de/modifier-select-ui-handler.json b/src/locales/de/modifier-select-ui-handler.json index 3de1222c3b4..fbc6820244a 100644 --- a/src/locales/de/modifier-select-ui-handler.json +++ b/src/locales/de/modifier-select-ui-handler.json @@ -8,5 +8,7 @@ "lockRaritiesDesc": "Setze die Seltenheit der Items fest. (Beeinflusst die Rollkosten).", "checkTeamDesc": "Überprüfe dein Team or nutze Formänderungsitems.", "rerollCost": "{{formattedMoney}}₽", - "itemCost": "{{formattedMoney}}₽" -} \ No newline at end of file + "itemCost": "{{formattedMoney}}₽", + "continueNextWaveButton": "Fortfahren", + "continueNextWaveDescription": "Zur nächsten Welle fortfahren." +} diff --git a/src/locales/de/modifier-type.json b/src/locales/de/modifier-type.json index 7c7972343d6..4f08727f9fd 100644 --- a/src/locales/de/modifier-type.json +++ b/src/locales/de/modifier-type.json @@ -68,6 +68,20 @@ "BaseStatBoosterModifierType": { "description": "Erhöht den {{stat}} Basiswert des Trägers um 10%. Das Stapellimit erhöht sich, je höher dein IS-Wert ist." }, + "PokemonBaseStatTotalModifierType": { + "name": "Pottrottsaft", + "description": "{{increaseDecrease}} alle Basiswerte des Trägers um {{statValue}}. Du wurdest von Pottrott {{blessCurse}}.", + "extra": { + "increase": "Erhöht", + "decrease": "Verringert", + "blessed": "gesegnet", + "cursed": "verflucht" + } + }, + "PokemonBaseStatFlatModifierType": { + "name": "Spezialität", + "description": "Erhöht den {{stats}}-Wert des Trägers um {{statValue}}. Nach einem komischen Traum gefunden." + }, "AllPokemonFullHpRestoreModifierType": { "description": "Stellt 100% der KP aller Pokémon her." }, @@ -401,7 +415,13 @@ "ENEMY_FUSED_CHANCE": { "name": "Fusionsmarke", "description": "Fügt eine 1%ige Chance hinzu, dass ein wildes Pokémon eine Fusion ist." - } + }, + + "MYSTERY_ENCOUNTER_SHUCKLE_JUICE": { "name": "Pottrottsaft" }, + "MYSTERY_ENCOUNTER_BLACK_SLUDGE": { "name": "Giftschleim", "description": "Der Geruch ist so stark, dass die Geschäfte ihre Items nur zu einem stark erhöhten Preis verkaufen." }, + "MYSTERY_ENCOUNTER_MACHO_BRACE": { "name": "Machoschiene", "description": "Das Besiegen eines Pokémon gewährt dem Besitzer einen Machoschiene-Stapel. Jeder Stapel steigert die Werte leicht, mit einem zusätzlichen Bonus bei maximalen Stapeln." }, + "MYSTERY_ENCOUNTER_OLD_GATEAU": { "name": "Spezialität", "description": "Erhöht den {{stats}}-Wert des Trägers um {{statValue}}." }, + "MYSTERY_ENCOUNTER_GOLDEN_BUG_NET": { "name": "Golden Bug Net", "description": "Erhöht die Chance, dass der Besitzer mehr Pokémon vom Typ Käfer findet. Hat ein seltsames Gewicht." } }, "SpeciesBoosterItem": { "LIGHT_BALL": { diff --git a/src/locales/de/mystery-encounter-messages.json b/src/locales/de/mystery-encounter-messages.json new file mode 100644 index 00000000000..5c10b06a355 --- /dev/null +++ b/src/locales/de/mystery-encounter-messages.json @@ -0,0 +1,7 @@ +{ + "paid_money": "Du bezahlst {{amount, number}} ₽.", + "receive_money": "Du erhältst {{amount, number}} ₽!", + "affects_pokedex": "Beeinflusst Pokédex-Daten", + "cancel_option": "Zurück zur Auswahl der Begegnungsoptionen.", + "view_party_button": "Team überprüfen" +} diff --git a/src/locales/de/mystery-encounters/a-trainers-test-dialogue.json b/src/locales/de/mystery-encounters/a-trainers-test-dialogue.json new file mode 100644 index 00000000000..50413e24bc2 --- /dev/null +++ b/src/locales/de/mystery-encounters/a-trainers-test-dialogue.json @@ -0,0 +1,47 @@ +{ + "intro": "Ein sehr starker Trainer kommt auf dich zu...", + "buck": { + "intro_dialogue": "Yo, Trainer! Mein Name ist Avenaro.$Ich habe ein super Angebot für einen starken Trainer wie dich!$Ich trage zwei seltene Pokémon-Eier bei mir, aber ich möchte, dass sich jemand anderes um eines kümmert.$Wenn du mir beweisen kannst, dass du ein starker Trainer bist, werde ich dir das seltenere Ei geben!", + "accept": "Wohooo! Ich bin Feuer und Flamme!", + "decline": "Manno, es sieht so aus, als wäre dein Team nicht in Bestform.$Hier, lass mich dir helfen." + }, + "cheryl": { + "intro_dialogue": "Hallo mein Name ist Raissa, ich habe eine besondere Bitte an dich, einen starken Trainer.$Ich trage zwei seltene Pokémon-Eier bei mir, aber ich möchte, dass sich jemand anderes um eines kümmert.$Wenn du mir beweisen kannst, dass du ein starker Trainer bist, werde ich dir das seltenere Ei geben!", + "accept": "Ich hoffe, du bist bereit!", + "decline": "Ich verstehe, es sieht so aus, als wäre dein Team nicht in der besten Verfassung.$Hier, lass mich dir helfen." + }, + "marley": { + "intro_dialogue": "...@d{64} Ich bin Charlie.$Ich habe ein Angebot für dich...$Ich trage zwei Pokémon-Eier bei mir, aber ich möchte, dass sich jemand anderes um eines kümmert.$Wenn du stärker bist als ich, werde ich dir das seltenere Ei geben.", + "accept": "...So ist das also.", + "decline": "...Deine Pokémon sehen verletzt aus...Lass mich helfen." + }, + "mira": { + "intro_dialogue": "Hi, ich bin Orisa!$Ich habe eine Bitte an dich, einen starken Trainer.$Ich trage zwei seltene Pokémon-Eier bei mir, aber ich möchte, dass sich jemand anderes um eines kümmert.$Wenn du mir beweisen kannst, dass du ein starker Trainer bist, werde ich dir das seltenere Ei geben!", + "accept": "Du wirst Orisa herausfordern? Juhu!", + "decline": "Aww, kein Kampf? Das ist okay!$Hier, Orisa wird dein Team heilen!" + }, + "riley": { + "intro_dialogue": "Ich Urs, ich habe eine Bitte an dich, einen starken Trainer.$Ich trage zwei seltene Pokémon-Eier bei mir, aber ich möchte, dass sich jemand anderes um eines kümmert.$Wenn du mir beweisen kannst, dass du ein starker Trainer bist, werde ich dir das seltenere Ei geben!", + "accept": "Dieser Blick...Lass uns das machen.", + "decline": "Ich verstehe, dein Team sieht geschlagen aus.$Hier, lass mich dir helfen." + }, + "title": "Ein Trainer-Test", + "description": "Es scheint als würde dieser Trainer dir ein Ei geben, egal wie du dich entscheidest. Wenn du es jedoch schaffst, diesen starken Trainer zu besiegen, wirst du ein viel selteneres Ei erhalten.", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Die Herausforderung annehmen", + "tooltip": "(-) Schwerer Kampf\n(+) Erhalte ein @[TOOLTIP_TITLE]{Sehr seltenes Ei}" + }, + "2": { + "label": "Die Herausforderung ablehnen", + "tooltip": "(+) Team wird geheilt\n(+) Erhalte ein @[TOOLTIP_TITLE]{Ei}" + } + }, + "eggTypes": { + "rare": "seltenes Ei", + "epic": "episches Ei", + "legendary": "legendäres Ei" + }, + "outro": "{{statTrainerName}} gibt dir ein {{eggType}}!" +} diff --git a/src/locales/de/mystery-encounters/absolute-avarice-dialogue.json b/src/locales/de/mystery-encounters/absolute-avarice-dialogue.json new file mode 100644 index 00000000000..eb4d06fc527 --- /dev/null +++ b/src/locales/de/mystery-encounters/absolute-avarice-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "Ein {{greedentName}} überfällt dich und stiehlt die Beeren deines Teams!", + "title": "Absoluter Geiz", + "description": "Der {{greedentName}} hat dich total überrascht und all deine Beeren gestohlen!\nEs sieht so aus, als ob das {{greedentName}} sie gleich essen würde, aber dann hält es inne und sieht dich interessiert an.", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Kampf beginnen", + "tooltip": "(-) Schwerer Kampf\n(+) Belohnungen aus seinem Beerenversteck", + "selected": "Der {{greedentName}} füllt seine Backen und bereitet sich auf den Kampf vor!", + "boss_enraged": "{{greedentName}} Liebe für Essen hat es aufgebracht!", + "food_stash": "Es scheint, als ob das {{greedentName}} ein riesiges Nahrungslager bewacht hat!$Jedes Pokémon in deinem Team erhält {{foodReward}}!" + }, + "2": { + "label": "Verhandeln", + "tooltip": "(+) Einige Beeren zurückbekommen", + "selected": "Deine Bitte berührt das {{greedentName}}.$Es gibt dir nicht alle Beeren zurück, aber wirft dir trotzdem ein paar zu." + }, + "3": { + "label": "Beeren überlassen", + "tooltip": "(-) Alle Beeren verlieren\n(?) Das {{greedentName}} wird dich mögen", + "selected": "Das {{greedentName}} verschlingt den gesamten Beerenversteck in einem Blitz!$Es klopft sich auf den Bauch und sieht dich dankbar an.$Vielleicht könntest du ihm auf deinem Abenteuer mehr Beeren geben...$@s{level_up_fanfare}Das {{greedentName}} möchte sich deiner Gruppe anschließen!" + } + } +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/an-offer-you-cant-refuse-dialogue.json b/src/locales/de/mystery-encounters/an-offer-you-cant-refuse-dialogue.json new file mode 100644 index 00000000000..67ac2b1e7f3 --- /dev/null +++ b/src/locales/de/mystery-encounters/an-offer-you-cant-refuse-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Du wirst von einem reich aussehenden Jungen aufgehalten.", + "speaker": "Reicher Junge", + "intro_dialogue": "Guten Tag!$Ich kann nicht anders, als zu bemerken, dass dein\n{{strongestPokemon}} einfach göttlich aussieht!$Ich habe schon immer ein Pokémon wie dieses haben wollen!$Ich würde es dir großzügig bezahlen, und dir auch diesen alten Kram geben!", + "title": "Ein Angebot das du nicht ablehnen kannst", + "description": "Dir wird ein @[TOOLTIP_TITLE]{Schillerpin} und {{price, money}} für dein {{strongestPokemon}} angeboten!\nEs ist ein extrem gutes Angebot, aber kannst du es wirklich ertragen, dich von einem so starken Teammitglied zu trennen?", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Den Deal annehmen", + "tooltip": "(-) Verliere {{strongestPokemon}}\n(+) Erhalte einen @[TOOLTIP_TITLE]{Schillerpin}\n(+) Erhalte {{price, money}}", + "selected": "Wunderbar!@d{32} Komm mit, {{strongestPokemon}}!$Es ist Zeit, dich allen im Yachtclub zu zeigen!$Die werden so neidisch sein!" + }, + "2": { + "label": "Das Kind erpressen", + "tooltip": "(+) {{option2PrimaryName}} setzt {{moveOrAbility}} ein\n(+) Erhalte {{price, money}}", + "tooltip_disabled": "Dein Pokémon muss bestimmte Attacken oder Fähigkeiten haben, um diese Option zu wählen", + "selected": "Mein Gott, wir werden ausgeraubt, {{liepardName}}!$Du wirst von meinen Anwälten hören!" + }, + "3": { + "label": "Weggehen", + "tooltip": "(-) Keine Belohnung", + "selected": "Was ein beschissener Tag...$Ach, was solls. Lass uns zurück zum Yachtclub gehen, {{liepardName}}." + } + } +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/berries-abound-dialogue.json b/src/locales/de/mystery-encounters/berries-abound-dialogue.json new file mode 100644 index 00000000000..e7ff57a32ef --- /dev/null +++ b/src/locales/de/mystery-encounters/berries-abound-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Da ist ein riesiger Beerenstrauch in der Nähe dieses Pokémons!", + "title": "Überall Beeren", + "description": "Es scheint, als ob ein starkes Pokémon einen Beerenstrauch bewacht. Ein Kampf wäre der direkte Weg, aber es sieht stark aus. Vielleicht könnte ein schnelles Pokémon ein paar Beeren schnappen, ohne erwischt zu werden?", + "query": "Was wirst du tun?", + "berries": "Berren!", + "option": { + "1": { + "label": "Kampf beginnen", + "tooltip": "(-) Schwerer Kampf\n(+) Beeren erhalten", + "selected": "Du trittst dem Pokémon ohne Furcht entgegen." + }, + "2": { + "label": "Zum Strauch rennen", + "tooltip": "(-) {{fastestPokemon}} nutzt seine Geschwindigkeit\n(+) Beeren erhalten", + "selected": "Dein {{fastestPokemon}} rennt zum Strauch!$Es schafft es, {{numBerries}} zu schnappen, bevor das {{enemyPokemon}} reagieren kann!$Du ziehst dich schnell mit deiner neuen Beute zurück.", + "selected_bad": "Dein {{fastestPokemon}} rennt zum Strauch!$Oh nein! Das {{enemyPokemon}} war schneller und hat den Weg blockiert!", + "boss_enraged": "Das gegnerische {{enemyPokemon}} ist wütend geworden!" + }, + "3": { + "label": "Verlassen", + "tooltip": "(-) Keine Belohnung", + "selected": "Du lässt das starke Pokémon mit seinem Item zurück und gehst weiter." + } + } +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/bug-type-superfan-dialogue.json b/src/locales/de/mystery-encounters/bug-type-superfan-dialogue.json new file mode 100644 index 00000000000..b298cff3dd7 --- /dev/null +++ b/src/locales/de/mystery-encounters/bug-type-superfan-dialogue.json @@ -0,0 +1,40 @@ +{ + "intro": "Ein ungewöhnlicher Trainer mit allerlei Käfer-Schnickschnack versperrt dir den Weg!", + "intro_dialogue": "Hey, Trainer! Ich bin auf einer Mission, um die seltensten Käfer-Pokémon zu finden!$Du musst Käfer-Pokémon auch lieben, oder? Jeder liebt Käfer-Pokémon!", + "title": "Der Käfersammler-Superfan", + "speaker": "Käfersammler-Superfan", + "description": "Der Trainer plappert drauf los, ohne auf eine Antwort zu warten...\nEs scheint, als gäbe es nur einen Weg, um aus dieser Situation herauszukommen... Die Aufmerksamkeit des Trainers zu erregen!", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Pokémon-Kampf", + "tooltip": "(-) Herausfordernder Kampf\n(+) Einem Pokémon eine Käfer-Attacke beibringen", + "selected": "Ein Pokémon-Kampf? Meine Käfer-Pokémon sind mehr als bereit für dich!" + }, + "2": { + "label": "Käfer-Pokémon zeigen", + "tooltip": "(+) Erhalte ein Geschenk", + "disabled_tooltip": "Du brauchst mindestens 1 Käfer-Pokémon in deinem Team, um das auszuwählen.", + "selected": "Du zeigst dem Trainer all deine Käfer-Pokémon...", + "selected_0_to_1": "Huh? Du hast nur {{numBugTypes}} Käfer-Pokémon...$Ich verschwende hier meine Zeit...", + "selected_2_to_3": "Hey, du hast {{numBugTypes}}! Nicht schlecht.$Hier, das könnte dir auf deiner Reise helfen, mehr zu fangen!", + "selected_4_to_5": "Was? Du hast {{numBugTypes}}? Nicht schlecht!$Du bist noch nicht ganz auf meinem Level, aber ich kann mich in dir erkennen! $Nimm das, mein junger Padawan!", + "selected_6": "Wow! {{numBugTypes}}!$Du musst Käfer-Pokémon fast so sehr lieben wie ich!$Hier, nimm das als Zeichen unserer Kameradschaft!" + }, + "3": { + "label": "Verschenke ein Käfer-Item", + "tooltip": "(-) Du gibst dem Trainer ein {{requiredBugItems}}\n(+) Erhalte ein Geschenk", + "disabled_tooltip": "Du brauchst ein {{requiredBugItems}}, um das auszuwählen.", + "select_prompt": "Wählen Sie ein Item aus, um es zu verschenken.", + "invalid_selection": "Das Pokémon hat kein solches Item.", + "selected": "Du gibst {{selectedItem}} an dem Trainer .", + "selected_dialogue": "Wow! {{selectedItem}}, für mich? Du bist nicht so schlecht, Junge!$Als Zeichen meiner Anerkennung möchte ich, dass du dieses besondere Geschenk bekommst!$Es wurde in meiner Familie weitergegeben, und jetzt möchte ich, dass du es hast!" + } + }, + "battle_won": "Dein Wissen und Können waren perfekt, um unsere Schwächen auszunutzen!$Als Gegenleistung für die wertvolle Lektion, erlaube mir, einem deiner Pokémon eine Käfer-Attacke beizubringen!", + "teach_move_prompt": "Wähle eine Attacke aus die du deinem Pokémon beibringen möchtest.", + "confirm_no_teach": "Bist du sicher, dass du keine dieser großartigen Attacken lernen möchtest?", + "outro": "Ich sehe großartige Käfer-Pokémon in deiner Zukunft! Mögen sich unsere Wege wieder kreuzen!$Mach's gut!", + "numBugTypes_one": "{{count}} Käfer-Pokémon", + "numBugTypes_other": "{{count}} Käfer-Pokémon" +} diff --git a/src/locales/de/mystery-encounters/clowning-around-dialogue.json b/src/locales/de/mystery-encounters/clowning-around-dialogue.json new file mode 100644 index 00000000000..5dce7b515a9 --- /dev/null +++ b/src/locales/de/mystery-encounters/clowning-around-dialogue.json @@ -0,0 +1,35 @@ +{ + "intro": "Es ist...@d{64} ein Clown?", + "speaker": "Clown", + "intro_dialogue": "Du tollpatschiger Trottel, bereite dich auf einen brillanten Kampf vor!\nDu wirst von diesem prügelnden Straßenmusikanten besiegt!", + "title": "Rumgeblödel", + "description": "Irgendwas stimmt nicht mit dieser Begegnung. Der Clown scheint darauf aus zu sein, dich zu einem Kampf zu provozieren, aber zu welchem Zweck?\n\nDas {{blacephalonName}} ist besonders seltsam, als hätte es @[TOOLTIP_TITLE]{seltsame Typen} und eine @[TOOLTIP_TITLE]{Fähigkeit.}", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Kampf beginnen", + "tooltip": "(-) Komischer Kampf\n(?) Beeinflusst Pokémon-Fähigkeiten", + "selected": "Deine erbärmlichen Pokémon sind bereit für eine erbärmliche Vorstellung!", + "apply_ability_dialogue": "Eine sensationelle Vorstellung! Dein Können passt zu einer sensationellen Fähigkeit als Beute!", + "apply_ability_message": "Der Clown bietet an, die Fähigkeit eines deiner Pokémon dauerhaft auf {{ability}} zu wechseln!", + "ability_prompt": "Soll eines deiner Pokémon die Fähigkeit {{ability}} dauerhaft erlangen?", + "ability_gained": "@s{level_up_fanfare}{{chosenPokemon}} hat die Fähigkeit {{ability}} erhalten!" + }, + "2": { + "label": "Nicht provozieren lassen", + "tooltip": "(-) Der Clown ist beleidigt\n(?) Beeinflusst Pokémon-Items", + "selected": "Du erbärmlicher Feigling, du verweigerst einen wunderbaren Kampf? Fühle meinen Zorn!", + "selected_2": "Das {{blacephalonName}} des Clowns verwendet Trickbetrug! Alle Items deines {{switchPokemon}} wurden zufällig vertauscht!", + "selected_3": "Meine perfekte List hat dich in die Irre geführt!" + }, + "3": { + "label": "Die Beleidigungen erwidern", + "tooltip": "(-) Den Clown verärgern\n(?) Beeinflusst Pokémon-Typen", + "selected": "Du erbärmlicher Feigling verweigerst einen wunderbaren Kampf? Fühle meinen Zorn!", + "selected_2": "Das {{blacephalonName}} des Clowns verwendet eine seltsame Attacke! Alle Typen deines Teams wurden zufällig vertauscht!", + "selected_3": "Meine perfekte List hat dich in die Irre geführt!" + } + + }, + "outro": "Der Clown und seine Kumpanen verschwinden in einer Rauchwolke." +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/dancing-lessons-dialogue.json b/src/locales/de/mystery-encounters/dancing-lessons-dialogue.json new file mode 100644 index 00000000000..3ea02955309 --- /dev/null +++ b/src/locales/de/mystery-encounters/dancing-lessons-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Ein {{oricorioName}} tanzt traurig allein, ohne einen Partner.", + "title": "Tanzstunden", + "description": "Das {{oricorioName}} scheint nicht aggressiv zu sein, im Gegenteil, es scheint traurig zu sein.\nVielleicht möchte es einfach nur mit jemandem tanzen...", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Kampf beginnen", + "tooltip": "(-) Schwerer Kampf\n(+) Erhalte ein Stab", + "selected": "Das {{oricorioName}} ist verstört und verteidigt sich!", + "boss_enraged": "Das {{oricorioName}} ist wütend und steigert seine Werte!" + }, + "2": { + "label": "Lerne den Tanz", + "tooltip": "(+) Bringe einem Pokémon Wecktanz bei", + "selected": "Du schaust dem {{oricorioName}} genau zu, wie es seinen Tanz aufführt...$@s{level_up_fanfare}Dein {{selectedPokemon}} hat von {{oricorioName}} gelernt!" + }, + "3": { + "label": "Zeig einen Tanz", + "tooltip": "(-) Bringe dem {{oricorioName}} einen Tanz bei\n(+) Das {{oricorioName}} wird dich mögen", + "disabled_tooltip": "Dein Pokémon muss einen Tanz beherrschen, um diese Option zu wählen.", + "select_prompt": "Wählen Sie eine Tanzattacke aus, die verwendet werden soll.", + "selected": "Das {{oricorioName}} schaut fasziniert zu, wie {{selectedPokemon}} {{selectedMove}} vorführt!$Es liebt die Vorführung!$@s{level_up_fanfare}Das {{oricorioName}} möchte sich dir anschließen!" + } + }, + "invalid_selection": "Das Pokémon kennt keine Tanzattacke" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/dark-deal-dialogue.json b/src/locales/de/mystery-encounters/dark-deal-dialogue.json new file mode 100644 index 00000000000..85c8d4565bb --- /dev/null +++ b/src/locales/de/mystery-encounters/dark-deal-dialogue.json @@ -0,0 +1,24 @@ + + +{ + "intro": "Ein seltsamer Mann in einem zerrissenen Mantel steht dir im Weg...", + "speaker": "Seltsamer Mann", + "intro_dialogue": "Hey, du!$Ich habe an einem neuen Gerät gearbeitet, um die verborgene Kraft eines Pokémon zum Vorschein zu bringen!$Es bindet die Atome des Pokémon auf molekularer Ebene vollständig neu und bringt sie in eine$weitaus mächtigere Form.$Hehe...@d{64} Ich brauche nur ein paar Opf-@d{32} Ähm, Testpersonen, um zu beweisen, dass es funktioniert.", + "title": "Dunkler Handel", + "description": "Der verstörende Typ hält einige Pokébälle hoch.\n\"Es wird such für dich lohnen! Du kannst diese tollen Pokébälle als Bezahlung haben, alles was ich brauche ist ein Pokémon aus deinem Team! Hehe...\"", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Aktzeptieren", + "tooltip": "(+) 5 Roguebälle\n(?) Ein zufälliges Pokémon wird verbessert", + "selected_dialogue": "Lass mich mal sehen...${{pokeName}} ist eine gute Wahl!$Denk dran, ich bin nicht verantwortlich, wenn etwas schief geht!@d{32} Hehe...", + "selected_message": "Der Mann übergibt dir 5 Roguebälle.${{pokeName}} springt in die seltsame Maschine...$Blinkende Lichter und seltsame Geräusche kommen aus der Maschine!$...@d{96} Etwas kommt aus der Maschine,\nwütend und wild!" + }, + "2": { + "label": "Ablehnen", + "tooltip": "(-) Keine Belohnung", + "selected": "Du willst einem armen Kerl nicht helfen? Pah!" + } + }, + "outro": "Nach der schrecklichen Begegnung, sammelst du dich und gehst weiter." +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/delibirdy-dialogue.json b/src/locales/de/mystery-encounters/delibirdy-dialogue.json new file mode 100644 index 00000000000..34ca9666d09 --- /dev/null +++ b/src/locales/de/mystery-encounters/delibirdy-dialogue.json @@ -0,0 +1,29 @@ + + +{ + "intro": "Ein Schwarm {{delibirdName}} ist aufgetaucht!", + "title": "Botogel-Bande", + "description": "Die {{delibirdName}} schauen dich erwartungsvoll an, als ob sie etwas wollen. Vielleicht würde es sie zufriedenstellen, wenn du ihnen ein Item oder etwas Geld gibst?", + "query": "Was möchtest du ihnen geben?", + "invalid_selection": "Das Pokémon hat kein solches Item.", + "option": { + "1": { + "label": "Geld geben", + "tooltip": "(-) Den {{delibirdName}} {{money, money}} geben\n(+) Erhalte ein Geschenk", + "selected": "Du wirfst das Geld zu den {{delibirdName}}, die aufgeregt miteinander schnattern.$Sie drehen sich zu dir um und geben dir glücklich ein Geschenk!" + }, + "2": { + "label": "Futter geben", + "tooltip": "(-) Gib den {{delibirdName}} eine Beere oder einen Belebersamen\n(+) Erhalte ein Geschenk", + "select_prompt": "Wähle ein Item aus.", + "selected": "Du wirfst {{chosenItem}} zu den {{delibirdName}}, die aufgeregt miteinander schnattern.$Sie drehen sich zu dir um und geben dir glücklich ein Geschenk!" + }, + "3": { + "label": "Ein Item geben", + "tooltip": "(-) Gebe den {{delibirdName}} ein Item\n(+) Erhalte ein Geschenk", + "select_prompt": "Wähle ein Item aus.", + "selected": "Du wirfst {{chosenItem}} zu den {{delibirdName}}, die aufgeregt miteinander schnattern.$Sie drehen sich zu dir um und geben dir glücklich ein Geschenk!" + } + }, + "outro": "Die {{delibirdName}} watscheln glücklich davon.$Was für ein seltsamer kleiner Austausch!" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/department-store-sale-dialogue.json b/src/locales/de/mystery-encounters/department-store-sale-dialogue.json new file mode 100644 index 00000000000..66e41975a31 --- /dev/null +++ b/src/locales/de/mystery-encounters/department-store-sale-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Es ist eine Dame mit vielen Einkaufstüten.", + "speaker": "Einkäuferin", + "intro_dialogue": "Hallo! Bist du auch wegen der tollen Angebote hier?$Es gibt einen speziellen Gutschein, den du während des Verkaufs einlösen kannst!$Ich habe einen zusätzlichen. Hier, bitte!", + "title": "Einkaufszentrum-Verkauf", + "description": "Es gibt Angebote in jede Richtung! Es sieht so aus, als ob es 4 Kassen gibt, an denen du den Gutschein gegen verschiedene Artikel eintauschen kannst. Die Möglichkeiten sind endlos!", + "query": "Welche Kasse wählst du?", + "option": { + "1": { + "label": "TM-Kasse", + "tooltip": "(+) TM Shop" + }, + "2": { + "label": "Nährstoff-Kasse", + "tooltip": "(+) Nährstoff Shop" + }, + "3": { + "label": "Kampf-Item-Kasse", + "tooltip": "(+) X-Item Shop" + }, + "4": { + "label": "Pokéball-Kasse", + "tooltip": "(+) Pokéball Shop" + } + }, + "outro": "Was für ein Schnäppchen! Du solltest öfter hier einkaufen." +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/field-trip-dialogue.json b/src/locales/de/mystery-encounters/field-trip-dialogue.json new file mode 100644 index 00000000000..61e6d4d9367 --- /dev/null +++ b/src/locales/de/mystery-encounters/field-trip-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "Eine Lehrerin und ein paar Schulkinder stehen auf einmal vor dir!", + "speaker": "Lehrerin", + "intro_dialogue": "Hallo! Könntest du eine Minute für meine Schüler erübrigen?$Ich bringe ihnen gerade bei, wie Pokémon-Attacken funktionieren und würde ihnen gerne$eine Demonstration zeigen.$Würdest du uns eine Attacke deines Pokémon vorführen?", + "title": "Exkursion", + "description": "Eine Lehrerin fragt nach einer Attackenvorführung eines Pokémon. Je nachdem, welche Attacke du wählst, hat sie vielleicht etwas Nützliches für dich als Belohnung.", + "query": "Welchen Attacken-Typ wählst du?", + "option": { + "1": { + "label": "Physische Attacke", + "tooltip": "(+) Physische Item-Belohnungen" + }, + "2": { + "label": "Spezielle Attacke", + "tooltip": "(+) Spezielle Item-Belohnungen" + }, + "3": { + "label": "Status-Attacke", + "tooltip": "(+) Status Item-Belohnungen" + }, + "selected": "{{pokeName}} zeigt eine beeindruckende Vorführung von {{move}}!" + }, + "second_option_prompt": "Wähle eine Attacke die dein Pokémon einsetzen soll.", + "incorrect": "...$Das ist keine {{moveCategory}}Attacke!\nEs tut mir leid, aber ich kann dir nichts geben.$Kommt Kinder, wir suchen uns woanders einen besseren Trainer.", + "incorrect_exp": "Es scheint, als hättest du eine wertvolle Lektion gelernt?$Dein Pokémon hat auch etwas Erfahrung gesammelt.", + "correct": "Ich dank dir vielmals für deine Freundlichkeit!$Ich hoffe, diese Items sind nützlich für dich.", + "correct_exp": "{{pokeName}} hat auch etwas wertvolle Erfahrung gesammelt!", + "status": "Status-", + "physical": "physische ", + "special": "spezielle " +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/fiery-fallout-dialogue.json b/src/locales/de/mystery-encounters/fiery-fallout-dialogue.json new file mode 100644 index 00000000000..167efd48b53 --- /dev/null +++ b/src/locales/de/mystery-encounters/fiery-fallout-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Du hast einen Sturm aus Rauch und Asche entdeckt!", + "title": "Feurige Folgen", + "description": "Die umherwirbelnde Asche und Glut haben die Sicht auf fast Null reduziert. Es scheint, als könnte es eine... Quelle geben, die diese Bedingungen verursacht. Aber was könnte hinter einem Phänomen dieser Größe stecken?", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Finde die Quelle", + "tooltip": "(?) Entdecke die Quelle\n(-) Schwieriger Kampf", + "selected": "Du hast die Quelle des Sturms gefunden!$Es sind zwei {{volcaronaName}}, die in der Mitte eines Paarungstanzes sind!$Sie nehmen die Unterbrechung nicht gut auf und greifen an!" + }, + "2": { + "label": "Sich einigeln", + "tooltip": "(-) Die Folgen des Wetters erleiden", + "selected": "Die Folgen des Wetters sind verheerend!$Deine Pokémon nehmen 20% ihrer maximalen KP als Schaden!", + "target_burned": "Dein {{burnedPokemon}} wurde auch verbrannt!" + }, + "3": { + "label": "Dein Feuer-Pokémon hilft", + "tooltip": "(+) Das Wetter klärt auf\n(+) Erhalte ein Holzkohle", + "disabled_tooltip": "Du benötigst mindestens 2 Feuer-Pokémon, um diese Option auszuwählen", + "selected": "Dein {{option3PrimaryName}} und {{option3SecondaryName}} führen dich zu zwei {{volcaronaName}}, die in der Mitte eines Paarungstanzes sind!$Zum Glück können deine Pokémon sie beruhigen,und sie ziehen ohne Probleme ab." + } + }, + "found_charcoal": "Nachdem das Wetter aufklart, entdeckt dein {{leadPokemon}} etwas auf dem Boden.$@s{item_fanfare}{{leadPokemon}} erhält eine Holzkohle!" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/fight-or-flight-dialogue.json b/src/locales/de/mystery-encounters/fight-or-flight-dialogue.json new file mode 100644 index 00000000000..33ed0d3f95a --- /dev/null +++ b/src/locales/de/mystery-encounters/fight-or-flight-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "Etwas Glänzendes liegt auf dem Boden in der Nähe dieses Pokémons!", + "title": "Kampf oder Flucht", + "description": "Es scheint, als würde ein starkes Pokémon ein Item bewachen. Ein Kampf wäre der direkte Weg, aber es sieht stark aus. Vielleicht könntest du das Item stehlen, wenn du das richtige Pokémon für den Job hast.", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Kampf beginnen", + "tooltip": "(-) Schwerer Kampf\n(+) Neues Item", + "selected": "Du trittst dem Pokémon ohne Furcht entgegen.", + "stat_boost": "Die Stärke von {{enemyPokemon}} erhöht einen seiner Werte!" + }, + "2": { + "label": "Das Item stehlen", + "disabled_tooltip": "Dein Pokémon muss eine bestimmte Attacken beherrschen, um diese Option zu wählen.", + "tooltip": "(+) {{option2PrimaryName}} setzt {{option2PrimaryMove}} ein", + "selected": ".@d{32}.@d{32}.@d{32}$Dein {{option2PrimaryName}} hilft dir und setzt {{option2PrimaryMove}} ein!$Du hast das Item gestohlen!" + }, + "3": { + "label": "Verlassen", + "tooltip": "(-) Keine Belohnung", + "selected": "Du lässt das starke Pokémon mit seinem Item zurück und gehst weiter." + } + } +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/fun-and-games-dialogue.json b/src/locales/de/mystery-encounters/fun-and-games-dialogue.json new file mode 100644 index 00000000000..9e38d0a4599 --- /dev/null +++ b/src/locales/de/mystery-encounters/fun-and-games-dialogue.json @@ -0,0 +1,30 @@ +{ + "intro_dialogue": "Kommen Sie näher, meine Damen und Herren!$Versuchen Sie Ihr Glück mit dem brandneuen {{wobbuffetName}}-Hau-den-Lukas!", + "speaker": "Animateur", + "title": "Spaß und Spiele!", + "description": "Du hast ein {{wobbuffetName}} gefunden, das ein Spiel spielt! Du hast @[TOOLTIP_TITLE]{3 Züge}, um das {{wobbuffetName}} so nah wie möglich an @[TOOLTIP_TITLE]{1 KP} heranzubringen, @[TOOLTIP_TITLE]{ohne es zu besiegen}, damit es eine riesige Gegenattacke auf der Glockenmaschine ausführen kann.\nAber sei vorsichtig! Wenn du das {{wobbuffetName}} besiegst, musst du die Kosten für die Wiederbelebung bezahlen!", + "query": "Möchtest du spielen?", + "option": { + "1": { + "label": "Das Spiel spielen", + "tooltip": "(-) Zahle {{option1Money, money}}\n(+) Spiele {{wobbuffetName}} Hau-den-Lukas", + "selected": "Zeit dein Glück herauszufordern!" + }, + "2": { + "label": "Weggehen", + "tooltip": "(-) Keine Belohnung", + "selected": "Du beeilst dich auf deinem Weg, mit einem leichten Gefühl der Reue." + } + }, + "ko": "Oh nein! Das {{wobbuffetName}} ist ohnmächtig geworden!$Du verlierst das Spiel und musst die Kosten für die Wiederbelebung bezahlen...", + "charging_continue": "Das {{wobbuffetName}} lädt seine Gegenattacke auf!", + "turn_remaining_3": "Drei Runden verbleiben!", + "turn_remaining_2": "Zwei Runden verbleiben!", + "turn_remaining_1": "Nur noch eine Runde!", + "end_game": "Die Zeit ist um!$Das {{wobbuffetName}} holt zum Gegenangriff aus und@d{16}.@d{16}.@d{16}.", + "best_result": "Das {{wobbuffetName}} schlägt so hart auf den Knopf, dass die Glocke vom oberen Teil abbricht!$Du gewinnst den Hauptpreis!", + "great_result": "Das {{wobbuffetName}} schlägt den Knopf so hart, dass die Glocke fast getroffen wird!$So nah! Du gewinnst den zweiten Preis!", + "good_result": "Das {{wobbuffetName}} trifft den Knopf stark genug, um die Hälfte der Skala zu erreichen!$Du verdienst den dritten Preis!", + "bad_result": "Das {{wobbuffetName}} trifft den Knopf kaum und nichts passiert...$Oh nein! Du gewinnst nichts!", + "outro": "Das war ein lustiges kleines Spiel!" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/global-trade-system-dialogue.json b/src/locales/de/mystery-encounters/global-trade-system-dialogue.json new file mode 100644 index 00000000000..f9b2ac605bf --- /dev/null +++ b/src/locales/de/mystery-encounters/global-trade-system-dialogue.json @@ -0,0 +1,32 @@ +{ + "intro": "Es ist eine Schnittstelle für die Globale Tauschstation, das GTS.", + "title": "Das GTS", + "description": "Ah, das GTS! Ein technologisches Wunder, mit dem du dich mit jedem auf der Welt verbinden kannst, um Pokémon mit ihnen zu tauschen! Wird das Glück dir heute hold sein?", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Tauschangebote prüfen", + "tooltip": "(+) Wähle ein Tauschangebot für eines deiner Pokémon aus", + "trade_options_prompt": "Wähle ein Pokémon aus, das du erhalten möchtest." + }, + "2": { + "label": "Zaubertausch", + "tooltip": "(+) Seine eine deiner Pokémon an die GTS und erhalte ein zufälliges Pokémon im Austausch" + }, + "3": { + "label": "Tausche ein Item", + "trade_options_prompt": "Wähle ein Item aus, das du senden möchtest.", + "invalid_selection": "Dieses Pokémon hat keine Items die getauscht werden können.", + "tooltip": "(+) Sende eines deiner Items an die GTS und erhalte ein zufälliges Item im Austausch" + }, + "4": { + "label": "Weggehen", + "tooltip": "(-) Keine Belohnung", + "selected": "Heute ist keine Zeit zum Tauschen! Du gehst weiter." + } + }, + "pokemon_trade_selected": "{{tradedPokemon}} wird an {{tradeTrainerName}} gesendet.", + "pokemon_trade_goodbye": "Machs gut, {{tradedPokemon}}!", + "item_trade_selected": "{{chosenItem}} wird an {{tradeTrainerName}} gesendet.$.@d{64}.@d{64}.@d{64}\n@s{level_up_fanfare}Tausch abgeschlossen!$Du hast {{itemName}} von {{tradeTrainerName}} erhalten!", + "trade_received": "@s{evolution_fanfare}{{tradeTrainerName}} hat dir {{received}} geschickt!" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/lost-at-sea-dialogue.json b/src/locales/de/mystery-encounters/lost-at-sea-dialogue.json new file mode 100644 index 00000000000..3ce269fbee8 --- /dev/null +++ b/src/locales/de/mystery-encounters/lost-at-sea-dialogue.json @@ -0,0 +1,28 @@ +{ + "intro": "Du warst auf dem Meer umhergeirrt und effektiv nirgendwohin gekommen.", + "title": "Verloren auf See", + "description": "Die See ist in diesem Gebiet stürmisch und du hast kaum noch Energie. Das ist schlecht. Gibt es einen Ausweg aus der Situation?", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "{{option1PrimaryName}} kann helfen", + "label_disabled": "Kein {{option1RequiredMove}}", + "tooltip": "(+) {{option1PrimaryName}} rettet dich\n(+) {{option1PrimaryName}} erhält etwas EP", + "tooltip_disabled": "Du hast kein Pokémon, das {{option1RequiredMove}} erlernen kann", + "selected": "{{option1PrimaryName}} schwimmt voraus und führt dich zurück auf den richtigen Weg.${{option1PrimaryName}} scheint auch stärker geworden zu sein in dieser Zeit der Not!" + }, + "2": { + "label": "{{option2PrimaryName}} kann helfen", + "label_disabled": "Kein {{option2RequiredMove}}", + "tooltip": "(+) {{option2PrimaryName}} rettet dich\n(+) {{option2PrimaryName}} erhält etwas EP", + "tooltip_disabled": "Du hast kein Pokémon, das {{option2RequiredMove}} erlernen kann", + "selected": "{{option2PrimaryName}} fliegt vor deinem Boot und führt dich zurück auf den richtigen Weg.${{option2PrimaryName}} scheint auch stärker geworden zu sein in dieser Zeit der Not!" + }, + "3": { + "label": "Umherirren", + "tooltip": "(-) Jedes deiner Pokémon verliert {{damagePercentage}}% seiner maximalen KP", + "selected": "Du treibst im Boot umher, steuerst ohne Richtung, bis du endlich ein Wahrzeichen siehst, das du wiedererkennst.$Du und deine Pokémon sind erschöpft von dem ganzen Vorfall." + } + }, + "outro": "Du bist wieder auf dem richtigen Weg." +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/mysterious-challengers-dialogue.json b/src/locales/de/mystery-encounters/mysterious-challengers-dialogue.json new file mode 100644 index 00000000000..040a8c269e0 --- /dev/null +++ b/src/locales/de/mystery-encounters/mysterious-challengers-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "Mysteriöse Herausforderer sind aufgetaucht!", + "title": "Mysteriöse Herausforderer", + "description": "Wenn du einen Herausforderer besiegst, könntest du sie beeindrucken und eine Belohnung erhalten. Aber manche sehen ziemlich stark aus. Bist du bereit für die Herausforderung?", + "query": "Wen wirst du bekämpfen?", + "option": { + "1": { + "label": "Schlauer Trainer", + "tooltip": "(-) Standardkampf\n(+) TM Belohnungen" + }, + "2": { + "label": "Starker Trainer", + "tooltip": "(-) Harter Kampf\n(+) Gute Belohnungen" + }, + "3": { + "label": "Mächtigster Trainer", + "tooltip": "(-) Brutaler Kampf\n(+) Großartige Belohnungen" + }, + "selected": "Der Herausforderer tritt vor..." + }, + "outro": "Der mysteriöse Herausforderer wurde besiegt!" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/mysterious-chest-dialogue.json b/src/locales/de/mystery-encounters/mysterious-chest-dialogue.json new file mode 100644 index 00000000000..4e575b955d4 --- /dev/null +++ b/src/locales/de/mystery-encounters/mysterious-chest-dialogue.json @@ -0,0 +1,23 @@ +{ + "intro": "Du hast...@d{32} eine Truhe gefunden?", + "title": "Die mysteriöse Truhe", + "description": "Eine wunderschön verzierte Truhe steht auf dem Boden. Da muss doch etwas Gutes drin sein... oder?", + "query": "Wirst du sie öffnen?", + "option": { + "1": { + "label": "Öffnen", + "tooltip": "@[SUMMARY_BLUE]{({{trapPercent}}%) Etwas Schreckliches}\n@[SUMMARY_GREEN]{({{commonPercent}}%) Standard Belohnung}\n@[SUMMARY_GREEN]{({{ultraPercent}}%) Gute Belohnung}\n@[SUMMARY_GREEN]{({{roguePercent}}%) Großartige Belohnung}\n@[SUMMARY_GREEN]{({{masterPercent}}%) Erstaunliche Belohnung}", + "selected": "Du öffnest die Truhe und findest...", + "normal": "Einfach ein paar normale Werkzeuge und Gegenstände.", + "good": "Ein paar ziemlich gute Werkzeuge und Gegenstände.", + "great": "Ein paar großartige Werkzeuge und Gegenstände.", + "amazing": "Ein erstaunlichen Gegenstand!", + "bad": "Oh nein!@d{32}\nDie Truhe war tatsächlich ein {{gimmighoulName}}!$Dein {{pokeName}} springt schützend vor dich aber wird dabei besiegt!" + }, + "2": { + "label": "Zu riskant, weggehen", + "tooltip": "(-) Keine Belohnung", + "selected": "Du gehst schnell weiter, mit einem leichten Gefühl der Reue." + } + } +} diff --git a/src/locales/de/mystery-encounters/part-timer-dialogue.json b/src/locales/de/mystery-encounters/part-timer-dialogue.json new file mode 100644 index 00000000000..dd86449092c --- /dev/null +++ b/src/locales/de/mystery-encounters/part-timer-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "Eine geschäftige Person spricht dich an.", + "speaker": "Arbeitende Person", + "intro_dialogue": "Du siehst aus, als hättest du viele fähige Pokémon!$Wir können dich bezahlen, wenn du uns bei einigen Teilzeitjobs hilfst!", + "title": "Teilzeitjob", + "description": "Es scheint, als gäbe es viele Aufgaben, die erledigt werden müssen. Je besser dein Pokémon für eine Aufgabe geeignet ist, desto mehr Geld kann es verdienen.", + "query": "Welchen Job wählst du?", + "invalid_selection": "Das Pokémon muss genug KP haben.", + "option": { + "1": { + "label": "Lieferdienst", + "tooltip": "(-) Dein Pokémon nutzt seine Geschwindigkeit\n(+) Verdiene @[MONEY]{Geld}", + "selected": "Dein {{selectedPokemon}} arbeitet eine Schicht lang damit, Bestellungen an Kunden auszuliefern." + }, + "2": { + "label": "Lagerarbeit", + "tooltip": "(-) Dein Pokémon nutzt seine Stärke und Ausdauer\n(+) Verdiene @[MONEY]{Geld}", + "selected": "Dein {{selectedPokemon}} arbeitet eine Schicht lang damit, Gegenstände im Lager zu bewegen." + }, + "3": { + "label": "Verkäufer", + "tooltip": "(-) Dein {{option3PrimaryName}} nutzt {{option3PrimaryMove}}\n(+) Verdiene @[MONEY]{Geld}", + "disabled_tooltip": "Dein Pokémon muss bestimmte Attacken kennen, um diesen Job zu erledigen", + "selected": "Dein {{option3PrimaryName}} verbringt den Tag damit, {{option3PrimaryMove}} einzusetzen, um Kunden in den Laden zu locken!" + } + }, + "job_complete_good": "Danke für die Hilfe! Dein {{selectedPokemon}} war unglaublich hilfreich!$Hier ist dein Gehalt für den Tag.", + "job_complete_bad": "Dein {{selectedPokemon}} hat uns ein wenig geholfen!$Hier ist dein Gehalt für den Tag.", + "pokemon_tired": "Dein {{selectedPokemon}} ist erschöpft! Die AP aller seiner Attacken wurden auf 2 reduziert!", + "outro": "Komm doch bald wieder und hilf uns erneut!" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/safari-zone-dialogue.json b/src/locales/de/mystery-encounters/safari-zone-dialogue.json new file mode 100644 index 00000000000..2302833036b --- /dev/null +++ b/src/locales/de/mystery-encounters/safari-zone-dialogue.json @@ -0,0 +1,46 @@ +{ + "intro": "Es ist die Safari-Zone!", + "title": "Die Safari-Zone", + "description": "Es gibt alle Arten von seltenen und besonderen Pokémon, die hier gefunden werden können!\nWenn du dich entscheidest, einzutreten, hast du kannst du in den nächsten 3 Wellen versuchen, besondere Pokémon zu fangen.\nAber sei gewarnt, diese Pokémon können fliehen, bevor du sie fangen kannst!", + "query": "Willst du eintreten?", + "option": { + "1": { + "label": "Eintreten", + "tooltip": "(-) Zahle {{option1Money, money}}\n@[SUMMARY_GREEN]{(?) Safari Zone}", + "selected": "Zeit, dein Glück herauszufordern!" + }, + "2": { + "label": "Weggehen", + "tooltip": "(-) Keine Belohnung", + "selected": "Du gehst deines Weges, mit einem leichten Gefühl der Reue." + } + }, + "safari": { + "1": { + "label": "Pokéball werfen", + "tooltip": "(+) Werfe einen Pokéball", + "selected": "Du wirfst einen Pokéball!" + }, + "2": { + "label": "Köder werfen", + "tooltip": "(+) Erhöht die Fangrate\n(-) Erhöht die Fluchtchance", + "selected": "Du wirfst einen Köder!" + }, + "3": { + "label":"Matsch werfen", + "tooltip": "(+) Vermindert die Fluchtchance\n(-) Chance, die Fangrate zu verringern", + "selected": "Du wirst ein wenig Matsch!" + }, + "4": { + "label": "Fliehen", + "tooltip": "(?) Fliehe vor diesem Pokémon" + }, + "watching": "{{pokemonName}} beobachtet alles aufmerksam!", + "eating": "{{pokemonName}} frisst!", + "busy_eating": "{{pokemonName}} konzentriert sich aufs Futter!", + "angry": "{{pokemonName}} ist wütend!", + "beside_itself_angry": "{{pokemonName}} ist außer sich vor Wut!", + "remaining_count": "{{remainingCount}} Pokémon übrig!" + }, + "outro": "Das war ein spannendes Abenteuer in der Safari-Zone!" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/shady-vitamin-dealer-dialogue.json b/src/locales/de/mystery-encounters/shady-vitamin-dealer-dialogue.json new file mode 100644 index 00000000000..6579d94bd2e --- /dev/null +++ b/src/locales/de/mystery-encounters/shady-vitamin-dealer-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Ein Mann in einem dunklen Mantel kommt auf dich zu.", + "speaker": "Zwielichtiger Verkäufer", + "intro_dialogue": ".@d{16}.@d{16}.@d{16}$Ich habe die Ware, wenn du das Geld hast.$Aber sei sicher, dass deine Pokémon es vertragen können.", + "title": "Der Nährstoff-Verkäufer", + "description": "Der Mann öffnet seinen Mantel und zeigt dir einige Pokémon-Nährstoffe. Die Preise, die er nennt, scheinen ein wirklich gutes Angebot zu sein. Fast zu gut...\nEr bietet dir zwei Möglichkeiten zur Auswahl an.", + "query": "Welches Angebot wirst du wählen?", + "invalid_selection": "Pokémon must be healthy enough.", + "option": { + "1": { + "label": "Der billige Deal", + "tooltip": "(-) Zahle {{option1Money, money}}\n(-) Nebenwirkungen?\n(+) Das gewählte Pokémon erhält 2 zufällige Nährstoffe" + }, + "2": { + "label": "Der teure Deal", + "tooltip": "(-) Zahle {{option2Money, money}}\n(+) Das gewählte Pokémon erhält 2 zufällige Nährstoffe" + }, + "3": { + "label": "Weggehen", + "tooltip": "(-) Keine Belohnung", + "selected": "Ey, hätte ich nicht gedacht, dass du ein Feigling bist." + }, + "selected": "Der Mann überreicht dir zwei Flaschen und verschwindet schnell.${{selectedPokemon}} erhält {{boost1}} und {{boost2}} Nährstoffe!" + }, + "cheap_side_effects": "Aber die Medizin hatte Nebenwirkungen!$Dein {{selectedPokemon}} nimmt etwas Schaden,\nund sein Wesen wurde zu {{newNature}} geändert!", + "no_bad_effects": "Es scheint, als hätten die Nährstoffe keine Nebenwirkungen." +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/slumbering-snorlax-dialogue.json b/src/locales/de/mystery-encounters/slumbering-snorlax-dialogue.json new file mode 100644 index 00000000000..097bf3acd95 --- /dev/null +++ b/src/locales/de/mystery-encounters/slumbering-snorlax-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "Als du einen schmalen Pfad entlang gehst, siehst du eine riesige Silhouette, die deinen Weg blockiert.$Du kommst näher, um zu sehen, dass ein {{snorlaxName}} friedlich schläft.$Es scheint, als gäbe es keinen Weg daran vorbei.", + "title": "Schlafendes {{snorlaxName}}", + "description": "Du könntest es angreifen, um es zum Bewegen zu bringen, oder einfach warten, bis es aufwacht. Wer weiß, wie lange das dauern könnte...", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Kampf beginnen", + "tooltip": "(-) Schlafendes {{snorlaxName}} greift an\n(+) Spezielle Belohnung", + "selected": "Du trittst dem Pokémon ohne Furcht entgegen." + }, + "2": { + "label":"Warte, bis es sich bewegt", + "tooltip": "(-) Warte eine lange Zeit\n(+) Dein Team wird geheilt", + "selected": ".@d{32}.@d{32}.@d{32}$Du wartest sehr lange, bis das {{snorlaxName}} endlich aufwacht. Dein Team wird schläfrig...", + "rest_result": "Nachdem ihr alle aufgewacht seid, ist das {{snorlaxName}} nirgends zu finden - aber deine Pokémon sind alle geheilt!" + }, + "3": { + "label": "Klaue seine Items", + "tooltip": "(+) {{option3PrimaryName}} setzt {{option3PrimaryMove}} ein\n(+) Spezielle Belohnung", + "disabled_tooltip": "Dein Pokémon muss bestimmte Attacken beherrschen, um diese Option zu wählen.", + "selected": "Dein {{option3PrimaryName}} setzt {{option3PrimaryMove}} ein!$@s{item_fanfare}Es stiehlt die Überreste des schlafenden {{snorlaxName}}s und ihr macht euch aus dem Staub!" + } + } +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/teleporting-hijinks-dialogue.json b/src/locales/de/mystery-encounters/teleporting-hijinks-dialogue.json new file mode 100644 index 00000000000..552f082c20d --- /dev/null +++ b/src/locales/de/mystery-encounters/teleporting-hijinks-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Es ist eine seltsame Maschine, die laut summt...", + "title": "Teleportierende Streiche", + "description": "Die Maschine hat ein Schild, auf dem steht:\n\"Geld einwerfen und in die Kapsel steigen.\"\nVielleicht kann sie dich irgendwohin transportieren...", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Geld einwerfen", + "tooltip": "(-) Bezahle {{price, money}}\n(?) Teleportiere dich in ein neues Biom", + "selected": "Du wirfst etwas Geld ein, und die Kapsel öffnet sich.\nDu steigst ein..." + }, + "2": { + "label": "Ein Pokémon hilft", + "tooltip": "(-) {{option2PrimaryName}} hilft\n(+) {{option2PrimaryName}} erhält EXP\n(?) Teleportiere dich in ein neues Biom", + "disabled_tooltip": "Du brauchst ein Stahl- oder Elektro-Pokémon, um diese Option zu wählen.", + "selected": "Der Typ von {{option2PrimaryName}} ermöglicht es ihm, die Bezahlschranke der Maschine zu umgehen!$Die Kapsel öffnet sich, und du steigst ein..." + }, + "3": { + "label": "Maschine inspizieren", + "tooltip": "(-) Pokémon-Kampf", + "selected": "Du wirst von den blinkenden Lichtern und den seltsamen Geräuschen der Maschine angezogen...$Du bemerkst nicht einmal, wie ein wildes Pokémon sich anschleicht und dich überfällt!" + } + }, + "transport": "Die Maschine zittert heftig und macht seltsame Geräusche!$Kaum hat es begonnen, wird es wieder ruhig.", + "attacked": "Du trittst in eine völlig neue Gegend und erschreckst ein wildes Pokémon!$Das wilde Pokémon greift an!", + "boss_enraged": "Das wilde {{enemyPokemon}} ist wütend geworden!" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/the-expert-pokemon-breeder-dialogue.json b/src/locales/de/mystery-encounters/the-expert-pokemon-breeder-dialogue.json new file mode 100644 index 00000000000..d2fcc91d153 --- /dev/null +++ b/src/locales/de/mystery-encounters/the-expert-pokemon-breeder-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "Ein Trainer mit vielen Pokémon-Eiern!", + "intro_dialogue": "Hey Trainer!$Es sieht so aus, als ob einige deiner Pokémon sich ein wenig niedergeschlagen fühlen.$Warum kämpfst du nicht gegen mich, um sie aufzumuntern?", + "title": "Triff die Pokémon-Züchter-Expertin!", + "description": "Du wurdest zu einem Kampf herausgefordert, bei dem du nur @[TOOLTIP_TITLE]{ein einziges Pokémon verwenden darfst}. Es könnte schwierig werden, aber es würde sicherlich die Bindung vertiefen, die du mit dem Pokémon hast, das du wählst!$Wenn du gewinnst, wird die Züchterin dir einige @[TOOLTIP_TITLE]{Pokémon-Eier} geben!", + "query": "Wer wird für dich kämpfen?", + "cleffa_1_nickname": "Ass-Pii-Rin", + "cleffa_2_nickname": "Pi-mal-Daumen", + "cleffa_3_nickname": "Pii-cknick", + "option": { + "1": { + "label": "{{pokemon1Name}}", + "tooltip_base": "(-) Harter Kampf\n(+) Erhöhe Freundschaft mit {{pokemon1Name}}" + }, + "2": { + "label": "{{pokemon2Name}}", + "tooltip_base": "(-) Harter Kampf\n(+) Erhöhe Freundschaft mit {{pokemon2Name}}" + }, + "3": { + "label": "{{pokemon3Name}}", + "tooltip_base": "(-) Harter Kampf\n(+) Erhöhe Freundschaft mit {{pokemon3Name}}" + }, + "selected": "Lass uns beginnen!" + }, + "outro": "Schau wie glücklich dein {{chosenPokemon}} nun ist!$Hier, diese Pokémon-Eier kannst du auch haben.", + "outro_failed": "Wie enttäuschend...$Es sieht so aus, als hättest du noch einen langen Weg vor dir, um das Vertrauen deines Pokémon zu gewinnen!", + "gained_eggs": "@s{item_fanfare}Du erhählst {{numEggs}}!", + "eggs_tooltip": "\n(+) Erhalte {{eggs}}", + "numEggs_one": "{{count}} Ei der Stufe {{rarity}}", + "numEggs_other": "{{count}} Eier der Stufe {{rarity}}" +} diff --git a/src/locales/de/mystery-encounters/the-pokemon-salesman-dialogue.json b/src/locales/de/mystery-encounters/the-pokemon-salesman-dialogue.json new file mode 100644 index 00000000000..1e055fa5ed0 --- /dev/null +++ b/src/locales/de/mystery-encounters/the-pokemon-salesman-dialogue.json @@ -0,0 +1,23 @@ +{ + "intro": "Ein fröhlicher älterer Mann kommt auf dich zu.", + "speaker": "Reicher Mann", + "intro_dialogue": "Hallo! Ich habe ein Angebot, das du nicht ablehnen kannst!", + "title": "Der Pokémon-Verkäufer", + "description": "Dieses {{purchasePokemon}} ist extrem einzigartig und hat eine Fähigkeit, die normalerweise nicht bei seiner Art zu finden ist! Ich lasse dich dieses tolle {{purchasePokemon}} für gerade einmal {{price, money}} haben!\"\n\"Was sagst du dazu?\"", + "description_shiny": "Dieses {{purchasePokemon}} ist extrem einzigartig und hat eine Farbe, die normalerweise nicht bei seiner Art zu finden ist! Ich lasse dich dieses tolle {{purchasePokemon}} für gerade einmal {{price, money}} haben!\"\n\"Was sagst du dazu?\"", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Akzeptieren", + "tooltip": "(-) Bezahlen {{price, money}}\n(+) Erhalte ein {{purchasePokemon}} mit seiner versteckten Fähigkeit", + "tooltip_shiny": "(-) Bezahlen {{price, money}}\n(+) Erhalte ein schillerndes {{purchasePokemon}}", + "selected_message": "Du bezahlst einen unverschämten Betrag und kaufst das {{purchasePokemon}}.", + "selected_dialogue": "Ausgezeichnete Wahl!$Ich sehe, dass du ein gutes Auge für Geschäfte hast.$Oh, ja...@d{64} Rückgaben werden nicht akzeptiert, hast du das verstanden?" + }, + "2": { + "label": "Ablehnen", + "tooltip": "(-) Keine Belohnung", + "selected": "Nein?@d{32} Du sagst nein?$Ich mache das nur als Gefallen für dich!" + } + } +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/the-strong-stuff-dialogue.json b/src/locales/de/mystery-encounters/the-strong-stuff-dialogue.json new file mode 100644 index 00000000000..0fd1a7ad64f --- /dev/null +++ b/src/locales/de/mystery-encounters/the-strong-stuff-dialogue.json @@ -0,0 +1,21 @@ +{ + "intro": "Es ist ein riesiger {{shuckleName}} und ein riesiger Vorrat an... Saft?", + "title": "Das gute Zeug", + "description": "Das {{shuckleName}} das deinen Weg blockiert, sieht unglaublich stark aus. In der Zwischenzeit strahlt der Saft daneben eine Art Kraft aus.\nDas {{shuckleName}} streckt seine Fühler in deine Richtung aus. Es scheint, als wolle es etwas tun...", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Dem {{shuckleName}} näher kommen", + "tooltip": "(?) Etwas Schreckliches oder Wunderbares könnte passieren", + "selected": "Dir wird schwarz vor Augen...", + "selected_2": "@f{150}Als du aufwachst, ist das {{shuckleName}} verschwunden und der Saftvorrat komplett geleert.${{highBstPokemon1}} und {{highBstPokemon2}} fühlen eine schreckliche Lethargie über sich kommen!$Ihre Basiswerte wurden um {{reductionValue}} reduziert!$Deine verbleibenden Pokémon fühlen jedoch eine unglaubliche Vitalität!$Ihre Basiswerte werden um {{increaseValue}} erhöht!" + }, + "2": { + "label": "Das {{shuckleName}} bekämpfen", + "tooltip": "(-) Schwieriger Kampf\n(+) Spezielle Belohnungen", + "selected": "Das {{shuckleName}} wird wütend und trinkt etwas von seinem Saft, bevor es angreift!", + "stat_boost": "Der Saft des {{shuckleName}} erhöht seine Werte!" + } + }, + "outro": "Was ist hier gerade passiert?" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/the-winstrate-challenge-dialogue.json b/src/locales/de/mystery-encounters/the-winstrate-challenge-dialogue.json new file mode 100644 index 00000000000..e3d0dddd21a --- /dev/null +++ b/src/locales/de/mystery-encounters/the-winstrate-challenge-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "Eine Familie steht vor ihrem Haus!", + "speaker": "Die Sihgers", + "intro_dialogue": "Wir sind die Sihgers!$Wie wäre es, wenn du gegen unsere Familie in einer Reihe von Pokémon-Kämpfen antrittst?", + "title": "Die Sihgers-Herausforderung", + "description": "Die Sihgers sind eine Familie von 5 Trainern, und sie wollen kämpfen! Wenn du sie alle hintereinander besiegst, bekommst du einen grandiosen Preis. Aber kannst du die Hitze aushalten?", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Die Herausforderung annehmen", + "tooltip": "(-) Brutaler Kampf\n(+) Spezielle Belohnung", + "selected": "Lass die Herausforderung beginnen!" + }, + "2": { + "label": "Die Herausforderung ablehnen", + "tooltip": "(+) Team wird geheilt\n(+) Erhalte ein Supersondererbonbon", + "selected": "Das ist zu schade. Dein Team sieht ziemlich mitgenommen aus, warum ruhst du dich nicht eine Weile aus?" + } + }, + "victory": "Glückwunsch, du hast unsere Herausforderung gemeistert!$Zuerst möchten wir dir diesen Gutschein geben.", + "victory_2": "Außerdem benutzt unsere Familie diese Machoschiene, um unsere Pokémon effektiver zu tranieren.$Du brauchst es vielleicht nicht, da du uns alle geschlagen hast, aber wir hoffen, dass du es trotzdem annimmst!" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/training-session-dialogue.json b/src/locales/de/mystery-encounters/training-session-dialogue.json new file mode 100644 index 00000000000..f7d22ef6deb --- /dev/null +++ b/src/locales/de/mystery-encounters/training-session-dialogue.json @@ -0,0 +1,33 @@ +{ + "intro": "Du stolperst über einige Trainingsutensilien und Vorräte.", + "title": "Traningssitzung", + "description": "Diese Vorräte sehen so aus, als könnten sie verwendet werden, um ein Mitglied deines Teams zu trainieren! Es gibt ein paar Möglichkeiten, wie du dein Pokémon trainieren könntest, indem du gegen es mit dem Rest deines Teams kämpfst.", + "query": "Wie möchtest du trainieren?", + "invalid_selection": "Pokémon muss genügend KP haben.", + "option": { + "1": { + "label": "Leichtes Training", + "tooltip": "(-) Leichter Kampf\n(+) Verbessere 2 zufällige IS-Werte des Pokémon", + "finished": "{{selectedPokemon}} kommt zurück, fühlt sich erschöpft aber zufrieden!$Seine {{stat1}} und {{stat2}} IS-Werte wurden verbessert!" + }, + "2": { + "label": "Moderates Training", + "tooltip": "(-) Moderater Kampf\n(+) Ändere das Wesen des Pokémon", + "select_prompt": "Wähle ein neues Wesen aus, um dein Pokémon zu trainieren.", + "finished": "{{selectedPokemon}} kehrt zurück, fühlt sich erschöpft aber zufrieden!$Es hat nun ein neues Wesen: {{nature}}!" + }, + "3": { + "label": "Schweres Training", + "tooltip": "(-) Harter Kampf\n(+) Ändere die Fähigkeit des Pokémon", + "select_prompt": "Wähle eine neue Fähigkeit aus, um dein Pokémon zu trainieren.", + "finished": "{{selectedPokemon}} kehrt zurück, fühlt sich erschöpft aber zufrieden!$Seine Fähigkeit wurde zu {{ability}} geändert!" + }, + "4": { + "label": "Weggehen", + "tooltip": "(-) Keine Belohnung", + "selected": "Du hast keine Zeit für Training und gehst weiter." + }, + "selected": "{{selectedPokemon}} bewegt sich über die Lichtung, um dir gegenüberzutreten..." + }, + "outro": "Das war eine erfolgreiche Trainingssitzung!" +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/trash-to-treasure-dialogue.json b/src/locales/de/mystery-encounters/trash-to-treasure-dialogue.json new file mode 100644 index 00000000000..da744ccb697 --- /dev/null +++ b/src/locales/de/mystery-encounters/trash-to-treasure-dialogue.json @@ -0,0 +1,20 @@ +{ + "intro":"Ein riesieger Haufen Müll. Wo kommt der auf einmal her?", + "title": "Vom Müllhaufen zum Schatzhaufen", + "description": "Der Müllberg ragt über dir auf und du kannst einige wertvolle Gegenstände im Müll entdecken. Bist du sicher, dass du dich in den Dreck wälzen willst, um sie zu bekommen?", + "query": "Was willst du tun?", + "option": { + "1": { + "label": "Nach Wertsachen suchen", + "tooltip": "(-) Heilitems kosten ab jetzt das Dreifache\n(+) Erhalte tolle Items", + "selected": "Du arbeitest dich durch den Müllhaufen und wirst von Dreck überzogen.$Kein respektabler Ladenbesitzer wird dir in deinem schmutzigen Zustand etwas verkaufen!$Aber es gibt ja auch andere... weniger respektable.$Natürlich verlangen sie höhere Preise.$Aber du hast einige unglaubliche Items im Müll gefunden!" + + }, + "2": { + "label": "Genauer untersuchen", + "tooltip": "(?) Finde die Quelle des Mülls", + "selected": "Du wanderst um den Müllhaufen herum und suchst nach Hinweisen, wie dieser hier gelandet sein könnte...", + "selected_2": "Der Müll bewegt sich! Es war nicht nur Müll, es war ein Pokémon!" + } + } +} diff --git a/src/locales/de/mystery-encounters/uncommon-breed-dialogue.json b/src/locales/de/mystery-encounters/uncommon-breed-dialogue.json new file mode 100644 index 00000000000..efd5ff52e16 --- /dev/null +++ b/src/locales/de/mystery-encounters/uncommon-breed-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Das ist kein gewöhnliches Pokémon!", + "title": "Ungewöhnliche Züchtung", + "description": "Das {{enemyPokemon}} sieht im Vergleich zu anderen seiner Art besonders aus. @[TOOLTIP_TITLE]{Vielleicht kennt es einen besondere Attacke?} Du könntest es einfach bekämpfen und fangen, aber es gibt vielleicht auch eine Möglichkeit, es zu befreunden.", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "Kampf beginnen", + "tooltip": "(-) Schwieriger Kampf\n(+) Starkes fangbares Pokémon", + "selected": "Du stellst dich dem {{enemyPokemon}} ohne Furcht.", + "stat_boost": "Die gesteigerten Fähigkeiten des {{enemyPokemon}} erhöhen seine Werte!" + }, + "2": { + "label": "Ihm Futter geben", + "disabled_tooltip": "Du brauchst 4 Beeren, um diese Option zu wählen", + "tooltip": "(-) Gib 4 Beeren\n(+) Das {{enemyPokemon}} mag dich", + "selected": "Du wirfst die Beeren zu {{enemyPokemon}}!$Es frisst sie glücklich!$Das {{enemyPokemon}} möchte sich dir anschließen!" + }, + "3": { + "label": "Es befreunden", + "disabled_tooltip": "Dein Pokémon muss bestimmte Attacken kennen, um diese Option zu wählen", + "tooltip": "(+) {{option3PrimaryName}} setzt {{option3PrimaryMove}} ein\n(+) Das {{enemyPokemon}} mag dich", + "selected": "Dein {{option3PrimaryName}} setzt {{option3PrimaryMove}} ein, um das {{enemyPokemon}} zu bezaubern!$Das {{enemyPokemon}} möchte sich dir anschließen!" + } + } +} \ No newline at end of file diff --git a/src/locales/de/mystery-encounters/weird-dream-dialogue.json b/src/locales/de/mystery-encounters/weird-dream-dialogue.json new file mode 100644 index 00000000000..11fe3b4078c --- /dev/null +++ b/src/locales/de/mystery-encounters/weird-dream-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "Eine schemenhafte Frau versperrt dir den Weg. Irgendetwas an ihr ist beunruhigend...", + "speaker": "Frau", + "intro_dialogue": "Ich habe deine Zukünfte gesehen, deine Vergangenheiten...$Siehst du sie auch?", + "title": "???", + "description": "Die Worte der Frau hallen in deinem Kopf wider. Es war nicht nur eine einzelne Stimme, sondern eine unendliche Vielzahl aus allen Zeiten und Realitäten. Dir wird schwindelig, die Frage bleibt in deinem Kopf hängen...\n@[TOOLTIP_TITLE]{\"Ich habe deine Zukünfte gesehen, deine Vergangenheiten...Siehst du sie auch?\"}", + "query": "Was wirst du tun?", + "option": { + "1": { + "label": "\"Ich sehe sie\"", + "tooltip": "@[SUMMARY_GREEN]{(?) Beeinflusst deine Pokémon}", + "selected": "Ihre Hand berührt dich und alles wird schwarz.$Dann...@d{64} Du siehst alles. Jede Zeitlinie, all deine verschiedenen Ichs, Vergangenheit und Zukunft.$Alles, was dich ausmacht, alles, was du sein wirst...@d{64}", + "cutscene": "Du siehst deine Pokémon,@d{32} wie sie sich aus jeder Realität vereinen, um etwas Neues zu werden...@d{64}", + "dream_complete": "Als du erwachst, ist die Frau - war es eine Frau oder ein Geist? - verschwunden...$.@d{32}.@d{32}.@d{32}$Dein Pokémon-Team hat sich verändert... Oder ist es das gleiche Team, das du schon immer hattest?" + }, + "2": { + "label": "Schnell wegrennen", + "tooltip": "(-) Beeinflusst deine Pokémon", + "selected": "Du reißt deinen Geist aus einem betäubenden Griff und fliehst hastig.$Als du schließlich anhältst, um dich zu sammeln, überprüfst du die Pokémon in deinem Team.$Aus irgendeinem Grund hat sich das Level aller Pokémon verringert!" + } + } +} \ No newline at end of file diff --git a/src/locales/de/party-ui-handler.json b/src/locales/de/party-ui-handler.json index fb5a5207569..8c662ef2b78 100644 --- a/src/locales/de/party-ui-handler.json +++ b/src/locales/de/party-ui-handler.json @@ -15,6 +15,7 @@ "UNPAUSE_EVOLUTION": "Entwicklung fortsetzen", "REVIVE": "Wiederbeleben", "RENAME": "Umbenennen", + "SELECT": "Auswählen", "choosePokemon": "Wähle ein Pokémon.", "doWhatWithThisPokemon": "Was soll mit diesem Pokémon geschehen?", "noEnergy": "{{pokemonName}} ist nicht fit genug, um zu kämpfen!", @@ -44,4 +45,4 @@ "untilWeMeetAgain": "Bis wir uns wiedersehen, {{pokemonName}}!", "sayonara": "Sayonara, {{pokemonName}}!", "smellYaLater": "Also dann, man riecht sich! Ciao!, {{pokemonName}}!" -} \ No newline at end of file +} diff --git a/src/locales/de/trainer-names.json b/src/locales/de/trainer-names.json index e3430f2b283..c722263ff55 100644 --- a/src/locales/de/trainer-names.json +++ b/src/locales/de/trainer-names.json @@ -167,5 +167,19 @@ "alder_iris_double": "Lauro & Lilia", "iris_alder_double": "Lilia & Lauro", "piers_marnie_double": "Nezz & Mary", - "marnie_piers_double": "Mary & Nezz" + "marnie_piers_double": "Mary & Nezz", + + "buck": "Avenaro", + "cheryl": "Raissa", + "marley": "Charlie", + "mira": "Orisa", + "riley": "Urs", + "victor": "Viktor", + "victoria": "Viktoria", + "vivi": "Sieglinde", + "vicky": "Vicky", + "vito": "Paul", + "bug_type_superfan": "Käfersammler-Superfan", + "expert_pokemon_breeder": "Pokémon-Züchter-Expertin" + } diff --git a/src/locales/de/trainer-titles.json b/src/locales/de/trainer-titles.json index 2a270226463..ed82d6dc458 100644 --- a/src/locales/de/trainer-titles.json +++ b/src/locales/de/trainer-titles.json @@ -35,5 +35,7 @@ "aether_admin": "Æther-Regionalleiter", "skull_admin": "Team Skull Vorstand", "macro_admin": "Vizepräsidentin von Macro Cosmos", - "star_admin": "Team Star Boss" + "star_admin": "Team Star Boss", + + "the_winstrates": "Sihgers" } diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index 35eef91e2ad..6958c579dd5 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -55,36 +55,36 @@ import moveTriggers from "./move-trigger.json"; import runHistory from "./run-history.json"; import mysteryEncounterMessages from "./mystery-encounter-messages.json"; import lostAtSea from "./mystery-encounters/lost-at-sea-dialogue.json"; -import mysteriousChest from "#app/locales/en/mystery-encounters/mysterious-chest-dialogue.json"; -import mysteriousChallengers from "#app/locales/en/mystery-encounters/mysterious-challengers-dialogue.json"; -import darkDeal from "#app/locales/en/mystery-encounters/dark-deal-dialogue.json"; -import departmentStoreSale from "#app/locales/en/mystery-encounters/department-store-sale-dialogue.json"; -import fieldTrip from "#app/locales/en/mystery-encounters/field-trip-dialogue.json"; -import fieryFallout from "#app/locales/en/mystery-encounters/fiery-fallout-dialogue.json"; -import fightOrFlight from "#app/locales/en/mystery-encounters/fight-or-flight-dialogue.json"; -import safariZone from "#app/locales/en/mystery-encounters/safari-zone-dialogue.json"; -import shadyVitaminDealer from "#app/locales/en/mystery-encounters/shady-vitamin-dealer-dialogue.json"; -import slumberingSnorlax from "#app/locales/en/mystery-encounters/slumbering-snorlax-dialogue.json"; -import trainingSession from "#app/locales/en/mystery-encounters/training-session-dialogue.json"; -import theStrongStuff from "#app/locales/en/mystery-encounters/the-strong-stuff-dialogue.json"; -import pokemonSalesman from "#app/locales/en/mystery-encounters/the-pokemon-salesman-dialogue.json"; -import offerYouCantRefuse from "#app/locales/en/mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; -import delibirdy from "#app/locales/en/mystery-encounters/delibirdy-dialogue.json"; -import absoluteAvarice from "#app/locales/en/mystery-encounters/absolute-avarice-dialogue.json"; -import aTrainersTest from "#app/locales/en/mystery-encounters/a-trainers-test-dialogue.json"; -import trashToTreasure from "#app/locales/en/mystery-encounters/trash-to-treasure-dialogue.json"; -import berriesAbound from "#app/locales/en/mystery-encounters/berries-abound-dialogue.json"; -import clowningAround from "#app/locales/en/mystery-encounters/clowning-around-dialogue.json"; -import partTimer from "#app/locales/en/mystery-encounters/part-timer-dialogue.json"; -import dancingLessons from "#app/locales/en/mystery-encounters/dancing-lessons-dialogue.json"; -import weirdDream from "#app/locales/en/mystery-encounters/weird-dream-dialogue.json"; -import theWinstrateChallenge from "#app/locales/en/mystery-encounters/the-winstrate-challenge-dialogue.json"; -import teleportingHijinks from "#app/locales/en/mystery-encounters/teleporting-hijinks-dialogue.json"; -import bugTypeSuperfan from "#app/locales/en/mystery-encounters/bug-type-superfan-dialogue.json"; -import funAndGames from "#app/locales/en/mystery-encounters/fun-and-games-dialogue.json"; -import uncommonBreed from "#app/locales/en/mystery-encounters/uncommon-breed-dialogue.json"; -import globalTradeSystem from "#app/locales/en/mystery-encounters/global-trade-system-dialogue.json"; -import expertPokemonBreeder from "#app/locales/en/mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; +import mysteriousChest from "./mystery-encounters/mysterious-chest-dialogue.json"; +import mysteriousChallengers from "./mystery-encounters/mysterious-challengers-dialogue.json"; +import darkDeal from "./mystery-encounters/dark-deal-dialogue.json"; +import departmentStoreSale from "./mystery-encounters/department-store-sale-dialogue.json"; +import fieldTrip from "./mystery-encounters/field-trip-dialogue.json"; +import fieryFallout from "./mystery-encounters/fiery-fallout-dialogue.json"; +import fightOrFlight from "./mystery-encounters/fight-or-flight-dialogue.json"; +import safariZone from "./mystery-encounters/safari-zone-dialogue.json"; +import shadyVitaminDealer from "./mystery-encounters/shady-vitamin-dealer-dialogue.json"; +import slumberingSnorlax from "./mystery-encounters/slumbering-snorlax-dialogue.json"; +import trainingSession from "./mystery-encounters/training-session-dialogue.json"; +import theStrongStuff from "./mystery-encounters/the-strong-stuff-dialogue.json"; +import pokemonSalesman from "./mystery-encounters/the-pokemon-salesman-dialogue.json"; +import offerYouCantRefuse from "./mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; +import delibirdy from "./mystery-encounters/delibirdy-dialogue.json"; +import absoluteAvarice from "./mystery-encounters/absolute-avarice-dialogue.json"; +import aTrainersTest from "./mystery-encounters/a-trainers-test-dialogue.json"; +import trashToTreasure from "./mystery-encounters/trash-to-treasure-dialogue.json"; +import berriesAbound from "./mystery-encounters/berries-abound-dialogue.json"; +import clowningAround from "./mystery-encounters/clowning-around-dialogue.json"; +import partTimer from "./mystery-encounters/part-timer-dialogue.json"; +import dancingLessons from "./mystery-encounters/dancing-lessons-dialogue.json"; +import weirdDream from "./mystery-encounters/weird-dream-dialogue.json"; +import theWinstrateChallenge from "./mystery-encounters/the-winstrate-challenge-dialogue.json"; +import teleportingHijinks from "./mystery-encounters/teleporting-hijinks-dialogue.json"; +import bugTypeSuperfan from "./mystery-encounters/bug-type-superfan-dialogue.json"; +import funAndGames from "./mystery-encounters/fun-and-games-dialogue.json"; +import uncommonBreed from "./mystery-encounters/uncommon-breed-dialogue.json"; +import globalTradeSystem from "./mystery-encounters/global-trade-system-dialogue.json"; +import expertPokemonBreeder from "./mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; /** * Dialogue/Text token injection patterns that can be used: diff --git a/src/locales/es/achv.json b/src/locales/es/achv.json index 14501dbdb6b..b66650ee137 100644 --- a/src/locales/es/achv.json +++ b/src/locales/es/achv.json @@ -174,5 +174,9 @@ "INVERSE_BATTLE": { "name": "Espejo ojepsE", "description": "Completa el reto de Combate Inverso.\n.osrevnI etabmoC ed oter le atelpmoC" + }, + "BREEDERS_IN_SPACE": { + "name": "¡Criapokémon en el Espacio!", + "description": "Derrota al Criapokémon Experto en el Bioma Espacial." } } diff --git a/src/locales/es/battle.json b/src/locales/es/battle.json index 54d8006f923..42c1346c118 100644 --- a/src/locales/es/battle.json +++ b/src/locales/es/battle.json @@ -14,6 +14,10 @@ "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", @@ -49,6 +53,7 @@ "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 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!", @@ -96,6 +101,7 @@ "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": "¿Que es esto?", "battlerTagsHealBlock": "¡{{pokemonNameWithAffix}} no puede restaurar sus PS!", "battlerTagsHealBlockOnRemove": "¡{{pokemonNameWithAffix}} ya puede recuperar PS!" } diff --git a/src/locales/es/bgm-name.json b/src/locales/es/bgm-name.json index 0f261bbd563..1def3575a6d 100644 --- a/src/locales/es/bgm-name.json +++ b/src/locales/es/bgm-name.json @@ -145,5 +145,11 @@ "encounter_youngster": "BW - ¡Vs. chico joven!", "heal": "BW - Cura Pokémon", "menu": "PMD EoS - ¡Bienvenidos al mundo de los Pokémon!", - "title": "PMD EoS - Tema del menú principal" + "title": "PMD EoS - Tema del menú principal", + + "mystery_encounter_weird_dream": "PMM EdC Pináculo del Tiempo", + "mystery_encounter_fun_and_games": "PMM EdC Gran Bluff", + "mystery_encounter_gen_5_gts": "BN GTS", + "mystery_encounter_gen_6_gts": "XY GTS", + "mystery_encounter_delibirdy": "Firel - DeliDelivery!" } diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index 8f75c08f3f6..28d9a2d9346 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -53,7 +53,49 @@ import terrain from "./terrain.json"; import modifierSelectUiHandler from "./modifier-select-ui-handler.json"; import moveTriggers from "./move-trigger.json"; import runHistory from "./run-history.json"; +import mysteryEncounterMessages from "./mystery-encounter-messages.json"; +import lostAtSea from "./mystery-encounters/lost-at-sea-dialogue.json"; +import mysteriousChest from "./mystery-encounters/mysterious-chest-dialogue.json"; +import mysteriousChallengers from "./mystery-encounters/mysterious-challengers-dialogue.json"; +import darkDeal from "./mystery-encounters/dark-deal-dialogue.json"; +import departmentStoreSale from "./mystery-encounters/department-store-sale-dialogue.json"; +import fieldTrip from "./mystery-encounters/field-trip-dialogue.json"; +import fieryFallout from "./mystery-encounters/fiery-fallout-dialogue.json"; +import fightOrFlight from "./mystery-encounters/fight-or-flight-dialogue.json"; +import safariZone from "./mystery-encounters/safari-zone-dialogue.json"; +import shadyVitaminDealer from "./mystery-encounters/shady-vitamin-dealer-dialogue.json"; +import slumberingSnorlax from "./mystery-encounters/slumbering-snorlax-dialogue.json"; +import trainingSession from "./mystery-encounters/training-session-dialogue.json"; +import theStrongStuff from "./mystery-encounters/the-strong-stuff-dialogue.json"; +import pokemonSalesman from "./mystery-encounters/the-pokemon-salesman-dialogue.json"; +import offerYouCantRefuse from "./mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; +import delibirdy from "./mystery-encounters/delibirdy-dialogue.json"; +import absoluteAvarice from "./mystery-encounters/absolute-avarice-dialogue.json"; +import aTrainersTest from "./mystery-encounters/a-trainers-test-dialogue.json"; +import trashToTreasure from "./mystery-encounters/trash-to-treasure-dialogue.json"; +import berriesAbound from "./mystery-encounters/berries-abound-dialogue.json"; +import clowningAround from "./mystery-encounters/clowning-around-dialogue.json"; +import partTimer from "./mystery-encounters/part-timer-dialogue.json"; +import dancingLessons from "./mystery-encounters/dancing-lessons-dialogue.json"; +import weirdDream from "./mystery-encounters/weird-dream-dialogue.json"; +import theWinstrateChallenge from "./mystery-encounters/the-winstrate-challenge-dialogue.json"; +import teleportingHijinks from "./mystery-encounters/teleporting-hijinks-dialogue.json"; +import bugTypeSuperfan from "./mystery-encounters/bug-type-superfan-dialogue.json"; +import funAndGames from "./mystery-encounters/fun-and-games-dialogue.json"; +import uncommonBreed from "./mystery-encounters/uncommon-breed-dialogue.json"; +import globalTradeSystem from "./mystery-encounters/global-trade-system-dialogue.json"; +import expertPokemonBreeder from "./mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; +/** + * Dialogue/Text token injection patterns that can be used: + * - `$` will be treated as a new line for Message and Dialogue strings. + * - `@d{}` will add a time delay to text animation for Message and Dialogue strings. + * - `@s{}` will play a specified sound effect for Message and Dialogue strings. + * - `@f{}` will fade the screen to black for the given duration, then fade back in for Message and Dialogue strings. + * - `{{}}` (MYSTERY ENCOUNTERS ONLY) will auto-inject the matching dialogue token value that is stored in {@link IMysteryEncounter.dialogueTokens}. + * - (see [i18next interpolations](https://www.i18next.com/translation-function/interpolation)) for more details. + * - `@[]{}` (STATIC TEXT ONLY, NOT USEABLE WITH {@link UI.showText()} OR {@link UI.showDialogue()}) will auto-color the given text to a specified {@link TextStyle} (e.g. `TextStyle.SUMMARY_GREEN`). + */ export const esConfig = { ability, abilityTriggers, @@ -109,5 +151,41 @@ export const esConfig = { partyUiHandler, modifierSelectUiHandler, moveTriggers, - runHistory + runHistory, + mysteryEncounter: { + // DO NOT REMOVE + "unit_test_dialogue": "{{test}}{{test}} {{test{{test}}}} {{test1}} {{test\}} {{test\\}} {{test\\\}} {test}}", + mysteriousChallengers, + mysteriousChest, + darkDeal, + fightOrFlight, + slumberingSnorlax, + trainingSession, + departmentStoreSale, + shadyVitaminDealer, + fieldTrip, + safariZone, + lostAtSea, + fieryFallout, + theStrongStuff, + pokemonSalesman, + offerYouCantRefuse, + delibirdy, + absoluteAvarice, + aTrainersTest, + trashToTreasure, + berriesAbound, + clowningAround, + partTimer, + dancingLessons, + weirdDream, + theWinstrateChallenge, + teleportingHijinks, + bugTypeSuperfan, + funAndGames, + uncommonBreed, + globalTradeSystem, + expertPokemonBreeder + }, + mysteryEncounterMessages }; diff --git a/src/locales/es/dialogue.json b/src/locales/es/dialogue.json index cbd7dbf39ad..4e10b17dfd8 100644 --- a/src/locales/es/dialogue.json +++ b/src/locales/es/dialogue.json @@ -48,5 +48,115 @@ "defeat": { "1": "¡Todo lo que quiero es a esta preciosa criatura! ¡Los demás no me importáis!" } + }, + "stat_trainer_buck": { + "encounter": { + "1": "Para que luego no digas que no te he advertido: soy muy fuerte.", + "2": "¡Noto cómo tiemblan mis Pokémon dentro de sus Poké Balls!" + }, + "victory": { + "1": "¡Je, je, je!\n¡Eres una máquina!", + "2": "¡Je, je, je!\n¡Eres una máquina!" + }, + "defeat": { + "1": "¡Vaya! supongo que te quedaste sin fuerzas.", + "2": "¡Vaya! supongo que te quedaste sin fuerzas." + } + }, + "stat_trainer_cheryl": { + "encounter": { + "1": "Mis Pokémon han estado deseando una batalla.", + "2": "Debería advertirte de que mis Pokémon son un poco... hiperactivos." + }, + "victory": { + "1": "No es fácil encontrar el equilibrio entre ataque y defensa...", + "2": "No es fácil encontrar el equilibrio entre ataque y defensa..." + }, + "defeat": { + "1": "Necesitas curar a tus Pokémon?", + "2": "Necesitas curar a tus Pokémon?" + } + }, + "stat_trainer_marley": { + "encounter": { + "1": "... Vale.\n¡Voy a esforzarme al máximo!", + "2": "... Vale.\nNo... perderé... !" + }, + "victory": { + "1": "... ¡Eeeh!", + "2": "... ¡Eeeh!" + }, + "defeat": { + "1": "... Adiós.", + "2": "... Adiós." + } + }, + "stat_trainer_mira": { + "encounter": { + "1": "Serás sorprendido por Maiza!", + "2": "¡Maiza te mostrará que Mira ya no se pierde!" + }, + "victory": { + "1": "Maiza se pregunta si puede llegar muy lejos en esta tierra.", + "2": "Maiza se pregunta si puede llegar muy lejos en esta tierra." + }, + "defeat": { + "1": "¡Maiza sabía que ganaría!", + "2": "¡Maiza sabía que ganaría!" + } + }, + "stat_trainer_riley": { + "encounter": { + "1": "¡Combatir es nuestra manera de saludarnos!", + "2": "Vamos a hacer lo imposible por derrotar a tu equipo." + }, + "victory": { + "1": "A veces combatimos entre nosotros y otras veces unimos fuerzas.$Es maravilloso ser entrenador.", + "2": "A veces combatimos entre nosotros y otras veces unimos fuerzas.$Es maravilloso ser entrenador." + }, + "defeat": { + "1": "Vaya demostración pusiste.\nMejor suerte la próxima vez.", + "2": "Vaya demostración pusiste.\nMejor suerte la próxima vez." + } + }, + "winstrates_victor": { + "encounter": { + "1": "¡Qué entusiasmo! ¡Así me gusta!" + }, + "victory": { + "1": "¡Ayyy! ¡Eres más fuerte de lo que pensaba!" + } + }, + "winstrates_victoria": { + "encounter": { + "1": "Huy, huy, huy... ¡Qué joven eres!$Pero le has dado una buena tunda a mi marido...$No hay que fiarse...¡Lucha ahora contra mí!" + }, + "victory": { + "1": "¡Ay! ¡No puedo creer que seas tan fuerte!" + } + }, + "winstrates_vivi": { + "encounter": { + "1": "¿Eres más fuerte que mamá? ¡Halaaa!$¡Pero yo también soy fuerte!\n¡Ahora vas a ver!" + }, + "victory": { + "1": "Pero... ¿he perdido?\nSnif, snif... ¡Abuelitaaa!" + } + }, + "winstrates_vicky": { + "encounter": { + "1": "¿Cómo te atreves a hacer llorar a mi nieta? ¡Voy a echarle un buen rapapolvo a tu equipo Pokémon! ¡Vas a ver lo que es bueno!" + }, + "victory": { + "1": "¡Jarl! Eres fuerte...\nLos demás tenían razón..." + } + }, + "winstrates_vito": { + "encounter": { + "1": "He entrenado con toda mi familia,\ntoda enterita.$¡No voy a perder!" + }, + "victory": { + "1": "Logré superar a toda mi familia.\nNunca había perdido..." + } } } diff --git a/src/locales/es/egg.json b/src/locales/es/egg.json index 2542d577323..8ee29c582fd 100644 --- a/src/locales/es/egg.json +++ b/src/locales/es/egg.json @@ -11,6 +11,7 @@ "gachaTypeLegendary": "Mayor tasa de Legendario", "gachaTypeMove": "Mayor tasa de Movimiento Huevo Raro", "gachaTypeShiny": "Mayor tasa de Shiny", + "eventType": "Evento Misterioso", "selectMachine": "Seleccione una máquina.", "notEnoughVouchers": "¡No tienes suficientes vales!", "tooManyEggs": "¡No tienes suficiente espacio!", diff --git a/src/locales/es/modifier-select-ui-handler.json b/src/locales/es/modifier-select-ui-handler.json index 7adcb885c9e..1ad07d2316b 100644 --- a/src/locales/es/modifier-select-ui-handler.json +++ b/src/locales/es/modifier-select-ui-handler.json @@ -8,5 +8,7 @@ "lockRaritiesDesc": "Bloquea las rarezas de los objetos al actualizar (afecta el costo de actualización).", "checkTeamDesc": "Revisa tu equipo o usa un objeto que cambia de forma.", "rerollCost": "{{formattedMoney}} ₽", - "itemCost": "{{formattedMoney}} ₽" -} \ No newline at end of file + "itemCost": "{{formattedMoney}} ₽", + "continueNextWaveButton": "Continuar", + "continueNextWaveDescription": "Continuar a la siguiente ronda" +} diff --git a/src/locales/es/modifier-type.json b/src/locales/es/modifier-type.json index 3ac4d85f793..472a28c77a0 100644 --- a/src/locales/es/modifier-type.json +++ b/src/locales/es/modifier-type.json @@ -68,6 +68,20 @@ "BaseStatBoosterModifierType": { "description": "Aumenta la est. {{stat}} base del portador en un 10%.\nCuanto mayores sean tus IVs, mayor será el límite de acumulación." }, + "PokemonBaseStatTotalModifierType": { + "name": "Jugo de Shuckle", + "description": "{{increaseDecrease}} todas las estadísticas base del portador en {{statValue}}. Fuiste {{blessCurse}} por el Shuckle.", + "extra": { + "increase": "Aumenta", + "decrease": "Disminuye", + "blessed": "bendecido", + "cursed": "maldecido" + } + }, + "PokemonBaseStatFlatModifierType": { + "name": "Tarta Vieja", + "description": "Aumenta las estadísticas base de {{stats}} del portador en {{statValue}}. Encontrado después de un sueño extraño." + }, "AllPokemonFullHpRestoreModifierType": { "description": "Restaura el 100% de los PS de todos los Pokémon." }, @@ -401,7 +415,13 @@ "ENEMY_FUSED_CHANCE": { "name": "Ficha fusión", "description": "Agrega un 1% de probabilidad de que un Pokémon salvaje sea una fusión." - } + }, + + "MYSTERY_ENCOUNTER_SHUCKLE_JUICE": { "name": "Jugo de Shuckle" }, + "MYSTERY_ENCOUNTER_BLACK_SLUDGE": { "name": "Lodo Negro", "description": "El hedor es tan poderoso que las tiendas solo te venderán artículos a un coste mucho más alto" }, + "MYSTERY_ENCOUNTER_MACHO_BRACE": { "name": "Brazal Firme", "description": "Derrotar a un Pokémon otorga al poseedor una pila de Brazal Firme. Cada pila aumenta ligeramente las estadísticas, con un bono extra al alcanzar el máximo de pilas." }, + "MYSTERY_ENCOUNTER_OLD_GATEAU": { "name": "Tarta Vieja", "description": "Aumenta las estadísticas de {{stats}} del portador en {{statValue}}." }, + "MYSTERY_ENCOUNTER_GOLDEN_BUG_NET": { "name": "Cazamariposas Dorado", "description": "Imbuye al dueño con suerte para encontrar Pokémon de tipo Bicho más a menudo. Tiene un peso extraño." } }, "SpeciesBoosterItem": { "LIGHT_BALL": { diff --git a/src/locales/es/mystery-encounter-messages.json b/src/locales/es/mystery-encounter-messages.json new file mode 100644 index 00000000000..8d7d98bdd0f --- /dev/null +++ b/src/locales/es/mystery-encounter-messages.json @@ -0,0 +1,7 @@ +{ + "paid_money": "Pagaste {{amount, number}}₽.", + "receive_money": "¡Recibiste {{amount, number}}₽!", + "affects_pokedex": "Afecta los datos de la Pokédex", + "cancel_option": "Volver a la selección de opciones", + "view_party_button": "Ver equipo" +} diff --git a/src/locales/es/mystery-encounters/a-trainers-test-dialogue.json b/src/locales/es/mystery-encounters/a-trainers-test-dialogue.json new file mode 100644 index 00000000000..bc100f60454 --- /dev/null +++ b/src/locales/es/mystery-encounters/a-trainers-test-dialogue.json @@ -0,0 +1,47 @@ +{ + "intro": "Un entrenador extremadamente fuerte se te acerca...", + "buck": { + "intro_dialogue": "¡Hola, entrenador! Me llamo Bulgur.$Tengo una propuesta súper genial para un entrenador fuerte como tú.$Llevo conmigo dos Huevos Pokémon raros, pero me gustaría que alguien más cuidara uno.$Si puedes demostrarme tu fuerza como entrenador, ¡te daré el huevo más raro", + "accept": "¡Guau!¡Este combate promete!", + "decline": "Vaya, parece que tu equipo no está en condiciones óptimas.$Aquí, déjame ayudarte con eso." + }, + "cheryl": { + "intro_dialogue": "Hola, me llamo Malta.$Tengo una petición particularmente interesante para un entrenador fuerte como tú.$Llevo conmigo dos Huevos Pokémon raros, pero me gustaría que alguien más cuidara uno.$Si puedes demostrarme tu fuerza como entrenador, ¡te daré el Huevo más raro!", + "accept": "¡Espero que estés listo!", + "decline": "Entiendo, parece que tu equipo no está en las mejores condiciones en este momento.$Aquí, déjame ayudar con eso." + }, + "marley": { + "intro_dialogue": "...@d{64} Soy Sémola.$Tengo una oferta para ti...$Llevo conmigo dos Huevos Pokémon, pero me gustaría que alguien más cuidara uno.$Si eres más fuerte que yo, te daré el Huevo más raro.", + "accept": "... Ya veo.", + "decline": "... Ya veo.$Tus Pokémon parecen heridos… Déjame ayudarte." + }, + "mira": { + "intro_dialogue": "¡Hola! Soy Maiza. Maiza tiene una petición para un entrenador fuerte como tú. Maiza tiene dos Huevos Pokémon raros, pero quiere que alguien más se quede con uno. Si le demuestras a Maiza que eres fuerte,¡Maiza te dará el Huevo más raro!", + "accept": "¿Vas a luchar contra Maiza?\n¡Genial!", + "decline": "Vaya, ¿no hay batalla? ¡Está bien! Aquí, Maiza curará a tu equipo." + }, + "riley": { + "intro_dialogue": "Soy Quinoa.$Tengo una propuesta extraña para un entrenador fuerte como tú.$Llevo conmigo dos Huevos Pokémon raros, pero me gustaría darle uno a otro entrenador.$Si puedes demostrarme tu fuerza, te daré el Huevo más raro.", + "accept": "Esa mirada que tienes...\nhagamos esto..", + "decline": "Entiendo, tu equipo parece agotado.$Aquí, déjame ayudarte con eso." + }, + "title": "Una Prueba de Entrenador", + "description": "Parece que este entrenador está dispuesto a darte un Huevo sin importar tu decisión. Sin embargo, si logras derrotar a este entrenador fuerte, recibirás un Huevo mucho más raro.", + "query": "¿Qué harás?", + "option": { + "1": { + "label": "Aceptar el Desafío", + "tooltip": "(-) Batalla Ardua\n(+) Obtén un @[TOOLTIP_TITLE]{Huevo muy raro}" + }, + "2": { + "label": "Rechazar el Desafío", + "tooltip": "(+) Equipo Curado\n(+) Obtén un @[TOOLTIP_TITLE]{Huevo}" + } + }, + "eggTypes": { + "rare": "un huevo Raro", + "epic": "un huavo Épico", + "legendary": "un huevo Legendario " + }, + "outro": "{{statTrainerName}} te dio {{eggType}}!" +} diff --git a/src/locales/es/mystery-encounters/absolute-avarice-dialogue.json b/src/locales/es/mystery-encounters/absolute-avarice-dialogue.json new file mode 100644 index 00000000000..f3700c1d60b --- /dev/null +++ b/src/locales/es/mystery-encounters/absolute-avarice-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "¡Un {{greedentName}} te embosca y roba las bayas de tu equipo!", + "title": "Avaricia Absoluta", + "description": "¡Un {{greedentName}} te ha tomado completamente por sorpresa y ahora todas tus bayas han desaparecido! El {{greedentName}} parece que está a punto de comérselas cuando se detiene para mirarte, interesado.", + "query": "¿Qué harás?", + "option": { + "1": { + "label": "Combatir", + "tooltip": "(-) Batalla Ardua\n(+) Recompensas de su Alijo de Bayas", + "selected": "El {{greedentName}} llena sus mejillas y se prepara para la batalla!", + "boss_enraged": "¡El feroz amor de {{greedentName}} por la comida lo tiene enfurecido!", + "food_stash": "¡Parece que el {{greedentName}} estaba protegiendo un enorme alijo de comida!$@s{item_fanfare}¡Cada Pokémon en tu grupo obtiene una {{foodReward}}!" + }, + "2": { + "label": "Razona con él", + "tooltip": "(+) Recupera algunas bayas perdidas", + "selected": "Tus súplicas conmueven al {{greedentName}}.$No te devuelve todas tus bayas, pero aún así te lanza algunas en tu dirección." + }, + "3": { + "label": "Déjalo quedarse con la comida", + "tooltip": "(-) Perder todas las bayas\n(?) Le gustarás al {{greedentName}}", + "selected": "El {{greedentName}} devora todas sus bayas en un instante!$Acariciando su estómago, te mira con aprecio.$Quizás podrías darle más bayas en tu aventura....$@s{level_up_fanfare}El {{greedentName}} quiere unirse a tu equipo!" + } + } +} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/an-offer-you-cant-refuse-dialogue.json b/src/locales/es/mystery-encounters/an-offer-you-cant-refuse-dialogue.json new file mode 100644 index 00000000000..07396cbc3b2 --- /dev/null +++ b/src/locales/es/mystery-encounters/an-offer-you-cant-refuse-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Te detiene un chico de aspecto rico.", + "speaker": "Niño Bien", + "intro_dialogue": "Buenos días a usted.$¡No puedo evitar notar que tu\n{{strongestPokemon}} se ve absolutamente divino!$¡Siempre he querido tener un Pokémon así!$¡Te pagaría generosamente,\n también te daría este viejo abalorio!", + "title": "Una oferta que no puedes rechazar", + "description": "Te están ofreciendo @[TOOLTIP_TITLE]{Amuleto Iris} y {{price, money}} por tu {{strongestPokemon}}!¡Es un trato extremadamente bueno, pero ¿realmente puedes soportar separarte de un miembro tan fuerte de tu equipo?", + "query": "¿Qué harás?", + "option": { + "1": { + "label": "Aceptar el trato", + "tooltip": "(-) Pierdes a {{strongestPokemon}}\n(+) Obtén un @[TOOLTIP_TITLE]{Amuleto Iris}\n(+) Obtén {{price, money}}", + "selected": "¡Maravilloso!@d{32} ¡Ven, John!, {{strongestPokemon}}!$¡Es hora de mostrarte a todos en el club náutico!$¡Estarán tan celosos!" + }, + "2": { + "label": "Extorsiona al niño", + "tooltip": "(+) {{option2PrimaryName}} usa {{moveOrAbility}}\n(+) Obtén {{price, money}}", + "tooltip_disabled": "Tus Pokémon necesitan tener ciertos movimientos o habilidades para elegir esto", + "selected": "¡Por Dios, nos están robando, {{liepardName}}!$¡Oirás de mis abogados por esto!" + }, + "3": { + "label": "Irse", + "tooltip": "(-) Ninguna Recompensa", + "selected": "Qué día más horrible…$Bueno, volvamos al club náutico entonces, {{liepardName}}." + } + } +} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/berries-abound-dialogue.json b/src/locales/es/mystery-encounters/berries-abound-dialogue.json new file mode 100644 index 00000000000..4b9da99fbeb --- /dev/null +++ b/src/locales/es/mystery-encounters/berries-abound-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "¡Hay un gran arbusto de bayas cerca de ese Pokémon!", + "title": "Bayas Abundantes", + "description": "Parece que hay un Pokémon fuerte protegiendo un arbusto de bayas. Luchar es el enfoque directo, pero parece fuerte. ¿Quizás un Pokémon rápido podría agarrar algunas bayas sin ser descubierto?", + "query": "¿Qué harás?", + "berries": "¡Bayas!", + "option": { + "1": { + "label": "Enfréntate al Pokémon", + "tooltip": "(-) Batalla Difícil\n(+) Obtén bayas", + "selected": "Te acercas al\nPokémon sin miedo." + }, + "2": { + "label": "Corre hacia el arbusto", + "tooltip": "(-) {{fastestPokemon}} Utiliza su velocidad\n(+) Obtén bayas", + "selected": "¡Tu {{fastestPokemon}} corre hacia el arbusto de bayas!$¡Logra agarrar {{numBerries}} antes de que {{enemyPokemon}} pueda reaccionar!$Huyes rápidamente con tu nuevo premio.", + "selected_bad": "¡Tu {{fastestPokemon}} corre hacia el arbusto de bayas!$¡Oh no! ¡El {{enemyPokemon}} fue más rápido y bloqueó el camino!", + "boss_enraged": "¡El {{enemyPokemon}} oponente se ha enfurecido!" + }, + "3": { + "label": "Irse", + "tooltip": "(-) Ninguna Recompensa", + "selected": "Dejas al Pokémon fuerte con su premio y continúas." + } + } +} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/bug-type-superfan-dialogue.json b/src/locales/es/mystery-encounters/bug-type-superfan-dialogue.json new file mode 100644 index 00000000000..0fdc0995039 --- /dev/null +++ b/src/locales/es/mystery-encounters/bug-type-superfan-dialogue.json @@ -0,0 +1,40 @@ +{ + "intro": "¡Un entrenador inusual con todo tipo de parafernalia de bichos bloquea tu camino!", + "intro_dialogue": "¡Hola, entrenador! ¡Estoy en una misión para encontrar el Pokémon Bicho más raro que existe!$¿A ti también te encantan los Pokémon Bicho, verdad? ¡A todos les encantan los Pokémon Bicho!", + "title": "El Superfan de los Pokémon Bicho", + "speaker": "Superfan de los Pokémon Bicho", + "description": "El entrenador parlotea, sin siquiera esperar una respuesta...\n\n¡Parece que la única forma de salir de esta situación es captando la atención del entrenador!", + "query": "¿Qué harás?", + "option": { + "1": { + "label": "Proponer a luchar", + "tooltip": "(-) Batalla Desafiante\n(+) Enseña un movimiento de tipo Bicho a un Pokémon", + "selected": "¿Un desafío, eh?\n¡Mis Pokémon Bicho están más que preparados para ti!" + }, + "2": { + "label": "Muestra tus tipos Bicho", + "tooltip": "(+) ¡Recibe un objeto de regalo!", + "disabled_tooltip": "Necesitas al menos 1 Pokémon de tipo Bicho en tu equipo para seleccionar esto.", + "selected": "Le muestras al entrenador todos tus Pokémon de tipo Bicho...", + "selected_0_to_1": "¿Eh? Solo tienes {{numBugTypes}} tipo Bicho...$Supongo que estoy perdiendo el tiempo con alguien como tú...", + "selected_2_to_3": "¡Oye, tienes {{numBugTypes}}! No está mal.$Aquí, esto podría ayudarte en tu viaje para atrapar más.", + "selected_4_to_5": "¿Qué? ¿Tienes {{numBugTypes}}?\nNice!$No estás a mi nivel, pero puedo ver destellos de mí en ti.$¡Toma esto, mi joven aprendiz!", + "selected_6": "¡Vaya! {{numBugTypes}}!$¡Debes amar a los Pokémon de tipo Bicho casi tanto como yo!$Aquí, toma esto como un símbolo de nuestra camaradería." + }, + "3": { + "label": "Regala un objeto de tipo Bicho", + "tooltip": "(-) Dale al entrenador un {{requiredBugItems}}\n(+) Recibe un item de regalo", + "disabled_tooltip": "Necesitas tener un {{requiredBugItems}} para seleccionar esto.", + "select_prompt": "Selecciona un objeto para dar", + "invalid_selection": "El Pokémon no tiene ese tipe de objeto.", + "selected": "Le entregas al entrenador un{{selectedItem}}.", + "selected_dialogue": "¡Vaya! ¿Un {{selectedItem}}, para mí? ¡No eres tan malo, chico!$Como muestra de mi agradecimiento, quiero que tengas este regalo especial.$Ha pasado por toda mi familia, y ahora quiero que lo tengas tú." + } + }, + "battle_won": "¡Tu conocimiento y habilidad fueron perfectos para explotar nuestras debilidades!$A cambio de la valiosa lección, permíteme enseñarle a uno de tus Pokémon un movimiento de tipo Bicho.", + "teach_move_prompt": "Selecciona un movimiento para enseñar a un Pokémon.", + "confirm_no_teach": "¿Estás seguro de que no quieres aprender uno de estos excellentes movimientos?", + "outro": "¡Veo grandes Pokémon de tipo Bicho en tu futuro! ¡Que nuestros caminos se crucen de nuevo! ¡Bicho fuera!", + "numBugTypes_one": "{{count}} Pokémon de tipo Bicho", + "numBugTypes_other": "{{count}} Pokémon de tipo Bicho" +} diff --git a/src/locales/es/mystery-encounters/clowning-around-dialogue.json b/src/locales/es/mystery-encounters/clowning-around-dialogue.json new file mode 100644 index 00000000000..5199c8d6432 --- /dev/null +++ b/src/locales/es/mystery-encounters/clowning-around-dialogue.json @@ -0,0 +1,33 @@ +{ + "intro": "¿Es un...@d{64} payaso?", + "speaker": "Payaso", + "intro_dialogue": "¡Bufón torpe, prepárate para una batalla brillante! ¡Serás derrotado por este trovador peleador!", + "description": "Algo no esta bien en este encuentro. El payaso parece ansioso por provocarte a una batalla, ¿pero con qué fin? El {{blacephalonName}} es especialmente extraño, como si tuviera @[TOOLTIP_TITLE]{tipos y habilidades raros.}", + "query": "¿Qué harás?", + "option": { + "1": { + "label": "Enfrentarse al Payaso", + "tooltip": "(-) Batalla extraña\n(?) Afecta las habilidades de los Pokémon", + "selected": "¡Tus patéticos Pokémon están listos para una actuación patética!", + "apply_ability_dialogue": "¡Una exhibición sensacional! ¡Tu astucia se adapta a una habilidad sensacional como recompensa!", + "apply_ability_message": "¡El payaso está ofreciendo intercambiar permanentemente la habilidad de uno de tus Pokémon por {{ability}}!", + "ability_prompt": "¿Te gustaría enseñar permanentemente a un Pokémon la habilidad {{ability}}?", + "ability_gained": "¡@s{level_up_fanfare}{{chosenPokemon}} obtenió la habilidad {{ability}}!" + }, + "2": { + "label": "No involucrarse", + "tooltip": "(-) Molesta al payaso\n(?) Afecta los objetos de los Pokémon", + "selected": "¡Cobarde desdichado, niegas un exquisito duelo?\n ¡Siente mi furia!", + "selected_2": "¡El {{blacephalonName}} del payaso usa Truco! ¡Todos los objetos de tu {{switchPokemon}} fueron intercambiados al azar!", + "selected_3": "¡Tonto desconcertado, cae en mi engaño impecable!" + }, + "3": { + "label": "Devolver los insultos", + "tooltip": "(-) Molesta al payaso\n(?) Afecta los objetos de los Pokémon", + "selected": "¡Cobarde desdichado, niegas un exquisito duelo?\n ¡Siente mi furia!", + "selected_2": "¡El {{blacephalonName}} del payaso usa un movimiento extraño! ¡Todos los tipos de tu equipo fueron intercambiados al azar!", + "selected_3": "¡Tonto desconcertado, cae en mi engaño impecable!" + } + }, + "outro": "El payaso y sus secuaces\ndesaparecen en una nube de humo." +} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/dancing-lessons-dialogue.json b/src/locales/es/mystery-encounters/dancing-lessons-dialogue.json new file mode 100644 index 00000000000..c4494e3efa8 --- /dev/null +++ b/src/locales/es/mystery-encounters/dancing-lessons-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Un {{oricorioName}} baila tristemente solo, sin pareja.", + "title": "Clases de baile", + "description": "El {{oricorioName}} no parece agresivo, más bien parece triste.\nTal vez solo quiera alguien con quien bailar...", + "query": "¿Qué harás?", + "option": { + "1": { + "label": "Enfrentarse", + "tooltip": "(-) Batalla Ardua\n(+) Obtén el objeto Relevo", + "selected": "¡El {{oricorioName}} está angustiado e intenta defenderse!", + "boss_enraged": "¡El miedo del {{oricorioName}} aumentó sus estadísticas!" + }, + "2": { + "label": "Aprende su danza", + "tooltip": "(+) Enseña a un Pokémon Danza despertar", + "selected": "Observas atentamente al {{oricorioName}} mientras realiza su danza…$@s{level_up_fanfare}¡Tu {{selectedPokemon}} aprendió del {{oricorioName}}!" + }, + "3": { + "label": "Muéstrale una danza", + "tooltip": "(-) Enseña al {{oricorioName}} un movimiento de danza\n(+) Le gustaras al {{oricorioName}}", + "disabled_tooltip": "Tus Pokémon necesitan conocer un movimiento de danza para esto.", + "select_prompt": "Selecciona un movimiento de tipo danza para usar.", + "selected": "¡El {{oricorioName}} observa fascinado mientras\n{{selectedPokemon}} muestra {{selectedMove}}!$¡Le encanta la exhibición!$@s{level_up_fanfare}¡El {{oricorioName}} quiere unirse a tu equipo!" + } + }, + "invalid_selection": "Este Pokémon no conoce ningún movimiento de danza" +} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/dark-deal-dialogue.json b/src/locales/es/mystery-encounters/dark-deal-dialogue.json new file mode 100644 index 00000000000..19b5c5c5b78 --- /dev/null +++ b/src/locales/es/mystery-encounters/dark-deal-dialogue.json @@ -0,0 +1,24 @@ + + +{ + "intro": "Un hombre extraño con un abrigo andrajoso se interpone en tu camino...", + "speaker": "Tipo sombrío", + "intro_dialogue": "¡Oye, tú!$He estado trabajando en un nuevo dispositivo\npara sacar el poder latente de un Pokémon!$Reorganiza completamente los átomos del Pokémon\na nivel molecular en una forma mucho más poderosa.$Jeje…@d{64} Solo necesito algunos sac-@d{32}\nEh, sujetos de prueba, para demostrar que funciona.", + "title": "Pacto Oscuro", + "description": "El tipo inquietante sostiene unas Pokéballs.\n\"¡Te lo compensaré! Puedes tener estas Pokéballs fuertes como pago. ¡Todo lo que necesito es un Pokémon de tu equipo! Jeje...", + "query": "¿Qué harás?", + "option": { + "1": { + "label": "Acceptar", + "tooltip": "(+) 5 Rogue Balls\n(?) Mejora un Pokémon aleatorio", + "selected_dialogue": "Veamos, ¡Ese {{pokeName}} servirá muy bien!$Recuerda, no soy responsable\nsi algo malo sucede!@d{32} Jeje...", + "selected_message": "El hombre te entrega 5 Rogue Balls.${{pokeName}} entra dentro de la máquina...$¡Luces intermitentes y ruidos extraños\ncomienzan a salir de la máquina!$...@d{96} Algo emerge\ndel dispositivo, ¡furiosamente!" + }, + "2": { + "label": "Rechazar", + "tooltip": "(-) Ninguna Recompensa", + "selected": "¿No vas a ayudar a un pobre hombre?\n¡Bah!" + } + }, + "outro": "Después del encuentro angustioso, te recuperas y te marchas." +} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/delibirdy-dialogue.json b/src/locales/es/mystery-encounters/delibirdy-dialogue.json new file mode 100644 index 00000000000..79e0b457b01 --- /dev/null +++ b/src/locales/es/mystery-encounters/delibirdy-dialogue.json @@ -0,0 +1,29 @@ + + +{ + "intro": "¡Ha aparecido una bandada de {{delibirdName}}!", + "title": "Pajarradas", + "description": "Los {{delibirdName}} te miran expectantes, como si quisieran algo. Tal vez darles un objeto o algo de dinero los satisfaría.", + "query": "¿Qué les darás?", + "invalid_selection": "Pokémon no tienen ese tipo de objeto.", + "option": { + "1": { + "label": "Dar dinero", + "tooltip": "(-) Dar a los {{delibirdName}}s {{money, money}}\n(+) Recibe un objeto de regalo", + "selected": "Lanzas el dinero a los {{delibirdName}}s, \nque charlan emocionados entre ellos.$Luego se vuelven hacia ti y te dan un regalo con alegría." + }, + "2": { + "label": "Dar comida", + "tooltip": "(-) Dar a los {{delibirdName}}s una Baya o Semilla milagro\n(+) Recibe un objeto de regalo", + "select_prompt": "Selecciona un objeto para dar.", + "selected": "Lanzas el {{chosenItem}} a los {{delibirdName}},\nque charlan emocionados entre ellos.$Se vuelven hacia ti y te dan un regalo alegremente." + }, + "3": { + "label": "Dar objeto", + "tooltip": "(-) Dar a los {{delibirdName}}s un objeto equipado\n(+) Recibe un objeto de regalo", + "select_prompt": "Selecciona un objeto para dar.", + "selected": "Lanzas el {{chosenItem}} a los {{delibirdName}},\nque charlan emocionados entre ellos.$Se vuelven hacia ti y te dan un regalo alegremente." + } + }, + "outro": "La bandada de {{delibirdName}} se aleja felizmente a lo lejos. ¡Qué intercambio tan curioso!" +} diff --git a/src/locales/es/mystery-encounters/department-store-sale-dialogue.json b/src/locales/es/mystery-encounters/department-store-sale-dialogue.json new file mode 100644 index 00000000000..e17d57b8c3c --- /dev/null +++ b/src/locales/es/mystery-encounters/department-store-sale-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Es una señora con un montón de bolsas de compras.", + "speaker": "Compradora", + "intro_dialogue": "¡Hola! ¿También estás aquí por las increíbles rebajas? Hay un cupón especial que puedes canjear por un artículo gratis durante la venta. ¡Tengo uno extra. ¡Aquí tienes!", + "title": "¡Rebajas en el Centro Comercial!", + "description": "¡Hay mercancía en todas direcciones! Parece que hay 4 mostradores donde puedes canjear el cupón por varios artículos. ¡Las posibilidades son infinitas!", + "query": "¿A qué mostrador irás?", + "option": { + "1": { + "label": "Mostrador de MTs", + "tooltip": "(+) Tienda de MTs" + }, + "2": { + "label": "Mostrador de Vitaminas", + "tooltip": "(+) Tienda de vitaminas" + }, + "3": { + "label": "Mostrador de objetos de batalla", + "tooltip": "(+) Tienda de objetos X" + }, + "4": { + "label": "Mostrador de Pokéballs ", + "tooltip": "(+) Tienda de Pokéballs" + } + }, + "outro": "¡Qué chollo! Deberías comprar allí más a menudo." +} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/field-trip-dialogue.json b/src/locales/es/mystery-encounters/field-trip-dialogue.json new file mode 100644 index 00000000000..be2554aba35 --- /dev/null +++ b/src/locales/es/mystery-encounters/field-trip-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "¡Es un profesor y alugnos estudiantes parvulitos", + "speaker": "Profesor", + "intro_dialogue": "¡Hola! ¿Podrías dedicar un minuto a mis alumnos?$Les estoy enseñando sobre los movimientos de Pokémon\ny me encantaría mostrarles una demostración.$¿Te importaría mostrarnos uno de los movimientos\nque puede usar tu Pokémon?", + "title": "Excursión", + "description": "Una profesora está solicitando una demostración de un movimiento de un Pokémon. Dependiendo del movimiento que elijas, podría tener algo útil para ti a cambio.", + "query": "¿Qué categoría de movimiento mostrarás?", + "option": { + "1": { + "label": "Un movimiento físico", + "tooltip": "(+) Recompensas de objetos para movimientos físicos" + }, + "2": { + "label": "Un movimiento especial", + "tooltip": "(+) Recompensas de objetos para movimientos especiales" + }, + "3": { + "label": "Un ataque de estado", + "tooltip": "(+) Recompensas de objetos de estado" + }, + "selected": "¡{{pokeName}} muestra una increíble exhibición de {{move}}!" + }, + "second_option_prompt": "Elige un movimiento para que tu Pokémon use.", + "incorrect": "...$¡Eso no es un movimiento {{moveCategory}}!\nLo siento, pero no puedo darte nada.$Vamos niños, encontraremos una mejor demostración en otro lugar.", + "incorrect_exp": "Parece que has aprendido una valiosa lección.$Tu Pokémon también ganó algo de experiencia.", + "correct": "¡Muchas gracias por tu amabilidad!\n¡Espero que estos objetos te sean de utilidad!", + "correct_exp": "{{pokeName}} también ganó una valiosa experiencia!", + "status": "Estado", + "physical": "Físico", + "special": "Especial" +} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/fiery-fallout-dialogue.json b/src/locales/es/mystery-encounters/fiery-fallout-dialogue.json new file mode 100644 index 00000000000..272544cba9e --- /dev/null +++ b/src/locales/es/mystery-encounters/fiery-fallout-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "¡Te encuentras con una tormenta abrasadora de humo y ceniza!", + "title": "¡Pasión Ardiente!", + "description": "La ceniza y las brasas han reducido la visibilidad a casi cero. Parece que podría haber alguna… fuente que esté causando estas condiciones. Pero, ¿qué podría estar detrás de un fenómeno de esta magnitud?", + "query": "¿Qué harás?", + "option": { + "1": { + "label": "Encontrar la causa", + "tooltip": "(?) Encunetra la causa\n(-) Batalla Difícil", + "selected": "¡Empujas a través de la tormenta y encuentras a dos {{volcaronaName}}s en medio de una danza de apareamiento!$¡No toman bien la interrupción y atacan!" + }, + "2": { + "label": "Refugiarse", + "tooltip": "(-) Sufre los efectos del clima", + "selected": "Los efectos del clima causan un daño significativo mientras luchas por encontrar refugio. ¡Tu grupo pierde el 20% de su HP máximo!", + "target_burned": "¡Tu {{burnedPokemon}} también acabo quemándose!" + }, + "3": { + "label": "Tus tipos de fuego ayudan", + "tooltip": "(+) Paras las condiciones del clima\n(+) Obtén un Carbón", + "disabled_tooltip": "Necesitas al menos 2 Pokémon de tipo Fuego para elegir esto", + "selected": "Tus {{option3PrimaryName}} y {{option3SecondaryName}} te guían hasta donde dos {{volcaronaName}}s están en medio de una danza de apareamiento.$Afortunadamente, tus Pokémon logran calmarlos y se van sin problemas." + } + }, + "found_charcoal": "Después de que el clima se despeja,\ntu {{leadPokemon}} ve algo en el suelo. $¡@s{item_fanfare}{{leadPokemon}} obtuvo un Carbón!" +} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/fight-or-flight-dialogue.json b/src/locales/es/mystery-encounters/fight-or-flight-dialogue.json new file mode 100644 index 00000000000..33ccc09e1c6 --- /dev/null +++ b/src/locales/es/mystery-encounters/fight-or-flight-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "¡Algo brillante está reluciendo\nen el suelo cerca de ese Pokémon!", + "title": "Lucha o huye", + "description": "Parece que hay un Pokémon fuerte protegiendo un objeto. Lucharlo es el enfoque más directo, pero parece fuerte. Quizás podrías robar el objeto, si tienes el Pokémon adecuado para el trabajo.", + "query": "¿Qué harás?", + "option": { + "1": { + "label": "Enfréntarse al Pokémon", + "tooltip": "(-) Batalla Difícil\n(+) Obtén un objeto", + "selected": "Te acercas al\nPokémon sin miedo.", + "stat_boost": "¡La fuerza latente de {{enemyPokemon}} aumentó una de sus estadísticas!" + }, + "2": { + "label": "Robar el objeto", + "disabled_tooltip": "Tus Pokémon necesitan conocer ciertos movimientos para elegir esto", + "tooltip": "(+) {{option2PrimaryName}} usa {{option2PrimaryMove}}", + "selected": ".@d{32}.@d{32}.@d{32}$Tu {{option2PrimaryName}} te ayuda y usa {{option2PrimaryMove}}!$¡Agarraste el obejto!" + }, + "3": { + "label": "Irse", + "tooltip": "(-) Ninguna recompensa", + "selected": "Dejas al Pokémon fuerte\ncon su premio y continúas." + } + } +} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/fun-and-games-dialogue.json b/src/locales/es/mystery-encounters/fun-and-games-dialogue.json new file mode 100644 index 00000000000..bbaa52996ad --- /dev/null +++ b/src/locales/es/mystery-encounters/fun-and-games-dialogue.json @@ -0,0 +1,30 @@ +{ + "intro_dialogue": "¡Pasen y vean, amigos! Prueben su suerte en el nuevo {{wobbuffetName}} Golpe-o-matic!", + "speaker": "El Feriante", + "title": "Juegos y diversión", + "description": "¡Te has encontrado con una feria ambulante con un juego de premios! Tendrás @[TOOLTIP_TITLE]{3 turnos} para dejar al {{wobbuffetName}} lo más cerca posible de @[TOOLTIP_TITLE]{1 PS} @[TOOLTIP_TITLE]{sin debilitarlo} para que pueda cargar un gran Contraataque en la máquina de golpear la campana. ¡Pero ten cuidado! Si debilitas al {{wobbuffetName}}, tendrás que pagar el coste de revivirlo.", + "query": "¿Te gustaría jugar?", + "option": { + "1": { + "label": "Jugar el juego", + "tooltip": "(-) Paga {{option1Money, money}}\n(+) Juega al {{wobbuffetName}} Golpe-o-matic", + "selected": "¡Es hora de probar tu suerte!" + }, + "2": { + "label": "Irse", + "tooltip": "(-) Ninguna Recompensa", + "selected": "Te apresuras en irte, con una ligera sensación de arrepentimiento." + } + }, + "ko": "¡Oh no! ¡El {{wobbuffetName}} se debilitó!$Pierdes el juego y\ntienes que pagar el coste de revivirlo...", + "charging_continue": "¡El Wobbuffet sigue cargando su contraataque!", + "turn_remaining_3": "¡Quedan tres turnos!", + "turn_remaining_2": "¡Quedan dos turnos!", + "turn_remaining_1": "¡Queda un turno!", + "end_game": "¡Se acabó el tiempo!$El {{wobbuffetName}} se prepara para el contraataque y@d{16}.@d{16}.@d{16}.", + "best_result": "¡El {{wobbuffetName}} golpea el botón con tanta fuerza\nque la campana se rompe!$¡Ganas el gran premio!", + "great_result": "¡El {{wobbuffetName}} golpea el botón, casi alcanzando la campana!$¡Tan cerca!\n¡Ganas el segundo premio!", + "good_result": "¡El {{wobbuffetName}} golpea el botón con suficiente fuerza para llegar a la mitad de la escala!$¡Ganas el tercer premio!", + "bad_result": "El {{wobbuffetName}} apenas toca el botón y no pasa nada…$¡Oh no!\nNo ganas nada.", + "outro": "¡Ese fue un juego muy divertido!" +} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/global-trade-system-dialogue.json b/src/locales/es/mystery-encounters/global-trade-system-dialogue.json new file mode 100644 index 00000000000..b2598007b0d --- /dev/null +++ b/src/locales/es/mystery-encounters/global-trade-system-dialogue.json @@ -0,0 +1,32 @@ +{ + "intro": "¡Es una interfaz para la Estación de Intercambio Global, la GTS!", + "title": "La GTS", + "description": "¡Ah, la GTS! Una maravilla tecnológica, puedes conectarte con cualquier persona en todo el mundo para intercambiar Pokémon con ellos. ¿Tendrás suerte en tu intercambio hoy?", + "query": "¿Qué harás?", + "option": { + "1": { + "label": "Ver ofertas de intercambio", + "tooltip": "(+) Selecciona una oferta de intercambio para uno de tus Pokémon", + "trade_options_prompt": "Selecciona un Pokémon para recibir a través del intercambio." + }, + "2": { + "label": "Intercambio Prodigioso", + "tooltip": "(+) Envía uno de tus Pokémon a la GTS y recibe un Pokémon aleatorio a cambio." + }, + "3": { + "label": "Intercambia un objeto", + "trade_options_prompt": "Selecciona un objeto para enviar.", + "invalid_selection": "Este Pokémon no tiene objetos legales para intercambiar.", + "tooltip": "(+) Envía uno de tus objetos a la GTS y recibe un nuevo objeto aleatorio." + }, + "4": { + "label": "Irse", + "tooltip": "(-) Ninguna Recompensa", + "selected": "¡No hay tiempo para intercambiar hoy!\nSigues adelante." + } + }, + "pokemon_trade_selected": "{{tradedPokemon}} será enviado a {{tradeTrainerName}}.", + "pokemon_trade_goodbye": "¡Adiós, {{tradedPokemon}}!", + "item_trade_selected": "{{chosenItem}} será enviado a {{tradeTrainerName}}.$.@d{64}.@d{64}.@d{64}\n@s{level_up_fanfare}¡Intercambio completo!$¡Has recibido un {{itemName}} de {{tradeTrainerName}}!", + "trade_received": "¡@s{evolution_fanfare}{{tradeTrainerName}} envió a {{received}}!" +} diff --git a/src/locales/es/mystery-encounters/lost-at-sea-dialogue.json b/src/locales/es/mystery-encounters/lost-at-sea-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/lost-at-sea-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/mysterious-challengers-dialogue.json b/src/locales/es/mystery-encounters/mysterious-challengers-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/mysterious-challengers-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/mysterious-chest-dialogue.json b/src/locales/es/mystery-encounters/mysterious-chest-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/mysterious-chest-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/part-timer-dialogue.json b/src/locales/es/mystery-encounters/part-timer-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/part-timer-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/safari-zone-dialogue.json b/src/locales/es/mystery-encounters/safari-zone-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/safari-zone-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/shady-vitamin-dealer-dialogue.json b/src/locales/es/mystery-encounters/shady-vitamin-dealer-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/shady-vitamin-dealer-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/slumbering-snorlax-dialogue.json b/src/locales/es/mystery-encounters/slumbering-snorlax-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/slumbering-snorlax-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/teleporting-hijinks-dialogue.json b/src/locales/es/mystery-encounters/teleporting-hijinks-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/teleporting-hijinks-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/the-expert-pokemon-breeder-dialogue.json b/src/locales/es/mystery-encounters/the-expert-pokemon-breeder-dialogue.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/src/locales/es/mystery-encounters/the-expert-pokemon-breeder-dialogue.json @@ -0,0 +1 @@ +{} diff --git a/src/locales/es/mystery-encounters/the-pokemon-salesman-dialogue.json b/src/locales/es/mystery-encounters/the-pokemon-salesman-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/the-pokemon-salesman-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/the-strong-stuff-dialogue.json b/src/locales/es/mystery-encounters/the-strong-stuff-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/the-strong-stuff-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/the-winstrate-challenge-dialogue.json b/src/locales/es/mystery-encounters/the-winstrate-challenge-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/the-winstrate-challenge-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/training-session-dialogue.json b/src/locales/es/mystery-encounters/training-session-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/training-session-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/trash-to-treasure-dialogue.json b/src/locales/es/mystery-encounters/trash-to-treasure-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/trash-to-treasure-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/uncommon-breed-dialogue.json b/src/locales/es/mystery-encounters/uncommon-breed-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/uncommon-breed-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/mystery-encounters/weird-dream-dialogue.json b/src/locales/es/mystery-encounters/weird-dream-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/es/mystery-encounters/weird-dream-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/es/party-ui-handler.json b/src/locales/es/party-ui-handler.json index 0e59aee6fd1..780ef633297 100644 --- a/src/locales/es/party-ui-handler.json +++ b/src/locales/es/party-ui-handler.json @@ -15,6 +15,7 @@ "UNPAUSE_EVOLUTION": "Reanudar evolución", "REVIVE": "Revivir", "RENAME": "Rename", + "SELECT": "Select", "choosePokemon": "Elige a un Pokémon.", "doWhatWithThisPokemon": "¿Que quieres hacer con este Pokémon?", "noEnergy": "¡A {{pokemonName}} no le\nquedan fuerzas para luchar!", diff --git a/src/locales/es/status-effect.json b/src/locales/es/status-effect.json index eeb8c251e8a..66534d11983 100644 --- a/src/locales/es/status-effect.json +++ b/src/locales/es/status-effect.json @@ -40,7 +40,7 @@ "description": "dormir", "obtain": "¡{{pokemonNameWithAffix}}\nse ha dormido!", "obtainSource": "¡{{pokemonNameWithAffix}}\nse ha dormido\npor culpa de {{sourceText}}!", - "activation": "¡{{pokemonNameWithAffix}} está/ndormido como un tronco.", + "activation": "¡{{pokemonNameWithAffix}} está\ndormido como un tronco.", "overlap": "¡{{pokemonNameWithAffix}} ya\nestá dormido!", "heal": "¡{{pokemonNameWithAffix}} se despertó!" }, @@ -62,4 +62,4 @@ "overlap": "¡{{pokemonNameWithAffix}} ya\nestá quemado!", "heal": "¡{{pokemonNameWithAffix}} ya no\nestá quemado!" } -} \ No newline at end of file +} diff --git a/src/locales/es/trainer-names.json b/src/locales/es/trainer-names.json index da18b6bbcd9..adef8173687 100644 --- a/src/locales/es/trainer-names.json +++ b/src/locales/es/trainer-names.json @@ -167,5 +167,18 @@ "alder_iris_double": "Mirto e Iris", "iris_alder_double": "Iris y Mirto", "marnie_piers_double": "Roxy y Nerio", - "piers_marnie_double": "Nerio y Roxy" + "piers_marnie_double": "Nerio y Roxy", + + "buck": "Buck", + "cheryl": "Cheryl", + "marley": "Marley", + "mira": "Mira", + "riley": "Riley", + "victor": "Victor", + "victoria": "Victoria", + "vivi": "Vivi", + "vicky": "Vicky", + "vito": "Vito", + "bug_type_superfan": "Bug-Type Superfan", + "expert_pokemon_breeder": "Expert Pokémon Breeder" } diff --git a/src/locales/es/trainer-titles.json b/src/locales/es/trainer-titles.json index 146ba073c59..34fef949e87 100644 --- a/src/locales/es/trainer-titles.json +++ b/src/locales/es/trainer-titles.json @@ -36,5 +36,7 @@ "aether_admin": "Director de la Fundación Æther", "skull_admin": "Admin. del Team Skull", "macro_admin": "Admin. de Macrocosmos", - "star_admin": "Team Star Squad Boss" + "star_admin": "Team Star Squad Boss", + + "the_winstrates": "Familia Estratega" } diff --git a/src/locales/fr/achv.json b/src/locales/fr/achv.json index a557a423db7..175ddfc404c 100644 --- a/src/locales/fr/achv.json +++ b/src/locales/fr/achv.json @@ -278,5 +278,9 @@ "INVERSE_BATTLE": { "name": "La teuté à verlan", "description": "Terminer un challenge en Combat Inversé.\nMineter un lenjcha en Ba-con Versin." + }, + "BREEDERS_IN_SPACE": { + "name": "Éleveurs de l'espace !", + "description": "Vaincre l'Éleveuse Experte dans le biome Espace." } } diff --git a/src/locales/fr/battle.json b/src/locales/fr/battle.json index 6c555fa77be..26b46f77e9d 100644 --- a/src/locales/fr/battle.json +++ b/src/locales/fr/battle.json @@ -15,7 +15,7 @@ "moneyPickedUp": "Vous obtenez {{moneyAmount}} ₽ !", "pokemonCaught": "Vous avez attrapé\n{{pokemonName}} !", "pokemonObtained": "Vous obtenez\nun {{pokemonName}} !", - "pokemonBrokeFree": "Oh non !\nLe Pokémon s’est libéré !", + "pokemonBrokeFree": "Oh, non !\nLe Pokémon s’est libéré !", "pokemonFled": "Le {{pokemonName}} sauvage\nprend la fuite !", "playerFled": "Vous fuyez le {{pokemonName}} !", "addedAsAStarter": "{{pokemonName}} est ajouté\ncomme starter !", @@ -56,6 +56,7 @@ "noPokeballTrainer": "Le Dresseur détourne la Ball\nVoler, c’est mal !", "noPokeballMulti": "Impossible ! On ne peut pas viser\nquand il y a deux Pokémon !", "noPokeballStrong": "Le Pokémon est trop fort pour être capturé !\nVous devez d’abord l’affaiblir !", + "noPokeballMysteryEncounter": "Vous ne pouvez pas\nattraper ce Pokémon !", "noEscapeForce": "Une force mystérieuse\nempêche la fuite.", "noEscapeTrainer": "On ne s’enfuit pas d’un\ncombat de Dresseurs !", "noEscapePokemon": "{{moveName}} de {{pokemonName}}\nempêche {{escapeVerb}} !", @@ -99,12 +100,12 @@ "statWontGoAnyLower_one": "{{stats}} de {{pokemonNameWithAffix}}\nne peut plus baisser !", "statWontGoAnyLower_other": "{{stats}}\nde {{pokemonNameWithAffix}} ne peuvent plus baisser !", "transformedIntoType": "{{pokemonName}} prend\nle type {{type}} !", - "ppReduced": "Les PP de la capacité {{moveName}}\nde {{targetName}} baissent de {{reduction}} !", "retryBattle": "Voulez-vous réessayer depuis le début du combat ?", "unlockedSomething": "{{unlockedThing}}\na été débloqué.", "congratulations": "Félicitations !", "beatModeFirstTime": "{{speciesName}} a battu le mode {{gameMode}} pour la première fois !\nVous avez reçu {{newModifier}} !", "ppReduced": "Les PP de la capacité {{moveName}}\nde{{targetName}} baissent de {{reduction}} !", + "mysteryEncounterAppeared": "Hein ?\nC’est quoi ça ?", "battlerTagsHealBlock": "{{pokemonNameWithAffix}} ne peut pas guérir !", "battlerTagsHealBlockOnRemove": "Le blocage de soins qui affectait\n{{pokemonNameWithAffix}} s’est dissipé !" } diff --git a/src/locales/fr/battler-tags.json b/src/locales/fr/battler-tags.json index 4c5c7ea0df6..93b70490ed6 100644 --- a/src/locales/fr/battler-tags.json +++ b/src/locales/fr/battler-tags.json @@ -7,7 +7,7 @@ "nightmareDesc": "les cauchemars", "ingrainDesc": "l’enracinement", "drowsyDesc": "la somnolence", - "rechargingLapse": "Le contrecoup empêche {{pokemonNameWithAffix}}\n de bouger !", + "rechargingLapse": "Le contrecoup empêche {{pokemonNameWithAffix}}\nde bouger !", "trappedOnAdd": "{{pokemonNameWithAffix}}\nne peut plus s’échapper !", "trappedOnRemove": "{{pokemonNameWithAffix}} est libéré\nde la capacité {{moveName}} !", "flinchedLapse": "{{pokemonNameWithAffix}} a la trouille !\nIl ne peut plus attaquer !", diff --git a/src/locales/fr/bgm-name.json b/src/locales/fr/bgm-name.json index 06eca763914..c2a0de4d230 100644 --- a/src/locales/fr/bgm-name.json +++ b/src/locales/fr/bgm-name.json @@ -149,5 +149,11 @@ "encounter_youngster": "NB - Regards croisés (Gamin)", "heal": "NB - Soin de Pokémon", "menu": "PDM EdC - Bienvenue dans le monde de Pokémon !", - "title": "PDM EdC - Menu Principal" + "title": "PDM EdC - Menu Principal", + + "mystery_encounter_weird_dream": "PDM EdC - Aiguille du Temps", + "mystery_encounter_fun_and_games": "PDM EdC - Maitre Grodoudou", + "mystery_encounter_gen_5_gts": "NB - GTS", + "mystery_encounter_gen_6_gts": "XY - GTS", + "mystery_encounter_delibirdy": "Firel - DeliDelivery!" } diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index f79374cd3b9..d4c75a0ce24 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -53,7 +53,49 @@ import terrain from "./terrain.json"; import modifierSelectUiHandler from "./modifier-select-ui-handler.json"; import moveTriggers from "./move-trigger.json"; import runHistory from "./run-history.json"; +import mysteryEncounterMessages from "./mystery-encounter-messages.json"; +import lostAtSea from "./mystery-encounters/lost-at-sea-dialogue.json"; +import mysteriousChest from "./mystery-encounters/mysterious-chest-dialogue.json"; +import mysteriousChallengers from "./mystery-encounters/mysterious-challengers-dialogue.json"; +import darkDeal from "./mystery-encounters/dark-deal-dialogue.json"; +import departmentStoreSale from "./mystery-encounters/department-store-sale-dialogue.json"; +import fieldTrip from "./mystery-encounters/field-trip-dialogue.json"; +import fieryFallout from "./mystery-encounters/fiery-fallout-dialogue.json"; +import fightOrFlight from "./mystery-encounters/fight-or-flight-dialogue.json"; +import safariZone from "./mystery-encounters/safari-zone-dialogue.json"; +import shadyVitaminDealer from "./mystery-encounters/shady-vitamin-dealer-dialogue.json"; +import slumberingSnorlax from "./mystery-encounters/slumbering-snorlax-dialogue.json"; +import trainingSession from "./mystery-encounters/training-session-dialogue.json"; +import theStrongStuff from "./mystery-encounters/the-strong-stuff-dialogue.json"; +import pokemonSalesman from "./mystery-encounters/the-pokemon-salesman-dialogue.json"; +import offerYouCantRefuse from "./mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; +import delibirdy from "./mystery-encounters/delibirdy-dialogue.json"; +import absoluteAvarice from "./mystery-encounters/absolute-avarice-dialogue.json"; +import aTrainersTest from "./mystery-encounters/a-trainers-test-dialogue.json"; +import trashToTreasure from "./mystery-encounters/trash-to-treasure-dialogue.json"; +import berriesAbound from "./mystery-encounters/berries-abound-dialogue.json"; +import clowningAround from "./mystery-encounters/clowning-around-dialogue.json"; +import partTimer from "./mystery-encounters/part-timer-dialogue.json"; +import dancingLessons from "./mystery-encounters/dancing-lessons-dialogue.json"; +import weirdDream from "./mystery-encounters/weird-dream-dialogue.json"; +import theWinstrateChallenge from "./mystery-encounters/the-winstrate-challenge-dialogue.json"; +import teleportingHijinks from "./mystery-encounters/teleporting-hijinks-dialogue.json"; +import bugTypeSuperfan from "./mystery-encounters/bug-type-superfan-dialogue.json"; +import funAndGames from "./mystery-encounters/fun-and-games-dialogue.json"; +import uncommonBreed from "./mystery-encounters/uncommon-breed-dialogue.json"; +import globalTradeSystem from "./mystery-encounters/global-trade-system-dialogue.json"; +import expertPokemonBreeder from "./mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; +/** + * Dialogue/Text token injection patterns that can be used: + * - `$` will be treated as a new line for Message and Dialogue strings. + * - `@d{}` will add a time delay to text animation for Message and Dialogue strings. + * - `@s{}` will play a specified sound effect for Message and Dialogue strings. + * - `@f{}` will fade the screen to black for the given duration, then fade back in for Message and Dialogue strings. + * - `{{}}` (MYSTERY ENCOUNTERS ONLY) will auto-inject the matching dialogue token value that is stored in {@link IMysteryEncounter.dialogueTokens}. + * - (see [i18next interpolations](https://www.i18next.com/translation-function/interpolation)) for more details. + * - `@[]{}` (STATIC TEXT ONLY, NOT USEABLE WITH {@link UI.showText()} OR {@link UI.showDialogue()}) will auto-color the given text to a specified {@link TextStyle} (e.g. `TextStyle.SUMMARY_GREEN`). + */ export const frConfig = { ability, abilityTriggers, @@ -110,4 +152,40 @@ export const frConfig = { modifierSelectUiHandler, moveTriggers, runHistory, + mysteryEncounter: { + // DO NOT REMOVE + "unit_test_dialogue": "{{test}}{{test}} {{test{{test}}}} {{test1}} {{test\}} {{test\\}} {{test\\\}} {test}}", + mysteriousChallengers, + mysteriousChest, + darkDeal, + fightOrFlight, + slumberingSnorlax, + trainingSession, + departmentStoreSale, + shadyVitaminDealer, + fieldTrip, + safariZone, + lostAtSea, + fieryFallout, + theStrongStuff, + pokemonSalesman, + offerYouCantRefuse, + delibirdy, + absoluteAvarice, + aTrainersTest, + trashToTreasure, + berriesAbound, + clowningAround, + partTimer, + dancingLessons, + weirdDream, + theWinstrateChallenge, + teleportingHijinks, + bugTypeSuperfan, + funAndGames, + uncommonBreed, + globalTradeSystem, + expertPokemonBreeder + }, + mysteryEncounterMessages }; diff --git a/src/locales/fr/dialogue.json b/src/locales/fr/dialogue.json index e8df718ab08..3b362fc0c2c 100644 --- a/src/locales/fr/dialogue.json +++ b/src/locales/fr/dialogue.json @@ -597,6 +597,116 @@ "1": "Tu es redoutable.\nPas étonnant que les boss de la Team aient perdu contre toi." } }, + "stat_trainer_buck": { + "encounter": { + "1": "Je te préviens… Je suis sacrément coriace ! Fais comme si tu ne t’y attendais pas !", + "2": "Je sens mes Pokémon gigoter dans leurs Poké Balls !" + }, + "victory": { + "1": "Hé, hé, hé !\nTu mets le feu !", + "2": "Hé, hé, hé !\nTu mets le feu !" + }, + "defeat": { + "1": "Oh ?\nEn panne de carburant je suppose ?", + "2": "Oh ?\nEn panne de carburant je suppose ?" + } + }, + "stat_trainer_cheryl": { + "encounter": { + "1": "Mes Pokémon meurent d’envie de se battre.", + "2": "Je dois te prévenir que mes Pokémon peuvent se montrer un peu exubérants." + }, + "victory": { + "1": "Trouver le bon équilibre en attaque et défense…\nCe n’est pas la chose la plus aisée.", + "2": "Trouver le bon équilibre en attaque et défense…\nCe n’est pas la chose la plus aisée." + }, + "defeat": { + "1": "T’as besoin que je soigne ton équipe ?", + "2": "T’as besoin que je soigne ton équipe ?" + } + }, + "stat_trainer_marley": { + "encounter": { + "1": "OK…\nJe ferai de mon mieux.", + "2": "OK…\nJe… Je peux le faire… !" + }, + "victory": { + "1": "Argh…", + "2": "Argh…" + }, + "defeat": { + "1": "Au revoir…", + "2": "Au revoir…" + } + }, + "stat_trainer_mira": { + "encounter": { + "1": "Maïté va t’éblouir !", + "2": "Je vais te prouver que je ne me mélange plus les pédales !" + }, + "victory": { + "1": "Hum… Je me demande si je suis à la hauteur de ici…", + "2": "Hum… Je me demande si je suis à la hauteur de ici…" + }, + "defeat": { + "1": "Maïté savait qu’elle t’éblouirait !", + "2": "Maïté savait qu’elle t’éblouirait !" + } + }, + "stat_trainer_riley": { + "encounter": { + "1": "Le combat, c’est une façon de se saluer pour nous !", + "2": "On va mettre le paquet pour venir à bout de ton équipe." + }, + "victory": { + "1": "Parfois, on fait équipe…\nEt parfois, on s’affronte…$La vie des Dresseurs est pleine de rebondissements.", + "2": "Parfois, on fait équipe…\nEt parfois, on s’affronte…$La vie des Dresseurs est pleine de rebondissements.." + }, + "defeat": { + "1": "Tu t’en tire bien.\nTu feras mieux la prochaine fois.", + "2": "Tu t’en tire bien.\nTu feras mieux la prochaine fois." + } + }, + "winstrates_victor": { + "encounter": { + "1": "Bon esprit !\nJ’aime ça !" + }, + "victory": { + "1": "Mince !\nTu as un meilleur niveau que je ne le pensais !" + } + }, + "winstrates_victoria": { + "encounter": { + "1": "Oh, ciel !\nCe que tu es jeune !$Mais si tu as battu mon mari,\nc’est que tu sais t’y prendre.$À nous deux, maintenant !" + }, + "victory": { + "1": "Ciel ! Cette force !\nJ’en suis toute retournée !" + } + }, + "winstrates_vivi": { + "encounter": { + "1": "Tu as un meilleur niveau que maman ?\nWaouh!$Mais moi aussi, je suis forte !\nVraiment ! Honnêtement !" + }, + "victory": { + "1": "Quoi ?\nNe me dis pas que j’ai perdu !" + } + }, + "winstrates_vicky": { + "encounter": { + "1": "Comment oses-tu faire pleurer\nmon adorable petite-fille !$Tu vas me le payer !\nTes Pokémon vont mordre la poussière !" + }, + "victory": { + "1": "Ouh! Quelle puissance…\nMa petite-fille avait raison…" + } + }, + "winstrates_vito": { + "encounter": { + "1": "On s’entraine tous ensemble,\navec les membres de ma famille !$Je ne perds contre personne !" + }, + "victory": { + "1": "J’ai toujours été le meilleur de la famille.\nJe n’avais encore jamais perdu…" + } + }, "brock": { "encounter": { "1": "Mon expertise des types Roche va te mettre au sol ! En garde !", diff --git a/src/locales/fr/egg.json b/src/locales/fr/egg.json index cbc912e9d50..8157baa4708 100644 --- a/src/locales/fr/egg.json +++ b/src/locales/fr/egg.json @@ -11,6 +11,7 @@ "gachaTypeLegendary": "Taux de Légendaires élevé", "gachaTypeMove": "Taux de Capacité Œuf Rare élevé", "gachaTypeShiny": "Taux de Chromatiques élevé", + "eventType": "Évènement Mystère", "selectMachine": "Sélectionnez une machine.", "notEnoughVouchers": "Vous n’avez pas assez de coupons !", "tooManyEggs": "Vous avez trop d’Œufs !", diff --git a/src/locales/fr/modifier-select-ui-handler.json b/src/locales/fr/modifier-select-ui-handler.json index d1de2d222a8..727226d7890 100644 --- a/src/locales/fr/modifier-select-ui-handler.json +++ b/src/locales/fr/modifier-select-ui-handler.json @@ -8,5 +8,7 @@ "lockRaritiesDesc": "Assure la relance de proposer des objets gratuits de rareté égale ou supérieure. Affecte le cout de relance.", "checkTeamDesc": "Consulter votre équipe ou utiliser un objet\nde changement de forme.", "rerollCost": "{{formattedMoney}} ₽", - "itemCost": "{{formattedMoney}} ₽" -} \ No newline at end of file + "itemCost": "{{formattedMoney}} ₽", + "continueNextWaveButton": "Continuer", + "continueNextWaveDescription": "Continuer vers la prochaine vague" +} diff --git a/src/locales/fr/modifier-type.json b/src/locales/fr/modifier-type.json index 4f8033b50d7..a4bd7cabe3c 100644 --- a/src/locales/fr/modifier-type.json +++ b/src/locales/fr/modifier-type.json @@ -68,6 +68,20 @@ "BaseStatBoosterModifierType": { "description": "Augmente de 10% {{stat}} de base de son porteur. Plus les IV sont hauts, plus il peut en porter." }, + "PokemonBaseStatTotalModifierType": { + "name": "Jus de Caratroc", + "description": "{{increaseDecrease}} toutes les stats de son porteur de {{statValue}} cran. Caratroc vous a {{blessCurse}}.", + "extra": { + "increase": "Augmente", + "decrease": "Baisse", + "blessed": "accordé sa bénédiction", + "cursed": "jeté une malédiction" + } + }, + "PokemonBaseStatFlatModifierType": { + "name": "Vieux Gâteau", + "description": "Augmente de {{statValue}} {{stats}} de base du porteur. Trouvé après un étrange rêve." + }, "AllPokemonFullHpRestoreModifierType": { "description": "Restaure tous les PV de toute l’équipe." }, @@ -247,7 +261,13 @@ "ENEMY_ATTACK_BURN_CHANCE": { "name": "Jeton Brulure" }, "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { "name": "Jeton Total Soin", "description": "Ajoute 2,5% de chances à chaque tour de se soigner d’un problème de statut." }, "ENEMY_ENDURE_CHANCE": { "name": "Jeton Ténacité" }, - "ENEMY_FUSED_CHANCE": { "name": "Jeton Fusion", "description": "Ajoute 1% de chances qu’un Pokémon sauvage soit une fusion." } + "ENEMY_FUSED_CHANCE": { "name": "Jeton Fusion", "description": "Ajoute 1% de chances qu’un Pokémon sauvage soit une fusion." }, + + "MYSTERY_ENCOUNTER_SHUCKLE_JUICE": { "name": "Jus de Caratroc" }, + "MYSTERY_ENCOUNTER_BLACK_SLUDGE": { "name": "Boue Noire", "description": "Sa puenteur est telle que la boutique ne vous vendra que des objets aux prix fortement augmentés." }, + "MYSTERY_ENCOUNTER_MACHO_BRACE": { "name": "Bracelet Macho", "description": "Battre un Pokémon donnera à son porteur un lot de Bracelet Macho. Chacun augmentant légèrement les stats, avec un bonus au max de lots." }, + "MYSTERY_ENCOUNTER_OLD_GATEAU": { "name": "Vieux Gâteau", "description": "Augmente de {{statValue}} {{stats}} de base du porteur." }, + "MYSTERY_ENCOUNTER_GOLDEN_BUG_NET": { "name": "Filet Doré", "description": "Impreigne son propriétaire d’une chance qui attire les Pokémon Insecte. Sa prise en main est étrange." } }, "SpeciesBoosterItem": { "LIGHT_BALL": { "name": "Balle Lumière", "description": "À faire tenir à Pikachu. Un orbe énigmatique qui double son Attaque et son Atq. Spé. ." }, diff --git a/src/locales/fr/mystery-encounter-messages.json b/src/locales/fr/mystery-encounter-messages.json new file mode 100644 index 00000000000..a4394d7d503 --- /dev/null +++ b/src/locales/fr/mystery-encounter-messages.json @@ -0,0 +1,7 @@ +{ + "paid_money": "Vous payez {{amount, number}} ₽.", + "receive_money": "Vous recevez {{amount, number}} ₽ !", + "affects_pokedex": "Affecte les données du Pokédex", + "cancel_option": "Retour au choix des options.", + "view_party_button": "Voir l’Équipe" +} diff --git a/src/locales/fr/mystery-encounters/a-trainers-test-dialogue.json b/src/locales/fr/mystery-encounters/a-trainers-test-dialogue.json new file mode 100644 index 00000000000..d82af9b5eca --- /dev/null +++ b/src/locales/fr/mystery-encounters/a-trainers-test-dialogue.json @@ -0,0 +1,47 @@ +{ + "intro": "Quelqu’un à l’air très balèze s’apporche de vous…", + "buck": { + "intro_dialogue": "Oh, salut toi, je suis Cornil !$J’ai une bonne affaire à proposer\npour quelqu’un d’aussi costaud que toi !$J’ai deux Œufs de Pokémon sur moi,\net j’aimerais que quelqu’un prenne soin d’un.$Si t’arrives à me prouver que t’en est digne,\nje te donne l’Œuf le plus rare !", + "accept": "Hé, hé hé ! Tu mets le feu !", + "decline": "Hé ! Ton équipe\nn’a pas l’air au meilleur de sa forme.$Attends, laisse-moi t’aider." + }, + "cheryl": { + "intro_dialogue": "Bonjour, mon nom est Sara.$J’ai une requête un peu particulière à proposer,\nà quelqu’un de plutôt fort comme toi.$Je porte avec moi deux Œufs de Pokémon,\nmais j’aimerais que quelqu’un prenne soin d’un.$Si tu parviens à me démontrer toute ta force,\nje te donne l’Œuf le plus rare !", + "accept": "On y va ?", + "decline": "Je peux comprendre. Il semblerait que\nton équipe ne soit pas très en forme là.$Laisse-moi m’en occuper." + }, + "marley": { + "intro_dialogue": "Je…@d{64} je m’appelle Viviane.$Je peux te demander un truc ?…$J’ai deux Œufs de Pokémon sur moi,\net j’aimerais que quelqu’un prenne soin d’un.$Si t’arrives à me battre,\nje te donne le plus rare…", + "accept": "… D’accord.", + "decline": "… D’accord.$Tes Pokémon on l’air blessés…\nLaisse-moi les aider." + }, + "mira": { + "intro_dialogue": "Salut ! Moi, c’est Maïté!$J’ai quelque chose\nà demander à quelqu’un de fortiche comme toi !$J’ai deux Œufs de Pokémon sur moi,\net j’aimerais que quelqu’un prenne soin d’un d’eux !$Si t’acceptes de me prouver ta force,\nje te donnerai le plus rare !", + "accept": "Un combat, pour de vrai ?\nOuiiiii !", + "decline": "Oh, pas de combat ?\nPas grave !$Je vais quand même soigner ton équipe !" + }, + "riley": { + "intro_dialogue": "Enchanté, je m’appelle Armand.$J’ai une proposition un peu étange\npour une personne de ton calibre.$Je poste deux Œufs de Pokémon avec moi\nmais j’aimerais en donner un à quelqu’un d’autre.$Si tu prouves en être digne,\nje te donnerai le plus rare !", + "accept": "Ce regard…\nBattons-nous.", + "decline": "Je comprends, ton équpie m’a l’air lessivée.$Laisse-moi t’aider." + }, + "title": "Prouver sa valeur", + "description": "Cette personne semble déterminée à vous donner un Œuf, qu’importe votre décision. Cependant, si vous parvenez à la battre, vous recevrez l’Œuf le plus rare.", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Accepter le défi", + "tooltip": "(-) Combat difficile\n(+) Gain d’un @[TOOLTIP_TITLE]{Œuf très rare}" + }, + "2": { + "label": "Décliner le défi", + "tooltip": "(+) Équipe soignée \n(+) Gain d’un @[TOOLTIP_TITLE]{Œuf}" + } + }, + "eggTypes": { + "rare": "Œuf Rare", + "epic": "Œuf Épique", + "legendary": "Œuf Légendaire" + }, + "outro": "{{statTrainerName}} vous donne un {{eggType}} !" +} diff --git a/src/locales/fr/mystery-encounters/absolute-avarice-dialogue.json b/src/locales/fr/mystery-encounters/absolute-avarice-dialogue.json new file mode 100644 index 00000000000..47c1889227d --- /dev/null +++ b/src/locales/fr/mystery-encounters/absolute-avarice-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "Un {{greedentName}} vous tend une embuscade\net vole les Baies de votre équipe !", + "title": "Rongrigus-ratus", + "description": "Un {{greedentName}} vous a pris par surprise et a volé toutes vos Baies !\n\nIl semble sur le point de les dévorer mais s’arrête et vous fixe, l’air intéressé.", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "L’affronter", + "tooltip": "(-) Combat difficile\n(+) Récompenses de sa planque à Baies", + "selected": "Le {{greedentName}} gonfle ses joues\net se prépare au combat !", + "boss_enraged": "L’insatiable amour de {{greedentName}}\npour la nourriture le rend fou !", + "food_stash": "Il semblerait que {{greedentName}}\ngardait une pile de nourriture colossale !$@s{item_fanfare}Tous les Pokémon de votre équipe\nremportent une {{foodReward}} !" + }, + "2": { + "label": "Négocier", + "tooltip": "(+) Regagner quelques Baies", + "selected": "Vos arguments ont touché {{greedentName}}\nsur sa corde sensible.$Il accepte malgré tout de vous balancer\nquelques Baies et se garde le reste." + }, + "3": { + "label": "Lui laisser les Baies", + "tooltip": "(-) Baies définitement perdues\n(?) {{greedentName}} vous apprécie", + "selected": "Le {{greedentName}} engloutit l’intégralité\ndes Baies en un éclair !$Il vous regarde avec tendresse\nen se tapotant le ventre.$Peut-être pourriez-vous lui en donner encore\nplus pendant votre périple…$@s{level_up_fanfare}Le {{greedentName}} veut rejoindre votre équipe !" + } + } +} diff --git a/src/locales/fr/mystery-encounters/an-offer-you-cant-refuse-dialogue.json b/src/locales/fr/mystery-encounters/an-offer-you-cant-refuse-dialogue.json new file mode 100644 index 00000000000..e87cbc4dfbc --- /dev/null +++ b/src/locales/fr/mystery-encounters/an-offer-you-cant-refuse-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Un jeune garçon aux airs très bougeois vous arrête.", + "speaker": "Richard", + "intro_dialogue": "Bonchour-haann !$Je ne puis carrément pas ignorer que votre\n{{strongestPokemon}} m’a l’air fa-bu-leux-han !$J’ai toujours désiré posséder un tel Pokémon !$Je peux vous payer grassement,\nainsi que vous donner petite babiole-han !", + "title": "L’affaire du siècle", + "description": "Un fils à papa vous offre un @[TOOLTIP_TITLE]{Charme Chroma} et {{price, money}} en échange de votre {{strongestPokemon}} !\n\nÇa semble être une bonne affaire, mais pourrez vous supporter de priver votre équipe d’un tel atout ?", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Accepter l’offre", + "tooltip": "(-) Vous perdez {{strongestPokemon}}\n(+) Gain d’un @[TOOLTIP_TITLE]{Charme Chroma}\n(+) Gain de {{price, money}}", + "selected": "Fa-bu-leux-han !@d{32} Par ici, {{strongestPokemon}} !$Viens que je te montre fièrement au club de yacht !$Ils vont trooop avoir le seum-haann !" + }, + "2": { + "label": "Le racketter", + "tooltip": "(+) {{option2PrimaryName}} utilise {{moveOrAbility}}\n(+) Gain de {{price, money}}", + "tooltip_disabled": "Votre Pokémon doit connaitre certaines capacités ou talents pour choisir cette option", + "selected": "Oh les aïeux-haann ! {{liepardName}}, on se fait voler !$Attends que je t’envoie mes avocats !" + }, + "3": { + "label": "Partir", + "tooltip": "(-) Aucune récompense", + "selected": "Quelle journée pourrie…$Viens {{liepardName}}.\nOn retourne au club de yacht…" + } + } +} diff --git a/src/locales/fr/mystery-encounters/berries-abound-dialogue.json b/src/locales/fr/mystery-encounters/berries-abound-dialogue.json new file mode 100644 index 00000000000..e97519b88a1 --- /dev/null +++ b/src/locales/fr/mystery-encounters/berries-abound-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Il y a un gros buisson à Baies\nprès de ce Pokémon !", + "title": "Baies à gogo", + "description": "Un Pokémon a l’air de monter la garde de ce buisson à Baies. Vous pourriez aller frontalement au combat, mais il a l’air costaud. Un Pokémon rapide pourrait peut-être en attraper quelques-unes sans se faire prendre ?", + "query": "Que voulez-vous faire ?", + "berries": "Des Baies !", + "option": { + "1": { + "label": "L’affronter", + "tooltip": "(-) Combat difficile\n(+) Gain de Baies", + "selected": "Vous approchez\nle Pokémon sans frémir." + }, + "2": { + "label": "Foncer au buisson", + "tooltip": "(-) {{fastestPokemon}} utilise sa Vitesse\n(+) Gain de Baies", + "selected": "Votre {{fastestPokemon}} fonce vers le buisson !$Il en arrache {{numBerries}} avant que {{enemyPokemon}} ne parvienne à réagir !$Vous prenez vos jambes à votre cou avec votre butin.", + "selected_bad": "Votre {{fastestPokemon}} fonce vers le buisson !$Oh non ! Le {{enemyPokemon}} est plus rapide et bloque l’accès au buisson !", + "boss_enraged": "Le {{enemyPokemon}} ennemi s’énerve !" + }, + "3": { + "label": "Partir", + "tooltip": "(-) Aucune récompense", + "selected": "Vous renoncez à ce Pokémon avec\nson butin et continuez votre route." + } + } +} diff --git a/src/locales/fr/mystery-encounters/bug-type-superfan-dialogue.json b/src/locales/fr/mystery-encounters/bug-type-superfan-dialogue.json new file mode 100644 index 00000000000..459f3891730 --- /dev/null +++ b/src/locales/fr/mystery-encounters/bug-type-superfan-dialogue.json @@ -0,0 +1,40 @@ +{ + "intro": "Une Dresseur un peu étrange avec tout un attirail pour Insectes vous bloque la route !", + "intro_dialogue": "Hé, toi ! Je suis en mission, je dois trouver le Pokémon Inscete le plus rare du monde !$Toi aussi t’aimes les Pokémon Insecte, non ?\nTout le monde aime les Pokémon Insecte !", + "title": "Le Fan d’entomologie", + "speaker": "Fan d’entomologie", + "description": "Ce Dresseur est un vrai moulin à parole, il ne vous laisse aucune ouverture pour répondre…\n\nMais attirer son attention semble être le seul moyen possible de vous sortir de là !", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Proposer un combat", + "tooltip": "(-) Combat compliqué\n(+) Apprendre une capacité Insecte à un Pokémon", + "selected": "Un combat hein ?\nMes Insectes sont plus que prêts !" + }, + "2": { + "label": "Montrer vos types Insecte", + "tooltip": "(+) Revecez un objet en cadeau", + "disabled_tooltip": "Vous devez avoir au moins un Pokémon Insecte dans votre équipe pour choisir cette option.", + "selected": "Vous lui montrez tous les types Insecte de votre équipe…", + "selected_0_to_1": "Oh ? T’as qu’{{numBugTypes}}…$Pourquoi je gaspille ma salive à te parler…", + "selected_2_to_3": "Oh, t’as {{numBugTypes}} !\nC’est pas si mal.$Tiens, voilà qui devrait t’aider dans ta quête pour en attraper encore plus !", + "selected_4_to_5": "Quoi ? T’as {{numBugTypes}} ?\nSympa !$T’en est pas encore à mon niveau, mais je me reconnais un peu en toi !\n$Prends ça mon poulain, c’est cadeau !", + "selected_6": "Impressionnant ! {{numBugTypes}} !\n$Tu dois vraiment les aimer presque autant que moi !$Tiens, accepte ceci en signe de notre camaraderie !" + }, + "3": { + "label": "Donner un objet Insecte", + "tooltip": "(-) Lui donner l’objet {{requiredBugItems}}\n(+) Revecez un objet en cadeau", + "disabled_tooltip": "Vous avez besoin d’un objet {{requiredBugItems}} pour choisir cette option.", + "select_prompt": "Choisissez un objet à donner.", + "invalid_selection": "Ce Pokémon ne porte pas ce genre d’objet.", + "selected": "Vous remettez l’objet {{selectedItem}} au Dresseur.", + "selected_dialogue": "Sérieux ? {{selectedItem}}, comme ça en cadeau ?\nC’est très générieux !$En guise de ma reconnaissance, laisse-moi\nte faire un cadeau un peu spécial !$Il est dans ma famille depusi des générations, et ça me ferait plaisir de te l’offrir !" + } + }, + "battle_won": "Tes connaissances et tes capacités ont totalement exploité nos faiblesses !$En remerciement de cette leçon, permets-moi\nd’apprendre une capacité Insecte à un de tes Pokémon !", + "teach_move_prompt": "Sélectionnez une capacité à enseigner.", + "confirm_no_teach": "T’es sûr·e de vouloir renoncer à une des ces incroyables capacités ?", + "outro": "Je te prédis un futur plein d’incroyables Insectes !\nJ’espère qu’on se reverra !$À plus !", + "numBugTypes_one": "{{count}} type Insecte", + "numBugTypes_other": "{{count}} types Insecte" +} diff --git a/src/locales/fr/mystery-encounters/clowning-around-dialogue.json b/src/locales/fr/mystery-encounters/clowning-around-dialogue.json new file mode 100644 index 00000000000..c6ed0008eaf --- /dev/null +++ b/src/locales/fr/mystery-encounters/clowning-around-dialogue.json @@ -0,0 +1,34 @@ +{ + "intro": "Mais c’est…@d{64} un clown ?", + "speaker": "Clown", + "intro_dialogue": "Eh toi, tu m’as l’air clownesque !\nPrépare-toi pour un combat magistral !$Je vais te montrer ce que sont les arts de la rue !", + "title": "Bouffonneries", + "description": "Quelque chose semble louche. Ce Clown a l’air très motivé de vous provoquer en combat, mais dans quel but ?\n\nSon {{blacephalonName}} est très étrange, comme s’il possédait @[TOOLTIP_TITLE]{des types et un talent inhabituels.}", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Affronter le Clown", + "tooltip": "(-) Combat étrange\n(?) Affecte les talents des Pokémon", + "selected": "Vos Pokémon sont prêts pour cette performance pathétique !", + "apply_ability_dialogue": "Un spectacle sensationnel !\nVotre savoir-faire est en harmonie avec vos compétences !", + "apply_ability_message": "Le Clown vous propose d’Échanger définitivement le talent d’un de vos Pokémon contre {{ability}} !", + "ability_prompt": "Voulez-vous définitivement donner le talent {{ability}} à un Pokémon ?", + "ability_gained": "@s{level_up_fanfare}{{chosenPokemon}} obtient le talent {{ability}} !" + }, + "2": { + "label": "Rester de marbre", + "tooltip": "(-) Agace le Clown\n(?) Affecte les objets de vos Pokémon", + "selected": "Ça se défile lâchement d’un duel exceptionnel ?\nDans ce cas, tâte à ma colère !", + "selected_2": "Le {{blacephalonName}} du Clown utilise\nTour de Magie !$Tous les objets de {{switchPokemon}}\nsont échangés au hasard !", + "selected_3": "Sombre imbécile, tombe dans mon piège !" + }, + "3": { + "label": "Retouner les insultes", + "tooltip": "(-) Agace le Clown\n(?) Affecte les types de vos Pokémon", + "selected": "Ça se défile lâchement d’un duel exceptionnel ?\nDans ce cas, tâte à ma colère !", + "selected_2": "Le {{blacephalonName}} du Clown utilise\nune étrange capacité !$Tous les types de votre équipe\nsont échangés au hasard !", + "selected_3": "Sombre imbécile, tombe dans mon piège !" + } + }, + "outro": "Le Clown et sa bande disparaissent\ndans un nuage de fumée." +} diff --git a/src/locales/fr/mystery-encounters/dancing-lessons-dialogue.json b/src/locales/fr/mystery-encounters/dancing-lessons-dialogue.json new file mode 100644 index 00000000000..61a5049a7c7 --- /dev/null +++ b/src/locales/fr/mystery-encounters/dancing-lessons-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Un {{oricorioName}} danse tristement seul,\nsans partenaire pour l’accompagner.", + "title": "Leçons de danse", + "description": "Ce {{oricorioName}} ne semble pas hostile, mais a tout au plus juste l’air triste.\n\nPeut-être a-t-il juste besoin d’un ou d’une partenaire pour l’accompagner ?…", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "L’affronter", + "tooltip": "(-) Combat difficile\n(+) Gain d’un Bâton", + "selected": "Le {{oricorioName}} est desemparé\net tente de se défendre !", + "boss_enraged": "La peur de {{oricorioName}} augmente beaucoup ses stats !" + }, + "2": { + "label": "Apprendre sa danse", + "tooltip": "(+) Apprendre Danse Éveil à un Pokémon", + "selected": "Vos scrutez {{oricorioName}} de près pendant sa danse…$@s{level_up_fanfare}Votre {{selectedPokemon}} apprend la capacité\nDanse Éveil de {{oricorioName}} !" + }, + "3": { + "label": "Montrer une danse", + "tooltip": "(-) Apprendre à {{oricorioName}} une capacité dansante\n(+) Le {{oricorioName}} vous apprécie", + "disabled_tooltip": "Votre Pokémon doit connaitre une capacité dansante pour choisir cette option.", + "select_prompt": "Sélectionnez une capacité dansante.", + "selected": "Le {{oricorioName}} observe avec fascination\n{{selectedPokemon}} exécuter {{selectedMove}} !$Il adore le démonstration !$@s{level_up_fanfare}Le {{oricorioName}} veut se joindre à votre équipe !" + } + }, + "invalid_selection": "Il ne connait aucune capacité dansante" +} diff --git a/src/locales/fr/mystery-encounters/dark-deal-dialogue.json b/src/locales/fr/mystery-encounters/dark-deal-dialogue.json new file mode 100644 index 00000000000..3d419eedf8e --- /dev/null +++ b/src/locales/fr/mystery-encounters/dark-deal-dialogue.json @@ -0,0 +1,24 @@ + + +{ + "intro": "Un homme suspect vêtu d’une blouse en lambeaux\nse tient au milieu du chemin…", + "speaker": "Savant fou", + "intro_dialogue": "Hé, toi !$Je travaille sur un dispositif qui permet d’éveiller\nla vraie puissance d’un Pokémon !$Il restructure complètement les atomes du Pokémon\npour en faire une version bien plus puissante.$Héhé…@d{64} Je n’ai besoin que de sac-@d{32}\nEuuh, sujets tests, pour prouver son fonctionnement.", + "title": "L’Expérience interdite", + "description": "Ce scientifique à l’air un peu taré tient dans ses mains quelques Poké Balls.\n« T’inquites pas, je gère ! Voilà quelques Poké Balls plutôt efficaces en caution, tout ce dont j’ai besoin, c’est un de tes Pokémon ! Héhé… »", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Accepter", + "tooltip": "(+) 5 Rogue Balls\n(?) Améliore un Pokémon au hasard", + "selected_dialogue": "Ah bien, ton {{pokeName}} fera parfaitement l’affaire !$Je précise que si quelque chose tourne mal,\nje ne suis pas responsable !@d{32} Héhé…", + "selected_message": "L’homme vous remet 5 Rogue Balls.$Votre {{pokeName}} saute dans l’étrange dispositif…$Le dispositif émet des lumières\nclignotantes et des bruits douteux !$…@d{96} Quelque chose sort du dispositif avec fureur !" + }, + "2": { + "label": "Refuser", + "tooltip": "(-) Aucune récompense", + "selected": "On a même plus le droit de rendre service maintenant ?\nPfff !" + } + }, + "outro": "Après cette épuisante rencontre,\nvous reprenez vos esprits et repartez." +} diff --git a/src/locales/fr/mystery-encounters/delibirdy-dialogue.json b/src/locales/fr/mystery-encounters/delibirdy-dialogue.json new file mode 100644 index 00000000000..20c878db24f --- /dev/null +++ b/src/locales/fr/mystery-encounters/delibirdy-dialogue.json @@ -0,0 +1,29 @@ + + +{ + "intro": "Une horde de {{delibirdName}} apparait !", + "title": "Cas d’oiseaux", + "description": "Les {{delibirdName}} vous scrutent avec curiosité, comme s’ils attendaient quelque chose. Peut-être que leur donner un objet ou un peu d’argent pourrait les satisfaire ?", + "query": "Que voulez-vous faire ?", + "invalid_selection": "Ce Pokémon ne porte pas ce genre d’objet.", + "option": { + "1": { + "label": "Donner de l’argent", + "tooltip": "(-) Donner {{money, money}} aux {{delibirdName}}\n(+) Recevez un objet", + "selected": "Vous lancez de l’argent aux {{delibirdName}},\nqui se lancent dans une grande délibération.$Ils reviennent ravis vers vous avec un cadeau !" + }, + "2": { + "label": "Donner de la nourriture", + "tooltip": "(-) Donner une Baie ou une Résugraine aux {{delibirdName}}\n(+) Recevez un objet", + "select_prompt": "Sélectionnez un objet à donner.", + "selected": "Vous lancez la {{chosenItem}} aux {{delibirdName}},\nqui se lancent dans une grande délibération.$Ils reviennent ravis vers vous avec un cadeau !" + }, + "3": { + "label": "Donner un objet", + "tooltip": "(-) Donner un objet tenu aux {{delibirdName}}\n(+) Recevez un objet", + "select_prompt": "Sélectionnez un objet à donner.", + "selected": "Vous lancez l’objet {{chosenItem}} aux {{delibirdName}},\nqui se lancent dans une grande délibération.$Ils reviennent ravis vers vous avec un cadeau !" + } + }, + "outro": "La horde de {{delibirdName}} repartent dans la joie.$Un bien curieux échange !" +} diff --git a/src/locales/fr/mystery-encounters/department-store-sale-dialogue.json b/src/locales/fr/mystery-encounters/department-store-sale-dialogue.json new file mode 100644 index 00000000000..fc06aa05582 --- /dev/null +++ b/src/locales/fr/mystery-encounters/department-store-sale-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Il y a une dame avec des tas de sacs de courses\nà ne savoir qu’en faire.", + "speaker": "Cliente", + "intro_dialogue": "Bonjour !\nToi aussi t’es là pour les incroyables promos ?$Il y a un coupon spécial que tu peux utiliser en échange\nd’un objet gratuit pendant toute la durée de la promo !$J’en ai un en trop.\nTiens, prends-le !", + "title": "Promos au Centre Commercial", + "description": "Tellement de choix que votre regard ne sait plus où se porter !\nIl y a 4 comptoirs auprès desquels vous pouvez dépenser ce coupon parmi une grande variété d’objets.", + "query": "À quel comptoir se rendre ?", + "option": { + "1": { + "label": "CT", + "tooltip": "(+) CT dans la boutique" + }, + "2": { + "label": "Accélérateurs", + "tooltip": "(+) Accélérateurs dans la boutique" + }, + "3": { + "label": "Objets de Combat", + "tooltip": "(+) Objets de boost dans la boutique" + }, + "4": { + "label": "Poké Balls", + "tooltip": "(+) Poké Balls dans la boutique" + } + }, + "outro": "Quelle affaire !\nVous devriez revenir y faire vos achats plus souvent." +} diff --git a/src/locales/fr/mystery-encounters/field-trip-dialogue.json b/src/locales/fr/mystery-encounters/field-trip-dialogue.json new file mode 100644 index 00000000000..601a46c069a --- /dev/null +++ b/src/locales/fr/mystery-encounters/field-trip-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "C’est une enseignante avec ses élèves !", + "speaker": "Enseignante", + "intro_dialogue": "Hé, bonjour !\nAurais-tu une minute à accorder à mes élèves ?$Je leur apprends ce que sont les capacités et\nj’adorerais que tu leur fasse une démosntration.$Tu serais d’accord pour nous montrer ça\navec un de tes Pokémon ?", + "title": "Sortie scolaire", + "description": "Une enseignante vous demande de faire la démonstration d’une capacité d’un de vos Pokémon.\nEn fonction de la capacité, elle pourrait vous donner quelque chose d’utile.", + "query": "Utiliser quelle catégorie de capacité ?", + "option": { + "1": { + "label": "Physique", + "tooltip": "(+) Objets de boost axés sur le Physique à la prochaine boutique" + }, + "2": { + "label": "Spéciale", + "tooltip": "(+) Objets de boost axés sur le Spécial à la prochaine boutique" + }, + "3": { + "label": "De Statut", + "tooltip": "(+) Objets de boost axés sur le Statut à la prochaine boutique" + }, + "selected": "{{pokeName}} fait une incroyable démonstration de sa capacité {{move}} !" + }, + "second_option_prompt": "Choisissez une capacité à utiliser.", + "incorrect": "…$Ce n’est pas une capacité {{moveCategory}} !\nJe suis désolée, mais je ne peux rien te donner.$Venez les enfants, on va trouver mieux ailleurs.", + "incorrect_exp": "Il semble que vous avez appris une précieuse leçon ?$Votre Pokémon a gagné un peu d’expérience.", + "correct": "Merci beaucoup de nous avoir accordé de ton temps !\nJ’espère que ces quelques objets de seront utiles !", + "correct_exp": "{{pokeName}} a aussi gagné un beaucoup d’expérience !", + "status": "de Statut", + "physical": "Physique", + "special": "Spéciale" +} diff --git a/src/locales/fr/mystery-encounters/fiery-fallout-dialogue.json b/src/locales/fr/mystery-encounters/fiery-fallout-dialogue.json new file mode 100644 index 00000000000..f85f64830ad --- /dev/null +++ b/src/locales/fr/mystery-encounters/fiery-fallout-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Un vent incandescent de fumées et de cendres\nvous fonce dessus !", + "title": "Fait chaud là, non ?", + "description": "La visiblité est quasi nulle à cause des cendres et les braises tourbillonnantes. Il doit forcément y avoir une quelconque source responsable de ces conditions. Mais que pourrait causer un phénomène d’une telle ampleur ?", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Chercher la source", + "tooltip": "(?) Trouver la source\n(-) Combat difficile", + "selected": "Vous pénétrez tant bien que mal dans la tempête et y trouvez deux {{volcaronaName}} en pleine parade nuptiale !$Ils n’apprécient guère d’avoir été interrompus\net vous attaquent !" + }, + "2": { + "label": "S’accroupir", + "tooltip": "(-) Subir la météo", + "selected": "Les effets météorologiques causent d’importantes blessures alors que vous cherchez un abri !$Votre équipe perd 20% de ses PV totaux !", + "target_burned": "Votre {{burnedPokemon}} est également brulé !" + }, + "3": { + "label": "Un type Feu à l’aide", + "tooltip": "(+) Met fin à la météo\n(+) Gain d’un Charbon", + "disabled_tooltip": "Vous avez besoin d’au moins 2 Pokémon Feu pour choisir cette option", + "selected": "Vos {{option3PrimaryName}} et {{option3SecondaryName}} vous guident et tombez sur deux {{volcaronaName}} en pleine parade nuptiale !$Heureusement, vos Pokémon parviennent à les calmer, et passent leur chemin sans causer de problèmes." + } + }, + "found_charcoal": "Alors que la météo se calme, votre {{leadPokemon}} repère quelque chose au sol.$@s{item_fanfare}{{leadPokemon}} obtient\nun Charobn !" +} diff --git a/src/locales/fr/mystery-encounters/fight-or-flight-dialogue.json b/src/locales/fr/mystery-encounters/fight-or-flight-dialogue.json new file mode 100644 index 00000000000..d5c6bb7513d --- /dev/null +++ b/src/locales/fr/mystery-encounters/fight-or-flight-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "Quelque chose d’une lueur éclatante\nbrille sur sol près de ce Pokémon !", + "title": "Voler ou s’envoler", + "description": "Un puissant Pokémon semble monter la garde d’un objet. Vous pourriez aller frontalement au combat, mais il a l’air costaud. Avec le bon Pokémon, vous pourriez peut-être voler l’objet sans vous faire prendre ?", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "L’affronter", + "tooltip": "(-) Combat difficile\n(+) Nouvel objet", + "selected": "Vous approchez\nle Pokémon sans frémir.", + "stat_boost": "Les forces dormantes de {{enemyPokemon}}\naugmentent une de ses stats !" + }, + "2": { + "label": "Voler l’objet", + "disabled_tooltip": "Votre Pokémon doit connaitre certaines capacités pour choisir cette option", + "tooltip": "(+) {{option2PrimaryName}} utilise {{option2PrimaryMove}}", + "selected": ".@d{32}.@d{32}.@d{32}$Votre {{option2PrimaryName}} vous aide avec sa capacité {{option2PrimaryMove}} !$Vous dérobez l’objet !" + }, + "3": { + "label": "Partir", + "tooltip": "(-) Aucune récompense", + "selected": "Vous renoncez à ce Pokémon avec\nson butin et continuez votre route." + } + } +} diff --git a/src/locales/fr/mystery-encounters/fun-and-games-dialogue.json b/src/locales/fr/mystery-encounters/fun-and-games-dialogue.json new file mode 100644 index 00000000000..cda660393c4 --- /dev/null +++ b/src/locales/fr/mystery-encounters/fun-and-games-dialogue.json @@ -0,0 +1,30 @@ +{ + "intro_dialogue": "Approchez mesdames et messieurs !$Tentez votre chance au tout nouveau\nRipost-o-matic de {{wobbuffetName}} !", + "speaker": "Animateur", + "title": "Du rire et des jeux !", + "description": "Vous rencontrez un forain avec une mailloche ! Vous disposez de @[TOOLTIP_TITLE]{3 tours} pour amener {{wobbuffetName}} le plus près possible de @[TOOLTIP_TITLE]{1 PV} pour ainsi charger la Riposte la plus puissante possible, @[TOOLTIP_TITLE]{sans le mettre K.O.} .\nMais attention ! Si {{wobbuffetName}} est mis K.O., vous devrez payer pour le ranimer !", + "query": "Voulez-vous jouer ?", + "option": { + "1": { + "label": "Jouer", + "tooltip": "(-) Payer {{option1Money, money}}\n(+) Jouer au Ripost-o-matic", + "selected": "Vous tentez votre chance !" + }, + "2": { + "label": "Partir", + "tooltip": "(-) Aucune récompense", + "selected": "Vous passez votre chemin,\navec un léger sentiment de regret." + } + }, + "ko": "Oh non ! Le {{wobbuffetName}} est K.O. !$Vous avez perdu et devez maintenant\npayer pour le ranimer…", + "charging_continue": "Le Qulbutoké charge\nsa Riposte !", + "turn_remaining_3": "Trois tours restants !", + "turn_remaining_2": "Deux tours restants !", + "turn_remaining_1": "Un tour restant !", + "end_game": "Tous vos tours sont écoulés !$Le {{wobbuffetName}} relâche\nsa Riposte et@d{16}.@d{16}.@d{16}.", + "best_result": "Le {{wobbuffetName}} éclate le bouton si fort\nque la cloche crève le plafond !$Vous remportez le premier prix !", + "great_result": "Le {{wobbuffetName}} éclate le bouton,\net touche presque la cloche !$Mince, à deux doigts !\nVous remportez le deuxième prix !", + "good_result": "Le {{wobbuffetName}} tape le bouton assez fort\npour atteindre la moitié !$Vous remportez le troisième prix !", + "bad_result": "Le {{wobbuffetName}} touche à peine le bouton et rien ne se passe…$Oh non, dommage !\nVous repartez les mains vides !", + "outro": "Ouais, ça va, c’était sympa comme jeu !" +} diff --git a/src/locales/fr/mystery-encounters/global-trade-system-dialogue.json b/src/locales/fr/mystery-encounters/global-trade-system-dialogue.json new file mode 100644 index 00000000000..6caafc3c82d --- /dev/null +++ b/src/locales/fr/mystery-encounters/global-trade-system-dialogue.json @@ -0,0 +1,32 @@ +{ + "intro": "C’est une interface d’accès à la GTS !", + "title": "La GTS", + "description": "Ah, la GTS ! Une révolution technologique permettant de connecter le monde au travers des échanges de Pokémon !\n\nLa chance va-t-elle vous sourire aujourd’hui ?", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Consulter les offres", + "tooltip": "(+) Sélectionner une offre d’échange pour un de vos Pokémon", + "trade_options_prompt": "Choisissez un Pokémon à recevoir en échange." + }, + "2": { + "label": "Échange Miracle", + "tooltip": "(+) Envoyer un de vos Pokémon à la GTS et en recevoir un au hasard" + }, + "3": { + "label": "Échanger un objet", + "trade_options_prompt": "Choisissez l’objet à envoyer.", + "invalid_selection": "Ce Pokémon n’a aucun objet légal à échanger.", + "tooltip": "(+) Envoyer un de vos objets à la GTS et en recevoir un au hasard" + }, + "4": { + "label": "Partir", + "tooltip": "(-) Aucune récompense", + "selected": "Pas le temps pour ça aujourd’hui !\nVous reprenez votre chemin." + } + }, + "pokemon_trade_selected": "{{tradedPokemon}} est envoyé\nà {{tradeTrainerName}}.", + "pokemon_trade_goodbye": "Au revoir, {{tradedPokemon}}!", + "item_trade_selected": "{{chosenItem}} est envoyé à\n{{tradeTrainerName}}.$.@d{64}.@d{64}.@d{64}\n@s{level_up_fanfare}Échangé terminé !$Vous recevez l’objet {{itemName}}\nde {{tradeTrainerName}} !", + "trade_received": "@s{evolution_fanfare}{{tradeTrainerName}} a envoyé {{received}} !" +} diff --git a/src/locales/fr/mystery-encounters/lost-at-sea-dialogue.json b/src/locales/fr/mystery-encounters/lost-at-sea-dialogue.json new file mode 100644 index 00000000000..9d74266cdcf --- /dev/null +++ b/src/locales/fr/mystery-encounters/lost-at-sea-dialogue.json @@ -0,0 +1,28 @@ +{ + "intro": "Vous errez sans but en pleine mer\net n’arrivez à rien.", + "title": "Un cap pas clair", + "description": "La mer n’est pas très clémente dans cette zone et vous vous sentez faiblir à petit feu.\nÇa commence à sentir le roussi.\nEst-il au moins possible de se sortir de cette situation ?", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "{{option1PrimaryName}} à l’aide", + "label_disabled": "{{option1RequiredMove}} impossible", + "tooltip": "(+) {{option1PrimaryName}} vous sauve\n(+) {{option1PrimaryName}} gagne un peu d’Exp", + "tooltip_disabled": "Vous n’avez aucun Pokémon avec {{option1RequiredMove}}", + "selected": "{{option1PrimaryName}} nage en tête et vous guide.${{option1PrimaryName}} semble ressorti plus fort de cette épreuve difficile !" + }, + "2": { + "label": "{{option2PrimaryName}} à l’aide", + "label_disabled": "{{option2RequiredMove}} impossible", + "tooltip": "(+) {{option2PrimaryName}} vous sauve\n(+) {{option2PrimaryName}} gagne un peu d’Exp", + "tooltip_disabled": "Vous n’avez aucun Pokémon avec {{option2RequiredMove}}", + "selected": "{{option2PrimaryName}} vole au dessus de votre embarcation et vous guide.${{option2PrimaryName}} semble ressorti plus fort de cette épreuve difficile !" + }, + "3": { + "label": "Naviguer au jugé", + "tooltip": "(-) Votre équipe perd {{damagePercentage}}% de ses PV totaux", + "selected": "Vous vous laissez porter sans but par les vagues, quand soudainement vous remarquez un lieu famillier.$Vous et vos Pokémon êtes compètement rincés\nde fatigue par cette épreuve." + } + }, + "outro": "Vous retrouvez un cap clair." +} diff --git a/src/locales/fr/mystery-encounters/mysterious-challengers-dialogue.json b/src/locales/fr/mystery-encounters/mysterious-challengers-dialogue.json new file mode 100644 index 00000000000..f43fdfa6db0 --- /dev/null +++ b/src/locales/fr/mystery-encounters/mysterious-challengers-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "De mystérieux adversaires apparissent !", + "title": "De mystérieux adversaires", + "description": "Si vous défaites un de ces adversaires, vous pourriez peut-être recevoir une récompense si vous les avez impressionnés.\nCertains ont cependant l’air bien coriaces. Acceptez-vous le défi ?", + "query": "Qui voulez-vous affronter ?", + "option": { + "1": { + "label": "Adversaire lucide", + "tooltip": "(-) Combat normal\n(+) Objets de capacités" + }, + "2": { + "label": "Adversaire difficile", + "tooltip": "(-) Combat difficile\n(+) Bonnes récompenses" + }, + "3": { + "label": "Adversaire puissant", + "tooltip": "(-) Combat brutal\n(+) Super récompenses" + }, + "selected": "Votre adversaire s’avance…" + }, + "outro": "Vous avez battu ce mystérieux adversaire !" +} diff --git a/src/locales/fr/mystery-encounters/mysterious-chest-dialogue.json b/src/locales/fr/mystery-encounters/mysterious-chest-dialogue.json new file mode 100644 index 00000000000..68c2ab6215a --- /dev/null +++ b/src/locales/fr/mystery-encounters/mysterious-chest-dialogue.json @@ -0,0 +1,23 @@ +{ + "intro": "Vous tombez sur…@d{32} un coffre ?", + "title": "Un étrange coffre", + "description": "Un mangifique coffre orné est posé en travers du chemin.\nIl doit forcément contenir quelque chose… pas vrai ?", + "query": "Voulez-vous ouvrir le coffre ?", + "option": { + "1": { + "label": "Ouvrir", + "tooltip": "@[SUMMARY_BLUE]{({{trapPercent}}%) Un truc terrible}\n@[SUMMARY_GREEN]{({{commonPercent}}%) Petites récompenses }\n@[SUMMARY_GREEN]{({{ultraPercent}}%) Bonnes récompenses}\n@[SUMMARY_GREEN]{({{roguePercent}}%) Super récompenses}\n@[SUMMARY_GREEN]{({{masterPercent}}%) Incroyables récompenses}", + "selected": "Vous décidez d’ouvrir le coffre et y trouvez…", + "normal": "De simples outils et objets banaux.", + "good": "Quelques bons outils et objets.", + "great": "Un outil et un objet plutôt sympas !", + "amazing": "Wow ! Quel objet incroyable !", + "bad": "Oh non !@d{32}\nCe coffre s’avère être possédé par un {{gimmighoulName}} !$Votre {{pokeName}} s’interpose\nmais est mis K.O. !" + }, + "2": { + "label": "Trop risqué, partir", + "tooltip": "(-) Aucun récompense", + "selected": "Vous tracez votre chemin,\navec un léger sentiment de regret." + } + } +} diff --git a/src/locales/fr/mystery-encounters/part-timer-dialogue.json b/src/locales/fr/mystery-encounters/part-timer-dialogue.json new file mode 100644 index 00000000000..4867c42c0ed --- /dev/null +++ b/src/locales/fr/mystery-encounters/part-timer-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "Un Ouvrière croulant sous le travail\nvous interpelle.", + "speaker": "Ouvrière", + "intro_dialogue": "T’as l’air d’avoir pas mal de Pokémon compétents\navec toi !$Si t’acceptes de nous aider pour quelques tâches,\non peut te payer !", + "title": "L’intérimaire", + "description": "La liste de tâches à effectuer a l’air incroyablement longue.\nEn fonction des compétences du Pokémon choisi à une tâche donnée, vous gagnerez plus ou moins d’argent.", + "query": "Quel poste vous intéresse le plus ?", + "invalid_selection": "Le Pokémon doit être en bonne santé.", + "option": { + "1": { + "label": "Livreur", + "tooltip": "(-) Votre Pokémon utilise sa Vitesse\n(+) Payé avec un @[MONEY]{salaire}", + "selected": "Votre {{selectedPokemon}} passe tout un shift\nà livrer des clients." + }, + "2": { + "label": "Manutentionnaire", + "tooltip": "(-) Votre Pokémon utilise sa Force et son Endurance\n(+) Payé avec un @[MONEY]{salaire}", + "selected": "Votre {{selectedPokemon}} passe tout un shift\nà porter des charges à travers le hangar." + }, + "3": { + "label": "Assistant vendeur", + "tooltip": "(-) Votre {{option3PrimaryName}} utilise {{option3PrimaryMove}}\n(+) Payé avec un @[MONEY]{salaire}", + "disabled_tooltip": "Votre Pokémon doit connaitre certaines capacités pour choisir ce poste", + "selected": "Votre {{option3PrimaryName}} passe sa journée à utiliser {{option3PrimaryMove}} pour attirer des clients !" + } + }, + "job_complete_good": "Merci pour votre aide !\nVotre {{selectedPokemon}} nous a été d’un grand renfort !$Voici votre salaire.", + "job_complete_bad": "Votre {{selectedPokemon}} nous a plutot bien aidé !$Voici votre salaire.", + "pokemon_tired": "Votre {{selectedPokemon}} est épuisé !\nLes PP de toutes ses capacités baissent de 2 !", + "outro": "Reviens nous aider à l’occasion !" +} diff --git a/src/locales/fr/mystery-encounters/safari-zone-dialogue.json b/src/locales/fr/mystery-encounters/safari-zone-dialogue.json new file mode 100644 index 00000000000..24834d128c0 --- /dev/null +++ b/src/locales/fr/mystery-encounters/safari-zone-dialogue.json @@ -0,0 +1,46 @@ +{ + "intro": "C’est un Parc Safari !", + "title": "Le Parc Safari", + "description": "Toutes sortes de Pokémon rares et particuliers peuvent y être rencontrés !\nSi vous décidez d’y entrer, vous aurez une limite de 3 Pokémon sauvages à rencontrer que vous pourrez essayer de capturer.\n\nMais attention, ces Pokémon peuvent prendre la fuite avant que vous n’ayez pu les capturer !", + "query": "Voulez-vous y entrer ?", + "option": { + "1": { + "label": "Entrer", + "tooltip": "(-) Payer {{option1Money, money}}\n@[SUMMARY_GREEN]{(?) Parc Safari}", + "selected": "Vous tentez votre chance !" + }, + "2": { + "label": "Partir", + "tooltip": "(-) Aucune récompense", + "selected": "Vous tracez votre chemin,\navec un léger sentiment de regret." + } + }, + "safari": { + "1": { + "label": "Lancer une Poké Ball", + "tooltip": "(+) Lancer une Poké Ball", + "selected": "Vous lancez une Poké Ball !" + }, + "2": { + "label": "Lancer un appât", + "tooltip": "(+) Augmente le taux de capture\n(-) Augmente le risque de fuite", + "selected": "Vous lancez quelques appâts !" + }, + "3": { + "label": "Lancer de la boue", + "tooltip": "(+) Diminue le risque de fuite\n(-) Diminue le taux de capture", + "selected": "Vous lancez un peu de boue !" + }, + "4": { + "label": "Fuite", + "tooltip": "(?) Fuir ce Pokémon" + }, + "watching": "{{pokemonName}} vous observe\nattentivement.", + "eating": "{{pokemonName}} est en train\nde manger.", + "busy_eating": "{{pokemonName}} se concentre\nsur sa nourriture.", + "angry": "{{pokemonName}} se fâche !", + "beside_itself_angry": "{{pokemonName}} laisse\nexploser sa colère !", + "remaining_count": "Il reste {{remainingCount}} Pokémon !" + }, + "outro": "Cette excursion était fun !" +} diff --git a/src/locales/fr/mystery-encounters/shady-vitamin-dealer-dialogue.json b/src/locales/fr/mystery-encounters/shady-vitamin-dealer-dialogue.json new file mode 100644 index 00000000000..95628cdfb84 --- /dev/null +++ b/src/locales/fr/mystery-encounters/shady-vitamin-dealer-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Un homme en manteau noir vous aborde.", + "speaker": "Dealer", + "intro_dialogue": ".@d{16}.@d{16}.@d{16}$J’ai de la bonne came pour toi, mais seulement\nsi t’as les thunes.$Assure-toi quand même que tes Pokémon\npuissent encaisser.", + "title": "Le Dealer d’accélérateurs", + "description": "L’homme ouvre son manteau et vous laisse apercevoir des accélérateurs pour Pokémon. Le tarif qu’il annonce semble être une bonne affaire. Peut-être même un peu trop belle…\nIl vous laisse le choix entre deux offres.", + "query": "Laquelle choisissez-vous ?", + "invalid_selection": "Le Pokémon doit être en bonne santé.", + "option": { + "1": { + "label": "Offre douteuse", + "tooltip": "(-) Payer {{option1Money, money}}\n(-) Effets secondaires ?\n(+) Le Pokémon choisi gagne 2 accélérateurs au hasard" + }, + "2": { + "label": "Offre honnête", + "tooltip": "(-) Payer {{option2Money, money}}\n(+) Le Pokémon choisi gagne 2 accélérateurs au hasard" + }, + "3": { + "label": "Partir", + "tooltip": "(-) Aucune récompense", + "selected": "Eh bien, j’aurais pas cru que\ntu ferais preuve d’une telle lâcheté." + }, + "selected": "L’homme vous remet deux Accélérateurs et s’évapore.${{selectedPokemon}} reçoit 1 {{boost1}} et 1 {{boost2}} !" + }, + "cheap_side_effects": "Ah !\nDes effets secondaires se manifestent !$Votre {{selectedPokemon}} prend des dégâts,\net sa nature se change en {{newNature}} !", + "no_bad_effects": "Tout semble bien se passer, aucun effet indésirable à signaler !" +} diff --git a/src/locales/fr/mystery-encounters/slumbering-snorlax-dialogue.json b/src/locales/fr/mystery-encounters/slumbering-snorlax-dialogue.json new file mode 100644 index 00000000000..876bb6be2b2 --- /dev/null +++ b/src/locales/fr/mystery-encounters/slumbering-snorlax-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "Alors que vous vous aventurez dans un passage étroit, une silhouette imposante bloque le passage.$En vous approchant, vous apercevez un {{snorlaxName}}\nendormi paisiblement.$Vous regardez autour de vous, mais n’apercevez aucun chemin alternatif.", + "title": "{{snorlaxName}} au Bois dormant", + "description": "Vous pourriez soit tenter de le faire bouger en l’attaquant, soit attendre son réveil.\nMais impossible de savoir combien de temps cette dernière option prendrait…", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "L’affronter", + "tooltip": "(-) Affronter le {{snorlaxName}} endormi\n(+) Récompense spéciale", + "selected": "Vous approchez\nle Pokémon sans frémir." + }, + "2": { + "label": "Attendre qu’il bouge", + "tooltip": "(-) Attendre longtemps\n(+) Équipe soignée", + "selected": ".@d{32}.@d{32}.@d{32}$Vous attendez un long moment et les baillements de {{snorlaxName}} endorment votre équipe…", + "rest_result": "À votre réveil le {{snorlaxName}} a disparu,\net toute votre équipe est soignée !" + }, + "3": { + "label": "Voler son objet", + "tooltip": "(+) {{option3PrimaryName}} utilise {{option3PrimaryMove}}\n(+) Récompense spéciale", + "disabled_tooltip": "Votre Pokémon doit connaitre certaines capacités pour choisir cette option", + "selected": "Votre {{option3PrimaryName}} utilise\n{{option3PrimaryMove}} !$@s{item_fanfare}Vole les Restes du {{snorlaxName}} encore endormi et ressentez de la culpabilité pour ce méfait !" + } + } +} diff --git a/src/locales/fr/mystery-encounters/teleporting-hijinks-dialogue.json b/src/locales/fr/mystery-encounters/teleporting-hijinks-dialogue.json new file mode 100644 index 00000000000..7a819f0bb37 --- /dev/null +++ b/src/locales/fr/mystery-encounters/teleporting-hijinks-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Cette machine un peu étrange émet un lourd ronronnement…", + "title": "Le télé-torpeur", + "description": "Vous pouvez lire sur la machine :\n « Notice d’utilisation : Insérez de l’argent et pénétrez dans la capsule. »\n\nPeut-être qu’elle vous emmènera quelque part…", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Insérer de l’argent", + "tooltip": "(-) Payer {{price, money}}\n(?) Téléportation vers un nouveau biome", + "selected": "Vous insérez un peu d’argent et la capsule s’ouvre.\nVous y pénétrez…" + }, + "2": { + "label": "Un Pokémon à l’aide", + "tooltip": "(-) {{option2PrimaryName}} vous aide\n(+) Gain d’Exp pour {{option2PrimaryName}}\n(?) Téléportation vers un nouveau biome", + "disabled_tooltip": "Vous avez besoin d’un Pokémon de type Électrik ou Acier pour choisir cette option", + "selected": "Le type de {{option2PrimaryName}} vous permet de frauder la machine !$La capsule s’ouvre et y pénétrez…" + }, + "3": { + "label": "Inspecter la machine", + "tooltip": "(-) Combat Pokémon", + "selected": "Tous ces bruits et lumières clignotantes\némis par la machine titillent vos sens…$Mais vous manquez d’apercevoir un Pokémon\nsauvage et qui tend une embuscade !" + } + }, + "transport": "Elle vibre violemment, émettant\ntoutes sortes de bruits !$À peine la machine lancée, elle redevient\nsubitement très silencieuse…", + "attacked": "Vous en ressortez en un lieu complètement nouveau, effrayant au passage un Pokémon sauvage !$Le Pokémon sauvage vous attaque !", + "boss_enraged": "Le {{enemyPokemon}} ennemi s’énerve !" +} diff --git a/src/locales/fr/mystery-encounters/the-expert-pokemon-breeder-dialogue.json b/src/locales/fr/mystery-encounters/the-expert-pokemon-breeder-dialogue.json new file mode 100644 index 00000000000..d2f0eb17d99 --- /dev/null +++ b/src/locales/fr/mystery-encounters/the-expert-pokemon-breeder-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "C’est une Dresseuse avec une quantité astronomique d’Œufs !", + "intro_dialogue": "Hé, toi !$Certains de tes Pokémon m’ont l’air\nun peu à plat.$Ça te dirait un p’tit combat pour\nleur redonner un peu de peps ?", + "title": "L’experte en élevage", + "description": "Une Éleveuse vous propose un combat où @[TOOLTIP_TITLE]{vous ne pouvez utiliser qu’un seul Pokémon}. Ça s’annonce un peu compliqué, mais devrait certainement approfondir vos liens avec le Pokémon choisi !\nL’Éleveuse devrait vous faire don de quelques @[TOOLTIP_TITLE]{Œufs} si vous gagnez !", + "query": "Avec qui voulez-vous combattre ?", + "cleffa_1_nickname": "As", + "cleffa_2_nickname": "Méloïssime", + "cleffa_3_nickname": "{{speciesName}} le Grand", + "option": { + "1": { + "label": "{{pokemon1Name}}", + "tooltip_base": "(-) Combat difficile\n(+) Augmente le bonheur de {{pokemon1Name}}" + }, + "2": { + "label": "{{pokemon2Name}}", + "tooltip_base": "(-) Combat difficile\n(+) Augmente le bonheur de {{pokemon2Name}}" + }, + "3": { + "label": "{{pokemon3Name}}", + "tooltip_base": "(-) Combat difficile\n(+) Augmente le bonheur de {{pokemon3Name}}" + }, + "selected": "D’accord, faisons ça !" + }, + "outro": "Ton {{chosenPokemon}} et toi avez\nl’air très heureux !$Tiens, prends ça aussi.", + "outro_failed": "Voilà qui est bien décevant…$T’as encore visiblement bien du chemin à faire\npour acquir la confiance de tes Pokémon !", + "gained_eggs": "@s{item_fanfare}Vous recevez\n{{numEggs}} !", + "eggs_tooltip": "\n(+) Recevez {{eggs}}", + "numEggs_one": "{{count}} Œuf {{rarity}}", + "numEggs_other": "{{count}} Œufs {{rarity}}s" +} diff --git a/src/locales/fr/mystery-encounters/the-pokemon-salesman-dialogue.json b/src/locales/fr/mystery-encounters/the-pokemon-salesman-dialogue.json new file mode 100644 index 00000000000..401678490fe --- /dev/null +++ b/src/locales/fr/mystery-encounters/the-pokemon-salesman-dialogue.json @@ -0,0 +1,23 @@ +{ + "intro": "Un homme âgé a l’air malicieux vous aborde.", + "speaker": "Gentleman", + "intro_dialogue": "Salutations !\nJ’ai une offre à proposer rien qu’à VOUS !", + "title": "Le vendeur de Pokémon", + "description": "« Cet incroyable et unique {{purchasePokemon}} possède un talent jamais vu dans son espèce ! Ce superbe {{purchasePokemon}} est à vous pour le prix imbattable de {{price, money}} ! »\n\n« Qu’en dites-vous ? »", + "description_shiny": "« Cet incroyable et unique {{purchasePokemon}} possède une pigmentation unique jamais vue dans son espèce ! Ce superbe {{purchasePokemon}} est à vous pour le prix imbattable de {{price, money}} ! »\n\n« Qu’en dites-vous ? »", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Accepter", + "tooltip": "(-) Payer {{price, money}}\n(+) {{purchasePokemon}} obtenu avec son talent caché", + "tooltip_shiny": "(-) Payer {{price, money}}\n(+) {{purchasePokemon}} chromatique obtenu", + "selected_message": "Vous déboursez une somme absolument honteuse\npour acheter ce {{purchasePokemon}}.", + "selected_dialogue": "Excellent choix !\nVous avez pour sûr un sens aiguisé des affaires.$Oh, ah euh…@d{64}\nNi repris, ni échangé par contre hein, compris ?" + }, + "2": { + "label": "Refuser", + "tooltip": "(-) Aucune récompense", + "selected": "Non ?@d{32} Vous déclinez ?$C’était pourtant offre en or que je vous faisais là !" + } + } +} diff --git a/src/locales/fr/mystery-encounters/the-strong-stuff-dialogue.json b/src/locales/fr/mystery-encounters/the-strong-stuff-dialogue.json new file mode 100644 index 00000000000..c9d22039a2e --- /dev/null +++ b/src/locales/fr/mystery-encounters/the-strong-stuff-dialogue.json @@ -0,0 +1,21 @@ +{ + "intro": "C’est un {{shuckleName}} absolument énorme et\nce qui semble être un énorme bol de… jus ?", + "title": "Un breuvage qui arrache", + "description": "Ce {{shuckleName}} qui bloque la route semble incroyablement puissant.\nLe jus qui l’accompagne semble émaner une étrange forme de puissance.\n\nIl tend une patte dans votre direction, l’air de vouloir quelque chose…", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Approcher {{shuckleName}}", + "tooltip": "(?) Quelque chose de terrible ou d’incroyable peut se produire", + "selected": "Vous perdez subitement connaissance.", + "selected_2": "@f{150}À votre réveil, le {{shuckleName}} est parti et\nle bol de jus est complètement vide.${{highBstPokemon1}} et {{highBstPokemon2}}\nsont vicitmes d’une forte léthargie !$Leurs stats de base sont baissées de {{reductionValue}} !$Mais par contre, vos autres Pokémon sont envahis\nd’une vigueur encore jamais vue !$Leurs stats de base sont augmentées de {{increaseValue}} !" + }, + "2": { + "label": "Affronter {{shuckleName}}", + "tooltip": "(-) Combat difficile\n(+) Récompense spéciale", + "selected": "Le {{shuckleName}} s’énerve, boit un peu de jus et attaque !", + "stat_boost": "Le jus de {{shuckleName}} augmente ses stats !" + } + }, + "outro": "Quelle étrange tournure des évènements." +} diff --git a/src/locales/fr/mystery-encounters/the-winstrate-challenge-dialogue.json b/src/locales/fr/mystery-encounters/the-winstrate-challenge-dialogue.json new file mode 100644 index 00000000000..1ab771617c6 --- /dev/null +++ b/src/locales/fr/mystery-encounters/the-winstrate-challenge-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "C’est une famille dans la cour de leur maison !", + "speaker": "La Famille Stratège", + "intro_dialogue": "Nous sommes les Stratège !$Ça te dirait d’affronter la famille dans une série\nde combats ?", + "title": "Le défi de la Famille Stratège", + "description": "Les Stratège sont une famille de 5 Dresseurs, et ne demandent qu’à se battre ! Si vous parvenez à tous les battre à la suite, ils vous remettront une grosse récompense. Vous sentez-vous d’encaisser ce défi ?", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Accepter le défi", + "tooltip": "(-) Combat brutal\n(+) Récompense d’un objet spécial", + "selected": "Que le défi commence !" + }, + "2": { + "label": "Décliner le défi", + "tooltip": "(+) Équipe soignée\n(+) Gain d’un Hyper Bonbon", + "selected": "C’est bien dommage. Hé, ton équipe a quand même l’air bien au bout, ça te dirait de rester te reposer un peu ?" + } + }, + "victory": "Félicitations pour avoir relevé notre défi !$Tout d’abord, nous aimerions t’offir ce Coupon.", + "victory_2": "Mais aussi, notre famille utilise ce Bracelet Macho\npour entrainer plus efficacement nos Pokémon.$Il ne te sera peut-être d’aucune utilité vu que tu nous as tous battus, mais on serait ravis que tu l’accepte !" +} diff --git a/src/locales/fr/mystery-encounters/training-session-dialogue.json b/src/locales/fr/mystery-encounters/training-session-dialogue.json new file mode 100644 index 00000000000..8c10ac13839 --- /dev/null +++ b/src/locales/fr/mystery-encounters/training-session-dialogue.json @@ -0,0 +1,33 @@ +{ + "intro": "Vous tombez sur du matériel d’entrainement.", + "title": "Session d’entrainement", + "description": "Ce matériel semble pouvoir être utilisé pour entrainer un membre de votre équipe ! Il existe plusieurs moyens avec lesquels vous pourriez entrainer un Pokémon, comme en le faisant combattre le reste de votre équipe.", + "query": "Quel entrainement choisir ?", + "invalid_selection": "Le Pokémon doit être en bonne santé.", + "option": { + "1": { + "label": "Léger", + "tooltip": "(-) Combat léger\n(+) Augmente au hasard 2 IV du Pokémon", + "finished": "{{selectedPokemon}} revient vers vous,\nl’air fatigué mais fier de lui !$Ses IV en {{stat1}} et\nen {{stat2}} augmentent !" + }, + "2": { + "label": "Modéré", + "tooltip": "(-) Combat modéré\n(+) Modifie la nature du Pokémon", + "select_prompt": "Sélectionnez la nature pour laquelle\nvotre Pokémon doit s’entrainer.", + "finished": "{{selectedPokemon}} revient vers vous,\nl’air fatigué mais fier de lui !$Il a beaucoup changé et\nest devenu {{nature}} !" + }, + "3": { + "label": "Intense", + "tooltip": "(-) Combat intense\n(+) Modifie le talent du Pokémon", + "select_prompt": "Sélectionnez le talent pour lequel\nvotre Pokémon doit s’entrainer.", + "finished": "{{selectedPokemon}} revient vers vous,\nl’air fatigué mais fier de lui !$Il a beaucoup changé possède\ndesormais le talent {{ability}} !" + }, + "4": { + "label": "Partir", + "tooltip": "(-) Aucune récompense", + "selected": "Oh la flemme, pas le temps de faire du sport.\nAllons ailleurs." + }, + "selected": "{{selectedPokemon}} va de l’autre côté\ndu terrain pour vous faire face…" + }, + "outro": "Cet entrainement a vraiement été très stimulant !" +} diff --git a/src/locales/fr/mystery-encounters/trash-to-treasure-dialogue.json b/src/locales/fr/mystery-encounters/trash-to-treasure-dialogue.json new file mode 100644 index 00000000000..fb39a1d12a1 --- /dev/null +++ b/src/locales/fr/mystery-encounters/trash-to-treasure-dialogue.json @@ -0,0 +1,19 @@ +{ + "intro": "C’est un énorme tas d’ordures !\nComment il est arrivé là ?", + "title": "20 000 lieues sous la mer-", + "description": "Un énorme tas d’ordures se dresse devant vos yeux, dans lequel vous arrivez à entrevoir quelques objets de valeur.\nPar contre, il faut que vous acceptiez l’idée de vous couvrir de saletés pour allez les récupérer…", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "Le fouiller", + "tooltip": "(-) Prix de la boutique triplés\n(+) Gain d’objets exceptionnels", + "selected": "Vous barbotez dans le tas d’ordures et\nvous vous couvrez de crasse.$Vu votre état, la prochaine boutique va pour sûr\nfortement gonfler ses prix pour vous forcer à fuir !$Mais ça valait le coup, car ce que vous avez trouvé\ndans les ordures est incroyable !" + }, + "2": { + "label": "Enquêter sur le tas", + "tooltip": "(?) Trouver la source des ordures", + "selected": "Vous vous baladez autour du tas, à la recherche du moindre indice sur la raison de sa présence ici…", + "selected_2": "Oh !\nLes ordures se mettent à bouger !$Le tas est en réalité un Pokémon !\nIl vous attaque !" + } + } +} diff --git a/src/locales/fr/mystery-encounters/uncommon-breed-dialogue.json b/src/locales/fr/mystery-encounters/uncommon-breed-dialogue.json new file mode 100644 index 00000000000..f3438bfcee6 --- /dev/null +++ b/src/locales/fr/mystery-encounters/uncommon-breed-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "C’est un Pokémon tout ce qu’il y a de plus banal !", + "title": "Une forme peu commune", + "description": "Ce {{enemyPokemon}} a l’air speical par rapport au reste de son espèce. @[TOOLTIP_TITLE]{Peut-être connait-il une capacité particulière ?} Vous pourriez décider de l’affronter sur-le-champ, mais il y a peut-être moyen d’en faire un nouvel ami.", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "L’affronter", + "tooltip": "(-) Combat compliqué\n(+) Capturer un adversaire puissant", + "selected": "Vous approchez\nle Pokémon sans frémir.", + "stat_boost": "Les caractéristiques particulières\nde ce {{enemyPokemon}} augmentent ses stats !" + }, + "2": { + "label": "Le nourrir", + "disabled_tooltip": "Vous avez besoin de 4 Baies pour chosir cette option", + "tooltip": "(-) Donner 4 Baies\n(+) Le {{enemyPokemon}} vous apprécie", + "selected": "Vous lancer quelques Baies\nau {{enemyPokemon}} !$Il les englouit avec joie !$Le {{enemyPokemon}} veut se joindre\nà votre équipe !" + }, + "3": { + "label": "Devenir amis", + "disabled_tooltip": "Votre Pokémon doit connaitre certaines capacités pour choisir cette option", + "tooltip": "(+) {{option3PrimaryName}} utilise {{option3PrimaryMove}}\n(+) Le {{enemyPokemon}} vous apprécie", + "selected": "Votre {{option3PrimaryName}} utilise {{option3PrimaryMove}} pour charmer le {{enemyPokemon}} !$The {{enemyPokemon}} veut se joindre\nà votre équipe !" + } + } +} diff --git a/src/locales/fr/mystery-encounters/weird-dream-dialogue.json b/src/locales/fr/mystery-encounters/weird-dream-dialogue.json new file mode 100644 index 00000000000..87f6006d8b1 --- /dev/null +++ b/src/locales/fr/mystery-encounters/weird-dream-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "Une femme aux airs sombres vous coupe la route.\nElle dégage comme une aura troublante…", + "speaker": "Femme mystérieuse", + "intro_dialogue": "J’ai tout vu…\nTes futurs, tes passés…$Les perçois-tu aussi, mon enfant ?", + "title": "???", + "description": "Les paroles de cette mystérieuse femme raisonnent dans votre tête. Ce n’est pas qu’une simple voix isolée, mais une infinité, d’une infinité d’espace-temps et de réalités.\nVous commencez ressentir des vertiges à mesure que cette question s’empare de votre esprit…\n\n@[TOOLTIP_TITLE]{« J’ai tout vu… Tes futurs, tes passés… Les perçois-tu aussi, mon enfant ? »}", + "query": "Que voulez-vous faire ?", + "option": { + "1": { + "label": "« Je les vois. »", + "tooltip": "@[SUMMARY_GREEN]{(?) Affecte vos Pokémon}", + "selected": "Sa main s’approche de vous et vous touche.\nTout devient subitement sombre.$Puis enfin…@d{64} La lumière.\nChaque espace-temps. Chacune de vos incarnations.$Tout ce qui a composé, compose\net composersa votre être…@d{64}", + "cutscene": "Vous percevez vos Pokémon,@d{32} convergeant de chaque\nréalité pour former quelque chose de nouveau…@d{64}", + "dream_complete": "Vous vous réveillez, mais la femme a disparu…\nOu bien n’etait-elle qu’une hallucination ?$.@d{32}.@d{32}.@d{32}$Les Pokémon de votre équipe ont changé…$Mais alors, comment peuvent-ils quand même\ntoujours vous sembler si familiers ?" + }, + "2": { + "label": "Partir en courant", + "tooltip": "(-) Affecte vos Pokémon", + "selected": "Vous parvenez à vous extraire de son emprise\net prenez vos jambes à votre cou.$Vous vous remettez de vos émotions et\nvérifiez si votre équipe va bien.$Mais pour une raison mystérieuse,\nils ont tous perdu des niveaux !" + } + } +} diff --git a/src/locales/fr/party-ui-handler.json b/src/locales/fr/party-ui-handler.json index 4eef55da790..045e3e4fe86 100644 --- a/src/locales/fr/party-ui-handler.json +++ b/src/locales/fr/party-ui-handler.json @@ -16,6 +16,7 @@ "PAUSE_EVOLUTION": "Empêcher Évolution", "REVIVE": "Ranimer", "RENAME": "Renommer", + "SELECT": "Sélectionner", "choosePokemon": "Sélectionnez un Pokémon.", "doWhatWithThisPokemon": "Que faire avec ce Pokémon ?", "noEnergy": "{{pokemonName}} n’a plus l’énergie\nde se battre !", diff --git a/src/locales/fr/trainer-names.json b/src/locales/fr/trainer-names.json index 85765dbe22e..ff9e0d47721 100644 --- a/src/locales/fr/trainer-names.json +++ b/src/locales/fr/trainer-names.json @@ -166,5 +166,18 @@ "alder_iris_double": "Goyah & Iris", "iris_alder_double": "Iris & Goyah", "marnie_piers_double": "Rosemary & Peterson", - "piers_marnie_double": "Peterson & Rosemary" + "piers_marnie_double": "Peterson & Rosemary", + + "buck": "Cornil", + "cheryl": "Sara", + "marley": "Viviane", + "mira": "Maïté", + "riley": "Armand", + "victor": "Atrée", + "victoria": "Électre", + "vivi": "Andromaque", + "vicky": "Clytemnestre", + "vito": "Adalbert", + "bug_type_superfan": "Fan d’entomologie", + "expert_pokemon_breeder": "Éleveuse Experte" } diff --git a/src/locales/fr/trainer-titles.json b/src/locales/fr/trainer-titles.json index ceefa452881..afcb755d034 100644 --- a/src/locales/fr/trainer-titles.json +++ b/src/locales/fr/trainer-titles.json @@ -36,5 +36,7 @@ "aether_admin": "Directeur d’Æther", "skull_admin": "Admin Team Skull", "macro_admin": "Macro Cosmos", - "star_admin": "Boss d’équipe de la Team Star" + "star_admin": "Boss d’équipe de la Team Star", + + "the_winstrates": "Famille Stratège" } diff --git a/src/locales/it/achv.json b/src/locales/it/achv.json index d1607f6c548..c4a7d3dab7b 100644 --- a/src/locales/it/achv.json +++ b/src/locales/it/achv.json @@ -260,5 +260,13 @@ "FRESH_START": { "name": "Buona la prima!", "description": "Completa la modalità sfida 'Un nuovo inizio'." + }, + "BREEDERS_IN_SPACE": { + "name": "Breeders in Space!", + "description": "Beat the Expert Pokémon Breeder in the Space Biome." + }, + "BREEDERS_IN_SPACE": { + "name": "Breeders in Space!", + "description": "Beat the Expert Pokémon Breeder in the Space Biome." } } diff --git a/src/locales/it/battle.json b/src/locales/it/battle.json index 9b187756025..e11399dff6c 100644 --- a/src/locales/it/battle.json +++ b/src/locales/it/battle.json @@ -14,6 +14,10 @@ "moneyWon": "Hai vinto {{moneyAmount}}₽", "moneyPickedUp": "Hai raccolto ₽{{moneyAmount}}!", "pokemonCaught": "Preso! {{pokemonName}} è stato catturato!", + "pokemonObtained": "Hai ricevuto {{pokemonName}}!", + "pokemonBrokeFree": "Oh no!\nIl Pokémon è uscito dalla Poké Ball!", + "pokemonFled": "{pokemonName}} selvatico è fuggito!", + "playerFled": "Sei fuggito/a da {{pokemonName}}!", "addedAsAStarter": "{{pokemonName}} è stato\naggiunto agli starter!", "partyFull": "La tua squadra è al completo.\nVuoi liberare un Pokémon per far spazio a {{pokemonName}}?", "pokemon": "Pokémon", @@ -49,6 +53,7 @@ "noPokeballTrainer": "Non puoi catturare\nPokémon di altri allenatori!", "noPokeballMulti": "Puoi lanciare una Poké Ball\nsolo quando rimane un singolo Pokémon!", "noPokeballStrong": "Il Pokémon avversario è troppo forte per essere catturato!\nDevi prima indebolirlo.", + "noPokeballMysteryEncounter": "Non ti è possibile\ncatturare questo Pokémon!", "noEscapeForce": "Una forza misteriosa\nimpedisce la fuga.", "noEscapeTrainer": "Non puoi sottrarti\nalla lotta con un'allenatore!", "noEscapePokemon": "{{moveName}} di {{pokemonName}}\npreviene la {{escapeVerb}}!", @@ -95,5 +100,6 @@ "unlockedSomething": "{{unlockedThing}}\nè stato/a sbloccato/a.", "congratulations": "Congratulazioni!", "beatModeFirstTime": "{{speciesName}} ha completato la modalità {{gameMode}} per la prima volta!\nHai ricevuto {{newModifier}}!", - "ppReduced": "I PP della mossa {{moveName}} di\n{{targetName}} sono stati ridotti di {{reduction}}!" + "ppReduced": "I PP della mossa {{moveName}} di\n{{targetName}} sono stati ridotti di {{reduction}}!", + "mysteryEncounterAppeared": "Che succede?" } diff --git a/src/locales/it/bgm-name.json b/src/locales/it/bgm-name.json index 9e26dfeeb6e..5d943512d4b 100644 --- a/src/locales/it/bgm-name.json +++ b/src/locales/it/bgm-name.json @@ -1 +1,7 @@ -{} \ No newline at end of file +{ + "mystery_encounter_weird_dream": "PMD EoS Temporal Spire", + "mystery_encounter_fun_and_games": "PMD EoS Guildmaster Wigglytuff", + "mystery_encounter_gen_5_gts": "BW GTS", + "mystery_encounter_gen_6_gts": "XY GTS", + "mystery_encounter_delibirdy": "Firel - DeliDelivery!" +} diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index a8cd1e4e0bd..129c0f67466 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -53,7 +53,49 @@ import terrain from "./terrain.json"; import modifierSelectUiHandler from "./modifier-select-ui-handler.json"; import moveTriggers from "./move-trigger.json"; import runHistory from "./run-history.json"; +import mysteryEncounterMessages from "./mystery-encounter-messages.json"; +import lostAtSea from "./mystery-encounters/lost-at-sea-dialogue.json"; +import mysteriousChest from "./mystery-encounters/mysterious-chest-dialogue.json"; +import mysteriousChallengers from "./mystery-encounters/mysterious-challengers-dialogue.json"; +import darkDeal from "./mystery-encounters/dark-deal-dialogue.json"; +import departmentStoreSale from "./mystery-encounters/department-store-sale-dialogue.json"; +import fieldTrip from "./mystery-encounters/field-trip-dialogue.json"; +import fieryFallout from "./mystery-encounters/fiery-fallout-dialogue.json"; +import fightOrFlight from "./mystery-encounters/fight-or-flight-dialogue.json"; +import safariZone from "./mystery-encounters/safari-zone-dialogue.json"; +import shadyVitaminDealer from "./mystery-encounters/shady-vitamin-dealer-dialogue.json"; +import slumberingSnorlax from "./mystery-encounters/slumbering-snorlax-dialogue.json"; +import trainingSession from "./mystery-encounters/training-session-dialogue.json"; +import theStrongStuff from "./mystery-encounters/the-strong-stuff-dialogue.json"; +import pokemonSalesman from "./mystery-encounters/the-pokemon-salesman-dialogue.json"; +import offerYouCantRefuse from "./mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; +import delibirdy from "./mystery-encounters/delibirdy-dialogue.json"; +import absoluteAvarice from "./mystery-encounters/absolute-avarice-dialogue.json"; +import aTrainersTest from "./mystery-encounters/a-trainers-test-dialogue.json"; +import trashToTreasure from "./mystery-encounters/trash-to-treasure-dialogue.json"; +import berriesAbound from "./mystery-encounters/berries-abound-dialogue.json"; +import clowningAround from "./mystery-encounters/clowning-around-dialogue.json"; +import partTimer from "./mystery-encounters/part-timer-dialogue.json"; +import dancingLessons from "./mystery-encounters/dancing-lessons-dialogue.json"; +import weirdDream from "./mystery-encounters/weird-dream-dialogue.json"; +import theWinstrateChallenge from "./mystery-encounters/the-winstrate-challenge-dialogue.json"; +import teleportingHijinks from "./mystery-encounters/teleporting-hijinks-dialogue.json"; +import bugTypeSuperfan from "./mystery-encounters/bug-type-superfan-dialogue.json"; +import funAndGames from "./mystery-encounters/fun-and-games-dialogue.json"; +import uncommonBreed from "./mystery-encounters/uncommon-breed-dialogue.json"; +import globalTradeSystem from "./mystery-encounters/global-trade-system-dialogue.json"; +import expertPokemonBreeder from "./mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; +/** + * Dialogue/Text token injection patterns that can be used: + * - `$` will be treated as a new line for Message and Dialogue strings. + * - `@d{}` will add a time delay to text animation for Message and Dialogue strings. + * - `@s{}` will play a specified sound effect for Message and Dialogue strings. + * - `@f{}` will fade the screen to black for the given duration, then fade back in for Message and Dialogue strings. + * - `{{}}` (MYSTERY ENCOUNTERS ONLY) will auto-inject the matching dialogue token value that is stored in {@link IMysteryEncounter.dialogueTokens}. + * - (see [i18next interpolations](https://www.i18next.com/translation-function/interpolation)) for more details. + * - `@[]{}` (STATIC TEXT ONLY, NOT USEABLE WITH {@link UI.showText()} OR {@link UI.showDialogue()}) will auto-color the given text to a specified {@link TextStyle} (e.g. `TextStyle.SUMMARY_GREEN`). + */ export const itConfig = { ability, abilityTriggers, @@ -110,4 +152,40 @@ export const itConfig = { modifierSelectUiHandler, moveTriggers, runHistory, + mysteryEncounter: { + // DO NOT REMOVE + "unit_test_dialogue": "{{test}}{{test}} {{test{{test}}}} {{test1}} {{test\}} {{test\\}} {{test\\\}} {test}}", + mysteriousChallengers, + mysteriousChest, + darkDeal, + fightOrFlight, + slumberingSnorlax, + trainingSession, + departmentStoreSale, + shadyVitaminDealer, + fieldTrip, + safariZone, + lostAtSea, + fieryFallout, + theStrongStuff, + pokemonSalesman, + offerYouCantRefuse, + delibirdy, + absoluteAvarice, + aTrainersTest, + trashToTreasure, + berriesAbound, + clowningAround, + partTimer, + dancingLessons, + weirdDream, + theWinstrateChallenge, + teleportingHijinks, + bugTypeSuperfan, + funAndGames, + uncommonBreed, + globalTradeSystem, + expertPokemonBreeder + }, + mysteryEncounterMessages }; diff --git a/src/locales/it/dialogue.json b/src/locales/it/dialogue.json index 9e26dfeeb6e..dd82247493b 100644 --- a/src/locales/it/dialogue.json +++ b/src/locales/it/dialogue.json @@ -1 +1,112 @@ -{} \ No newline at end of file +{ + "stat_trainer_buck": { + "encounter": { + "1": "...I'm telling you right now. I'm seriously tough. Act surprised!", + "2": "I can feel my Pokémon shivering inside their Pokéballs!" + }, + "victory": { + "1": "Heeheehee!\nSo hot, you!", + "2": "Heeheehee!\nSo hot, you!" + }, + "defeat": { + "1": "Whoa! You're all out of gas, I guess.", + "2": "Whoa! You're all out of gas, I guess." + } + }, + "stat_trainer_cheryl": { + "encounter": { + "1": "My Pokémon have been itching for a battle.", + "2": "I should warn you, my Pokémon can be quite rambunctious." + }, + "victory": { + "1": "Striking the right balance of offense and defense... It's not easy to do.", + "2": "Striking the right balance of offense and defense... It's not easy to do." + }, + "defeat": { + "1": "Do your Pokémon need any healing?", + "2": "Do your Pokémon need any healing?" + } + }, + "stat_trainer_marley": { + "encounter": { + "1": "... OK.\nI'll do my best.", + "2": "... OK.\nI... won't lose...!" + }, + "victory": { + "1": "... Awww.", + "2": "... Awww." + }, + "defeat": { + "1": "... Goodbye.", + "2": "... Goodbye." + } + }, + "stat_trainer_mira": { + "encounter": { + "1": "You will be shocked by Mira!", + "2": "Mira will show you that Mira doesn't get lost anymore!" + }, + "victory": { + "1": "Mira wonders if she can get very far in this land.", + "2": "Mira wonders if she can get very far in this land." + }, + "defeat": { + "1": "Mira knew she would win!", + "2": "Mira knew she would win!" + } + }, + "stat_trainer_riley": { + "encounter": { + "1": "Battling is our way of greeting!", + "2": "We're pulling out all the stops to put your Pokémon down." + }, + "victory": { + "1": "At times we battle, and sometimes we team up...$It's great how Trainers can interact.", + "2": "At times we battle, and sometimes we team up...$It's great how Trainers can interact." + }, + "defeat": { + "1": "You put up quite the display.\nBetter luck next time.", + "2": "You put up quite the display.\nBetter luck next time." + } + }, + "winstrates_victor": { + "encounter": { + "1": "That's the spirit! I like you!" + }, + "victory": { + "1": "A-ha! You're stronger than I thought!" + } + }, + "winstrates_victoria": { + "encounter": { + "1": "My goodness! Aren't you young?$You must be quite the trainer to beat my husband, though.$Now I suppose it's my turn to battle!" + }, + "victory": { + "1": "Uwah! Just how strong are you?!" + } + }, + "winstrates_vivi": { + "encounter": { + "1": "You're stronger than Mom? Wow!$But I'm strong, too!\nReally! Honestly!" + }, + "victory": { + "1": "Huh? Did I really lose?\nSnivel... Grandmaaa!" + } + }, + "winstrates_vicky": { + "encounter": { + "1": "How dare you make my precious\ngranddaughter cry!$I see I need to teach you a lesson.\nPrepare to feel the sting of defeat!" + }, + "victory": { + "1": "Whoa! So strong!\nMy granddaughter wasn't lying." + } + }, + "winstrates_vito": { + "encounter": { + "1": "I trained together with my whole family,\nevery one of us!$I'm not losing to anyone!" + }, + "victory": { + "1": "I was better than everyone in my family.\nI've never lost before..." + } + } +} diff --git a/src/locales/it/egg.json b/src/locales/it/egg.json index 9f3baddf975..49f00ca5939 100644 --- a/src/locales/it/egg.json +++ b/src/locales/it/egg.json @@ -11,6 +11,7 @@ "gachaTypeLegendary": "Tasso dei leggendari aumentato", "gachaTypeMove": "Tasso delle mosse rare da uova aumentato", "gachaTypeShiny": "Tasso degli shiny aumentato", + "eventType": "Evento Misterioso", "selectMachine": "Seleziona un macchinario.", "notEnoughVouchers": "Non hai abbastanza biglietti!", "tooManyEggs": "Hai troppe uova!", @@ -23,4 +24,4 @@ "moveUPGacha": "Mossa +", "shinyUPGacha": "Shiny +", "legendaryUPGacha": "+" -} \ No newline at end of file +} diff --git a/src/locales/it/modifier-select-ui-handler.json b/src/locales/it/modifier-select-ui-handler.json index f07d8dd2680..62770999817 100644 --- a/src/locales/it/modifier-select-ui-handler.json +++ b/src/locales/it/modifier-select-ui-handler.json @@ -8,5 +8,7 @@ "lockRaritiesDesc": "Blocca le rarità al reroll (influisce sui costi).", "checkTeamDesc": "Controlla la squadra Pokémon.", "rerollCost": "{{formattedMoney}}₽", - "itemCost": "{{formattedMoney}}₽" -} \ No newline at end of file + "itemCost": "{{formattedMoney}}₽", + "continueNextWaveButton": "Continua", + "continueNextWaveDescription": "Continua alla onda successiva" +} diff --git a/src/locales/it/modifier-type.json b/src/locales/it/modifier-type.json index f06755bdfa0..9edf6e5a53a 100644 --- a/src/locales/it/modifier-type.json +++ b/src/locales/it/modifier-type.json @@ -68,6 +68,20 @@ "BaseStatBoosterModifierType": { "description": "Aumenta l'/la {{stat}} di base del possessore del 10%." }, + "PokemonBaseStatTotalModifierType": { + "name": "Succo Shuckle", + "description": "{{increaseDecrease}} tutte le statistiche del possessore di {{statValue}}. Shuckle ti ha {{blessCurse}}.", + "extra": { + "increase": "Aumenta", + "decrease": "Diminuisce", + "blessed": "benedetto/a", + "cursed": "maledetto/a" + } + }, + "PokemonBaseStatFlatModifierType": { + "name": "Dolce Gateau", + "description": "Aumenta le statistiche {{stats}} del possessore di {{statValue}}. Trovato dopo uno strano sogno." + }, "AllPokemonFullHpRestoreModifierType": { "description": "Restituisce il 100% dei PS a tutti i Pokémon." }, @@ -401,7 +415,13 @@ "ENEMY_FUSED_CHANCE": { "name": "Gettone della fusione", "description": "Aggiunge l'1% di possibilità che un Pokémon selvatico sia una fusione." - } + }, + + "MYSTERY_ENCOUNTER_SHUCKLE_JUICE": { "name": "Succo Shuckle" }, + "MYSTERY_ENCOUNTER_BLACK_SLUDGE": { "name": "Fangopece", "description": "L'odore è talmente sgradevole che i prezzi dei negozi aumentano drasticamente." }, + "MYSTERY_ENCOUNTER_MACHO_BRACE": { "name": "Crescicappa", "description": "Sconfiggere un Pokémon aumenta di 1 il punteggio Crescicappa. Maggiore il punteggio, maggiore l'aumento alle statistiche, con un ulteriore bonus al massimo." }, + "MYSTERY_ENCOUNTER_OLD_GATEAU": { "name": "Dolce Gateau", "description": "Aumenta le statistiche {{stats}} del possessore di {{statValue}}." }, + "MYSTERY_ENCOUNTER_GOLDEN_BUG_NET": { "name": "Retino Dorato", "description": "Infonde fortuna nel possessore affinché trovi più Pokémon coleottero. Ha uno strano peso." } }, "SpeciesBoosterItem": { "LIGHT_BALL": { diff --git a/src/locales/it/mystery-encounter-messages.json b/src/locales/it/mystery-encounter-messages.json new file mode 100644 index 00000000000..4f8b528d18b --- /dev/null +++ b/src/locales/it/mystery-encounter-messages.json @@ -0,0 +1,7 @@ +{ + "paid_money": "Hai pagato {{amount, number}}₽.", + "receive_money": "Hai ricevuto {{amount, number}}₽!", + "affects_pokedex": "Influisce sul Pokédex", + "cancel_option": "Torna alla scelta dell'incontro.", + "view_party_button": "Info squadra" +} diff --git a/src/locales/it/mystery-encounters/a-trainers-test-dialogue.json b/src/locales/it/mystery-encounters/a-trainers-test-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/a-trainers-test-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/absolute-avarice-dialogue.json b/src/locales/it/mystery-encounters/absolute-avarice-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/absolute-avarice-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/an-offer-you-cant-refuse-dialogue.json b/src/locales/it/mystery-encounters/an-offer-you-cant-refuse-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/an-offer-you-cant-refuse-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/berries-abound-dialogue.json b/src/locales/it/mystery-encounters/berries-abound-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/berries-abound-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/bug-type-superfan-dialogue.json b/src/locales/it/mystery-encounters/bug-type-superfan-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/bug-type-superfan-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/clowning-around-dialogue.json b/src/locales/it/mystery-encounters/clowning-around-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/clowning-around-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/dancing-lessons-dialogue.json b/src/locales/it/mystery-encounters/dancing-lessons-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/dancing-lessons-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/dark-deal-dialogue.json b/src/locales/it/mystery-encounters/dark-deal-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/dark-deal-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/delibirdy-dialogue.json b/src/locales/it/mystery-encounters/delibirdy-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/delibirdy-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/department-store-sale-dialogue.json b/src/locales/it/mystery-encounters/department-store-sale-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/department-store-sale-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/field-trip-dialogue.json b/src/locales/it/mystery-encounters/field-trip-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/field-trip-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/fiery-fallout-dialogue.json b/src/locales/it/mystery-encounters/fiery-fallout-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/fiery-fallout-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/fight-or-flight-dialogue.json b/src/locales/it/mystery-encounters/fight-or-flight-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/fight-or-flight-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/fun-and-games-dialogue.json b/src/locales/it/mystery-encounters/fun-and-games-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/fun-and-games-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/global-trade-system-dialogue.json b/src/locales/it/mystery-encounters/global-trade-system-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/global-trade-system-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/lost-at-sea-dialogue.json b/src/locales/it/mystery-encounters/lost-at-sea-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/lost-at-sea-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/mysterious-challengers-dialogue.json b/src/locales/it/mystery-encounters/mysterious-challengers-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/mysterious-challengers-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/mysterious-chest-dialogue.json b/src/locales/it/mystery-encounters/mysterious-chest-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/mysterious-chest-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/part-timer-dialogue.json b/src/locales/it/mystery-encounters/part-timer-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/part-timer-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/safari-zone-dialogue.json b/src/locales/it/mystery-encounters/safari-zone-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/safari-zone-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/shady-vitamin-dealer-dialogue.json b/src/locales/it/mystery-encounters/shady-vitamin-dealer-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/shady-vitamin-dealer-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/slumbering-snorlax-dialogue.json b/src/locales/it/mystery-encounters/slumbering-snorlax-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/slumbering-snorlax-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/teleporting-hijinks-dialogue.json b/src/locales/it/mystery-encounters/teleporting-hijinks-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/teleporting-hijinks-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/the-expert-pokemon-breeder-dialogue.json b/src/locales/it/mystery-encounters/the-expert-pokemon-breeder-dialogue.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/src/locales/it/mystery-encounters/the-expert-pokemon-breeder-dialogue.json @@ -0,0 +1 @@ +{} diff --git a/src/locales/it/mystery-encounters/the-pokemon-salesman-dialogue.json b/src/locales/it/mystery-encounters/the-pokemon-salesman-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/the-pokemon-salesman-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/the-strong-stuff-dialogue.json b/src/locales/it/mystery-encounters/the-strong-stuff-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/the-strong-stuff-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/the-winstrate-challenge-dialogue.json b/src/locales/it/mystery-encounters/the-winstrate-challenge-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/the-winstrate-challenge-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/training-session-dialogue.json b/src/locales/it/mystery-encounters/training-session-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/training-session-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/trash-to-treasure-dialogue.json b/src/locales/it/mystery-encounters/trash-to-treasure-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/trash-to-treasure-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/uncommon-breed-dialogue.json b/src/locales/it/mystery-encounters/uncommon-breed-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/uncommon-breed-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/mystery-encounters/weird-dream-dialogue.json b/src/locales/it/mystery-encounters/weird-dream-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/it/mystery-encounters/weird-dream-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/it/party-ui-handler.json b/src/locales/it/party-ui-handler.json index 95466779727..7bcb5ccf7a0 100644 --- a/src/locales/it/party-ui-handler.json +++ b/src/locales/it/party-ui-handler.json @@ -15,6 +15,7 @@ "UNPAUSE_EVOLUTION": "Consenti evoluzione", "REVIVE": "Revitalizza", "RENAME": "Rinomina", + "SELECT": "Seleziona", "choosePokemon": "Scegli un Pokémon.", "doWhatWithThisPokemon": "Hai selezionato questo Pokémon.", "noEnergy": "{{pokemonName}} non ha più energie\nper lottare!", diff --git a/src/locales/it/trainer-names.json b/src/locales/it/trainer-names.json index 78e76b8434c..b29fd2e9f6f 100644 --- a/src/locales/it/trainer-names.json +++ b/src/locales/it/trainer-names.json @@ -166,5 +166,19 @@ "alder_iris_double": "Nardo & Iris", "iris_alder_double": "Iris & Nardo", "marnie_piers_double": "Mary & Ginepro", - "piers_marnie_double": "Ginepro & Mary" + "piers_marnie_double": "Ginepro & Mary", + + "buck": "Chicco", + "cheryl": "Demetra", + "marley": "Risetta", + "mira": "Matilde", + "riley": "Fabiolo", + "victor": "Vincenzo", + "victoria": "Vittoria", + "vivi": "Viviana", + "vicky": "Vicky", + "vito": "Enrico", + + "bug_type_superfan": "Fan n.1 dei tipi Coleottero", + "expert_pokemon_breeder": "Expert Pokémon Breeder" } diff --git a/src/locales/it/trainer-titles.json b/src/locales/it/trainer-titles.json index 8f28efab45d..c2408a071ad 100644 --- a/src/locales/it/trainer-titles.json +++ b/src/locales/it/trainer-titles.json @@ -36,6 +36,8 @@ "aether_admin": "Capo Filiale Æther", "skull_admin": "Ufficiale Team Skull", "macro_admin": "Vicepresidente Macro Cosmos", - "star_admin": "Capobanda Team Star" + "star_admin": "Capobanda Team Star", + + "the_winstrates": "Famiglia Vinci'" } diff --git a/src/locales/ja/achv.json b/src/locales/ja/achv.json index fd5e4b9e6c4..ad85e8aeb05 100644 --- a/src/locales/ja/achv.json +++ b/src/locales/ja/achv.json @@ -265,5 +265,9 @@ "INVERSE_BATTLE": { "name": "カガミよミガカ", "description": "反転バトルチャレンジを クリアする\nるすアリク をジンレャチルトバ転反" + }, + "BREEDERS_IN_SPACE": { + "name": "宇宙のブリーダー!", + "description": "宇宙バイオームで エキスパートブリーダーを 倒す" } } diff --git a/src/locales/ja/battle.json b/src/locales/ja/battle.json index 1fe24068cdf..7402c6155b4 100644 --- a/src/locales/ja/battle.json +++ b/src/locales/ja/battle.json @@ -96,5 +96,6 @@ "unlockedSomething": "{{unlockedThing}}\nを アンロックした!", "congratulations": "おめでとうございます!!", "beatModeFirstTime": "初めて {{speciesName}}が {{gameMode}}モードを クリアした!\n{{newModifier}}を 手に入れた!", - "ppReduced": "{{targetName}}の {{moveName}}を {{reduction}}削った!" + "ppReduced": "{{targetName}}の {{moveName}}を {{reduction}}削った!", + "mysteryEncounterAppeared": "あれ?" } diff --git a/src/locales/ja/bgm-name.json b/src/locales/ja/bgm-name.json index e177d1bddfb..fbb86deaa0d 100644 --- a/src/locales/ja/bgm-name.json +++ b/src/locales/ja/bgm-name.json @@ -149,5 +149,11 @@ "encounter_youngster": "BW 視線!たんぱんこぞう", "heal": "BW 回復", "menu": "ポケダン空 ようこそ! ポケモンたちのせかいへ!", - "title": "ポケダン空 トップメニュー" + "title": "ポケダン空 トップメニュー", + + "mystery_encounter_weird_dream": "ポケダン空 じげんのとう", + "mystery_encounter_fun_and_games": "ポケダン空 おやかたプクリン", + "mystery_encounter_gen_5_gts": "BW GTS", + "mystery_encounter_gen_6_gts": "XY GTS", + "mystery_encounter_delibirdy": "Firel - DeliDelivery! (デーリーデーリー!)" } diff --git a/src/locales/ja/config.ts b/src/locales/ja/config.ts index f8afd6eb167..f806a792d39 100644 --- a/src/locales/ja/config.ts +++ b/src/locales/ja/config.ts @@ -53,7 +53,49 @@ import terrain from "./terrain.json"; import modifierSelectUiHandler from "./modifier-select-ui-handler.json"; import moveTriggers from "./move-trigger.json"; import runHistory from "./run-history.json"; +import mysteryEncounterMessages from "./mystery-encounter-messages.json"; +import lostAtSea from "./mystery-encounters/lost-at-sea-dialogue.json"; +import mysteriousChest from "./mystery-encounters/mysterious-chest-dialogue.json"; +import mysteriousChallengers from "./mystery-encounters/mysterious-challengers-dialogue.json"; +import darkDeal from "./mystery-encounters/dark-deal-dialogue.json"; +import departmentStoreSale from "./mystery-encounters/department-store-sale-dialogue.json"; +import fieldTrip from "./mystery-encounters/field-trip-dialogue.json"; +import fieryFallout from "./mystery-encounters/fiery-fallout-dialogue.json"; +import fightOrFlight from "./mystery-encounters/fight-or-flight-dialogue.json"; +import safariZone from "./mystery-encounters/safari-zone-dialogue.json"; +import shadyVitaminDealer from "./mystery-encounters/shady-vitamin-dealer-dialogue.json"; +import slumberingSnorlax from "./mystery-encounters/slumbering-snorlax-dialogue.json"; +import trainingSession from "./mystery-encounters/training-session-dialogue.json"; +import theStrongStuff from "./mystery-encounters/the-strong-stuff-dialogue.json"; +import pokemonSalesman from "./mystery-encounters/the-pokemon-salesman-dialogue.json"; +import offerYouCantRefuse from "./mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; +import delibirdy from "./mystery-encounters/delibirdy-dialogue.json"; +import absoluteAvarice from "./mystery-encounters/absolute-avarice-dialogue.json"; +import aTrainersTest from "./mystery-encounters/a-trainers-test-dialogue.json"; +import trashToTreasure from "./mystery-encounters/trash-to-treasure-dialogue.json"; +import berriesAbound from "./mystery-encounters/berries-abound-dialogue.json"; +import clowningAround from "./mystery-encounters/clowning-around-dialogue.json"; +import partTimer from "./mystery-encounters/part-timer-dialogue.json"; +import dancingLessons from "./mystery-encounters/dancing-lessons-dialogue.json"; +import weirdDream from "./mystery-encounters/weird-dream-dialogue.json"; +import theWinstrateChallenge from "./mystery-encounters/the-winstrate-challenge-dialogue.json"; +import teleportingHijinks from "./mystery-encounters/teleporting-hijinks-dialogue.json"; +import bugTypeSuperfan from "./mystery-encounters/bug-type-superfan-dialogue.json"; +import funAndGames from "./mystery-encounters/fun-and-games-dialogue.json"; +import uncommonBreed from "./mystery-encounters/uncommon-breed-dialogue.json"; +import globalTradeSystem from "./mystery-encounters/global-trade-system-dialogue.json"; +import expertPokemonBreeder from "./mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; +/** + * Dialogue/Text token injection patterns that can be used: + * - `$` will be treated as a new line for Message and Dialogue strings. + * - `@d{}` will add a time delay to text animation for Message and Dialogue strings. + * - `@s{}` will play a specified sound effect for Message and Dialogue strings. + * - `@f{}` will fade the screen to black for the given duration, then fade back in for Message and Dialogue strings. + * - `{{}}` (MYSTERY ENCOUNTERS ONLY) will auto-inject the matching dialogue token value that is stored in {@link IMysteryEncounter.dialogueTokens}. + * - (see [i18next interpolations](https://www.i18next.com/translation-function/interpolation)) for more details. + * - `@[]{}` (STATIC TEXT ONLY, NOT USEABLE WITH {@link UI.showText()} OR {@link UI.showDialogue()}) will auto-color the given text to a specified {@link TextStyle} (e.g. `TextStyle.SUMMARY_GREEN`). + */ export const jaConfig = { ability, abilityTriggers, @@ -110,4 +152,40 @@ export const jaConfig = { modifierSelectUiHandler, moveTriggers, runHistory, + mysteryEncounter: { + // DO NOT REMOVE + "unit_test_dialogue": "{{test}}{{test}} {{test{{test}}}} {{test1}} {{test\}} {{test\\}} {{test\\\}} {test}}", + mysteriousChallengers, + mysteriousChest, + darkDeal, + fightOrFlight, + slumberingSnorlax, + trainingSession, + departmentStoreSale, + shadyVitaminDealer, + fieldTrip, + safariZone, + lostAtSea, + fieryFallout, + theStrongStuff, + pokemonSalesman, + offerYouCantRefuse, + delibirdy, + absoluteAvarice, + aTrainersTest, + trashToTreasure, + berriesAbound, + clowningAround, + partTimer, + dancingLessons, + weirdDream, + theWinstrateChallenge, + teleportingHijinks, + bugTypeSuperfan, + funAndGames, + uncommonBreed, + globalTradeSystem, + expertPokemonBreeder + }, + mysteryEncounterMessages }; diff --git a/src/locales/ja/dialogue.json b/src/locales/ja/dialogue.json index 9ba82ac54de..9f47d9c31ef 100644 --- a/src/locales/ja/dialogue.json +++ b/src/locales/ja/dialogue.json @@ -1078,6 +1078,116 @@ "1": "I can't fault you on your battle skills at all... Considering how the bosses fell at your hands." } }, + "stat_trainer_buck": { + "encounter": { + "1": "……言っとくけど オレ 強いからな! 驚けよ!", + "2": "モンスターボールの 中で オレの ポケモン達 震えてる!\nこれ 武者震いって やつだな!" + }, + "victory": { + "1": "イヒヒ!\nあっちーな  おまえ!!", + "2": "イヒヒ!\nあっちーな  おまえ!!" + }, + "defeat": { + "1": "おっと! 元気切れか", + "2": "おっと! 元気切れか" + } + }, + "stat_trainer_cheryl": { + "encounter": { + "1": "あたしの ポケモンたち 戦いたくて ウズウズしてるよ", + "2": "あたしの ポケモン達 結構 ヤンチャですわよ" + }, + "victory": { + "1": "攻めること 守ること その バランスは 大変ですね…", + "2": "攻めること 守ること その バランスは 大変ですね…" + }, + "defeat": { + "1": "早く ポケモンを 回復してくださいね", + "2": "早く ポケモンを 回復してくださいね?" + } + }, + "stat_trainer_marley": { + "encounter": { + "1": "……わかった\nできるだけ がんばるから", + "2": "……わかった\nあたし…… 負けないから……!" + }, + "victory": { + "1": "……もう", + "2": "……もう" + }, + "defeat": { + "1": "…… サヨナラ.", + "2": "…… サヨナラ" + } + }, + "stat_trainer_mira": { + "encounter": { + "1": "ミル ビックリしちゃいますよ!", + "2": "もう 迷ったりしない ってところ\nトレーナーさんに 見せるからね!" + }, + "victory": { + "1": "これだと この地方で\nミル 活躍 できないかな…", + "2": "これだと この地方で\nミル 活躍 できないかな…" + }, + "defeat": { + "1": "やった! ミル 最強!", + "2": "やった! ミル 最強!" + } + }, + "stat_trainer_riley": { + "encounter": { + "1": "ポケモン勝負 こそが 私達の 挨拶さ!", + "2": "全力を出して 君の ポケモンを 倒して見せるよ" + }, + "victory": { + "1": "戦ったり 組んでみたり……$トレーナー同士って いいよね", + "2": "戦ったり 組んでみたり……$トレーナー同士って いいよね" + }, + "defeat": { + "1": "よく 頑張ってた…\n次が あるよ", + "2": "よく 頑張ってた…\n次が あるよ" + } + }, + "winstrates_victor": { + "encounter": { + "1": "いい 度胸だ! 気に入ったぞ!" + }, + "victory": { + "1": "たはーっ! 思っていたより 強いんだね きみは!" + } + }, + "winstrates_victoria": { + "encounter": { + "1": "あれま! 意外に 若いのね!$うちの 主人に 勝ってしまうとは なんと 凄腕の トレーナー なの!$じゃあ こんどは 私と 勝負よ!" + }, + "victory": { + "1": "んまーっ! あなたって なんて 強いのかしら!" + } + }, + "winstrates_vivi": { + "encounter": { + "1": "ママより 強いなんて すごーい!$でも あたし だって 強いんだから!\nほんと なんだってば!" + }, + "victory": { + "1": "悔しい……\n……ぐっすん! おばあちゃーん!!" + } + }, + "winstrates_vicky": { + "encounter": { + "1": "こらーっ! わしの かわいい 孫に 何すんじゃ!$こうなったら わしが おまえさんの\nポケモンを こらしめちゃるから 覚悟せぇ!" + }, + "victory": { + "1": "フガッ! 強いのう……\n孫の いうことは 本当 じゃった" + } + }, + "winstrates_vito": { + "encounter": { + "1": "家族 全員で\nポケモンの 修行を してたんだ!$誰にも 負けないぜ!" + }, + "victory": { + "1": "家族の 誰よりも つよかった おれ……\n今まで 誰にも 負けなかった おれ……" + } + }, "brock": { "encounter": { "1": "My expertise on Rock-type Pokémon will take you down! Come on!", diff --git a/src/locales/ja/egg.json b/src/locales/ja/egg.json index 91b1442c56c..9ed31bfc04b 100644 --- a/src/locales/ja/egg.json +++ b/src/locales/ja/egg.json @@ -11,6 +11,7 @@ "gachaTypeLegendary": "伝説確率アップ", "gachaTypeMove": "レアなタマゴ技確率アップ", "gachaTypeShiny": "色違い確率アップ", + "eventType": "謎イベント", "selectMachine": "ガチャマシンを選択", "notEnoughVouchers": "タマゴクーポンが足りません!", "tooManyEggs": "タマゴが一杯です!", diff --git a/src/locales/ja/modifier-select-ui-handler.json b/src/locales/ja/modifier-select-ui-handler.json index d7428c8e373..d5cd199063b 100644 --- a/src/locales/ja/modifier-select-ui-handler.json +++ b/src/locales/ja/modifier-select-ui-handler.json @@ -8,5 +8,7 @@ "lockRaritiesDesc": "選択肢を 変更するときの レア度を 固定する\n(選択肢変更の価格は変わる)", "checkTeamDesc": "手持ちポケモンの 状態を 確認する\nフォルムチェンジアイテムを 有効・無効にする", "rerollCost": "{{formattedMoney}}円", - "itemCost": "{{formattedMoney}}円" + "itemCost": "{{formattedMoney}}円", + "continueNextWaveButton": "続く", + "continueNextWaveDescription": "次の ラウンドに 続く" } diff --git a/src/locales/ja/modifier-type.json b/src/locales/ja/modifier-type.json index a2e62bd941e..b217ab054b7 100644 --- a/src/locales/ja/modifier-type.json +++ b/src/locales/ja/modifier-type.json @@ -68,6 +68,20 @@ "BaseStatBoosterModifierType": { "description": "ポケモンの 基本の{{stat}}を 10% あげる。\n個体値が 高けば高いほど 持てる限界が 上がる" }, + "PokemonBaseStatTotalModifierType": { + "name": "ツボツボジュース", + "description": "持たせると 基本能力が {{statValue}} {{increaseDecrease}}。ツボツボに {{blessCurse}}。", + "extra": { + "increase": "上がる", + "decrease": "下がる", + "blessed": "恵まれた", + "cursed": "呪われた" + } + }, + "PokemonBaseStatFlatModifierType": { + "name": "もりのヨウカン", + "description": "持たせると 基本能力が {{statValue}} 上がる。 謎の夢で 見つけた お菓子。" + }, "AllPokemonFullHpRestoreModifierType": { "description": "手持ちポケモン 全員の HPを すべて 回復する" }, @@ -247,7 +261,13 @@ "ENEMY_ATTACK_BURN_CHANCE": { "name": "やけどトークン" }, "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { "name": "なんでもなおしトークン", "description": "毎ターン 状態異常を 治せる 2.5%の可能性を 加える" }, "ENEMY_ENDURE_CHANCE": { "name": "こらえるトークン" }, - "ENEMY_FUSED_CHANCE": { "name": "がったいトークン", "description": "野生ポケモンは 吸収合体している 1%の可能性を 加える" } + "ENEMY_FUSED_CHANCE": { "name": "がったいトークン", "description": "野生ポケモンは 吸収合体している 1%の可能性を 加える" }, + + "MYSTERY_ENCOUNTER_SHUCKLE_JUICE": { "name": "ツボツボジュース" }, + "MYSTERY_ENCOUNTER_BLACK_SLUDGE": { "name": "くろいヘドロ", "description": "ムゴい 悪臭を放つから ショップが アイテムの 価格を ぐんと 上げる" }, + "MYSTERY_ENCOUNTER_MACHO_BRACE": { "name": "きょうせいギプス", "description": "持たせると 相手を倒すとき もう1つの ギプスを もらう。 ギプス当たり 能力が 少し 上がる。 最多で さらに 上がる" }, + "MYSTERY_ENCOUNTER_OLD_GATEAU": { "name": "もりのヨウカン", "description": "持たせると 基本能力が {{statValue}} 上がる" }, + "MYSTERY_ENCOUNTER_GOLDEN_BUG_NET": { "name": "きんのむしとりあみ", "description": "むしタイプの ポケモンが 見つけやすく なる運に 注ぎ込まれた 妙に重い 虫取り網" } }, "SpeciesBoosterItem": { "LIGHT_BALL": { "name": "でんきだま", "description": "ピカチュウに 持たせると 攻撃と 特攻が あがる 不思議な玉" }, diff --git a/src/locales/ja/mystery-encounter-messages.json b/src/locales/ja/mystery-encounter-messages.json new file mode 100644 index 00000000000..f67a8764d49 --- /dev/null +++ b/src/locales/ja/mystery-encounter-messages.json @@ -0,0 +1,7 @@ +{ + "paid_money": "{{amount, number}}円 払った", + "receive_money": "{{amount, number}}円 もらった!", + "affects_pokedex": "ポケモン図鑑の データに 影響する", + "cancel_option": "遭遇の 選択肢に 戻る", + "view_party_button": "手持ちを確認" +} diff --git a/src/locales/ja/mystery-encounters/a-trainers-test-dialogue.json b/src/locales/ja/mystery-encounters/a-trainers-test-dialogue.json new file mode 100644 index 00000000000..33818d27ab3 --- /dev/null +++ b/src/locales/ja/mystery-encounters/a-trainers-test-dialogue.json @@ -0,0 +1,47 @@ +{ + "intro": "非常に 強いトレーナーが 近寄る……", + "buck": { + "intro_dialogue": "おっ, トレーナーさん!\nオレ、バクだ!$あなたみたいな 強いトレーナーに\n最高の 頼みが あるのさ!$レアな タマゴが 2つ 持っているけど、\n誰か他の トレーナーに 1つ 世話をすれば いいなあ!$おまえの 強さが 証明できれば\n一番レアな タマゴを あげるからさ!", + "accept": "いひひ……! きた きた!\nさあさあ! 勝負しようぜ!", + "decline": "ざーんねん! おまえの 手持ちポケモンも\n絶好調に 見えないな……$ほら、治して あげるさ!" + }, + "cheryl": { + "intro_dialogue": "はじめまして、\nあたしの 名前は モミです。$かなり強い トレーナーですね?\nお願いが あるの!$今は レアな タマゴを 運んでいます。\nでも、1つ 世話をできる トレーナーが 探がすの$トレーナーさん 強さを 証明できれば\n最もレアな 方を あげますよ!", + "accept": "覚悟して!", + "decline": "あっ 分かります。 あなたの 手持ちポケモンは\nちょっと 元気は なさそうですね……$ねえ、 治してあげましょう!" + }, + "marley": { + "intro_dialogue": "……@d{64}あたし マイ$……お願いが あるんだけど いい?$……タマゴを 2つ 持ってる けど\n1つ あげたいの$……バトルで あたしより 強いなら\n一番レアな タマゴ あげるの", + "accept": "……分かった できるだけ 頑張るから", + "decline": "……分かった$……ポケモン 傷つくの ダメ だから 回復してあげる" + }, + "mira": { + "intro_dialogue": "あたし ミル!$強い トレーナーだね?\nお願いです!$ミルはね、レアなタマゴ 2つ あるのに\n1つ あげたいの!$勝負で 強いのを ミルに 見せたら\n一番レアな たまご あげるよ!", + "accept": "ミルと 戦う?\nやった!", + "decline": "ちょっと がっかりです……\nでも 大丈夫!$あなたの ポケモン 元気に してあげるね!" + }, + "riley": { + "intro_dialogue": "やあ、 わたしは ゲン というんだ$キミのような 強いトレーナーに\nもの好きな 申し入れが あるよ$レアなタマゴが 2つ もっているが、\n1つ もらえないか?$勝負で 強さを 証明できれば\n最もレアな 方を あげるよ", + "accept": "その顔…… 戦う 準備は できたかな?", + "decline": "分かる、 手持ちポケモンが 結構 傷ついたようだ。$私が 回復 してあげるよ" + }, + "title": "強さの証明", + "description": "このトレーナーは 選択にかかわらず タマゴを 1つ あげる ようです。 しかし、 非常に強い トレーナーを 倒せば 最もレアな タマゴを もらいます。", + "query": "どうしますか?", + "option": { + "1": { + "label": "勝負を受け取る", + "tooltip": "(-) 勝負がきつい\n(+) @[TOOLTIP_TITLE]{Very Rare Egg}をもらう" + }, + "2": { + "label": "勝負を断る", + "tooltip": "(+) 手持ち 全回復\n(+) @[TOOLTIP_TITLE]{Egg}をもらう" + } + }, + "eggTypes": { + "rare": "レアなタマゴ", + "epic": "超レアなタマゴ", + "legendary": "伝説のタマゴ" + }, + "outro": "{{statTrainerName}}から {{eggType}}を もらった!" +} diff --git a/src/locales/ja/mystery-encounters/absolute-avarice-dialogue.json b/src/locales/ja/mystery-encounters/absolute-avarice-dialogue.json new file mode 100644 index 00000000000..d2aba5dfce9 --- /dev/null +++ b/src/locales/ja/mystery-encounters/absolute-avarice-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "待ち伏せの {{greedentName}}が\n手持ちポケモンの きのみを 全部 奪った!", + "title": "よくよく欲張り", + "description": "{{greedentName}}の 不意打ちで 持っていた きのみを 全部 失った!\n\n{{greedentName}}は 食べ始めそうですが、 突然に 止まって 気になる 顔で あなとを 見つめる。", + "query": "どうしますか", + "option": { + "1": { + "label": "勝負だ", + "tooltip": "(-) 勝負がきつい\n(+) きのみの山積みからご褒美", + "selected": "{{greedentName}}は 頬張って おそいかかってくる!", + "boss_enraged": "{{greedentName}}の 食べ物への 情熱で ぐっと キレた!", + "food_stash": "{{greedentName}}は 巨大な 食べ物の\n山積みを 守っていたようだ!$@s{item_fanfare}手持ちポケモンは 各々 {{foodReward}}を もらう!" + }, + "2": { + "label": "言い聞かせてみる", + "tooltip": "(+) きのみを数個取り戻す", + "selected": "あなたの 言い聞かせてる姿は {{greedentName}}の 胸に ちょっと こたえたようです。$きのみを 全部 戻さないが、\n数個を あなたの 方面へ 投げてあげる。" + }, + "3": { + "label": "全部食べさせて", + "tooltip": "(-) きのみを全部失う\n(?) {{greedentName}}は好きになる", + "selected": "あっという間に {{greedentName}}は\nきのみの 山積みを むさぼり食う!$お腹を ポンポンしながら\nありがたさうな 表情で 見つめる。$もしかして、 冒険中に きのみを\nもっと 食べさせて あげようかなぁ……$@s{level_up_fanfare}{{greedentName}}は 手持ちに 入りたい!" + } + } +} diff --git a/src/locales/ja/mystery-encounters/an-offer-you-cant-refuse-dialogue.json b/src/locales/ja/mystery-encounters/an-offer-you-cant-refuse-dialogue.json new file mode 100644 index 00000000000..d85ff4e0572 --- /dev/null +++ b/src/locales/ja/mystery-encounters/an-offer-you-cant-refuse-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "お金持ちっぽいな 男の子が 道を さえぎる……", + "speaker": "お坊っちゃま", + "intro_dialogue": "こんにちは!$まるで 素敵滅法な {{strongestPokemon}}を 飼っている ことに 気づかず にはいられません!$ずーっと そのような ポケモンを 飼いたかったんです!$ね、 気前よく 支払って、\nサービスで この古くて 安かった石を あげて いかがですか?", + "title": "断れない申し出", + "description": "お坊っちゃまは {{strongestPokemon}}の代わりに @[TOOLTIP_TITLE]{Shiny Charm}と {{price, money}}を 申し出ています。\n交換として 結構 すごいですが、 本当に こんな 強い仲間と 別れるのを 耐えられますか?", + "query": "どうしますか", + "option": { + "1": { + "label": "申し出を受け取る", + "tooltip": "(-) {{strongestPokemon}}を失う\n(+) @[TOOLTIP_TITLE]{Shiny Charm}をもらう\n(+) {{price, money}}をもらう", + "selected": "素晴らしい!@d{32} {{strongestPokemon}} こっち こっち!$ヨットクラブの みんなに おまえを 自慢するぞ!$きっと ヤキモチを 焼くね…… ふへへへ" + }, + "2": { + "label": "ガキを恐喝", + "tooltip": "(+) {{option2PrimaryName}}は{{moveOrAbility}}を使う\n(+) {{price, money}}を貰う", + "tooltip_disabled": "選ぶには 手持ちポケモンが 特定な 技や 特性が 必要", + "selected": "いやあ! {{liepardName}} 泥棒だ!$お父さんの 弁護士は キサマを 連絡するぞ!!" + }, + "3": { + "label": "立ち去る", + "tooltip": "(-) ご褒美なし", + "selected": "フン 今日は 最低だ……$まあね ヨットクラブへ 戻ろう、 {{liepardName}}" + } + } +} diff --git a/src/locales/ja/mystery-encounters/berries-abound-dialogue.json b/src/locales/ja/mystery-encounters/berries-abound-dialogue.json new file mode 100644 index 00000000000..a11e0cb3360 --- /dev/null +++ b/src/locales/ja/mystery-encounters/berries-abound-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "あのポケモンの 近くに\n巨大な きのみの木が あります!", + "title": "溢れるきのみ", + "description": "強いポケモンは きのみの木を 守っている ようです。一番 当たり前な 対処法は バトルですが、 結構 強力そう です。 早いポケモンが いれば 捕まえられずに 数個 取れる かもしれません……", + "query": "どうしますか?", + "berries": "きのみ", + "option": { + "1": { + "label": "バトルだ", + "tooltip": "(-) 勝負がきつい\n(+) きのみをもらう", + "selected": "怖がらないで ポケモンに 近寄っていく……" + }, + "2": { + "label": "木に突っ走る!", + "tooltip": "(-) {{fastestPokemon}}は素早さを使う\n(+) きのみをもらう", + "selected": "{{fastestPokemon}}は きのみの木へ 突っ走っていきます!${{enemyPokemon}}は 受け止められる 前に {{numBerries}}を 取れます!$新たに得た ご褒美で 早く 逃げます。", + "selected_bad": "{{fastestPokemon}}は きのみの木へ 突っ走って行きます!$ダメ! {{enemyPokemon}}の方は 早くて 受け止められました!", + "boss_enraged": "相手の {{enemyPokemon}}は 怒り出した!" + }, + "3": { + "label": "置いていく", + "tooltip": "(-) ご褒美なし", + "selected": "強いポケモンを そのままで 置いて 進んでいきます。" + } + } +} diff --git a/src/locales/ja/mystery-encounters/bug-type-superfan-dialogue.json b/src/locales/ja/mystery-encounters/bug-type-superfan-dialogue.json new file mode 100644 index 00000000000..c11a1191e4c --- /dev/null +++ b/src/locales/ja/mystery-encounters/bug-type-superfan-dialogue.json @@ -0,0 +1,40 @@ +{ + "intro": "色々な むし式の アクセを 着ている\n奇抜な トレーナーは 道を さえぎる!", + "intro_dialogue": "むしむし トレーナーむ氏! わたむしの 目的は この世界で 一番珍しい むしポケモンを 見つけること でチュウ!$トレーナーむ氏も むしが 大好き でチョウ?\nみんなと同じ でチュウね!", + "title": "虫好きも好き好き", + "speaker": "むしマニア", + "description": "返事も 待たずに むしマニアは 言い続けています……\n\nこの状況から 出るには 注目を 引くしかない ようです!", + "query": "どうしますか?", + "option": { + "1": { + "label": "バトルに挑む", + "tooltip": "(-) 相手が手強い\n(+) ポケモンにむしタイプ技を教える", + "selected": "わたむしを 挑むッシか?\n仲間の むしたちは もう 覚悟していまチュウ!" + }, + "2": { + "label": "むしポケモンを見せる", + "tooltip": "(+) プレゼントをもらう", + "disabled_tooltip": "選ぶには 最小限 1匹の むしタイプの 手持ちポケモンが 必要", + "selected": "むしマニアに 手持ちの むしポケモンを 見せる……", + "selected_0_to_1": "何チュウこと?? {{numBugTypes}}しか いないの でチョウ……$よクモ 時間を むダニ させます……", + "selected_2_to_3": "ほほう! {{numBugTypes}}が いるんでチュウね!\n良く 出来ムシた!$ね、 これが あれば 冒険チュウに もっともっと 捕まえられまチュウ!", + "selected_4_to_5": "ほほう!  {{numBugTypes}}が いるんでチュウね!\nチョウナイス!$わたむしの 段階には まだ 追いつきません けど、\nトレーナーむ氏の 中に チョーっと 自分の姿が 見えますね!\n$こちらをどうぞ! 我が虫弟子よ!", + "selected_6": "チョチョチョーっと 待って! {{numBugTypes}}!!\n$わたむしと 同じくらいに むしが 大好きでちょう?!$この友情の印を 受け取って ください!" + }, + "3": { + "label": "むしアイテムをあげる", + "tooltip": "(-) {{requiredBugItems}}をあげる\n(+) プレゼントをもらう", + "disabled_tooltip": "選ぶには {{requiredBugItems}}を 持つことが 必要", + "select_prompt": "あげたい アイテムを 選んで ください", + "invalid_selection": "このポケモンが そのような アイテムを 持っていない!", + "selected": "むしマニアに {{selectedItem}}を あげます。", + "selected_dialogue": "チョーっと待って! その{{selectedItem}}、 くれますか?\nアリがとう ございムシ!$このアリがたさの印、 受け取ってください!$古くから 先祖の 形見 でチュウよ… トレーナーむ氏が 預かってくれます 蚊?" + } + }, + "battle_won": "トレーナーむ氏の 知識と 腕前は 弱点を\nつけ込むには チョウど良かった でチュウ!$いい勉強に なったから トレーナーむ氏の\nポケモン 1匹に むしタイプの 技を 教えまチョウ!", + "teach_move_prompt": "教えたい 技を 選んでください", + "confirm_no_teach": "本当に すごい技を 教えませんか?", + "outro": "チョウ強い むしポケモンが\nトレーナーむ氏の 未来に 予知しまチュウよ!$また ハエる まで バイ ビー!", + "numBugTypes_one": "{{count}}匹の むしポケモン", + "numBugTypes_other": "{{count}}匹の むしポケモン" +} diff --git a/src/locales/ja/mystery-encounters/clowning-around-dialogue.json b/src/locales/ja/mystery-encounters/clowning-around-dialogue.json new file mode 100644 index 00000000000..6b429da5083 --- /dev/null +++ b/src/locales/ja/mystery-encounters/clowning-around-dialogue.json @@ -0,0 +1,34 @@ +{ + "intro": "……@d{64}クラウン?", + "speaker": "クラウン", + "intro_dialogue": "バカバカしい ボンクラ、 抜本的な バトルで ぶっ壊す!\n微笑で ボコボコ Baby!", + "title": "くらくらクラウンの変え方", + "description": "この遭遇は 変な 気がします。\nクラウンは バトルを 引き起こりたがります が、\n一体 どうして ですか?\n\nあの{{blacephalonName}}は 特に おかしい…… @[TOOLTIP_TITLE]{変わったタイプと特性}が ある みたいです。", + "query": "どうします?", + "option": { + "1": { + "label": "クラウンと勝負", + "tooltip": "(-) 勝負はおかしい\n(?) 手持ちポケモンの特性は変化", + "selected": "パッとしない ポケモンを ぽかぽか パンチしちゃうんだ ぴょん!", + "apply_ability_dialogue": "とても たくましく 倒した!\n倒すのが 得意な トレーナーと一緒に 特性を 取り替えたい!", + "apply_ability_message": "クラウンは スキルスワップで 手持ちポケモン 1匹の\n特性を {{ability}}と 取り替えることを 申し出ています!", + "ability_prompt": "手持ちポケモンの 特性を\n恒久的に {{ability}}に 変化しますか?", + "ability_gained": "@s{level_up_fanfare}{{chosenPokemon}}は {{ability}}の 特性を 身についた!" + }, + "2": { + "label": "怒らない", + "tooltip": "(-) クラウンは怒る\n(?) 手持ちポケモンのアイテムは変化", + "selected": "しつこい! シンプルな 勝負を スルー?!\n己は 俺の 怒りを 起こした!", + "selected_2": "クラウンの {{blacephalonName}}は トリックを 使った!\n{{switchPokemon}}の 持ったアイテムは 全て デタラメに 交換された!", + "selected_3": "豪華に ごまかした 下衆…… 元気でね!" + }, + "3": { + "label": "悪口を返す", + "tooltip": "(-) クラウンは怒る\n(?) 手持ちポケモンのタイプは変化", + "selected": "しつこい! シンプルな 勝負を スルー?!\n己は 俺の 怒りを 起こした!", + "selected_2": "クラウンの {{blacephalonName}}は 変な技を 使った!\n手持ちポケモン 全員の タイプは デタラメに 交換された!", + "selected_3": "豪華に ごまかした 下衆…… 元気でね!" + } + }, + "outro": "クラウンたちは パッと\n煙に なっちゃいます。" +} diff --git a/src/locales/ja/mystery-encounters/dancing-lessons-dialogue.json b/src/locales/ja/mystery-encounters/dancing-lessons-dialogue.json new file mode 100644 index 00000000000..2bade712ec4 --- /dev/null +++ b/src/locales/ja/mystery-encounters/dancing-lessons-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "相手が いなくて 寂しそうな {{oricorioName}}は 悲しく 踊ってます。", + "title": "フリフリ振り付け", + "description": "{{oricorioName}}は 攻撃的 じゃなさそう…… むしろ、 悲しい 顔を しています。\n\n誰かと 踊りたいだけ かもしれません……", + "query": "どうしますか?", + "option": { + "1": { + "label": "バトルする", + "tooltip": "(-) 勝負はきつい\n(+) バトンをもらう", + "selected": "{{oricorioName}}は 取り乱して 防御の 体勢に 入る!", + "boss_enraged": "{{oricorioName}}は 恐れで 能力を 上げた!" + }, + "2": { + "label": "踊りを覚える", + "tooltip": "(+) ポケモンにめざめるダンスを教える", + "selected": "{{oricorioName}}の 踊りを よく 調べます……$@s{level_up_fanfare}{{selectedPokemon}}が {{oricorioName}}から 技を 覚えました!" + }, + "3": { + "label": "踊りを教える", + "tooltip": "(-) {{oricorioName}}に踊りの技を教える\n(+) {{oricorioName}}は好きになる", + "disabled_tooltip": "選ぶには 踊りの技がある 手持ちポケモンが 必要", + "select_prompt": "踊りの技を 選んでください", + "selected": "{{oricorioName}}は {{selectedPokemon}}が {{selectedMove}}を\n演舞する 姿を じっと 見とれています!!$演舞に 全く 好きになった ようです!$@s{level_up_fanfare}{{oricorioName}}は 手持ちに 入りたい!" + } + }, + "invalid_selection": "このポケモンは 踊りの技を 覚えていません!" +} diff --git a/src/locales/ja/mystery-encounters/dark-deal-dialogue.json b/src/locales/ja/mystery-encounters/dark-deal-dialogue.json new file mode 100644 index 00000000000..a797e599f19 --- /dev/null +++ b/src/locales/ja/mystery-encounters/dark-deal-dialogue.json @@ -0,0 +1,24 @@ + + +{ + "intro": "ぼろぼろの コートを 着ている\n謎の男が 道を 立ち塞いでいます……", + "speaker": "怪しい男", + "intro_dialogue": "おい キミ!$俺、潜在能力を 引き出す 装置を 作り出した!$ポケモンの 原子を 分子レベルで\n完全に 再結合し 断然強力な 姿に 変えるぞ$ウエッヘへ…@d{32} 機能が 効いてるのを 確認するには ぎせッ@d{32}…えーと、 被験者が 必要 だが… ", + "title": "裏取引", + "description": "怪しいヤツは ボールを 数個 差し上げます。\n「礼は弾むぞ! 支払いとして 高級なボールを あげて、 代わりに 手持ちポケモンが 1匹だけ 要るな…… ウエッヘヘ」", + "query": "どうしますか?", + "option": { + "1": { + "label": "受け入れる", + "tooltip": "(+) 5個のローグボール\n(?) 無作為なポケモンを強化", + "selected_dialogue": "じゃあ、 その{{pokeName}}で いい だろう!$ただし、 何か 悪いことが 起こっても 俺は 責任を 負わないって 覚えとけ!@d{32} ウエッヘヘ...", + "selected_message": "怪しい男から 5個の ローグボールを もらいます。${{pokeName}}は 謎の 機械に 入っていく...$機械は ピカッと光って 変な音を し出します!$...@d{96} 何かが 機械から 飛んできて 暴れ出す! " + }, + "2": { + "label": "断る", + "tooltip": "(-) ご褒美なし", + "selected": "助けが 要る人を 無視?\nケッ!" + } + }, + "outro": "苛む 遭遇の 後で、\n冷静にしてみて 立ち去ります。" +} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/delibirdy-dialogue.json b/src/locales/ja/mystery-encounters/delibirdy-dialogue.json new file mode 100644 index 00000000000..530830a6409 --- /dev/null +++ b/src/locales/ja/mystery-encounters/delibirdy-dialogue.json @@ -0,0 +1,29 @@ + + +{ + "intro": "{{delibirdName}}の 群れは 現れてきた!", + "title": "デリバリーか デリシャスか", + "description": "何かを ほしがる 表情で {{delibirdName}}は 期待で 見つめる。 アイテムや お金で 満足できる かもしれません…", + "query": "何をあげますか?", + "invalid_selection": "このポケモンは そのような アイテムが 持っていない!", + "option": { + "1": { + "label": "お金をあげる", + "tooltip": "(-) {{delibirdName}}に{{money, money}}あげる\n(+) プレセントをもらう", + "selected": "お金を {{delibirdName}}に 投げます。\n興奮で ペチャペチャと 話し合います。$話しが 終わってから ありがたく プレセントを くれます!" + }, + "2": { + "label": "食べ物をあげる", + "tooltip": "(-) {{delibirdName}}に きのみ や ふっかつのタネ をあげる\n(+) プレセントをもらう", + "select_prompt": "あげたい アイテムを 選んでください", + "selected": "{{chosenItem}}を {{delibirdName}}に 投げます。\n興奮で ペチャペチャと 話し合います。$話しが 終わってから ありがたく プレセントを くれます!" + }, + "3": { + "label": "アイテムをあげる", + "tooltip": "(-) {{delibirdName}}に持ち物をあげる\n(+) プレセントをもらう", + "select_prompt": "あげたい アイテムを 選んでください", + "selected": "{{chosenItem}}を {{delibirdName}}に 投げます。\n興奮で ペチャペチャと 話し合います。$話しが 終わってから ありがたく プレセントを くれます!" + } + }, + "outro": "{{delibirdName}}の 群れが 嬉しそうに ちょこちょこ歩きで 帰ります。$何と 不思議な 遭遇!" +} diff --git a/src/locales/ja/mystery-encounters/department-store-sale-dialogue.json b/src/locales/ja/mystery-encounters/department-store-sale-dialogue.json new file mode 100644 index 00000000000..246672e4907 --- /dev/null +++ b/src/locales/ja/mystery-encounters/department-store-sale-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "買い物袋が いっぱいな おねえさん だ。", + "speaker": "お客様", + "intro_dialogue": "こんにちは! すごーい セールの ために\nここに 来ましたね?$セール中に 特別な クーポンで\nアイテムを サービスとして 1つ もらえます!$もう 1つの クーポンが ありますから どうぞ!", + "title": "デパートで大特価セール", + "description": "各方面で 商品 いっぱい! クーポンで アイテムを もらえる 売り場が 4つ ようです。\n可能性は無限大!", + "query": "どの売り場に行きますか?", + "option": { + "1": { + "label": "技マシーンの売り場", + "tooltip": "(+) 技マシーンショップ" + }, + "2": { + "label": "栄養士の売り場", + "tooltip": "(+) えいようドリンクショップ" + }, + "3": { + "label": "戦闘良品の売り場", + "tooltip": "(+) 戦闘用ショップ" + }, + "4": { + "label": "ボールの売り場", + "tooltip": "(+) モンスターボールショップ" + } + }, + "outro": "何と お買い得! ちょくちょく 買いに行った 方が いいね" +} diff --git a/src/locales/ja/mystery-encounters/field-trip-dialogue.json b/src/locales/ja/mystery-encounters/field-trip-dialogue.json new file mode 100644 index 00000000000..a4613206579 --- /dev/null +++ b/src/locales/ja/mystery-encounters/field-trip-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "先生と 生徒です!", + "speaker": "先生", + "intro_dialogue": "あら、 こんにちは! 少しも 生徒のために\nお時間を させていただきますか?$ポケモンの 技に付いて 教えています から\n実演を 見た方が 良いです。$手持ちポケモンの 技を 一つ 見させても 良いですか?", + "title": "修学旅行", + "description": "先生は ポケモンの 技の 実演を 頼んでいます。 技の 分類によって お礼に 便利な アイテムを くれるかもしれません。", + "query": "どの分類の 技を 見せますか?", + "option": { + "1": { + "label": "物理技", + "tooltip": "(+) 物理アイテム" + }, + "2": { + "label": "特殊技", + "tooltip": "(+) 特殊アイテム" + }, + "3": { + "label": "変化技", + "tooltip": "(+) 変化アイテム" + }, + "selected": "{{pokeName}}は {{move}}を 堂々と 実演します!" + }, + "second_option_prompt": "使いたい 技を 選んでください", + "incorrect": "……$あれは {{moveCategory}}では ありませんね!\n申し訳ありませんが、 何も あげられません。$さあ みんな、\nましな 実演を 探しに 行きましょう。", + "incorrect_exp": "……とにかく いい勉強に なりました?$ポケモンも 経験値を 得ました。", + "correct": "見せてくれて ありがとう ございます!\nこのアイテムは 冒険中に 役に立つと 良いです!", + "correct_exp": "{{pokeName}}も 貴重な 経験値を 得ました!", + "status": "変化技", + "physical": "物理技", + "special": "特殊技" +} diff --git a/src/locales/ja/mystery-encounters/fiery-fallout-dialogue.json b/src/locales/ja/mystery-encounters/fiery-fallout-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/fiery-fallout-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/fight-or-flight-dialogue.json b/src/locales/ja/mystery-encounters/fight-or-flight-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/fight-or-flight-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/fun-and-games-dialogue.json b/src/locales/ja/mystery-encounters/fun-and-games-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/fun-and-games-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/global-trade-system-dialogue.json b/src/locales/ja/mystery-encounters/global-trade-system-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/global-trade-system-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/lost-at-sea-dialogue.json b/src/locales/ja/mystery-encounters/lost-at-sea-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/lost-at-sea-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/mysterious-challengers-dialogue.json b/src/locales/ja/mystery-encounters/mysterious-challengers-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/mysterious-challengers-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/mysterious-chest-dialogue.json b/src/locales/ja/mystery-encounters/mysterious-chest-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/mysterious-chest-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/part-timer-dialogue.json b/src/locales/ja/mystery-encounters/part-timer-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/part-timer-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/safari-zone-dialogue.json b/src/locales/ja/mystery-encounters/safari-zone-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/safari-zone-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/shady-vitamin-dealer-dialogue.json b/src/locales/ja/mystery-encounters/shady-vitamin-dealer-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/shady-vitamin-dealer-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/slumbering-snorlax-dialogue.json b/src/locales/ja/mystery-encounters/slumbering-snorlax-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/slumbering-snorlax-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/teleporting-hijinks-dialogue.json b/src/locales/ja/mystery-encounters/teleporting-hijinks-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/teleporting-hijinks-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/the-expert-pokemon-breeder-dialogue.json b/src/locales/ja/mystery-encounters/the-expert-pokemon-breeder-dialogue.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/src/locales/ja/mystery-encounters/the-expert-pokemon-breeder-dialogue.json @@ -0,0 +1 @@ +{} diff --git a/src/locales/ja/mystery-encounters/the-pokemon-salesman-dialogue.json b/src/locales/ja/mystery-encounters/the-pokemon-salesman-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/the-pokemon-salesman-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/the-strong-stuff-dialogue.json b/src/locales/ja/mystery-encounters/the-strong-stuff-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/the-strong-stuff-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/the-winstrate-challenge-dialogue.json b/src/locales/ja/mystery-encounters/the-winstrate-challenge-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/the-winstrate-challenge-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/training-session-dialogue.json b/src/locales/ja/mystery-encounters/training-session-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/training-session-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/trash-to-treasure-dialogue.json b/src/locales/ja/mystery-encounters/trash-to-treasure-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/ja/mystery-encounters/trash-to-treasure-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/ja/mystery-encounters/uncommon-breed-dialogue.json b/src/locales/ja/mystery-encounters/uncommon-breed-dialogue.json new file mode 100644 index 00000000000..4e4e4038897 --- /dev/null +++ b/src/locales/ja/mystery-encounters/uncommon-breed-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "普段の ポケモン じゃなそうです……!", + "title": "珍しい類型", + "description": "他の {{enemyPokemon}}と 比べて 特別そう です。@[TOOLTIP_TITLE]{特別な 技を 覚えている かな?} 普通に バトルで 捕まえてみることが できます が、 仲良くする 方法も ある かもしれません。", + "query": "どうしますか", + "option": { + "1": { + "label": "バトルする", + "tooltip": "(-) 勝負が厳しい\n(+) 相手が強くて捕まえられる", + "selected": "恐れないで {{enemyPokemon}}に 近寄ります!", + "stat_boost": "{{enemyPokemon}}の 強めた実力で 能力を上げた!" + }, + "2": { + "label": "食べ物をあげる", + "disabled_tooltip": "選ぶには 4個の きのみが 必要", + "tooltip": "(-) きのみを4個あげる\n(+) {{enemyPokemon}}が好きになる", + "selected": "{{enemyPokemon}}に きのみを なげます!$嬉しそうに 食べます!${{enemyPokemon}}は 手持ちに 入りたいです!" + }, + "3": { + "label": "仲良くする", + "disabled_tooltip": "選ぶには 手持ちポケモンが 特定な 技が 必要", + "tooltip": "(+) {{option3PrimaryName}}は{{option3PrimaryMove}}を使う\n(+) {{enemyPokemon}}は好きになる", + "selected": "{{enemyPokemon}}を 魅了するには {{option3PrimaryName}}は {{option3PrimaryMove}}を 使います!${{enemyPokemon}}が 手持ちに 入りたいです!" + } + } +} diff --git a/src/locales/ja/mystery-encounters/weird-dream-dialogue.json b/src/locales/ja/mystery-encounters/weird-dream-dialogue.json new file mode 100644 index 00000000000..02311e19119 --- /dev/null +++ b/src/locales/ja/mystery-encounters/weird-dream-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "影で 隠れている 謎の 女の人が 道を さえぎる。\n何か 不安に なる……", + "speaker": "女の人", + "intro_dialogue": "あなたの 未来たちも 過去たちも 全て 見えます。$我が子よ、 見えますか?", + "title": "???", + "description": "女の人の 言葉は 頭に 響いています。 一人の声じゃなくて、 全ての 異世界と 時間軸から 数多な 声々でした。 クラッと めまいがして、 あの質問が 頭で めぐります……\n\n@[TOOLTIP_TITLE]{「あなたの 未来たちも 過去たちも 全て 見えます。 我が子よ、 見えますか?」}", + "query": "どうしますか?", + "option": { + "1": { + "label": "「見えます。」", + "tooltip": "@[SUMMARY_GREEN]{(?) 手持ちポケモンに影響}", + "selected": "女の人は 手を 伸ばすと\n全部は 真っ黒に なります。$そして……@d{64} 何事も 見えます。\n時間軸たち。 自分たち。\n過去たち。 未来たち。 $自分を 作り出した 何事も\nいつか 成る 何事も……@d{64}", + "cutscene": "手持ちポケモンも 見えます……@d{32} 各現実 から\n集中してきて 混じって 新しい 生存たちに なります……@d{64}", + "dream_complete": "目が 覚めると、 女の人が (女か? 幽霊か?) 消えました……$.@d{32}.@d{32}.@d{32}$手持ちポケモンが 変わった……\nもしくは 前と 同じ 手持ち かな……?" + }, + "2": { + "label": "さっさと逃げる", + "tooltip": "(-) 手持ちポケモンに影響", + "selected": "ジーンと握った 意識を 取り戻して さっさと 逃げます。$一旦止まって 気を取り戻すと 手持ちポケモンを 見ます。$なんとなく 全員の レベルが 減っている ようです!" + } + } +} diff --git a/src/locales/ja/trainer-names.json b/src/locales/ja/trainer-names.json index c152e7864cc..2782043b578 100644 --- a/src/locales/ja/trainer-names.json +++ b/src/locales/ja/trainer-names.json @@ -166,5 +166,18 @@ "alder_iris_double": "アデクとアイリス", "iris_alder_double": "アイリスとアデク", "marnie_piers_double": "マリィとネズ", - "piers_marnie_double": "ネズとマリィ" + "piers_marnie_double": "ネズとマリィ", + + "buck": "バク", + "cheryl": "モミ", + "marley": "マイ", + "mira": "ミル", + "riley": "ゲン", + "victor": "ハルヒコ", + "victoria": "ヤスエ", + "vivi": "アキ", + "vicky": "ミツヨ", + "vito": "リョウヘイ", + "bug_type_superfan": "むしマニア", + "expert_pokemon_breeder": "ブリーダー名人" } diff --git a/src/locales/ja/trainer-titles.json b/src/locales/ja/trainer-titles.json index b558f7ad80c..094de5fe101 100644 --- a/src/locales/ja/trainer-titles.json +++ b/src/locales/ja/trainer-titles.json @@ -36,5 +36,7 @@ "aether_admin": "エーテル支部長", "skull_admin": "スカル団幹部", "macro_admin": "マクロコスモス", - "star_admin": "スター団 組ボス" + "star_admin": "スター団 組ボス", + + "the_winstrates": "カチヌキさんち" } diff --git a/src/locales/ko/achv.json b/src/locales/ko/achv.json index 9364c1c55b6..e1bf57a8ed1 100644 --- a/src/locales/ko/achv.json +++ b/src/locales/ko/achv.json @@ -264,5 +264,9 @@ "INVERSE_BATTLE": { "name": "상성 전문가(였던 것)", "description": "거꾸로 배틀 챌린지 모드 클리어." + }, + "BREEDERS_IN_SPACE": { + "name": "충격!우주에 브리더 진짜 계심ㄷㄷ", + "description": "우주 바이옴에서 포켓몬 전문 브리더에게 승리." } } diff --git a/src/locales/ko/battle.json b/src/locales/ko/battle.json index 154ca04fd49..987f816bbf6 100644 --- a/src/locales/ko/battle.json +++ b/src/locales/ko/battle.json @@ -14,6 +14,10 @@ "moneyWon": "상금으로\n₽{{moneyAmount}}을 손에 넣었다!", "moneyPickedUp": "₽{{moneyAmount}}을 주웠다!", "pokemonCaught": "신난다-!\n{{pokemonName}}[[를]] 잡았다!", + "pokemonObtained": "{{pokemonName}}[[를]] 손에 넣었다!", + "pokemonBrokeFree": "안 돼!\n포켓몬이 볼에서 나와 버렸다!", + "pokemonFled": "야생 {{pokemonName}}[[는]]\n도망쳤다!", + "playerFled": "{{pokemonName}}[[로]]부터 도망쳤다!", "addedAsAStarter": "{{pokemonName}}[[가]]\n스타팅 포켓몬에 추가되었다!", "partyFull": "지닌 포켓몬이 가득 찼습니다. {{pokemonName}}[[를]]\n대신해 포켓몬을 놓아주시겠습니까?", "pokemon": "포켓몬", @@ -52,6 +56,7 @@ "noPokeballTrainer": "다른 트레이너의 포켓몬은 잡을 수 없다!", "noPokeballMulti": "안돼! 2마리 있어서\n목표를 정할 수가 없어…!", "noPokeballStrong": "너무 강해서 잡을 수가 없다!\n먼저 약화시켜야 한다!", + "noPokeballMysteryEncounter": "이 포켓몬은 잡을 수 없습니다!", "noEscapeForce": "본 적 없는 힘이\n도망칠 수 없게 한다.", "noEscapeTrainer": "안돼! 승부 도중에\n상대에게 등을 보일 순 없어!", "noEscapePokemon": "{{pokemonName}}의 {{moveName}}때문에\n{{escapeVerb}} 수 없다!", @@ -99,5 +104,6 @@ "unlockedSomething": "{{unlockedThing}}[[가]]\n해금되었다.", "congratulations": "축하합니다!", "beatModeFirstTime": "{{speciesName}}[[가]] {{gameMode}} 모드를 처음으로 클리어했다!\n{{newModifier}}[[를]] 손에 넣었다!", - "ppReduced": "{{targetName}}의\n{{moveName}}[[를]] {{reduction}} 깎았다!" + "ppReduced": "{{targetName}}의\n{{moveName}}[[를]] {{reduction}} 깎았다!", + "mysteryEncounterAppeared": "어라?" } diff --git a/src/locales/ko/bgm-name.json b/src/locales/ko/bgm-name.json index f010a7ac18e..1ae9e37d189 100644 --- a/src/locales/ko/bgm-name.json +++ b/src/locales/ko/bgm-name.json @@ -148,5 +148,11 @@ "encounter_youngster": "BW 눈이 마주치면 승부! (반바지 꼬마)", "heal": "BW 포켓몬 센터", "menu": "불가사의 던전 하늘의 탐험대 포켓몬 세계에 온 것을 환영한다!", - "title": "불가사의 던전 하늘의 탐험대 메뉴 테마" + "title": "불가사의 던전 하늘의 탐험대 메뉴 테마", + + "mystery_encounter_weird_dream": "불가사의 던전 하늘의 탐험대 시한의 탑 최상부", + "mystery_encounter_fun_and_games": "불가사의 던전 하늘의 탐험대 푸크린 길드", + "mystery_encounter_gen_5_gts": "BW GTS", + "mystery_encounter_gen_6_gts": "XY GTS", + "mystery_encounter_delibirdy": "Firel - DeliDelivery!" } diff --git a/src/locales/ko/config.ts b/src/locales/ko/config.ts index 978cdc83002..049fb016d33 100644 --- a/src/locales/ko/config.ts +++ b/src/locales/ko/config.ts @@ -53,7 +53,49 @@ import terrain from "./terrain.json"; import modifierSelectUiHandler from "./modifier-select-ui-handler.json"; import moveTriggers from "./move-trigger.json"; import runHistory from "./run-history.json"; +import mysteryEncounterMessages from "./mystery-encounter-messages.json"; +import lostAtSea from "./mystery-encounters/lost-at-sea-dialogue.json"; +import mysteriousChest from "./mystery-encounters/mysterious-chest-dialogue.json"; +import mysteriousChallengers from "./mystery-encounters/mysterious-challengers-dialogue.json"; +import darkDeal from "./mystery-encounters/dark-deal-dialogue.json"; +import departmentStoreSale from "./mystery-encounters/department-store-sale-dialogue.json"; +import fieldTrip from "./mystery-encounters/field-trip-dialogue.json"; +import fieryFallout from "./mystery-encounters/fiery-fallout-dialogue.json"; +import fightOrFlight from "./mystery-encounters/fight-or-flight-dialogue.json"; +import safariZone from "./mystery-encounters/safari-zone-dialogue.json"; +import shadyVitaminDealer from "./mystery-encounters/shady-vitamin-dealer-dialogue.json"; +import slumberingSnorlax from "./mystery-encounters/slumbering-snorlax-dialogue.json"; +import trainingSession from "./mystery-encounters/training-session-dialogue.json"; +import theStrongStuff from "./mystery-encounters/the-strong-stuff-dialogue.json"; +import pokemonSalesman from "./mystery-encounters/the-pokemon-salesman-dialogue.json"; +import offerYouCantRefuse from "./mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; +import delibirdy from "./mystery-encounters/delibirdy-dialogue.json"; +import absoluteAvarice from "./mystery-encounters/absolute-avarice-dialogue.json"; +import aTrainersTest from "./mystery-encounters/a-trainers-test-dialogue.json"; +import trashToTreasure from "./mystery-encounters/trash-to-treasure-dialogue.json"; +import berriesAbound from "./mystery-encounters/berries-abound-dialogue.json"; +import clowningAround from "./mystery-encounters/clowning-around-dialogue.json"; +import partTimer from "./mystery-encounters/part-timer-dialogue.json"; +import dancingLessons from "./mystery-encounters/dancing-lessons-dialogue.json"; +import weirdDream from "./mystery-encounters/weird-dream-dialogue.json"; +import theWinstrateChallenge from "./mystery-encounters/the-winstrate-challenge-dialogue.json"; +import teleportingHijinks from "./mystery-encounters/teleporting-hijinks-dialogue.json"; +import bugTypeSuperfan from "./mystery-encounters/bug-type-superfan-dialogue.json"; +import funAndGames from "./mystery-encounters/fun-and-games-dialogue.json"; +import uncommonBreed from "./mystery-encounters/uncommon-breed-dialogue.json"; +import globalTradeSystem from "./mystery-encounters/global-trade-system-dialogue.json"; +import expertPokemonBreeder from "./mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; +/** + * Dialogue/Text token injection patterns that can be used: + * - `$` will be treated as a new line for Message and Dialogue strings. + * - `@d{}` will add a time delay to text animation for Message and Dialogue strings. + * - `@s{}` will play a specified sound effect for Message and Dialogue strings. + * - `@f{}` will fade the screen to black for the given duration, then fade back in for Message and Dialogue strings. + * - `{{}}` (MYSTERY ENCOUNTERS ONLY) will auto-inject the matching dialogue token value that is stored in {@link IMysteryEncounter.dialogueTokens}. + * - (see [i18next interpolations](https://www.i18next.com/translation-function/interpolation)) for more details. + * - `@[]{}` (STATIC TEXT ONLY, NOT USEABLE WITH {@link UI.showText()} OR {@link UI.showDialogue()}) will auto-color the given text to a specified {@link TextStyle} (e.g. `TextStyle.SUMMARY_GREEN`). + */ export const koConfig = { ability, abilityTriggers, @@ -110,4 +152,40 @@ export const koConfig = { modifierSelectUiHandler, moveTriggers, runHistory, + mysteryEncounter: { + // DO NOT REMOVE + "unit_test_dialogue": "{{test}}{{test}} {{test{{test}}}} {{test1}} {{test\}} {{test\\}} {{test\\\}} {test}}", + mysteriousChallengers, + mysteriousChest, + darkDeal, + fightOrFlight, + slumberingSnorlax, + trainingSession, + departmentStoreSale, + shadyVitaminDealer, + fieldTrip, + safariZone, + lostAtSea, + fieryFallout, + theStrongStuff, + pokemonSalesman, + offerYouCantRefuse, + delibirdy, + absoluteAvarice, + aTrainersTest, + trashToTreasure, + berriesAbound, + clowningAround, + partTimer, + dancingLessons, + weirdDream, + theWinstrateChallenge, + teleportingHijinks, + bugTypeSuperfan, + funAndGames, + uncommonBreed, + globalTradeSystem, + expertPokemonBreeder + }, + mysteryEncounterMessages }; diff --git a/src/locales/ko/dialogue.json b/src/locales/ko/dialogue.json index 407b0a1ce05..3b998c8e218 100644 --- a/src/locales/ko/dialogue.json +++ b/src/locales/ko/dialogue.json @@ -1026,6 +1026,116 @@ "1": "군더더기가 없는 실력이네. 보스들이 당한 걸 생각해 보면 말이야." } }, + "stat_trainer_buck": { + "encounter": { + "1": "…말해두겠지만 나 강하다고!\n놀라기나 해라!", + "2": "몬스터볼 안에서 내 포켓몬들이 떨고 있다!\n이게 흥분해서 떨린다는 것이구나!" + }, + "victory": { + "1": "이히히!\n너 열정이 뜨거운걸!!", + "2": "이히히!\n너 열정이 뜨거운걸!!" + }, + "defeat": { + "1": "우왓!\n연료가 다 떨어졌나 본데?", + "2": "우왓!\n연료가 다 떨어졌나 본데?" + } + }, + "stat_trainer_cheryl": { + "encounter": { + "1": "내 포켓몬들\n싸우고 싶어서 근질근질하고 있었어.", + "2": "내 포켓몬들\n꽤나 개구쟁이라니까." + }, + "victory": { + "1": "공격하는 것과 방어하는 것\n그 밸런스 유지가 큰일이네.", + "2": "공격하는 것과 방어하는 것\n그 밸런스 유지가 큰일이네." + }, + "defeat": { + "1": "네 포켓몬들 다친 것 같은데?", + "2": "네 포켓몬들 다친 것 같은데?" + } + }, + "stat_trainer_marley": { + "encounter": { + "1": "…좋아.\n최선을 다할게.", + "2": "…좋아.\n난…지지 않아…!" + }, + "victory": { + "1": "…으윽.", + "2": "…으윽." + }, + "defeat": { + "1": "…잘 가.", + "2": "…잘 가." + } + }, + "stat_trainer_mira": { + "encounter": { + "1": "너 깜짝 놀랄 거야!", + "2": "더는 헤매거나 하지 않는다는 것을 너에게 보여줄게!" + }, + "victory": { + "1": "이거라면 이곳에서\n미루가 활약할 수 없을까.", + "2": "이거라면 이곳에서\n미루가 활약할 수 없을까." + }, + "defeat": { + "1": "미루가 이길 줄 알았어!", + "2": "미루가 이길 줄 알았어!" + } + }, + "stat_trainer_riley": { + "encounter": { + "1": "포켓몬 승부야말로\n우리들의 인사 방식이지!", + "2": "전력을 다해서\n네 포켓몬을 쓰러뜨리겠다." + }, + "victory": { + "1": "싸우거나 편을 만들거나…\n트레이너들은 좋겠어.", + "2": "싸우거나 편을 만들거나…\n트레이너들은 좋겠어." + }, + "defeat": { + "1": "꽤 인상적인 실력이었어.\n다음엔 더 잘해봐.", + "2": "꽤 인상적인 실력이었어.\n다음엔 더 잘해봐." + } + }, + "winstrates_victor": { + "encounter": { + "1": "멋진 배짱이군! 마음에 들었다!" + }, + "victory": { + "1": "아-앗! 생각보다 더 강하구나!" + } + }, + "winstrates_victoria": { + "encounter": { + "1": "어머머! 생각보다 어리군요?!$우리 남편을 이기다니\n정말 굉장한 실력의 트레이너인가 보죠?$자 그럼 이번엔 저와 승부해요!" + }, + "victory": { + "1": "에구머니나!\n어쩜 그렇게 강하신가요?!" + } + }, + "winstrates_vivi": { + "encounter": { + "1": "엄마보다 강하다니 굉장하다!$하지만 나도 꽤 강하다고!\n진짜라니까?!" + }, + "victory": { + "1": "너무 분해…\n…훌쩍!$할머니이~이!!" + } + }, + "winstrates_vicky": { + "encounter": { + "1": "요 녀석~!\n우리 귀여운 손녀에게 무슨 짓을 한 게냐!$이렇게 된 이상 내가 직접\n네 포켓몬을 혼내줄 테니 각오해라잇!" + }, + "victory": { + "1": "에구! 정말 강하구나!\n우리 손녀 말이 진짜였구나." + } + }, + "winstrates_vito": { + "encounter": { + "1": "가족들끼리 포켓몬 수행을 했었어!\n누구에게도 지지 않는다고!" + }, + "victory": { + "1": "난 우리 가족 중에서도 제일 강했어.\n한 번도 져본 적이 없었는데…" + } + }, "brock": { "encounter": { "1": "내 전문인 바위 타입 포켓몬으로 널 쓰러뜨려줄게! 덤벼!", @@ -2539,7 +2649,7 @@ }, "iono": { "encounter": { - "1": "자~ 오늘의 각오는~ 모야모야~?\n$...\n$그럼, 이제 시작해 볼까! \n$도전자님의 실력은 과연 과연~!?" + "1": "자~ 오늘의 각오는~ 모야모야~?\n$…\n$그럼, 이제 시작해 볼까! \n$도전자님의 실력은 과연 과연~!?" }, "victory": { "1": "너의 반짝임은 1000만볼트!" @@ -2659,7 +2769,7 @@ "1": "장하구나! 실로 견줄 자가 천하에 없도다!" }, "defeat": { - "1": "나의 마음에 상쾌한 바람이 지나갔다...\n$정말 대단한 노력이다!" + "1": "나의 마음에 상쾌한 바람이 지나갔다…\n$정말 대단한 노력이다!" } }, "kieran": { @@ -2667,7 +2777,7 @@ "1": "난 노력을 통해 강해지고 또 강해지지!\n$난 지지 않아." }, "victory": { - "1": "믿을 수 없어...\n$정말 재밌고 가슴 뛰는 배틀이었어!" + "1": "믿을 수 없어…\n$정말 재밌고 가슴 뛰는 배틀이었어!" }, "defeat": { "1": "세상에 마상에! 정말 멋진 배틀이었어!\n$네가 더 열심히 훈련할 시간이야." diff --git a/src/locales/ko/egg.json b/src/locales/ko/egg.json index 96985be8cfe..b8550357dfa 100644 --- a/src/locales/ko/egg.json +++ b/src/locales/ko/egg.json @@ -11,6 +11,7 @@ "gachaTypeLegendary": "레전더리 확률 업", "gachaTypeMove": "희귀 알 기술 확률 업", "gachaTypeShiny": "색이 다른 포켓몬 확률 업", + "eventType": "미스터리 이벤트", "selectMachine": "사용할 뽑기 기계를 골라주세요.", "notEnoughVouchers": "바우처가 충분하지 않습니다!", "tooManyEggs": "알을 너무 많이 갖고 있습니다!", @@ -23,4 +24,4 @@ "moveUPGacha": "알 기술 UP!", "shinyUPGacha": "색이 다른 포켓몬\nUP!", "legendaryUPGacha": "UP!" -} \ No newline at end of file +} diff --git a/src/locales/ko/modifier-select-ui-handler.json b/src/locales/ko/modifier-select-ui-handler.json index 04b47542e14..ec9096622c5 100644 --- a/src/locales/ko/modifier-select-ui-handler.json +++ b/src/locales/ko/modifier-select-ui-handler.json @@ -8,5 +8,7 @@ "lockRaritiesDesc": "갱신되는 아이템의 희귀도가 고정됩니다(갱신 비용 증가).", "checkTeamDesc": "파티를 확인하거나 폼 변경 아이템을 사용합니다.", "rerollCost": "₽{{formattedMoney}}", - "itemCost": "₽{{formattedMoney}}" -} \ No newline at end of file + "itemCost": "₽{{formattedMoney}}", + "continueNextWaveButton": "진행하기", + "continueNextWaveDescription": "다음 웨이브로 진행합니다." +} diff --git a/src/locales/ko/modifier-type.json b/src/locales/ko/modifier-type.json index e957fd0d58a..f04dff7b1af 100644 --- a/src/locales/ko/modifier-type.json +++ b/src/locales/ko/modifier-type.json @@ -66,7 +66,21 @@ "description": "자신의 모든 포켓몬의 레벨이 {{levels}}만큼 상승한다." }, "BaseStatBoosterModifierType": { - "description": "지니게 하면 {{stat}} 종족값을 10% 올려준다. 개체값이 높을수록 더 많이 누적시킬 수 있다." + "description": "지니게 하면 {{stat}} 종족치를 10% 올려준다. 개체값이 높을수록 더 많이 누적시킬 수 있다." + }, + "PokemonBaseStatTotalModifierType": { + "name": "단단지주스", + "description": "모든 종족치를 {{statValue}}만큼 {{increaseDecrease}}. 단단지의 {{blessCurse}}[[를]] 받았다.", + "extra": { + "increase": "올려준다", + "decrease": "떨어뜨린다", + "blessed": "축복", + "cursed": "저주" + } + }, + "PokemonBaseStatFlatModifierType": { + "name": "숲의양갱", + "description": "{{stats}} 종족치를 {{statValue}}만큼 올려준다. 이상한 꿈을 꾸고 얻었다." }, "AllPokemonFullHpRestoreModifierType": { "description": "자신의 포켓몬의 HP를 모두 회복한다." @@ -345,7 +359,7 @@ "description": "이 도구를 지닌 포켓몬은 턴이 끝나는 시점에 상태이상에 걸리지 않았다면 화상 상태가 된다." }, "BATON": { - "name": "바톤", + "name": "배턴", "description": "포켓몬을 교체할 때 효과를 넘겨줄 수 있으며, 함정의 영향을 받지 않게 함" }, "SHINY_CHARM": { @@ -401,7 +415,13 @@ "ENEMY_FUSED_CHANCE": { "name": "합체 토큰", "description": "야생 포켓몬이 합체되어 등장할 확률이 1% 추가된다." - } + }, + + "MYSTERY_ENCOUNTER_SHUCKLE_JUICE": { "name": "단단지주스" }, + "MYSTERY_ENCOUNTER_BLACK_SLUDGE": { "name": "검은진흙", "description": "악취가 너무 심한 나머지 상점 물건 가격이 크게 비싸진다." }, + "MYSTERY_ENCOUNTER_MACHO_BRACE": { "name": "교정깁스", "description": "포켓몬을 쓰러뜨리면 교정깁스 스택을 얻는다. 스택이 올라갈수록 능력치가 약간 올라가고, 최대 스택에서 추가 보너스를 얻는다." }, + "MYSTERY_ENCOUNTER_OLD_GATEAU": { "name": "숲의양갱", "description": "{{stats}} 종족치를 {{statValue}}만큼 올려준다." }, + "MYSTERY_ENCOUNTER_GOLDEN_BUG_NET": { "name": "황금잠자리채", "description": "벌레 타입 포켓몬을 더 자주 만날 수 있는 행운을 부여한다. 묘한 무게감이 든다." } }, "SpeciesBoosterItem": { "LIGHT_BALL": { diff --git a/src/locales/ko/mystery-encounter-messages.json b/src/locales/ko/mystery-encounter-messages.json new file mode 100644 index 00000000000..30a9b8a2b18 --- /dev/null +++ b/src/locales/ko/mystery-encounter-messages.json @@ -0,0 +1,7 @@ +{ + "paid_money": "₽{{amount, number}}[[를]] 지불했다.", + "receive_money": "₽{{amount, number}}[[를]] 받았다!", + "affects_pokedex": "도감에 추가 가능", + "cancel_option": "조우 선택지로 돌아가기", + "view_party_button": "파티 확인" +} diff --git a/src/locales/ko/mystery-encounters/a-trainers-test-dialogue.json b/src/locales/ko/mystery-encounters/a-trainers-test-dialogue.json new file mode 100644 index 00000000000..9b36aa0ff62 --- /dev/null +++ b/src/locales/ko/mystery-encounters/a-trainers-test-dialogue.json @@ -0,0 +1,47 @@ +{ + "intro": "무척 강해보이는 트레이너가 다가왔다…", + "buck": { + "intro_dialogue": "여-, 트레이너!\n나는 맥이라고해.$너처럼 강한 트레이너를 만난 김에\n엄청난 제안을 하나 할게!$희귀한 알을 두 개 가지고 있는데,\n하나를 누군가 맡아줬으면 하거든.$네가 나를 이긴다면,\n더 희귀한 알을 너한테 맡기도록 할게!", + "accept": "좋아, 불타오르는걸!", + "decline": "쳇, 아무래도 네 포켓몬들 컨디션이 별로인 거 같구나.$자, 내가 좀 도와줄게." + }, + "cheryl": { + "intro_dialogue": "안녕, 내 이름은 모미야.$너처럼 강한 트레이너가\n관심 있을 만한 제안이 있어.$희귀한 알을 두 개 가지고 있는데,\n하나를 누가 맡아줬으면 해.$네가 승부에서 이긴다면,\n더 희귀한 알을 너한테 맡기도록 할게!", + "accept": "준비 됐겠지!", + "decline": "알았어.\n네 포켓몬들 좀 지쳐 보이네.$자, 내가 좀 도와줄게." + }, + "marley": { + "intro_dialogue": "…@d{64}난 미정이야.$제안이 있어…$알 두 개가 있는데,\n하나를 다른 사람이 맡아줬으면 해.$네가 나보다 강하다면,\n더 희귀한 알을 줄게.", + "accept": "…알겠어.", + "decline": "…알겠어.$네 포켓몬 좀 다쳤구나…\n내가 도와줄게." + }, + "mira": { + "intro_dialogue": "안녕!\n나는 미루!$너처럼 강한 트레이너에게\n미루가 제안이 있어!$미루가 지금 희귀한 알 두개가 있거든\n하나를 다른 사람이 맡아줬으면 좋겠어!$미루에게 네가 더 강하다는걸 보여주면,\n미루가 더 희귀한 알을 줄게!", + "accept": "승부하는 거지?\n야호!", + "decline": "어라, 승부 안 하는 거야?\n괜찮아!$미루가 네 포켓몬들을 치료해 줄게!" + }, + "riley": { + "intro_dialogue": "나는 현이.$너처럼 강한 트레이너에게\n별난 제안을 하나 할게.$지금 두 개의 희귀한 알이 있는데,\n하나를 다른 트레이너에게 맡기고 싶어.$네가 승부에서 이긴다면,\n더 희귀한 알을 줄게!", + "accept": "그 얼굴…\n승부다.", + "decline": "알겠어, 네 포켓몬들 지쳐 보이는구나.$자, 내가 도와줄게." + }, + "title": "선배 트레이너의 테스트", + "description": "이 트레이너는 승부를 받아들이든 거절하든 알을 줄 것 같습니다.\n하지만 이 강한 트레이너를 쓰러트린다면 훨씬 더 희귀한 알을 받을 수 있을 겁니다.", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "승부한다", + "tooltip": "(-) 힘든 전투\n(+) @[TOOLTIP_TITLE]{매우 희귀한 알} 획득" + }, + "2": { + "label": "승부를 거절한다", + "tooltip": "(+) 파티 전체 회복\n(+) @[TOOLTIP_TITLE]{알} 획득" + } + }, + "eggTypes": { + "rare": "레어 알", + "epic": "에픽 알", + "legendary": "레전더리 알" + }, + "outro": "{{statTrainerName}}[[가]] {{eggType}}[[를]] 줬다!" +} diff --git a/src/locales/ko/mystery-encounters/absolute-avarice-dialogue.json b/src/locales/ko/mystery-encounters/absolute-avarice-dialogue.json new file mode 100644 index 00000000000..5e039af8f08 --- /dev/null +++ b/src/locales/ko/mystery-encounters/absolute-avarice-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "갑자기 나타난 {{greedentName}}[[가]]\n나무열매를 훔쳐갔다!", + "title": "끝없는 욕심", + "description": "당신이 방심한 틈에 {{greedentName}}[[가]] 나무열매를 모두 훔쳐 가버렸습니다!\n\n{{greedentName}}[[는]] 나무열매를 먹으려다가,\n잠시 멈춰서 당신을 재밌다는 듯 바라보고 있습니다.", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "싸운다", + "tooltip": "(-) 어려운 배틀\n(+) 비축한 나무열매 획득", + "selected": "{{greedentName}}[[는]] 볼을 빵빵하게 채우고 덤벼들었다!", + "boss_enraged": "{{greedentName}}[[는]] 식탐으로 가득 차 있다!", + "food_stash": "{{greedentName}}[[는]] 많은 음식을 가지고 있는 것 같다!$@s{item_fanfare}모든 포켓몬이 각각 {{foodReward}}[[를]] 얻었다!" + }, + "2": { + "label": "설득한다", + "tooltip": "(+) 나무열매 일부를 돌려받음", + "selected": "{{greedentName}}의 마음이 움직인 것 같다.$훔쳐간 나무열매 일부를 이쪽으로 던졌다." + }, + "3": { + "label": "먹게 둔다", + "tooltip": "(-) 모든 나무열매를 잃음\n(?) {{greedentName}}[[가]] 매우 좋아함", + "selected": "{{greedentName}}[[가]] 눈 깜짝할 새에\n모든 나무열매를 먹어치웠다!$흡족하게 이쪽을 바라보면서\n빵빵해진 배를 두드렸다.$아마 앞으로 식비가 만만치 않을 것 같다…$@s{level_up_fanfare}{{greedentName}}[[는]] 동료가 되고 싶어하는 것 같다!" + } + } +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/an-offer-you-cant-refuse-dialogue.json b/src/locales/ko/mystery-encounters/an-offer-you-cant-refuse-dialogue.json new file mode 100644 index 00000000000..2eefd164182 --- /dev/null +++ b/src/locales/ko/mystery-encounters/an-offer-you-cant-refuse-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "금수저 도련님에게 붙들렸다!", + "speaker": "금수저 도련님", + "intro_dialogue": "안녕하세요.$당신의 {{strongestPokemon}}[[가]] 정말 멋져서 그냥 지나칠 수가 없네요!$항상 저런 애완 포켓몬을 갖고 싶었거든요!$제가 오래된 장신구랑\n돈도 함께 섭섭지 않게 챙겨주도록 하죠!", + "title": "거절할 수 없는 제안", + "description": "{{strongestPokemon}}[[를]] 넘기는 대신\n@[TOOLTIP_TITLE]{빛나는부적}과 {{price, money}}을 준다고 합니다!\n\n매우 좋은 조건이지만,\n이렇게 든든한 동료를 보내줘야 할까요?", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "제안을 받아들인다", + "tooltip": "(-) {{strongestPokemon}}[[를]] 보내줌\n(+) @[TOOLTIP_TITLE]{빛나는부적}[[를]] 획득\n(+) {{price, money}}[[를]] 획득", + "selected": "좋아요!@d{32} 이리와, {{strongestPokemon}}!$요트 클럽에 가서 다른 사람들에게 자랑해야겠어!$다들 엄청 부러워하겠는걸!" + }, + "2": { + "label": "꼬마 녀석을 혼내준다", + "tooltip": "(+) {{option2PrimaryName}}의 {{moveOrAbility}} 사용\n(+) {{price, money}} 획득", + "tooltip_disabled": "이 선택지를 선택하려면 포켓몬이 특정 기술이나 능력을 가지고 있어야 한다.", + "selected": "말도 안 돼!\n{{liepardName}}, 우리 지금 삥 뜯긴 거야?!$너…!\n곧 우리 변호사 연락을 받게 될 거다!" + }, + "3": { + "label": "떠난다", + "tooltip": "(-) 보상 없음", + "selected": "재수 없는 날이네요....$뭐, 어때. 요트 클럽이나 가자, {{liepardName}}." + } + } +} diff --git a/src/locales/ko/mystery-encounters/berries-abound-dialogue.json b/src/locales/ko/mystery-encounters/berries-abound-dialogue.json new file mode 100644 index 00000000000..090d18911af --- /dev/null +++ b/src/locales/ko/mystery-encounters/berries-abound-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "포켓몬 근처에 열매가\n달린 거대한 나무가 있다!", + "title": "나무열매 풍년", + "description": "나무열매 덤불을 지키고 있는 강력한 포켓몬이 있는 것 같습니다.\n그냥 싸워 볼 수도 있겠지만, 조금 강해 보입니다.\n혹시 빠른 포켓몬이 있다면 잡히지 않고도 열매를 가져올 수 있지 않을까요?", + "query": "어떻게 하시겠습니까?", + "berries": "나무열매", + "option": { + "1": { + "label": "싸운다", + "tooltip": "(-) 어려운 배틀\n(+) 나무열매 획득", + "selected": "용감하게 포켓몬에게 다가갔다." + }, + "2": { + "label": "덤불을 향해 뛴다", + "tooltip": "(-) {{fastestPokemon}}의 스피드를 활용\n(+) 나무열매 획득", + "selected": "{{fastestPokemon}}[[가]] 나무열매 덤불을 향해 달려간다!${{enemyPokemon}}[[가]] 반응하기 전에 나무열매 {{numBerries}}개를 낚아챘다!$빼앗은 열매를 들고 재빨리 도망쳤다.", + "selected_bad": "{{fastestPokemon}}[[가]] 나무열매 덤불을 향해 달려간다!$이런! {{enemyPokemon}}[[가]] 더 빨라서 가로막혔다!", + "boss_enraged": "상대 {{enemyPokemon}}[[는]] 분노했다!" + }, + "3": { + "label": "떠난다", + "tooltip": "(-) 보상 없음", + "selected": "강한 포켓몬과 열매를 남겨둔 채 계속 나아갔다." + } + } +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/bug-type-superfan-dialogue.json b/src/locales/ko/mystery-encounters/bug-type-superfan-dialogue.json new file mode 100644 index 00000000000..537de55b97b --- /dev/null +++ b/src/locales/ko/mystery-encounters/bug-type-superfan-dialogue.json @@ -0,0 +1,40 @@ +{ + "intro": "온갖 종류의 곤충채집 장비를 가진\n특이한 트레이너가 길을 막아섰다!", + "intro_dialogue": "거기, 트레이너!\n난 세상에서 가장 희귀한 벌레 포켓몬을 찾고 있어!$너도 벌레 타입 포켓몬 좋아하지?\n모두 벌레 타입 포켓몬을 좋아하니깐!", + "title": "벌레 타입 포켓몬 매니아", + "speaker": "벌레 타입 매니아", + "description": "이 트레이너는 대답할 틈도 없이 계속 떠들어대고 있습니다…\n\n이 상황에서 벗어나려면, 트레이너의 주의를 돌려야 할 것 같습니다!", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "승부한다", + "tooltip": "(-) 포켓몬 배틀 도전\n(+) 벌레 타입 기술을 가르침", + "selected": "나한테 도전하겠다고?\n내 벌레 포켓몬들은 이미 준비됐어!" + }, + "2": { + "label": "벌레 포켓몬을 보여준다", + "tooltip": "(+) 아이템 획득", + "disabled_tooltip": "벌레 타입 포켓몬이 없다.", + "selected": "트레이너에게 가지고 있는 모든 벌레 포켓몬을 보여주었다...", + "selected_0_to_1": "응? 너 {{numBugTypes}}밖에 안 갖고 있구나...$너 같은 일반인한테 떠들었다니, 쓸데없이 입만 아팠네…", + "selected_2_to_3": "어라, 너 {{numBugTypes}} 갖고 있구나!\n나쁘지 않아.$내가 더 많이 잡는 데 도움이 될만한 걸 줄게!", + "selected_4_to_5": "뭐야? 너 {{numBugTypes}}마리나 갖고 있네?\n좋아!$아직 수준엔 못 미치지만, 너한테 내 옛날 모습이 보여!\n$이걸 받거라, 내 제자여…!", + "selected_6": "우와!\n{{numBugTypes}}! 모두 벌레 타입!$너도 나만큼 벌레 타입을 사랑하는 거지?$이걸 가져가!\n동지의 증표로 나눠줄게!" + }, + "3": { + "label": "벌레 아이템을 준다", + "tooltip": "(-) 트레이너에게 {{requiredBugItems}}[[를]] 건네줌\n(+) 아이템 획득", + "disabled_tooltip": "{{requiredBugItems}}[[를]] 가지고 있어야 한다.", + "select_prompt": "건네줄 아이템을 선택하세요.", + "invalid_selection": "포켓몬이 해당하는 아이템을 갖고 있지 않다.", + "selected": "트레이너에게 {{selectedItem}}[[를]] 건넸다.", + "selected_dialogue": "우와! {{selectedItem}}, 나한테 주는 거야?\n너 꽤 괜찮은 꼬마구나!$고마우니깐,\n나도 너한테 특별한 선물을 줄게!$가보로 전해져 내려온 귀한 물건이지만\n너한테 주고 싶어!" + } + }, + "battle_won": "너의 지식과 기술들이 우리 약점을 완벽하게 파고들었어.$귀중한 경험을 했으니,\n나도 벌레 타입 기술을 하나 가르쳐 줄게!", + "teach_move_prompt": "기술을 가르칠 포켓몬을 선택하세요.", + "confirm_no_teach": "너, 정말로 이 대단한 기술들이 필요없는 거야?", + "outro": "나중에 멋진 벌레 포켓몬을 만나길 바라며!\n다시 만날 때까지!$사사삭!", + "numBugTypes_one": "벌레 타입 {{count}}마리", + "numBugTypes_other": "벌레 타입 {{count}}마리" +} diff --git a/src/locales/ko/mystery-encounters/clowning-around-dialogue.json b/src/locales/ko/mystery-encounters/clowning-around-dialogue.json new file mode 100644 index 00000000000..f1d8fed6fbf --- /dev/null +++ b/src/locales/ko/mystery-encounters/clowning-around-dialogue.json @@ -0,0 +1,34 @@ +{ + "intro": "어라...@d{64}어릿광대인 걸까?", + "speaker": "어릿광대", + "intro_dialogue": "거기 있는 어리버리한 바보씨, 화려한 배틀을 맞이할 각오를 하시길!\n이 싸움꾼 광대가 당신을 쓰러트리겠습니다!", + "title": "어릿광대의 장난", + "description": "이번 상대는 뭔가 이상합니다.\n어릿광대가 당신을 전투에 끌어들이고 싶어하는 것 같은데, 무슨 목적일까요?\n\n{{blacephalonName}}[[은]] 더욱 수상합니다.\n마치 @[TOOLTIP_TITLE]{이상한 타입과 능력}을 가진 것 같습니다.", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "어릿광대와 싸운다", + "tooltip": "(-) 이상한 배틀\n(?) 포켓몬의 특성 조정", + "selected": "당신의 불쌍한 포켓몬들이 한심한 공연을 할 준비가 된 것 같군요!", + "apply_ability_dialogue": "센세이셔널한 쇼였습니다!\n당신의 멋진 기지에는 이 센세이셔널한 보상이 잘 어울릴 것 같군요!", + "apply_ability_message": "어릿광대가 포켓몬 한 마리의 특성을 영구적으로 {{ability}}로 교환해 주겠다고 제안했다!", + "ability_prompt": "포켓몬의 특성을 영구적으로 {{ability}} 특성으로 바꾸시겠습니까?", + "ability_gained": "@s{level_up_fanfare}{{chosenPokemon}}[[는]] {{ability}} 특성을 얻었다!" + }, + "2": { + "label": "도발에 응하지 않는다", + "tooltip": "(-) 광대가 화를 냄\n(?) 포켓몬의 아이템 조정", + "selected": "한심한 겁쟁이로군요? 즐거운 배틀을 거부하다니!\n이러면 한 방 먹이고 싶어지잖습니까!", + "selected_2": "광대의 {{blacephalonName}}[[가]] 무언가 사용한 것 같다!\n{{switchPokemon}}의 모든 아이템이 랜덤하게 재조정된다!", + "selected_3": "당황한 바보같은 표정! 완벽한 저의 한 수를 즐겨주시길!" + }, + "3": { + "label": "조롱을 되돌려준다", + "tooltip": "(-) 광대가 화를 냄\n(?) 포켓몬의 타입 조정", + "selected": "한심한 겁쟁이로군요? 즐거운 배틀을 거부하다니!\n이러면 한 방 먹이고 싶어지잖습니까!", + "selected_2": "광대의 {{blacephalonName}}[[가]] 무언가 사용한 것 같다!\n멤버 포켓몬들의 타입이 랜덤하게 재조정된다!", + "selected_3": "당황한 바보같은 표정! 완벽한 저의 한 수를 즐겨주시길!" + } + }, + "outro": "어릿광대는 동료 포켓몬과 함께 연기 속으로 사라져 버렸다." +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/dancing-lessons-dialogue.json b/src/locales/ko/mystery-encounters/dancing-lessons-dialogue.json new file mode 100644 index 00000000000..b96417274ff --- /dev/null +++ b/src/locales/ko/mystery-encounters/dancing-lessons-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "{{oricorioName}}[[가]] 외로이 혼자 춤을 추고 있다.\n주변에 파트너도 없는 것 같다!", + "title": "댄스 댄스 레볼루션", + "description": "{{oricorioName}}[[는]] 공격적이진 않아 보입니다.\n오히려 슬퍼 보이기까지 하네요.\n\n그저 함께 춤출 누군가를\n원하고 있는지도 모릅니다….", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "싸운다", + "tooltip": "(-) 어려운 배틀\n(+) 배턴 획득", + "selected": "{{oricorioName}}[[는]] 혼란스러워하며 방어 태세를 갖췄다!", + "boss_enraged": "{{oricorioName}}[[는]] 겁에 질려 능력치가 상승했다!" + }, + "2": { + "label": "춤을 배운다", + "tooltip": "(+) 잠재댄스 기술을 배움", + "selected": "{{oricorioName}}가 춤을 추는 모습을 주의 깊게 지켜보았다….$@s{level_up_fanfare}{{selectedPokemon}}[[는]] {{oricorioName}}에게서 춤을 배웠다!" + }, + "3": { + "label": "춤을 보여준다", + "tooltip": "(-) {{oricorioName}}에게 춤을 가르침\n(+) {{oricorioName}}[[가]] 매우 기뻐함", + "disabled_tooltip": "포켓몬이 춤 기술을 알고 있어야 한다.", + "select_prompt": "사용할 춤 기술을 선택한다.", + "selected": "{{oricorioName}}[[가]] {{selectedPokemon}}[[를]] 선보이는 모습을\n흥미진진하게 지켜본다!$마음에 들어하는 것 같다!$@s{level_up_fanfare}{{oricorioName}}[[가]] 동료가 되고 싶어 하는 것 같다!" + } + }, + "invalid_selection": "이 포켓몬은 춤 기술을 모른다!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/dark-deal-dialogue.json b/src/locales/ko/mystery-encounters/dark-deal-dialogue.json new file mode 100644 index 00000000000..c570bc8d5b4 --- /dev/null +++ b/src/locales/ko/mystery-encounters/dark-deal-dialogue.json @@ -0,0 +1,24 @@ + + +{ + "intro": "너덜너덜한 외투를 입은\n이상한 남자가 길을 막았다….", + "speaker": "수상한 남자", + "intro_dialogue": "거기, 너!$난 포켓몬의 숨겨진 힘을 끌어낼 수 있는\n새로운 장치를 만드는 중이거든!$포켓몬을 분자 수준에서 재결합해서\n훨씬 더 강력한 형태로 만드는 거야.$히히…@d{64} 이걸 증명하려면 약간의 희ㅅ-\n음…@d{32} 실험 대상이 필요해.", + "title": "수상한 거래", + "description": "수상한 남자가\n몬스터볼을 여러 개 들고 있습니다.\n\"내가 보장할게! 네 포켓몬을 한 마리만 줘!\n대신 아주 좋은 몬스터볼을 줄 테니까. 히히…\"", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "승낙한다", + "tooltip": "(+) 5 로그볼\n(?) 포켓몬 1마리 랜덤 강화", + "selected_dialogue": "어디 보자, {{pokeName}}[[가]] 좋겠군!$명심해, 나쁜 일이 생겨도\n책임 못 지니까!@d{32} 히히…", + "selected_message": "남자는 로그볼 5개를 건넸다.${{pokeName}}[[는]] 이상한 기계에 들어갔다…$표시등이 깜빡이고 이상한 소리가\n기계에서 들려오기 시작했다!$…@d{96} 기계에서 뭔가가\n맹렬한 기세로 뛰쳐나왔다!" + }, + "2": { + "label": "거절한다", + "tooltip": "(-) 보상 없음", + "selected": "불쌍한 사람을 그냥 지나칠거야?\n하!" + } + }, + "outro": "꺼림직한 만남을 뒤로 하고\n침착하게 자리를 떠났다." +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/delibirdy-dialogue.json b/src/locales/ko/mystery-encounters/delibirdy-dialogue.json new file mode 100644 index 00000000000..121c812b1db --- /dev/null +++ b/src/locales/ko/mystery-encounters/delibirdy-dialogue.json @@ -0,0 +1,29 @@ + + +{ + "intro": "{{delibirdName}} 무리가 나타났다!", + "title": "딜리버-디", + "description": "{{delibirdName}}들의 눈이 초롱초롱합니다.\n뭔가 바라는 게 있는 것 같습니다.\n혹시 아이템이나 돈을 원하는 걸까요?", + "query": "무언가 주시겠습니까?", + "invalid_selection": "포켓몬이 그런 종류의 아이템이 없다.", + "option": { + "1": { + "label": "돈을 준다", + "tooltip": "(-) {{delibirdName}}들에게 {{money, money}} 선물\n(+) 선물 아이템 획득", + "selected": "돈을 건네니,\n{{delibirdName}}들은 자기들끼리 신나서 떠들어댔다.$그리고 당신에게 돌아와 행복하게 선물을 건넨다!" + }, + "2": { + "label": "음식을 준다", + "tooltip": "(-) {{delibirdName}}들에게 나무열매나 기적의씨를 선물\n(+) 선물 아이템 획득", + "select_prompt": "건네줄 아이템을 선택하세요.", + "selected": "{{chosenItem}}[[를]] 건네니,\n{{delibirdName}}들은 자기들끼리 신나서 떠들어댔다.$그리고 당신에게 돌아와 행복하게 선물을 건넨다!" + }, + "3": { + "label": "아이템을 준다", + "tooltip": "(-) {{delibirdName}}들에게 지니고 있는 아이템을 선물\n(+) 선물 아이템 획득", + "select_prompt": "건네줄 아이템을 선택하세요.", + "selected": "{{chosenItem}}[[를]] 건네니,\n{{delibirdName}}들은 자기들끼리 신나서 떠들어댔다.$그리고 당신에게 돌아와 행복하게 선물을 건넨다!" + } + }, + "outro": "{{delibirdName}} 무리가 행복하게 뒤뚱거리며 저 멀리 날아간다…$정말 별난 선물교환이었다!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/department-store-sale-dialogue.json b/src/locales/ko/mystery-encounters/department-store-sale-dialogue.json new file mode 100644 index 00000000000..96de06d8413 --- /dev/null +++ b/src/locales/ko/mystery-encounters/department-store-sale-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "쇼핑백을 잔뜩 가진 여자가 있다!", + "speaker": "백화점 손님", + "intro_dialogue": "안녕!\n너도 대박 세일을 노리고 온 거지?$세일 기간 동안 무료로 아이템을 교환할 수 있는 특별한 쿠폰이 있어!$남는 쿠폰을 나눠줄게!", + "title": "백화점 세일", + "description": "사방에 상품이 가득합니다!\n쿠폰을 쓸 수 있는 교환 코너가 4개나 있는 것 같습니다.\n선택지가 너무 많네요!", + "query": "어디로 가시겠습니까?", + "option": { + "1": { + "label": "기술머신 코너", + "tooltip": "(+) 기술머신 상점" + }, + "2": { + "label": "영양제 코너", + "tooltip": "(+) 영양제 상점" + }, + "3": { + "label": "랭크업 도구 코너", + "tooltip": "(+) 랭크업 도구 상점" + }, + "4": { + "label": "몬스터볼 코너", + "tooltip": "(+) 몬스터볼 상점" + } + }, + "outro": "대박이다!\n앞으로 자주 쇼핑하러 와야겠다." +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/field-trip-dialogue.json b/src/locales/ko/mystery-encounters/field-trip-dialogue.json new file mode 100644 index 00000000000..4f7f3797ac9 --- /dev/null +++ b/src/locales/ko/mystery-encounters/field-trip-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "선생님과 어린 학생들이다!", + "speaker": "선생님", + "intro_dialogue": "안녕하세요!\n저희 학생들에게 잠시 시간 좀 내주실 수 있을까요?$포켓몬의 기술에 대해서 가르치고 있는데\n실제 기술을 보게 되면 좋아할 것 같아서요.$괜찮으시면 저희에게\n포켓몬이 배우고 있는 기술을 보여주실래요?", + "title": "현장 학습", + "description": "학교 선생님이 포켓몬의 기술 시연을 부탁했습니다.\n어떤 기술을 선택했는지에 따라 선생님이 뭔가 쓸 만한 걸 주실 수도 있을 것 같네요.", + "query": "어떤 형태의 기술을 보여주겠습니까?", + "option": { + "1": { + "label": "물리 기술", + "tooltip": "(+) 물리 아이템 보상" + }, + "2": { + "label": "특수 기술", + "tooltip": "(+) 특수 아이템 보상" + }, + "3": { + "label": "상태 기술", + "tooltip": "(+) 상태 아이템 보상" + }, + "selected": "{{pokeName}}[[는]] 멋지게 {{move}}[[를]] 보여줬다!" + }, + "second_option_prompt": "포켓몬이 사용할 기술을 골라주세요.", + "incorrect": "…$이건 {{moveCategory}} 기술이 아닌데요!\n죄송하지만, 저희는 이만 가볼게요.$얘들아 이리 오렴.\n다른 곳에서는 제대로 된 기술 시연을 볼 수 있을 거야.", + "incorrect_exp": "좋은 경험(?)을 한 것 같다.$포켓몬도 약간의 경험치를 얻었다.", + "correct": "멋진 시연 감사합니다!\n이 아이템이 도움이 되시길 바랄게요!", + "correct_exp": "{{pokeName}}도 좋은 경험을 쌓았다!", + "status": "상태", + "physical": "물리", + "special": "특수" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/fiery-fallout-dialogue.json b/src/locales/ko/mystery-encounters/fiery-fallout-dialogue.json new file mode 100644 index 00000000000..9883e038dca --- /dev/null +++ b/src/locales/ko/mystery-encounters/fiery-fallout-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "매캐한 연기와 화산재 폭풍을 맞닥뜨렸다!", + "title": "불타는 폴아웃", + "description": "소용돌이치는 화산재와 불씨로 인해 앞이 거의 보이질 않습니다.\n이런 일에는 무언가… 원인이 있는 것 같습니다.\n그렇지만 이 정도로 큰 규모라면 뒤에 도대체 뭐가 있는 걸까요?", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "원인을 찾는다", + "tooltip": "(?) 원인을 밝힘\n(-) 어려운 배틀", + "selected": "화산재 폭풍을 뚫고 나아가자,\n구애의 춤을 추고 있는 {{volcaronaName}} 두 마리를 발견했다!$방해받고 싶지 않았던 두 포켓몬이 싸움을 걸어왔다!" + }, + "2": { + "label": "낮은 자세로 이동한다", + "tooltip": "(-) 날씨의 피해를 받음", + "selected": "셸터를 향해 고군분투하는 동안\n재와 불씨로 인해 심각한 피해를 입었다!$모든 포켓몬이 HP의 20% 피해를 받았다!", + "target_burned": "{{burnedPokemon}}도 화상을 입고 말았다!" + }, + "3": { + "label": "불꽃 포켓몬들의 도움", + "tooltip": "(+) 상황 해결\n(+) 목탄 획득", + "disabled_tooltip": "2마리 이상의 불꽃 타입 포켓몬이 필요하다.", + "selected": "{{option3PrimaryName}}[[과]] {{option3SecondaryName}}의 도움으로,\n구애의 춤을 추고 있는 {{volcaronaName}} 두 마리를 발견했다!$다행히 포켓몬들이 그 두 마리를 진정시키고,\n문제없이 신혼여행을 떠나보냈다." + } + }, + "found_charcoal": "날씨가 개자,\n{{leadPokemon}}[[는]] 바닥에서 무언가 발견했다.$@s{item_fanfare}{{leadPokemon}}[[는]] 목탄을 얻었다!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/fight-or-flight-dialogue.json b/src/locales/ko/mystery-encounters/fight-or-flight-dialogue.json new file mode 100644 index 00000000000..52fe92f2b63 --- /dev/null +++ b/src/locales/ko/mystery-encounters/fight-or-flight-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "빛나는 무언가가 포켓몬 근처에서 반짝반짝 빛나고 있다!", + "title": "도망치거나 맞서 싸우거나", + "description": "강한 포켓몬이 아이템을 지키고 있는 것 같습니다.\n그냥 싸워볼 수도 있지만, 조금 강해보이네요.\n적합한 기술을 가진 포켓몬이 있다면,\n아이템을 빼앗을 수도 있을 것 같습니다.", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "포켓몬과 싸운다", + "tooltip": "(-) 어려운 배틀\n(+) 새 아이템", + "selected": "용감하게 포켓몬에게 다가갔다.", + "stat_boost": "{{enemyPokemon}}의 잠재력이 능력치 중 하나를 강화했다!" + }, + "2": { + "label": "아이템을 훔친다", + "disabled_tooltip": "이 선택지를 선택하려면 포켓몬이 특정 기술을 가지고 있어야 합니다.", + "tooltip": "(+) {{option2PrimaryName}}의 {{option2PrimaryMove}} 사용", + "selected": ".@d{32}.@d{32}.@d{32}${{option2PrimaryName}}[[가]] {{option2PrimaryMove}}[[를]] 사용했다!$아이템을 훔쳤다!" + }, + "3": { + "label": "떠난다", + "tooltip": "(-) 보상 없음", + "selected": "강한 포켓몬과 전리품을 남겨둔 채\n당신은 계속 나아간다." + + } + } +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/fun-and-games-dialogue.json b/src/locales/ko/mystery-encounters/fun-and-games-dialogue.json new file mode 100644 index 00000000000..77b8c134399 --- /dev/null +++ b/src/locales/ko/mystery-encounters/fun-and-games-dialogue.json @@ -0,0 +1,30 @@ +{ + "intro_dialogue": "자, 오세요 여러분!\n새로 나온 {{wobbuffetName}} 해머 게임에 도전해 보세요!", + "speaker": "진행자", + "title": "재밌는 놀이!", + "description": "상품이 걸린 게임이 진행 중입니다!\n@[TOOLTIP_TITLE]{3턴} 안에 {{wobbuffetName}}[[를]] @[TOOLTIP_TITLE]{기절시키지 않고 HP를 1}에 가깝게 만들어서, {{wobbuffetName}}이 해머기계에 최고로 강력한 카운터를 날리도록 해야합니다.\n하지만 조심하세요! 만약 {{wobbuffetName}}[[가]] 기절해버리면, 치료비를 내야 할테니까요!", + "query": "게임에 참가해 볼까요?", + "option": { + "1": { + "label": "게임에 참가한다", + "tooltip": "(-) {{option1Money, money}} 지불\n(+) {{wobbuffetName}} 해머 게임 플레이", + "selected": "시작합니다!" + }, + "2": { + "label": "떠난다", + "tooltip": "(-) 보상 없음", + "selected": "약간의 아쉬움을 안고, 서둘러 길을 떠났다." + } + }, + "ko": "안 돼! {{wobbuffetName}}[[가]] 기절해버렸다!$게임에 지고 {{wobbuffetName}}의 병원비까지 내야할 판이다…", + "charging_continue": "마자용은 카운터 한 방을 충전하고 있다!", + "turn_remaining_3": "세 턴 남았다!", + "turn_remaining_2": "두 턴 남았다!", + "turn_remaining_1": "남은 턴은 단 한 번!", + "end_game": "거기까지!${{wobbuffetName}}[[가]] 한껏 충전한 카운터를 날릴 준비를 한다@d{16}.@d{16}.@d{16}.", + "best_result": "{{wobbuffetName}}[[가]] 기계를 때려 부술 기세로 내리쳤다!!!$기계 맨 위에 달려 있던 벨이\n아예 박살나 날아가 버렸다!$최고 1등상을 얻었다!", + "great_result": "{{wobbuffetName}}[[가]] 버튼을 박살낼 듯 내려쳤다!!$벨에 닿을락 말락 하는 곳까지 올라갔다!\n아깝다!!$2등상을 받았다!", + "good_result": "{{wobbuffetName}}[[가]] 버튼을 내리쳤다!$거의 중간까지 올라갔다!$3등상을 받았다!", + "bad_result": "{{wobbuffetName}}[[는]] 힘차게 휘둘러 봤지만\n버튼을 살짝 건드렸을 뿐 아무일도 일어나지 않았다…$안 돼!\n본전도 못 건졌다!", + "outro": "재밌는 미니게임이었다!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/global-trade-system-dialogue.json b/src/locales/ko/mystery-encounters/global-trade-system-dialogue.json new file mode 100644 index 00000000000..a4e8c3a1dd1 --- /dev/null +++ b/src/locales/ko/mystery-encounters/global-trade-system-dialogue.json @@ -0,0 +1,32 @@ +{ + "intro": "GTS 단말기가 있다!", + "title": "GTS", + "description": "오, GTS! 세상 참 좋아졌네요.\n이렇게 전세계 사람들과 연결해서 포켓몬을 교환 할 수 있으니 말이에요!\n오늘은 어떤 흥미로운 교환이 이루어질까요?", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "교환 제안을 확인한다", + "tooltip": "(+) 포켓몬 1마리와 제안을 골라 교환", + "trade_options_prompt": "교환을 통해 받을 포켓몬을 선택하세요." + }, + "2": { + "label": "미라클 교환을 한다", + "tooltip": "(+) 포켓몬 중 하나를 GTS에 보내고 랜덤한 포켓몬을 받는다" + }, + "3": { + "label": "아이템을 교환한다", + "trade_options_prompt": "교환할 아이템을 선택하세요.", + "invalid_selection": "이 포켓몬은 교환할 아이템이 없습니다.", + "tooltip": "(+) 아이템 하나를 GTS에 보내고 랜덤한 아이템을 받는다" + }, + "4": { + "label": "떠난다", + "tooltip": "(-) 보상 없음", + "selected": "교환할 시간이 없다!\n서둘러 떠났다." + } + }, + "pokemon_trade_selected": "{{tradedPokemon}}[[를]] {{tradeTrainerName}}에게 보냅니다.", + "pokemon_trade_goodbye": "바이바이 {{tradedPokemon}}!", + "item_trade_selected": "{{chosenItem}}[[를]] {{tradeTrainerName}}에게 보냅니다.$.@d{64}.@d{64}.@d{64}\n@s{level_up_fanfare}전송 완료!${{tradeTrainerName}}[[로]]부터 {{itemName}}[[가]] 전송됐다!", + "trade_received": "@s{evolution_fanfare}{{tradeTrainerName}}[[로]]부터 {{received}}[[가]] 전송됐다!${{received}}[[를]] 귀여워해 줘!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/lost-at-sea-dialogue.json b/src/locales/ko/mystery-encounters/lost-at-sea-dialogue.json new file mode 100644 index 00000000000..deeb69f0d7a --- /dev/null +++ b/src/locales/ko/mystery-encounters/lost-at-sea-dialogue.json @@ -0,0 +1,28 @@ +{ + "intro": "정처 없이 바다를 헤메었지만,\n당신은 아무런 성과도 거두지 못했습니다.", + "title": "바다 위의 표류", + "description": "이 지역의 바다는 꽤 사나운 편입니다.\n게다가 당신의 기력은 점점 떨어지고 있습니다.\n난감한 상황입니다.\n이 상황을 벗어날 수 있는 방법이 있을까요?", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "{{option1PrimaryName}}의 도움", + "label_disabled": "{{option1RequiredMove}} 사용 불가", + "tooltip": "(+) {{option1PrimaryName}}[[가]] 당신을 구함\n(+) {{option1PrimaryName}} 경험치 획득", + "tooltip_disabled": "{{option1RequiredMove}}[[를]] 사용할 수 있는 포켓몬이 없다.", + "selected": "{{option1PrimaryName}}[[가]] 앞장서 헤엄치며, 돌아가는 길을 안내했다.${{option1PrimaryName}} 역시 이번 기회로 더 강해진 것 같다!" + }, + "2": { + "label": "{{option2PrimaryName}}의 도움", + "label_disabled": "{{option2RequiredMove}} 사용 불가", + "tooltip": "(+) {{option2PrimaryName}}[[가]] 당신을 구함\n(+) {{option2PrimaryName}} 경험치 획득", + "tooltip_disabled": "{{option2RequiredMove}}[[를]] 사용할 수 있는 포켓몬이 없다.", + "selected": "{{option2PrimaryName}}[[가]] 보트 앞에서 날아가며, 돌아가는 길을 안내했다.${{option2PrimaryName}} 역시 이번 기회로 더 강해진 것 같다!" + }, + "3": { + "label": "정처 없이 방황한다", + "tooltip": "(-) 모든 포켓몬 HP {{damagePercentage}}% 감소", + "selected": "마침내 기억하는 곳에 다다를 때까지\n정처 없이 배를 타고 떠돌아다닌다.$길고 긴 표류에 포켓몬과 당신 모두 지쳐버렸다." + } + }, + "outro": "다시 여정으로 돌아왔다." +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/mysterious-challengers-dialogue.json b/src/locales/ko/mystery-encounters/mysterious-challengers-dialogue.json new file mode 100644 index 00000000000..9ccfe54d808 --- /dev/null +++ b/src/locales/ko/mystery-encounters/mysterious-challengers-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "수수께끼의 도전자들이 나타났다!", + "title": "수수께끼의 도전자", + "description": "만약 도전자에게 승리한다면, 당신의 배틀에 감명해 보상을 받을 수 있을 것 같습니다.\n그렇지만 어떤 도전자들은 꽤 강해보이기도 합니다.\n도전을 받아들일까요?", + "query": "누구와 배틀하시겠습니까?", + "option": { + "1": { + "label": "신중해 보이는 도전자", + "tooltip": "(-) 일반 배틀\n(+) 기술 아이템 보상" + }, + "2": { + "label": "강해 보이는 도전자", + "tooltip": "(-) 어려운 배틀\n(+) 좋은 보상" + }, + "3": { + "label": "가장 강한 도전자", + "tooltip": "(-) 악랄한 배틀\n(+) 훌륭한 보상" + }, + "selected": "선택한 트레이너가 앞으로 걸어 나온다…" + }, + "outro": "수수께끼의 도전자를 물리쳤다!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/mysterious-chest-dialogue.json b/src/locales/ko/mystery-encounters/mysterious-chest-dialogue.json new file mode 100644 index 00000000000..3b97f52e625 --- /dev/null +++ b/src/locales/ko/mystery-encounters/mysterious-chest-dialogue.json @@ -0,0 +1,23 @@ +{ + "intro": "이건…@d{32} 뭐지?", + "title": "수수께끼 상자", + "description": "아름답게 장식된 상자가 바닥에 놓여 있습니다. 보통 이럴 땐, 안에 뭔가 좋은 게 들었다고 생각하는 것이 인지상정…\n그렇지 않을까요?", + "query": "열어보시겠습니까?", + "option": { + "1": { + "label": "열어본다", + "tooltip": "@[SUMMARY_BLUE]{({{trapPercent}}%) 끔찍한 무언가}\n@[SUMMARY_GREEN]{({{commonPercent}}%) 평범한 보상}\n@[SUMMARY_GREEN]{({{ultraPercent}}%) 좋은 보상}\n@[SUMMARY_GREEN]{({{roguePercent}}%) 훌륭한 보상}\n@[SUMMARY_GREEN]{({{masterPercent}}%) 대단한 보상}", + "selected": "당신이 상자안에서 찾은 것은…", + "normal": "평범한 도구와 아이템이다.", + "good": "꽤 좋은 도구와 아이템이다.", + "great": "훌륭한 도구와 아이템이다!", + "amazing": "앗! 대단한 아이템!", + "bad": "으악!@d{32}\n상자는 사실 변장한 {{gimmighoulName}}이었다!${{pokeName}}[[가]] 앞으로 뛰어들어 막았지만\n기절해버렸다!" + }, + "2": { + "label": "위험할 수 있으니 떠난다", + "tooltip": "(-) 보상 없음", + "selected": "아쉬움을 뒤로 하고,\n당신은 서둘러 떠났다." + } + } +} diff --git a/src/locales/ko/mystery-encounters/part-timer-dialogue.json b/src/locales/ko/mystery-encounters/part-timer-dialogue.json new file mode 100644 index 00000000000..52dceaa5d35 --- /dev/null +++ b/src/locales/ko/mystery-encounters/part-timer-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "바빠보이는 작업 팀장이 나를 불러세웠다.", + "speaker": "작업 팀장", + "intro_dialogue": "거기 당신!\n쓸만한 포켓몬들을 가지고 있는거 같네요.$혹시 시간 있으면 알바 안 할래요?", + "title": "아르바이트", + "description": "해야 할 일이 산더미같이 쌓여 있네요.\n포켓몬이 일을 얼마나 잘하는지에 따라\n일당을 더 많이 받을 수도, 더 적게 받을 수도 있을 것 같습니다.", + "query": "어떤 아르바이트를 해볼까요?", + "invalid_selection": "포켓몬이 건강하지 않습니다.", + "option": { + "1": { + "label": "배달하기", + "tooltip": "(-) 포켓몬의 스피드를 활용\n(+) @[MONEY]{소지금} 획득", + "selected": "{{selectedPokemon}}[[는]] 배달 아르바이트를 시작했다." + }, + "2": { + "label": "창고 정리", + "tooltip": "(-) 포켓몬의 힘과 튼튼함을 활용\n(+) @[MONEY]{소지금} 획득", + "selected": "{{selectedPokemon}}[[는]] 창고 정리를 시작했다." + }, + "3": { + "label": "바람잡이", + "tooltip": "(-) {{option3PrimaryName}}의 {{option3PrimaryMove}}를 활용\n(+) @[MONEY]{소지금} 획득", + "disabled_tooltip": "포켓몬이 해당 작업에 필요한 기술이 없습니다.", + "selected": "{{option3PrimaryName}}[[는]] {{option3PrimaryMove}}[[로]]\n하루 종일 손님들을 끌어모았다!" + } + }, + "job_complete_good": "도와줘서 고마워요!\n오늘은 거의 {{selectedPokemon}} 혼자서 일을 다한 것 같네요!$여기 일당이에요!", + "job_complete_bad": "{{selectedPokemon}}[[가]] 뭐… 조금은 도움이 된 거 같네요!$여기 일당이에요.", + "pokemon_tired": "{{selectedPokemon}}[[가]] 지친 것 같다!\n모든 기술의 PP가 2로 감소했다!", + "outro": "다음에 또 도와주러 와요!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/safari-zone-dialogue.json b/src/locales/ko/mystery-encounters/safari-zone-dialogue.json new file mode 100644 index 00000000000..4cdad3dd1ed --- /dev/null +++ b/src/locales/ko/mystery-encounters/safari-zone-dialogue.json @@ -0,0 +1,46 @@ +{ + "intro": "사파리존이다!", + "title": "사파리존", + "description": "여기에는 오만 가지 희귀하고 특별한 포켓몬들이 살고 있습니다! 특별한 포켓몬을 최대 3마리까지 만나고 잡을 기회가 있답니다.\n\n하지만 조심하세요! 잡기도 전에 포켓몬이 도망칠 수도 있으니까요!", + "query": "들어가시겠습니까?", + "option": { + "1": { + "label": "들어간다", + "tooltip": "(-) {{option1Money, money}} 지불\n@[SUMMARY_GREEN]{(?) 사파리존 입장}", + "selected": "행운을 시험할 시간입니다!" + }, + "2": { + "label": "떠난다", + "tooltip": "(-) 보상 없음", + "selected": "약간의 아쉬움을 남기고, 서둘러 길을 떠났다" + } + }, + "safari": { + "1": { + "label": "몬스터볼을 던진다", + "tooltip": "(+) 몬스터볼을 던짐", + "selected": "몬스터볼을 던졌다!" + }, + "2": { + "label": "먹이를 던진다", + "tooltip": "(+) 포획률 상승\n(-) 도망칠 확률 상승", + "selected": "먹이를 던졌다!" + }, + "3": { + "label": "진흙을 던진다", + "tooltip": "(+) 도망칠 확률 감소\n(-) 포획률 감소", + "selected": "진흙을 던졌다!" + }, + "4": { + "label": "도망친다", + "tooltip": "(?) 이 포켓몬에게서 도망친다" + }, + "watching": "{{pokemonName}}[[는]] 조심스럽게 바라보고 있다!", + "eating": "{{pokemonName}}[[가]] 먹이를 먹고 있다!", + "busy_eating": "{{pokemonName}}[[가]] 먹이를 먹기 바쁘다!", + "angry": "{{pokemonName}}[[가]] 화가 난 것 같다!", + "beside_itself_angry": "{{pokemonName}}[[가]] 머리 끝까지 화가 난 것 같다!", + "remaining_count": "포켓몬이 {{remainingCount}}마리 남았다!" + }, + "outro": "재미있는 사파리 체험이었다!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/shady-vitamin-dealer-dialogue.json b/src/locales/ko/mystery-encounters/shady-vitamin-dealer-dialogue.json new file mode 100644 index 00000000000..3866570b1db --- /dev/null +++ b/src/locales/ko/mystery-encounters/shady-vitamin-dealer-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "검은 코트를 입은 남자가 다가왔다.", + "speaker": "수상한 상인", + "intro_dialogue": ".@d{16}.@d{16}.@d{16}$아-주 좋은 물건이 있는데, 관심 있어?$물론, 네 포켓몬이 이걸 감당할 수 있을지는 모르지만.", + "title": "영양제(?) 딜러", + "description": "남자가 코트를 살짝 열어 보여주자,\n코트 안쪽에 포켓몬 영양제들이 빼곡히 들어있는 것이 보입니다.\n그가 부른 가격은 아주 매력적입니다. 좋아도 너무 좋군요…\n그는 두가지 선택지를 제시했습니다.", + "query": "거래를 받아들일까요?", + "invalid_selection": "포켓몬이 충분히 건강하지 않습니다.", + "option": { + "1": { + "label": "저렴한 거래", + "tooltip": "(-) {{option1Money, money}} 지불\n(-) 부작용?\n(+) 선택한 포켓몬이 2가지 무작위 영양제 효과를 얻음" + }, + "2": { + "label": "비싼 거래", + "tooltip": "(-) {{option2Money, money}} 지불\n(+) 선택한 포켓몬이 2가지 무작위 영양제 효과를 얻음" + }, + "3": { + "label": "떠난다", + "tooltip": "(-) 보상 없음", + "selected": "흥, 너 같은 겁쟁이한테는 안 팔아." + }, + "selected": "남자는 영양제 두 병을 건넨 뒤,\n빠르게 사라졌다.${{selectedPokemon}}[[는]] {{boost1}}[[과]] {{boost2}} 효과를 얻었다!" + }, + "cheap_side_effects": "그런데 약이 부작용이 있는 것 같다!${{selectedPokemon}}[[가]] 약간 고통스러워한다.\n성격이 {{newNature}}[[로]] 변해버렸다!", + "no_bad_effects": "딱히 부작용은 없는 것 같다!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/slumbering-snorlax-dialogue.json b/src/locales/ko/mystery-encounters/slumbering-snorlax-dialogue.json new file mode 100644 index 00000000000..afac8be35e2 --- /dev/null +++ b/src/locales/ko/mystery-encounters/slumbering-snorlax-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "좁은 길을 걷다보니 거대한 실루엣이\n길을 막고 있는 것을 발견했다.$가까이 다가가 보니 평화롭게 자고있는 {{snorlaxName}}였다.\n피할 수 있는 방법은 없는 것 같다….", + "title": "잠자는 {{snorlaxName}}", + "description": "자고있는 {{snorlaxName}}[[를]] 지금 당장 공격해서 자리를 비키게 할 수도, 그냥 알아서 잠에서 깨어날 때까지 기다릴 수도 있습니다.\n얼마나 기다려야 할지는 알 수 없겠지만요….", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "싸운다", + "tooltip": "(-) 잠자는 {{snorlaxName}}[[과]] 배틀\n(+) 특별한 보상", + "selected": "용감하게 포켓몬에게 다가갔다." + }, + "2": { + "label": "움직일 때까지 기다린다", + "tooltip": "(-) 긴 시간을 기다림 \n(+) 멤버 HP회복", + "selected": ".@d{32}.@d{32}.@d{32}$한참을 기다리다보니, {{snorlaxName}}의 하품이 모두를 졸리게 만든다….", + "rest_result": "모두가 잠에서 깨어났을 무렵, {{snorlaxName}}[[는]] 어디에도 없었다.\n하지만 모든 포켓몬이 회복되었다!" + }, + "3": { + "label": "아이템을 훔친다", + "tooltip": "(+) {{option3PrimaryName}}[[가]] {{option3PrimaryMove}}[[를]] 사용\n(+) 특별한 보상", + "disabled_tooltip": "포켓몬이 특정 기술을 알고 있어야 한다.", + "selected": "{{option3PrimaryName}}[[는]] {{option3PrimaryMove}}[[를]] 사용했다!$@s{item_fanfare}자고 있는 {{snorlaxName}}[[로]]부터\n남은 음식을 훔쳐서 살금살금 도망쳤다!" + } + } +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/teleporting-hijinks-dialogue.json b/src/locales/ko/mystery-encounters/teleporting-hijinks-dialogue.json new file mode 100644 index 00000000000..de87ab83858 --- /dev/null +++ b/src/locales/ko/mystery-encounters/teleporting-hijinks-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "시끄럽게 윙윙거리고 있는\n이상한 기계를 발견했다….", + "title": "텔레포트 대소동", + "description": "기계에는 다음과 같이 설명이 쓰여 있습니다.\n\"사용하려면 돈을 넣고 캡슐에 들어가세요.\"\n\n기계를 작동시키면 어딘가로 이동할 수 있을 듯하다……", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "돈을 넣는다", + "tooltip": "(-) {{price, money}} 지불\n(?) 다른 바이옴으로 이동", + "selected": "돈을 넣자 캡슐이 열렸다.\n당신은 안으로 들어갔다……." + }, + "2": { + "label": "포켓몬의 도움", + "tooltip": "(-) {{option2PrimaryName}}[[가]] 도와줌\n(+) {{option2PrimaryName}}[[가]] 경험치를 획득\n(?) 다른 바이옴으로 이동", + "disabled_tooltip": "강철 또는 전기 타입 포켓몬이 있어야 한다.", + "selected": "{{option2PrimaryName}} 덕분에\n결제 시스템을 해제할 수 있었다!$캡슐이 열리자\n당신은 안으로 들어갔다…." + }, + "3": { + "label": "기계를 조사한다", + "tooltip": "(-) 포켓몬 배틀", + "selected": "기계에서 나오는 깜빡이는 불빛과\n기묘한 소리에 몰두했다…….$정신이 팔려서 야생 포켓몬이\n다가오는 것도 눈치채지 못했다!" + } + }, + "transport": "별안간 기계가 심하게 흔들리면서\n온갖 이상한 소리가 나기 시작했다!$얼마 안 가서 기계는 다시 조용해졌다.", + "attacked": "새로운 지역에 발을 내딛자마자\n놀란 야생 포켓몬과 마주쳤다!$야생 포켓몬이 달려들었다!", + "boss_enraged": "상대 {{enemyPokemon}}[[는]] 화가 난 것 같다!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/the-expert-pokemon-breeder-dialogue.json b/src/locales/ko/mystery-encounters/the-expert-pokemon-breeder-dialogue.json new file mode 100644 index 00000000000..e226741c60a --- /dev/null +++ b/src/locales/ko/mystery-encounters/the-expert-pokemon-breeder-dialogue.json @@ -0,0 +1,32 @@ +{ + "intro": "포켓몬 알을 잔뜩 가진 트레이너가 나타났다!", + "intro_dialogue": "안녕하세요, 트레이너!$당신의 몇몇 파트너 포켓몬이\n조금 기운 없어 보이네요.$저와 배틀을 해서\n기운이 나게끔 해주는 건 어떨까요?", + "title": "전문 브리더", + "description": "브리더를 상대로 @[TOOLTIP_TITLE]{포켓몬 1마리만} 사용해서 승부해야 합니다. 조금 힘들겠지만, 선택한 포켓몬과 유대감이 더욱 깊어질 기회입니다!\n게다가 승리하면 @[TOOLTIP_TITLE]{포켓몬 알}까지 준다고 합니다!", + + "query": "어떤 포켓몬으로 싸우겠습니까?", + "cleffa_1_nickname": "에이스", + "cleffa_2_nickname": "픽시짱", + "cleffa_3_nickname": "{{speciesName}} 대왕", + "option": { + "1": { + "label": "{{pokemon1Name}}", + "tooltip_base": "(-) 힘든 배틀\n(+) {{pokemon1Name}} 친밀도 상승" + }, + "2": { + "label": "{{pokemon2Name}}", + "tooltip_base": "(-) 힘든 배틀\n(+) {{pokemon2Name}} 친밀도 상승" + }, + "3": { + "label": "{{pokemon3Name}}", + "tooltip_base": "(-) 힘든 배틀\n(+) {{pokemon3Name}} 친밀도 상승" + }, + "selected": "그럼 갑니다!" + }, + "outro": "{{chosenPokemon}}[[가]] 정말 행복해 보이네요!$여기, 이것도 드릴게요.", + "outro_failed": "실망이네요….$포켓몬의 신뢰를 얻으려면 아직 멀었어요!", + "gained_eggs": "@s{item_fanfare}{{numEggs}}[[를]] 받았습니다!", + "eggs_tooltip": "\n(+) {{eggs}} 획득", + "numEggs_one": "{{rarity}}알 {{count}}개", + "numEggs_other": "{{rarity}}알 {{count}}개" +} diff --git a/src/locales/ko/mystery-encounters/the-pokemon-salesman-dialogue.json b/src/locales/ko/mystery-encounters/the-pokemon-salesman-dialogue.json new file mode 100644 index 00000000000..f5b35cb33cb --- /dev/null +++ b/src/locales/ko/mystery-encounters/the-pokemon-salesman-dialogue.json @@ -0,0 +1,23 @@ +{ + "intro": "쾌활한 노신사가 다가왔다.", + "speaker": "신사", + "intro_dialogue": "거기, 안녕하신가!\n자네에게 좋은 거래를 제안하지!", + "title": "포켓몬 상인", + "description": "\"이 {{purchasePokemon}}[[는]] 다른 평범한 {{purchasePokemon}}에서는 찾을 수 없는 매우 희귀한 특성을 갖고 있다네!\n내가 이 멋진 {{purchasePokemon}}[[를]] 자네에게 {{price, money}}에 주고 싶은데!\"\n\n\"어떻게 생각하는가?\"", + "description_shiny": "\"이 {{purchasePokemon}}[[는]] 다른 평범한 {{purchasePokemon}}에서는 볼 수 없는 매우 희귀한 색깔이라네!\n내가 이 멋진 {{purchasePokemon}}[[를]] 자네에게 {{price, money}}에 주고 싶은데!\"\n\n\"어떻게 생각하는가?\"", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "승낙한다", + "tooltip": "(-) {{price, money}} 지불\n(+) 숨겨진 특성을 가진 {{purchasePokemon}}[[를]] 얻음", + "tooltip_shiny": "(-) {{price, money}} 지불\n(+) 특별한 색을 가진 {{purchasePokemon}}[[를]] 얻음", + "selected_message": "터무니없는 금액을 내고\n{{purchasePokemon}}[[를]] 데려왔다.", + "selected_dialogue": "탁월한 선택이로군!$자네는 비즈니스에 안목이 있구먼.$아차차…@d{64} 반품은 안 된다네. 알고 있겠지?" + }, + "2": { + "label": "거절한다", + "tooltip": "(-) 보상 없음", + "selected": "아니?@d{32} 거절하겠다고?$요즘 젊은이들은\n호의를 베풀어도 모른다니까!" + } + } +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/the-strong-stuff-dialogue.json b/src/locales/ko/mystery-encounters/the-strong-stuff-dialogue.json new file mode 100644 index 00000000000..1563041e5bd --- /dev/null +++ b/src/locales/ko/mystery-encounters/the-strong-stuff-dialogue.json @@ -0,0 +1,21 @@ +{ + "intro": "커다란 {{shuckleName}}를 만났다!\n옆에 한가득 차 있는 저건 주스…?", + "title": "강력한 물질", + "description": "당신을 막아선 {{shuckleName}}[[는]] 엄청나게 강해보입니다. 게다가 그 옆에 있는 주스에서는 무언가 강한 기운이 느껴지는 것 같습니다.\n\n{{shuckleName}}가 당신 쪽으로 다리를 내밉니다.\n무언가 하려는 모양입니다…", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "{{shuckleName}}에게 다가간다", + "tooltip": "(?) 끔찍하거나 놀라운 일", + "selected": "당신은 기절해버렸다……….", + "selected_2": "@f{150}정신을 차리고 나니, {{shuckleName}}[[는]] 사라지고\n주스도 완전히 비었다.${{highBstPokemon1}}[[과]] {{highBstPokemon2}}[[는]]\n굉장히 무기력해졌다!$두 포켓몬의 종족치가 각각 {{reductionValue}}만큼 감소했다!$하지만 다른 포켓몬들은 놀라울만큼 활력이 넘친다!\n다른 포켓몬들의 종족치가 각각 {{increaseValue}}만큼 증가했다!" + }, + "2": { + "label": "{{shuckleName}}[[과]] 싸운다", + "tooltip": "(-) 어려운 배틀\n(+) 특별한 보상", + "selected": "화가 난 {{shuckleName}}[[가]] 주스를 마시고 공격해 왔다!", + "stat_boost": "주스를 마신 {{shuckleName}}의 능력치가 올라갔다!" + } + }, + "outro": "기묘한 일을 겪은 것 같다…." +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/the-winstrate-challenge-dialogue.json b/src/locales/ko/mystery-encounters/the-winstrate-challenge-dialogue.json new file mode 100644 index 00000000000..b7b96926f57 --- /dev/null +++ b/src/locales/ko/mystery-encounters/the-winstrate-challenge-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "한 가족이 집 앞에 모두 나와있다!", + "speaker": "연승가족", + "intro_dialogue": "우리는 연승가족!$잠깐 어떤가?\n지금 여기서 우리 가족 4명과 포켓몬 승부를 겨뤄보지 않겠나?", + "title": "연승가족", + "description": "모두 5명인 연승가족이 승부를 바라고 있습니다!\n가족 모두를 연달아 쓰러뜨릴 수 있다면 어마어마한 보상을 줄 겁니다.\n하지만 이걸 감당할 수 있을까요?", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "승부한다", + "tooltip": "(-) 치열한 승부\n(+) 특별한 아이템 획득", + "selected": "승부를 시작하지!" + }, + "2": { + "label": "승부를 거절한다", + "tooltip": "(+) 파티 전체 회복\n(+) 더이상한사탕 획득", + "selected": "아쉽군. 그런데 자네 포켓몬들 좀 지쳐보이는구만,\n조금 쉬고 가지 않을텐가?" + } + }, + "victory": "우리의 시련을 모두 극복하다니 축하하네!$먼저 이 바우처를 주겠네.", + "victory_2": "우리 가족은 이 교정깁스로 포켓몬을 더 효과적으로 훈련하고 있다네.$우리 전부를 이긴 자네에겐 의미 없을 수도 있겠지만,\n그래도 이걸 받아주게!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/training-session-dialogue.json b/src/locales/ko/mystery-encounters/training-session-dialogue.json new file mode 100644 index 00000000000..fc9d6721c40 --- /dev/null +++ b/src/locales/ko/mystery-encounters/training-session-dialogue.json @@ -0,0 +1,33 @@ +{ + "intro": "훈련에 쓸 만한 물건들을 발견했다.", + "title": "트레이닝 시간", + "description": "발견한 기구들은 포켓몬들을 훈련시키는 데 쓸 수 있을 것 같습니다!\n파티의 다른 포켓몬들과 싸우면서 원하는 방식으로 훈련해 보면 어떨까요?", + "query": "어떻게 훈련할까요?", + "invalid_selection": "포켓몬이 힘들어 보인다.", + "option": { + "1": { + "label": "가벼운 트레이닝", + "tooltip": "(-) 쉬운 배틀 \n(+) 선택 포켓몬 무작위 개체치 2가지 향상", + "finished": "훈련을 마친 {{selectedPokemon}}[[는]] 조금 지쳤지만 뿌듯해 보인다!${{selectedPokemon}}의 {{stat1}}[[과]] {{stat2}}[[가]] 상승했다!" + }, + "2": { + "label": "일반적인 트레이닝", + "tooltip": "(-) 평범한 배틀\n(+) 선택 포켓몬 성격 변경", + "select_prompt": "포켓몬과 훈련할\n새로운 성격을 선택하세요.", + "finished": "훈련을 마친 {{selectedPokemon}}[[는]] 조금 지쳤지만 뿌듯해 보인다!${{selectedPokemon}}의 성격이 {{nature}}[[로]] 바뀌었다!" + }, + "3": { + "label": "고강도 트레이닝", + "tooltip": "(-) 힘든 배틀\n(+) 선택 포켓몬 특성 변경", + "select_prompt": "포켓몬과 훈련할\n새로운 특성을 선택을 선택하세요.", + "finished": "훈련을 마친 {{selectedPokemon}}[[는]] 조금 지쳤지만 뿌듯해 보인다!${{selectedPokemon}}의 특성이 {{ability}}[[로]] 바뀌었다!" + }, + "4": { + "label": "떠난다", + "tooltip": "(-) 보상 없음", + "selected": "훈련할 시간은 없다.\n바로 길을 떠났다." + }, + "selected": "{{selectedPokemon}}[[가]] 공터를 가로질러\n이쪽을 보고 마주섰다…" + }, + "outro": "성공적인 트레이닝 시간이었다!" +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/trash-to-treasure-dialogue.json b/src/locales/ko/mystery-encounters/trash-to-treasure-dialogue.json new file mode 100644 index 00000000000..ac285692d23 --- /dev/null +++ b/src/locales/ko/mystery-encounters/trash-to-treasure-dialogue.json @@ -0,0 +1,19 @@ +{ + "intro": "엄청난 쓰레기 더미다!\n도대체 어디서 온 걸까?", + "title": "쓰레기 속 보물", + "description": "쓰레기 더미가 눈앞에 펼쳐져 있습니다.\n그 속에서 가치 있는 물건을 찾을 수도 있겠죠.\n하지만 그 물건들을 얻기 위해\n정말로 오물을 뒤집어쓰고 싶으신가요?", + "query": "무엇을 하시겠습니까?", + "option": { + "1": { + "label": "쓸만한 것을 발굴한다", + "tooltip": "(-) 회복 아이템 가격 3배 상승\n(+) 끝내주는 아이템들을 획득", + "selected": "쓰레기 더미를 헤집고 다니며 오물을 뒤집어썼다.$지금 이 상태라면 아무리 친절한 점원이라도\n물건을 제 가격에 안 팔 것 같다!$앞으로는 상점에서 파는 회복약을 훨씬 비싸게 사야 한다.$하지만 쓰레기에서 엄청난 물건들을 발견했다!" + }, + "2": { + "label": "주변을 조사한다", + "tooltip": "(?) 쓰레기의 근원을 찾는다", + "selected": "쓰레기 더미 주변을 거닐며,\n이게 여기 어떻게 생겨난 건지 단서를 찾아본다…", + "selected_2": "갑자기 쓰레기 더미가 움직였다!\n쓰레기가 아니라 포켓몬이었다!" + } + } +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/uncommon-breed-dialogue.json b/src/locales/ko/mystery-encounters/uncommon-breed-dialogue.json new file mode 100644 index 00000000000..aeec128b313 --- /dev/null +++ b/src/locales/ko/mystery-encounters/uncommon-breed-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "저건 평범한 포켓몬이 아닌 것 같다!", + "title": "흔하지 않은 포켓몬", + "description": "저 {{enemyPokemon}}[[는]] 다른 {{enemyPokemon}}[[과]]는 어딘가 달라보입니다. @[TOOLTIP_TITLE]{아마 특별한 기술을 알고 있을지도?}\n평범하게 배틀로 잡을 수도 있지만, 친구가 되는 방법도 있을 것 같습니다.", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "포켓몬과 싸운다", + "tooltip": "(-) 까다로운 배틀\n(+) 포획 가능한 강한 적", + "selected": "{{enemyPokemon}}에게 용감하게 맞섰다.", + "stat_boost": "{{enemyPokemon}}[[가]] 집중해서 능력치가 상승했다!" + }, + "2": { + "label": "음식을 준다", + "disabled_tooltip": "선택지를 고르려면 나무열매가 4개 필요하다.", + "tooltip": "(-) 나무열매 4개를 줌\n(+) {{enemyPokemon}}[[가]] 좋아함", + "selected": "{{enemyPokemon}}에게 나무열매를 주었다!$행복한 듯 맛있게 먹기 시작했다!${{enemyPokemon}}[[는]] 동료가 되고 싶어하는 것 같다!" + }, + "3": { + "label": "친구가 되기", + "disabled_tooltip": "파티의 포켓몬이 특정한 기술을 알고 있어야한다.", + "tooltip": "(+) {{option3PrimaryName}}[[가]] {{option3PrimaryMove}}[[를]] 사용\n(+) {{enemyPokemon}}[[가]] 좋아함", + "selected": "{{option3PrimaryName}}[[가]] {{option3PrimaryMove}}[[를]] 사용해\n{{enemyPokemon}}를 매료시켰다!${{enemyPokemon}}[[는]] 동료가 되고 싶어하는 것 같다!" + } + } +} \ No newline at end of file diff --git a/src/locales/ko/mystery-encounters/weird-dream-dialogue.json b/src/locales/ko/mystery-encounters/weird-dream-dialogue.json new file mode 100644 index 00000000000..303c459a1fb --- /dev/null +++ b/src/locales/ko/mystery-encounters/weird-dream-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "어떤 여자의 실루엣이 앞을 막아섰다.\n그녀에게서 뭔가 불안한 느낌이 든다…….", + "speaker": "여자", + "intro_dialogue": "너의 미래와 과거를 봤어….$저기…\n너도 그게 보이는 걸까?", + "title": "???", + "description": "여자의 말이 머릿속에서 메아리처럼 울려 퍼집니다. 이건 단순히 한 사람의 목소리가 아닙니다. 모든 시간선과 현실에서 온 수많은 사람들의 목소리입니다.\n당신은 어지러움을 느끼기 시작하고, 한 질문이 머릿속을 맴돌기 시작합니다…\n\n@[TOOLTIP_TITLE]{\"너의 미래와 과거를 봤어….저기… 너도 그게 보이는 걸까?\"}", + "query": "어떻게 하시겠습니까?", + "option": { + "1": { + "label": "고개를 끄덕인다", + "tooltip": "@[SUMMARY_GREEN]{(?) 파티의 포켓몬에 영향}", + "selected": "그녀는 당신에게 손을 뻗었고,\n이내 모든 것이 깜깜해졌다.$그리고…@d{64} 당신은 모든 것이 보인다.\n모든 시간선, 또 다른 당신의 모습,\n 과거와 미래.$당신을 만들어온 모든 것,\n당신이 될 모든 것…@d{64}", + "cutscene": "당신의 포켓몬들이 보인다.@d{32} 모든 현실이\n합쳐져 새로운 무언가가 되고 있다…@d{64}", + "dream_complete": "잠에서 깨어나자, 여자는 사라진 것 같다.\n사람이 아니라 유령이었을지도…$.@d{32}.@d{32}.@d{32}?$파티의 포켓몬이 바뀌었다…?$…아니, 원래부터 이 상태였는지도 모른다." + }, + "2": { + "label": "빠르게 떠난다", + "tooltip": "(-) 파티의 포켓몬에 영향", + "selected": "당신을 무감각하게 만들던 손아귀에서 벗어나,\n정신을 차리고 서둘러 자리를 떠났다.$간신히 정신을 추스르고 멈춰 서서\n파티의 포켓몬들을 확인했다.$이유는 알 수 없지만\n파티의 모든 포켓몬 레벨이 약간 줄어들었다!" + } + } +} \ No newline at end of file diff --git a/src/locales/ko/party-ui-handler.json b/src/locales/ko/party-ui-handler.json index 6e7ba120b71..35cf379556f 100644 --- a/src/locales/ko/party-ui-handler.json +++ b/src/locales/ko/party-ui-handler.json @@ -47,4 +47,4 @@ "untilWeMeetAgain": "다시 만날 때까지, {{pokemonName}}!", "sayonara": "사요나라, {{pokemonName}}!", "smellYaLater": "또 보자, {{pokemonName}}!" -} \ No newline at end of file +} diff --git a/src/locales/ko/trainer-names.json b/src/locales/ko/trainer-names.json index 7d18cd51c4e..b9d9a365b46 100644 --- a/src/locales/ko/trainer-names.json +++ b/src/locales/ko/trainer-names.json @@ -166,5 +166,18 @@ "alder_iris_double": "노간주 & 아이리스", "iris_alder_double": "아이리스 & 노간주", "marnie_piers_double": "마리 & 두송", - "piers_marnie_double": "두송 & 마리" + "piers_marnie_double": "두송 & 마리", + + "buck": "맥", + "cheryl": "모미", + "marley": "미정", + "mira": "미루", + "riley": "현이", + "victor": "상우", + "victoria": "수혜", + "vivi": "추희", + "vicky": "영아", + "vito": "철준", + "bug_type_superfan": "벌레타입 마니아", + "expert_pokemon_breeder": "포켓몬 전문 브리더" } diff --git a/src/locales/ko/trainer-titles.json b/src/locales/ko/trainer-titles.json index 7b5a72f6fc1..20b2a8e0f65 100644 --- a/src/locales/ko/trainer-titles.json +++ b/src/locales/ko/trainer-titles.json @@ -36,5 +36,7 @@ "aether_admin": "에테르재단 지부장", "skull_admin": "스컬단 간부", "macro_admin": "매크로코스모스 간부", - "star_admin": "스타단 군단 보스" + "star_admin": "스타단 군단 보스", + + "the_winstrates": "연승가족" } diff --git a/src/locales/pt_BR/ability-trigger.json b/src/locales/pt_BR/ability-trigger.json index cd47fd8e3dc..60e86f3723c 100644 --- a/src/locales/pt_BR/ability-trigger.json +++ b/src/locales/pt_BR/ability-trigger.json @@ -60,4 +60,4 @@ "postSummonTabletsOfRuin": "Tablets of Ruin de {{pokemonNameWithAffix}} reduziu o {{statName}}\nde todos os Pokémon em volta!", "postSummonBeadsOfRuin": "Beads of Ruin de {{pokemonNameWithAffix}} reduziu a {{statName}}\nde todos os Pokémon em volta!", "preventBerryUse": "{{pokemonNameWithAffix}} está nervoso\ndemais para comer frutas!" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/ability.json b/src/locales/pt_BR/ability.json index e30a7dd8c4f..2c70f82f53f 100644 --- a/src/locales/pt_BR/ability.json +++ b/src/locales/pt_BR/ability.json @@ -421,7 +421,7 @@ }, "aftermath": { "name": "Aftermath", - "description": "Caso o Pokémon seja derrotado em decorrência de um movimento de contato, o atacante recebe dano." + "description": "Causa dano ao atacante se ele entrar em contato com o Pokémon com um golpe final." }, "anticipation": { "name": "Anticipation", diff --git a/src/locales/pt_BR/achv.json b/src/locales/pt_BR/achv.json index 93e982b60ea..05727deeb18 100644 --- a/src/locales/pt_BR/achv.json +++ b/src/locales/pt_BR/achv.json @@ -268,5 +268,9 @@ "INVERSE_BATTLE": { "name": "A torre da derrotA", "description": "Complete o desafio da Batalha Inversa.\n.asrevnI ahlataB ad oifased o etelpmoC" + }, + "BREEDERS_IN_SPACE": { + "name": "Criadores no Espaço!", + "description": "Derrote o Criador de Pokémon Experiente no Bioma Espaço." } } diff --git a/src/locales/pt_BR/arena-tag.json b/src/locales/pt_BR/arena-tag.json index 7ab1ecea721..3a1476dcef6 100644 --- a/src/locales/pt_BR/arena-tag.json +++ b/src/locales/pt_BR/arena-tag.json @@ -54,4 +54,4 @@ "safeguardOnRemove": "O campo não está mais protegido por Safeguard!", "safeguardOnRemovePlayer": "Sua equipe não está mais protegido por Safeguard!", "safeguardOnRemoveEnemy": "A equipe adversária não está mais protegido por Safeguard!" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/battle-info.json b/src/locales/pt_BR/battle-info.json index 0fd211c5c85..8a43839efb1 100644 --- a/src/locales/pt_BR/battle-info.json +++ b/src/locales/pt_BR/battle-info.json @@ -1,3 +1,3 @@ { "generation": "Geração {{generation}}" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/battle-message-ui-handler.json b/src/locales/pt_BR/battle-message-ui-handler.json index ee7062bccba..d82fd665821 100644 --- a/src/locales/pt_BR/battle-message-ui-handler.json +++ b/src/locales/pt_BR/battle-message-ui-handler.json @@ -5,4 +5,4 @@ "ivPrettyGood": "Bom", "ivDecent": "Regular", "ivNoGood": "Ruim" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/battle-scene.json b/src/locales/pt_BR/battle-scene.json index a0288475d69..de2232b4edf 100644 --- a/src/locales/pt_BR/battle-scene.json +++ b/src/locales/pt_BR/battle-scene.json @@ -1,3 +1,3 @@ { "moneyOwned": "₽{{formattedMoney}}" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/battle.json b/src/locales/pt_BR/battle.json index 392f7b2ec38..72fcc018980 100644 --- a/src/locales/pt_BR/battle.json +++ b/src/locales/pt_BR/battle.json @@ -14,6 +14,10 @@ "moneyWon": "Você ganhou\n₽{{moneyAmount}} por vencer!", "moneyPickedUp": "Você pegou ₽{{moneyAmount}} do chão!", "pokemonCaught": "{{pokemonName}} foi capturado!", + "pokemonObtained": "Você recebeu um {{pokemonName}}!", + "pokemonBrokeFree": "Não!\nO Pokémon escapou!", + "pokemonFled": "{{pokemonName}} selvagem fugiu!", + "playerFled": "Você fugiu de {{pokemonName}}!", "addedAsAStarter": "{{pokemonName}} foi adicionado\naos seus iniciais!", "partyFull": "Sua equipe está cheia.\nSolte um Pokémon para ter espaço para {{pokemonName}}?", "pokemon": "Pokémon", @@ -49,6 +53,7 @@ "noPokeballTrainer": "Não se pode capturar\nPokémon dos outros!", "noPokeballMulti": "Não se pode lançar Poké Bolas\nquando há mais de um Pokémon!", "noPokeballStrong": "Este Pokémon é forte demais para ser capturado!\nÉ preciso enfraquecê-lo primeiro!", + "noPokeballMysteryEncounter": "Você não pode capturar\nesse Pokémon!", "noEscapeForce": "Uma força misteriosa\nte impede de fugir.", "noEscapeTrainer": "Não se pode fugir de\nbatalhas contra treinadores!", "noEscapePokemon": "O movimento {{moveName}} de {{pokemonName}} te impede de fugir!", @@ -97,6 +102,7 @@ "unlockedSomething": "{{unlockedThing}}\nfoi desbloqueado.", "congratulations": "Parabéns!", "beatModeFirstTime": "{{speciesName}} venceu o Modo {{gameMode}} pela primeira vez!\nVocê recebeu {{newModifier}}!", + "mysteryEncounterAppeared": "O que é isso?", "battlerTagsHealBlock": "{{pokemonNameWithAffix}} não pode restaurar seus PS!", "battlerTagsHealBlockOnRemove": "{{pokemonNameWithAffix}} pode restaurar seus PS novamente!" } diff --git a/src/locales/pt_BR/berry.json b/src/locales/pt_BR/berry.json index 0ca5d3de286..7cd5e5c14dd 100644 --- a/src/locales/pt_BR/berry.json +++ b/src/locales/pt_BR/berry.json @@ -43,4 +43,4 @@ "name": "Fruta Leppa", "effect": "Restaura 10 PP de um movimento se seus PP acabarem" } -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/bgm-name.json b/src/locales/pt_BR/bgm-name.json index d73347ad988..4b95c0a1865 100644 --- a/src/locales/pt_BR/bgm-name.json +++ b/src/locales/pt_BR/bgm-name.json @@ -93,7 +93,7 @@ "battle_galactic_boss": "BDSP Batalha do Cyrus", "battle_plasma_boss": "B2W2 Batalha do Ghetsis", "battle_flare_boss": "XY Batalha do Lysandre", - "battle_aether_boss": "SM Batalha da Lusamine", + "battle_aether_boss": "SM Batalha da Lusamine", "battle_skull_boss": "SM Batalha do Guzma", "battle_macro_boss": "SWSH Batalha do Rose", "battle_star_boss": "SV Batalha da Cassiopeia", @@ -149,5 +149,10 @@ "encounter_youngster": "BW Encontro com Treinador (Jovem)", "heal": "BW Centro Pokémon", "menu": "PMD EoS Bem-vindo ao Mundo dos Pokémon!", - "title": "PMD EoS Menu Principal" + "title": "PMD EoS Menu Principal", + + "mystery_encounter_weird_dream": "PMD EoS Temporal Spire", + "mystery_encounter_fun_and_games": "PMD EoS Guildmaster Wigglytuff", + "mystery_encounter_gen_5_gts": "BW GTS", + "mystery_encounter_gen_6_gts": "XY GTS" } diff --git a/src/locales/pt_BR/biome.json b/src/locales/pt_BR/biome.json index d10f22eb487..6235ebc4c3f 100644 --- a/src/locales/pt_BR/biome.json +++ b/src/locales/pt_BR/biome.json @@ -35,4 +35,4 @@ "ISLAND": "Ilha", "LABORATORY": "Laboratório", "END": "???" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/challenges.json b/src/locales/pt_BR/challenges.json index 9dc613651a6..b8249882033 100644 --- a/src/locales/pt_BR/challenges.json +++ b/src/locales/pt_BR/challenges.json @@ -34,4 +34,4 @@ "value.0": "Desligado", "value.1": "Ligado" } -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/command-ui-handler.json b/src/locales/pt_BR/command-ui-handler.json index fcd8e7026b4..1e541e60b9a 100644 --- a/src/locales/pt_BR/command-ui-handler.json +++ b/src/locales/pt_BR/command-ui-handler.json @@ -4,4 +4,4 @@ "pokemon": "Pokémon", "run": "Fugir", "actionMessage": "O que {{pokemonName}}\ndeve fazer?" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/common.json b/src/locales/pt_BR/common.json index a5ec4381f26..9c04c3ec811 100644 --- a/src/locales/pt_BR/common.json +++ b/src/locales/pt_BR/common.json @@ -5,4 +5,4 @@ "commonShiny": "Comum", "rareShiny": "Raro", "epicShiny": "Épico" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/config.ts b/src/locales/pt_BR/config.ts index 9e8377149c1..fc4ae9000b4 100644 --- a/src/locales/pt_BR/config.ts +++ b/src/locales/pt_BR/config.ts @@ -1,59 +1,101 @@ -import common from "./common.json"; -import settings from "./settings.json"; -import ability from "./ability.json"; import abilityTriggers from "./ability-trigger.json"; +import ability from "./ability.json"; +import achv from "./achv.json"; import arenaFlyout from "./arena-flyout.json"; import arenaTag from "./arena-tag.json"; -import achv from "./achv.json"; -import battle from "./battle.json"; -import battleScene from "./battle-scene.json"; import battleInfo from "./battle-info.json"; import battleMessageUiHandler from "./battle-message-ui-handler.json"; +import battleScene from "./battle-scene.json"; +import battle from "./battle.json"; import battlerTags from "./battler-tags.json"; import berry from "./berry.json"; import bgmName from "./bgm-name.json"; import biome from "./biome.json"; import challenges from "./challenges.json"; import commandUiHandler from "./command-ui-handler.json"; -import dialogue from "./dialogue.json"; +import common from "./common.json"; +import doubleBattleDialogue from "./dialogue-double-battle.json"; import battleSpecDialogue from "./dialogue-final-boss.json"; import miscDialogue from "./dialogue-misc.json"; -import doubleBattleDialogue from "./dialogue-double-battle.json"; +import dialogue from "./dialogue.json"; import egg from "./egg.json"; import fightUiHandler from "./fight-ui-handler.json"; import filterBar from "./filter-bar.json"; import gameMode from "./game-mode.json"; import gameStatsUiHandler from "./game-stats-ui-handler.json"; import growth from "./growth.json"; -import menu from "./menu.json"; import menuUiHandler from "./menu-ui-handler.json"; -import modifier from "./modifier.json"; +import menu from "./menu.json"; +import modifierSelectUiHandler from "./modifier-select-ui-handler.json"; import modifierType from "./modifier-type.json"; +import modifier from "./modifier.json"; +import moveTriggers from "./move-trigger.json"; import move from "./move.json"; +import mysteryEncounterMessages from "./mystery-encounter-messages.json"; +import aTrainersTest from "./mystery-encounters/a-trainers-test-dialogue.json"; +import absoluteAvarice from "./mystery-encounters/absolute-avarice-dialogue.json"; +import offerYouCantRefuse from "./mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; +import berriesAbound from "./mystery-encounters/berries-abound-dialogue.json"; +import bugTypeSuperfan from "./mystery-encounters/bug-type-superfan-dialogue.json"; +import clowningAround from "./mystery-encounters/clowning-around-dialogue.json"; +import dancingLessons from "./mystery-encounters/dancing-lessons-dialogue.json"; +import darkDeal from "./mystery-encounters/dark-deal-dialogue.json"; +import delibirdy from "./mystery-encounters/delibirdy-dialogue.json"; +import departmentStoreSale from "./mystery-encounters/department-store-sale-dialogue.json"; +import fieldTrip from "./mystery-encounters/field-trip-dialogue.json"; +import fieryFallout from "./mystery-encounters/fiery-fallout-dialogue.json"; +import fightOrFlight from "./mystery-encounters/fight-or-flight-dialogue.json"; +import funAndGames from "./mystery-encounters/fun-and-games-dialogue.json"; +import globalTradeSystem from "./mystery-encounters/global-trade-system-dialogue.json"; +import lostAtSea from "./mystery-encounters/lost-at-sea-dialogue.json"; +import mysteriousChallengers from "./mystery-encounters/mysterious-challengers-dialogue.json"; +import mysteriousChest from "./mystery-encounters/mysterious-chest-dialogue.json"; +import partTimer from "./mystery-encounters/part-timer-dialogue.json"; +import safariZone from "./mystery-encounters/safari-zone-dialogue.json"; +import shadyVitaminDealer from "./mystery-encounters/shady-vitamin-dealer-dialogue.json"; +import slumberingSnorlax from "./mystery-encounters/slumbering-snorlax-dialogue.json"; +import teleportingHijinks from "./mystery-encounters/teleporting-hijinks-dialogue.json"; +import pokemonSalesman from "./mystery-encounters/the-pokemon-salesman-dialogue.json"; +import theStrongStuff from "./mystery-encounters/the-strong-stuff-dialogue.json"; +import theWinstrateChallenge from "./mystery-encounters/the-winstrate-challenge-dialogue.json"; +import trainingSession from "./mystery-encounters/training-session-dialogue.json"; +import trashToTreasure from "./mystery-encounters/trash-to-treasure-dialogue.json"; +import uncommonBreed from "./mystery-encounters/uncommon-breed-dialogue.json"; +import weirdDream from "./mystery-encounters/weird-dream-dialogue.json"; +import expertPokemonBreeder from "./mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; import nature from "./nature.json"; import partyUiHandler from "./party-ui-handler.json"; import pokeball from "./pokeball.json"; -import pokemon from "./pokemon.json"; -import pokemonForm from "./pokemon-form.json"; import battlePokemonForm from "./pokemon-form-battle.json"; -import pokemonInfo from "./pokemon-info.json"; +import pokemonForm from "./pokemon-form.json"; import pokemonInfoContainer from "./pokemon-info-container.json"; +import pokemonInfo from "./pokemon-info.json"; import pokemonSummary from "./pokemon-summary.json"; +import pokemon from "./pokemon.json"; +import runHistory from "./run-history.json"; import saveSlotSelectUiHandler from "./save-slot-select-ui-handler.json"; +import settings from "./settings.json"; import splashMessages from "./splash-messages.json"; import starterSelectUiHandler from "./starter-select-ui-handler.json"; import statusEffect from "./status-effect.json"; -import trainerTitles from "./trainer-titles.json"; +import terrain from "./terrain.json"; import trainerClasses from "./trainer-classes.json"; import trainerNames from "./trainer-names.json"; +import trainerTitles from "./trainer-titles.json"; import tutorial from "./tutorial.json"; import voucher from "./voucher.json"; import weather from "./weather.json"; -import terrain from "./terrain.json"; -import modifierSelectUiHandler from "./modifier-select-ui-handler.json"; -import moveTriggers from "./move-trigger.json"; -import runHistory from "./run-history.json"; +/** + * Dialogue/Text token injection patterns that can be used: + * - `$` will be treated as a new line for Message and Dialogue strings. + * - `@d{}` will add a time delay to text animation for Message and Dialogue strings. + * - `@s{}` will play a specified sound effect for Message and Dialogue strings. + * - `@f{}` will fade the screen to black for the given duration, then fade back in for Message and Dialogue strings. + * - `{{}}` (MYSTERY ENCOUNTERS ONLY) will auto-inject the matching dialogue token value that is stored in {@link IMysteryEncounter.dialogueTokens}. + * - (see [i18next interpolations](https://www.i18next.com/translation-function/interpolation)) for more details. + * - `@[]{}` (STATIC TEXT ONLY, NOT USEABLE WITH {@link UI.showText()} OR {@link UI.showDialogue()}) will auto-color the given text to a specified {@link TextStyle} (e.g. `TextStyle.SUMMARY_GREEN`). + */ export const ptBrConfig = { ability, abilityTriggers, @@ -110,4 +152,40 @@ export const ptBrConfig = { modifierSelectUiHandler, moveTriggers, runHistory: runHistory, + mysteryEncounter: { + // DO NOT REMOVE + "unit_test_dialogue": "{{test}}{{test}} {{test{{test}}}} {{test1}} {{test\}} {{test\\}} {{test\\\}} {test}}", + mysteriousChallengers, + mysteriousChest, + darkDeal, + fightOrFlight, + slumberingSnorlax, + trainingSession, + departmentStoreSale, + shadyVitaminDealer, + fieldTrip, + safariZone, + lostAtSea, + fieryFallout, + theStrongStuff, + pokemonSalesman, + offerYouCantRefuse, + delibirdy, + absoluteAvarice, + aTrainersTest, + trashToTreasure, + berriesAbound, + clowningAround, + partTimer, + dancingLessons, + weirdDream, + theWinstrateChallenge, + teleportingHijinks, + bugTypeSuperfan, + funAndGames, + uncommonBreed, + globalTradeSystem, + expertPokemonBreeder + }, + mysteryEncounterMessages }; diff --git a/src/locales/pt_BR/dialogue-double-battle.json b/src/locales/pt_BR/dialogue-double-battle.json index 4d1c7d90c9b..e796a6ea2a2 100644 --- a/src/locales/pt_BR/dialogue-double-battle.json +++ b/src/locales/pt_BR/dialogue-double-battle.json @@ -80,4 +80,4 @@ "1": "Piers: Agora esse foi um ótimo show!\n$Marnie: Irmão..." } } -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/dialogue-final-boss.json b/src/locales/pt_BR/dialogue-final-boss.json index 7009f00db5b..c1e492a41ef 100644 --- a/src/locales/pt_BR/dialogue-final-boss.json +++ b/src/locales/pt_BR/dialogue-final-boss.json @@ -3,4 +3,4 @@ "encounter_female": "Parece que a hora finalmente chegou novamente.\nVocê sabe por que veio aqui, não sabe?\n$Você foi atraída para cá, porque já esteve aqui antes.\nInúmeras vezes.\n$Embora talvez isso possa ser contado.\nPara ser preciso, este é de fato o seu {{cycleCount}}º ciclo.\n$A cada ciclo, sua mente retorna ao seu estado anterior.\nMesmo assim, de alguma forma, vestígios de seus antigos \"eus\" permanecem.\n$Até agora, você ainda não conseguiu, mas sinto uma presença diferente em você desta vez.\n\n$Você é a única aqui, embora pareça haver... outro.\n$Você finalmente vai se mostrar um desafio formidável para mim?\nO desafio que anseio há milênios?\n$Vamos começar.", "firstStageWin": "Entendo. A presença que senti era realmente real.\nParece que não preciso mais me segurar.\n$Não me decepcione.", "secondStageWin": "…Magnífico." -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/dialogue.json b/src/locales/pt_BR/dialogue.json index fdf472526c1..e3f9d61738f 100644 --- a/src/locales/pt_BR/dialogue.json +++ b/src/locales/pt_BR/dialogue.json @@ -1061,6 +1061,119 @@ "1": "Não posso te culpar por suas habilidades de batalha... Considerando como os chefes caíram diante de você." } }, + "stat_trainer_buck": { + "encounter": { + "1": "...Estou te falando agora. Eu sou muito durão. Finge surpresa!", + "2": "Posso sentir meus Pokémon tremendo dentro de suas Pokébolas!" + }, + "victory": { + "1": "Hehehe!\nVocê é uma máquina!", + "2": "Hehehe!\nVocê é uma máquina!" + }, + "defeat": { + "1": "Uau! Acho que vocês estão sem gás.", + "2": "Uau! Acho que vocês estão sem gás." + } + }, + "stat_trainer_cheryl": { + "encounter": { + "1": "Meus Pokémon estavam ansiosos por uma batalha.", + "2": "Devo avisá-lo, meus Pokémon podem ser bastante agitados.", + "2_female": "Devo avisá-la, meus Pokémon podem ser bastante agitados." + }, + "victory": { + "1": "Acertar o equilíbrio certo entre ataque e defesa... Não é fácil de fazer.", + "2": "Acertar o equilíbrio certo entre ataque e defesa... Não é fácil de fazer." + }, + "defeat": { + "1": "Seus Pokémon precisam de cura?", + "2": "Seus Pokémon precisam de cura?" + } + }, + "stat_trainer_marley": { + "encounter": { + "1": "... Tá.\nVou dar o meu melhor.", + "2": "... Tá.\nEu... não vou perder...!" + }, + "victory": { + "1": "... Awww.", + "2": "... Awww." + }, + "defeat": { + "1": "... Adeus.", + "2": "... Adeus." + } + }, + "stat_trainer_mira": { + "encounter": { + "1": "Você ficará surpreso com a Mira!", + "1_female": "Você ficará surpresa com a Mira!", + "2": "Mira vai te mostrar que ela não se perde mais!" + }, + "victory": { + "1": "Mira se pergunta se conseguirá ir longe nessa terra.", + "2": "Mira se pergunta se conseguirá ir longe nessa terra." + }, + "defeat": { + "1": "Mira sabia que venceria!", + "2": "Mira sabia que venceria!" + } + }, + "stat_trainer_riley": { + "encounter": { + "1": "Lutar é nossa forma de saudação!", + "2": "Estamos fazendo de tudo para derrubar seus Pokémon." + }, + "victory": { + "1": "Às vezes, lutamos e, às vezes, nos unimos...$É ótimo como Treinadores podem interagir.", + "2": "Às vezes, lutamos e, às vezes, nos unimos...$É ótimo como Treinadores podem interagir." + }, + "defeat": { + "1": "Você fez uma bela exibição.\nMelhor sorte na próxima vez.", + "2": "Você fez uma bela exibição.\nMelhor sorte na próxima vez." + } + }, + "winstrates_victor": { + "encounter": { + "1": "Esse é o espírito! Gosto de você!" + }, + "victory": { + "1": "A-ha! Você é mais forte do que eu pensei!" + } + }, + "winstrates_victoria": { + "encounter": { + "1": "Meu Deus! Você não é jovem?$Deve ser um grande Treinador para derrotar meu marido.$Acho que agora é a minha vez de lutar!", + "1_female": "Meu Deus! Você não é jovem?$Deve ser uma grande Treinadora para derrotar meu marido.$Acho que agora é a minha vez de lutar!" + }, + "victory": { + "1": "Uwah! Quão forte você é?!" + } + }, + "winstrates_vivi": { + "encounter": { + "1": "Você é mais forte que a Mamãe? Uau!$Mas eu também sou forte!\nDe verdade! Falando sério!" + }, + "victory": { + "1": "Ahn? Eu perdi mesmo?\nSnif... Vovóóó!" + } + }, + "winstrates_vicky": { + "encounter": { + "1": "Como ousa fazer minha preciosa\nneta chorar!$Vejo que preciso lhe dar uma lição.\nPrepare-se para sentir o ferrão da derrota!" + }, + "victory": { + "1": "Uau! Tão forte!\nMinha neta não estava mentindo." + } + }, + "winstrates_vito": { + "encounter": { + "1": "Treinei com toda a minha família,\ncada um de nós!$Não vou perder para para ninguém!" + }, + "victory": { + "1": "Eu era melhor do que todos em minha família.\nEu nunca perdi antes..." + } + }, "brock": { "encounter": { "1": "Minha especialidade em Pokémon do tipo Pedra vai te derrubar! Vamos lá!", diff --git a/src/locales/pt_BR/egg.json b/src/locales/pt_BR/egg.json index a14217858b5..cbe31d27ed4 100644 --- a/src/locales/pt_BR/egg.json +++ b/src/locales/pt_BR/egg.json @@ -11,6 +11,7 @@ "gachaTypeLegendary": "Chance de Lendário Aumentada", "gachaTypeMove": "Chance de Movimento de Ovo Raro Aumentada", "gachaTypeShiny": "Chance de Shiny Aumentada", + "eventType": "Evento Misterioso", "selectMachine": "Escolha uma máquina.", "notEnoughVouchers": "Você não tem vouchers suficientes!", "tooManyEggs": "Você já tem muitos ovos!", @@ -23,4 +24,4 @@ "moveUPGacha": "Movimento\nde Ovo Bônus!", "shinyUPGacha": "Shiny Bônus!", "legendaryUPGacha": "Bônus!" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/filter-bar.json b/src/locales/pt_BR/filter-bar.json index 05898796d9f..45b17c33077 100644 --- a/src/locales/pt_BR/filter-bar.json +++ b/src/locales/pt_BR/filter-bar.json @@ -35,4 +35,4 @@ "sortByCandies": "# Doces", "sortByIVs": "IVs", "sortByName": "Nome" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/game-mode.json b/src/locales/pt_BR/game-mode.json index 9aa0f286959..674552bd923 100644 --- a/src/locales/pt_BR/game-mode.json +++ b/src/locales/pt_BR/game-mode.json @@ -5,4 +5,4 @@ "dailyRun": "Desafio Diário", "unknown": "Desconhecido", "challenge": "Desafio" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/game-stats-ui-handler.json b/src/locales/pt_BR/game-stats-ui-handler.json index eb36f484cc3..b473aa09c2f 100644 --- a/src/locales/pt_BR/game-stats-ui-handler.json +++ b/src/locales/pt_BR/game-stats-ui-handler.json @@ -39,4 +39,4 @@ "epicEggsPulled": "Ovos Épicos Ganhos", "legendaryEggsPulled": "Ovos Lendários Ganhos", "manaphyEggsPulled": "Ovos de Manaphy Ganhos" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/growth.json b/src/locales/pt_BR/growth.json index d9b11dc23c3..272856a006c 100644 --- a/src/locales/pt_BR/growth.json +++ b/src/locales/pt_BR/growth.json @@ -5,4 +5,4 @@ "Medium_Slow": "Meio Lento", "Slow": "Lento", "Fluctuating": "Muito Lento" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/menu.json b/src/locales/pt_BR/menu.json index 415796f91ed..97acc63400f 100644 --- a/src/locales/pt_BR/menu.json +++ b/src/locales/pt_BR/menu.json @@ -52,4 +52,4 @@ "rename": "Renomear", "nickname": "Apelido", "errorServerDown": "Opa! Não foi possível conectar-se ao servidor.\n\nVocê pode deixar essa janela aberta,\npois o jogo irá se reconectar automaticamente." -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/modifier-select-ui-handler.json b/src/locales/pt_BR/modifier-select-ui-handler.json index 4aef7f145ae..e741eaa5f21 100644 --- a/src/locales/pt_BR/modifier-select-ui-handler.json +++ b/src/locales/pt_BR/modifier-select-ui-handler.json @@ -8,5 +8,7 @@ "lockRaritiesDesc": "Trava a raridade dos itens na atualização (afeta o custo da atualização).", "checkTeamDesc": "Cheque seu time ou use um item de mudança de forma.", "rerollCost": "₽{{formattedMoney}}", - "itemCost": "₽{{formattedMoney}}" -} \ No newline at end of file + "itemCost": "₽{{formattedMoney}}", + "continueNextWaveButton": "Continuar", + "continueNextWaveDescription": "Continuar para a próxima onda" +} diff --git a/src/locales/pt_BR/modifier-type.json b/src/locales/pt_BR/modifier-type.json index f20a4ef3d0f..ae7a2cba93e 100644 --- a/src/locales/pt_BR/modifier-type.json +++ b/src/locales/pt_BR/modifier-type.json @@ -68,6 +68,20 @@ "BaseStatBoosterModifierType": { "description": "Aumenta o atributo base de {{stat}} em 10%. Quanto maior os IVs, maior o limite de aumento." }, + "PokemonBaseStatTotalModifierType": { + "name": "Suco Shuckle", + "description": "{{increaseDecrease}} todos os atributos base de quem o segurar por {{statValue}}. Você foi {{blessCurse}} por Shuckle.", + "extra": { + "increase": "Aumenta", + "decrease": "Diminui", + "blessed": "abençoado", + "cursed": "amaldiçoado" + } + }, + "PokemonBaseStatFlatModifierType": { + "name": "Doce Antigo", + "description": "Aumenta os atributos base de {{stats}} de quem o segurar por {{statValue}}. Encontrado depois de um sonho estranho." + }, "AllPokemonFullHpRestoreModifierType": { "description": "Restaura totalmente os PS de todos os Pokémon." }, @@ -252,11 +266,11 @@ "name": "Lentes de Mira", "description": "Estas lentes facilitam o foco em pontos fracos. Aumenta a chance de acerto crítico de quem a segurar." }, - "DIRE_HIT": { - "name": "Direto", - "extra": { - "raises": "Chance de Acerto Crítico" - } + "DIRE_HIT": { + "name": "Direto", + "extra": { + "raises": "Chance de Acerto Crítico" + } }, "LEEK": { "name": "Alho-poró", @@ -401,6 +415,24 @@ "ENEMY_FUSED_CHANCE": { "name": "Token de Fusão", "description": "Adiciona uma chance de 1% de que um Pokémon selvagem seja uma fusão." + }, + + "MYSTERY_ENCOUNTER_SHUCKLE_JUICE": { "name": "Suco Shuckle" }, + "MYSTERY_ENCOUNTER_BLACK_SLUDGE": { + "name": "Lodo Escuro", + "description": "O fedor é tão forte que as lojas só venderão itens com um grande aumento de custo." + }, + "MYSTERY_ENCOUNTER_MACHO_BRACE": { + "name": "Pulseira Macho", + "description": "Derrotar um Pokémon concede a quem segura uma pilha de Pulseira Macho. Cada pilha aumenta ligeiramente os atributos, com um bônus extra no máximo de pilhas." + }, + "MYSTERY_ENCOUNTER_OLD_GATEAU": { + "name": "Doce Antigo", + "description_pt": "Aumenta os atributos de {{stats}} de quem o segurar por {{statValue}}." + }, + "MYSTERY_ENCOUNTER_GOLDEN_BUG_NET": { + "name": "Rede de Insetos Dourada", + "description": "Concede ao dono sorte para encontrar Pokémon do tipo Inseto com mais frequência. Tem um peso estranho." } }, "SpeciesBoosterItem": { diff --git a/src/locales/pt_BR/modifier.json b/src/locales/pt_BR/modifier.json index 38622de579e..6d1a1222f73 100644 --- a/src/locales/pt_BR/modifier.json +++ b/src/locales/pt_BR/modifier.json @@ -9,4 +9,4 @@ "contactHeldItemTransferApply": "{{itemName}} de {{pokemonNameWithAffix}} foi pego(a)\npela {{typeName}} de {{pokemonName}}!", "enemyTurnHealApply": "{{pokemonNameWithAffix}}\nrestaurou um pouco de seus PS!", "bypassSpeedChanceApply": "{{pokemonName}} se move mais rápido que o normal graças à sua {{itemName}}!" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/move-trigger.json b/src/locales/pt_BR/move-trigger.json index ed8208cac6b..307364e1b55 100644 --- a/src/locales/pt_BR/move-trigger.json +++ b/src/locales/pt_BR/move-trigger.json @@ -4,11 +4,11 @@ "absorbedElectricity": "{{pokemonName}} absorveu eletricidade!", "switchedStatChanges": "{{pokemonName}} trocou as mudanças de atributo com o alvo!", "goingAllOutForAttack": "{{pokemonName}} está arriscando tudo nesse ataque!", - "regainedHealth": "{{pokemonName}} recuperou/nsaúde!", - "keptGoingAndCrashed": "{{pokemonName}} errou o alvo/ne se arrebentou!", + "regainedHealth": "{{pokemonName}} recuperou\nsaúde!", + "keptGoingAndCrashed": "{{pokemonName}} errou o alvo\ne se arrebentou!", "fled": "{{pokemonName}} fugiu!", "cannotBeSwitchedOut": "{{pokemonName}} não pode ser trocado!", - "swappedAbilitiesWithTarget": "{{pokemonName}} trocou/nde habilidades com o alvo!", + "swappedAbilitiesWithTarget": "{{pokemonName}} trocou\nde habilidades com o alvo!", "coinsScatteredEverywhere": "Moedas foram espalhadas por toda parte!", "attackedByItem": "{{pokemonName}} está prestes a ser atacado por {{itemName}}!", "whippedUpAWhirlwind": "{{pokemonName}} criou\num redemoinho de vento!", @@ -18,23 +18,23 @@ "loweredItsHead": "{{pokemonName}} abaixou sua cabeça!", "isGlowing": "{{pokemonName}} ficou envolto em uma luz forte!", "bellChimed": "Um sino tocou!", - "foresawAnAttack": "{{pokemonName}} previu/num ataque!", + "foresawAnAttack": "{{pokemonName}} previu\num ataque!", "isTighteningFocus": "{{pokemonName}} está\naumentando seu foco!", - "hidUnderwater": "{{pokemonName}} se escondeu/nembaixo d'água!", + "hidUnderwater": "{{pokemonName}} se escondeu\nembaixo d'água!", "soothingAromaWaftedThroughArea": "Um aroma suave se espalhou pelo ambiente!", "sprangUp": "{{pokemonName}} se levantou!", "choseDoomDesireAsDestiny": "{{pokemonName}} escolheu\no Desejo da Perdição como seu destino!", "vanishedInstantly": "{{pokemonName}} desapareceu\nde repente!", "tookTargetIntoSky": "{{pokemonName}} levou {{targetName}}\npara o céu!", - "becameCloakedInFreezingLight": "{{pokemonName}} ficou envolto/nem uma luz congelante!", - "becameCloakedInFreezingAir": "{{pokemonName}} ficou envolto/nem ar congelante!", + "becameCloakedInFreezingLight": "{{pokemonName}} ficou envolto\nem uma luz congelante!", + "becameCloakedInFreezingAir": "{{pokemonName}} ficou envolto\nem ar congelante!", "isChargingPower": "{{pokemonName}} está absorvendo energia!", "burnedItselfOut": "{{pokemonName}} apagou seu próprio fogo!", "startedHeatingUpBeak": "{{pokemonName}} começou\na esquentar seu bico!", "setUpShellTrap": "{{pokemonName}} armou uma armadilha de carapaça!", "isOverflowingWithSpacePower": "{{pokemonName}} está sobrecarregado\ncom energia espacial!", "usedUpAllElectricity": "{{pokemonName}} usou toda a sua eletricidade!", - "stoleItem": "{{pokemonName}} roubou/no(a) {{itemName}} de {{targetName}}!", + "stoleItem": "{{pokemonName}} roubou\no(a) {{itemName}} de {{targetName}}!", "incineratedItem": "{{pokemonName}} incinerou\na {{itemName}} de {{targetName}}!", "knockedOffItem": "{{pokemonName}} derrubou\no(a) {{itemName}} de {{targetName}}!", "tookMoveAttack": "{{pokemonName}} pegou\no movimento {{moveName}}!", diff --git a/src/locales/pt_BR/mystery-encounter-messages.json b/src/locales/pt_BR/mystery-encounter-messages.json new file mode 100644 index 00000000000..2c8b3738949 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounter-messages.json @@ -0,0 +1,7 @@ +{ + "paid_money": "Você pagou ₽{{amount, number}}.", + "receive_money": "Você recebeu ₽{{amount, number}}!", + "affects_pokedex": "Afeta Dados da Pokédex", + "cancel_option": "Voltar para a seleção de opções de encontro.", + "view_party_button": "Ver Equipe" +} diff --git a/src/locales/pt_BR/mystery-encounters/a-trainers-test-dialogue.json b/src/locales/pt_BR/mystery-encounters/a-trainers-test-dialogue.json new file mode 100644 index 00000000000..f80e7771cc1 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/a-trainers-test-dialogue.json @@ -0,0 +1,47 @@ +{ + "intro": "Um treinador extremamente forte se aproxima de você...", + "buck": { + "intro_dialogue": "Ei, treinador! Meu nome é Buck. Tenho uma proposta super incrível para um treinador tão forte quanto você! Estou carregando dois Ovos de Pokémon raros comigo, mas gostaria que alguém cuidasse de um deles. Se você conseguir provar sua força como treinador para mim, te darei o ovo mais raro!", + "accept": "Uhul, estou ficando empolgado!", + "decline": "Droga, parece que seu time\nnão está em plena forma. Aqui, deixe-me ajudar com isso." + }, + "cheryl": { + "intro_dialogue": "Olá, meu nome é Cheryl. Tenho um pedido particularmente interessante para um treinador forte como você. Estou carregando dois Ovos de Pokémon raros comigo, mas gostaria que alguém cuidasse de um deles. Se você conseguir provar sua força como treinador para mim, te darei o Ovo mais raro!", + "accept": "Espero que esteja preparado!", + "decline": "Eu entendo, parece que seu time não\nestá nas melhores condições no momento. Aqui, deixe-me ajudar com isso." + }, + "marley": { + "intro_dialogue": "...@d{64} Eu sou a Marley.$Tenho uma oferta para você...$Estou carregando dois Ovos de Pokémon comigo,\nmas gostaria que alguém cuidasse de um deles.$Se você for mais forte que eu,\nte darei o Ovo mais raro.", + "accept": "... Entendo.", + "decline": "... Entendo.$Seus Pokémon parecem machucados...\nDeixe-me ajudar." + }, + "mira": { + "intro_dialogue": "Oi! Eu sou a Mira!$A Mira tem um pedido\npara um treinador forte como você!$A Mira tem dois Ovos de Pokémon raros,\nmas a Mira quer que alguém cuide de um!$Se você mostrar à Mira que é forte,\na Mira te dará o Ovo mais raro!", + "accept": "Você vai lutar contra a Mira?\nYay!", + "decline": "Aww, sem batalha?\nTudo bem!$Aqui, a Mira vai curar seu time!" + }, + "riley": { + "intro_dialogue": "Eu sou o Riley.$Tenho uma proposta estranha\npara um treinador forte como você.$Estou carregando dois Ovos de Pokémon raros comigo,\nmas gostaria de dar um a outro treinador.$Se você puder provar sua força para mim,\neu lhe darei o Ovo mais raro!", + "accept": "Esse olhar que você tem...\nVamos fazer isso.", + "decline": "Entendo, seu time parece exausto.$Deixe-me ajudá-lo com isso." + }, + "title": "O Teste de um Treinador", + "description": "Parece que este treinador está disposto a lhe dar um Ovo independentemente da sua decisão. No entanto, se você conseguir derrotar este treinador forte, receberá um Ovo muito mais raro.", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Aceitar o Desafio", + "tooltip": "(-) Batalha Difícil\n(+) Ganhe um @[TOOLTIP_TITLE]{Ovo Muito Raro}" + }, + "2": { + "label": "Recusar o Desafio", + "tooltip": "(+) Curar Todo o Time\n(+) Ganhe um @[TOOLTIP_TITLE]{Ovo}" + } + }, + "eggTypes": { + "rare": "um Ovo Raro", + "epic": "um Ovo Épico", + "legendary": "um Ovo Lendário" + }, + "outro": "{{statTrainerName}} lhe deu {{eggType}}!" +} diff --git a/src/locales/pt_BR/mystery-encounters/absolute-avarice-dialogue.json b/src/locales/pt_BR/mystery-encounters/absolute-avarice-dialogue.json new file mode 100644 index 00000000000..85123330f4b --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/absolute-avarice-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "Um {{greedentName}} te embosca\ne rouba as Frutas do seu time!", + "title": "Ganância Absoluta", + "description": "Um {{greedentName}} te pegou completamente desprevenido e agora todas as suas Frutas se foram!\n\nA {{greedentName}} parece prestes a comê-las quando para para te olhar, interessado.", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Batalhar", + "tooltip": "(-) Batalha Difícil\n(+) Recompensas do Tesouro de Frutas", + "selected": "Um {{greedentName}} enche suas bochechas\ne se prepara para a batalha!", + "boss_enraged": "O amor feroz de {{greedentName}} por comida o deixou enfurecido!", + "food_stash": "Parece que o {{greedentName}} estava guardando um enorme estoque de comida!$@s{item_fanfare}Cada Pokémon do seu time ganha um {{foodReward}}!" + }, + "2": { + "label": "Resolver com Ele", + "tooltip": "(+) Recuperar Algumas Frutas Perdidas", + "selected": "Seu apelo toca o coração de {{greedentName}}.$Ele não devolve todas as suas Frutas, mas joga algumas na sua direção." + }, + "3": { + "label": "Deixá-lo Ficar com a Comida", + "tooltip": "(-) Perder Todas as Frutas\n(?) O {{greedentName}} Vai Gostar de Você", + "selected": "O {{greedentName}} devora todo o\nestoque de Frutas num piscar de olhos!$Bate na barriga satisfeito\ne olha para você agradecido.$Talvez você possa alimentá-lo\ncom mais Frutas em sua aventura...$@s{level_up_fanfare}O {{greedentName}} quer se juntar ao seu time!" + } + } +} diff --git a/src/locales/pt_BR/mystery-encounters/an-offer-you-cant-refuse-dialogue.json b/src/locales/pt_BR/mystery-encounters/an-offer-you-cant-refuse-dialogue.json new file mode 100644 index 00000000000..059664b9c07 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/an-offer-you-cant-refuse-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Um garoto de aparência rica te para.", + "speaker": "Garoto Rico", + "intro_dialogue": "Bom dia para você.$Não pude deixar de notar que seu\n{{strongestPokemon}} parece absolutamente divino!$Sempre quis ter um Pokémon assim!$Eu te pagaria generosamente,\ne também te daria este velho amuleto!", + "title": "Uma Oferta Irrecusável", + "description": "Você está sendo oferecido um @[TOOLTIP_TITLE]{Amuleto Brilhante} e {{price, money}} pelo seu {{strongestPokemon}}!\n\nÉ um negócio extremamente bom, mas será que você pode realmente se desfazer de um membro tão forte do seu time?", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Aceitar o Acordo", + "tooltip": "(-) Perder {{strongestPokemon}}\n(+) Ganhar um @[TOOLTIP_TITLE]{Amuleto Brilhante}\n(+) Ganhar {{price, money}}", + "selected": "Maravilhoso!@d{32} Venha comigo, {{strongestPokemon}}!$É hora de mostrá-lo para todos no clube de iates!$Eles ficarão com tanta inveja!" + }, + "2": { + "label": "Extorquir o Garoto", + "tooltip": "(+) {{option2PrimaryName}} usa {{moveOrAbility}}\n(+) Ganhar {{price, money}}", + "tooltip_disabled": "Seus Pokémon precisam ter certos golpes ou habilidades para escolher isso", + "selected": "Minha nossa, estamos sendo roubados, {{liepardName}}!$Você vai ouvir falar dos meus advogados por isso!" + }, + "3": { + "label": "Sair", + "tooltip": "(-) Sem Recompensas", + "selected": "Que dia horrível...$Bem, vamos voltar ao clube de iates então, {{liepardName}}." + } + } +} diff --git a/src/locales/pt_BR/mystery-encounters/berries-abound-dialogue.json b/src/locales/pt_BR/mystery-encounters/berries-abound-dialogue.json new file mode 100644 index 00000000000..5a3a30d0bd3 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/berries-abound-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Há um enorme arbusto de frutas\nperto daquele Pokémon!", + "title": "Frutas em Abundância", + "description": "Parece que há um Pokémon forte guardando um arbusto de frutas. Batalhar é a abordagem mais direta, mas ele parece ser forte. Talvez um Pokémon rápido consiga pegar algumas frutas sem ser pego?", + "query": "O que você vai fazer?", + "berries": "Frutas!", + "option": { + "1": { + "label": "Batalhar com o Pokémon", + "tooltip": "(-) Batalha Difícil\n(+) Ganhar Frutas", + "selected": "Você se aproxima do\nPokémon sem medo." + }, + "2": { + "label": "Correr para o Arbusto", + "tooltip": "(-) {{fastestPokemon}} Usa sua Velocidade\n(+) Ganhar Frutas", + "selected": "Seu {{fastestPokemon}} corre em direção ao arbusto de frutas!$Ele consegue pegar {{numBerries}} antes que o {{enemyPokemon}} possa reagir!$Você rapidamente recua com seu novo prêmio.", + "selected_bad": "Seu {{fastestPokemon}} corre em direção ao arbusto de frutas!$Oh não! O {{enemyPokemon}} foi mais rápido e bloqueou o caminho!", + "boss_enraged": "O Pokémon oponente, {{enemyPokemon}}, ficou furioso!" + }, + "3": { + "label": "Sair", + "tooltip": "(-) Sem Recompensas", + "selected": "Você deixa o Pokémon forte\ncom seu prêmio e segue em frente." + } + } +} diff --git a/src/locales/pt_BR/mystery-encounters/bug-type-superfan-dialogue.json b/src/locales/pt_BR/mystery-encounters/bug-type-superfan-dialogue.json new file mode 100644 index 00000000000..62244eee918 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/bug-type-superfan-dialogue.json @@ -0,0 +1,40 @@ +{ + "intro": "Um treinador incomum com todo tipo de parafernália de Pokémon Inseto bloqueia seu caminho!", + "intro_dialogue": "Ei, treinador! Estou em uma missão para encontrar o Pokémon Inseto mais raro que existe!$Você deve amar Pokémon Inseto também, certo?\nTodo mundo ama Pokémon Inseto!", + "title": "O Superfã dos Pokémon Inseto", + "speaker": "Superfã de Pokémon Inseto", + "description": "O treinador tagarela, nem sequer esperando uma resposta...\n\nParece que a única maneira de sair dessa situação é chamar a atenção do treinador!", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Oferecer uma Batalha", + "tooltip": "(-) Batalha Desafiadora\n(+) Ensinar um Movimento de Tipo Inseto a um Pokémon", + "selected": "Um desafio, hein?\nMeus insetos estão mais do que prontos para você!" + }, + "2": { + "label": "Mostrar Seus Tipos Inseto", + "tooltip": "(+) Receber um Item de Presente", + "disabled_tooltip": "Você precisa de pelo menos 1 Pokémon do Tipo Inseto no seu time para selecionar isso.", + "selected": "Você mostra todos os seus Pokémon do Tipo Inseto ao treinador...", + "selected_0_to_1": "Hã? Você só tem {{numBugTypes}}...$Acho que estou perdendo meu tempo com alguém como você...", + "selected_2_to_3": "Ei, você tem {{numBugTypes}}!\nNada mal.$Aqui, isso pode te ajudar na sua jornada para capturar mais!", + "selected_4_to_5": "O quê? Você tem {{numBugTypes}}?\nLegal!$Você ainda não está no meu nível, mas consigo ver uma sombra de mim mesmo em você!\n$Leve isso, meu jovem aprendiz!", + "selected_6": "Uau! {{numBugTypes}}!\n$Você deve amar Pokémon do Tipo Inseto quase tanto quanto eu!$Aqui, leve isso como um símbolo de nossa camaradagem!" + }, + "3": { + "label": "Presentear com um Item de Inseto", + "tooltip": "(-) Dar ao treinador um {{requiredBugItems}}\n(+) Receber um Item de Presente", + "disabled_tooltip": "Você precisa ter um {{requiredBugItems}} para selecionar isso.", + "select_prompt": "Selecione um item para dar.", + "invalid_selection": "Esse Pokémon não possui esse tipo de item.", + "selected": "Você entrega ao treinador um {{selectedItem}}.", + "selected_dialogue": "Uau! Um {{selectedItem}}, para mim?\nVocê não é tão ruim, garoto!$Como símbolo do meu apreço,\nquero que você receba este presente especial!$Ele foi passado por toda a minha família, e agora eu quero que você o tenha!" + } + }, + "battle_won": "Seu conhecimento e habilidade foram perfeitos para explorar nossas fraquezas!$Em troca pela valiosa lição,\ndeixe-me ensinar a um dos seus Pokémon um Movimento de Tipo Inseto!", + "teach_move_prompt": "Selecione um movimento para ensinar a um Pokémon.", + "confirm_no_teach": "Tem certeza de que não quer aprender um desses ótimos movimentos?", + "outro": "Vejo grandes Pokémon Inseto no seu futuro!\nQue nossos caminhos se cruzem novamente!$Saia zunindo!", + "numBugTypes_one": "{{count}} Tipo Inseto", + "numBugTypes_other": "{{count}} Tipos Inseto" +} diff --git a/src/locales/pt_BR/mystery-encounters/clowning-around-dialogue.json b/src/locales/pt_BR/mystery-encounters/clowning-around-dialogue.json new file mode 100644 index 00000000000..83bf85aa0f7 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/clowning-around-dialogue.json @@ -0,0 +1,34 @@ +{ + "intro": "É...@d{64} um palhaço?", + "speaker": "Palhaço", + "intro_dialogue": "Pateta trapalhão, prepare-se para uma batalha brilhante!\nVocê será derrotado por este artista de rua brigão!", + "title": "Brincando de Palhaço", + "description": "Algo está estranho nesse encontro. O palhaço parece ansioso para provocá-lo a entrar em uma batalha, mas com que objetivo?\n\nO {{blacephalonName}} é especialmente estranho, como se tivesse @[TOOLTIP_TITLE]{tipos e habilidade esquisitos.}", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Batalhar com o Palhaço", + "tooltip": "(-) Batalha Estranha\n(?) Afeta Habilidades dos Pokémon", + "selected": "Seus Pokémon patéticos estão preparados para uma performance patética!", + "apply_ability_dialogue": "Um espetáculo sensacional!\nSeu conhecimento garante uma habilidade sensacional como recompensa!", + "apply_ability_message": "O palhaço está oferecendo para trocar permanentemente a habilidade de um dos seus Pokémon por {{ability}}!", + "ability_prompt": "Você gostaria de ensinar permanentemente a habilidade {{ability}} a um Pokémon?", + "ability_gained": "@s{level_up_fanfare}{{chosenPokemon}} adquiriu a habilidade {{ability}}!" + }, + "2": { + "label": "Não Se Provocar", + "tooltip": "(-) Irrita o Palhaço\n(?) Afeta os Itens dos Pokémon", + "selected": "Covarde dissimulado, você nega um duelo delicioso?\nSinta minha fúria!", + "selected_2": "O {{blacephalonName}} do palhaço usa Trick!\nTodos os itens de {{switchPokemon}} foram trocados aleatoriamente!", + "selected_3": "Tolo frustrado, caia na minha enganação impecável!" + }, + "3": { + "label": "Retrucar os Insultos", + "tooltip": "(-) Irrita o Palhaço\n(?) Afeta os Tipos dos Pokémon", + "selected": "Covarde dissimulado, você nega um duelo delicioso?\nSinta minha fúria!", + "selected_2": "O {{blacephalonName}} do palhaço usa um movimento estranho!\nTodos os tipos da sua equipe foram trocados aleatoriamente!", + "selected_3": "Tolo frustrado, caia na minha enganação impecável!" + } + }, + "outro": "O palhaço e seus companheiros\ndesaparecem em uma nuvem de fumaça." +} diff --git a/src/locales/pt_BR/mystery-encounters/dancing-lessons-dialogue.json b/src/locales/pt_BR/mystery-encounters/dancing-lessons-dialogue.json new file mode 100644 index 00000000000..5769de91ea5 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/dancing-lessons-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Um {{oricorioName}} dança tristemente sozinho, sem um parceiro.", + "title": "Aulas de Dança", + "description": "O {{oricorioName}} não parece agressivo, na verdade parece triste.\n\nTalvez ele só queira alguém para dançar junto...", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Batalhar", + "tooltip": "(-) Batalha Difícil\n(+) Ganhar um Bastão", + "selected": "O {{oricorioName}} está angustiado e se move para se defender!", + "boss_enraged": "O medo do {{oricorioName}} aumentou suas atributos!" + }, + "2": { + "label": "Aprender Sua Dança", + "tooltip": "(+) Ensinar Revelation Dance a um Pokémon", + "selected": "Você observa o {{oricorioName}} de perto enquanto ele realiza sua dança...$@s{level_up_fanfare}Seu {{selectedPokemon}} aprendeu com o {{oricorioName}}!" + }, + "3": { + "label": "Mostrar uma Dança", + "tooltip": "(-) Ensinar um Movimento de Dança ao {{oricorioName}}\n(+) O {{oricorioName}} Vai Gostar de Você", + "disabled_tooltip": "Seus Pokémon precisam conhecer um movimento de Dança para isso.", + "select_prompt": "Selecione um movimento de tipo Dança para usar.", + "selected": "O {{oricorioName}} observa fascinado enquanto\n{{selectedPokemon}} exibe {{selectedMove}}!$Ele adora a apresentação!$@s{level_up_fanfare}O {{oricorioName}} quer se juntar ao seu time!" + } + }, + "invalid_selection": "Este Pokémon não conhece um movimento de Dança" +} diff --git a/src/locales/pt_BR/mystery-encounters/dark-deal-dialogue.json b/src/locales/pt_BR/mystery-encounters/dark-deal-dialogue.json new file mode 100644 index 00000000000..5f0800d15d2 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/dark-deal-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "Um homem estranho com um casaco esfarrapado\nbloqueia seu caminho...", + "speaker": "Cara Sombrio", + "intro_dialogue": "Ei, você!$Tenho trabalhado em um novo dispositivo\npara trazer à tona o poder latente de um Pokémon!$Ele reorganiza completamente os átomos do Pokémon\nem nível molecular, tornando-o muito mais poderoso.$Hehe...@d{64} Só preciso de alguns volunt-@d{32}\nErr, sujeitos de teste, para provar que funciona.", + "title": "Acordo Sombrio", + "description": "O sujeito perturbador levanta algumas Pokébolas.\n\"Vou fazer valer a pena! Você pode ficar com estas Pokébolas fortes como pagamento, só preciso de um Pokémon da sua equipe! Hehe...\"", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Aceitar", + "tooltip": "(+) 5 Bolas Desonestas\n(?) Melhorar um Pokémon Aleatório", + "selected_dialogue": "Vamos ver, aquele {{pokeName}} serve muito bem!$Lembre-se, não sou responsável\nse algo de ruim acontecer!@d{32} Hehe...", + "selected_message": "O homem te entrega 5 Bolas Desonestas.${{pokeName}} pula na máquina estranha...$Luzes piscando e sons estranhos\ncomeçam a sair da máquina!$...@d{96} Algo emerge\ndo dispositivo, enfurecido!" + }, + "2": { + "label": "Recusar", + "tooltip": "(-) Sem Recompensas", + "selected": "Não vai ajudar um pobre coitado?\nBah!" + } + }, + "outro": "Após o encontro aterrorizante,\nvocê se recompõe e parte." +} diff --git a/src/locales/pt_BR/mystery-encounters/delibirdy-dialogue.json b/src/locales/pt_BR/mystery-encounters/delibirdy-dialogue.json new file mode 100644 index 00000000000..a1ac79681d0 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/delibirdy-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Um bando de {{delibirdName}} apareceu!", + "title": "Delibir-dy", + "description": "Os {{delibirdName}} estão te olhando com expectativa, como se quisessem algo. Talvez dar a eles um item ou um pouco de dinheiro os satisfaça?", + "query": "O que você vai dar a eles?", + "invalid_selection": "O Pokémon não tem esse tipo de item.", + "option": { + "1": { + "label": "Dar Dinheiro", + "tooltip": "(-) Dar aos {{delibirdName}} {{money, money}}\n(+) Receber um Item de Presente", + "selected": "Você joga o dinheiro para os {{delibirdName}},\nque conversam entre si animadamente.$Eles se viram para você e alegremente te dão um presente!" + }, + "2": { + "label": "Dar Comida", + "tooltip": "(-) Dar aos {{delibirdName}} uma Fruta ou Semente Reanimadora\n(+) Receber um Item de Presente", + "select_prompt": "Selecione um item para dar.", + "selected": "Você joga a {{chosenItem}} para os {{delibirdName}},\nque conversam entre si animadamente.$Eles se viram para você e alegremente te dão um presente!" + }, + "3": { + "label": "Dar um Item", + "tooltip": "(-) Dar aos {{delibirdName}} um Item Segurado\n(+) Receber um Item de Presente", + "select_prompt": "Selecione um item para dar.", + "selected": "Você joga o(a) {{chosenItem}} para os {{delibirdName}},\nque conversam entre si animadamente.$Eles se viram para você e alegremente te dão um presente!" + } + }, + "outro": "O bando de {{delibirdName}} sai alegremente andando para longe.$Que troca curiosa!" +} diff --git a/src/locales/pt_BR/mystery-encounters/department-store-sale-dialogue.json b/src/locales/pt_BR/mystery-encounters/department-store-sale-dialogue.json new file mode 100644 index 00000000000..c7a85c811aa --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/department-store-sale-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "É uma senhora com um monte de sacolas de compras.", + "speaker": "Compradora", + "intro_dialogue": "Olá! Você também está aqui\npelas vendas incríveis?$Há um cupom especial que você pode\nresgatar por um item grátis durante a venda!$Eu tenho um extra. Aqui está!", + "title": "Venda na Loja de Departamentos", + "description": "Há mercadorias em todas as direções! Parece que há 4 balcões onde você pode resgatar o cupom por vários itens. As possibilidades são infinitas!", + "query": "Em qual balcão você vai?", + "option": { + "1": { + "label": "Balcão de TMs", + "tooltip": "(+) Loja de TMs" + }, + "2": { + "label": "Balcão de Vitaminas", + "tooltip": "(+) Loja de Vitaminas" + }, + "3": { + "label": "Balcão de Itens de Batalha", + "tooltip": "(+) Loja de Itens X" + }, + "4": { + "label": "Balcão de Pokébolas", + "tooltip": "(+) Loja de Pokébolas" + } + }, + "outro": "Que barganha! Você deveria comprar lá mais vezes." +} diff --git a/src/locales/pt_BR/mystery-encounters/field-trip-dialogue.json b/src/locales/pt_BR/mystery-encounters/field-trip-dialogue.json new file mode 100644 index 00000000000..4c3dd45fe3f --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/field-trip-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "É uma professora e algumas crianças da escola!", + "speaker": "Professora", + "intro_dialogue": "Olá! Você poderia\nnos dar um minutinho para meus alunos?$Estou ensinando a eles sobre movimentos de Pokémon\ne adoraria mostrar uma demonstração.$Você se importaria de nos mostrar um\ndos movimentos que seu Pokémon pode usar?", + "title": "Excursão", + "description": "Uma professora está pedindo uma demonstração de movimentos de um Pokémon. Dependendo do movimento que você escolher, ela pode ter algo útil para te dar em troca.", + "query": "Qual categoria de movimento você vai mostrar?", + "option": { + "1": { + "label": "Um Movimento Físico", + "tooltip": "(+) Recompensas de Itens Físicos" + }, + "2": { + "label": "Um Movimento Especial", + "tooltip": "(+) Recompensas de Itens Especiais" + }, + "3": { + "label": "Um Movimento de Status", + "tooltip": "(+) Recompensas de Itens de Status" + }, + "selected": "{{pokeName}} faz uma exibição incrível de {{move}}!" + }, + "second_option_prompt": "Escolha um movimento para seu Pokémon usar.", + "incorrect": "...$Esse não é um movimento de {{moveCategory}}!\nSinto muito, mas não posso te dar nada.$Vamos, crianças, encontraremos\numa demonstração melhor em outro lugar.", + "incorrect_exp": "Parece que você aprendeu uma lição valiosa?$Seu Pokémon também ganhou um pouco de experiência.", + "correct": "Muito obrigada pela sua gentileza!\nEspero que esses itens sejam úteis para você!", + "correct_exp": "{{pokeName}} também ganhou uma valiosa experiência!", + "status": "Status", + "physical": "Físico", + "special": "Especial" +} diff --git a/src/locales/pt_BR/mystery-encounters/fiery-fallout-dialogue.json b/src/locales/pt_BR/mystery-encounters/fiery-fallout-dialogue.json new file mode 100644 index 00000000000..24c601e8e1e --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/fiery-fallout-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Você encontra uma tempestade abrasadora de fumaça e cinzas!", + "title": "Rescaldo Ardente", + "description": "As cinzas e brasas rodopiantes reduziram a visibilidade a quase zero. Parece que pode haver alguma... fonte causando essas condições. Mas o que poderia estar por trás de um fenômeno dessa magnitude?", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Encontrar a Fonte", + "tooltip": "(?) Descobrir a fonte\n(-) Batalha Difícil", + "selected": "Você avança pela tempestade e encontra dois {{volcaronaName}}s no meio de uma dança de acasalamento!$Eles não gostam da interrupção e atacam!" + }, + "2": { + "label": "Abaixar-se e Esperar", + "tooltip": "(-) Sofrer os efeitos do clima", + "selected": "Os efeitos climáticos causam um dano significativo\nenquanto você luta para encontrar abrigo!$Seu grupo perde 20% de PS Máximo!", + "target_burned": "Seu {{burnedPokemon}} também foi queimado!" + }, + "3": { + "label": "Seus Tipos Fogo Ajudam", + "tooltip": "(+) Encerrar as condições\n(+) Ganhar um Carvão", + "disabled_tooltip": "Você precisa de pelo menos 2 Pokémon do Tipo Fogo para escolher esta opção", + "selected": "Seu {{option3PrimaryName}} e {{option3SecondaryName}} guiam você até onde dois {{volcaronaName}}s estão no meio de uma dança de acasalamento!$Felizmente, seus Pokémon conseguem acalmá-los,\ne eles partem sem problemas." + } + }, + "found_charcoal": "Após o clima limpar,\nseu {{leadPokemon}} vê algo no chão.$@s{item_fanfare}{{leadPokemon}} encontrou um Carvão!" +} diff --git a/src/locales/pt_BR/mystery-encounters/fight-or-flight-dialogue.json b/src/locales/pt_BR/mystery-encounters/fight-or-flight-dialogue.json new file mode 100644 index 00000000000..f90868e6045 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/fight-or-flight-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "Algo brilhante está cintilando\nno chão perto daquele Pokémon!", + "title": "Lutar ou Fugir", + "description": "Parece que há um Pokémon forte guardando um item. Batalhar é a abordagem mais direta, mas ele parece ser forte. Talvez você possa roubar o item, se tiver o Pokémon certo para o trabalho.", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Batalhar com o Pokémon", + "tooltip": "(-) Batalha Difícil\n(+) Novo Item", + "selected": "Você se aproxima do\nPokémon sem medo.", + "stat_boost": "A força latente do {{enemyPokemon}} aumentou um de seus atributos!" + }, + "2": { + "label": "Roubar o Item", + "disabled_tooltip": "Seus Pokémon precisam conhecer certos movimentos para escolher isso", + "tooltip": "(+) {{option2PrimaryName}} usa {{option2PrimaryMove}}", + "selected": ".@d{32}.@d{32}.@d{32}$Seu {{option2PrimaryName}} te ajuda e usa {{option2PrimaryMove}}!$Você conseguiu pegar o item!" + }, + "3": { + "label": "Sair", + "tooltip": "(-) Sem Recompensas", + "selected": "Você deixa o Pokémon forte\ncom seu prêmio e segue em frente." + } + } +} diff --git a/src/locales/pt_BR/mystery-encounters/fun-and-games-dialogue.json b/src/locales/pt_BR/mystery-encounters/fun-and-games-dialogue.json new file mode 100644 index 00000000000..d3fd98f5d7f --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/fun-and-games-dialogue.json @@ -0,0 +1,30 @@ +{ + "intro_dialogue": "Venham, venham, pessoal! Tentem a sorte\nno novíssimo {{wobbuffetName}} Bate-o-mático!", + "speaker": "Animador", + "title": "Diversão e Jogos!", + "description": "Você encontrou um show itinerante com um jogo de prêmios! Você terá @[TOOLTIP_TITLE]{3 turnos} para deixar o {{wobbuffetName}} o mais próximo possível de @[TOOLTIP_TITLE]{1 PS} @[TOOLTIP_TITLE]{sem nocauteá-lo} para que ele possa carregar um grande Counter na máquina de tocar o sino.\nMas cuidado! Se você nocautear o {{wobbuffetName}}, terá que pagar o custo de revivê-lo!", + "query": "Gostaria de jogar?", + "option": { + "1": { + "label": "Jogar", + "tooltip": "(-) Pagar {{option1Money, money}}\n(+) Jogar {{wobbuffetName}} Bate-o-mático", + "selected": "Hora de testar sua sorte!" + }, + "2": { + "label": "Sair", + "tooltip": "(-) Sem Recompensas", + "selected": "Você segue seu caminho apressadamente,\ncom uma leve sensação de arrependimento." + } + }, + "ko": "Oh não! O {{wobbuffetName}} desmaiou!$Você perdeu o jogo e\nterá que pagar o custo da reanimação...", + "charging_continue": "O Wobbuffet continua carregando seu contra-ataque!", + "turn_remaining_3": "Restam três turnos!", + "turn_remaining_2": "Restam dois turnos!", + "turn_remaining_1": "Resta um turno!", + "end_game": "O tempo acabou!$O {{wobbuffetName}} se prepara para o contra-ataque e@d{16}.@d{16}.@d{16}.", + "best_result": "O {{wobbuffetName}} bate o botão com tanta força\nque o sino se quebra no topo!$Você ganhou o grande prêmio!", + "great_result": "O {{wobbuffetName}} bate o botão, quase acertando o sino!$Tão perto!\nVocê ganhou o prêmio de segundo nível!", + "good_result": "O {{wobbuffetName}} bate o botão com força suficiente para chegar no meio da escala!$Você ganhou o prêmio de terceiro nível!", + "bad_result": "O {{wobbuffetName}} mal toca o botão e nada acontece...$Oh não!\nVocê não ganhou nada!", + "outro": "Esse foi um joguinho divertido!" +} diff --git a/src/locales/pt_BR/mystery-encounters/global-trade-system-dialogue.json b/src/locales/pt_BR/mystery-encounters/global-trade-system-dialogue.json new file mode 100644 index 00000000000..d9866d64c7f --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/global-trade-system-dialogue.json @@ -0,0 +1,32 @@ +{ + "intro": "É uma interface para o Sistema de Troca Global!", + "title": "O GTS", + "description": "Ah, o GTS! Uma maravilha tecnológica, você pode se conectar com qualquer pessoa ao redor do mundo para trocar Pokémon com ela! Será que a sorte vai sorrir para sua troca hoje?", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Ver Ofertas de Troca", + "tooltip": "(+) Selecionar uma oferta de troca para um dos seus Pokémon", + "trade_options_prompt": "Selecione um Pokémon para receber através da troca." + }, + "2": { + "label": "Troca Surpresa", + "tooltip": "(+) Envie um dos seus Pokémon para o GTS e receba um Pokémon aleatório em troca" + }, + "3": { + "label": "Trocar um Item", + "trade_options_prompt": "Selecione um item para enviar.", + "invalid_selection": "Este Pokémon não possui itens válidos para troca.", + "tooltip": "(+) Envie um dos seus Itens para o GTS e receba um novo Item aleatório" + }, + "4": { + "label": "Sair", + "tooltip": "(-) Sem Recompensas", + "selected": "Sem tempo para trocas hoje!\nVocê segue em frente." + } + }, + "pokemon_trade_selected": "{{tradedPokemon}} será enviado para {{tradeTrainerName}}.", + "pokemon_trade_goodbye": "Adeus, {{tradedPokemon}}!", + "item_trade_selected": "{{chosenItem}} será enviado para {{tradeTrainerName}}.$.@d{64}.@d{64}.@d{64}\n@s{level_up_fanfare}Troca concluída!$Você recebeu um {{itemName}} de {{tradeTrainerName}}!", + "trade_received": "@s{evolution_fanfare}{{tradeTrainerName}} enviou um {{received}}!" +} diff --git a/src/locales/pt_BR/mystery-encounters/lost-at-sea-dialogue.json b/src/locales/pt_BR/mystery-encounters/lost-at-sea-dialogue.json new file mode 100644 index 00000000000..86502fc06cd --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/lost-at-sea-dialogue.json @@ -0,0 +1,28 @@ +{ + "intro": "Vagando sem rumo pelo mar, você efetivamente não chegou a lugar nenhum.", + "title": "Perdido no Mar", + "description": "O mar está turbulento nesta área, e você está ficando sem energia.\nIsso é ruim. Haverá uma saída para essa situação?", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "{{option1PrimaryName}} Pode Ajudar", + "label_disabled": "Não pode {{option1RequiredMove}}", + "tooltip": "(+) {{option1PrimaryName}} te salva\n(+) {{option1PrimaryName}} ganha um pouco de EXP", + "tooltip_disabled": "Você não tem um Pokémon que possa {{option1RequiredMove}}", + "selected": "{{option1PrimaryName}} nada à frente, guiando você de volta ao caminho.${{option1PrimaryName}} parece ter ficado mais forte nesse momento de necessidade!" + }, + "2": { + "label": "{{option2PrimaryName}} Pode Ajudar", + "label_disabled": "Não pode {{option2RequiredMove}}", + "tooltip": "(+) {{option2PrimaryName}} te salva\n(+) {{option2PrimaryName}} ganha um pouco de EXP", + "tooltip_disabled": "Você não tem um Pokémon que possa {{option2RequiredMove}}", + "selected": "{{option2PrimaryName}} voa à frente do seu barco, guiando você de volta ao caminho.${{option2PrimaryName}} parece ter ficado mais forte nesse momento de necessidade!" + }, + "3": { + "label": "Vaguear Sem Rumo", + "tooltip": "(-) Cada um dos seus Pokémon perde {{damagePercentage}}% de seus PS totais", + "selected": "Você flutua no barco, navegando sem direção até finalmente avistar um ponto de referência que você se lembra.$Você e seus Pokémon estão exaustos de toda a provação." + } + }, + "outro": "Você está de volta ao caminho." +} diff --git a/src/locales/pt_BR/mystery-encounters/mysterious-challengers-dialogue.json b/src/locales/pt_BR/mystery-encounters/mysterious-challengers-dialogue.json new file mode 100644 index 00000000000..3d6a6744f2e --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/mysterious-challengers-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "Desafiantes misteriosos apareceram!", + "title": "Desafiantes Misteriosos", + "description": "Se você derrotar um desafiante, pode impressioná-los o suficiente para receber uma recompensa. Mas alguns parecem fortes, você está à altura do desafio?", + "query": "Quem você vai enfrentar?", + "option": { + "1": { + "label": "Um Oponente Astuto e Atento", + "tooltip": "(-) Batalha Padrão\n(+) Recompensas de Itens de Movimento" + }, + "2": { + "label": "Um Oponente Forte", + "tooltip": "(-) Batalha Difícil\n(+) Boas Recompensas" + }, + "3": { + "label": "O Oponente Mais Poderoso", + "tooltip": "(-) Batalha Brutal\n(+) Grandes Recompensas" + }, + "selected": "O treinador dá um passo à frente..." + }, + "outro": "O desafiante misterioso foi derrotado!" +} diff --git a/src/locales/pt_BR/mystery-encounters/mysterious-chest-dialogue.json b/src/locales/pt_BR/mystery-encounters/mysterious-chest-dialogue.json new file mode 100644 index 00000000000..b2541f2c82a --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/mysterious-chest-dialogue.json @@ -0,0 +1,23 @@ +{ + "intro": "Você encontrou...@d{32} um baú?", + "title": "O Baú Misterioso", + "description": "Um baú lindamente decorado está no chão. Deve haver algo bom dentro... certo?", + "query": "Você vai abri-lo?", + "option": { + "1": { + "label": "Abrir", + "tooltip": "@[SUMMARY_BLUE]{({{trapPercent}}%) Algo terrível}\n@[SUMMARY_GREEN]{({{commonPercent}}%) Recompensas razoáveis}\n@[SUMMARY_GREEN]{({{ultraPercent}}%) Boas Recompensas}\n@[SUMMARY_GREEN]{({{roguePercent}}%) Ótimas Recompensas}\n@[SUMMARY_GREEN]{({{masterPercent}}%) Recompensas Incríveis}", + "selected": "Você abre o baú e encontra...", + "normal": "Apenas algumas ferramentas e itens normais.", + "good": "Algumas ferramentas e itens bem legais.", + "great": "Algumas ferramentas e itens ótimos!", + "amazing": "Uau! Um item incrível!", + "bad": "Oh não!@d{32}\nO baú era na verdade um {{gimmighoulName}} disfarçado!$Seu {{pokeName}} pula na sua frente,\nmas é nocauteado no processo!" + }, + "2": { + "label": "Muito Arriscado, Sair", + "tooltip": "(-) Sem Recompensas", + "selected": "Você segue seu caminho apressadamente,\ncom uma leve sensação de arrependimento." + } + } +} diff --git a/src/locales/pt_BR/mystery-encounters/part-timer-dialogue.json b/src/locales/pt_BR/mystery-encounters/part-timer-dialogue.json new file mode 100644 index 00000000000..3893aa41d2d --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/part-timer-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "Um trabalhador ocupado te chama.", + "speaker": "Trabalhador", + "intro_dialogue": "Você parece ser alguém com muitos Pokémon capazes!$Nós podemos te pagar se você puder nos ajudar com algum trabalho de meio período!", + "title": "Trabalho Temporário", + "description": "Parece que há muitas tarefas que precisam ser feitas. Dependendo de quão bem o seu Pokémon se adapta a uma tarefa, ele pode ganhar mais ou menos dinheiro.", + "query": "Qual trabalho você vai escolher?", + "invalid_selection": "O Pokémon precisa estar saudável o suficiente.", + "option": { + "1": { + "label": "Fazer Entregas", + "tooltip": "(-) Seu Pokémon usa sua Velocidade\n(+) Ganhe @[MONEY]{Dinheiro}", + "selected": "Seu {{selectedPokemon}} faz um turno entregando pedidos para os clientes." + }, + "2": { + "label": "Trabalho no Armazém", + "tooltip": "(-) Seu Pokémon usa sua Força e Resistência\n(+) Ganhe @[MONEY]{Dinheiro}", + "selected": "Seu {{selectedPokemon}} faz um turno movendo itens no armazém." + }, + "3": { + "label": "Assistente de Vendas", + "tooltip": "(-) Seu {{option3PrimaryName}} usa {{option3PrimaryMove}}\n(+) Ganhe @[MONEY]{Dinheiro}", + "disabled_tooltip": "Seu Pokémon precisa conhecer certos movimentos para este trabalho", + "selected": "Seu {{option3PrimaryName}} passa o dia usando {{option3PrimaryMove}} para atrair clientes para o negócio!" + } + }, + "job_complete_good": "Obrigado pela ajuda!\nSeu {{selectedPokemon}} foi incrivelmente útil!$Aqui está seu pagamento pelo dia.", + "job_complete_bad": "Seu {{selectedPokemon}} nos ajudou um pouco!$Aqui está seu pagamento pelo dia.", + "pokemon_tired": "Seu {{selectedPokemon}} está exausto!\nO PP de todos os seus movimentos foi reduzido para 2!", + "outro": "Volte e nos ajude novamente algum dia!" +} diff --git a/src/locales/pt_BR/mystery-encounters/safari-zone-dialogue.json b/src/locales/pt_BR/mystery-encounters/safari-zone-dialogue.json new file mode 100644 index 00000000000..a43538e41f5 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/safari-zone-dialogue.json @@ -0,0 +1,46 @@ +{ + "intro": "É uma zona de safári!", + "title": "A Zona de Safári", + "description": "Há todos os tipos de Pokémon raros e especiais que podem ser encontrados aqui!\nSe você escolher entrar, terá um limite de tempo de 3 encontros selvagens onde poderá tentar capturar esses Pokémon especiais.\n\nCuidado, no entanto. Esses Pokémon podem fugir antes que você consiga capturá-los!", + "query": "Você gostaria de entrar?", + "option": { + "1": { + "label": "Entrar", + "tooltip": "(-) Pagar {{option1Money, money}}\n@[SUMMARY_GREEN]{(?) Zona de Safári}", + "selected": "Hora de testar sua sorte!" + }, + "2": { + "label": "Sair", + "tooltip": "(-) Sem Recompensas", + "selected": "Você segue seu caminho apressadamente,\ncom uma leve sensação de arrependimento." + } + }, + "safari": { + "1": { + "label": "Jogar uma Pokébola", + "tooltip": "(+) Jogar uma Pokébola", + "selected": "Você joga uma Pokébola!" + }, + "2": { + "label": "Jogar Isca", + "tooltip": "(+) Aumenta a Taxa de Captura\n(-) Chance de Aumentar a Taxa de Fuga", + "selected": "Você joga um pouco de isca!" + }, + "3": { + "label": "Jogar Lama", + "tooltip": "(+) Diminui a Taxa de Fuga\n(-) Chance de Diminuir a Taxa de Captura", + "selected": "Você joga um pouco de lama!" + }, + "4": { + "label": "Fugir", + "tooltip": "(?) Fugir deste Pokémon" + }, + "watching": "{{pokemonName}} está observando cuidadosamente!", + "eating": "{{pokemonName}} está comendo!", + "busy_eating": "{{pokemonName}} está ocupado comendo!", + "angry": "{{pokemonName}} está com raiva!", + "beside_itself_angry": "{{pokemonName}} está fora de si de tanta raiva!", + "remaining_count": "{{remainingCount}} Pokémon restantes!" + }, + "outro": "Essa foi uma pequena excursão divertida!" +} diff --git a/src/locales/pt_BR/mystery-encounters/shady-vitamin-dealer-dialogue.json b/src/locales/pt_BR/mystery-encounters/shady-vitamin-dealer-dialogue.json new file mode 100644 index 00000000000..af58e99924c --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/shady-vitamin-dealer-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "Um homem com um casaco escuro se aproxima de você.", + "speaker": "Vendedor Suspeito", + "intro_dialogue": ".@d{16}.@d{16}.@d{16}$Eu tenho os produtos, se você tiver o dinheiro.$Mas certifique-se de que seu Pokémon pode lidar com isso.", + "title": "O Vendedor de Vitaminas", + "description": "O homem abre o casaco para revelar algumas vitaminas de Pokémon. Os preços que ele menciona parecem uma boa oferta. Quase boa demais...\nEle oferece dois pacotes de ofertas para você escolher.", + "query": "Qual oferta você vai escolher?", + "invalid_selection": "O Pokémon precisa estar saudável o suficiente.", + "option": { + "1": { + "label": "A Oferta Barata", + "tooltip": "(-) Pagar {{option1Money, money}}\n(-) Efeitos colaterais?\n(+) Pokémon Escolhido Ganha 2 Vitaminas Aleatórias" + }, + "2": { + "label": "A Oferta Cara", + "tooltip": "(-) Pagar {{option2Money, money}}\n(+) Pokémon Escolhido Ganha 2 Vitaminas Aleatórias" + }, + "3": { + "label": "Sair", + "tooltip": "(-) Sem Recompensas", + "selected": "Heh, não imaginei que você fosse um covarde." + }, + "selected": "O homem te entrega dois frascos e desaparece rapidamente.${{selectedPokemon}} ganhou impulsos de {{boost1}} e {{boost2}}!" + }, + "cheap_side_effects": "Mas o remédio teve alguns efeitos colaterais!$Seu {{selectedPokemon}} sofreu alguns danos,\ne sua Natureza mudou para {{newNature}}!", + "no_bad_effects": "Parece que não houve efeitos colaterais do remédio!" +} diff --git a/src/locales/pt_BR/mystery-encounters/slumbering-snorlax-dialogue.json b/src/locales/pt_BR/mystery-encounters/slumbering-snorlax-dialogue.json new file mode 100644 index 00000000000..a53a60dd21a --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/slumbering-snorlax-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "Enquanto você caminha por um caminho estreito, vê uma silhueta imponente bloqueando seu caminho.$Você se aproxima e vê um {{snorlaxName}} dormindo pacificamente.\nParece que não há como contorná-lo.", + "title": "{{snorlaxName}} Adormecido", + "description": "Você pode atacá-lo para tentar fazê-lo se mover, ou simplesmente esperar que ele acorde. Quem sabe quanto tempo isso pode levar, no entanto...", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Batalhar com Ele", + "tooltip": "(-) Lutar com o {{snorlaxName}} Adormecido\n(+) Recompensa Especial", + "selected": "Você se aproxima do\nPokémon sem medo." + }, + "2": { + "label": "Esperar que Ele se Mova", + "tooltip": "(-) Esperar por Muito Tempo\n(+) Recuperar o Time", + "selected": ".@d{32}.@d{32}.@d{32}$Você espera por um tempo, mas os bocejos do {{snorlaxName}} deixam seu time sonolento...", + "rest_result": "Quando todos vocês acordam, o {{snorlaxName}} não está em lugar algum -\nmas seus Pokémon estão todos curados!" + }, + "3": { + "label": "Roubar Seu Item", + "tooltip": "(+) {{option3PrimaryName}} usa {{option3PrimaryMove}}\n(+) Recompensa Especial", + "disabled_tooltip": "Seus Pokémon precisam conhecer certos movimentos para escolher isso", + "selected": "Seu {{option3PrimaryName}} usa {{option3PrimaryMove}}!$@s{item_fanfare}Ele rouba Leftovers do {{snorlaxName}} adormecido\ne você foge como um bandido!" + } + } +} diff --git a/src/locales/pt_BR/mystery-encounters/teleporting-hijinks-dialogue.json b/src/locales/pt_BR/mystery-encounters/teleporting-hijinks-dialogue.json new file mode 100644 index 00000000000..e7b6dfa6831 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/teleporting-hijinks-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "É uma máquina estranha, zumbindo ruidosamente...", + "title": "Travessuras de Teletransporte", + "description": "A máquina tem uma placa que diz:\n \"Para usar, insira dinheiro e entre na cápsula.\"\n\nTalvez ela possa te transportar para algum lugar...", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Colocar Dinheiro", + "tooltip": "(-) Pagar {{price, money}}\n(?) Teletransportar para Novo Bioma", + "selected": "Você insere algum dinheiro, e a cápsula se abre.\nVocê entra..." + }, + "2": { + "label": "Um Pokémon Ajuda", + "tooltip": "(-) {{option2PrimaryName}} Ajuda\n(+) {{option2PrimaryName}} ganha EXP\n(?) Teletransportar para Novo Bioma", + "disabled_tooltip": "Você precisa de um Pokémon do Tipo Aço ou Elétrico para escolher isso", + "selected": "O Tipo de {{option2PrimaryName}} permite que ele contorne a barreira de pagamento da máquina!$A cápsula se abre, e você entra..." + }, + "3": { + "label": "Inspecionar a Máquina", + "tooltip": "(-) Batalha de Pokémon", + "selected": "Você é atraído pelas luzes piscantes\ne pelos sons estranhos vindos da máquina...$Você nem percebe enquanto um Pokémon selvagem\nse aproxima e te embosca!" + } + }, + "transport": "A máquina treme violentamente,\nemitindo todo tipo de som estranho!$Logo após começar, ela se silencia mais uma vez.", + "attacked": "Você sai em uma área completamente nova, assustando um Pokémon selvagem!$O Pokémon selvagem ataca!", + "boss_enraged": "O {{enemyPokemon}} oponente ficou furioso!" +} diff --git a/src/locales/pt_BR/mystery-encounters/the-expert-pokemon-breeder-dialogue.json b/src/locales/pt_BR/mystery-encounters/the-expert-pokemon-breeder-dialogue.json new file mode 100644 index 00000000000..d84c6c07273 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/the-expert-pokemon-breeder-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "É um treinador carregando muitos Ovos de Pokémon!", + "intro_dialogue": "Ei, treinador!$Parece que alguns dos seus\nPokémon parceiros estão um pouco desanimados.$Por que não batalha comigo para animá-los?", + "title": "O Criador de Pokémon Experiente", + "description": "Você foi desafiado para uma batalha onde @[TOOLTIP_TITLE]{você só pode usar um único Pokémon}. Pode ser difícil, mas certamente fortaleceria o vínculo que você tem com o Pokémon que escolher!\nO criador também te dará alguns @[TOOLTIP_TITLE]{Ovos de Pokémon} se você vencer!", + "query": "Com quem você vai batalhar?", + "cleffa_1_nickname": "Ás", + "cleffa_2_nickname": "Clefablest", + "cleffa_3_nickname": "{{speciesName}} o Grande", + "option": { + "1": { + "label": "{{pokemon1Name}}", + "tooltip_base": "(-) Batalha Difícil\n(+) Aumentar Amizade com {{pokemon1Name}}" + }, + "2": { + "label": "{{pokemon2Name}}", + "tooltip_base": "(-) Batalha Difícil\n(+) Aumentar Amizade com {{pokemon2Name}}" + }, + "3": { + "label": "{{pokemon3Name}}", + "tooltip_base": "(-) Batalha Difícil\n(+) Aumentar Amizade com {{pokemon3Name}}" + }, + "selected": "Vamos lá!" + }, + "outro": "Veja como seu {{chosenPokemon}} está feliz agora!$Aqui, você também pode ficar com isso.", + "outro_failed": "Que decepção...$Parece que você ainda tem um longo caminho\na percorrer para ganhar a confiança dos seus Pokémon!", + "gained_eggs": "@s{item_fanfare}Você recebeu {{numEggs}}!", + "eggs_tooltip": "\n(+) Ganhe {{eggs}}", + "numEggs_one": "{{count}} Ovo {{rarity}}", + "numEggs_other": "{{count}} Ovos {{rarity}}" +} diff --git a/src/locales/pt_BR/mystery-encounters/the-pokemon-salesman-dialogue.json b/src/locales/pt_BR/mystery-encounters/the-pokemon-salesman-dialogue.json new file mode 100644 index 00000000000..71467a78cf9 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/the-pokemon-salesman-dialogue.json @@ -0,0 +1,23 @@ +{ + "intro": "Um idoso animado se aproxima de você.", + "speaker": "Cavalheiro", + "intro_dialogue": "Olá! Tenho um negócio especialmente para VOCÊ!", + "title": "O Vendedor de Pokémon", + "description": "\"Este {{purchasePokemon}} é extremamente único e possui uma habilidade que normalmente não é encontrada em sua espécie! Vou deixar você levar este ótimo {{purchasePokemon}} por apenas {{price, money}}!\"\n\n\"O que me diz?\"", + "description_shiny": "\"Este {{purchasePokemon}} é extremamente único e possui uma pigmentação que normalmente não é encontrada em sua espécie! Vou deixar você levar este ótimo {{purchasePokemon}} por apenas {{price, money}}!\"\n\n\"O que me diz?\"", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Aceitar", + "tooltip": "(-) Pagar {{price, money}}\n(+) Ganhar um {{purchasePokemon}} com sua Habilidade Oculta", + "tooltip_shiny": "(-) Pagar {{price, money}}\n(+) Ganhar um {{purchasePokemon}} brilhante", + "selected_message": "Você pagou uma quantia exorbitante e comprou o {{purchasePokemon}}.", + "selected_dialogue": "Excelente escolha!$Posso ver que você tem um olho afiado para negócios.$Ah, sim...@d{64} Devoluções não são aceitas, entendeu?" + }, + "2": { + "label": "Recusar", + "tooltip": "(-) Sem Recompensas", + "selected": "Não?@d{32} Você disse não?$Estou fazendo isso como um favor para você!" + } + } +} diff --git a/src/locales/pt_BR/mystery-encounters/the-strong-stuff-dialogue.json b/src/locales/pt_BR/mystery-encounters/the-strong-stuff-dialogue.json new file mode 100644 index 00000000000..0d479cdc629 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/the-strong-stuff-dialogue.json @@ -0,0 +1,21 @@ +{ + "intro": "É um enorme {{shuckleName}} e o que parece ser\na grande reserva de... suco?", + "title": "O Suco Forte", + "description": "O {{shuckleName}} que bloqueia seu caminho parece incrivelmente forte. Enquanto isso, o suco ao lado dele está emanando algum tipo de poder.\n\nO {{shuckleName}} estende seus tentáculos na sua direção. Parece que ele quer fazer algo...", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Aproximar-se do {{shuckleName}}", + "tooltip": "(?) Algo terrível ou incrível pode acontecer", + "selected": "Você desmaia.", + "selected_2": "@f{150}Quando você desperta, o {{shuckleName}} se foi\ne a reserva de suco está completamente drenada.${{highBstPokemon1}} e {{highBstPokemon2}}\nsentem uma terrível letargia!$Os atributos base deles foram reduzidas em {{reductionValue}}!$Seus outros Pokémon, no entanto, sentem um vigor incrível!\nOs atributos base deles aumentaram em {{increaseValue}}!" + }, + "2": { + "label": "Batalhar com o {{shuckleName}}", + "tooltip": "(-) Batalha Difícil\n(+) Recompensas Especiais", + "selected": "Enfurecido, o {{shuckleName}} bebe um pouco do seu suco e ataca!", + "stat_boost": "O suco do {{shuckleName}} aumenta suas estatísticas!" + } + }, + "outro": "Que reviravolta bizarra de eventos." +} diff --git a/src/locales/pt_BR/mystery-encounters/the-winstrate-challenge-dialogue.json b/src/locales/pt_BR/mystery-encounters/the-winstrate-challenge-dialogue.json new file mode 100644 index 00000000000..54a486be533 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/the-winstrate-challenge-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "É uma família parada do lado de fora da casa deles!", + "speaker": "Os Winstrates", + "intro_dialogue": "Nós somos os Winstrates!$Que tal enfrentar nossa família em uma série de batalhas Pokémon?", + "title": "O Desafio Winstrate", + "description": "Os Winstrates são uma família de 5 treinadores, e eles querem batalhar! Se você derrotar todos eles em sequência, receberá um grande prêmio. Mas será que você aguenta o desafio?", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Aceitar o Desafio", + "tooltip": "(-) Batalha Brutal\n(+) Recompensa Especial de Item", + "selected": "Que comece o desafio!" + }, + "2": { + "label": "Recusar o Desafio", + "tooltip": "(+) Curar Todo o Time\n(+) Ganhar um Doce Raro", + "selected": "Que pena. Diga, seu time parece exausto, por que não fica um pouco e descansa?" + } + }, + "victory": "Parabéns por vencer nosso desafio!$Primeiro de tudo, queremos te dar este Voucher.", + "victory_2": "Além disso, nossa família usa este Bracelete Macho para fortalecer\nnossos Pokémon mais efetivamente durante o treinamento.$Você pode não precisar, já que derrotou todos nós, mas esperamos que aceite assim mesmo!" +} diff --git a/src/locales/pt_BR/mystery-encounters/training-session-dialogue.json b/src/locales/pt_BR/mystery-encounters/training-session-dialogue.json new file mode 100644 index 00000000000..6bb41058e01 --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/training-session-dialogue.json @@ -0,0 +1,33 @@ +{ + "intro": "Você encontrou algumas\nferramentas e suprimentos de treinamento.", + "title": "Sessão de Treinamento", + "description": "Esses suprimentos parecem que poderiam ser usados para treinar um membro do seu time! Há algumas maneiras de treinar seu Pokémon, batalhando contra ele com o resto do seu time.", + "query": "Como você deve treinar?", + "invalid_selection": "O Pokémon precisa estar saudável o suficiente.", + "option": { + "1": { + "label": "Treinamento Leve", + "tooltip": "(-) Batalha Leve\n(+) Melhorar 2 IVs Aleatórios do Pokémon", + "finished": "{{selectedPokemon}} retorna, sentindo-se\ncansado, mas realizado!$Seus IVs de {{stat1}} e {{stat2}} foram melhorados!" + }, + "2": { + "label": "Treinamento Moderado", + "tooltip": "(-) Batalha Moderada\n(+) Mudar a Natureza do Pokémon", + "select_prompt": "Selecione uma nova natureza\npara treinar seu Pokémon.", + "finished": "{{selectedPokemon}} retorna, sentindo-se\ncansado, mas realizado!$Sua natureza foi alterada para {{nature}}!" + }, + "3": { + "label": "Treinamento Intenso", + "tooltip": "(-) Batalha Rigorosa\n(+) Mudar a Habilidade do Pokémon", + "select_prompt": "Selecione uma nova habilidade\npara treinar seu Pokémon.", + "finished": "{{selectedPokemon}} retorna, sentindo-se\ncansado, mas realizado!$Sua habilidade foi alterada para {{ability}}!" + }, + "4": { + "label": "Sair", + "tooltip": "(-) Sem Recompensas", + "selected": "Você não tem tempo para treinar.\nHora de seguir em frente." + }, + "selected": "{{selectedPokemon}} atravessa\na clareira para te enfrentar..." + }, + "outro": "Essa foi uma sessão de treinamento bem-sucedida!" +} diff --git a/src/locales/pt_BR/mystery-encounters/trash-to-treasure-dialogue.json b/src/locales/pt_BR/mystery-encounters/trash-to-treasure-dialogue.json new file mode 100644 index 00000000000..0af71ddf6ff --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/trash-to-treasure-dialogue.json @@ -0,0 +1,19 @@ +{ + "intro": "É uma pilha enorme de lixo!\nDe onde isso veio?", + "title": "Do Lixo ao Luxo", + "description": "A pilha de lixo se ergue sobre você, e você pode ver alguns itens de valor enterrados no meio dos detritos. Você tem certeza de que quer se cobrir de sujeira para pegá-los?", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Cavar em Busca de Valiosos", + "tooltip": "(-) Perder Itens de Cura nas Lojas\n(+) Ganhar Itens Incríveis", + "selected": "Você vasculha a pilha de lixo, ficando preso na sujeira.$Não há como os lojistas respeitáveis\nvenderem algo para você nesse estado imundo!$Você terá que se virar sem itens de cura nas lojas.$No entanto, você encontrou alguns itens incríveis no lixo!" + }, + "2": { + "label": "Investigar Mais", + "tooltip": "(?) Encontrar a Fonte do Lixo", + "selected": "Você vagueia ao redor da pilha, procurando qualquer indicação de como isso apareceu aqui...", + "selected_2": "De repente, o lixo se move! Não era apenas lixo, era um Pokémon!" + } + } +} diff --git a/src/locales/pt_BR/mystery-encounters/uncommon-breed-dialogue.json b/src/locales/pt_BR/mystery-encounters/uncommon-breed-dialogue.json new file mode 100644 index 00000000000..7d9b07ae99d --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/uncommon-breed-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "Esse não é um Pokémon comum!", + "title": "Raça Incomum", + "description": "O {{enemyPokemon}} parece especial comparado a outros de sua espécie. @[TOOLTIP_TITLE]{Talvez ele conheça um movimento especial?} Você poderia batalhar e capturá-lo diretamente, mas também pode haver uma maneira de fazer amizade com ele.", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "Batalhar com o Pokémon", + "tooltip": "(-) Batalha Difícil\n(+) Oponente Forte Capturável", + "selected": "Você se aproxima do\n{{enemyPokemon}} sem medo.", + "stat_boost": "As habilidades elevadas do {{enemyPokemon}} aumentam seus atributos!" + }, + "2": { + "label": "Dar Comida", + "disabled_tooltip": "Você precisa de 4 itens de fruta para escolher isso", + "tooltip": "(-) Dar 4 Frutas\n(+) O {{enemyPokemon}} Gosta de Você", + "selected": "Você joga as frutas para o {{enemyPokemon}}!$Ele as come feliz!$O {{enemyPokemon}} quer se juntar ao seu time!" + }, + "3": { + "label": "Fazer Amizade", + "disabled_tooltip": "Seus Pokémon precisam conhecer certos movimentos para escolher isso", + "tooltip": "(+) {{option3PrimaryName}} usa {{option3PrimaryMove}}\n(+) O {{enemyPokemon}} Gosta de Você", + "selected": "Seu {{option3PrimaryName}} usa {{option3PrimaryMove}} para encantar o {{enemyPokemon}}!$O {{enemyPokemon}} quer se juntar ao seu time!" + } + } +} diff --git a/src/locales/pt_BR/mystery-encounters/weird-dream-dialogue.json b/src/locales/pt_BR/mystery-encounters/weird-dream-dialogue.json new file mode 100644 index 00000000000..1806e1fd04f --- /dev/null +++ b/src/locales/pt_BR/mystery-encounters/weird-dream-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "Uma mulher sombria bloqueia seu caminho.\nAlgo nela é perturbador...", + "speaker": "Mulher", + "intro_dialogue": "Eu vi seu futuro, seu passado...$Criança, você os vê também?", + "title": "???", + "description": "As palavras da mulher ecoam na sua cabeça. Não era apenas uma única voz, mas uma vasta multidão, de todas as linhas do tempo e realidades. Você começa a sentir tontura, a pergunta permanece em sua mente...\n\n@[TOOLTIP_TITLE]{\"Eu vi seu futuro, seu passado... Criança, você os vê também?\"}", + "query": "O que você vai fazer?", + "option": { + "1": { + "label": "\"Eu os Vejo\"", + "tooltip": "@[SUMMARY_GREEN]{(?) Afeta seus Pokémon}", + "selected": "A mão dela se estende para te tocar,\ne tudo fica escuro.$Então...@d{64} Você vê tudo.\nTodas as linhas do tempo, todos os seus eus diferentes,\n passado e futuro.$Tudo o que te formou,\ntudo o que você se tornará...@d{64}", + "cutscene": "Você vê seus Pokémon,@d{32} convergindo de\ntodas as realidades para se tornarem algo novo...@d{64}", + "dream_complete": "Quando você desperta, a mulher - era uma mulher ou um fantasma? - se foi...$.@d{32}.@d{32}.@d{32}$Sua equipe de Pokémon mudou...\nOu é a mesma equipe que você sempre teve?" + }, + "2": { + "label": "Sair Rapidamente", + "tooltip": "(-) Afeta seus Pokémon", + "selected": "Você arranca sua mente de um aperto entorpecente e sai apressadamente.$Quando finalmente para para se recompor, você verifica os Pokémon em sua equipe.$Por algum motivo, todos os níveis deles diminuíram!" + } + } +} diff --git a/src/locales/pt_BR/nature.json b/src/locales/pt_BR/nature.json index 5678c74061c..11be27d6f53 100644 --- a/src/locales/pt_BR/nature.json +++ b/src/locales/pt_BR/nature.json @@ -24,4 +24,4 @@ "Sassy": "Atrevida", "Careful": "Cuidadosa", "Quirky": "Peculiar" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/party-ui-handler.json b/src/locales/pt_BR/party-ui-handler.json index 435bc916ac6..ef09e09fb2b 100644 --- a/src/locales/pt_BR/party-ui-handler.json +++ b/src/locales/pt_BR/party-ui-handler.json @@ -15,6 +15,7 @@ "UNPAUSE_EVOLUTION": "Ativar Evolução", "REVIVE": "Reanimar", "RENAME": "Renomear", + "SELECT": "Select", "choosePokemon": "Escolha um Pokémon.", "doWhatWithThisPokemon": "O que você deseja fazer?", "noEnergy": "{{pokemonName}} não pode\nmais batalhar!", @@ -44,4 +45,4 @@ "untilWeMeetAgain": "Até nos encontrarmos novamente, {{pokemonName}}!", "sayonara": "Sayonara, {{pokemonName}}!", "smellYaLater": "Te vejo depois, {{pokemonName}}!" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/pokeball.json b/src/locales/pt_BR/pokeball.json index 3a059654bb3..5f1dff974ec 100644 --- a/src/locales/pt_BR/pokeball.json +++ b/src/locales/pt_BR/pokeball.json @@ -5,4 +5,4 @@ "rogueBall": "Bola Rogue", "masterBall": "Bola Mestra", "luxuryBall": "Bola Luxo" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/pokemon-form-battle.json b/src/locales/pt_BR/pokemon-form-battle.json index 6ea7947fb66..50fbeeef29e 100644 --- a/src/locales/pt_BR/pokemon-form-battle.json +++ b/src/locales/pt_BR/pokemon-form-battle.json @@ -11,4 +11,4 @@ "revertChange": "{{pokemonName}} voltou\npara sua forma original!", "formChange": "{{preName}} mudou de forma!", "disguiseChange": "O seu disfarce serviu-lhe de isca!" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/pokemon-info-container.json b/src/locales/pt_BR/pokemon-info-container.json index dcf1fc4e0b5..3ba3312a401 100644 --- a/src/locales/pt_BR/pokemon-info-container.json +++ b/src/locales/pt_BR/pokemon-info-container.json @@ -4,4 +4,4 @@ "ability": "Habilidade:", "nature": "Natureza:", "form": "Forma:" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/pokemon.json b/src/locales/pt_BR/pokemon.json index f780d2accbd..f50b89c4f70 100644 --- a/src/locales/pt_BR/pokemon.json +++ b/src/locales/pt_BR/pokemon.json @@ -1081,4 +1081,4 @@ "paldea_tauros": "Tauros", "paldea_wooper": "Wooper", "bloodmoon_ursaluna": "Ursaluna" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/run-history.json b/src/locales/pt_BR/run-history.json index 74cc2c35d28..a615b598bcf 100644 --- a/src/locales/pt_BR/run-history.json +++ b/src/locales/pt_BR/run-history.json @@ -34,4 +34,4 @@ "hallofFameText_female": "Bem-vinda ao Hall da Fama!", "viewHallOfFame": "Veja o Hall da Fama!", "viewEndingSplash": "Veja a arte final!" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/save-slot-select-ui-handler.json b/src/locales/pt_BR/save-slot-select-ui-handler.json index 31fe28de691..60ea7b073e9 100644 --- a/src/locales/pt_BR/save-slot-select-ui-handler.json +++ b/src/locales/pt_BR/save-slot-select-ui-handler.json @@ -4,4 +4,4 @@ "wave": "Onda", "lv": "Nv", "empty": "Vazio" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/settings.json b/src/locales/pt_BR/settings.json index 74f3918bed8..6c4eae23a82 100644 --- a/src/locales/pt_BR/settings.json +++ b/src/locales/pt_BR/settings.json @@ -104,4 +104,4 @@ "reroll": "Atualizar", "shop": "Loja", "checkTeam": "Checar Time" -} +} \ No newline at end of file diff --git a/src/locales/pt_BR/splash-messages.json b/src/locales/pt_BR/splash-messages.json index 237b0f21202..174dc5e4092 100644 --- a/src/locales/pt_BR/splash-messages.json +++ b/src/locales/pt_BR/splash-messages.json @@ -32,5 +32,5 @@ "alsoTryRadicalRed": "Também Jogue Radical Red!", "eeveeExpo": "Eevee Expo!", "ynoproject": "YNOproject!", - "breedersInSpace": "Criadores Pokémon no Espaço!" -} \ No newline at end of file + "breedersInSpace": "Criadores de Pokémon no Espaço!" +} diff --git a/src/locales/pt_BR/starter-select-ui-handler.json b/src/locales/pt_BR/starter-select-ui-handler.json index 1d83e43f12c..8de6c8bcae4 100644 --- a/src/locales/pt_BR/starter-select-ui-handler.json +++ b/src/locales/pt_BR/starter-select-ui-handler.json @@ -42,4 +42,4 @@ "locked": "Bloqueada", "disabled": "Desativada", "uncaught": "Não capturado" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/status-effect.json b/src/locales/pt_BR/status-effect.json index 5a851a0bdeb..9b33b9fa8f7 100644 --- a/src/locales/pt_BR/status-effect.json +++ b/src/locales/pt_BR/status-effect.json @@ -62,4 +62,4 @@ "overlap": "{{pokemonNameWithAffix}} já\nestá queimado!", "heal": "{{pokemonNameWithAffix}} foi\ncurado de sua queimadura!" } -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/terrain.json b/src/locales/pt_BR/terrain.json index 73df2b441ac..a672c58ca82 100644 --- a/src/locales/pt_BR/terrain.json +++ b/src/locales/pt_BR/terrain.json @@ -13,4 +13,4 @@ "psychicStartMessage": "O campo de batalha ficou esquisito!", "psychicClearMessage": "A esquisitice sumiu do campo de batalha!", "defaultBlockMessage": "{{pokemonNameWithAffix}} está protegido pelo Terreno {{terrainName}}!" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/trainer-names.json b/src/locales/pt_BR/trainer-names.json index 83557e70ee2..deffc346e03 100644 --- a/src/locales/pt_BR/trainer-names.json +++ b/src/locales/pt_BR/trainer-names.json @@ -166,5 +166,18 @@ "alder_iris_double": "Alder & Iris", "iris_alder_double": "Iris & Alder", "marnie_piers_double": "Marnie & Piers", - "piers_marnie_double": "Piers & Marnie" + "piers_marnie_double": "Piers & Marnie", + + "buck": "Buck", + "cheryl": "Cheryl", + "marley": "Marley", + "mira": "Mira", + "riley": "Riley", + "victor": "Victor", + "victoria": "Victoria", + "vivi": "Vivi", + "vicky": "Vicky", + "vito": "Vito", + "bug_type_superfan": "Superfã de Insetos", + "expert_pokemon_breeder": "Expert Pokémon Breeder" } diff --git a/src/locales/pt_BR/trainer-titles.json b/src/locales/pt_BR/trainer-titles.json index d416e0225bf..0bd03901c2b 100644 --- a/src/locales/pt_BR/trainer-titles.json +++ b/src/locales/pt_BR/trainer-titles.json @@ -36,5 +36,7 @@ "aether_admin": "Admin da Fundação Aether", "skull_admin": "Admin da Equipe Skull", "macro_admin": "Macro Cosmos", - "star_admin": "Chefe de Esquadrão da Equipe Estrela" + "star_admin": "Chefe de Esquadrão da Equipe Estrela", + + "the_winstrates": "Os Winstrates'" } diff --git a/src/locales/pt_BR/tutorial.json b/src/locales/pt_BR/tutorial.json index 92ea0dd080f..09199a9e31c 100644 --- a/src/locales/pt_BR/tutorial.json +++ b/src/locales/pt_BR/tutorial.json @@ -1,7 +1,7 @@ { "intro": "Bem-vindo ao PokéRogue!\n$Este é um fangame Pokémon focado em batalhas com elementos roguelite.\n$Este jogo não é monetizado e não reivindicamos propriedade do Pokémon nem dos ativos protegidos$por direitos autorais usados.\n$O jogo é um trabalho em andamento,\nmas totalmente jogável.\n$Para relatórios de bugs, use a comunidade do Discord.\n$Se o jogo rodar lentamente, certifique-se de que\na 'Aceleração de Hardware' esteja ativada$nas configurações do seu navegador.", "accessMenu": "Para acessar o menu, pressione M ou Esc.\n$O menu contém configurações e diversas funções.", - "menu": "A partir deste menu, você pode\\nacessar as configurações.\n$A partir das configurações, você\npode alterar a velocidade do jogo,\n$o estilo da janela e outras opções.\n$Há também vários outros recursos aqui.\nCertifique-se de verificar todos eles!", + "menu": "A partir deste menu, você pode\nacessar as configurações.\n$A partir das configurações, você\npode alterar a velocidade do jogo,\n$o estilo da janela e outras opções.\n$Há também vários outros recursos aqui.\nCertifique-se de verificar todos eles!", "starterSelect": "Nesta tela, você pode selecionar seus iniciais\npressionando Z ou a barra de espaço.\n$Esses serão os primeiros membros da sua equipe.\n$Cada inicial tem um custo. Sua equipe pode ter até 6 membros,\ndesde que desde que o custo total não exceda 10.\n$Você pode escolher o gênero, a habilidade\ne até a forma do seu inicial.\n$Essas opções dependem das variantes dessa\nespécie que você já capturou ou chocou.\n$Os IVs de cada inicial são os melhores de todos os Pokémon\ndaquela espécie que você já capturou ou chocou.\n$Sempre capture vários Pokémon de todas as espécies!", "pokerus": "Todo dia, 3 Pokémon iniciais ficam com uma borda roxa.\n$Caso veja um inicial que você possui com uma dessa, tente\nadicioná-lo a sua equipe. Lembre-se de olhar seu sumário!", "statChange": "As mudanças de atributos se mantém após a batalha desde que o Pokémon não seja trocado.\n$Seus Pokémon voltam a suas Poké Bolas antes de batalhas contra treinadores e de entrar em um novo bioma.\n$Para ver as mudanças de atributos dos Pokémon em campo, mantena C ou Shift pressionado durante a batalha.", diff --git a/src/locales/pt_BR/voucher.json b/src/locales/pt_BR/voucher.json index c33dfa20e0f..7430fecaece 100644 --- a/src/locales/pt_BR/voucher.json +++ b/src/locales/pt_BR/voucher.json @@ -6,4 +6,4 @@ "eggVoucherGold": "Voucher de Ovo Dourado", "locked": "Bloqueado", "defeatTrainer": "Derrote {{trainerName}}" -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/weather.json b/src/locales/pt_BR/weather.json index 54b929da0b9..eb3b3a74005 100644 --- a/src/locales/pt_BR/weather.json +++ b/src/locales/pt_BR/weather.json @@ -29,4 +29,4 @@ "strongWindsLapseMessage": "Os ventos fortes continuam.", "strongWindsEffectMessage": "A corrente de ar misteriosa enfraqueceu o ataque!", "strongWindsClearMessage": "Os ventos fortes diminuíram." -} \ No newline at end of file +} diff --git a/src/locales/zh_CN/achv.json b/src/locales/zh_CN/achv.json index b93345d876b..f5e77dac140 100644 --- a/src/locales/zh_CN/achv.json +++ b/src/locales/zh_CN/achv.json @@ -272,5 +272,9 @@ "INVERSE_BATTLE": { "name": "镜子子镜", "description": "完成逆转之战挑战\n战挑战之转逆成完" + }, + "BREEDERS_IN_SPACE": { + "name": "Breeders in Space!", + "description": "Beat the Expert Pokémon Breeder in the Space Biome." } } diff --git a/src/locales/zh_CN/battle.json b/src/locales/zh_CN/battle.json index ccf0e560805..355c253676d 100644 --- a/src/locales/zh_CN/battle.json +++ b/src/locales/zh_CN/battle.json @@ -15,6 +15,10 @@ "moneyPickedUp": "捡到了₽{{moneyAmount}}!", "pokemonCaught": "{{pokemonName}}被抓住了!", "addedAsAStarter": "增加了{{pokemonName}}作为\n一个新的基础宝可梦!", + "pokemonObtained": "你获得了{{pokemonName}}!", + "pokemonBrokeFree": "噢不!\n宝可梦挣脱了!", + "pokemonFled": "野生的{{pokemonName}}逃走了!", + "playerFled": "你从{{pokemonName}}那里逃走了!", "partyFull": "你的队伍已满员。是否放生其他宝可梦\n为{{pokemonName}}腾出空间?", "pokemon": "宝可梦", "sendOutPokemon": "上吧!\n{{pokemonName}}!", @@ -49,6 +53,7 @@ "noPokeballTrainer": "你不能捕捉其他训练家的宝可梦!", "noPokeballMulti": "只能在剩下一只宝可梦时才能扔出精灵球!", "noPokeballStrong": "目标宝可梦太强了,无法捕捉!\n你需要先削弱它!", + "noPokeballMysteryEncounter": "你无法\n捕捉这只宝可梦!", "noEscapeForce": "一股无形的力量阻止你逃跑。", "noEscapeTrainer": "你不能从与训练家的战斗中逃跑!", "noEscapePokemon": "{{pokemonName}}的{{moveName}}\n阻止了你{{escapeVerb}}!", @@ -87,5 +92,6 @@ "retryBattle": "你要从对战开始时重试么?", "unlockedSomething": "{{unlockedThing}}\n已解锁。", "congratulations": "恭喜!", - "beatModeFirstTime": "{{speciesName}}首次击败了{{gameMode}}!\n你获得了{{newModifier}}!" + "beatModeFirstTime": "{{speciesName}}首次击败了{{gameMode}}!\n你获得了{{newModifier}}!", + "mysteryEncounterAppeared": "这是什么?" } diff --git a/src/locales/zh_CN/bgm-name.json b/src/locales/zh_CN/bgm-name.json index 7c3f5e617ae..f59a637d7d8 100644 --- a/src/locales/zh_CN/bgm-name.json +++ b/src/locales/zh_CN/bgm-name.json @@ -147,5 +147,11 @@ "encounter_youngster": "黑白 「视线!短裤小子」", "heal": "黑白「宝可梦回复」", "menu": "空之探险队「欢迎来到宝可梦的世界」", - "title": "空之探险队「主题曲」" + "title": "空之探险队「主题曲」", + + "mystery_encounter_weird_dream": "空之探险队「时限之塔」", + "mystery_encounter_fun_and_games": "空之探险队「会长胖可丁」", + "mystery_encounter_gen_5_gts": "黑白「GTS」", + "mystery_encounter_gen_6_gts": "XY「GTS」", + "mystery_encounter_delibirdy": "Firel - 信使鸟快递!" } diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index 44a190d8c11..15a69eb481a 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -53,7 +53,49 @@ import terrain from "./terrain.json"; import modifierSelectUiHandler from "./modifier-select-ui-handler.json"; import moveTriggers from "./move-trigger.json"; import runHistory from "./run-history.json"; +import mysteryEncounterMessages from "./mystery-encounter-messages.json"; +import lostAtSea from "./mystery-encounters/lost-at-sea-dialogue.json"; +import mysteriousChest from "./mystery-encounters/mysterious-chest-dialogue.json"; +import mysteriousChallengers from "./mystery-encounters/mysterious-challengers-dialogue.json"; +import darkDeal from "./mystery-encounters/dark-deal-dialogue.json"; +import departmentStoreSale from "./mystery-encounters/department-store-sale-dialogue.json"; +import fieldTrip from "./mystery-encounters/field-trip-dialogue.json"; +import fieryFallout from "./mystery-encounters/fiery-fallout-dialogue.json"; +import fightOrFlight from "./mystery-encounters/fight-or-flight-dialogue.json"; +import safariZone from "./mystery-encounters/safari-zone-dialogue.json"; +import shadyVitaminDealer from "./mystery-encounters/shady-vitamin-dealer-dialogue.json"; +import slumberingSnorlax from "./mystery-encounters/slumbering-snorlax-dialogue.json"; +import trainingSession from "./mystery-encounters/training-session-dialogue.json"; +import theStrongStuff from "./mystery-encounters/the-strong-stuff-dialogue.json"; +import pokemonSalesman from "./mystery-encounters/the-pokemon-salesman-dialogue.json"; +import offerYouCantRefuse from "./mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; +import delibirdy from "./mystery-encounters/delibirdy-dialogue.json"; +import absoluteAvarice from "./mystery-encounters/absolute-avarice-dialogue.json"; +import aTrainersTest from "./mystery-encounters/a-trainers-test-dialogue.json"; +import trashToTreasure from "./mystery-encounters/trash-to-treasure-dialogue.json"; +import berriesAbound from "./mystery-encounters/berries-abound-dialogue.json"; +import clowningAround from "./mystery-encounters/clowning-around-dialogue.json"; +import partTimer from "./mystery-encounters/part-timer-dialogue.json"; +import dancingLessons from "./mystery-encounters/dancing-lessons-dialogue.json"; +import weirdDream from "./mystery-encounters/weird-dream-dialogue.json"; +import theWinstrateChallenge from "./mystery-encounters/the-winstrate-challenge-dialogue.json"; +import teleportingHijinks from "./mystery-encounters/teleporting-hijinks-dialogue.json"; +import bugTypeSuperfan from "./mystery-encounters/bug-type-superfan-dialogue.json"; +import funAndGames from "./mystery-encounters/fun-and-games-dialogue.json"; +import uncommonBreed from "./mystery-encounters/uncommon-breed-dialogue.json"; +import globalTradeSystem from "./mystery-encounters/global-trade-system-dialogue.json"; +import expertPokemonBreeder from "./mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; +/** + * Dialogue/Text token injection patterns that can be used: + * - `$` will be treated as a new line for Message and Dialogue strings. + * - `@d{}` will add a time delay to text animation for Message and Dialogue strings. + * - `@s{}` will play a specified sound effect for Message and Dialogue strings. + * - `@f{}` will fade the screen to black for the given duration, then fade back in for Message and Dialogue strings. + * - `{{}}` (MYSTERY ENCOUNTERS ONLY) will auto-inject the matching dialogue token value that is stored in {@link IMysteryEncounter.dialogueTokens}. + * - (see [i18next interpolations](https://www.i18next.com/translation-function/interpolation)) for more details. + * - `@[]{}` (STATIC TEXT ONLY, NOT USEABLE WITH {@link UI.showText()} OR {@link UI.showDialogue()}) will auto-color the given text to a specified {@link TextStyle} (e.g. `TextStyle.SUMMARY_GREEN`). + */ export const zhCnConfig = { ability, abilityTriggers, @@ -110,4 +152,40 @@ export const zhCnConfig = { modifierSelectUiHandler, moveTriggers, runHistory, + mysteryEncounter: { + // DO NOT REMOVE + "unit_test_dialogue": "{{test}}{{test}} {{test{{test}}}} {{test1}} {{test\}} {{test\\}} {{test\\\}} {test}}", + mysteriousChallengers, + mysteriousChest, + darkDeal, + fightOrFlight, + slumberingSnorlax, + trainingSession, + departmentStoreSale, + shadyVitaminDealer, + fieldTrip, + safariZone, + lostAtSea, + fieryFallout, + theStrongStuff, + pokemonSalesman, + offerYouCantRefuse, + delibirdy, + absoluteAvarice, + aTrainersTest, + trashToTreasure, + berriesAbound, + clowningAround, + partTimer, + dancingLessons, + weirdDream, + theWinstrateChallenge, + teleportingHijinks, + bugTypeSuperfan, + funAndGames, + uncommonBreed, + globalTradeSystem, + expertPokemonBreeder + }, + mysteryEncounterMessages }; diff --git a/src/locales/zh_CN/dialogue.json b/src/locales/zh_CN/dialogue.json index d23fd7379bb..3e258de22f6 100644 --- a/src/locales/zh_CN/dialogue.json +++ b/src/locales/zh_CN/dialogue.json @@ -1026,6 +1026,116 @@ "1": "我承认我做的事情非常渗人,我也不指望你能理解。\n$但我必须为伽勒尔地区提供无限的能源,确保永久的繁荣。" } }, + "stat_trainer_buck": { + "encounter": { + "1": "我现在告诉你!我强的不可思议,做好准备!", + "2": "我能感受到宝可梦在球中激动地颤抖!" + }, + "victory": { + "1": "呵哈哈!\n真火热啊,你!", + "2": "呵哈哈!\n真火热啊,你!" + }, + "defeat": { + "1": "哇哦!这下没气儿了吧,我猜。", + "2": "哇哦!这下没气儿了吧,我猜。" + } + }, + "stat_trainer_cheryl": { + "encounter": { + "1": "我的宝可梦渴望着战斗。", + "2": "我应该警告你,我的神奇宝贝可能有点活泼。" + }, + "victory": { + "1": "在进攻和防守之间找到平衡……这并不容易。", + "2": "在进攻和防守之间找到平衡……这并不容易。" + }, + "defeat": { + "1": "你的宝可梦需要治疗吗?", + "2": "你的宝可梦需要治疗吗?" + } + }, + "stat_trainer_marley": { + "encounter": { + "1": "……好的。\n我会尽力的。", + "2": "……好的。\n我不会输的。" + }, + "victory": { + "1": "……噢", + "2": "……噢" + }, + "defeat": { + "1": "……再见。", + "2": "……再见。" + } + }, + "stat_trainer_mira": { + "encounter": { + "1": "你会被麦儿吓到的哦!", + "2": "麦儿不会再输了!" + }, + "victory": { + "1": "麦儿在想……她的生涯还能不能走远。", + "2": "麦儿在想……她的生涯还能不能走远。" + }, + "defeat": { + "1": "麦儿就知道自己会赢!", + "2": "麦儿就知道自己会赢!" + } + }, + "stat_trainer_riley": { + "encounter": { + "1": "战斗是我们打招呼的方式!", + "2": "我们会尽一切努力来打败你的宝可梦。" + }, + "victory": { + "1": "有时我们会战斗,有时我们会联手...$训练师之间能交流真好。", + "2": "有时我们会战斗,有时我们会联手...$训练师之间能交流真好。" + }, + "defeat": { + "1": "你表现的相当出色\n祝你下次好运。", + "2": "你表现的相当出色\n祝你下次好运。" + } + }, + "winstrates_victor": { + "encounter": { + "1": "就是这股势头!我看好你!" + }, + "victory": { + "1": "啊哈!你比我想象的还要强!" + } + }, + "winstrates_victoria": { + "encounter": { + "1": "天哪!这么年轻?$不过,能打败我的丈夫,你至少称得上是训练师。$现在轮到我上场了!" + }, + "victory": { + "1": "呃啊!你这得多强啊!" + } + }, + "winstrates_vivi": { + "encounter": { + "1": "你比妈妈还厉害?$但是,我也很厉害哦!\n真的!真的哦!" + }, + "victory": { + "1": "啊?我真的输了吗?\n呜呜呜……奶奶!" + } + }, + "winstrates_vicky": { + "encounter": { + "1": "你怎么敢让我的宝贝孙女哭!$看来我得给你一个教训。\n准备好吃点苦头吧!" + }, + "victory": { + "1": "呜啊!这么强!\n我的孙女没在骗人。" + } + }, + "winstrates_vito": { + "encounter": { + "1": "我和我的每位家人都一起训练!$我不会输给任何人了!" + }, + "victory": { + "1": "我比家里的每个人都优秀。\n我从来没有输过……" + } + }, "brock": { "encounter": { "1": "我对岩石属性宝可梦的专精会击败你!来吧!", diff --git a/src/locales/zh_CN/egg.json b/src/locales/zh_CN/egg.json index 5a299368873..f2b95bd40cb 100644 --- a/src/locales/zh_CN/egg.json +++ b/src/locales/zh_CN/egg.json @@ -11,6 +11,7 @@ "gachaTypeLegendary": "传说概率上升", "gachaTypeMove": "稀有概率上升", "gachaTypeShiny": "闪光概率上升", + "eventType": "Mystery Event", "selectMachine": "选择一个机器。", "notEnoughVouchers": "你没有足够的兑换券!", "tooManyEggs": "你的蛋太多啦!", @@ -23,4 +24,4 @@ "moveUPGacha": "蛋招式UP!", "shinyUPGacha": "闪光UP!", "legendaryUPGacha": "UP!" -} \ No newline at end of file +} diff --git a/src/locales/zh_CN/modifier-select-ui-handler.json b/src/locales/zh_CN/modifier-select-ui-handler.json index b3475737dfd..24b6e205f10 100644 --- a/src/locales/zh_CN/modifier-select-ui-handler.json +++ b/src/locales/zh_CN/modifier-select-ui-handler.json @@ -8,5 +8,7 @@ "lockRaritiesDesc": "在刷新时锁定道具稀有度(影响刷新费用)", "checkTeamDesc": "检查队伍或使用形态改变道具", "rerollCost": "₽{{formattedMoney}}", - "itemCost": "₽{{formattedMoney}}" -} \ No newline at end of file + "itemCost": "₽{{formattedMoney}}", + "continueNextWaveButton": "Continue", + "continueNextWaveDescription": "Continue to the next wave" +} diff --git a/src/locales/zh_CN/modifier-type.json b/src/locales/zh_CN/modifier-type.json index 981f26a1603..61c36078369 100644 --- a/src/locales/zh_CN/modifier-type.json +++ b/src/locales/zh_CN/modifier-type.json @@ -68,6 +68,20 @@ "BaseStatBoosterModifierType": { "description": "增加10%持有者的{{stat}},\n个体值越高堆叠上限越高。" }, + "PokemonBaseStatTotalModifierType": { + "name": "Shuckle Juice", + "description": "{{increaseDecrease}} all of the holder's base stats by {{statValue}}. You were {{blessCurse}} by the Shuckle.", + "extra": { + "increase": "Increases", + "decrease": "Decreases", + "blessed": "blessed", + "cursed": "cursed" + } + }, + "PokemonBaseStatFlatModifierType": { + "name": "Old Gateau", + "description": "Increases the holder's {{stats}} base stats by {{statValue}}. Found after a strange dream." + }, "AllPokemonFullHpRestoreModifierType": { "description": "所有宝可梦完全回复HP。" }, @@ -401,7 +415,13 @@ "ENEMY_FUSED_CHANCE": { "name": "融合硬币", "description": "增加1%野生融合宝可梦出现概率。" - } + }, + + "MYSTERY_ENCOUNTER_SHUCKLE_JUICE": { "name": "Shuckle Juice" }, + "MYSTERY_ENCOUNTER_BLACK_SLUDGE": { "name": "Black Sludge", "description": "The stench is so powerful that shops will only sell you items at a steep cost increase." }, + "MYSTERY_ENCOUNTER_MACHO_BRACE": { "name": "Macho Brace", "description": "Defeating a Pokémon grants the holder a Macho Brace stack. Each stack slightly boosts stats, with an extra bonus at max stacks." }, + "MYSTERY_ENCOUNTER_OLD_GATEAU": { "name": "Old Gateau", "description": "Increases the holder's {{stats}} stats by {{statValue}}." }, + "MYSTERY_ENCOUNTER_GOLDEN_BUG_NET": { "name": "Golden Bug Net", "description": "Imbues the owner with luck to find Bug Type Pokémon more often. Has a strange heft to it." } }, "SpeciesBoosterItem": { "LIGHT_BALL": { diff --git a/src/locales/zh_CN/mystery-encounter-messages.json b/src/locales/zh_CN/mystery-encounter-messages.json new file mode 100644 index 00000000000..2d6a435adb9 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounter-messages.json @@ -0,0 +1,7 @@ +{ + "paid_money": "你支付了 ₽{{amount, number}}。", + "receive_money": "你获得了 ₽{{amount, number}}!", + "affects_pokedex": "影响图鉴数据", + "cancel_option": "回到事件选项", + "view_party_button": "查看队伍" +} diff --git a/src/locales/zh_CN/mystery-encounters/a-trainers-test-dialogue.json b/src/locales/zh_CN/mystery-encounters/a-trainers-test-dialogue.json new file mode 100644 index 00000000000..c99ccba5f48 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/a-trainers-test-dialogue.json @@ -0,0 +1,47 @@ +{ + "intro": "一个十分强大的训练家向你走来…", + "buck": { + "intro_dialogue": "哟,训练师!我叫麦可。$我有一个非常棒的提议,\n适合像你这样强大的训练师!$我随身带着两颗稀有的宝可梦蛋,\n但我想让别人来照顾一颗。$如果你能向我证明你作为训练师的实力,\n我会给你更稀有的蛋!", + "accept": "芜!!我燃起来了!", + "decline": "害,看起来你的\n队伍状态不佳。$来,让我来帮忙。" + }, + "cheryl": { + "intro_dialogue": "你好,我是芽米。$我有一个特别有趣的请求,\n因为看起来你是一位强大的训练师。$我随身带着两颗稀有的宝可梦蛋,\n但我想让别人照顾一颗。$如果你能向我证明你作为训练师的实力,\n我会给你更稀有的蛋!", + "accept": "我希望你准备好了!", + "decline": "我明白,看起来你的团队\n目前状态不佳。$来,让我来帮忙。" + }, + "marley": { + "intro_dialogue": "……@d{64} 我是米依。$我有一个提议给你...$我随身带着两颗宝可梦蛋,\n但我想让别人照顾一颗。$如果你比我强,\n我会给你更稀有的蛋。", + "accept": "……我明白了。", + "decline": "... 我明白了。$你的宝可梦看起来伤得很重...\n让我来帮忙。" + }, + "mira": { + "intro_dialogue": "嗨!我是麦儿!$麦儿有一个请求\n需要像你一样强大的训练师!$麦儿有两颗稀有的宝可梦蛋,\n但麦儿希望别人拿走一颗!$如果你向麦儿展示你的实力,\n麦儿会给你更稀有的蛋!", + "accept": "你会和麦儿对战吗?\n耶!", + "decline": "噢……不战斗?\n没关系!$来,麦尔会治疗你的宝可梦!" + }, + "riley": { + "intro_dialogue": "我是亚玄。$我有一个有点怪的提议,\n毕竟面前是像你这样的强大训练师。$我随身带着两颗稀有的宝可梦蛋,\n但我想把其中一颗送给另一位训练师。$如果你能向我证明你的实力,\n我会给你更稀有的蛋!", + "accept": "你那表情……\n我们开始吧。", + "decline": "我明白,毕竟你的队伍看起来很疲惫。$来,让我来帮你。" + }, + "title": "训练家试炼", + "description": "不管你选择什么,此训练家都会给你一个蛋。\n然而,如果你能击败他,就会获得一个更稀有的蛋。", + "query": "你要怎么做?", + "option": { + "1": { + "label": "接受挑战", + "tooltip": "(-)艰难的战斗\n(+)获得一个@[TOOLTIP_TITLE]{非常稀有的蛋}" + }, + "2": { + "label": "拒绝挑战", + "tooltip": "(+)治疗全队\n(+)获得一个@[TOOLTIP_TITLE]{蛋}" + } + }, + "eggTypes": { + "rare": "稀有的蛋", + "epic": "史诗的蛋", + "legendary": "传说的蛋" + }, + "outro": "{{statTrainerName}}给了你{{eggType}}!" +} diff --git a/src/locales/zh_CN/mystery-encounters/absolute-avarice-dialogue.json b/src/locales/zh_CN/mystery-encounters/absolute-avarice-dialogue.json new file mode 100644 index 00000000000..6637d3ff7ed --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/absolute-avarice-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "一个{{greedentName}}埋伏了你\\n并且偷走了你队伍携带的树果!", + "title": "贪得无厌", + "description": "{{greedentName}}让你措手不及,现在你所有的树果都被夺走了!\n\n{{greedentName}}正要吃掉它们时,突然停下来饶有兴趣地看着你。", + "query": "你要怎么做?", + "option": { + "1": { + "label": "必须战斗", + "tooltip": "(-)艰难的战斗\n(+)树果宝藏的奖励", + "selected": "{{greedentName}}塞满脸颊\n并准备战斗!", + "boss_enraged": "{{greedentName}}对食物的热衷让它非常愤怒!", + "food_stash": "{{greedentName}}似乎守护着一大堆食物!$@s{item_fanfare}你队伍中的每个神奇宝贝都会获得{{foodReward}}!" + }, + "2": { + "label": "讲点道理", + "tooltip": "(+)拿回一些失去的树果", + "selected": "你的恳求引起了{{greedentName}}的共鸣。$它不会把你所有的果子都归还给你,但仍然会扔给你一些。" + }, + "3": { + "label": "让它拿吧", + "tooltip": "(-)失去所有树果\n(?){{greedentName}}会很感激你", + "selected": "{{greedentName}}一瞬间就吃掉了整个树果堆!$它拍拍肚子,\n感激地看着你。$也许你可以在冒险中喂它\n更多浆果……$@s{level_up_fanfare}{{greedentName}}想加入你的队伍!" + } + } +} diff --git a/src/locales/zh_CN/mystery-encounters/an-offer-you-cant-refuse-dialogue.json b/src/locales/zh_CN/mystery-encounters/an-offer-you-cant-refuse-dialogue.json new file mode 100644 index 00000000000..d920e4e52d1 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/an-offer-you-cant-refuse-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "一名看上去就很有钱的小男孩拦住了你。", + "speaker": "富家子弟", + "intro_dialogue": "向你问好。$你的{{strongestPokemon}}看起来举世无双,我挪不开我的眼睛了!\n$我一直也想要一只那样的宝可梦!$你的报酬不会少的,\n这个老家伙也可以送给你!", + "title": "难以拒绝的买卖", + "description": "对方愿意为了你的{{strongestPokemon}}出一个@[TOOLTIP_TITLE]{闪光护符}和{{price, money}}。\n\n这交易非常值得,但是你真的舍得放弃如此强大的伙伴吗?", + "query": "你要怎么做?", + "option": { + "1": { + "label": "接受交易", + "tooltip": "(-)失去{{strongestPokemon}}\n(+)获得一个@[TOOLTIP_TITLE]{闪光护符}\n(+)获得{{price, money}}", + "selected": "太棒了!@d{32}过来吧,{{strongestPokemon}}!$现在是时候向游艇俱乐部的那帮小子炫耀一番了!$他们肯定得酸爆了!" + }, + "2": { + "label": "敲诈他", + "tooltip": "(+){{option2PrimaryName}}使用{{moveOrAbility}}\n(+)获得{{price, money}}", + "tooltip_disabled": "你的宝可梦需要具备某些特性或招式才能选择此项", + "selected": "我的天,你抢劫我。{{liepardName}},走了!$我要找律师告你!" + }, + "3": { + "label": "离开", + "tooltip": "(-)无奖励", + "selected": "真够跌份儿的……$啊,好吧。那我们回游艇吧,{{liepardName}}。" + } + } +} diff --git a/src/locales/zh_CN/mystery-encounters/berries-abound-dialogue.json b/src/locales/zh_CN/mystery-encounters/berries-abound-dialogue.json new file mode 100644 index 00000000000..9e2240e2aea --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/berries-abound-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "宝可梦旁边\n有着巨大的树果丛!", + "title": "硕“果”累累", + "description": "似乎有强大的宝可梦守护着树果丛。\n最简单的方法是战斗,但它的实力不容小觑。\n也许一只速度很快的宝可梦可以乘机顺走一些树果?", + "query": "你要怎么做?", + "berries": "树果!!", + "option": { + "1": { + "label": "与它战斗", + "tooltip": "(-)艰难的战斗\n(+)获得树果", + "selected": "你无所畏惧地\n走向了宝可梦们。" + }, + "2": { + "label": "冲向果丛", + "tooltip": "(-){{fastestPokemon}}试试速度\n(+)获得树果", + "selected": "你的{{fastestPokemon}}冲向了果丛!$它在{{enemyPokemon}}做出反应之前成功抓住了{{numBerries}}!$你带着你的战利品迅速撤退。", + "selected_bad": "你的{{fastestPokemon}}向浆果丛奔去!$哦不!{{enemyPokemon}}速度更快,挡住了它的去路!", + "boss_enraged": "对方的{{enemyPokemon}}变得非常愤怒!" + }, + "3": { + "label": "离开", + "tooltip": "(-)无奖励", + "selected": "你让那个宝可梦留着属于它的果子\n继续上路了。" + } + } +} diff --git a/src/locales/zh_CN/mystery-encounters/bug-type-superfan-dialogue.json b/src/locales/zh_CN/mystery-encounters/bug-type-superfan-dialogue.json new file mode 100644 index 00000000000..c63c74dc248 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/bug-type-superfan-dialogue.json @@ -0,0 +1,40 @@ +{ + "intro": "一个特殊的训练家带着各种捕虫设备挡住了你的去路!", + "intro_dialogue": "嘿,训练家!我正在寻找最稀有的虫系宝可梦!\n你一定也很喜欢虫系宝可梦吧?\n大家都喜欢虫系宝可梦!", + "title": "超级虫系粉丝", + "speaker": "超级虫系粉丝", + "description": "训练家喋喋不休,根本不听你回应…\n\n似乎唯一的办法就是引起他的注意!", + "query": "你要怎么做?", + "option": { + "1": { + "label": "请求对战", + "tooltip": "(-)挑战对战\n(+)习得虫系招式", + "selected": "对战,呃?\n我的虫系宝可梦早就准备好了。" + }, + "2": { + "label": "展示虫宝可梦", + "tooltip": "(+)获得一件道具", + "disabled_tooltip": "你需要至少携带一只虫系宝可梦", + "selected": "你向训练师展示了你所有的虫系宝可梦", + "selected_0_to_1": "哈?你才有{{numBugTypes}}。$你对我来说真是浪费时间。", + "selected_2_to_3": "嘿,你有{{numBugTypes}}!\n不错。$来,这能帮你多抓点虫虫。", + "selected_4_to_5": "啥?你有{{numBugTypes}}!!\n牛啊!$你还没有达到我的水平,\n但我可以从你身上看到自己的影子!$拿着,我的小徒弟!", + "selected_6": "哇哦!{{numBugTypes}}种虫虫!\n$您一定和我一样喜欢虫属性!$来,把这个当作我们友谊的象征吧!" + }, + "3": { + "label": "赠送虫系道具", + "tooltip": "(-)给予训练师{{requiredBugItems}}\n(+)得到一件礼物", + "disabled_tooltip": "你需要一件{{requiredBugItems}}才能选择", + "select_prompt": "选择一件道具", + "invalid_selection": "宝可梦未持有该类道具", + "selected": "你递交了{{selectedItem}}.", + "selected_dialogue": "哇!一件{{selectedItem}},给我的?\n你可以啊小子!$为了表达我的谢意,\n我希望你能拥有这份特别的礼物!$这可是我的传家宝啊,现在我希望你能拥有它!" + } + }, + "battle_won": "你利用知识和技巧完美地痛击了我们的弱点!\n作为这一课的学费,请让我教你一个虫系招式!", + "teach_move_prompt": "选择要教给宝可梦的招式", + "confirm_no_teach": "你确定你不需要学习任何招式么?", + "outro": "我看到你的未来将伴随伟大的虫系宝可梦!\n愿我们再次相遇!虫虫出动!", + "numBugTypes_one": "{{count}}种虫系", + "numBugTypes_other": "{{count}}种虫系" +} diff --git a/src/locales/zh_CN/mystery-encounters/clowning-around-dialogue.json b/src/locales/zh_CN/mystery-encounters/clowning-around-dialogue.json new file mode 100644 index 00000000000..5eb739e3b18 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/clowning-around-dialogue.json @@ -0,0 +1,34 @@ +{ + "intro": "是个…@d{64}小丑?", + "speaker": "小丑", + "intro_dialogue": "小丑踩高跷,战斗要来到!\n吵吵闹闹,将你打倒!", + "title": "小丑闹剧", + "description": "有点不对劲,这小丑想要挑衅你,\n目的是什么呢?\n尤其是那{{blacephalonName}}看起来非常奇怪,就好像它有着@[TOOLTIP_TITLE]{与众不同的属性和特性。}", + "query": "你要怎么做?", + "option": { + "1": { + "label": "与小丑战斗", + "tooltip": "(-)奇妙的战斗\n(?)影响宝可梦特性", + "selected": "你可怜的宝可梦正准备进行可悲的表演!", + "apply_ability_dialogue": "精彩的演出!\n出色的指挥与夺目的招式相得益彰!", + "apply_ability_message": "小丑将永久地将你的一只宝可梦的特性交换为{{ability}}!", + "ability_prompt": "你想永久地教会一只宝可梦{{ability}}吗?", + "ability_gained": "@s{level_up_fanfare}{{chosenPokemon}}获得了{{ability}}特性!" + }, + "2": { + "label": "保持冷静", + "tooltip": "(-)让小丑失望\n(?)影响宝可梦道具", + "selected": "小懦夫,竟敢拒绝我。\n尝尝我的厉害!", + "selected_2": "小丑的{{blacephalonName}}使用了戏法!\n你的{{switchPokemon}}的所有道具都被随机变换了!", + "selected_3": "傻了吧,我的把戏毫无破绽!" + }, + "3": { + "label": "骂回去", + "tooltip": "(-)让小丑失望\n(?)影响宝可梦属性", + "selected": "小懦夫,竟敢拒绝我。\n尝尝我的厉害!", + "selected_2": "小丑的{{blacephalonName}}使用了一个奇异的招式!\n你队伍的所有属性都被随机变换了!", + "selected_3": "傻了吧,我的把戏毫无破绽!" + } + }, + "outro": "小丑和他的帮手\n在一阵烟雾中消失了。" +} diff --git a/src/locales/zh_CN/mystery-encounters/dancing-lessons-dialogue.json b/src/locales/zh_CN/mystery-encounters/dancing-lessons-dialogue.json new file mode 100644 index 00000000000..e1818ce06c1 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/dancing-lessons-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "一位{{oricorioName}}正孤独起舞,没有舞伴。", + "title": "舞蹈课", + "description": "{{oricorioName}}并不咄咄逼人,反而有些哀伤。\n\n也许他只想找个人一起跳舞…", + "query": "你要怎么做?", + "option": { + "1": { + "label": "战斗", + "tooltip": "(-)艰难的战斗\n(+)获得接力棒", + "selected": "{{oricorioName}}变得急躁,想要采取行动进行自卫!", + "boss_enraged": "{{oricorioName}}的恐惧使它的能力上升了!" + }, + "2": { + "label": "学习它的舞蹈", + "tooltip": "(+)教宝可梦觉醒之舞", + "selected": "您紧盯着{{oricorioName}}的舞蹈表演……$@s{level_up_fanfare}你的{{selectedPokemon}}从{{oricorioName}}那里学到了!" + }, + "3": { + "label": "表演一支舞蹈", + "tooltip": "(-)教{{oricorioName}}一支舞蹈\n(+){{oricorioName}}会喜欢你", + "disabled_tooltip": "你的宝可梦需要习得一种舞蹈动作。", + "select_prompt": "选择一个舞蹈招式", + "selected": "{{oricorioName}}着迷地观看着\n{{selectedPokemon}}展示{{selectedMove}}!$它喜欢这场表演!$@s{level_up_fanfare}{{oricorioName}}想要加入你的队伍!" + } + }, + "invalid_selection": "该宝可梦无法学会跳舞招式" +} diff --git a/src/locales/zh_CN/mystery-encounters/dark-deal-dialogue.json b/src/locales/zh_CN/mystery-encounters/dark-deal-dialogue.json new file mode 100644 index 00000000000..82863084de7 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/dark-deal-dialogue.json @@ -0,0 +1,24 @@ + + +{ + "intro": "一个穿着破旧大衣的陌生人\\n挡在你的路上…", + "speaker": "可疑的家伙", + "intro_dialogue": "嘿,你!我一直在研究一种新装置,\n能让宝可梦从原子级重组,变成更强大的形态!\n嘿嘿…@d{64}我只需要一点祭…@d{32}\n我是说,试验品,来证明它的效果。", + "title": "黑暗交易", + "description": "这个诡异的家伙举起一些精灵球。\n我会让你感到物超所值的!\n我只要你队伍里的一只宝可梦,这些强力的精灵球就是你的了,嘿嘿…", + "query": "你要怎么做?", + "option": { + "1": { + "label": "同意", + "tooltip": "(+)5个肉鸽球\n(?)强化随机宝可梦", + "selected_dialogue": "我看看,那只{{pokeName}}挺不错的!$记住,要是啥搞砸了\n我可不负责!@d{32}嘿嘿……", + "selected_message": "男人把五个肉鸽球教给你${{pokeName}}跳进了奇怪的机器$在机器的内部\n光芒四溢,雷声作响!$……@d{96}一个诡异的声音\n从机器中浮现,发出低吼。" + }, + "2": { + "label": "拒绝", + "tooltip": "(-)无奖励", + "selected": "都不帮哥们儿个忙吗?\n害!" + } + }, + "outro": "令人不适的遭遇结束后\n你收拾了一下,继续上路了。" +} diff --git a/src/locales/zh_CN/mystery-encounters/delibirdy-dialogue.json b/src/locales/zh_CN/mystery-encounters/delibirdy-dialogue.json new file mode 100644 index 00000000000..82b114b401b --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/delibirdy-dialogue.json @@ -0,0 +1,29 @@ + + +{ + "intro": "一伙{{delibirdName}}出现了!", + "title": "信使鸟快递", + "description": "{{delibirdName}}满怀期待地看着你,它们好像想要什么东西。\\n也许给它们一件道具或一些钱能让它们满意?", + "query": "你要给它们什么?", + "invalid_selection": "宝可梦身上并没有那种道具。", + "option": { + "1": { + "label": "给钱", + "tooltip": "(-)给予{{delibirdName}}们{{money, money}}\n(+)获得一件礼物", + "selected": "你向{{delibirdName}}们扔了点钱,\n它们兴奋地互相嚷嚷着。$信使鸟们转向你并高兴地给你一份礼物!" + }, + "2": { + "label": "给吃的", + "tooltip": "(-)给予{{delibirdName}}们树果或复活之种\n(+)获得一件礼物", + "select_prompt": "选择要给予的道具", + "selected": "你向{{delibirdName}}们扔了点{{chosenItem}},\n它们兴奋地互相嚷嚷着。$信使鸟们转向你并高兴地给你一份礼物!" + }, + "3": { + "label": "给道具", + "tooltip": "(-)给予{{delibirdName}}一件道具\n(+)获得一件礼物", + "select_prompt": "选择要给予的道具", + "selected": "你向{{delibirdName}}们扔了点{{chosenItem}},\n它们兴奋地互相嚷嚷着。$信使鸟们转向你并高兴地给你一份礼物!" + } + }, + "outro": "{{delibirdName}}们兴高采烈地摇摆着,走向远方。$多么有趣的小交易!" +} diff --git a/src/locales/zh_CN/mystery-encounters/department-store-sale-dialogue.json b/src/locales/zh_CN/mystery-encounters/department-store-sale-dialogue.json new file mode 100644 index 00000000000..09c23762ea9 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/department-store-sale-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "一位提着一大堆购物袋的女士。", + "speaker": "大促销", + "intro_dialogue": "你好!你也是来参加促销活动的吗?\n在促销期间,可以领取一张特别优惠券,用于购买免费商品!\n我这有一张多余的优惠券。送你了!", + "title": "百货公司促销", + "description": "到处都是商品!\n好像有4个柜台可以让你用优惠券兑换商品。\n无尽可能!", + "query": "你要去哪里?", + "option": { + "1": { + "label": "技能机柜台", + "tooltip": "(+)技能机商店" + }, + "2": { + "label": "努力药柜台", + "tooltip": "(+)努力药商店" + }, + "3": { + "label": "强化道具柜台", + "tooltip": "(+)强化道具商店" + }, + "4": { + "label": "精灵球柜台", + "tooltip": "(+)精灵球商店" + } + }, + "outro": "真划算!早该去去了。" +} diff --git a/src/locales/zh_CN/mystery-encounters/field-trip-dialogue.json b/src/locales/zh_CN/mystery-encounters/field-trip-dialogue.json new file mode 100644 index 00000000000..5458c4f18bc --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/field-trip-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "是一位老师和几个学生!", + "speaker": "人民教师", + "intro_dialogue": "你好!你能为我的学生们抽出一点时间吗?\n我正在教他们宝可梦的招式!\n最好能有个示范来展示一下。$你介意向我们展示一下\n你的宝可梦所使用的招式吗?", + "title": "外出实践", + "description": "一位老师请求进行宝可梦招式演示。\n根据你选择的招式,她可能会给你\n一些有用的东西作为报酬。", + "query": "你要展示哪种类型的招式?", + "option": { + "1": { + "label": "物理招式", + "tooltip": "(+)物理类奖励" + }, + "2": { + "label": "特殊招式", + "tooltip": "(+)特殊类奖励" + }, + "3": { + "label": "变化招式", + "tooltip": "(+)变化类奖励" + }, + "selected": "{{pokeName}}完美地展示了{{move}}!" + }, + "second_option_prompt": "选择一个宝可梦的招式。", + "incorrect": "...$那好像不是{{moveCategory}}招式!\n对不起,我不打算给你任何东西了。$来吧孩子们,我们去别的地方\n找找更好的示范。", + "incorrect_exp": "看来你学到了宝贵的一课?$你的宝可梦也获得了一些经验。", + "correct": "感谢您的好心!\n这些东西希望对你有用!", + "correct_exp": "{{pokeName}}同样也获得了一些经验!", + "status": "变化类", + "physical": "物理类", + "special": "特殊类" +} diff --git a/src/locales/zh_CN/mystery-encounters/fiery-fallout-dialogue.json b/src/locales/zh_CN/mystery-encounters/fiery-fallout-dialogue.json new file mode 100644 index 00000000000..7113ecab2a1 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/fiery-fallout-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "你遭遇了一场烟灰风暴!", + "title": "炽热余波", + "description": "呼啸的火山灰和余烬使能见度几乎为零。\n看来可能有什么…东西造成了这种状况。\n但到底会是什么呢?", + "query": "你要怎么做?", + "option": { + "1": { + "label": "找到源头", + "tooltip": "(?)寻找源头\n(-)困难的战斗", + "selected": "你冲破风暴,发现两只{{volcaronaName}}正在相互求偶!$它们很不情愿被打扰,并发起了攻击!" + }, + "2": { + "label": "原地趴下", + "tooltip": "(-)忍受天气的影响", + "selected": "当您努力寻找庇护所时,天气影响会造成严重伤害!$您的队伍受到最大生命值20%的伤害!", + "target_burned": "你的{{burnedPokemon}}还被灼伤了!" + }, + "3": { + "label": "让火系宝可梦帮忙", + "tooltip": "(+)解决困境\n(+)获得木炭", + "disabled_tooltip": "你至少需要两只火系宝可梦来选择", + "selected": "你的{{option3PrimaryName}}和{{option3SecondaryName}}引导你发现了两只{{volcaronaName}}正在求偶起舞的地方!$幸运的是,你的宝可梦能够让它们平静下来,\n然后它们就平安离开了。" + } + }, + "found_charcoal": "天气转晴后,你的{{leadPokemon}}沾上了什么东西。\\n@s{item_fanfare}{{leadPokemon}}获得了煤炭!" +} diff --git a/src/locales/zh_CN/mystery-encounters/fight-or-flight-dialogue.json b/src/locales/zh_CN/mystery-encounters/fight-or-flight-dialogue.json new file mode 100644 index 00000000000..e60a73e885f --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/fight-or-flight-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "宝可梦附近的地上\n有闪闪发光的东西!", + "title": "战逃反应", + "description": "似乎有强大的宝可梦守护着这一道具。\n战斗是最直接的方法,但是它的实力似乎不容小觑。\n如果你有合适的宝可梦,似乎也可以直接偷走它。", + "query": "你要怎么做?", + "option": { + "1": { + "label": "战斗", + "tooltip": "(-)困难的战斗\n(+)新道具", + "selected": "你无所畏惧的走向宝可梦。", + "stat_boost": "{{enemyPokemon}}的潜在实力提升了它的一项能力!" + }, + "2": { + "label": "窃取物品", + "disabled_tooltip": "你的宝可梦需要习得特定的招式来选择。", + "tooltip": "(+){{option2PrimaryName}}使用{{option2PrimaryMove}}", + "selected": ".@d{32}.@d{32}.@d{32}$你的{{option2PrimaryName}}愿意帮忙,并使用了{{option2PrimaryMove}}!$你偷走了道具!" + }, + "3": { + "label": "离开", + "tooltip": "(-)无奖励", + "selected": "你决定把宝贝留给这只宝可梦\n并继续上路了。" + } + } +} diff --git a/src/locales/zh_CN/mystery-encounters/fun-and-games-dialogue.json b/src/locales/zh_CN/mystery-encounters/fun-and-games-dialogue.json new file mode 100644 index 00000000000..d732a2444bd --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/fun-and-games-dialogue.json @@ -0,0 +1,30 @@ +{ + "intro_dialogue": "来看看吧,大伙!\n在这全新的{{wobbuffetName}}捶捶乐上试试运气!\n", + "speaker": "艺人", + "title": "快乐游戏!", + "description": "你遇到了一个有奖游戏活动!\n你有 @[TOOLTIP_TITLE]{3 回合}的时间来在\n@[TOOLTIP_TITLE]{不打倒}{{wobbuffetName}}的情况下将它尽可能的打到@[TOOLTIP_TITLE]{1血}\n这样,它就能通过反作用力在敲钟器上打出超高数字!\n但要小心!如果你不小心打倒了{{wobbuffetName}},你就得付医疗费!", + "query": "要试试么?", + "option": { + "1": { + "label": "游玩游戏", + "tooltip": "(-)支付{{option1Money, money}}\n(+)玩{{wobbuffetName}}重拳出击!", + "selected": "该试试你的运气了" + }, + "2": { + "label": "离开", + "tooltip": "(-)无奖励", + "selected": "你匆匆上路,心里却有一丝遗憾。" + } + }, + "ko": "哦不!{{wobbuffetName}}被打倒了!\n你不仅输了,还要赔医疗费…", + "charging_continue": "果然翁正在准备反击!", + "turn_remaining_3": "还有3个回合!", + "turn_remaining_2": "还有2个回合!", + "turn_remaining_1": "还有1个回合!", + "end_game": "时间到!{{wobbuffetName}}使出了双倍奉还!\n然后…@d{16}…@d{16}…@d{16}", + "best_result": "{{wobbuffetName}}猛击了按钮,打穿了进度条!\n你赢得了大奖!", + "great_result": "{{wobbuffetName}}猛击了按钮,就快碰到到钟了!\n就差一点!你获得了二等奖!", + "good_result": "{{wobbuffetName}}猛击了按钮,填满了一半进度条!\n你获得了三等奖!", + "bad_result": "{{wobbuffetName}}软绵绵的打向按钮,几乎没什么动静…\n你什么奖都没有!", + "outro": "真是有趣的小游戏!" +} diff --git a/src/locales/zh_CN/mystery-encounters/global-trade-system-dialogue.json b/src/locales/zh_CN/mystery-encounters/global-trade-system-dialogue.json new file mode 100644 index 00000000000..edc83ed5f08 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/global-trade-system-dialogue.json @@ -0,0 +1,32 @@ +{ + "intro": "是GTS系统的交互面板!", + "title": "全球交换系统(GTS)", + "description": "啊,GTS!科学的奇迹,\\n你可以与世界各地的任何人联系,与他们交换宝可梦!\\n今天你的交换会有好运吗?", + "query": "你要怎么做?", + "option": { + "1": { + "label": "查找交换请求", + "tooltip": "(+)为一只宝可梦选择交换", + "trade_options_prompt": "选择一只要通过交换接收的神奇宝贝。" + }, + "2": { + "label": "奇迹交换", + "tooltip": "(+)将你的一只宝可梦送至GTS,并获得一只随机宝可梦作为回报" + }, + "3": { + "label": "道具交换", + "trade_options_prompt": "选择要发送的道具", + "invalid_selection": "这只宝可梦没有合法道具可以被交换。", + "tooltip": "(+)将你的一件道具发送到GTS并获得一件随机新道具" + }, + "4": { + "label": "离开", + "tooltip": "(-)无奖励", + "selected": "今日不宜交换!\n你上路了。" + } + }, + "pokemon_trade_selected": "{{tradedPokemon}}将发送给{{tradeTrainerName}}。", + "pokemon_trade_goodbye": "再见,{{tradedPokemon}}!", + "item_trade_selected": "{{chosenItem}}将发送给{{tradeTrainerName}}.$.@d{64}.@d{64}.@d{64}\\n@s{level_up_fanfare}交易成功!$你从{{tradeTrainerName}}那得到了{{itemName}}!", + "trade_received": "@s{evolution_fanfare}{{tradeTrainerName}}已发送{{received}}!" +} diff --git a/src/locales/zh_CN/mystery-encounters/lost-at-sea-dialogue.json b/src/locales/zh_CN/mystery-encounters/lost-at-sea-dialogue.json new file mode 100644 index 00000000000..9d769e99d83 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/lost-at-sea-dialogue.json @@ -0,0 +1,28 @@ +{ + "intro": "在大海中漫无目的地游荡,无处可循。", + "title": "迷失大海", + "description": "这片海域波涛汹涌,你的体力即将耗尽。\\n太糟了,有什么办法么?", + "query": "你要怎么做?", + "option": { + "1": { + "label": "{{option1PrimaryName}}可以帮忙", + "label_disabled": "无法{{option1RequiredMove}}", + "tooltip": "(+){{option1PrimaryName}}帮助你\n(+){{option1PrimaryName}}获得经验值", + "tooltip_disabled": "你没有宝可梦能够{{option1RequiredMove}}", + "selected": "{{option1PrimaryName}}游在前面,引导你回到正轨。${{option1PrimaryName}}似乎也在这次需要它的时候变得更强大了!" + }, + "2": { + "label": "{{option2PrimaryName}}可以帮忙", + "label_disabled": "无法{{option2RequiredMove}}", + "tooltip": "(+){{option2PrimaryName}}帮助你\n(+){{option2PrimaryName}}获得经验值", + "tooltip_disabled": "你没有宝可梦能够{{option2RequiredMove}}", + "selected": "{{option2PrimaryName}}飞在你的船前面,引导你回到正轨。在这次需要它的时候,${{option2PrimaryName}}似乎也变得更强大了!" + }, + "3": { + "label": "漫无目的地漂流", + "tooltip": "(-)每一只宝可梦损失{{damagePercentage}}%的HP", + "selected": "你在船上漂浮,漫无目的地航行,直到最后发现了一个你记得的地标。$你和你的宝可梦因整个经历而疲惫不堪。" + } + }, + "outro": "一切又回到正轨了。" +} diff --git a/src/locales/zh_CN/mystery-encounters/mysterious-challengers-dialogue.json b/src/locales/zh_CN/mystery-encounters/mysterious-challengers-dialogue.json new file mode 100644 index 00000000000..574c577127c --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/mysterious-challengers-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "神秘的挑战者出现了!", + "title": "神秘挑战者", + "description": "如果你击败了挑战者,你给他们留下的强烈印象可能会换来奖励。\\n但他们看起来很强,要接受挑战么?", + "query": "你要接受谁的挑战?", + "option": { + "1": { + "label": "谨慎的对手", + "tooltip": "(-)普通的战斗\n(+)道具奖励" + }, + "2": { + "label": "自信的对手", + "tooltip": "(-)困难的战斗\n(+)更好的奖励" + }, + "3": { + "label": "威严的对手", + "tooltip": "(-)艰苦的战斗\n(+)丰厚的奖励" + }, + "selected": "训练师走上前来……" + }, + "outro": "神秘挑战者被击败了!" +} diff --git a/src/locales/zh_CN/mystery-encounters/mysterious-chest-dialogue.json b/src/locales/zh_CN/mystery-encounters/mysterious-chest-dialogue.json new file mode 100644 index 00000000000..2ccba9215ae --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/mysterious-chest-dialogue.json @@ -0,0 +1,23 @@ +{ + "intro": "你发现了一个…@d{32}宝箱?", + "title": "神秘宝箱", + "description": "一个装饰精美的箱子立在地上。里面一定有好东西…吧?", + "query": "要打开么?", + "option": { + "1": { + "label": "打开", + "tooltip": "@[SUMMARY_BLUE]{(35%) 某种东西}\n@[SUMMARY_GREEN]{({{trapPercent}}%) 一般奖励}\n@[SUMMARY_GREEN]{({{commonPercent}}%) 精美奖励}\n@[SUMMARY_GREEN]{({{roguePercent}}%) 珍稀奖励}\n@[SUMMARY_GREEN]{({{masterPercent}}%) 超凡奖励}", + "selected": "你打开箱子发现......", + "normal": "只是一些普通的工具和物品。", + "good": "一些不错的工具和物品!", + "great": "一些很稀有的工具和物品!!", + "amazing": "哇!金色传说!", + "bad": "哦不!@d{32}\n这个箱子实际上是一个伪装的{{gimmighoul Name}}!$你的{{pokeName}}跳到了你面前\n但为了保护你被打倒了!" + }, + "2": { + "label": "有诈,走了", + "tooltip": "(-)无奖励", + "selected": "你匆匆上路,心里却有一丝遗憾。" + } + } +} diff --git a/src/locales/zh_CN/mystery-encounters/part-timer-dialogue.json b/src/locales/zh_CN/mystery-encounters/part-timer-dialogue.json new file mode 100644 index 00000000000..437a34ecd1a --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/part-timer-dialogue.json @@ -0,0 +1,31 @@ +{ + "intro": "一个忙碌的工人向你招手。", + "speaker": "工人", + "intro_dialogue": "你看起来有不少能干的宝可梦!\n如果你愿意帮忙干点活,我们会付钱的!", + "title": "兼职", + "description": "似乎有不少活要干。根据你宝可梦对任务的适应度,\n你能获得或多或少的报酬。", + "query": "你要干什么活?", + "invalid_selection": "宝可梦必须足够健康", + "option": { + "1": { + "label": "外卖", + "tooltip": "(-)宝可梦使用速度\n(+)赚取@[MONEY]{Money}", + "selected": "您的{{selectedPokemon}}轮班为客户配送订单。" + }, + "2": { + "label": "仓管", + "tooltip": "(-)宝可梦使用力量和耐力\n(+)赚取@[MONEY]{Money}", + "selected": "你的{{selectedPokemon}}轮班工作,在仓库内搬运物品。" + }, + "3": { + "label": "销售", + "tooltip": "(-)你的{{option3PrimaryName}}使用{{option3PrimaryMove}}\n(+)赚取@[MONEY]{Money}", + "disabled_tooltip": "你的宝可梦需要习得适合这份工作的招式", + "selected": "你的{{option3PrimaryName}}花费一天时间使用{{option3PrimaryMove}}来吸引客户!" + } + }, + "job_complete_good": "谢谢你的帮助!\n你的{{selectedPokemon}}帮了大忙了!这是你的日结。", + "job_complete_bad": "你的{{selectedPokemon}}也帮了不少忙!这是你的日结。", + "pokemon_tired": "你的{{selectedPokemon}}疲惫不堪!\n它所有招式的PP值只剩2点!", + "outro": "下次还来帮忙啊!" +} diff --git a/src/locales/zh_CN/mystery-encounters/safari-zone-dialogue.json b/src/locales/zh_CN/mystery-encounters/safari-zone-dialogue.json new file mode 100644 index 00000000000..b8a17aaccf4 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/safari-zone-dialogue.json @@ -0,0 +1,46 @@ +{ + "intro": "到狩猎地带了!", + "title": "狩猎地带", + "description": "这里有各种稀有和特殊的宝可梦!\n如果选择进入,你将有3次机会遇到野生宝可梦,供你捕获。\n但注意了,它们可能会在你捕捉到之前逃走!", + "query": "要进去试试吗?", + "option": { + "1": { + "label": "进入", + "tooltip": "(-)支付{{option1Money, money}}\n@[SUMMARY_GREEN]{(?)狩猎地带}", + "selected": "该试试运气了!" + }, + "2": { + "label": "离开", + "tooltip": "(-)无奖励", + "selected": "你匆匆上路,心里却有一丝遗憾。" + } + }, + "safari": { + "1": { + "label": "投掷精灵球", + "tooltip": "(+)投掷一颗精灵球", + "selected": "你扔出了精灵球!" + }, + "2": { + "label": "投掷诱饵", + "tooltip": "(+)增加捕获率\n(-)有概率增加逃跑率", + "selected": "你扔了些诱饵!" + }, + "3": { + "label": "投掷泥巴", + "tooltip": "(+)降低逃跑率\n(-)有概率降低逃跑率", + "selected": "你扔了些泥巴!" + }, + "4": { + "label": "逃跑", + "tooltip": "(?)逃离宝可梦" + }, + "watching": "{{pokemonName}}正在凝视你!", + "eating": "{{pokemonName}}正在进食!", + "busy_eating": "{{pokemonName}}忙着进食!", + "angry": "{{pokemonName}}发怒了!", + "beside_itself_angry": "{{pokemonName}}愤怒至极!", + "remaining_count": "还有{{remainingCount}}只宝可梦!" + }, + "outro": "真是有趣的经历!" +} diff --git a/src/locales/zh_CN/mystery-encounters/shady-vitamin-dealer-dialogue.json b/src/locales/zh_CN/mystery-encounters/shady-vitamin-dealer-dialogue.json new file mode 100644 index 00000000000..570035d8670 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/shady-vitamin-dealer-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "一个穿着深色大衣的人向你走来。", + "speaker": "可疑的销售", + "intro_dialogue": ".@d{16}.@d{16}.@d{16}\n我有货,要来点么?\n当然,你的宝可梦得顶得住。", + "title": "营养饮料商人", + "description": "男子打开外套,露出一些宝可梦营养饮料。\n他报出的数字非常划算。有点太划算了…\n他提供两种套餐供你选择。", + "query": "你要选哪一种?", + "invalid_selection": "宝可梦必须足够健康", + "option": { + "1": { + "label": "经济套餐", + "tooltip": "(-)支付{{option1Money, money}}\n(-)副作用?\n(+)选择的宝可梦获得两份随机努力药" + }, + "2": { + "label": "高级套餐", + "tooltip": "(-)支付{{option2Money, money}}\n(+)选择的宝可梦获得两份随机努力药" + }, + "3": { + "label": "离开", + "tooltip": "(-)无奖励", + "selected": "呵呵,没想到你竟然是个懦夫。" + }, + "selected": "那人递给你两瓶东西后\n然后很快就消失了。${{selected Pokemon}}获得了{{boost}}和{{boost 2}}提升!" + }, + "cheap_side_effects": "但是药物有一些副作用!$你的{{selectedPokemon}}受到一些伤害,\n并且它的性格变为{{newNature}}!", + "no_bad_effects": "看来药物完全没有副作用!" +} diff --git a/src/locales/zh_CN/mystery-encounters/slumbering-snorlax-dialogue.json b/src/locales/zh_CN/mystery-encounters/slumbering-snorlax-dialogue.json new file mode 100644 index 00000000000..a9dda26cd2d --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/slumbering-snorlax-dialogue.json @@ -0,0 +1,25 @@ +{ + "intro": "当你走在一条狭窄的小路上时,\n一个高耸的身影挡住了你的去路。\n当你走近时,你看到了一个{{snorlaxName}}正在酣睡。\n似乎没有办法绕过它。", + "title": "沉睡的{{snorlaxName}}", + "description": "你可以攻击它来让它醒来,要么就等它睡醒。\n谁知道要等多久呢?", + "query": "你要怎么做?", + "option": { + "1": { + "label": "抡醒", + "tooltip": "(-)与沉睡的{{snorlaxName}}战斗\n(+)特别的奖励", + "selected": "你无所畏惧地\n走向了宝可梦们。" + }, + "2": { + "label": "干等", + "tooltip": "(-)漫长的等待\n(+)回复队伍", + "selected": ".@d{32}.@d{32}.@d{32}$您等待了好一段时间,但是\n{{snorlaxName}}的哈欠让你的队伍昏昏欲睡…………", + "rest_result": "当你们醒来时,{{snorlax Name}}已无处可寻。\n但你所有的宝可梦都痊愈了!" + }, + "3": { + "label": "偷摸", + "tooltip": "(+){{option3PrimaryName}}使用{{option3PrimaryMove}}\n(+)特别的奖励", + "disabled_tooltip": "宝可梦需要习得特别的招式来选择", + "selected": "你的{{option3PrimaryName}}使用{{option3PrimaryMove}}!$@s{item_fanfare}它从熟睡的\n{{snorlaxName}}身上偷走了吃剩的东西,简直像个怪盗!" + } + } +} diff --git a/src/locales/zh_CN/mystery-encounters/teleporting-hijinks-dialogue.json b/src/locales/zh_CN/mystery-encounters/teleporting-hijinks-dialogue.json new file mode 100644 index 00000000000..5b4fbf614d8 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/teleporting-hijinks-dialogue.json @@ -0,0 +1,27 @@ +{ + "intro": "一台奇怪的机器,发出呜呜的噪音…", + "title": "瞬移把戏", + "description": "机器上有一块牌子,上面写着:\n“使用时,先投币,然后走入胶囊。”\n\n也许它可以将你传送至某处…", + "query": "你要怎么做?", + "option": { + "1": { + "label": "投币", + "tooltip": "(-)支付{{price, money}}\n(?)传送至随机地图", + "selected": "你投入一些钱,胶囊就打开了。\n你走了进去……" + }, + "2": { + "label": "宝可梦帮忙", + "tooltip": "(-){{option2PrimaryName}}帮忙\n(+){{option2PrimaryName}}获得经验\n(?)传送至随机地图", + "disabled_tooltip": "你需要一只钢系或电系宝可梦来选择此项", + "selected": "{{option2PrimaryName}}的类型允许你绕过机器的付费装置!$胶囊打开,你走进去……" + }, + "3": { + "label": "检查机器", + "tooltip": "(-)战斗", + "selected": "你被闪烁的灯光和机器发出的奇怪声音吸引住了……$你甚至没有注意到一只野生的\n宝可梦偷偷接近并偷袭了你!" + } + }, + "transport": "机器剧烈震动,发出各种奇怪的噪音!\n刚启动没多久,就又一次安静了下来。", + "attacked": "你走出来,到了一个全新的区域,惊动了一只野生宝可梦。\n野生宝可梦发动了攻击!", + "boss_enraged": "敌对的{{enemyPokemon}}被激怒了!" +} diff --git a/src/locales/zh_CN/mystery-encounters/the-expert-pokemon-breeder-dialogue.json b/src/locales/zh_CN/mystery-encounters/the-expert-pokemon-breeder-dialogue.json new file mode 100644 index 00000000000..4ab42a61264 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/the-expert-pokemon-breeder-dialogue.json @@ -0,0 +1,33 @@ +{ + "intro": "这是一位携带大量神奇宝贝蛋的训练师!", + "intro_dialogue": "嘿,训练师!$看起来你的一些\n宝可梦感觉有点沮丧。$为什么不和我打一场来让它们兴奋一下呢?", + "title": "专业饲养员", + "description": "你被发起了一场@[TOOLTIP_TITLE]{只能使用一只宝可梦}的挑战。\n这可能很难,但它肯定会\n加深你与所选神奇宝贝之间的联系!\n如果你赢了,饲养员还会给你一些@[TOOLTIP_TITLE]{蛋}!", + "query": "Who will you battle with?", + "cleffa_1_nickname": "王牌", + "cleffa_2_nickname": "皮氪稀", + "cleffa_3_nickname": "帝王{{speciesName}}", + "option": { + "1": { + "label": "{{pokemon1Name}}", + "tooltip_base": "(-)艰难的战斗\n(+)获得与{{pokemon1Name}}的友谊" + }, + "2": { + "label": "{{pokemon2Name}}", + "tooltip_base": "(-)艰难的战斗\n(+)获得与{{pokemon2Name}}的友谊" + }, + "3": { + "label": "{{pokemon3Name}}", + "tooltip_base": "(-)艰难的战斗\n(+)获得与{{pokemon3Name}}的友谊" + }, + "selected": "我们开始吧!" + }, + "outro": "看看你的 {{chosenPokemon}}现在有多开心!$给,这些你也拿着。", + "outro_failed": "太可惜了……$看起来要让你的宝可梦信任你\n你的路还长着呢。", + + "gained_eggs": "@s{item_fanfare}你获得了{{numEggs}}!", + "eggs_tooltip": "\n(+)获得{{eggs}}", + "numEggs_one": "{{count}}个{{rarity}}蛋", + "numEggs_other": "{{count}}个{{rarity}}蛋" + +} diff --git a/src/locales/zh_CN/mystery-encounters/the-pokemon-salesman-dialogue.json b/src/locales/zh_CN/mystery-encounters/the-pokemon-salesman-dialogue.json new file mode 100644 index 00000000000..1f8c91cf4ca --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/the-pokemon-salesman-dialogue.json @@ -0,0 +1,23 @@ +{ + "intro": "一位精神抖擞的老人向你走来。", + "speaker": "绅士", + "intro_dialogue": "你好啊!我有一份专门为你准备的好买卖!", + "title": "宝可梦销售员", + "description": "“这个{{purchasePokemon}}非常独特,拥有该物种通常不具备的特性!只需{{price, money}}就让你拥有这个与众不同的{{purchasePokemon}}!”\n\n“你怎么说?”", + "description_shiny": "“这个{{purchasePokemon}}非常独特,拥有该物种非常不寻常的颜色!只需{{price, money}}就让你拥有这个与众不同的{{purchasePokemon}}!”\n\n“你怎么说?”", + "query": "你要怎么做?", + "option": { + "1": { + "label": "接受", + "tooltip": "(-)支付{{price, money}}\n(+)获得{{purchasePokemon}}和它的隐藏特性", + "tooltip_shiny": "(-)支付{{price, money}}\n(+)获得一只闪光的{{purchasePokemon}}", + "selected_message": "你花了一大笔钱买了{{purchasePokemon}}.", + "selected_dialogue": "非常好的选择!$我看得出来你对商业有敏锐的眼光。$哦,对了……@d{64}不接受退货,你懂吗?" + }, + "2": { + "label": "拒绝", + "tooltip": "(-)无奖励", + "selected": "不?@d{32} 你说不要?$又不会让你吃亏!" + } + } +} diff --git a/src/locales/zh_CN/mystery-encounters/the-strong-stuff-dialogue.json b/src/locales/zh_CN/mystery-encounters/the-strong-stuff-dialogue.json new file mode 100644 index 00000000000..170ce3193df --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/the-strong-stuff-dialogue.json @@ -0,0 +1,21 @@ +{ + "intro": "眼前是一个巨大的{{shuckleName}}而看起来\n有一大壶……果汁?", + "title": "满满当当", + "description": "挡住你去路的{{shuckleName}}看起来异常强大。与此同时,它旁边的果汁散发着某种力量。\n\n{{shuckleName}}向你伸出了触角。它似乎想做些什么……", + "query": "你要怎么做?", + "option": { + "1": { + "label": "接近{{shuckleName}}", + "tooltip": "(?)可能会发生一些可怕或惊奇的事情", + "selected": "你眼前一黑", + "selected_2": "@f{150}当你醒来时,{{shuckleName}}不见了。\n并且壶里的果汁完全耗尽。${{highBstPokemon1}}和{{highBstPokemon2}}\n觉得一阵可怕的无力感袭来!$他们的基础属性减少了{{reductionValue}}!$然而,你剩下的神奇宝贝却感到精力充沛!\n他们的基础属性增加了{{increaseValue}}!" + }, + "2": { + "label": "与{{shuckleName}}战斗", + "tooltip": "(-)艰难的战斗\n(+)特别的奖励", + "selected": "{{shuckleName}}被激怒了,它喝了一些果汁并发起了攻击!", + "stat_boost": "{{shuckleName}}的果汁提升了它的能力!" + } + }, + "outro": "好诡异的一回啊。" +} diff --git a/src/locales/zh_CN/mystery-encounters/the-winstrate-challenge-dialogue.json b/src/locales/zh_CN/mystery-encounters/the-winstrate-challenge-dialogue.json new file mode 100644 index 00000000000..ecd7d336136 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/the-winstrate-challenge-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "房子外站着一家人!", + "speaker": "连胜家族", + "intro_dialogue": "我们是连胜家族!$你觉得和我们一家人来一场宝可梦车轮战怎么样?", + "title": "连胜家族的挑战", + "description": "连胜家族由 5 名训练师组成,他们想要战斗!\n如果你连续击败他们所有人,他们会给你一份大奖。但你能承受压力吗?", + "query": "你要怎么做?", + "option": { + "1": { + "label": "接受挑战", + "tooltip": "(-)残酷的战斗\n(+)特别的奖励", + "selected": "挑战开始!" + }, + "2": { + "label": "拒绝挑战", + "tooltip": "(+)队伍痊愈\n(+)获得一个超神奇糖果", + "selected": "太可惜了。话说,你们队伍看上去很疲惫,为什么不留下来休息一会儿呢?" + } + }, + "victory": "恭喜您赢得了我们的挑战!\n$事不宜迟,希望您收下这张扭蛋券。", + "victory_2": "此外,我们家也使用这款强制锻炼器来在训练中\n更有效地强化我们的宝可梦。\n鉴于你能打败我们所有人,你可能用不着,\n但我们希望你无论如何都能收下它!" +} diff --git a/src/locales/zh_CN/mystery-encounters/training-session-dialogue.json b/src/locales/zh_CN/mystery-encounters/training-session-dialogue.json new file mode 100644 index 00000000000..8d0b1dea64d --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/training-session-dialogue.json @@ -0,0 +1,33 @@ +{ + "intro": "你遇到了一些\n训练工具和用品。", + "title": "集训", + "description": "这些物品似乎可以用来训练你的队伍!\n有数种方式可以进行训练:让你队伍中的其他宝可梦与其进行对战。", + "query": "要怎么训练?", + "invalid_selection": "宝可梦必须足够健康", + "option": { + "1": { + "label": "轻量训练", + "tooltip": "(-)轻松战斗\n(+)提升随机2只宝可梦的个体", + "finished": "{{selectedPokemon}}回来了,感觉\n虽然疲惫不堪,但很有成就!$它的{{stat1}}和{{stat2}}的个体得到了改善!" + }, + "2": { + "label": "适度训练", + "tooltip": "(-)适中的战斗\n(+)改变宝可梦的性格", + "select_prompt": "选择一种想要的性格\n来训练你的神奇宝贝。", + "finished": "{{selectedPokemon}}回来了,感觉\n虽然疲惫不堪,但很有成就!$它的性格变成了{{nature}}!" + }, + "3": { + "label": "重磅训练", + "tooltip": "(-)艰苦的战斗\n(+)改变宝可梦的特性", + "select_prompt": "选择一种想要的特性\n来训练你的神奇宝贝。", + "finished": "{{selectedPokemon}}回来了,感觉\n虽然疲惫不堪,但很有成就!$它的特性变成了{{nature}}!" + }, + "4": { + "label": "离开", + "tooltip": "(-)无奖励", + "selected": "你无暇训练\n该动身了。" + }, + "selected": "{{selected Pokemon}}穿过空地来到你面前……" + }, + "outro": "这次训练成果不错!" +} diff --git a/src/locales/zh_CN/mystery-encounters/trash-to-treasure-dialogue.json b/src/locales/zh_CN/mystery-encounters/trash-to-treasure-dialogue.json new file mode 100644 index 00000000000..69e719064e9 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/trash-to-treasure-dialogue.json @@ -0,0 +1,19 @@ +{ + "intro": "一大堆垃圾!\n这是从哪儿来的?", + "title": "变废为宝", + "description": "垃圾堆在你眼前晃来晃去,你似乎在垃圾中发现一些有价值的物品。\n不过,你确定要弄得脏兮兮地去拿它们吗?", + "query": "你要怎么做?", + "option": { + "1": { + "label": "挖掘宝贝", + "tooltip": "(-)商店的治疗用品消失\n(+)获得精美礼品", + "selected": "你穿过垃圾堆,没入污秽之中。$在你这样肮脏的状态下,任何有尊严的店主\n都不会卖给你任何东西!$你只能将就将就,不再购买治疗物品。$然而,你在垃圾中还是发现了一些不可思议的宝贝!" + }, + "2": { + "label": "探究来源", + "tooltip": "(?)找到垃圾的来源", + "selected": "你在这堆东西周围徘徊,寻找表明这东西可能出现在这里的任何迹象……", + "selected_2": "突然,垃圾动了!那不是垃圾,是一只宝可梦!" + } + } +} diff --git a/src/locales/zh_CN/mystery-encounters/uncommon-breed-dialogue.json b/src/locales/zh_CN/mystery-encounters/uncommon-breed-dialogue.json new file mode 100644 index 00000000000..1e321a6e614 --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/uncommon-breed-dialogue.json @@ -0,0 +1,26 @@ +{ + "intro": "这可不是一只普通的宝可梦!", + "title": "罕见物种", + "description": "{{enemyPokemon}}看起来与其他同种宝可梦大相径庭。\n@[TOOLTIP_TITLE]{也许它会特殊招式?}\n你可以直接进行战斗并尝试捕获它,但可能也有办法和它交朋友。", + "query": "你要怎么做?", + "option": { + "1": { + "label": "与它战斗", + "tooltip": "(-)蹊跷的战斗\n(+)可捕获强敌", + "selected": "你毫无畏惧地接近\n{{enemyPokemon}}。", + "stat_boost": "{{enemyPokemon}}的不凡实力让它的能力提高!" + }, + "2": { + "label": "给他吃的", + "disabled_tooltip": "你需要4个树果来选择此项", + "tooltip": "(-)给予4个树果\n(+){{enemyPokemon}}会喜欢你", + "selected": "你把树果扔向{{enemyPokemon}}!$它高兴地把树果吃干抹净!${{enemyPokemon}}想加入你的队伍!" + }, + "3": { + "label": "交朋友", + "disabled_tooltip": "你的宝可梦需要习得某些招式才能选择此项", + "tooltip": "(+){{option3PrimaryName}}使用{{option3PrimaryMove}}\n(+){{enemyPokemon}}会喜欢你", + "selected": "你的{{option3PrimaryName}}使用了{{option3PrimaryMove}}来吸引{{enemyPokemon}}!${{enemyPokemon}}想加入你的队伍!" + } + } +} diff --git a/src/locales/zh_CN/mystery-encounters/weird-dream-dialogue.json b/src/locales/zh_CN/mystery-encounters/weird-dream-dialogue.json new file mode 100644 index 00000000000..0bff2cdbb4c --- /dev/null +++ b/src/locales/zh_CN/mystery-encounters/weird-dream-dialogue.json @@ -0,0 +1,22 @@ +{ + "intro": "一个阴暗的女人挡住了你的路。\n她身上的气氛让人不安……", + "speaker": "女人", + "intro_dialogue": "我看到了你的未来,你的过去……$孩子,你也看到了吗?", + "title": "???", + "description": "女人的话语在你的脑海里回荡。\n那不是同一个人的声音,\n而是来自所有时间和空间的众多声音。\n你开始感到头晕目眩,这个问题萦绕在你的脑海中……\n\n@[TOOLTIP_TITLE]{\"我看到了你的未来,你的过去……$孩子,你也看到了吗?\"}", + "query": "你要怎么做?", + "option": { + "1": { + "label": "\"我看见了\"", + "tooltip": "@[SUMMARY_GREEN]{(?)影响宝可梦}", + "selected": "她伸出手去触摸你,\n然后一切都变黑了。$然后……@d{64}你看到了一切。\n每一条时间线,你所有不同的自我,\n过去和未来。$一切造就了你的事物,\n一切你将变成的事物……@d{64}", + "cutscene": "你会看到你的宝可梦@d{32} 从与不同的现实融合,转变成全新的存在……@d{64}", + "dream_complete": "当你醒来时,那个女人……女人还是幽灵?\n……不见了……$.@d{32}.@d{32}.@d{32}$你的宝可梦已经改变了……\n又或者它是你某一时刻的某支队伍?" + }, + "2": { + "label": "匆匆离开", + "tooltip": "(-)影响宝可梦", + "selected": "你从麻木的控制中挣脱出来,匆匆离开。$当你终于停下来收拾好自己时,你连忙检查队伍中的宝可梦。$不知为何,他们的等级都下降了!" + } + } +} diff --git a/src/locales/zh_CN/party-ui-handler.json b/src/locales/zh_CN/party-ui-handler.json index 8dff1ffb75c..4ddea7cd789 100644 --- a/src/locales/zh_CN/party-ui-handler.json +++ b/src/locales/zh_CN/party-ui-handler.json @@ -15,6 +15,7 @@ "UNPAUSE_EVOLUTION": "解除进化暂停", "REVIVE": "复活", "RENAME": "起名", + "SELECT": "Select", "choosePokemon": "选择一只宝可梦。", "doWhatWithThisPokemon": "要对宝可梦做什么?", "noEnergy": "{{pokemonName}}没有力气战斗了!", diff --git a/src/locales/zh_CN/trainer-names.json b/src/locales/zh_CN/trainer-names.json index 33cf15e8304..dea307ef0bf 100644 --- a/src/locales/zh_CN/trainer-names.json +++ b/src/locales/zh_CN/trainer-names.json @@ -166,5 +166,18 @@ "alder_iris_double": "阿戴克 & 艾莉丝", "iris_alder_double": "艾莉丝 & 阿戴克", "marnie_piers_double": "玛俐 & 聂梓", - "piers_marnie_double": "聂梓 & 玛俐" + "piers_marnie_double": "聂梓 & 玛俐", + + "buck": "麦可", + "cheryl": "芽米", + "marley": "米依", + "mira": "麦儿", + "riley": "亚玄", + "victor": "晴彦", + "victoria": "安江", + "vivi": "小秋", + "vicky": "光代", + "vito": "良平", + "bug_type_superfan": "超级虫系粉丝", + "expert_pokemon_breeder": "专业宝可梦饲养员" } diff --git a/src/locales/zh_CN/trainer-titles.json b/src/locales/zh_CN/trainer-titles.json index 9ef11aafbfa..8ac8acf0a3a 100644 --- a/src/locales/zh_CN/trainer-titles.json +++ b/src/locales/zh_CN/trainer-titles.json @@ -36,5 +36,7 @@ "aether_admin": "以太基金会干部", "skull_admin": "骷髅队干部", "macro_admin": "马洛科蒙干部", - "star_admin": "Team Star Squad Boss" + "star_admin": "Team Star Squad Boss", + + "the_winstrates": "连胜家族" } diff --git a/src/locales/zh_TW/achv.json b/src/locales/zh_TW/achv.json index 804ec0c5089..5c3b137f90f 100644 --- a/src/locales/zh_TW/achv.json +++ b/src/locales/zh_TW/achv.json @@ -264,5 +264,9 @@ "INVERSE_BATTLE": { "name": "鏡子子鏡", "description": "完成逆轉之戰挑戰\n戰挑戰之轉逆成完" + }, + "BREEDERS_IN_SPACE": { + "name": "Breeders in Space!", + "description": "Beat the Expert Pokémon Breeder in the Space Biome." } } diff --git a/src/locales/zh_TW/battle.json b/src/locales/zh_TW/battle.json index 66da1b7cace..3eb9d523b03 100644 --- a/src/locales/zh_TW/battle.json +++ b/src/locales/zh_TW/battle.json @@ -21,6 +21,10 @@ "moneyWon": "你贏得了\n₽{{moneyAmount}}!", "moneyPickedUp": "撿到了₽{{moneyAmount}}!", "pokemonCaught": "{{pokemonName}}被抓住了!", + "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}}作爲\n一個新的基礎寶可夢!", "partyFull": "你的隊伍已滿員。是否放生其他寶可夢\n爲{{pokemonName}}騰出空間?", "pokemon": "寶可夢", @@ -56,6 +60,7 @@ "noPokeballTrainer": "你不能捕捉其他訓練家的寶可夢!", "noPokeballMulti": "只能在剩下一只寶可夢時才能扔出精靈球!", "noPokeballStrong": "目標寶可夢太強了,無法捕捉!\n你需要先削弱它!", + "noPokeballMysteryEncounter": "You aren't able to\ncatch this Pokémon!", "noEscapeForce": "一股無形的力量阻止你逃跑。", "noEscapeTrainer": "你不能從與訓練家的戰鬥中逃跑!", "noEscapePokemon": "{{pokemonName}}的{{moveName}}\n阻止了你{{escapeVerb}}!", @@ -94,5 +99,6 @@ "retryBattle": "你要從對戰開始時重試麽?", "unlockedSomething": "{{unlockedThing}}\n已解鎖。", "congratulations": "恭喜!", - "beatModeFirstTime": "{{speciesName}}首次擊敗了{{gameMode}}!\n你獲得了{{newModifier}}!" + "beatModeFirstTime": "{{speciesName}}首次擊敗了{{gameMode}}!\n你獲得了{{newModifier}}!", + "mysteryEncounterAppeared": "What's this?" } diff --git a/src/locales/zh_TW/bgm-name.json b/src/locales/zh_TW/bgm-name.json index 34c9ed6806e..082e4743ffc 100644 --- a/src/locales/zh_TW/bgm-name.json +++ b/src/locales/zh_TW/bgm-name.json @@ -140,5 +140,11 @@ "heal": "黑白「寶可夢回複」", "menu": "空之探險隊「歡迎來到寶可夢的世界」", - "title": "空之探險隊「主題曲」" + "title": "空之探險隊「主題曲」", + + "mystery_encounter_weird_dream": "PMD EoS Temporal Spire", + "mystery_encounter_fun_and_games": "PMD EoS Guildmaster Wigglytuff", + "mystery_encounter_gen_5_gts": "BW GTS", + "mystery_encounter_gen_6_gts": "XY GTS", + "mystery_encounter_delibirdy": "Firel - DeliDelivery!" } diff --git a/src/locales/zh_TW/config.ts b/src/locales/zh_TW/config.ts index cf505d683a5..d1388d336cc 100644 --- a/src/locales/zh_TW/config.ts +++ b/src/locales/zh_TW/config.ts @@ -53,7 +53,49 @@ import terrain from "./terrain.json"; import modifierSelectUiHandler from "./modifier-select-ui-handler.json"; import moveTriggers from "./move-trigger.json"; import runHistory from "./run-history.json"; +import mysteryEncounterMessages from "./mystery-encounter-messages.json"; +import lostAtSea from "./mystery-encounters/lost-at-sea-dialogue.json"; +import mysteriousChest from "./mystery-encounters/mysterious-chest-dialogue.json"; +import mysteriousChallengers from "./mystery-encounters/mysterious-challengers-dialogue.json"; +import darkDeal from "./mystery-encounters/dark-deal-dialogue.json"; +import departmentStoreSale from "./mystery-encounters/department-store-sale-dialogue.json"; +import fieldTrip from "./mystery-encounters/field-trip-dialogue.json"; +import fieryFallout from "./mystery-encounters/fiery-fallout-dialogue.json"; +import fightOrFlight from "./mystery-encounters/fight-or-flight-dialogue.json"; +import safariZone from "./mystery-encounters/safari-zone-dialogue.json"; +import shadyVitaminDealer from "./mystery-encounters/shady-vitamin-dealer-dialogue.json"; +import slumberingSnorlax from "./mystery-encounters/slumbering-snorlax-dialogue.json"; +import trainingSession from "./mystery-encounters/training-session-dialogue.json"; +import theStrongStuff from "./mystery-encounters/the-strong-stuff-dialogue.json"; +import pokemonSalesman from "./mystery-encounters/the-pokemon-salesman-dialogue.json"; +import offerYouCantRefuse from "./mystery-encounters/an-offer-you-cant-refuse-dialogue.json"; +import delibirdy from "./mystery-encounters/delibirdy-dialogue.json"; +import absoluteAvarice from "./mystery-encounters/absolute-avarice-dialogue.json"; +import aTrainersTest from "./mystery-encounters/a-trainers-test-dialogue.json"; +import trashToTreasure from "./mystery-encounters/trash-to-treasure-dialogue.json"; +import berriesAbound from "./mystery-encounters/berries-abound-dialogue.json"; +import clowningAround from "./mystery-encounters/clowning-around-dialogue.json"; +import partTimer from "./mystery-encounters/part-timer-dialogue.json"; +import dancingLessons from "./mystery-encounters/dancing-lessons-dialogue.json"; +import weirdDream from "./mystery-encounters/weird-dream-dialogue.json"; +import theWinstrateChallenge from "./mystery-encounters/the-winstrate-challenge-dialogue.json"; +import teleportingHijinks from "./mystery-encounters/teleporting-hijinks-dialogue.json"; +import bugTypeSuperfan from "./mystery-encounters/bug-type-superfan-dialogue.json"; +import funAndGames from "./mystery-encounters/fun-and-games-dialogue.json"; +import uncommonBreed from "./mystery-encounters/uncommon-breed-dialogue.json"; +import globalTradeSystem from "./mystery-encounters/global-trade-system-dialogue.json"; +import expertPokemonBreeder from "./mystery-encounters/the-expert-pokemon-breeder-dialogue.json"; +/** + * Dialogue/Text token injection patterns that can be used: + * - `$` will be treated as a new line for Message and Dialogue strings. + * - `@d{}` will add a time delay to text animation for Message and Dialogue strings. + * - `@s{}` will play a specified sound effect for Message and Dialogue strings. + * - `@f{}` will fade the screen to black for the given duration, then fade back in for Message and Dialogue strings. + * - `{{}}` (MYSTERY ENCOUNTERS ONLY) will auto-inject the matching dialogue token value that is stored in {@link IMysteryEncounter.dialogueTokens}. + * - (see [i18next interpolations](https://www.i18next.com/translation-function/interpolation)) for more details. + * - `@[]{}` (STATIC TEXT ONLY, NOT USEABLE WITH {@link UI.showText()} OR {@link UI.showDialogue()}) will auto-color the given text to a specified {@link TextStyle} (e.g. `TextStyle.SUMMARY_GREEN`). + */ export const zhTwConfig = { ability, abilityTriggers, @@ -110,4 +152,40 @@ export const zhTwConfig = { modifierSelectUiHandler, moveTriggers, runHistory, + mysteryEncounter: { + // DO NOT REMOVE + "unit_test_dialogue": "{{test}}{{test}} {{test{{test}}}} {{test1}} {{test\}} {{test\\}} {{test\\\}} {test}}", + mysteriousChallengers, + mysteriousChest, + darkDeal, + fightOrFlight, + slumberingSnorlax, + trainingSession, + departmentStoreSale, + shadyVitaminDealer, + fieldTrip, + safariZone, + lostAtSea, + fieryFallout, + theStrongStuff, + pokemonSalesman, + offerYouCantRefuse, + delibirdy, + absoluteAvarice, + aTrainersTest, + trashToTreasure, + berriesAbound, + clowningAround, + partTimer, + dancingLessons, + weirdDream, + theWinstrateChallenge, + teleportingHijinks, + bugTypeSuperfan, + funAndGames, + uncommonBreed, + globalTradeSystem, + expertPokemonBreeder + }, + mysteryEncounterMessages }; diff --git a/src/locales/zh_TW/dialogue.json b/src/locales/zh_TW/dialogue.json index 99427ac5f14..43cfad8b610 100644 --- a/src/locales/zh_TW/dialogue.json +++ b/src/locales/zh_TW/dialogue.json @@ -787,6 +787,116 @@ "1": "沒有遠見的蠢貨會繼續玷汙這個美麗的世界。" } }, + "stat_trainer_buck": { + "encounter": { + "1": "...I'm telling you right now. I'm seriously tough. Act surprised!", + "2": "I can feel my Pokémon shivering inside their Pokéballs!" + }, + "victory": { + "1": "Heeheehee!\nSo hot, you!", + "2": "Heeheehee!\nSo hot, you!" + }, + "defeat": { + "1": "Whoa! You're all out of gas, I guess.", + "2": "Whoa! You're all out of gas, I guess." + } + }, + "stat_trainer_cheryl": { + "encounter": { + "1": "My Pokémon have been itching for a battle.", + "2": "I should warn you, my Pokémon can be quite rambunctious." + }, + "victory": { + "1": "Striking the right balance of offense and defense... It's not easy to do.", + "2": "Striking the right balance of offense and defense... It's not easy to do." + }, + "defeat": { + "1": "Do your Pokémon need any healing?", + "2": "Do your Pokémon need any healing?" + } + }, + "stat_trainer_marley": { + "encounter": { + "1": "... OK.\nI'll do my best.", + "2": "... OK.\nI... won't lose...!" + }, + "victory": { + "1": "... Awww.", + "2": "... Awww." + }, + "defeat": { + "1": "... Goodbye.", + "2": "... Goodbye." + } + }, + "stat_trainer_mira": { + "encounter": { + "1": "You will be shocked by Mira!", + "2": "Mira will show you that Mira doesn't get lost anymore!" + }, + "victory": { + "1": "Mira wonders if she can get very far in this land.", + "2": "Mira wonders if she can get very far in this land." + }, + "defeat": { + "1": "Mira knew she would win!", + "2": "Mira knew she would win!" + } + }, + "stat_trainer_riley": { + "encounter": { + "1": "Battling is our way of greeting!", + "2": "We're pulling out all the stops to put your Pokémon down." + }, + "victory": { + "1": "At times we battle, and sometimes we team up...$It's great how Trainers can interact.", + "2": "At times we battle, and sometimes we team up...$It's great how Trainers can interact." + }, + "defeat": { + "1": "You put up quite the display.\nBetter luck next time.", + "2": "You put up quite the display.\nBetter luck next time." + } + }, + "winstrates_victor": { + "encounter": { + "1": "That's the spirit! I like you!" + }, + "victory": { + "1": "A-ha! You're stronger than I thought!" + } + }, + "winstrates_victoria": { + "encounter": { + "1": "My goodness! Aren't you young?$You must be quite the trainer to beat my husband, though.$Now I suppose it's my turn to battle!" + }, + "victory": { + "1": "Uwah! Just how strong are you?!" + } + }, + "winstrates_vivi": { + "encounter": { + "1": "You're stronger than Mom? Wow!$But I'm strong, too!\nReally! Honestly!" + }, + "victory": { + "1": "Huh? Did I really lose?\nSnivel... Grandmaaa!" + } + }, + "winstrates_vicky": { + "encounter": { + "1": "How dare you make my precious\ngranddaughter cry!$I see I need to teach you a lesson.\nPrepare to feel the sting of defeat!" + }, + "victory": { + "1": "Whoa! So strong!\nMy granddaughter wasn't lying." + } + }, + "winstrates_vito": { + "encounter": { + "1": "I trained together with my whole family,\nevery one of us!$I'm not losing to anyone!" + }, + "victory": { + "1": "I was better than everyone in my family.\nI've never lost before..." + } + }, "brock": { "encounter": { "1": "我對岩石屬性寶可夢的專精會擊敗你!來吧!", diff --git a/src/locales/zh_TW/egg.json b/src/locales/zh_TW/egg.json index 0178848a0d5..6667fccb826 100644 --- a/src/locales/zh_TW/egg.json +++ b/src/locales/zh_TW/egg.json @@ -11,6 +11,7 @@ "gachaTypeLegendary": "傳說概率上升", "gachaTypeMove": "稀有概率上升", "gachaTypeShiny": "閃光概率上升", + "eventType": "Mystery Event", "selectMachine": "選擇一個機器。", "notEnoughVouchers": "你沒有足夠的兌換券!", "tooManyEggs": "你的蛋太多啦!", diff --git a/src/locales/zh_TW/modifier-select-ui-handler.json b/src/locales/zh_TW/modifier-select-ui-handler.json index 84ebbbfef6a..d47ea265900 100644 --- a/src/locales/zh_TW/modifier-select-ui-handler.json +++ b/src/locales/zh_TW/modifier-select-ui-handler.json @@ -8,5 +8,7 @@ "lockRaritiesDesc": "在刷新時鎖定道具稀有度(影響刷新費用)", "checkTeamDesc": "檢查隊伍或使用形態改變道具", "rerollCost": "₽{{formattedMoney}}", - "itemCost": "₽{{formattedMoney}}" + "itemCost": "₽{{formattedMoney}}", + "continueNextWaveButton": "Continue", + "continueNextWaveDescription": "Continue to the next wave" } diff --git a/src/locales/zh_TW/modifier-type.json b/src/locales/zh_TW/modifier-type.json index 6ff593ddba7..f305c0e2d62 100644 --- a/src/locales/zh_TW/modifier-type.json +++ b/src/locales/zh_TW/modifier-type.json @@ -68,6 +68,20 @@ "BaseStatBoosterModifierType": { "description": "增加持有者的{{stat}}10%,個體值越高堆疊\n上限越高。" }, + "PokemonBaseStatTotalModifierType": { + "name": "Shuckle Juice", + "description": "{{increaseDecrease}} all of the holder's base stats by {{statValue}}. You were {{blessCurse}} by the Shuckle.", + "extra": { + "increase": "Increases", + "decrease": "Decreases", + "blessed": "blessed", + "cursed": "cursed" + } + }, + "PokemonBaseStatFlatModifierType": { + "name": "Old Gateau", + "description": "Increases the holder's {{stats}} base stats by {{statValue}}. Found after a strange dream." + }, "AllPokemonFullHpRestoreModifierType": { "description": "所有寶可夢完全恢復HP。" }, @@ -401,7 +415,13 @@ "ENEMY_FUSED_CHANCE": { "name": "融合硬幣", "description": "增加1%野生融合寶可夢出現概率。" - } + }, + + "MYSTERY_ENCOUNTER_SHUCKLE_JUICE": { "name": "Shuckle Juice" }, + "MYSTERY_ENCOUNTER_BLACK_SLUDGE": { "name": "Black Sludge", "description": "The stench is so powerful that shops will only sell you items at a steep cost increase." }, + "MYSTERY_ENCOUNTER_MACHO_BRACE": { "name": "Macho Brace", "description": "Defeating a Pokémon grants the holder a Macho Brace stack. Each stack slightly boosts stats, with an extra bonus at max stacks." }, + "MYSTERY_ENCOUNTER_OLD_GATEAU": { "name": "Old Gateau", "description": "Increases the holder's {{stats}} stats by {{statValue}}." }, + "MYSTERY_ENCOUNTER_GOLDEN_BUG_NET": { "name": "Golden Bug Net", "description": "Imbues the owner with luck to find Bug Type Pokémon more often. Has a strange heft to it." } }, "SpeciesBoosterItem": { "LIGHT_BALL": { diff --git a/src/locales/zh_TW/mystery-encounter-messages.json b/src/locales/zh_TW/mystery-encounter-messages.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/src/locales/zh_TW/mystery-encounter-messages.json @@ -0,0 +1 @@ +{} diff --git a/src/locales/zh_TW/mystery-encounters/a-trainers-test-dialogue.json b/src/locales/zh_TW/mystery-encounters/a-trainers-test-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/a-trainers-test-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/absolute-avarice-dialogue.json b/src/locales/zh_TW/mystery-encounters/absolute-avarice-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/absolute-avarice-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/an-offer-you-cant-refuse-dialogue.json b/src/locales/zh_TW/mystery-encounters/an-offer-you-cant-refuse-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/an-offer-you-cant-refuse-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/berries-abound-dialogue.json b/src/locales/zh_TW/mystery-encounters/berries-abound-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/berries-abound-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/bug-type-superfan-dialogue.json b/src/locales/zh_TW/mystery-encounters/bug-type-superfan-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/bug-type-superfan-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/clowning-around-dialogue.json b/src/locales/zh_TW/mystery-encounters/clowning-around-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/clowning-around-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/dancing-lessons-dialogue.json b/src/locales/zh_TW/mystery-encounters/dancing-lessons-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/dancing-lessons-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/dark-deal-dialogue.json b/src/locales/zh_TW/mystery-encounters/dark-deal-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/dark-deal-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/delibirdy-dialogue.json b/src/locales/zh_TW/mystery-encounters/delibirdy-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/delibirdy-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/department-store-sale-dialogue.json b/src/locales/zh_TW/mystery-encounters/department-store-sale-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/department-store-sale-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/field-trip-dialogue.json b/src/locales/zh_TW/mystery-encounters/field-trip-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/field-trip-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/fiery-fallout-dialogue.json b/src/locales/zh_TW/mystery-encounters/fiery-fallout-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/fiery-fallout-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/fight-or-flight-dialogue.json b/src/locales/zh_TW/mystery-encounters/fight-or-flight-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/fight-or-flight-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/fun-and-games-dialogue.json b/src/locales/zh_TW/mystery-encounters/fun-and-games-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/fun-and-games-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/global-trade-system-dialogue.json b/src/locales/zh_TW/mystery-encounters/global-trade-system-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/global-trade-system-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/lost-at-sea-dialogue.json b/src/locales/zh_TW/mystery-encounters/lost-at-sea-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/lost-at-sea-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/mysterious-challengers-dialogue.json b/src/locales/zh_TW/mystery-encounters/mysterious-challengers-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/mysterious-challengers-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/mysterious-chest-dialogue.json b/src/locales/zh_TW/mystery-encounters/mysterious-chest-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/mysterious-chest-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/part-timer-dialogue.json b/src/locales/zh_TW/mystery-encounters/part-timer-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/part-timer-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/safari-zone-dialogue.json b/src/locales/zh_TW/mystery-encounters/safari-zone-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/safari-zone-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/shady-vitamin-dealer-dialogue.json b/src/locales/zh_TW/mystery-encounters/shady-vitamin-dealer-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/shady-vitamin-dealer-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/slumbering-snorlax-dialogue.json b/src/locales/zh_TW/mystery-encounters/slumbering-snorlax-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/slumbering-snorlax-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/teleporting-hijinks-dialogue.json b/src/locales/zh_TW/mystery-encounters/teleporting-hijinks-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/teleporting-hijinks-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/the-expert-pokemon-breeder-dialogue.json b/src/locales/zh_TW/mystery-encounters/the-expert-pokemon-breeder-dialogue.json new file mode 100644 index 00000000000..0967ef424bc --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/the-expert-pokemon-breeder-dialogue.json @@ -0,0 +1 @@ +{} diff --git a/src/locales/zh_TW/mystery-encounters/the-pokemon-salesman-dialogue.json b/src/locales/zh_TW/mystery-encounters/the-pokemon-salesman-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/the-pokemon-salesman-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/the-strong-stuff-dialogue.json b/src/locales/zh_TW/mystery-encounters/the-strong-stuff-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/the-strong-stuff-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/the-winstrate-challenge-dialogue.json b/src/locales/zh_TW/mystery-encounters/the-winstrate-challenge-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/the-winstrate-challenge-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/training-session-dialogue.json b/src/locales/zh_TW/mystery-encounters/training-session-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/training-session-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/trash-to-treasure-dialogue.json b/src/locales/zh_TW/mystery-encounters/trash-to-treasure-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/trash-to-treasure-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/uncommon-breed-dialogue.json b/src/locales/zh_TW/mystery-encounters/uncommon-breed-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/uncommon-breed-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/mystery-encounters/weird-dream-dialogue.json b/src/locales/zh_TW/mystery-encounters/weird-dream-dialogue.json new file mode 100644 index 00000000000..9e26dfeeb6e --- /dev/null +++ b/src/locales/zh_TW/mystery-encounters/weird-dream-dialogue.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/locales/zh_TW/party-ui-handler.json b/src/locales/zh_TW/party-ui-handler.json index ef82d1a3ddc..e2abed5914d 100644 --- a/src/locales/zh_TW/party-ui-handler.json +++ b/src/locales/zh_TW/party-ui-handler.json @@ -15,6 +15,7 @@ "UNPAUSE_EVOLUTION": "解除進化暫停", "REVIVE": "複活", "RENAME": "起名", + "SELECT": "Select", "choosePokemon": "選擇一只寶可夢。", "doWhatWithThisPokemon": "要對寶可夢做什麽?", "noEnergy": "{{pokemonName}}沒有力氣戰鬥了!", diff --git a/src/locales/zh_TW/trainer-names.json b/src/locales/zh_TW/trainer-names.json index e3ce88d5a40..266927e7b09 100644 --- a/src/locales/zh_TW/trainer-names.json +++ b/src/locales/zh_TW/trainer-names.json @@ -166,5 +166,18 @@ "alder_iris_double": "阿戴克 & 艾莉絲", "iris_alder_double": "艾莉絲 & 阿戴克", "marnie_piers_double": "瑪俐 & 聶梓", - "piers_marnie_double": "聶梓 & 瑪俐" + "piers_marnie_double": "聶梓 & 瑪俐", + + "buck": "Buck", + "cheryl": "Cheryl", + "marley": "Marley", + "mira": "Mira", + "riley": "Riley", + "victor": "Victor", + "victoria": "Victoria", + "vivi": "Vivi", + "vicky": "Vicky", + "vito": "Vito", + "bug_type_superfan": "Bug-Type Superfan", + "expert_pokemon_breeder": "Expert Pokémon Breeder" } diff --git a/src/locales/zh_TW/trainer-titles.json b/src/locales/zh_TW/trainer-titles.json index 0931082acc0..4b95c5ea184 100644 --- a/src/locales/zh_TW/trainer-titles.json +++ b/src/locales/zh_TW/trainer-titles.json @@ -36,5 +36,7 @@ "aether_admin": "Aether Foundation Admin", "skull_admin": "Team Skull Admin", "macro_admin": "Macro Cosmos", - "star_admin": "Team Star Squad Boss" + "star_admin": "Team Star Squad Boss", + + "the_winstrates": "The Winstrates'" }