[Localization] Use gender context for achievments/achv (#3871)

* i18n: prepare female DE achievments

and copy keys in base language: en

* adapt gender context for achv

* add a TODO about an odd `this` usage

* remove debugging leftover code

whops

* add `playerGender` to settings helper

* fix test runs

And revert some changes
This commit is contained in:
flx-sta 2024-08-29 09:13:35 -07:00 committed by GitHub
parent 27d52af077
commit 44294f1aec
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
37 changed files with 232 additions and 2471 deletions

View File

@ -1 +0,0 @@
{}

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -76,8 +75,7 @@ export const caEsConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale,
PGMdialogue: dialogueMale, PGMdialogue: dialogueMale,
PGFdialogue: dialogueFemale, PGFdialogue: dialogueFemale,
PGMbattleSpecDialogue: dialogueEndbossMale, PGMbattleSpecDialogue: dialogueEndbossMale,

View File

@ -1,264 +0,0 @@
{
"Achievements": {
"name": "Errungenschaften"
},
"Locked": {
"name": "Gesperrt"
},
"MoneyAchv": {
"description": "Häufe eine Gesamtsumme von {{moneyAmount}} ₽ an."
},
"10K_MONEY": {
"name": "Besserverdiener"
},
"100K_MONEY": {
"name": "Reich"
},
"1M_MONEY": {
"name": "Millionär"
},
"10M_MONEY": {
"name": "Einprozenter"
},
"DamageAchv": {
"description": "Füge mit einem Treffer {{damageAmount}} Schaden zu."
},
"250_DMG": {
"name": "Harte Treffer"
},
"1000_DMG": {
"name": "Härtere Treffer"
},
"2500_DMG": {
"name": "Das ist ne Menge Schaden!"
},
"10000_DMG": {
"name": "One Punch Man"
},
"HealAchv": {
"description": "Heile {{healAmount}} {{HP}} auf einmal. Mit einer Attacke, Fähigkeit oder einem gehaltenen Gegenstand."
},
"250_HEAL": {
"name": "Anfänger-Heiler"
},
"1000_HEAL": {
"name": "Gesundheitsprofi"
},
"2500_HEAL": {
"name": "Kleriker"
},
"10000_HEAL": {
"name": "Wiederherstellungsmeister"
},
"LevelAchv": {
"description": "Erhöhe das Level eines Pokémon auf {{level}}."
},
"LV_100": {
"name": "Warte, es gibt mehr!"
},
"LV_250": {
"name": "Elite"
},
"LV_1000": {
"name": "Geh noch höher hinaus!"
},
"RibbonAchv": {
"description": "Sammle insgesamt {{ribbonAmount}} Bänder."
},
"10_RIBBONS": {
"name": "Champion der Pokémon Liga"
},
"25_RIBBONS": {
"name": "Bänder-Sammler"
},
"50_RIBBONS": {
"name": "Bänder-Experte"
},
"75_RIBBONS": {
"name": "Bänder-Guru"
},
"100_RIBBONS": {
"name": "Bänder-Meister"
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "Teamwork",
"description": "Nutze Staffette, während der Anwender mindestens eines Statuswertes maximiert hat."
},
"MAX_FRIENDSHIP": {
"name": "Freundschaftsmaximierung",
"description": "Erreiche maximale Freundschaft bei einem Pokémon."
},
"MEGA_EVOLVE": {
"name": "Megaverwandlung",
"description": "Megaentwickle ein Pokémon."
},
"GIGANTAMAX": {
"name": "Absolute Einheit",
"description": "Gigadynamaximiere ein Pokémon."
},
"TERASTALLIZE": {
"name": "Typen-Bonus Enthusiast",
"description": "Terrakristallisiere ein Pokémon."
},
"STELLAR_TERASTALLIZE": {
"name": "Der geheime Typ",
"description": "Terrakristallisiere ein Pokémon zum Typen Stellar."
},
"SPLICE": {
"name": "Unendliche Fusion",
"description": "Kombiniere zwei Pokémon mit einem DNS-Keil."
},
"MINI_BLACK_HOLE": {
"name": "Ein Loch voller Items",
"description": "Erlange ein Mini-Schwarzes Loch."
},
"CATCH_MYTHICAL": {
"name": "Mysteriöses!",
"description": "Fange ein mysteriöses Pokémon."
},
"CATCH_SUB_LEGENDARY": {
"name": "Sub-Legendär",
"description": "Fange ein sub-legendäres Pokémon."
},
"CATCH_LEGENDARY": {
"name": "Legendär",
"description": "Fange ein legendäres Pokémon."
},
"SEE_SHINY": {
"name": "Schillerndes Licht",
"description": "Finde ein wildes schillerndes Pokémon."
},
"SHINY_PARTY": {
"name": "Das ist Hingabe",
"description": "Habe ein Team aus schillernden Pokémon."
},
"HATCH_MYTHICAL": {
"name": "Mysteriöses Ei",
"description": "Lass ein mysteriöses Pokémon aus einem Ei schlüpfen."
},
"HATCH_SUB_LEGENDARY": {
"name": "Sub-Legendäres Ei",
"description": "Lass ein sub-legendäres Pokémon aus einem Ei schlüpfen."
},
"HATCH_LEGENDARY": {
"name": "Legendäres Ei",
"description": "Lass ein legendäres Pokémon aus einem Ei schlüpfen."
},
"HATCH_SHINY": {
"name": "Schillerndes Ei",
"description": "Lass ein schillerndes Pokémon aus einem Ei schlüpfen."
},
"HIDDEN_ABILITY": {
"name": "Geheimes Talent",
"description": "Fang ein Pokémon mit versteckter Fähigkeit."
},
"PERFECT_IVS": {
"name": "Zertifikat der Echtheit",
"description": "Erhalte ein Pokémon mit perfekten IS-Werten."
},
"CLASSIC_VICTORY": {
"name": "Ungeschlagen",
"description": "Beende den klassischen Modus erfolgreich."
},
"UNEVOLVED_CLASSIC_VICTORY": {
"name": "'Bringe dein Kind mit zur Arbeit'-Tag",
"description": "Beende den klassischen Modus erfolgreich mit mindestens einem nicht entwickeltem Pokémon in deinem Team"
},
"MONO_GEN_ONE": {
"name": "Der originale Rivale",
"description": "Schließe die 'Nur 1. Generation' Herausforderung ab."
},
"MONO_GEN_TWO": {
"name": "Generation 1.5",
"description": "Schließe die 'Nur 2. Generation' Herausforderung ab."
},
"MONO_GEN_THREE": {
"name": "Zu viel Wasser?",
"description": "Schließe die 'Nur 3. Generation' Herausforderung ab."
},
"MONO_GEN_FOUR": {
"name": "Ist SIE wirklich die Stärkste?",
"description": "Schließe die 'Nur 4. Generation' Herausforderung ab."
},
"MONO_GEN_FIVE": {
"name": "Komplett Original",
"description": "Schließe die 'Nur 5. Generation' Herausforderung ab."
},
"MONO_GEN_SIX": {
"name": "Fast Königlich",
"description": "Schließe die 'Nur 6. Generation' Herausforderung ab."
},
"MONO_GEN_SEVEN": {
"name": "Technisch gesehen",
"description": "Schließe die 'Nur 7. Generation' Herausforderung ab."
},
"MONO_GEN_EIGHT": {
"name": "Die Zeit des Champions",
"description": "Schließe die 'Nur 8. Generation' Herausforderung ab."
},
"MONO_GEN_NINE": {
"name": "Sie hat es dir leicht gemacht...",
"description": "Schließe die 'Nur 9. Generation' Herausforderung ab."
},
"MonoType": {
"description": "Beende die Monotyp-{{type}} Herausforderung."
},
"MONO_NORMAL": {
"name": "Normaler Typ"
},
"MONO_FIGHTING": {
"name": "Ich kenne Kung Fu."
},
"MONO_FLYING": {
"name": "Ich glaube ich kann fliegen."
},
"MONO_POISON": {
"name": "Kantos Liebling"
},
"MONO_GROUND": {
"name": "Auf dem Boden bleiben."
},
"MONO_ROCK": {
"name": "So hart wie Rocko."
},
"MONO_BUG": {
"name": "Steche wie ein Bibor."
},
"MONO_GHOST": {
"name": "Wer wird angerufen?"
},
"MONO_STEEL": {
"name": "Stahlharte Entschlossenheit"
},
"MONO_FIRE": {
"name": "Brennende Leidenschaft"
},
"MONO_WATER": {
"name": "Wenn es regnet, schüttet es!"
},
"MONO_GRASS": {
"name": "Grüner Daumen"
},
"MONO_ELECTRIC": {
"name": "Elektrisierend"
},
"MONO_PSYCHIC": {
"name": "Übernatürliches Talent"
},
"MONO_ICE": {
"name": "Eis Eis Baby"
},
"MONO_DRAGON": {
"name": "Siegfried bist du es?"
},
"MONO_DARK": {
"name": "Es ist nur eine Phase!"
},
"MONO_FAIRY": {
"name": "Ein ewiges Abenteuer!"
},
"FRESH_START": {
"name": "Hussa, noch einmal von vorn!",
"description": "Schließe die 'Neuanfang' Herausforderung ab"
}
}

View File

@ -1,31 +1,4 @@
{ {
"10K_MONEY": {
"name": "Besserverdienerin"
},
"1M_MONEY": {
"name": "Millionärin"
},
"10000_DMG": {
"name": "One Punch Woman"
},
"250_HEAL": {
"name": "Anfänger-Heilerin"
},
"2500_HEAL": {
"name": "Klerikerin"
},
"10000_HEAL": {
"name": "Wiederherstellungsmeisterin"
},
"25_RIBBONS": {
"name": "Bänder-Sammlerin"
},
"50_RIBBONS": {
"name": "Bänder-Expertin"
},
"100_RIBBONS": {
"name": "Bänder-Meisterin"
},
"Achievements": { "Achievements": {
"name": "Errungenschaften" "name": "Errungenschaften"
}, },
@ -35,9 +8,17 @@
"MoneyAchv": { "MoneyAchv": {
"description": "Häufe eine Gesamtsumme von {{moneyAmount}} ₽ an." "description": "Häufe eine Gesamtsumme von {{moneyAmount}} ₽ an."
}, },
"10K_MONEY": {
"name": "Besserverdiener",
"name_female": "Besserverdienerin"
},
"100K_MONEY": { "100K_MONEY": {
"name": "Reich" "name": "Reich"
}, },
"1M_MONEY": {
"name": "Millionär",
"name_female": "Millionärin"
},
"10M_MONEY": { "10M_MONEY": {
"name": "Einprozenter" "name": "Einprozenter"
}, },
@ -53,12 +34,28 @@
"2500_DMG": { "2500_DMG": {
"name": "Das ist ne Menge Schaden!" "name": "Das ist ne Menge Schaden!"
}, },
"10000_DMG": {
"name": "One Punch Man",
"name_female": "One Punch Woman"
},
"HealAchv": { "HealAchv": {
"description": "Heile {{healAmount}} {{HP}} auf einmal. Mit einer Attacke, Fähigkeit oder einem gehaltenen Gegenstand." "description": "Heile {{healAmount}} {{HP}} auf einmal. Mit einer Attacke, Fähigkeit oder einem gehaltenen Gegenstand."
}, },
"250_HEAL": {
"name": "Anfänger-Heiler",
"name_female": "Anfänger-Heilerin"
},
"1000_HEAL": { "1000_HEAL": {
"name": "Gesundheitsprofi" "name": "Gesundheitsprofi"
}, },
"2500_HEAL": {
"name": "Kleriker",
"name_female": "Klerikerin"
},
"10000_HEAL": {
"name": "Wiederherstellungsmeister",
"name_female": "Wiederherstellungsmeisterin"
},
"LevelAchv": { "LevelAchv": {
"description": "Erhöhe das Level eines Pokémon auf {{level}}." "description": "Erhöhe das Level eines Pokémon auf {{level}}."
}, },
@ -77,9 +74,21 @@
"10_RIBBONS": { "10_RIBBONS": {
"name": "Champion der Pokémon Liga" "name": "Champion der Pokémon Liga"
}, },
"25_RIBBONS": {
"name": "Bänder-Sammler",
"name_female": "Bänder-Sammlerin"
},
"50_RIBBONS": {
"name": "Bänder-Experte",
"name_female": "Bänder-Expertin"
},
"75_RIBBONS": { "75_RIBBONS": {
"name": "Bänder-Guru" "name": "Bänder-Guru"
}, },
"100_RIBBONS": {
"name": "Bänder-Meister",
"name_female": "Bänder-Meisterin"
},
"TRANSFER_MAX_BATTLE_STAT": { "TRANSFER_MAX_BATTLE_STAT": {
"name": "Teamwork", "name": "Teamwork",
"description": "Nutze Staffette, während der Anwender mindestens eines Statuswertes maximiert hat." "description": "Nutze Staffette, während der Anwender mindestens eines Statuswertes maximiert hat."

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -76,8 +75,7 @@ export const deConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale,
PGMdialogue: dialogueMale, PGMdialogue: dialogueMale,
PGFdialogue: dialogueFemale, PGFdialogue: dialogueFemale,
PGMbattleSpecDialogue: dialogueEndbossMale, PGMbattleSpecDialogue: dialogueEndbossMale,

View File

@ -9,16 +9,20 @@
"description": "Accumulate a total of ₽{{moneyAmount}}" "description": "Accumulate a total of ₽{{moneyAmount}}"
}, },
"10K_MONEY": { "10K_MONEY": {
"name": "Money Haver" "name": "Money Haver",
"name_female": null
}, },
"100K_MONEY": { "100K_MONEY": {
"name": "Rich" "name": "Rich",
"name_female": null
}, },
"1M_MONEY": { "1M_MONEY": {
"name": "Millionaire" "name": "Millionaire",
"name_female": null
}, },
"10M_MONEY": { "10M_MONEY": {
"name": "One Percenter" "name": "One Percenter",
"name_female": null
}, },
"DamageAchv": { "DamageAchv": {
"description": "Inflict {{damageAmount}} damage in one hit" "description": "Inflict {{damageAmount}} damage in one hit"
@ -27,28 +31,35 @@
"name": "Hard Hitter" "name": "Hard Hitter"
}, },
"1000_DMG": { "1000_DMG": {
"name": "Harder Hitter" "name": "Harder Hitter",
"name_female": null
}, },
"2500_DMG": { "2500_DMG": {
"name": "That's a Lotta Damage!" "name": "That's a Lotta Damage!",
"name_female": null
}, },
"10000_DMG": { "10000_DMG": {
"name": "One Punch Man" "name": "One Punch Man",
"name_female": "One Punch Woman"
}, },
"HealAchv": { "HealAchv": {
"description": "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item" "description": "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item"
}, },
"250_HEAL": { "250_HEAL": {
"name": "Novice Healer" "name": "Novice Healer",
"name_female": null
}, },
"1000_HEAL": { "1000_HEAL": {
"name": "Big Healer" "name": "Big Healer",
"name_female": null
}, },
"2500_HEAL": { "2500_HEAL": {
"name": "Cleric" "name": "Cleric",
"name_female": null
}, },
"10000_HEAL": { "10000_HEAL": {
"name": "Recovery Master" "name": "Recovery Master",
"name_female": null
}, },
"LevelAchv": { "LevelAchv": {
"description": "Level up a Pokémon to Lv{{level}}" "description": "Level up a Pokémon to Lv{{level}}"
@ -57,7 +68,8 @@
"name": "But Wait, There's More!" "name": "But Wait, There's More!"
}, },
"LV_250": { "LV_250": {
"name": "Elite" "name": "Elite",
"name_female": null
}, },
"LV_1000": { "LV_1000": {
"name": "To Go Even Further Beyond" "name": "To Go Even Further Beyond"
@ -66,19 +78,24 @@
"description": "Accumulate a total of {{ribbonAmount}} Ribbons" "description": "Accumulate a total of {{ribbonAmount}} Ribbons"
}, },
"10_RIBBONS": { "10_RIBBONS": {
"name": "Pokémon League Champion" "name": "Pokémon League Champion",
"name_female": null
}, },
"25_RIBBONS": { "25_RIBBONS": {
"name": "Great League Champion" "name": "Great League Champion",
"name_female": null
}, },
"50_RIBBONS": { "50_RIBBONS": {
"name": "Ultra League Champion" "name": "Ultra League Champion",
"name_female": null
}, },
"75_RIBBONS": { "75_RIBBONS": {
"name": "Rogue League Champion" "name": "Rogue League Champion",
"name_female": null
}, },
"100_RIBBONS": { "100_RIBBONS": {
"name": "Master League Champion" "name": "Master League Champion",
"name_female": null
}, },
"TRANSFER_MAX_BATTLE_STAT": { "TRANSFER_MAX_BATTLE_STAT": {
"name": "Teamwork", "name": "Teamwork",
@ -130,6 +147,7 @@
}, },
"SHINY_PARTY": { "SHINY_PARTY": {
"name": "That's Dedication", "name": "That's Dedication",
"name_female": null,
"description": "Have a full party of shiny Pokémon" "description": "Have a full party of shiny Pokémon"
}, },
"HATCH_MYTHICAL": { "HATCH_MYTHICAL": {
@ -158,6 +176,7 @@
}, },
"CLASSIC_VICTORY": { "CLASSIC_VICTORY": {
"name": "Undefeated", "name": "Undefeated",
"name_female": null,
"description": "Beat the game in classic mode" "description": "Beat the game in classic mode"
}, },
"UNEVOLVED_CLASSIC_VICTORY": { "UNEVOLVED_CLASSIC_VICTORY": {

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -76,8 +75,7 @@ export const enConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale,
PGMdialogue: dialogueMale, PGMdialogue: dialogueMale,
PGFdialogue: dialogueFemale, PGFdialogue: dialogueFemale,
PGMbattleSpecDialogue: dialogueEndbossMale, PGMbattleSpecDialogue: dialogueEndbossMale,

View File

@ -1,163 +0,0 @@
{
"Achievements": {
"name": "Logros"
},
"Locked": {
"name": "Bloqueado"
},
"MoneyAchv": {
"description": "Acumula un total de ₽{{moneyAmount}}."
},
"10K_MONEY": {
"name": "Ahorrador"
},
"100K_MONEY": {
"name": "Rico"
},
"1M_MONEY": {
"name": "Millonario"
},
"10M_MONEY": {
"name": "Elusión Fiscal"
},
"DamageAchv": {
"description": "Inflige {{damageAmount}} daño en un solo golpe."
},
"250_DMG": {
"name": "Golpe Maestro"
},
"1000_DMG": {
"name": "Golpe Devastador"
},
"2500_DMG": {
"name": "¡Eso es un montón de daño!"
},
"10000_DMG": {
"name": "One Punch Man"
},
"HealAchv": {
"description": "Cura {{healAmount}} {{HP}} de una, con un movimiento, habilidad o objeto equipado."
},
"250_HEAL": {
"name": "Sanador Novato"
},
"1000_HEAL": {
"name": "Gran Sanador"
},
"2500_HEAL": {
"name": "Clérigo"
},
"10000_HEAL": {
"name": "Centro Pokémon"
},
"LevelAchv": {
"description": "Sube a un Pokémon al nivel {{level}}."
},
"LV_100": {
"name": "¡Pero espera, aún hay mas!"
},
"LV_250": {
"name": "Élite"
},
"LV_1000": {
"name": "Supera tus límites"
},
"RibbonAchv": {
"description": "Acumula un total de {{ribbonAmount}} Cintas."
},
"10_RIBBONS": {
"name": "Campeón Liga Pokémon"
},
"25_RIBBONS": {
"name": "Campeón Liga Super"
},
"50_RIBBONS": {
"name": "Campeón Liga Ultra"
},
"75_RIBBONS": {
"name": "Campeón Liga Rogue"
},
"100_RIBBONS": {
"name": "Campeón Liga Master"
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "Trabajo en Equipo",
"description": "Haz relevo a otro miembro del equipo con al menos una estadística al máximo."
},
"MAX_FRIENDSHIP": {
"name": "Amistad Total",
"description": "Alcanza con un Pokémon la amistad al máximo."
},
"MEGA_EVOLVE": {
"name": "Megamorfosis",
"description": "Megaevoluciona a un Pokémon."
},
"GIGANTAMAX": {
"name": "Criatura Colosal",
"description": "Haz Gigantamax a un Pokémon."
},
"TERASTALLIZE": {
"name": "Entusiasta del STAB",
"description": "Teracristaliza a un Pokémon."
},
"STELLAR_TERASTALLIZE": {
"name": "El Tipo Oculto",
"description": "Teracristaliza a un Pokémon al tipo Astral."
},
"SPLICE": {
"name": "Infinite Fusion",
"description": "Fusiona dos Pokémon con la Punta ADN."
},
"MINI_BLACK_HOLE": {
"name": "Devorador de Objetos",
"description": "Adquiere un Mini Agujero Negro."
},
"CATCH_MYTHICAL": {
"name": "Singular",
"description": "Captura a un Pokémon Singular."
},
"CATCH_SUB_LEGENDARY": {
"name": "(Sub)Legendario",
"description": "Captura a un Pokémon Sublegendario."
},
"CATCH_LEGENDARY": {
"name": "Legendario",
"description": "Captura a un Pokémon Legendario."
},
"SEE_SHINY": {
"name": "Shiny",
"description": "Encuentra a un Pokémon Shiny salvaje."
},
"SHINY_PARTY": {
"name": "Eso es dedicación",
"description": "Tener un equipo completo de Pokémon shiny."
},
"HATCH_MYTHICAL": {
"name": "Huevo Singular",
"description": "Hacer eclosionar un Pokémon Singular de un huevo."
},
"HATCH_SUB_LEGENDARY": {
"name": "Huevo Sublegendario",
"description": "Hacer eclosionar un Pokémon Sublegendario de un huevo."
},
"HATCH_LEGENDARY": {
"name": "Huevo Legendario",
"description": "Hacer eclosionar un Pokémon Legendario de un huevo."
},
"HATCH_SHINY": {
"name": "Huevo Shiny",
"description": "Hacer eclosionar un Pokémon Shiny de un huevo."
},
"HIDDEN_ABILITY": {
"name": "Potencial Oculto",
"description": "Captura un Pokémon con una habilidad oculta."
},
"PERFECT_IVS": {
"name": "Certificado de Autenticidad",
"description": "Consigue IVs perfectos en un Pokémon."
},
"CLASSIC_VICTORY": {
"name": "Imbatible",
"description": "Completa el juego en modo clásico."
}
}

View File

@ -9,13 +9,16 @@
"description": "Acumula un total de ₽{{moneyAmount}}." "description": "Acumula un total de ₽{{moneyAmount}}."
}, },
"10K_MONEY": { "10K_MONEY": {
"name": "Ahorradora" "name": "Ahorrador",
"name_female": "Ahorradora"
}, },
"100K_MONEY": { "100K_MONEY": {
"name": "Rica" "name": "Rico",
"name_female": "Rica"
}, },
"1M_MONEY": { "1M_MONEY": {
"name": "Millonaria" "name": "Millonario",
"name_female": "Millonaria"
}, },
"10M_MONEY": { "10M_MONEY": {
"name": "Elusión Fiscal" "name": "Elusión Fiscal"
@ -39,13 +42,16 @@
"description": "Cura {{healAmount}} {{HP}} de una, con un movimiento, habilidad o objeto equipado." "description": "Cura {{healAmount}} {{HP}} de una, con un movimiento, habilidad o objeto equipado."
}, },
"250_HEAL": { "250_HEAL": {
"name": "Sanadora Novata" "name": "Sanador Novato",
"name_female": "Sanadora Novata"
}, },
"1000_HEAL": { "1000_HEAL": {
"name": "Gran Sanadora" "name": "Gran Sanador",
"name_female": "Gran Sanadora"
}, },
"2500_HEAL": { "2500_HEAL": {
"name": "Clériga" "name": "Clérigo",
"name_female": "Clériga"
}, },
"10000_HEAL": { "10000_HEAL": {
"name": "Centro Pokémon" "name": "Centro Pokémon"
@ -66,19 +72,24 @@
"description": "Acumula un total de {{ribbonAmount}} Cintas." "description": "Acumula un total de {{ribbonAmount}} Cintas."
}, },
"10_RIBBONS": { "10_RIBBONS": {
"name": "Campeona Liga Pokémon" "name": "Campeón Liga Pokémon",
"name_female": "Campeona Liga Pokémon"
}, },
"25_RIBBONS": { "25_RIBBONS": {
"name": "Campeona Liga Super" "name": "Campeón Liga Super",
"name_female": "Campeona Liga Super"
}, },
"50_RIBBONS": { "50_RIBBONS": {
"name": "Campeona Liga Ultra" "name": "Campeón Liga Ultra",
"name_female": "Campeona Liga Ultra"
}, },
"75_RIBBONS": { "75_RIBBONS": {
"name": "Campeona Liga Rogue" "name": "Campeón Liga Rogue",
"name_female": "Campeona Liga Rogue"
}, },
"100_RIBBONS": { "100_RIBBONS": {
"name": "Campeona Liga Master" "name": "Campeón Liga Master",
"name_female": "Campeona Liga Master"
}, },
"TRANSFER_MAX_BATTLE_STAT": { "TRANSFER_MAX_BATTLE_STAT": {
"name": "Trabajo en Equipo", "name": "Trabajo en Equipo",

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -76,8 +75,7 @@ export const esConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale,
PGMdialogue: dialogueMale, PGMdialogue: dialogueMale,
PGFdialogue: dialogueFemale, PGFdialogue: dialogueFemale,
PGMbattleSpecDialogue: dialogueEndbossMale, PGMbattleSpecDialogue: dialogueEndbossMale,

View File

@ -1,264 +0,0 @@
{
"10K_MONEY": {
"name": "Épargnante"
},
"1M_MONEY": {
"name": "Banquière"
},
"10M_MONEY": {
"name": "Évadée fiscale"
},
"1000_DMG": {
"name": "Boxeuse"
},
"2500_DMG": {
"name": "Distributrice de pains"
},
"10000_DMG": {
"name": "One Punch Woman"
},
"250_HEAL": {
"name": "Infirmière"
},
"10_RIBBONS": {
"name": "Maitresse de la Ligue"
},
"25_RIBBONS": {
"name": "Super Maitresse de la Ligue"
},
"50_RIBBONS": {
"name": "Hyper Maitresse de la Ligue"
},
"75_RIBBONS": {
"name": "Rogue Maitresse de la Ligue"
},
"100_RIBBONS": {
"name": "Master Maitresse de la Ligue"
},
"SHINY_PARTY": {
"name": "Shasseuse",
"description": "Avoir une équipe exclusivement composée de Pokémon chromatiques"
},
"CLASSIC_VICTORY": {
"name": "Invaincue",
"description": "Terminer le jeu en mode classique"
},
"Achievements": {
"name": "Succès"
},
"Locked": {
"name": "Verrouillé"
},
"MoneyAchv": {
"description": "Récolter un total de {{moneyAmount}} ₽."
},
"100K_MONEY": {
"name": "Je possède des thunes"
},
"DamageAchv": {
"description": "Infliger {{damageAmount}} de dégâts en un coup."
},
"250_DMG": {
"name": "Caïd"
},
"HealAchv": {
"description": "Soigner {{healAmount}} {{HP}} en une fois avec une capacité,\nun talent ou un objet tenu."
},
"1000_HEAL": {
"name": "Médecin"
},
"2500_HEAL": {
"name": "Clerc"
},
"10000_HEAL": {
"name": "Centre Pokémon"
},
"LevelAchv": {
"description": "Monter un Pokémon au N.{{level}}."
},
"LV_100": {
"name": "Et cest pas fini !"
},
"LV_250": {
"name": "Élite"
},
"LV_1000": {
"name": "Vers linfini et au-delà"
},
"RibbonAchv": {
"description": "Accumuler un total de {{ribbonAmount}} Rubans."
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "Travail déquipe",
"description": "Utiliser Relais avec au moins une statistique montée à fond."
},
"MAX_FRIENDSHIP": {
"name": "Copinage",
"description": "Atteindre le niveau de bonheur maximal avec un Pokémon."
},
"MEGA_EVOLVE": {
"name": "Mégamorph",
"description": "Méga-évoluer un Pokémon."
},
"GIGANTAMAX": {
"name": "Kaijū",
"description": "Gigamaxer un Pokémon."
},
"TERASTALLIZE": {
"name": "Jaime les STAB",
"description": "Téracristalliser un Pokémon."
},
"STELLAR_TERASTALLIZE": {
"name": "Le type enfoui",
"description": "Téracristalliser un Pokémon en type Stellaire."
},
"SPLICE": {
"name": "Infinite Fusion",
"description": "Fusionner deux Pokémon avec le Pointeau ADN."
},
"MINI_BLACK_HOLE": {
"name": "Item-stellar",
"description": "Obtenir un Mini Trou Noir."
},
"CATCH_MYTHICAL": {
"name": "Fabuleux",
"description": "Capturer un Pokémon fabuleux."
},
"CATCH_SUB_LEGENDARY": {
"name": "(Semi-)Légendaire",
"description": "Capturer un Pokémon semi-légendaire."
},
"CATCH_LEGENDARY": {
"name": "Légendaire",
"description": "Capturer un Pokémon légendaire."
},
"SEE_SHINY": {
"name": "Chromatique",
"description": "Trouver un Pokémon sauvage chromatique."
},
"HATCH_MYTHICAL": {
"name": "Œuf fabuleux",
"description": "Obtenir un Pokémon fabuleux dans un Œuf."
},
"HATCH_SUB_LEGENDARY": {
"name": "Œuf semi-légendaire",
"description": "Obtenir un Pokémon semi-légendaire dans un Œuf."
},
"HATCH_LEGENDARY": {
"name": "Œuf légendaire",
"description": "Obtenir un Pokémon légendaire dans un Œuf."
},
"HATCH_SHINY": {
"name": "Œuf chromatique",
"description": "Obtenir un Pokémon chromatique dans un Œuf."
},
"HIDDEN_ABILITY": {
"name": "Potentiel enfoui",
"description": "Capturer un Pokémon possédant un talent caché."
},
"PERFECT_IVS": {
"name": "Certificat dauthenticité",
"description": "Avoir des IV parfaits sur un Pokémon."
},
"UNEVOLVED_CLASSIC_VICTORY": {
"name": "Le stagiaire de 3e",
"description": "Terminer le mode Classique avec au moins un Pokémon non-évolué dans léquipe."
},
"MONO_GEN_ONE": {
"name": "Le rival originel",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 1re génération."
},
"MONO_GEN_TWO": {
"name": "Entre tradition et modernité",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 2e génération."
},
"MONO_GEN_THREE": {
"name": "Too much water ?",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 3e génération."
},
"MONO_GEN_FOUR": {
"name": "Réellement la plus difficile ?",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 4e génération."
},
"MONO_GEN_FIVE": {
"name": "Recast complet",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 5e génération."
},
"MONO_GEN_SIX": {
"name": "Aristocrate",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 6e génération."
},
"MONO_GEN_SEVEN": {
"name": "Seulement techniquement",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 7e génération."
},
"MONO_GEN_EIGHT": {
"name": "Lheure de gloire",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 8e génération."
},
"MONO_GEN_NINE": {
"name": "Ça va, cétait EZ",
"description": "Terminer un challenge avec uniquement des Pokémon\nde 9e génération."
},
"MonoType": {
"description": "Terminer un challenge en monotype {{type}}."
},
"MONO_NORMAL": {
"name": "Extraordinairement banal"
},
"MONO_FIGHTING": {
"name": "Je connais le kung-fu"
},
"MONO_FLYING": {
"name": "Angry Birds"
},
"MONO_POISON": {
"name": "Touche moi je tempoisonne !"
},
"MONO_GROUND": {
"name": "Prévisions : Séisme"
},
"MONO_ROCK": {
"name": "Comme un roc"
},
"MONO_BUG": {
"name": "Une chenille !"
},
"MONO_GHOST": {
"name": "SOS Fantômes"
},
"MONO_STEEL": {
"name": "De type Acier !"
},
"MONO_FIRE": {
"name": "Allumer le feu"
},
"MONO_WATER": {
"name": "Vacances en Bretagne"
},
"MONO_GRASS": {
"name": "Ne pas toucher !"
},
"MONO_ELECTRIC": {
"name": "À la masse"
},
"MONO_PSYCHIC": {
"name": "Grocervo"
},
"MONO_ICE": {
"name": "Froid comme la glace"
},
"MONO_DRAGON": {
"name": "Légendes du club, ou presque"
},
"MONO_DARK": {
"name": "Ça va lui passer"
},
"MONO_FAIRY": {
"name": "Hey ! Listen !"
},
"FRESH_START": {
"name": "Du premier coup !",
"description": "Terminer un challenge « Nouveau départ »."
}
}

View File

@ -9,16 +9,19 @@
"description": "Récolter un total de {{moneyAmount}} ₽." "description": "Récolter un total de {{moneyAmount}} ₽."
}, },
"10K_MONEY": { "10K_MONEY": {
"name": "Épargnant" "name": "Épargnant",
"name_female": "Épargnante"
}, },
"100K_MONEY": { "100K_MONEY": {
"name": "Je possède des thunes" "name": "Je possède des thunes"
}, },
"1M_MONEY": { "1M_MONEY": {
"name": "Banquier" "name": "Banquier",
"name_female": "Banquière"
}, },
"10M_MONEY": { "10M_MONEY": {
"name": "Évadé fiscal" "name": "Évadé fiscal",
"name_female": "Évadée fiscale"
}, },
"DamageAchv": { "DamageAchv": {
"description": "Infliger {{damageAmount}} de dégâts en un coup." "description": "Infliger {{damageAmount}} de dégâts en un coup."
@ -27,19 +30,23 @@
"name": "Caïd" "name": "Caïd"
}, },
"1000_DMG": { "1000_DMG": {
"name": "Boxeur" "name": "Boxeur",
"name_female": "Boxeuse"
}, },
"2500_DMG": { "2500_DMG": {
"name": "Distributeur de pains" "name": "Distributeur de pains",
"name_female": "Distributrice de pains"
}, },
"10000_DMG": { "10000_DMG": {
"name": "One Punch Man" "name": "One Punch Man",
"name_female": "One Punch Woman"
}, },
"HealAchv": { "HealAchv": {
"description": "Soigner {{healAmount}} {{HP}} en une fois avec une capacité,\nun talent ou un objet tenu." "description": "Soigner {{healAmount}} {{HP}} en une fois avec une capacité,\nun talent ou un objet tenu."
}, },
"250_HEAL": { "250_HEAL": {
"name": "Infirmier" "name": "Infirmier",
"name_female": "Infirmière"
}, },
"1000_HEAL": { "1000_HEAL": {
"name": "Médecin" "name": "Médecin"
@ -66,19 +73,24 @@
"description": "Accumuler un total de {{ribbonAmount}} Rubans." "description": "Accumuler un total de {{ribbonAmount}} Rubans."
}, },
"10_RIBBONS": { "10_RIBBONS": {
"name": "Maitre de la Ligue" "name": "Maitre de la Ligue",
"name_female": "Maitresse de la Ligue"
}, },
"25_RIBBONS": { "25_RIBBONS": {
"name": "Super Maitre de la Ligue" "name": "Super Maitre de la Ligue",
"name_female": "Super Maitresse de la Ligue"
}, },
"50_RIBBONS": { "50_RIBBONS": {
"name": "Hyper Maitre de la Ligue" "name": "Hyper Maitre de la Ligue",
"name_female": "Hyper Maitresse de la Ligue"
}, },
"75_RIBBONS": { "75_RIBBONS": {
"name": "Rogue Maitre de la Ligue" "name": "Rogue Maitre de la Ligue",
"name_female": "Rogue Maitresse de la Ligue"
}, },
"100_RIBBONS": { "100_RIBBONS": {
"name": "Master Maitre de la Ligue" "name": "Master Maitre de la Ligue",
"name_female": "Master Maitresse de la Ligue"
}, },
"TRANSFER_MAX_BATTLE_STAT": { "TRANSFER_MAX_BATTLE_STAT": {
"name": "Travail déquipe", "name": "Travail déquipe",
@ -130,6 +142,7 @@
}, },
"SHINY_PARTY": { "SHINY_PARTY": {
"name": "Shasseur", "name": "Shasseur",
"name_female": "Shasseuse",
"description": "Avoir une équipe exclusivement composée de Pokémon chromatiques." "description": "Avoir une équipe exclusivement composée de Pokémon chromatiques."
}, },
"HATCH_MYTHICAL": { "HATCH_MYTHICAL": {
@ -158,6 +171,7 @@
}, },
"CLASSIC_VICTORY": { "CLASSIC_VICTORY": {
"name": "Invaincu", "name": "Invaincu",
"name_female": "Invaincue",
"description": "Terminer le jeu en mode Classique." "description": "Terminer le jeu en mode Classique."
}, },
"UNEVOLVED_CLASSIC_VICTORY": { "UNEVOLVED_CLASSIC_VICTORY": {

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -76,8 +75,7 @@ export const frConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale,
PGMdialogue: dialogueMale, PGMdialogue: dialogueMale,
PGFdialogue: dialogueFemale, PGFdialogue: dialogueFemale,
PGMbattleSpecDialogue: dialogueEndbossMale, PGMbattleSpecDialogue: dialogueEndbossMale,

View File

@ -1,264 +0,0 @@
{
"Achievements": {
"name": "Obiettivi"
},
"Locked": {
"name": "Bloccato"
},
"MoneyAchv": {
"description": "Accumula {{moneyAmount}} PokéDollari"
},
"10K_MONEY": {
"name": "Benestante"
},
"100K_MONEY": {
"name": "Ricco"
},
"1M_MONEY": {
"name": "Milionario"
},
"10M_MONEY": {
"name": "La numero uno"
},
"DamageAchv": {
"description": "Infliggi {{damageAmount}} danni in un colpo"
},
"250_DMG": {
"name": "Grandi danni!"
},
"1000_DMG": {
"name": "Incredibili danni"
},
"2500_DMG": {
"name": "Danni a palate!"
},
"10000_DMG": {
"name": "One Punch Man"
},
"HealAchv": {
"description": "Cura {{healAmount}} {{HP}} tramite mossa, abilità, o oggetto"
},
"250_HEAL": {
"name": "Paramedico"
},
"1000_HEAL": {
"name": "Dottore"
},
"2500_HEAL": {
"name": "Chierico"
},
"10000_HEAL": {
"name": "Mastro Curatore"
},
"LevelAchv": {
"description": "Porta un pokémon a Lv{{level}}"
},
"LV_100": {
"name": "E Non Finisce Qui!"
},
"LV_250": {
"name": "Elite"
},
"LV_1000": {
"name": "Verso l'Infinito ed Oltre!"
},
"RibbonAchv": {
"description": "Accumula un Totale di {{ribbonAmount}} Nastri"
},
"10_RIBBONS": {
"name": "Campione Lega Pokémon"
},
"25_RIBBONS": {
"name": "Campione Lega Estesa"
},
"50_RIBBONS": {
"name": "Campione Lega Ultra"
},
"75_RIBBONS": {
"name": "Campione Lega Rogue"
},
"100_RIBBONS": {
"name": "Campione Lega Assoluta"
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "Lavoro di Squadra",
"description": "Trasferisci almeno sei bonus statistiche tramite staffetta"
},
"MAX_FRIENDSHIP": {
"name": "Amiconi",
"description": "Raggiungi amicizia massima con un Pokémon"
},
"MEGA_EVOLVE": {
"name": "Megamorfosi",
"description": "Megaevolvi un Pokémon"
},
"GIGANTAMAX": {
"name": "Grosso e Cattivo",
"description": "Ottieni una gigamax"
},
"TERASTALLIZE": {
"name": "STAB Per Tutti",
"description": "Teracristallizza un Pokémon"
},
"STELLAR_TERASTALLIZE": {
"name": "Tipo Segreto",
"description": "Teracristallizza un Pokémon stellare"
},
"SPLICE": {
"name": "Fusione Infinita",
"description": "Fondi due Pokémon insieme tramite cuneo DNA"
},
"MINI_BLACK_HOLE": {
"name": "Universo di Oggetti",
"description": "Ottieni un Mini Buco Nero"
},
"CATCH_MYTHICAL": {
"name": "Mitico",
"description": "Cattura un Pokémon mitico"
},
"CATCH_SUB_LEGENDARY": {
"name": "(Semi)Leggendario",
"description": "Cattura un Pokémon semileggendario"
},
"CATCH_LEGENDARY": {
"name": "Leggendario",
"description": "Cattura un Pokémon leggendario"
},
"SEE_SHINY": {
"name": "Cromatico",
"description": "Trova un Pokémon shiny in natura"
},
"SHINY_PARTY": {
"name": "Dedizione Totale",
"description": "Riempi la squadra di Pokémon shiny"
},
"HATCH_MYTHICAL": {
"name": "Uovo Mitico",
"description": "Schiudi l'uovo di un Pokémon mitico"
},
"HATCH_SUB_LEGENDARY": {
"name": "Uovo (Semi)Leggendario",
"description": "Schiudi l'uovo di un Pokémon semileggendario"
},
"HATCH_LEGENDARY": {
"name": "Uovo Leggendario",
"description": "Schiudi l'uovo di un Pokémon leggendario"
},
"HATCH_SHINY": {
"name": "Uovo Cromatico",
"description": "Schiudi l'uovo di un Pokémon shiny"
},
"HIDDEN_ABILITY": {
"name": "Potenziale Nascosto",
"description": "Cattura un Pokémon con abilità nascosta"
},
"PERFECT_IVS": {
"name": "Certificato di Autenticità",
"description": "Ottieni un Pokémon con IV perfetti"
},
"CLASSIC_VICTORY": {
"name": "Imbattuto",
"description": "Vinci in modalità classica"
},
"UNEVOLVED_CLASSIC_VICTORY": {
"name": "Alternanza scuola-lavoro",
"description": "Completa la modalità classica con almeno un membro della squadra non evoluto completamente."
},
"MONO_GEN_ONE": {
"name": "Rivale Originale",
"description": "Completa la modalità sfida di prima generazione."
},
"MONO_GEN_TWO": {
"name": "Generazione 1.5",
"description": "Completa la modalità sfida di seconda generazione."
},
"MONO_GEN_THREE": {
"name": "Troppa Acqua?",
"description": "Completa la modalità sfida di terza generazione."
},
"MONO_GEN_FOUR": {
"name": "È Davvero La Più Forte?",
"description": "Completa la modalità sfida di quarta generazione."
},
"MONO_GEN_FIVE": {
"name": "Tutti Originali",
"description": "Completa la modalità sfida di quinta generazione."
},
"MONO_GEN_SIX": {
"name": "Vita e Morte",
"description": "Completa la modalità sfida di sesta generazione."
},
"MONO_GEN_SEVEN": {
"name": "Troppo amichevoli?",
"description": "Completa la modalità sfida di settima generazione."
},
"MONO_GEN_EIGHT": {
"name": "It's champion time!",
"description": "Completa la modalità sfida di ottava generazione."
},
"MONO_GEN_NINE": {
"name": "Paradossalmente sbalorditivi",
"description": "Completa la modalità sfida di nona generazione."
},
"MonoType": {
"description": "Completa la modalità sfida monotipo {{type}}"
},
"MONO_NORMAL": {
"name": "Un tipo semplice"
},
"MONO_FIGHTING": {
"name": "Conosco il Kung-fu"
},
"MONO_FLYING": {
"name": "È un uccello? È un aereo?"
},
"MONO_POISON": {
"name": "I migliori di Kanto"
},
"MONO_GROUND": {
"name": "Con i piedi per terra"
},
"MONO_ROCK": {
"name": "Forte come una roccia!"
},
"MONO_BUG": {
"name": "Metodo Guzma"
},
"MONO_GHOST": {
"name": "Sono fantasmi, caro Watson"
},
"MONO_STEEL": {
"name": "Pugno di ferro"
},
"MONO_FIRE": {
"name": "Giocare col fuoco"
},
"MONO_WATER": {
"name": "Piove sul bagnato"
},
"MONO_GRASS": {
"name": "L'erba del vicino è sempre più verde"
},
"MONO_ELECTRIC": {
"name": "Elettrizzante"
},
"MONO_PSYCHIC": {
"name": "Mentalista"
},
"MONO_ICE": {
"name": "Rompere il ghiaccio"
},
"MONO_DRAGON": {
"name": "Sangue di drago"
},
"MONO_DARK": {
"name": "Solo una fase"
},
"MONO_FAIRY": {
"name": "Follettini e follettine"
},
"FRESH_START": {
"name": "Buona la prima!",
"description": "Completa la modalità sfida 'Un nuovo inizio'."
}
}

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -76,8 +75,7 @@ export const itConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale,
PGMdialogue: dialogueMale, PGMdialogue: dialogueMale,
PGFdialogue: dialogueFemale, PGFdialogue: dialogueFemale,
PGMbattleSpecDialogue: dialogueEndbossMale, PGMbattleSpecDialogue: dialogueEndbossMale,

View File

@ -1,264 +0,0 @@
{
"Achievements": {
"name": "実績"
},
"Locked": {
"name": "なし"
},
"MoneyAchv": {
"description": "一回の ランで ₽{{moneyAmount}}を 稼ぐ"
},
"10K_MONEY": {
"name": "お金を持つ人"
},
"100K_MONEY": {
"name": "富豪"
},
"1M_MONEY": {
"name": "百万長者"
},
"10M_MONEY": {
"name": "超富裕層"
},
"DamageAchv": {
"description": "一撃で {{damageAmount}}ダメージを 与える"
},
"250_DMG": {
"name": "力持ち"
},
"1000_DMG": {
"name": "強者"
},
"2500_DMG": {
"name": "カカロット"
},
"10000_DMG": {
"name": "ワンパンマン"
},
"HealAchv": {
"description": "一つの 技や 特性や 持っているアイテムで {{healAmount}}{{HP}}を 一気に 回復する"
},
"250_HEAL": {
"name": "回復発見者"
},
"1000_HEAL": {
"name": "大いなる治療者"
},
"2500_HEAL": {
"name": "回復達人"
},
"10000_HEAL": {
"name": "ジョーイさん"
},
"LevelAchv": {
"description": "一つの ポケモンを Lv{{level}}まで レベルアップする"
},
"LV_100": {
"name": "まだまだだよ"
},
"LV_250": {
"name": "天王"
},
"LV_1000": {
"name": "向こうの向こうを超え"
},
"RibbonAchv": {
"description": "{{ribbonAmount}}巻の リボンを 積もる"
},
"10_RIBBONS": {
"name": "ポケモンリーグチャンピオン"
},
"25_RIBBONS": {
"name": "スーパーリーグチャンピオン"
},
"50_RIBBONS": {
"name": "ハイパーリーグチャンピオン"
},
"75_RIBBONS": {
"name": "ローグリーグチャンピオン"
},
"100_RIBBONS": {
"name": "マスターリーグチャンピオン"
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "同力",
"description": "少なくとも 一つの 能力を 最大まで あげて 他の 手持ちポケモンに バトンタッチする"
},
"MAX_FRIENDSHIP": {
"name": "マブ達",
"description": "一つの 手持ちポケモンの 仲良し度を 最大に 上げる"
},
"MEGA_EVOLVE": {
"name": "ザ・アブソリュート",
"description": "一つの 手持ちポケモンを メガシンカさせる"
},
"GIGANTAMAX": {
"name": "太―くて 堪らない",
"description": "一つの 手持ちポケモンを キョダイマックスさせる"
},
"TERASTALLIZE": {
"name": "一致好き",
"description": "一つの 手持ちポケモンを テラスタルさせる"
},
"STELLAR_TERASTALLIZE": {
"name": "隠れたタイプ",
"description": "一つの 手持ちポケモンを ステラ・テラスタルさせる"
},
"SPLICE": {
"name": "インフィニット・フュジョン",
"description": "いでんしのくさびで 二つの ポケモンを 吸収合体させる"
},
"MINI_BLACK_HOLE": {
"name": "アイテムホーリック",
"description": "ミニブラックホールを 手に入れる"
},
"CATCH_MYTHICAL": {
"name": "幻",
"description": "幻の ポケモンを 捕まえる"
},
"CATCH_SUB_LEGENDARY": {
"name": "準・伝説",
"description": "準伝説の ポケモンを 捕まえる"
},
"CATCH_LEGENDARY": {
"name": "ザ・伝説",
"description": "伝説の ポケモンを 捕まえる"
},
"SEE_SHINY": {
"name": "色とりどりに光る",
"description": "野生の 色違いポケモンを みつける"
},
"SHINY_PARTY": {
"name": "きらきら努力家",
"description": "手持ちポケモンは 全員 色違いポケモンに する"
},
"HATCH_MYTHICAL": {
"name": "幻のタマゴ",
"description": "幻の ポケモンを タマゴから 生まれる"
},
"HATCH_SUB_LEGENDARY": {
"name": "準伝説のタマゴ",
"description": "準伝説の ポケモンを タマゴから 生まれる"
},
"HATCH_LEGENDARY": {
"name": "伝説のタマゴ",
"description": "伝説の ポケモンを タマゴから 生まれる"
},
"HATCH_SHINY": {
"name": "色違いタマゴ",
"description": "色違いポケモンを タマゴから 生まれる"
},
"HIDDEN_ABILITY": {
"name": "底力",
"description": "隠れ特性がある ポケモンを 捕まえる"
},
"PERFECT_IVS": {
"name": "個体値の賞状",
"description": "一つの ポケモンの 個体値を すべて 最大に する"
},
"CLASSIC_VICTORY": {
"name": "無双",
"description": "クラシックモードを クリアする"
},
"UNEVOLVED_CLASSIC_VICTORY": {
"name": "Bring Your Child To Work Day",
"description": "Beat the game in Classic Mode with at least one unevolved party member."
},
"MONO_GEN_ONE": {
"name": "原始",
"description": "1世代の 単一世代チャレンジを クリアする"
},
"MONO_GEN_TWO": {
"name": "懐かしいカンジョウ",
"description": "2世代の 単一世代チャレンジを クリアする"
},
"MONO_GEN_THREE": {
"name": "水浸し",
"description": "3世代の 単一世代チャレンジを クリアする"
},
"MONO_GEN_FOUR": {
"name": "神々の地",
"description": "4世代の 単一世代チャレンジを クリアする"
},
"MONO_GEN_FIVE": {
"name": "ニューヨーカー",
"description": "5世代の 単一世代チャレンジを クリアする"
},
"MONO_GEN_SIX": {
"name": "サヴァ・サヴァ",
"description": "6世代の 単一世代チャレンジを クリアする"
},
"MONO_GEN_SEVEN": {
"name": "アローラ・オエ",
"description": "7世代の 単一世代チャレンジを クリアする"
},
"MONO_GEN_EIGHT": {
"name": "チャンピオン タイムを 楽しめ!",
"description": "8世代の 単一世代チャレンジを クリアする"
},
"MONO_GEN_NINE": {
"name": "ネモに甘えたでしょう",
"description": "9世代の 単一世代チャレンジを クリアする"
},
"MonoType": {
"description": "{{type}}タイプの 単一タイプチャレンジを クリアする"
},
"MONO_NORMAL": {
"name": "凡人"
},
"MONO_FIGHTING": {
"name": "八千以上だ!!"
},
"MONO_FLYING": {
"name": "翼をください"
},
"MONO_POISON": {
"name": "カントーの名物"
},
"MONO_GROUND": {
"name": "自信でユラユラ"
},
"MONO_ROCK": {
"name": "タケシの挑戦状"
},
"MONO_BUG": {
"name": "チョウチョウせん者"
},
"MONO_GHOST": {
"name": "貞子ちゃん"
},
"MONO_STEEL": {
"name": "ハガネーター"
},
"MONO_FIRE": {
"name": "NIGHT OF FIRE"
},
"MONO_WATER": {
"name": "土砂降リスト"
},
"MONO_GRASS": {
"name": ""
},
"MONO_ELECTRIC": {
"name": "パチピカペコ"
},
"MONO_PSYCHIC": {
"name": "陽キャ"
},
"MONO_ICE": {
"name": "ありのまま"
},
"MONO_DRAGON": {
"name": "龍が如く"
},
"MONO_DARK": {
"name": "陰キャ"
},
"MONO_FAIRY": {
"name": "あらハート満タンになった"
},
"FRESH_START": {
"name": "一発で!",
"description": "出直しチャレンジを クリアする"
}
}

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -76,8 +75,7 @@ export const jaConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale,
PGMdialogue: dialogueMale, PGMdialogue: dialogueMale,
PGFdialogue: dialogueFemale, PGFdialogue: dialogueFemale,
PGMbattleSpecDialogue: dialogueEndbossMale, PGMbattleSpecDialogue: dialogueEndbossMale,

View File

@ -1,264 +0,0 @@
{
"Achievements": {
"name": "업적"
},
"Locked": {
"name": "미완료"
},
"MoneyAchv": {
"description": "누적 소지금 ₽{{moneyAmount}} 달성"
},
"10K_MONEY": {
"name": "돈 좀 있나?"
},
"100K_MONEY": {
"name": "부자"
},
"1M_MONEY": {
"name": "백만장자"
},
"10M_MONEY": {
"name": "상위 1프로"
},
"DamageAchv": {
"description": "한 번의 공격만으로 {{damageAmount}} 데미지"
},
"250_DMG": {
"name": "강타자"
},
"1000_DMG": {
"name": "최강타자"
},
"2500_DMG": {
"name": "때릴 줄 아시는군요!"
},
"10000_DMG": {
"name": "원펀맨"
},
"HealAchv": {
"description": "기술이나 특성, 지닌 도구로 한 번에 {{healAmount}} {{HP}} 회복"
},
"250_HEAL": {
"name": "견습 힐러"
},
"1000_HEAL": {
"name": "상급 힐러"
},
"2500_HEAL": {
"name": "클레릭"
},
"10000_HEAL": {
"name": "회복 마스터"
},
"LevelAchv": {
"description": "포켓몬 Lv{{level}} 달성"
},
"LV_100": {
"name": "잠깐, 여기가 끝이 아니라구!"
},
"LV_250": {
"name": "엘리트"
},
"LV_1000": {
"name": "더 먼 곳을 향해"
},
"RibbonAchv": {
"description": "총 {{ribbonAmount}}개의 리본 획득"
},
"10_RIBBONS": {
"name": "포켓몬 리그 챔피언"
},
"25_RIBBONS": {
"name": "슈퍼 리그 챔피언"
},
"50_RIBBONS": {
"name": "하이퍼 리그 챔피언"
},
"75_RIBBONS": {
"name": "로그 리그 챔피언"
},
"100_RIBBONS": {
"name": "마스터 리그 챔피언"
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "팀워크",
"description": "한 개 이상의 능력치가 최대 랭크일 때 배턴터치 사용"
},
"MAX_FRIENDSHIP": {
"name": "친밀 맥스",
"description": "최대 친밀도 달성"
},
"MEGA_EVOLVE": {
"name": "메가변환",
"description": "포켓몬을 메가진화"
},
"GIGANTAMAX": {
"name": "엄청난 것",
"description": "포켓몬을 다이맥스"
},
"TERASTALLIZE": {
"name": "반짝반짝",
"description": "포켓몬을 테라스탈"
},
"STELLAR_TERASTALLIZE": {
"name": "숨겨진 타입",
"description": "포켓몬을 스텔라 테라스탈"
},
"SPLICE": {
"name": "끝없는 융합",
"description": "유전자쐐기로 두 포켓몬을 융합"
},
"MINI_BLACK_HOLE": {
"name": "도구가 가득한 구멍",
"description": "미니 블랙홀 획득"
},
"CATCH_MYTHICAL": {
"name": "환상",
"description": "환상의 포켓몬 포획"
},
"CATCH_SUB_LEGENDARY": {
"name": "(준)전설",
"description": "준전설 포켓몬 포획"
},
"CATCH_LEGENDARY": {
"name": "전설",
"description": "전설의 포켓몬 포획"
},
"SEE_SHINY": {
"name": "다른 색",
"description": "야생의 색이 다른 포켓몬 발견"
},
"SHINY_PARTY": {
"name": "찐사랑",
"description": "색이 다른 포켓몬만으로 파티 구성"
},
"HATCH_MYTHICAL": {
"name": "환상의 알",
"description": "알에서 환상의 포켓몬이 부화"
},
"HATCH_SUB_LEGENDARY": {
"name": "준전설 알",
"description": "알에서 준전설 포켓몬이 부화"
},
"HATCH_LEGENDARY": {
"name": "전설의 알",
"description": "알에서 전설의 포켓몬이 부화"
},
"HATCH_SHINY": {
"name": "빛나는 알",
"description": "알에서 색이 다른 포켓몬이 부화"
},
"HIDDEN_ABILITY": {
"name": "숨은 잠재력",
"description": "숨겨진 특성을 지닌 포켓몬을 포획"
},
"PERFECT_IVS": {
"name": "진짜배기 증명서",
"description": "최고의 개체값을 지닌 포켓몬 획득"
},
"CLASSIC_VICTORY": {
"name": "무패",
"description": "클래식 모드 클리어"
},
"UNEVOLVED_CLASSIC_VICTORY": {
"name": "우리집 꿈나무",
"description": "최종 진화형이 아닌 포켓몬을 데리고 클래식 모드 클리어."
},
"MONO_GEN_ONE": {
"name": "근본 라이벌",
"description": "1세대 챌린지 모드 클리어."
},
"MONO_GEN_TWO": {
"name": "이거 1.5세대죠?",
"description": "2세대 챌린지 모드 클리어."
},
"MONO_GEN_THREE": {
"name": "Too much water?",
"description": "3세대 챌린지 모드 클리어."
},
"MONO_GEN_FOUR": {
"name": "난천이 진짜 최강인가요?",
"description": "4세대 챌린지 모드 클리어."
},
"MONO_GEN_FIVE": {
"name": "100% 오리지널!",
"description": "5세대 챌린지 모드 클리어."
},
"MONO_GEN_SIX": {
"name": "크루아상 안에 뭐 들었나요?",
"description": "6세대 챌린지 모드 클리어."
},
"MONO_GEN_SEVEN": {
"name": "기술적으로는…",
"description": "7세대 챌린지 모드 클리어."
},
"MONO_GEN_EIGHT": {
"name": "챔피언 타임!",
"description": "8세대 챌린지 모드 클리어."
},
"MONO_GEN_NINE": {
"name": "걔, 봐 준 거야",
"description": "9세대 챌린지 모드 클리어."
},
"MonoType": {
"description": "{{type}} 타입 챌린지 모드 클리어."
},
"MONO_NORMAL": {
"name": "심플한 것이 가장 강한 것"
},
"MONO_FIGHTING": {
"name": "태권도 할 줄 알아요"
},
"MONO_FLYING": {
"name": "추락하는 것은 날개가 있다"
},
"MONO_POISON": {
"name": "관동 지방 최애 타입"
},
"MONO_GROUND": {
"name": "전기 안 통해요"
},
"MONO_ROCK": {
"name": "웅골참"
},
"MONO_BUG": {
"name": "독침붕처럼 쏴라"
},
"MONO_GHOST": {
"name": "누굴 부를 거야?"
},
"MONO_STEEL": {
"name": "강철 심장"
},
"MONO_FIRE": {
"name": "불타오르네"
},
"MONO_WATER": {
"name": "물 들어올 때 노 젓기"
},
"MONO_GRASS": {
"name": "초록은 동색"
},
"MONO_ELECTRIC": {
"name": "찌릿찌릿"
},
"MONO_PSYCHIC": {
"name": "1세대 최강"
},
"MONO_ICE": {
"name": "얼음땡"
},
"MONO_DRAGON": {
"name": "용용 죽겠지"
},
"MONO_DARK": {
"name": "어둠의 다크"
},
"MONO_FAIRY": {
"name": "설마 자시안으로?"
},
"FRESH_START": {
"name": "첫트!",
"description": "새 출발 챌린지 모드 클리어."
}
}

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -76,8 +75,7 @@ export const koConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale,
PGMdialogue: dialogueMale, PGMdialogue: dialogueMale,
PGFdialogue: dialogueFemale, PGFdialogue: dialogueFemale,
PGMbattleSpecDialogue: dialogueEndbossMale, PGMbattleSpecDialogue: dialogueEndbossMale,

View File

@ -1,264 +0,0 @@
{
"Achievements": {
"name": "Conquistas"
},
"Locked": {
"name": "Não conquistado"
},
"MoneyAchv": {
"description": "Acumule um total de ₽{{moneyAmount}}"
},
"10K_MONEY": {
"name": "Chuva de Dinheiro"
},
"100K_MONEY": {
"name": "Tô Rica!"
},
"1M_MONEY": {
"name": "Quem Quer Ser Um Milionário?"
},
"10M_MONEY": {
"name": "Tio Patinhas"
},
"DamageAchv": {
"description": "Inflija {{damageAmount}} de dano em um único golpe"
},
"250_DMG": {
"name": "Essa Doeu!"
},
"1000_DMG": {
"name": "Essa Doeu Mais!"
},
"2500_DMG": {
"name": "Essa Doeu Muito!"
},
"10000_DMG": {
"name": "Essa Doeu Pra Caramba!"
},
"HealAchv": {
"description": "Cure {{healAmount}} {{HP}} de uma vez só com um movimento, habilidade ou item segurado"
},
"250_HEAL": {
"name": "Residente"
},
"1000_HEAL": {
"name": "Enfermeira"
},
"2500_HEAL": {
"name": "Médica"
},
"10000_HEAL": {
"name": "Médica de Plantão"
},
"LevelAchv": {
"description": "Aumente o nível de um Pokémon para o Nv{{level}}"
},
"LV_100": {
"name": "Calma Que Tem Mais!"
},
"LV_250": {
"name": "Treinadora de Elite"
},
"LV_1000": {
"name": "Ao Infinito e Além!"
},
"RibbonAchv": {
"description": "Acumule um total de {{ribbonAmount}} Fitas"
},
"10_RIBBONS": {
"name": "Fita de Bronze"
},
"25_RIBBONS": {
"name": "Fita de Prata"
},
"50_RIBBONS": {
"name": "Fita de Ouro"
},
"75_RIBBONS": {
"name": "Fita de Platina"
},
"100_RIBBONS": {
"name": "Fita de Diamante"
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "Trabalho em Equipe",
"description": "Use Baton Pass com pelo menos um atributo aumentado ao máximo"
},
"MAX_FRIENDSHIP": {
"name": "Melhores Amigos",
"description": "Alcance a amizade máxima com um Pokémon"
},
"MEGA_EVOLVE": {
"name": "Megamorfose",
"description": "Megaevolua um Pokémon"
},
"GIGANTAMAX": {
"name": "Ficou Gigante!",
"description": "Gigantamax um Pokémon"
},
"TERASTALLIZE": {
"name": "Terastalização",
"description": "Terastalize um Pokémon"
},
"STELLAR_TERASTALLIZE": {
"name": "Estrela Cadente",
"description": "Terastalize um Pokémon para o tipo Estelar"
},
"SPLICE": {
"name": "Fusão!",
"description": "Funda dois Pokémon com um Splicer de DNA"
},
"MINI_BLACK_HOLE": {
"name": "Buraco Sem Fundo",
"description": "Adquira um Mini Buraco Negro"
},
"CATCH_MYTHICAL": {
"name": "Mítico",
"description": "Capture um Pokémon Mítico"
},
"CATCH_SUB_LEGENDARY": {
"name": "Quase Lendário",
"description": "Capture um Pokémon Semi-Lendário"
},
"CATCH_LEGENDARY": {
"name": "Lendário",
"description": "Capture um Pokémon Lendário"
},
"SEE_SHINY": {
"name": "Ué, Tá Brilhando?",
"description": "Encontre um Pokémon Shiny selvagem"
},
"SHINY_PARTY": {
"name": "Tá Todo Mundo Brilhando!",
"description": "Tenha uma equipe formada por 6 Pokémon Shiny"
},
"HATCH_MYTHICAL": {
"name": "Ovo Mítico",
"description": "Choque um Pokémon Mítico"
},
"HATCH_SUB_LEGENDARY": {
"name": "Ovo Semi-Lendário",
"description": "Choque um Pokémon Semi-Lendário"
},
"HATCH_LEGENDARY": {
"name": "Ovo Lendário",
"description": "Choque um Pokémon Lendário"
},
"HATCH_SHINY": {
"name": "Ovo Shiny",
"description": "Choque um Pokémon Shiny"
},
"HIDDEN_ABILITY": {
"name": "Potencial Oculto",
"description": "Capture um Pokémon com uma Habilidade Oculta"
},
"PERFECT_IVS": {
"name": "Perfeição Certificada",
"description": "Obtenha IVs perfeitos em um Pokémon"
},
"CLASSIC_VICTORY": {
"name": "Invencível",
"description": "Vença o jogo no modo clássico"
},
"UNEVOLVED_CLASSIC_VICTORY": {
"name": "Tire as Crianças da Sala",
"description": "Vença o jogo no Modo Clássico com pelo menos um membro da equipe não evoluído."
},
"MONO_GEN_ONE": {
"name": "O Início de Tudo",
"description": "Complete o desafio da geração um."
},
"MONO_GEN_TWO": {
"name": "Geração 1.5",
"description": "Complete o desafio da geração dois."
},
"MONO_GEN_THREE": {
"name": "Será que tem muita água?",
"description": "Complete o desafio da geração três."
},
"MONO_GEN_FOUR": {
"name": "Essa foi a mais difícil?",
"description": "Complete o desafio da geração quatro."
},
"MONO_GEN_FIVE": {
"name": "Nada original",
"description": "Complete o desafio da geração cinco."
},
"MONO_GEN_SIX": {
"name": "Esse croissant tem recheio?",
"description": "Complete o desafio da geração seis."
},
"MONO_GEN_SEVEN": {
"name": "Z-Move ou Se vira nos 30?",
"description": "Complete o desafio da geração sete."
},
"MONO_GEN_EIGHT": {
"name": "Finalmente ele ganhou!",
"description": "Complete o desafio da geração oito."
},
"MONO_GEN_NINE": {
"name": "Isso aqui tá muito fácil!",
"description": "Complete o desafio da geração nove."
},
"MonoType": {
"description": "Complete o desafio de monotipo {{type}}."
},
"MONO_NORMAL": {
"name": "Extra Ordinário"
},
"MONO_FIGHTING": {
"name": "Briga de Rua"
},
"MONO_FLYING": {
"name": "Rinha de Pidgeys"
},
"MONO_POISON": {
"name": "Menina Veneno"
},
"MONO_GROUND": {
"name": "Comendo Poeira"
},
"MONO_ROCK": {
"name": "...Tanto Bate Até Que Fura"
},
"MONO_BUG": {
"name": "Vida de Inseto"
},
"MONO_GHOST": {
"name": "Fantasminha Camarada"
},
"MONO_STEEL": {
"name": "Levantando Ferro"
},
"MONO_FIRE": {
"name": "Tá Pegando Fogo, Bicho!"
},
"MONO_WATER": {
"name": "Água Mole em Pedra Dura..."
},
"MONO_GRASS": {
"name": "Jardim Botânico"
},
"MONO_ELECTRIC": {
"name": "Choque de Realidade"
},
"MONO_PSYCHIC": {
"name": "Preciso de Terapia"
},
"MONO_ICE": {
"name": "Era do Gelo"
},
"MONO_DRAGON": {
"name": "Caverna do Dragão"
},
"MONO_DARK": {
"name": "É Só Uma Fase"
},
"MONO_FAIRY": {
"name": "Clube das Winx"
},
"FRESH_START": {
"name": "De Primeira!",
"description": "Complete o desafio de novo começo."
}
}

View File

@ -42,13 +42,16 @@
"name": "Residente" "name": "Residente"
}, },
"1000_HEAL": { "1000_HEAL": {
"name": "Enfermeiro" "name": "Enfermeiro",
"name_female": "Enfermeira"
}, },
"2500_HEAL": { "2500_HEAL": {
"name": "Médico" "name": "Médico",
"name_female": "Médica"
}, },
"10000_HEAL": { "10000_HEAL": {
"name": "Médico de Plantão" "name": "Médico de Plantão",
"name_female": "Médica de Plantão"
}, },
"LevelAchv": { "LevelAchv": {
"description": "Aumente o nível de um Pokémon para o Nv{{level}}" "description": "Aumente o nível de um Pokémon para o Nv{{level}}"
@ -57,7 +60,8 @@
"name": "Calma Que Tem Mais!" "name": "Calma Que Tem Mais!"
}, },
"LV_250": { "LV_250": {
"name": "Treinador de Elite" "name": "Treinador de Elite",
"name_female": "Treinadora de Elite"
}, },
"LV_1000": { "LV_1000": {
"name": "Ao Infinito e Além!" "name": "Ao Infinito e Além!"

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -76,8 +75,7 @@ export const ptBrConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale,
PGMdialogue: dialogueMale, PGMdialogue: dialogueMale,
PGFdialogue: dialogueFemale, PGFdialogue: dialogueFemale,
PGMbattleSpecDialogue: dialogueEndbossMale, PGMbattleSpecDialogue: dialogueEndbossMale,

View File

@ -1,272 +0,0 @@
{
"Achievements": {
"name": "成就"
},
"Locked": {
"name": "未解锁"
},
"MoneyAchv": {
"description": "累计获得 ₽{{moneyAmount}}"
},
"10K_MONEY": {
"name": "小有积蓄"
},
"100K_MONEY": {
"name": "大户人家"
},
"1M_MONEY": {
"name": "百万富翁"
},
"10M_MONEY": {
"name": "暴发户"
},
"DamageAchv": {
"description": "在单次攻击中造成 {{damageAmount}} 点伤害"
},
"250_DMG": {
"name": "重拳出击"
},
"1000_DMG": {
"name": "神拳猛击"
},
"2500_DMG": {
"name": "夺少?"
},
"10000_DMG": {
"name": "一拳超人"
},
"HealAchv": {
"description": "通过技能、能力或携带的道具一次性治疗 {{healAmount}} {{HP}}点"
},
"250_HEAL": {
"name": "新手奶妈"
},
"1000_HEAL": {
"name": "治疗担当"
},
"2500_HEAL": {
"name": "牧师"
},
"10000_HEAL": {
"name": "泉水"
},
"LevelAchv": {
"description": "将一只宝可梦提升到 Lv{{level}}"
},
"LV_100": {
"name": "别急,后面还有"
},
"LV_250": {
"name": "精英"
},
"LV_1000": {
"name": "天外有天"
},
"RibbonAchv": {
"description": "累计获得 {{ribbonAmount}} 个勋章"
},
"10_RIBBONS": {
"name": "宝可梦联盟冠军"
},
"25_RIBBONS": {
"name": "超级球联盟冠军"
},
"50_RIBBONS": {
"name": "高级球联盟冠军"
},
"75_RIBBONS": {
"name": "肉鸽球联盟冠军"
},
"100_RIBBONS": {
"name": "大师球联盟冠军"
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "团队协作",
"description": "在一项属性强化至最大时用接力棒传递给其他宝可梦"
},
"MAX_FRIENDSHIP": {
"name": "亲密无间",
"description": "使一只宝可梦的亲密度达到最大值"
},
"MEGA_EVOLVE": {
"name": "大变身",
"description": "超级进化一只宝可梦"
},
"GIGANTAMAX": {
"name": "这位更是重量级",
"description": "极巨化一只宝可梦"
},
"TERASTALLIZE": {
"name": "本系爱好者",
"description": "太晶化一只宝可梦"
},
"STELLAR_TERASTALLIZE": {
"name": "隐藏属性",
"description": "星晶化一只宝可梦"
},
"SPLICE": {
"name": "无限融合",
"description": "使用基因之楔将两只宝可梦融合在一起"
},
"MINI_BLACK_HOLE": {
"name": "一大洞的道具",
"description": "获得一个迷你黑洞"
},
"CATCH_MYTHICAL": {
"name": "神秘礼物",
"description": "捕捉一只幻之宝可梦"
},
"CATCH_SUB_LEGENDARY": {
"name": "二级传说",
"description": "捕捉一只二级传说宝可梦"
},
"CATCH_LEGENDARY": {
"name": "传说",
"description": "捕捉一只传说宝可梦"
},
"SEE_SHINY": {
"name": "闪耀夺目",
"description": "在野外找到一只闪光宝可梦"
},
"SHINY_PARTY": {
"name": "呕心沥血",
"description": "拥有一支由闪光宝可梦组成的满员队伍"
},
"HATCH_MYTHICAL": {
"name": "幻兽蛋",
"description": "从蛋中孵化出一只幻之宝可梦"
},
"HATCH_SUB_LEGENDARY": {
"name": "二级传说蛋",
"description": "从蛋中孵化出一只二级传说宝可梦"
},
"HATCH_LEGENDARY": {
"name": "传说蛋",
"description": "从蛋中孵化出一只传说宝可梦"
},
"HATCH_SHINY": {
"name": "金色传说!",
"description": "从蛋中孵化出一只闪光宝可梦"
},
"HIDDEN_ABILITY": {
"name": "隐藏实力",
"description": "捕捉一只拥有隐藏特性的宝可梦"
},
"PERFECT_IVS": {
"name": "合格证",
"description": "获得一只拥有完美个体值的宝可梦"
},
"CLASSIC_VICTORY": {
"name": "战无不胜",
"description": "在经典模式中通关游戏"
},
"UNEVOLVED_CLASSIC_VICTORY": {
"name": "带孩子来上班",
"description": "通关经典模式时队伍中至少有一名未进化的宝可梦"
},
"MONO_GEN_ONE": {
"name": "最初的劲敌",
"description": "完成仅限第一世代的挑战"
},
"MONO_GEN_TWO": {
"name": "1.5世代",
"description": "完成仅限第二世代的挑战"
},
"MONO_GEN_THREE": {
"name": "“水太多了”",
"description": "完成仅限第三世代的挑战"
},
"MONO_GEN_FOUR": {
"name": "她真是最强冠军吗?",
"description": "完成仅限第四世代的挑战"
},
"MONO_GEN_FIVE": {
"name": "完全原创",
"description": "完成仅限第五世代的挑战"
},
"MONO_GEN_SIX": {
"name": "女大公",
"description": "完成仅限第六世代的挑战"
},
"MONO_GEN_SEVEN": {
"name": "首届冠军",
"description": "完成仅限第七世代的挑战"
},
"MONO_GEN_EIGHT": {
"name": "冠军时刻!",
"description": "完成仅限第八世代的挑战"
},
"MONO_GEN_NINE": {
"name": "她又放水了",
"description": "完成仅限第九世代的挑战"
},
"MonoType": {
"description": "完成 {{type}} 单属性挑战"
},
"MONO_NORMAL": {
"name": "异乎寻常的寻常"
},
"MONO_FIGHTING": {
"name": "我有真功夫"
},
"MONO_FLYING": {
"name": "愤怒的小鸟"
},
"MONO_POISON": {
"name": "关都地区特色"
},
"MONO_GROUND": {
"name": "地震预报"
},
"MONO_ROCK": {
"name": "坚如磐石"
},
"MONO_BUG": {
"name": "音箱蟀侠"
},
"MONO_GHOST": {
"name": "捉鬼敢死队"
},
"MONO_STEEL": {
"name": "铁巨人"
},
"MONO_FIRE": {
"name": "搓火球解决一切"
},
"MONO_WATER": {
"name": "当雨来临,倾盆而下"
},
"MONO_GRASS": {
"name": "别踏这个青"
},
"MONO_ELECTRIC": {
"name": "瞄准大岩蛇的角!"
},
"MONO_PSYCHIC": {
"name": "脑洞大开"
},
"MONO_ICE": {
"name": "如履薄冰"
},
"MONO_DRAGON": {
"name": "准神俱乐部"
},
"MONO_DARK": {
"name": "总有叛逆期"
},
"MONO_FAIRY": {
"name": "林克,醒醒!"
},
"FRESH_START": {
"name": "初次尝试!",
"description": "完成初次尝试挑战"
}
}

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -76,8 +75,7 @@ export const zhCnConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale,
PGMdialogue: dialogueMale, PGMdialogue: dialogueMale,
PGFdialogue: dialogueFemale, PGFdialogue: dialogueFemale,
PGMbattleSpecDialogue: dialogueEndbossMale, PGMbattleSpecDialogue: dialogueEndbossMale,

View File

@ -1,256 +0,0 @@
{
"Achievements": {
"name": "成就"
},
"Locked": {
"name": "未解鎖"
},
"MoneyAchv": {
"description": "累計獲得 ₽{{moneyAmount}}"
},
"10K_MONEY": {
"name": "小有積蓄"
},
"100K_MONEY": {
"name": "大戶人家"
},
"1M_MONEY": {
"name": "百萬富翁"
},
"10M_MONEY": {
"name": "暴發戶"
},
"DamageAchv": {
"description": "在單次攻擊中造成 {{damageAmount}} 點傷害"
},
"250_DMG": {
"name": "重拳出擊"
},
"1000_DMG": {
"name": "神拳猛擊"
},
"2500_DMG": {
"name": "奪少?"
},
"10000_DMG": {
"name": "一拳超人"
},
"HealAchv": {
"description": "通過技能、能力或攜帶的道具一次性治療 {{healAmount}} {{HP}}點"
},
"250_HEAL": {
"name": "新手奶媽"
},
"1000_HEAL": {
"name": "治療擔當"
},
"2500_HEAL": {
"name": "牧師"
},
"10000_HEAL": {
"name": "泉水"
},
"LevelAchv": {
"description": "將一隻寶可夢提升到 Lv{{level}}"
},
"LV_100": {
"name": "别急,後面還有"
},
"LV_250": {
"name": "精英"
},
"LV_1000": {
"name": "天外有天"
},
"RibbonAchv": {
"description": "累計獲得 {{ribbonAmount}} 個勛章"
},
"10_RIBBONS": {
"name": "寶可夢聯盟冠軍"
},
"25_RIBBONS": {
"name": "超級球聯盟冠軍"
},
"50_RIBBONS": {
"name": "高級球聯盟冠軍"
},
"75_RIBBONS": {
"name": "肉鴿球聯盟冠軍"
},
"100_RIBBONS": {
"name": "大師球聯盟冠軍"
},
"TRANSFER_MAX_BATTLE_STAT": {
"name": "團隊協作",
"description": "在一項屬性強化至最大時用接力棒傳遞給其他寶可夢"
},
"MAX_FRIENDSHIP": {
"name": "親密無間",
"description": "使一隻寶可夢的親密度達到最大值"
},
"MEGA_EVOLVE": {
"name": "大變身",
"description": "超級進化一隻寶可夢"
},
"GIGANTAMAX": {
"name": "這位更是重量級",
"description": "極巨化一隻寶可夢"
},
"TERASTALLIZE": {
"name": "本系愛好者",
"description": "太晶化一隻寶可夢"
},
"STELLAR_TERASTALLIZE": {
"name": "隱藏屬性",
"description": "星晶化一隻寶可夢"
},
"SPLICE": {
"name": "無限融合",
"description": "使用基因之楔將兩隻寶可夢融合在一起"
},
"MINI_BLACK_HOLE": {
"name": "一大洞的道具",
"description": "獲得一個迷你黑洞"
},
"CATCH_MYTHICAL": {
"name": "神秘禮物",
"description": "捕捉一隻幻之寶可夢"
},
"CATCH_SUB_LEGENDARY": {
"name": "二級傳說",
"description": "捕捉一隻準傳說寶可夢"
},
"CATCH_LEGENDARY": {
"name": "傳說",
"description": "捕捉一隻傳說寶可夢"
},
"SEE_SHINY": {
"name": "閃耀奪目",
"description": "在野外找到一隻閃光寶可夢"
},
"SHINY_PARTY": {
"name": "嘔心瀝血",
"description": "擁有一支由閃光寶可夢組成的滿員隊伍"
},
"HATCH_MYTHICAL": {
"name": "幻獸蛋",
"description": "從蛋中孵化出一隻幻之寶可夢"
},
"HATCH_SUB_LEGENDARY": {
"name": "二級傳說蛋",
"description": "從蛋中孵化出一隻準傳說寶可夢"
},
"HATCH_LEGENDARY": {
"name": "傳說蛋",
"description": "從蛋中孵化出一隻傳說寶可夢"
},
"HATCH_SHINY": {
"name": "金色傳說!",
"description": "從蛋中孵化出一隻閃光寶可夢"
},
"HIDDEN_ABILITY": {
"name": "隱藏實力",
"description": "捕捉一隻擁有隱藏特性的寶可夢"
},
"PERFECT_IVS": {
"name": "合格證",
"description": "獲得一隻擁有完美個體值的寶可夢"
},
"CLASSIC_VICTORY": {
"name": "戰無不勝",
"description": "在經典模式中通關遊戲"
},
"MONO_GEN_ONE": {
"name": "最初的勁敵",
"description": "完成僅限第一世代的挑戰."
},
"MONO_GEN_TWO": {
"name": "1.5世代",
"description": "完成僅限第二世代的挑戰."
},
"MONO_GEN_THREE": {
"name": "“水太多了”",
"description": "完成僅限第三世代的挑戰."
},
"MONO_GEN_FOUR": {
"name": "她真是最強冠軍嗎?",
"description": "完成僅限第四世代的挑戰."
},
"MONO_GEN_FIVE": {
"name": "完全原創",
"description": "完成僅限第五世代的挑戰."
},
"MONO_GEN_SIX": {
"name": "女大公",
"description": "完成僅限第六世代的挑戰."
},
"MONO_GEN_SEVEN": {
"name": "首屆冠軍",
"description": "完成僅限第七世代的挑戰."
},
"MONO_GEN_EIGHT": {
"name": "冠軍時刻!",
"description": "完成僅限第八世代的挑戰."
},
"MONO_GEN_NINE": {
"name": "她又放水了",
"description": "完成僅限第九世代的挑戰."
},
"MonoType": {
"description": "完成 {{type}} 單屬性挑戰."
},
"MONO_NORMAL": {
"name": "異乎尋常的尋常"
},
"MONO_FIGHTING": {
"name": "我有真功夫"
},
"MONO_FLYING": {
"name": "憤怒的小鳥"
},
"MONO_POISON": {
"name": "關都地區特色"
},
"MONO_GROUND": {
"name": "地震預報"
},
"MONO_ROCK": {
"name": "堅如磐石"
},
"MONO_BUG": {
"name": "音箱蟀俠"
},
"MONO_GHOST": {
"name": "捉鬼敢死隊"
},
"MONO_STEEL": {
"name": "鐵巨人"
},
"MONO_FIRE": {
"name": "搓火球解決一切"
},
"MONO_WATER": {
"name": "當雨來臨,傾盆而下"
},
"MONO_GRASS": {
"name": "別踏這個青"
},
"MONO_ELECTRIC": {
"name": "瞄準大岩蛇的角!"
},
"MONO_PSYCHIC": {
"name": "腦洞大開"
},
"MONO_ICE": {
"name": "如履薄冰"
},
"MONO_DRAGON": {
"name": "準神俱樂部"
},
"MONO_DARK": {
"name": "總有叛逆期"
},
"MONO_FAIRY": {
"name": "林克,醒醒!"
}
}

View File

@ -4,8 +4,7 @@ import ability from "./ability.json";
import abilityTriggers from "./ability-trigger.json"; import abilityTriggers from "./ability-trigger.json";
import arenaFlyout from "./arena-flyout.json"; import arenaFlyout from "./arena-flyout.json";
import arenaTag from "./arena-tag.json"; import arenaTag from "./arena-tag.json";
import achvMale from "./achv-male.json"; import achv from "./achv.json";
import achvFemale from "./achv-female.json";
import battle from "./battle.json"; import battle from "./battle.json";
import battleScene from "./battle-scene.json"; import battleScene from "./battle-scene.json";
import battleInfo from "./battle-info.json"; import battleInfo from "./battle-info.json";
@ -76,8 +75,7 @@ export const zhTwConfig = {
challenges, challenges,
commandUiHandler, commandUiHandler,
common, common,
PGMachv: achvMale, achv,
PGFachv: achvFemale,
PGMdialogue: dialogueMale, PGMdialogue: dialogueMale,
PGFdialogue: dialogueFemale, PGFdialogue: dialogueFemale,
PGMbattleSpecDialogue: dialogueEndbossMale, PGMbattleSpecDialogue: dialogueEndbossMale,

View File

@ -5,7 +5,6 @@ import { pokemonEvolutions } from "#app/data/pokemon-evolutions";
import i18next from "i18next"; import i18next from "i18next";
import * as Utils from "../utils"; import * as Utils from "../utils";
import { PlayerGender } from "#enums/player-gender"; import { PlayerGender } from "#enums/player-gender";
import { ParseKeys } from "i18next";
import { Challenge, FreshStartChallenge, SingleGenerationChallenge, SingleTypeChallenge } from "#app/data/challenge.js"; import { Challenge, FreshStartChallenge, SingleGenerationChallenge, SingleTypeChallenge } from "#app/data/challenge.js";
import { ConditionFn } from "#app/@types/common.js"; import { ConditionFn } from "#app/@types/common.js";
@ -42,13 +41,13 @@ export class Achv {
/** /**
* Get the name of the achievement based on the gender of the player * Get the name of the achievement based on the gender of the player
* @param playerGender - the gender of the player * @param playerGender - the gender of the player (default: {@linkcode PlayerGender.UNSET})
* @returns the name of the achievement localized for the player gender * @returns the name of the achievement localized for the player gender
*/ */
getName(playerGender: PlayerGender): string { getName(playerGender: PlayerGender = PlayerGender.UNSET): string {
const prefix = playerGender === PlayerGender.FEMALE ?"PGF" : "PGM"; const genderStr = PlayerGender[playerGender].toLowerCase();
// Localization key is used to get the name of the achievement // Localization key is used to get the name of the achievement
return i18next.t(`${prefix}achv:${this.localizationKey}.name` as ParseKeys); return i18next.t(`achv:${this.localizationKey}.name`, { context: genderStr });
} }
getDescription(): string { getDescription(): string {
@ -151,116 +150,110 @@ export class ChallengeAchv extends Achv {
*/ */
export function getAchievementDescription(localizationKey: string): string { export function getAchievementDescription(localizationKey: string): string {
// We need to get the player gender from the game data to add the correct prefix to the achievement name // We need to get the player gender from the game data to add the correct prefix to the achievement name
let playerGender = PlayerGender.MALE; const genderIndex = this?.scene?.gameData?.gender ?? PlayerGender.MALE; //TODO: why is `this` being used here!? We are not inside a scope (copied from original)
if (this?.scene) { const genderStr = PlayerGender[genderIndex].toLowerCase();
playerGender = this.scene.gameData.gender;
}
let genderPrefix = "PGM";
if (playerGender === PlayerGender.FEMALE) {
genderPrefix = "PGF";
}
switch (localizationKey) { switch (localizationKey) {
case "10K_MONEY": case "10K_MONEY":
return i18next.t(`${genderPrefix}achv:MoneyAchv.description` as ParseKeys, {"moneyAmount": achvs._10K_MONEY.moneyAmount.toLocaleString("en-US")}); return i18next.t("achv:MoneyAchv.description", {context: genderStr, "moneyAmount": achvs._10K_MONEY.moneyAmount.toLocaleString("en-US")});
case "100K_MONEY": case "100K_MONEY":
return i18next.t(`${genderPrefix}achv:MoneyAchv.description` as ParseKeys, {"moneyAmount": achvs._100K_MONEY.moneyAmount.toLocaleString("en-US")}); return i18next.t("achv:MoneyAchv.description", {context: genderStr, "moneyAmount": achvs._100K_MONEY.moneyAmount.toLocaleString("en-US")});
case "1M_MONEY": case "1M_MONEY":
return i18next.t(`${genderPrefix}achv:MoneyAchv.description` as ParseKeys, {"moneyAmount": achvs._1M_MONEY.moneyAmount.toLocaleString("en-US")}); return i18next.t("achv:MoneyAchv.description", {context: genderStr, "moneyAmount": achvs._1M_MONEY.moneyAmount.toLocaleString("en-US")});
case "10M_MONEY": case "10M_MONEY":
return i18next.t(`${genderPrefix}achv:MoneyAchv.description` as ParseKeys, {"moneyAmount": achvs._10M_MONEY.moneyAmount.toLocaleString("en-US")}); return i18next.t("achv:MoneyAchv.description", {context: genderStr, "moneyAmount": achvs._10M_MONEY.moneyAmount.toLocaleString("en-US")});
case "250_DMG": case "250_DMG":
return i18next.t(`${genderPrefix}achv:DamageAchv.description` as ParseKeys, {"damageAmount": achvs._250_DMG.damageAmount.toLocaleString("en-US")}); return i18next.t("achv:DamageAchv.description", {context: genderStr, "damageAmount": achvs._250_DMG.damageAmount.toLocaleString("en-US")});
case "1000_DMG": case "1000_DMG":
return i18next.t(`${genderPrefix}achv:DamageAchv.description` as ParseKeys, {"damageAmount": achvs._1000_DMG.damageAmount.toLocaleString("en-US")}); return i18next.t("achv:DamageAchv.description", {context: genderStr, "damageAmount": achvs._1000_DMG.damageAmount.toLocaleString("en-US")});
case "2500_DMG": case "2500_DMG":
return i18next.t(`${genderPrefix}achv:DamageAchv.description` as ParseKeys, {"damageAmount": achvs._2500_DMG.damageAmount.toLocaleString("en-US")}); return i18next.t("achv:DamageAchv.description", {context: genderStr, "damageAmount": achvs._2500_DMG.damageAmount.toLocaleString("en-US")});
case "10000_DMG": case "10000_DMG":
return i18next.t(`${genderPrefix}achv:DamageAchv.description` as ParseKeys, {"damageAmount": achvs._10000_DMG.damageAmount.toLocaleString("en-US")}); return i18next.t("achv:DamageAchv.description", {context: genderStr, "damageAmount": achvs._10000_DMG.damageAmount.toLocaleString("en-US")});
case "250_HEAL": case "250_HEAL":
return i18next.t(`${genderPrefix}achv:HealAchv.description` as ParseKeys, {"healAmount": achvs._250_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")}); return i18next.t("achv:HealAchv.description", {context: genderStr, "healAmount": achvs._250_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "1000_HEAL": case "1000_HEAL":
return i18next.t(`${genderPrefix}achv:HealAchv.description` as ParseKeys, {"healAmount": achvs._1000_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")}); return i18next.t("achv:HealAchv.description", {context: genderStr, "healAmount": achvs._1000_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "2500_HEAL": case "2500_HEAL":
return i18next.t(`${genderPrefix}achv:HealAchv.description` as ParseKeys, {"healAmount": achvs._2500_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")}); return i18next.t("achv:HealAchv.description", {context: genderStr, "healAmount": achvs._2500_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "10000_HEAL": case "10000_HEAL":
return i18next.t(`${genderPrefix}achv:HealAchv.description` as ParseKeys, {"healAmount": achvs._10000_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")}); return i18next.t("achv:HealAchv.description", {context: genderStr, "healAmount": achvs._10000_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "LV_100": case "LV_100":
return i18next.t(`${genderPrefix}achv:LevelAchv.description` as ParseKeys, {"level": achvs.LV_100.level}); return i18next.t("achv:LevelAchv.description", {context: genderStr, "level": achvs.LV_100.level});
case "LV_250": case "LV_250":
return i18next.t(`${genderPrefix}achv:LevelAchv.description` as ParseKeys, {"level": achvs.LV_250.level}); return i18next.t("achv:LevelAchv.description", {context: genderStr, "level": achvs.LV_250.level});
case "LV_1000": case "LV_1000":
return i18next.t(`${genderPrefix}achv:LevelAchv.description` as ParseKeys, {"level": achvs.LV_1000.level}); return i18next.t("achv:LevelAchv.description", {context: genderStr, "level": achvs.LV_1000.level});
case "10_RIBBONS": case "10_RIBBONS":
return i18next.t(`${genderPrefix}achv:RibbonAchv.description` as ParseKeys, {"ribbonAmount": achvs._10_RIBBONS.ribbonAmount.toLocaleString("en-US")}); return i18next.t("achv:RibbonAchv.description", {context: genderStr, "ribbonAmount": achvs._10_RIBBONS.ribbonAmount.toLocaleString("en-US")});
case "25_RIBBONS": case "25_RIBBONS":
return i18next.t(`${genderPrefix}achv:RibbonAchv.description` as ParseKeys, {"ribbonAmount": achvs._25_RIBBONS.ribbonAmount.toLocaleString("en-US")}); return i18next.t("achv:RibbonAchv.description", {context: genderStr, "ribbonAmount": achvs._25_RIBBONS.ribbonAmount.toLocaleString("en-US")});
case "50_RIBBONS": case "50_RIBBONS":
return i18next.t(`${genderPrefix}achv:RibbonAchv.description` as ParseKeys, {"ribbonAmount": achvs._50_RIBBONS.ribbonAmount.toLocaleString("en-US")}); return i18next.t("achv:RibbonAchv.description", {context: genderStr, "ribbonAmount": achvs._50_RIBBONS.ribbonAmount.toLocaleString("en-US")});
case "75_RIBBONS": case "75_RIBBONS":
return i18next.t(`${genderPrefix}achv:RibbonAchv.description` as ParseKeys, {"ribbonAmount": achvs._75_RIBBONS.ribbonAmount.toLocaleString("en-US")}); return i18next.t("achv:RibbonAchv.description", {context: genderStr, "ribbonAmount": achvs._75_RIBBONS.ribbonAmount.toLocaleString("en-US")});
case "100_RIBBONS": case "100_RIBBONS":
return i18next.t(`${genderPrefix}achv:RibbonAchv.description` as ParseKeys, {"ribbonAmount": achvs._100_RIBBONS.ribbonAmount.toLocaleString("en-US")}); return i18next.t("achv:RibbonAchv.description", {context: genderStr, "ribbonAmount": achvs._100_RIBBONS.ribbonAmount.toLocaleString("en-US")});
case "TRANSFER_MAX_BATTLE_STAT": case "TRANSFER_MAX_BATTLE_STAT":
return i18next.t(`${genderPrefix}achv:TRANSFER_MAX_BATTLE_STAT.description` as ParseKeys); return i18next.t("achv:TRANSFER_MAX_BATTLE_STAT.description", { context: genderStr });
case "MAX_FRIENDSHIP": case "MAX_FRIENDSHIP":
return i18next.t(`${genderPrefix}achv:MAX_FRIENDSHIP.description` as ParseKeys); return i18next.t("achv:MAX_FRIENDSHIP.description", { context: genderStr });
case "MEGA_EVOLVE": case "MEGA_EVOLVE":
return i18next.t(`${genderPrefix}achv:MEGA_EVOLVE.description` as ParseKeys); return i18next.t("achv:MEGA_EVOLVE.description", { context: genderStr });
case "GIGANTAMAX": case "GIGANTAMAX":
return i18next.t(`${genderPrefix}achv:GIGANTAMAX.description` as ParseKeys); return i18next.t("achv:GIGANTAMAX.description", { context: genderStr });
case "TERASTALLIZE": case "TERASTALLIZE":
return i18next.t(`${genderPrefix}achv:TERASTALLIZE.description` as ParseKeys); return i18next.t("achv:TERASTALLIZE.description", { context: genderStr });
case "STELLAR_TERASTALLIZE": case "STELLAR_TERASTALLIZE":
return i18next.t(`${genderPrefix}achv:STELLAR_TERASTALLIZE.description` as ParseKeys); return i18next.t("achv:STELLAR_TERASTALLIZE.description", { context: genderStr });
case "SPLICE": case "SPLICE":
return i18next.t(`${genderPrefix}achv:SPLICE.description` as ParseKeys); return i18next.t("achv:SPLICE.description", { context: genderStr });
case "MINI_BLACK_HOLE": case "MINI_BLACK_HOLE":
return i18next.t(`${genderPrefix}achv:MINI_BLACK_HOLE.description` as ParseKeys); return i18next.t("achv:MINI_BLACK_HOLE.description", { context: genderStr });
case "CATCH_MYTHICAL": case "CATCH_MYTHICAL":
return i18next.t(`${genderPrefix}achv:CATCH_MYTHICAL.description` as ParseKeys); return i18next.t("achv:CATCH_MYTHICAL.description", { context: genderStr });
case "CATCH_SUB_LEGENDARY": case "CATCH_SUB_LEGENDARY":
return i18next.t(`${genderPrefix}achv:CATCH_SUB_LEGENDARY.description` as ParseKeys); return i18next.t("achv:CATCH_SUB_LEGENDARY.description", { context: genderStr });
case "CATCH_LEGENDARY": case "CATCH_LEGENDARY":
return i18next.t(`${genderPrefix}achv:CATCH_LEGENDARY.description` as ParseKeys); return i18next.t("achv:CATCH_LEGENDARY.description", { context: genderStr });
case "SEE_SHINY": case "SEE_SHINY":
return i18next.t(`${genderPrefix}achv:SEE_SHINY.description` as ParseKeys); return i18next.t("achv:SEE_SHINY.description", { context: genderStr });
case "SHINY_PARTY": case "SHINY_PARTY":
return i18next.t(`${genderPrefix}achv:SHINY_PARTY.description` as ParseKeys); return i18next.t("achv:SHINY_PARTY.description", { context: genderStr });
case "HATCH_MYTHICAL": case "HATCH_MYTHICAL":
return i18next.t(`${genderPrefix}achv:HATCH_MYTHICAL.description` as ParseKeys); return i18next.t("achv:HATCH_MYTHICAL.description", { context: genderStr });
case "HATCH_SUB_LEGENDARY": case "HATCH_SUB_LEGENDARY":
return i18next.t(`${genderPrefix}achv:HATCH_SUB_LEGENDARY.description` as ParseKeys); return i18next.t("achv:HATCH_SUB_LEGENDARY.description", { context: genderStr });
case "HATCH_LEGENDARY": case "HATCH_LEGENDARY":
return i18next.t(`${genderPrefix}achv:HATCH_LEGENDARY.description` as ParseKeys); return i18next.t("achv:HATCH_LEGENDARY.description", { context: genderStr });
case "HATCH_SHINY": case "HATCH_SHINY":
return i18next.t(`${genderPrefix}achv:HATCH_SHINY.description` as ParseKeys); return i18next.t("achv:HATCH_SHINY.description", { context: genderStr });
case "HIDDEN_ABILITY": case "HIDDEN_ABILITY":
return i18next.t(`${genderPrefix}achv:HIDDEN_ABILITY.description` as ParseKeys); return i18next.t("achv:HIDDEN_ABILITY.description", { context: genderStr });
case "PERFECT_IVS": case "PERFECT_IVS":
return i18next.t(`${genderPrefix}achv:PERFECT_IVS.description` as ParseKeys); return i18next.t("achv:PERFECT_IVS.description", { context: genderStr });
case "CLASSIC_VICTORY": case "CLASSIC_VICTORY":
return i18next.t(`${genderPrefix}achv:CLASSIC_VICTORY.description` as ParseKeys); return i18next.t("achv:CLASSIC_VICTORY.description", { context: genderStr });
case "UNEVOLVED_CLASSIC_VICTORY": case "UNEVOLVED_CLASSIC_VICTORY":
return i18next.t(`${genderPrefix}achv:UNEVOLVED_CLASSIC_VICTORY.description` as ParseKeys); return i18next.t("achv:UNEVOLVED_CLASSIC_VICTORY.description", { context: genderStr });
case "MONO_GEN_ONE": case "MONO_GEN_ONE":
return i18next.t(`${genderPrefix}achv:MONO_GEN_ONE.description` as ParseKeys); return i18next.t("achv:MONO_GEN_ONE.description", { context: genderStr });
case "MONO_GEN_TWO": case "MONO_GEN_TWO":
return i18next.t(`${genderPrefix}achv:MONO_GEN_TWO.description` as ParseKeys); return i18next.t("achv:MONO_GEN_TWO.description", { context: genderStr });
case "MONO_GEN_THREE": case "MONO_GEN_THREE":
return i18next.t(`${genderPrefix}achv:MONO_GEN_THREE.description` as ParseKeys); return i18next.t("achv:MONO_GEN_THREE.description", { context: genderStr });
case "MONO_GEN_FOUR": case "MONO_GEN_FOUR":
return i18next.t(`${genderPrefix}achv:MONO_GEN_FOUR.description` as ParseKeys); return i18next.t("achv:MONO_GEN_FOUR.description", { context: genderStr });
case "MONO_GEN_FIVE": case "MONO_GEN_FIVE":
return i18next.t(`${genderPrefix}achv:MONO_GEN_FIVE.description` as ParseKeys); return i18next.t("achv:MONO_GEN_FIVE.description", { context: genderStr });
case "MONO_GEN_SIX": case "MONO_GEN_SIX":
return i18next.t(`${genderPrefix}achv:MONO_GEN_SIX.description` as ParseKeys); return i18next.t("achv:MONO_GEN_SIX.description", { context: genderStr });
case "MONO_GEN_SEVEN": case "MONO_GEN_SEVEN":
return i18next.t(`${genderPrefix}achv:MONO_GEN_SEVEN.description` as ParseKeys); return i18next.t("achv:MONO_GEN_SEVEN.description", { context: genderStr });
case "MONO_GEN_EIGHT": case "MONO_GEN_EIGHT":
return i18next.t(`${genderPrefix}achv:MONO_GEN_EIGHT.description` as ParseKeys); return i18next.t("achv:MONO_GEN_EIGHT.description", { context: genderStr });
case "MONO_GEN_NINE": case "MONO_GEN_NINE":
return i18next.t(`${genderPrefix}achv:MONO_GEN_NINE.description` as ParseKeys); return i18next.t("achv:MONO_GEN_NINE.description", { context: genderStr });
case "MONO_NORMAL": case "MONO_NORMAL":
case "MONO_FIGHTING": case "MONO_FIGHTING":
case "MONO_FLYING": case "MONO_FLYING":
@ -279,9 +272,9 @@ export function getAchievementDescription(localizationKey: string): string {
case "MONO_DRAGON": case "MONO_DRAGON":
case "MONO_DARK": case "MONO_DARK":
case "MONO_FAIRY": case "MONO_FAIRY":
return i18next.t(`${genderPrefix}achv:MonoType.description` as ParseKeys, {"type": i18next.t(`pokemonInfo:Type.${localizationKey.slice(5)}`)}); return i18next.t("achv:MonoType.description", { context: genderStr, "type": i18next.t(`pokemonInfo:Type.${localizationKey.slice(5)}`) });
case "FRESH_START": case "FRESH_START":
return i18next.t(`${genderPrefix}achv:FRESH_START.description` as ParseKeys); return i18next.t("achv:FRESH_START.description", { context: genderStr });
default: default:
return ""; return "";
} }

View File

@ -43,6 +43,7 @@ describe("Test Battle Phase", () => {
beforeEach(() => { beforeEach(() => {
game = new GameManager(phaserGame); game = new GameManager(phaserGame);
game.scene.gameData.gender = undefined!; // just for these tests!
}); });
it("test phase interceptor with prompt", async () => { it("test phase interceptor with prompt", async () => {

View File

@ -134,7 +134,7 @@ export default class GameManager {
this.scene.expParty = ExpNotification.SKIP; this.scene.expParty = ExpNotification.SKIP;
this.scene.hpBarSpeed = 3; this.scene.hpBarSpeed = 3;
this.scene.enableTutorials = false; this.scene.enableTutorials = false;
this.scene.gameData.gender = PlayerGender.MALE; this.scene.gameData.gender = PlayerGender.MALE; // set initial player gender
} }

View File

@ -1,3 +1,4 @@
import { PlayerGender } from "#app/enums/player-gender";
import { GameManagerHelper } from "./gameManagerHelper"; import { GameManagerHelper } from "./gameManagerHelper";
/** /**
@ -11,5 +12,19 @@ export class SettingsHelper extends GameManagerHelper {
*/ */
typeHints(enable: boolean) { typeHints(enable: boolean) {
this.game.scene.typeHints = enable; this.game.scene.typeHints = enable;
this.log(`Type Hints ${enable? "enabled" : "disabled"}` );
}
/**
* Change the player gender
* @param gender the {@linkcode PlayerGender} to set
*/
playerGender(gender: PlayerGender) {
this.game.scene.gameData.gender = gender;
this.log(`Gender set to: ${PlayerGender[gender]} (=${gender})` );
}
private log(...params: any[]) {
console.log("Settings:", ...params);
} }
} }

View File

@ -7,7 +7,6 @@ import MessageUiHandler from "./message-ui-handler";
import { addTextObject, TextStyle } from "./text"; import { addTextObject, TextStyle } from "./text";
import { Mode } from "./ui"; import { Mode } from "./ui";
import { addWindow } from "./ui-theme"; import { addWindow } from "./ui-theme";
import { ParseKeys } from "i18next";
import { PlayerGender } from "#enums/player-gender"; import { PlayerGender } from "#enums/player-gender";
enum Page { enum Page {
@ -83,13 +82,10 @@ export default class AchvsUiHandler extends MessageUiHandler {
this.headerActionText.setPositionRelative(this.headerBg, 264, 8); this.headerActionText.setPositionRelative(this.headerBg, 264, 8);
// We need to get the player gender from the game data to add the correct prefix to the achievement name // We need to get the player gender from the game data to add the correct prefix to the achievement name
const playerGender = this.scene.gameData.gender; const genderIndex = this.scene.gameData.gender ?? PlayerGender.MALE;
let genderPrefix = "PGM"; const genderStr = PlayerGender[genderIndex].toLowerCase();
if (playerGender === PlayerGender.FEMALE) {
genderPrefix = "PGF";
}
this.achvsName = i18next.t(`${genderPrefix}achv:Achievements.name` as ParseKeys); this.achvsName = i18next.t("achv:Achievements.name", { context: genderStr });
this.vouchersName = i18next.t("voucher:vouchers"); this.vouchersName = i18next.t("voucher:vouchers");
this.iconsBg = addWindow(this.scene, 0, this.headerBg.height, (this.scene.game.canvas.width / 6) - 2, (this.scene.game.canvas.height / 6) - this.headerBg.height - 68); this.iconsBg = addWindow(this.scene, 0, this.headerBg.height, (this.scene.game.canvas.width / 6) - 2, (this.scene.game.canvas.height / 6) - this.headerBg.height - 68);
@ -189,13 +185,10 @@ export default class AchvsUiHandler extends MessageUiHandler {
protected showAchv(achv: Achv) { protected showAchv(achv: Achv) {
// We need to get the player gender from the game data to add the correct prefix to the achievement name // We need to get the player gender from the game data to add the correct prefix to the achievement name
const playerGender = this.scene.gameData.gender; const genderIndex = this.scene.gameData.gender ?? PlayerGender.MALE;
let genderPrefix = "PGM"; const genderStr = PlayerGender[genderIndex].toLowerCase();
if (playerGender === PlayerGender.FEMALE) {
genderPrefix = "PGF";
}
achv.name = i18next.t(`${genderPrefix}achv:${achv.localizationKey}.name` as ParseKeys); achv.name = i18next.t(`achv:${achv.localizationKey}.name`, { context: genderStr });
achv.description = getAchievementDescription(achv.localizationKey); achv.description = getAchievementDescription(achv.localizationKey);
const achvUnlocks = this.scene.gameData.achvUnlocks; const achvUnlocks = this.scene.gameData.achvUnlocks;
const unlocked = achvUnlocks.hasOwnProperty(achv.id); const unlocked = achvUnlocks.hasOwnProperty(achv.id);
@ -203,7 +196,7 @@ export default class AchvsUiHandler extends MessageUiHandler {
this.titleText.setText(unlocked ? achv.name : "???"); this.titleText.setText(unlocked ? achv.name : "???");
this.showText(!hidden ? achv.description : ""); this.showText(!hidden ? achv.description : "");
this.scoreText.setText(`${achv.score}pt`); this.scoreText.setText(`${achv.score}pt`);
this.unlockText.setText(unlocked ? new Date(achvUnlocks[achv.id]).toLocaleDateString() : i18next.t(`${genderPrefix}achv:Locked.name` as ParseKeys)); this.unlockText.setText(unlocked ? new Date(achvUnlocks[achv.id]).toLocaleDateString() : i18next.t("achv:Locked.name"));
} }
protected showVoucher(voucher: Voucher) { protected showVoucher(voucher: Voucher) {