From a44c1587d443f453683c07a8466ddd001d0c865a Mon Sep 17 00:00:00 2001 From: Laeticia PIERRE Date: Fri, 17 May 2024 12:13:32 +0200 Subject: [PATCH 01/16] Fix some fr (#1013) * Fix some modifier-type fr * Fix some trainers fr * Fix DYNAMAX_BAND fr --- src/locales/fr/modifier-type.ts | 6 +++--- src/locales/fr/trainers.ts | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts index 96aeeccf4f8..95daf50f9b1 100644 --- a/src/locales/fr/modifier-type.ts +++ b/src/locales/fr/modifier-type.ts @@ -52,7 +52,7 @@ export const modifierType: ModifierTypeTranslationEntries = { description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats", }, "TempBattleStatBoosterModifierType": { - description: "Augmente d’1 cran {{tempBattleStatName}} pour tout l’équipe pendant 5 combats", + description: "Augmente d’1 cran {{tempBattleStatName}} pour toute l’équipe pendant 5 combats", }, "AttackTypeBoosterModifierType": { description: "Augmente de 20% la puissance des capacités de type {{moveType}} d’un Pokémon", @@ -129,7 +129,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "RARER_CANDY": { name: "Hyper Bonbon" }, "MEGA_BRACELET": { name: "Méga-Bracelet", description: "Débloque les Méga-Gemmes" }, - "DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque les Maxi Champis" }, + "DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque le Dynamax" }, "TERA_ORB": { name: "Orbe Téracristal", description: "Débloque les Téra-Éclats" }, "MAP": { name: "Carte", description: "Vous permet de choisir votre destination à un croisement" }, @@ -264,7 +264,7 @@ export const modifierType: ModifierTypeTranslationEntries = { "fairy_feather": "Plume Enchantée", }, BaseStatBoosterItem: { - "hp_up": "PP Plus", + "hp_up": "PV Plus", "protein": "Protéine", "iron": "Fer", "calcium": "Calcium", diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index 2d5c78bbfc5..e5386288cb2 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -81,11 +81,11 @@ export const trainerClasses: SimpleTranslationEntries = { "ranger": "Ranger", "restaurant_staff": "Serveurs", "rich": "Rich", - "rich_female": "Rich", - "rich_boy": "Richard", + "rich_female": "Mondaine", + "rich_boy": "Gentleman", "rich_couple": "Couple de Bourgeois", - "rich_kid": "Rich Kid", - "rich_kid_female": "Rich Kid", + "rich_kid": "Richard", + "rich_kid_female": "Mademoiselle", "rich_kids": "Richards", "roughneck": "Loubard", "scientist": "Scientifique", From 96af567cd4d014ffa6afe554d1d2f26fb068022b Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 17 May 2024 12:21:35 +0200 Subject: [PATCH 02/16] IV Scanner Results Translation (#990) * Update battle-message-ui-handler.ts * Update i18n.ts * Update config.ts * Update config.ts * Update config.ts * Update config.ts * Update config.ts * Update config.ts * Add files via upload * Add files via upload * Add files via upload * Add files via upload * Add files via upload * Add files via upload * Add files via upload * Update battle-message-ui-handler.ts * German battle-message-ui-handler.ts * Update config.ts --------- Co-authored-by: Benjamin Odom --- src/locales/de/battle-message-ui-handler.ts | 10 ++++++++ src/locales/de/config.ts | 5 ++-- src/locales/en/battle-message-ui-handler.ts | 10 ++++++++ src/locales/en/config.ts | 5 ++-- src/locales/es/battle-message-ui-handler.ts | 10 ++++++++ src/locales/es/config.ts | 5 ++-- src/locales/fr/battle-message-ui-handler.ts | 10 ++++++++ src/locales/fr/config.ts | 6 ++--- src/locales/it/battle-message-ui-handler.ts | 10 ++++++++ src/locales/it/config.ts | 5 ++-- .../pt_BR/battle-message-ui-handler.ts | 10 ++++++++ .../zh_CN/battle-message-ui-handler.ts | 10 ++++++++ src/locales/zh_CN/config.ts | 5 ++-- src/plugins/i18n.ts | 3 ++- src/ui/battle-message-ui-handler.ts | 25 ++++++++++--------- 15 files changed, 103 insertions(+), 26 deletions(-) create mode 100644 src/locales/de/battle-message-ui-handler.ts create mode 100644 src/locales/en/battle-message-ui-handler.ts create mode 100644 src/locales/es/battle-message-ui-handler.ts create mode 100644 src/locales/fr/battle-message-ui-handler.ts create mode 100644 src/locales/it/battle-message-ui-handler.ts create mode 100644 src/locales/pt_BR/battle-message-ui-handler.ts create mode 100644 src/locales/zh_CN/battle-message-ui-handler.ts diff --git a/src/locales/de/battle-message-ui-handler.ts b/src/locales/de/battle-message-ui-handler.ts new file mode 100644 index 00000000000..daedb8550d0 --- /dev/null +++ b/src/locales/de/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Sensationell", + "ivFantastic": "Fantastisch", + "ivVeryGood": "Sehr Gut", + "ivPrettyGood": "Gut", + "ivDecent": "Nicht Übel", + "ivNoGood": "Schlecht", +} as const; diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index 9ff1699778b..7aeeeb7a925 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -18,9 +18,9 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; +import { battleMessageUiHandler } from "./battle-message-ui-handler"; import { berry } from "./berry"; - export const deConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,5 +44,6 @@ export const deConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} +} \ No newline at end of file diff --git a/src/locales/en/battle-message-ui-handler.ts b/src/locales/en/battle-message-ui-handler.ts new file mode 100644 index 00000000000..346f856872c --- /dev/null +++ b/src/locales/en/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Best", + "ivFantastic": "Fantastic", + "ivVeryGood": "Very Good", + "ivPrettyGood": "Pretty Good", + "ivDecent": "Decent", + "ivNoGood": "No Good", +} as const; \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index b2dfe9c9b4c..6b23d2f2983 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -18,9 +18,9 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; +import { battleMessageUiHandler } from "./battle-message-ui-handler"; import { berry } from "./berry"; - export const enConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,5 +44,6 @@ export const enConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} +} \ No newline at end of file diff --git a/src/locales/es/battle-message-ui-handler.ts b/src/locales/es/battle-message-ui-handler.ts new file mode 100644 index 00000000000..346f856872c --- /dev/null +++ b/src/locales/es/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Best", + "ivFantastic": "Fantastic", + "ivVeryGood": "Very Good", + "ivPrettyGood": "Pretty Good", + "ivDecent": "Decent", + "ivNoGood": "No Good", +} as const; \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index 61b01cfa6b5..a3b06982d33 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -18,9 +18,9 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; +import { battleMessageUiHandler } from "./battle-message-ui-handler"; import { berry } from "./berry"; - export const esConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,5 +44,6 @@ export const esConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} +} \ No newline at end of file diff --git a/src/locales/fr/battle-message-ui-handler.ts b/src/locales/fr/battle-message-ui-handler.ts new file mode 100644 index 00000000000..8dc980d49a4 --- /dev/null +++ b/src/locales/fr/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Exceptionnel", + "ivFantastic": "Fantastique", + "ivVeryGood": "Très bon", + "ivPrettyGood": "Bon", + "ivDecent": "Passable…", + "ivNoGood": "Pas top…", +} as const; diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index ef8f8bb7538..867a08621bb 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -18,9 +18,9 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; +import { battleMessageUiHandler } from "./battle-message-ui-handler"; import { berry } from "./berry"; - export const frConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,6 +44,6 @@ export const frConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} - +} \ No newline at end of file diff --git a/src/locales/it/battle-message-ui-handler.ts b/src/locales/it/battle-message-ui-handler.ts new file mode 100644 index 00000000000..346f856872c --- /dev/null +++ b/src/locales/it/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Best", + "ivFantastic": "Fantastic", + "ivVeryGood": "Very Good", + "ivPrettyGood": "Pretty Good", + "ivDecent": "Decent", + "ivNoGood": "No Good", +} as const; \ No newline at end of file diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index 3d8d9b0e4b7..89d78304120 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -18,9 +18,9 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; +import { battleMessageUiHandler } from "./battle-message-ui-handler"; import { berry } from "./berry"; - export const itConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,5 +44,6 @@ export const itConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} +} \ No newline at end of file diff --git a/src/locales/pt_BR/battle-message-ui-handler.ts b/src/locales/pt_BR/battle-message-ui-handler.ts new file mode 100644 index 00000000000..346f856872c --- /dev/null +++ b/src/locales/pt_BR/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Best", + "ivFantastic": "Fantastic", + "ivVeryGood": "Very Good", + "ivPrettyGood": "Pretty Good", + "ivDecent": "Decent", + "ivNoGood": "No Good", +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/battle-message-ui-handler.ts b/src/locales/zh_CN/battle-message-ui-handler.ts new file mode 100644 index 00000000000..346f856872c --- /dev/null +++ b/src/locales/zh_CN/battle-message-ui-handler.ts @@ -0,0 +1,10 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const battleMessageUiHandler: SimpleTranslationEntries = { + "ivBest": "Best", + "ivFantastic": "Fantastic", + "ivVeryGood": "Very Good", + "ivPrettyGood": "Pretty Good", + "ivDecent": "Decent", + "ivNoGood": "No Good", +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index 69f07a4f1a7..9c3a62f59f0 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -18,9 +18,9 @@ import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; +import { battleMessageUiHandler } from "./battle-message-ui-handler"; import { berry } from "./berry"; - export const zhCnConfig = { ability: ability, abilityTriggers: abilityTriggers, @@ -44,5 +44,6 @@ export const zhCnConfig = { trainerNames: trainerNames, tutorial: tutorial, weather: weather, + battleMessageUiHandler: battleMessageUiHandler, berry: berry, -} +} \ No newline at end of file diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 30cc4bfcac2..5c9de28fe82 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -148,6 +148,7 @@ declare module 'i18next' { egg: SimpleTranslationEntries; weather: SimpleTranslationEntries; modifierType: ModifierTypeTranslationEntries; + battleMessageUiHandler: SimpleTranslationEntries; berry: BerryTranslationEntries; }; } @@ -159,4 +160,4 @@ export function getIsInitialized(): boolean { return isInitialized; } -let isInitialized = false; \ No newline at end of file +let isInitialized = false; diff --git a/src/ui/battle-message-ui-handler.ts b/src/ui/battle-message-ui-handler.ts index abcf04b7cc8..b7dccef52b5 100644 --- a/src/ui/battle-message-ui-handler.ts +++ b/src/ui/battle-message-ui-handler.ts @@ -7,6 +7,7 @@ import { getStatName, Stat } from "../data/pokemon-stat"; import { addWindow } from "./ui-theme"; import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext"; import {Button} from "../enums/buttons"; +import i18next from '../plugins/i18n'; export default class BattleMessageUiHandler extends MessageUiHandler { private levelUpStatsContainer: Phaser.GameObjects.Container; @@ -234,20 +235,20 @@ export default class BattleMessageUiHandler extends MessageUiHandler { const textStyle: TextStyle = isBetter ? TextStyle.SUMMARY_GREEN : TextStyle.SUMMARY; const color = getTextColor(textStyle, false, uiTheme); return `[color=${color}][shadow=${getTextColor(textStyle, true, uiTheme)}]${text}[/shadow][/color]`; - }; +}; - if (value > 30) - return coloredText('Best', value > starterIvs[typeIv]); - if (value === 30) - return coloredText('Fantastic', value > starterIvs[typeIv]); - if (value > 20) - return coloredText('Very Good', value > starterIvs[typeIv]); - if (value > 10) - return coloredText('Pretty Good', value > starterIvs[typeIv]); - if (value > 0) - return coloredText('Decent', value > starterIvs[typeIv]); + if (value > 30) + return coloredText(i18next.t('battleMessageUiHandler:ivBest'), value > starterIvs[typeIv]); + if (value === 30) + return coloredText(i18next.t('battleMessageUiHandler:ivFantastic'), value > starterIvs[typeIv]); + if (value > 20) + return coloredText(i18next.t('battleMessageUiHandler:ivVeryGood'), value > starterIvs[typeIv]); + if (value > 10) + return coloredText(i18next.t('battleMessageUiHandler:ivPrettyGood'), value > starterIvs[typeIv]); + if (value > 0) + return coloredText(i18next.t('battleMessageUiHandler:ivDecent'), value > starterIvs[typeIv]); - return coloredText('No Good', value > starterIvs[typeIv]); + return coloredText(i18next.t('battleMessageUiHandler:ivNoGood'), value > starterIvs[typeIv]); } showNameText(name: string): void { From b0fd32b1a45034c603c8c4ee603f4eed0cf1c655 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 17 May 2024 12:22:58 +0200 Subject: [PATCH 03/16] Update French berry.ts (#1023) --- src/locales/fr/berry.ts | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/locales/fr/berry.ts b/src/locales/fr/berry.ts index 8c8bc5ee280..dd6b387f4cc 100644 --- a/src/locales/fr/berry.ts +++ b/src/locales/fr/berry.ts @@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n"; export const berry: BerryTranslationEntries = { "SITRUS": { - name: "Sitrus Berry", - effect: "Restores 25% HP if HP is below 50%", + name: "Baie Sitrus", + effect: "Restaure 25% des PV s’ils sont inférieurs à 50%", }, "LUM": { - name: "Lum Berry", - effect: "Cures any non-volatile status condition and confusion", + name: "Baie Prine", + effect: "Soigne tout problème de statut permanant et la confusion", }, "ENIGMA": { - name: "Enigma Berry", - effect: "Restores 25% HP if hit by a super effective move", + name: "Baie Enigma", + effect: "Restaure 25% des PV si touché par une capacité super efficace", }, "LIECHI": { - name: "Liechi Berry", - effect: "Raises Attack if HP is below 25%", + name: "Baie Lichii", + effect: "Augmente l’Attaque si les PV sont inférieurs à 25%", }, "GANLON": { - name: "Ganlon Berry", - effect: "Raises Defense if HP is below 25%", + name: "Baie Lingan", + effect: "Augmente la Défense si les PV sont inférieurs à 25%", }, "PETAYA": { - name: "Petaya Berry", - effect: "Raises Sp. Atk if HP is below 25%", + name: "Baie Pitaye", + effect: "Augmente l’Atq. Spé. si les PV sont inférieurs à 25%", }, "APICOT": { - name: "Apicot Berry", - effect: "Raises Sp. Def if HP is below 25%", + name: "Baie Abriko", + effect: "Augmente la Déf. Spé. si les PV sont inférieurs à 25%", }, "SALAC": { - name: "Salac Berry", - effect: "Raises Speed if HP is below 25%", + name: "Baie Sailak", + effect: "Augmente la Vitesse si les PV sont inférieurs à 25%", }, "LANSAT": { - name: "Lansat Berry", - effect: "Raises critical hit ratio if HP is below 25%", + name: "Baie Lansat", + effect: "Augmente le taux de coups critiques si les PV sont inférieurs à 25%", }, "STARF": { - name: "Starf Berry", - effect: "Sharply raises a random stat if HP is below 25%", + name: "Baie Frista", + effect: "Augmente énormément une statistique au hasard si les PV sont inférieurs à 25%", }, "LEPPA": { - name: "Leppa Berry", - effect: "Restores 10 PP to a move if its PP reaches 0", + name: "Baie Mepo", + effect: "Restaure 10 PP à une capacité dès que ses PP tombent à 0", }, -} as const; \ No newline at end of file +} as const; From 48c745deee1f2f2b58ad438ff95b949c7c898d4e Mon Sep 17 00:00:00 2001 From: Lugiad Date: Fri, 17 May 2024 12:23:23 +0200 Subject: [PATCH 04/16] Update French trainers.ts (#1020) --- src/locales/fr/trainers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts index e5386288cb2..c73f0b1b1c5 100644 --- a/src/locales/fr/trainers.ts +++ b/src/locales/fr/trainers.ts @@ -35,7 +35,7 @@ export const trainerClasses: SimpleTranslationEntries = { "clerk": "Employé", "clerk_female": "Employée", "colleagues": "Collègues de Bureau", - "crush_kin": "Crush Kin", + "crush_kin": "Duo Baston", "cyclist": "Cycliste", "cyclist_female": "Cycliste", "cyclists": "Cyclistes", From 0c660f599d7f1105d5c7671abd8c2de52a20ef25 Mon Sep 17 00:00:00 2001 From: Somod1 <160222354+Somod1@users.noreply.github.com> Date: Fri, 17 May 2024 18:23:44 +0800 Subject: [PATCH 05/16] Add files via upload (#1022) --- src/locales/zh_CN/berry.ts | 94 +++++++++++++++++++------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/src/locales/zh_CN/berry.ts b/src/locales/zh_CN/berry.ts index 8c8bc5ee280..08b16d58e68 100644 --- a/src/locales/zh_CN/berry.ts +++ b/src/locales/zh_CN/berry.ts @@ -1,48 +1,48 @@ -import { BerryTranslationEntries } from "#app/plugins/i18n"; - -export const berry: BerryTranslationEntries = { - "SITRUS": { - name: "Sitrus Berry", - effect: "Restores 25% HP if HP is below 50%", - }, - "LUM": { - name: "Lum Berry", - effect: "Cures any non-volatile status condition and confusion", - }, - "ENIGMA": { - name: "Enigma Berry", - effect: "Restores 25% HP if hit by a super effective move", - }, - "LIECHI": { - name: "Liechi Berry", - effect: "Raises Attack if HP is below 25%", - }, - "GANLON": { - name: "Ganlon Berry", - effect: "Raises Defense if HP is below 25%", - }, - "PETAYA": { - name: "Petaya Berry", - effect: "Raises Sp. Atk if HP is below 25%", - }, - "APICOT": { - name: "Apicot Berry", - effect: "Raises Sp. Def if HP is below 25%", - }, - "SALAC": { - name: "Salac Berry", - effect: "Raises Speed if HP is below 25%", - }, - "LANSAT": { - name: "Lansat Berry", - effect: "Raises critical hit ratio if HP is below 25%", - }, - "STARF": { - name: "Starf Berry", - effect: "Sharply raises a random stat if HP is below 25%", - }, - "LEPPA": { - name: "Leppa Berry", - effect: "Restores 10 PP to a move if its PP reaches 0", - }, +import { BerryTranslationEntries } from "#app/plugins/i18n"; + +export const berry: BerryTranslationEntries = { + "SITRUS": { + name: "文柚果", + effect: "HP低于50%时,回复最大HP的25%", + }, + "LUM": { + name: "木子果", + effect: "治愈任何异常状态和混乱状态", + }, + "ENIGMA": { + name: "谜芝果", + effect: "受到效果绝佳的招式攻击时,回复25%最大HP", + }, + "LIECHI": { + name: "枝荔果", + effect: "HP低于25%时,攻击提升一个等级", + }, + "GANLON": { + name: "龙睛果", + effect: "HP低于25%时,防御提升一个等级", + }, + "PETAYA": { + name: "龙火果", + effect: "HP低于25%时,特攻提升一个等级", + }, + "APICOT": { + name: "杏仔果", + effect: "HP低于25%时,特防提升一个等级", + }, + "SALAC": { + name: "沙鳞果", + effect: "HP低于25%时,速度提升一个等级", + }, + "LANSAT": { + name: "兰萨果", + effect: "HP低于25%时,击中要害率提升两个等级", + }, + "STARF": { + name: "星桃果", + effect: "HP低于25%时,提高随机一项能力两个等级", + }, + "LEPPA": { + name: "苹野果", + effect: "有招式的PP降到0时,恢复该招式10PP", + }, } as const; \ No newline at end of file From 4362d49e6b8ed80798e7a0b58755aa3b0a36e923 Mon Sep 17 00:00:00 2001 From: Calvin Keats Date: Fri, 17 May 2024 05:25:21 -0500 Subject: [PATCH 06/16] Use localization for damaging weather messages (#1017) --- src/data/weather.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/data/weather.ts b/src/data/weather.ts index eb30f22f36b..c8bd47fc12d 100644 --- a/src/data/weather.ts +++ b/src/data/weather.ts @@ -1,5 +1,5 @@ import { Biome } from "./enums/biome"; -import { getPokemonMessage } from "../messages"; +import { getPokemonMessage, getPokemonPrefix } from "../messages"; import Pokemon from "../field/pokemon"; import { Type } from "./type"; import Move, { AttackMove } from "./move"; @@ -172,9 +172,9 @@ export function getWeatherLapseMessage(weatherType: WeatherType): string { export function getWeatherDamageMessage(weatherType: WeatherType, pokemon: Pokemon): string { switch (weatherType) { case WeatherType.SANDSTORM: - return getPokemonMessage(pokemon, ' is buffeted\nby the sandstorm!'); + return i18next.t('weather:sandstormDamageMessage', {pokemonPrefix: getPokemonPrefix(pokemon), pokemonName: pokemon.name}); case WeatherType.HAIL: - return getPokemonMessage(pokemon, ' is pelted\nby the hail!'); + return i18next.t('weather:hailDamageMessage', {pokemonPrefix: getPokemonPrefix(pokemon), pokemonName: pokemon.name}); } return null; From edf3a6aa36cdbee56bc2a224b1af78d3a02624d0 Mon Sep 17 00:00:00 2001 From: Tempoanon <163687446+TempsRay@users.noreply.github.com> Date: Fri, 17 May 2024 06:28:22 -0400 Subject: [PATCH 07/16] Fix tinted caught icon false positive (#892) * Fix tinted caught icon false positive * Remove unused import * Rename and optimize * Block comment * use 3 equals --- src/ui/battle-info.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index f2e48911e07..88bc3230ce3 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -260,8 +260,23 @@ export default class BattleInfo extends Phaser.GameObjects.Container { if (!this.player) { const dexEntry = pokemon.scene.gameData.dexData[pokemon.species.speciesId]; this.ownedIcon.setVisible(!!dexEntry.caughtAttr); - const dexAttr = pokemon.getDexAttr(); - if ((dexEntry.caughtAttr & dexAttr) < dexAttr || !(pokemon.scene.gameData.starterData[pokemon.species.getRootSpeciesId()].abilityAttr & Math.pow(2, pokemon.abilityIndex))) + const opponentPokemonDexAttr = pokemon.getDexAttr(); + + // Check if Player owns all genders and forms of the Pokemon + const missingDexAttrs = ((dexEntry.caughtAttr & opponentPokemonDexAttr) < opponentPokemonDexAttr); + + /** + * If the opposing Pokemon only has 1 normal ability and is using the hidden ability it should have the same behavior + * if it had 2 normal abilities. This code checks if that is the case and uses the correct opponent Pokemon abilityIndex (2) + * for calculations so it aligns with where the hidden ability is stored in the starter data's abilityAttr (4) + */ + const opponentPokemonOneNormalAbility = (pokemon.species.getAbilityCount() === 2); + const opponentPokemonAbilityIndex = (opponentPokemonOneNormalAbility && pokemon.abilityIndex === 1) ? 2 : pokemon.abilityIndex; + const opponentPokemonAbilityAttr = Math.pow(2, opponentPokemonAbilityIndex); + + const rootFormHasHiddenAbility = pokemon.scene.gameData.starterData[pokemon.species.getRootSpeciesId()].abilityAttr & opponentPokemonAbilityAttr; + + if (missingDexAttrs || !rootFormHasHiddenAbility) this.ownedIcon.setTint(0x808080); if (this.boss) From 10437142b60b1049b4abd65f6d6d6b06afb1210c Mon Sep 17 00:00:00 2001 From: William Burleson <72857839+Admiral-Billy@users.noreply.github.com> Date: Fri, 17 May 2024 06:51:48 -0400 Subject: [PATCH 08/16] Fix daily run freeze (#1025) --- src/phases.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/phases.ts b/src/phases.ts index 91e098edf1f..1137c85afa6 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -3545,10 +3545,12 @@ export class GameOverModifierRewardPhase extends ModifierRewardPhase { this.scene.addModifier(newModifier).then(() => { this.scene.playSound('level_up_fanfare'); this.scene.ui.setMode(Mode.MESSAGE); + this.scene.ui.fadeIn(250).then(() => { this.scene.ui.showText(`You received\n${newModifier.type.name}!`, null, () => { this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true)); resolve(); }, null, true, 1500); + }); }); }) } From bfa12fd48dd17171917fc907ba62ee9356263adc Mon Sep 17 00:00:00 2001 From: Calvin Keats Date: Fri, 17 May 2024 06:54:51 -0500 Subject: [PATCH 09/16] Update ETHER and similar items to use total max PP instead of base PP (#1014) --- src/modifier/modifier-type.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 50bf2f78a0c..1e21af58564 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -1194,11 +1194,11 @@ const modifierPool: ModifierPool = { return thresholdPartyMemberCount; }, 3), new WeightedModifierType(modifierTypes.ETHER, (party: Pokemon[]) => { - const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3); + const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3); return thresholdPartyMemberCount * 3; }, 9), new WeightedModifierType(modifierTypes.MAX_ETHER, (party: Pokemon[]) => { - const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3); + const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3); return thresholdPartyMemberCount; }, 3), new WeightedModifierType(modifierTypes.LURE, 2), @@ -1237,11 +1237,11 @@ const modifierPool: ModifierPool = { return thresholdPartyMemberCount; }, 3), new WeightedModifierType(modifierTypes.ELIXIR, (party: Pokemon[]) => { - const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3); + const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3); return thresholdPartyMemberCount * 3; }, 9), new WeightedModifierType(modifierTypes.MAX_ELIXIR, (party: Pokemon[]) => { - const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMove().pp - m.ppUsed) <= 5).length).length, 3); + const thresholdPartyMemberCount = Math.min(party.filter(p => p.hp && p.getMoveset().filter(m => (m.getMovePp() - m.ppUsed) <= 5).length).length, 3); return thresholdPartyMemberCount; }, 3), new WeightedModifierType(modifierTypes.DIRE_HIT, 4), From 03c4b1b821849771e19c6eb4698ed57000ba5b3f Mon Sep 17 00:00:00 2001 From: Brandon Rodgers Date: Fri, 17 May 2024 09:49:04 -0400 Subject: [PATCH 10/16] Update battler-tags.ts (#1030) Corrected the TrappedTag class so no Ghosts can be trapped Added special canAdd function to IngrainTag so all Ghosts can use Ingrain not just Trevenant and Phantump. --- src/data/battler-tags.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts index 6ab249864cd..4c3f09cab30 100644 --- a/src/data/battler-tags.ts +++ b/src/data/battler-tags.ts @@ -15,7 +15,6 @@ import { TerrainType } from "./terrain"; import { WeatherType } from "./weather"; import { BattleStat } from "./battle-stat"; import { allAbilities } from "./ability"; -import { Species } from "./enums/species"; export enum BattlerTagLapseType { FAINT, @@ -120,9 +119,8 @@ export class TrappedTag extends BattlerTag { canAdd(pokemon: Pokemon): boolean { const isGhost = pokemon.isOfType(Type.GHOST); const isTrapped = pokemon.getTag(BattlerTagType.TRAPPED); - const isAllowedGhostType = pokemon.species.speciesId === Species.PHANTUMP || pokemon.species.speciesId === Species.TREVENANT; - return !isTrapped && (!isGhost || isAllowedGhostType); + return !isTrapped && !isGhost; } onAdd(pokemon: Pokemon): void { @@ -503,11 +501,26 @@ export class HelpingHandTag extends BattlerTag { } } +/** + * Applies the Ingrain tag to a pokemon + * @extends TrappedTag + */ export class IngrainTag extends TrappedTag { constructor(sourceId: integer) { super(BattlerTagType.INGRAIN, BattlerTagLapseType.TURN_END, 1, Moves.INGRAIN, sourceId); } + /** + * Check if the Ingrain tag can be added to the pokemon + * @param pokemon {@linkcode Pokemon} The pokemon to check if the tag can be added to + * @returns boolean True if the tag can be added, false otherwise + */ + canAdd(pokemon: Pokemon): boolean { + const isTrapped = pokemon.getTag(BattlerTagType.TRAPPED); + + return !isTrapped; + } + lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean { const ret = lapseType !== BattlerTagLapseType.CUSTOM || super.lapse(pokemon, lapseType); From 3cc9c93643a496f35e9333a43b5776e4f4d27531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ricardo=20Fleury=20Oliveira?= Date: Fri, 17 May 2024 11:43:11 -0300 Subject: [PATCH 11/16] Type localization instead of TeraType (#981) * Type localization, now type-boosting items descriptions are fully translated * pokemon-stat refactoration * reverted import changes --- src/data/pokemon-stat.ts | 12 ++++----- src/locales/de/config.ts | 4 +-- src/locales/de/modifier-type.ts | 22 ---------------- src/locales/de/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/de/pokemon-stat.ts | 16 ------------ src/locales/en/config.ts | 4 +-- src/locales/en/modifier-type.ts | 22 ---------------- src/locales/en/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/en/pokemon-stat.ts | 16 ------------ src/locales/es/config.ts | 4 +-- src/locales/es/modifier-type.ts | 22 ---------------- src/locales/es/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/es/pokemon-stat.ts | 16 ------------ src/locales/fr/config.ts | 4 +-- src/locales/fr/modifier-type.ts | 22 ---------------- src/locales/fr/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/fr/pokemon-stat.ts | 16 ------------ src/locales/it/config.ts | 4 +-- src/locales/it/modifier-type.ts | 22 ---------------- src/locales/it/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/it/pokemon-stat.ts | 16 ------------ src/locales/pt_BR/config.ts | 4 +-- src/locales/pt_BR/modifier-type.ts | 22 ---------------- src/locales/pt_BR/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/pt_BR/pokemon-stat.ts | 16 ------------ src/locales/zh_CN/config.ts | 4 +-- src/locales/zh_CN/modifier-type.ts | 22 ---------------- src/locales/zh_CN/pokemon-info.ts | 41 ++++++++++++++++++++++++++++++ src/locales/zh_CN/pokemon-stat.ts | 16 ------------ src/modifier/modifier-type.ts | 6 ++--- src/plugins/i18n.ts | 7 +++-- 31 files changed, 315 insertions(+), 291 deletions(-) create mode 100644 src/locales/de/pokemon-info.ts delete mode 100644 src/locales/de/pokemon-stat.ts create mode 100644 src/locales/en/pokemon-info.ts delete mode 100644 src/locales/en/pokemon-stat.ts create mode 100644 src/locales/es/pokemon-info.ts delete mode 100644 src/locales/es/pokemon-stat.ts create mode 100644 src/locales/fr/pokemon-info.ts delete mode 100644 src/locales/fr/pokemon-stat.ts create mode 100644 src/locales/it/pokemon-info.ts delete mode 100644 src/locales/it/pokemon-stat.ts create mode 100644 src/locales/pt_BR/pokemon-info.ts delete mode 100644 src/locales/pt_BR/pokemon-stat.ts create mode 100644 src/locales/zh_CN/pokemon-info.ts delete mode 100644 src/locales/zh_CN/pokemon-stat.ts diff --git a/src/data/pokemon-stat.ts b/src/data/pokemon-stat.ts index b22eaefe876..94e710c981b 100644 --- a/src/data/pokemon-stat.ts +++ b/src/data/pokemon-stat.ts @@ -13,22 +13,22 @@ export function getStatName(stat: Stat, shorten: boolean = false) { let ret: string; switch (stat) { case Stat.HP: - ret = !shorten ? i18next.t('pokemonStat:HP') : i18next.t('pokemonStat:HPshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.HP') : i18next.t('pokemonInfo:Stat.HPshortened'); break; case Stat.ATK: - ret = !shorten ? i18next.t('pokemonStat:ATK') : i18next.t('pokemonStat:ATKshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.ATK') : i18next.t('pokemonInfo:Stat.ATKshortened'); break; case Stat.DEF: - ret = !shorten ? i18next.t('pokemonStat:DEF') : i18next.t('pokemonStat:DEFshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.DEF') : i18next.t('pokemonInfo:Stat.DEFshortened'); break; case Stat.SPATK: - ret = !shorten ? i18next.t('pokemonStat:SPATK') : i18next.t('pokemonStat:SPATKshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.SPATK') : i18next.t('pokemonInfo:Stat.SPATKshortened'); break; case Stat.SPDEF: - ret = !shorten ? i18next.t('pokemonStat:SPDEF') : i18next.t('pokemonStat:SPDEFshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.SPDEF') : i18next.t('pokemonInfo:Stat.SPDEFshortened'); break; case Stat.SPD: - ret = !shorten ? i18next.t('pokemonStat:SPD') : i18next.t('pokemonStat:SPDshortened'); + ret = !shorten ? i18next.t('pokemonInfo:Stat.SPD') : i18next.t('pokemonInfo:Stat.SPDshortened'); break; } return ret; diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts index 7aeeeb7a925..af52d8bc51b 100644 --- a/src/locales/de/config.ts +++ b/src/locales/de/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const deConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/de/modifier-type.ts b/src/locales/de/modifier-type.ts index dea1421ac20..95346548c44 100644 --- a/src/locales/de/modifier-type.ts +++ b/src/locales/de/modifier-type.ts @@ -385,26 +385,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Gefriermodul", "DOUSE_DRIVE": "Aquamodul", }, - TeraType: { - "UNKNOWN": "Unbekannt", - "NORMAL": "Normal", - "FIGHTING": "Kampf", - "FLYING": "Flug", - "POISON": "Gift", - "GROUND": "Boden", - "ROCK": "Gestein", - "BUG": "Käfer", - "GHOST": "Geist", - "STEEL": "Stahl", - "FIRE": "Feuer", - "WATER": "Wasser", - "GRASS": "Pflanze", - "ELECTRIC": "Elektro", - "PSYCHIC": "Psycho", - "ICE": "Eis", - "DRAGON": "Drache", - "DARK": "Unlicht", - "FAIRY": "Fee", - "STELLAR": "Stellar", - }, } as const; \ No newline at end of file diff --git a/src/locales/de/pokemon-info.ts b/src/locales/de/pokemon-info.ts new file mode 100644 index 00000000000..772a09cb656 --- /dev/null +++ b/src/locales/de/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "Max. KP", + "HPshortened": "MaxKP", + "ATK": "Angriff", + "ATKshortened": "Ang", + "DEF": "Verteidigung", + "DEFshortened": "Vert", + "SPATK": "Sp. Ang", + "SPATKshortened": "SpAng", + "SPDEF": "Sp. Vert", + "SPDEFshortened": "SpVert", + "SPD": "Initiative", + "SPDshortened": "Init", + }, + + Type: { + "UNKNOWN": "Unbekannt", + "NORMAL": "Normal", + "FIGHTING": "Kampf", + "FLYING": "Flug", + "POISON": "Gift", + "GROUND": "Boden", + "ROCK": "Gestein", + "BUG": "Käfer", + "GHOST": "Geist", + "STEEL": "Stahl", + "FIRE": "Feuer", + "WATER": "Wasser", + "GRASS": "Pflanze", + "ELECTRIC": "Elektro", + "PSYCHIC": "Psycho", + "ICE": "Eis", + "DRAGON": "Drache", + "DARK": "Unlicht", + "FAIRY": "Fee", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/de/pokemon-stat.ts b/src/locales/de/pokemon-stat.ts deleted file mode 100644 index 531b5022b68..00000000000 --- a/src/locales/de/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "Max. KP", - "HPshortened": "MaxKP", - "ATK": "Angriff", - "ATKshortened": "Ang", - "DEF": "Verteidigung", - "DEFshortened": "Vert", - "SPATK": "Sp. Ang", - "SPATKshortened": "SpAng", - "SPDEF": "Sp. Vert", - "SPDEFshortened": "SpVert", - "SPD": "Initiative", - "SPDshortened": "Init" -} as const; \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index 6b23d2f2983..984b0fa239f 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const enConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/en/modifier-type.ts b/src/locales/en/modifier-type.ts index 043d7a705d5..31d4abbce29 100644 --- a/src/locales/en/modifier-type.ts +++ b/src/locales/en/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Chill Drive", "DOUSE_DRIVE": "Douse Drive", }, - TeraType: { - "UNKNOWN": "Unknown", - "NORMAL": "Normal", - "FIGHTING": "Fighting", - "FLYING": "Flying", - "POISON": "Poison", - "GROUND": "Ground", - "ROCK": "Rock", - "BUG": "Bug", - "GHOST": "Ghost", - "STEEL": "Steel", - "FIRE": "Fire", - "WATER": "Water", - "GRASS": "Grass", - "ELECTRIC": "Electric", - "PSYCHIC": "Psychic", - "ICE": "Ice", - "DRAGON": "Dragon", - "DARK": "Dark", - "FAIRY": "Fairy", - "STELLAR": "Stellar", - }, } as const; \ No newline at end of file diff --git a/src/locales/en/pokemon-info.ts b/src/locales/en/pokemon-info.ts new file mode 100644 index 00000000000..2c7ee78f07a --- /dev/null +++ b/src/locales/en/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "Max. HP", + "HPshortened": "MaxHP", + "ATK": "Attack", + "ATKshortened": "Atk", + "DEF": "Defense", + "DEFshortened": "Def", + "SPATK": "Sp. Atk", + "SPATKshortened": "SpAtk", + "SPDEF": "Sp. Def", + "SPDEFshortened": "SpDef", + "SPD": "Speed", + "SPDshortened": "Spd" + }, + + Type: { + "UNKNOWN": "Unknown", + "NORMAL": "Normal", + "FIGHTING": "Fighting", + "FLYING": "Flying", + "POISON": "Poison", + "GROUND": "Ground", + "ROCK": "Rock", + "BUG": "Bug", + "GHOST": "Ghost", + "STEEL": "Steel", + "FIRE": "Fire", + "WATER": "Water", + "GRASS": "Grass", + "ELECTRIC": "Electric", + "PSYCHIC": "Psychic", + "ICE": "Ice", + "DRAGON": "Dragon", + "DARK": "Dark", + "FAIRY": "Fairy", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/en/pokemon-stat.ts b/src/locales/en/pokemon-stat.ts deleted file mode 100644 index 7a209461b11..00000000000 --- a/src/locales/en/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "Max. HP", - "HPshortened": "MaxHP", - "ATK": "Attack", - "ATKshortened": "Atk", - "DEF": "Defense", - "DEFshortened": "Def", - "SPATK": "Sp. Atk", - "SPATKshortened": "SpAtk", - "SPDEF": "Sp. Def", - "SPDEFshortened": "SpDef", - "SPD": "Speed", - "SPDshortened": "Spd" -} as const; \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index a3b06982d33..92349028899 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const esConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/es/modifier-type.ts b/src/locales/es/modifier-type.ts index 043d7a705d5..31d4abbce29 100644 --- a/src/locales/es/modifier-type.ts +++ b/src/locales/es/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Chill Drive", "DOUSE_DRIVE": "Douse Drive", }, - TeraType: { - "UNKNOWN": "Unknown", - "NORMAL": "Normal", - "FIGHTING": "Fighting", - "FLYING": "Flying", - "POISON": "Poison", - "GROUND": "Ground", - "ROCK": "Rock", - "BUG": "Bug", - "GHOST": "Ghost", - "STEEL": "Steel", - "FIRE": "Fire", - "WATER": "Water", - "GRASS": "Grass", - "ELECTRIC": "Electric", - "PSYCHIC": "Psychic", - "ICE": "Ice", - "DRAGON": "Dragon", - "DARK": "Dark", - "FAIRY": "Fairy", - "STELLAR": "Stellar", - }, } as const; \ No newline at end of file diff --git a/src/locales/es/pokemon-info.ts b/src/locales/es/pokemon-info.ts new file mode 100644 index 00000000000..fabc7220f3c --- /dev/null +++ b/src/locales/es/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "PV", + "HPshortened": "PV", + "ATK": "Ataque", + "ATKshortened": "Ata", + "DEF": "Defensa", + "DEFshortened": "Def", + "SPATK": "At. Esp.", + "SPATKshortened": "AtEsp", + "SPDEF": "Def. Esp.", + "SPDEFshortened": "DefEsp", + "SPD": "Velocidad", + "SPDshortened": "Veloc." + }, + + Type: { + "UNKNOWN": "Unknown", + "NORMAL": "Normal", + "FIGHTING": "Fighting", + "FLYING": "Flying", + "POISON": "Poison", + "GROUND": "Ground", + "ROCK": "Rock", + "BUG": "Bug", + "GHOST": "Ghost", + "STEEL": "Steel", + "FIRE": "Fire", + "WATER": "Water", + "GRASS": "Grass", + "ELECTRIC": "Electric", + "PSYCHIC": "Psychic", + "ICE": "Ice", + "DRAGON": "Dragon", + "DARK": "Dark", + "FAIRY": "Fairy", + "STELLAR": "Stellar", + }, +} as const; \ No newline at end of file diff --git a/src/locales/es/pokemon-stat.ts b/src/locales/es/pokemon-stat.ts deleted file mode 100644 index 514ef19891b..00000000000 --- a/src/locales/es/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "PV", - "HPshortened": "PV", - "ATK": "Ataque", - "ATKshortened": "Ata", - "DEF": "Defensa", - "DEFshortened": "Def", - "SPATK": "At. Esp.", - "SPATKshortened": "AtEsp", - "SPDEF": "Def. Esp.", - "SPDEFshortened": "DefEsp", - "SPD": "Velocidad", - "SPDshortened": "Veloc." -} as const; \ No newline at end of file diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index 867a08621bb..ecec8de6cb0 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const frConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts index 95daf50f9b1..f8697c04259 100644 --- a/src/locales/fr/modifier-type.ts +++ b/src/locales/fr/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Module Aqua", "DOUSE_DRIVE": "Module Choc", }, - TeraType: { - "UNKNOWN": "Inconnu", - "NORMAL": "Normal", - "FIGHTING": "Combat", - "FLYING": "Vol", - "POISON": "Poison", - "GROUND": "Sol", - "ROCK": "Roche", - "BUG": "Insecte", - "GHOST": "Spectre", - "STEEL": "Acier", - "FIRE": "Feu", - "WATER": "Eau", - "GRASS": "Plante", - "ELECTRIC": "Électrik", - "PSYCHIC": "Psy", - "ICE": "Glace", - "DRAGON": "Dragon", - "DARK": "Ténèbres", - "FAIRY": "Fée", - "STELLAR": "Stellaire", - }, } as const; diff --git a/src/locales/fr/pokemon-info.ts b/src/locales/fr/pokemon-info.ts new file mode 100644 index 00000000000..0c246bd96a4 --- /dev/null +++ b/src/locales/fr/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "PV", + "HPshortened": "PV", + "ATK": "Attaque", + "ATKshortened": "Atq", + "DEF": "Défense", + "DEFshortened": "Déf", + "SPATK": "Atq. Spé.", + "SPATKshortened": "AtqSp", + "SPDEF": "Déf. Spé.", + "SPDEFshortened": "DéfSp", + "SPD": "Vitesse", + "SPDshortened": "Vit" + }, + + Type: { + "UNKNOWN": "Inconnu", + "NORMAL": "Normal", + "FIGHTING": "Combat", + "FLYING": "Vol", + "POISON": "Poison", + "GROUND": "Sol", + "ROCK": "Roche", + "BUG": "Insecte", + "GHOST": "Spectre", + "STEEL": "Acier", + "FIRE": "Feu", + "WATER": "Eau", + "GRASS": "Plante", + "ELECTRIC": "Électrik", + "PSYCHIC": "Psy", + "ICE": "Glace", + "DRAGON": "Dragon", + "DARK": "Ténèbres", + "FAIRY": "Fée", + "STELLAR": "Stellaire", + }, +} as const; diff --git a/src/locales/fr/pokemon-stat.ts b/src/locales/fr/pokemon-stat.ts deleted file mode 100644 index 62aa97fc1fd..00000000000 --- a/src/locales/fr/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "PV", - "HPshortened": "PV", - "ATK": "Attaque", - "ATKshortened": "Atq", - "DEF": "Défense", - "DEFshortened": "Déf", - "SPATK": "Atq. Spé.", - "SPATKshortened": "AtqSp", - "SPDEF": "Déf. Spé.", - "SPDEFshortened": "DéfSp", - "SPD": "Vitesse", - "SPDshortened": "Vit" -} as const; diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index 89d78304120..a9c80dc673d 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const itConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/it/modifier-type.ts b/src/locales/it/modifier-type.ts index 7f342309acf..87deece71fe 100644 --- a/src/locales/it/modifier-type.ts +++ b/src/locales/it/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Gelomodulo", "DOUSE_DRIVE": "Idromodulo", }, - TeraType: { - "UNKNOWN": "Sconosciuto", - "NORMAL": "Normale", - "FIGHTING": "Lotta", - "FLYING": "Volante", - "POISON": "Veleno", - "GROUND": "Terra", - "ROCK": "Roccia", - "BUG": "Coleottero", - "GHOST": "Spettro", - "STEEL": "Acciaio", - "FIRE": "Fuoco", - "WATER": "Acqua", - "GRASS": "Erba", - "ELECTRIC": "Elettro", - "PSYCHIC": "Psico", - "ICE": "Ghiaccio", - "DRAGON": "Drago", - "DARK": "Buio", - "FAIRY": "Folletto", - "STELLAR": "Astrale", - }, } as const; \ No newline at end of file diff --git a/src/locales/it/pokemon-info.ts b/src/locales/it/pokemon-info.ts new file mode 100644 index 00000000000..617b2157da2 --- /dev/null +++ b/src/locales/it/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "PS Max", + "HPshortened": "PS", + "ATK": "Attacco", + "ATKshortened": "Att", + "DEF": "Difesa", + "DEFshortened": "Dif", + "SPATK": "Att. Sp.", + "SPATKshortened": "AttSp", + "SPDEF": "Dif. Sp.", + "SPDEFshortened": "DifSp", + "SPD": "Velocità", + "SPDshortened": "Vel" + }, + + Type: { + "UNKNOWN": "Sconosciuto", + "NORMAL": "Normale", + "FIGHTING": "Lotta", + "FLYING": "Volante", + "POISON": "Veleno", + "GROUND": "Terra", + "ROCK": "Roccia", + "BUG": "Coleottero", + "GHOST": "Spettro", + "STEEL": "Acciaio", + "FIRE": "Fuoco", + "WATER": "Acqua", + "GRASS": "Erba", + "ELECTRIC": "Elettro", + "PSYCHIC": "Psico", + "ICE": "Ghiaccio", + "DRAGON": "Drago", + "DARK": "Buio", + "FAIRY": "Folletto", + "STELLAR": "Astrale", + }, +} as const; diff --git a/src/locales/it/pokemon-stat.ts b/src/locales/it/pokemon-stat.ts deleted file mode 100644 index b2c023aa383..00000000000 --- a/src/locales/it/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "PS Max", - "HPshortened": "PS", - "ATK": "Attacco", - "ATKshortened": "Att", - "DEF": "Difesa", - "DEFshortened": "Dif", - "SPATK": "Att. Sp.", - "SPATKshortened": "AttSp", - "SPDEF": "Dif. Sp.", - "SPDEFshortened": "DifSp", - "SPD": "Velocità", - "SPDshortened": "Vel" -} as const; diff --git a/src/locales/pt_BR/config.ts b/src/locales/pt_BR/config.ts index 157df19a80b..29d3c8b4195 100644 --- a/src/locales/pt_BR/config.ts +++ b/src/locales/pt_BR/config.ts @@ -10,7 +10,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; @@ -26,7 +26,7 @@ export const ptBrConfig = { menu: menu, move: move, pokeball: pokeball, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, diff --git a/src/locales/pt_BR/modifier-type.ts b/src/locales/pt_BR/modifier-type.ts index 043d7a705d5..31d4abbce29 100644 --- a/src/locales/pt_BR/modifier-type.ts +++ b/src/locales/pt_BR/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "Chill Drive", "DOUSE_DRIVE": "Douse Drive", }, - TeraType: { - "UNKNOWN": "Unknown", - "NORMAL": "Normal", - "FIGHTING": "Fighting", - "FLYING": "Flying", - "POISON": "Poison", - "GROUND": "Ground", - "ROCK": "Rock", - "BUG": "Bug", - "GHOST": "Ghost", - "STEEL": "Steel", - "FIRE": "Fire", - "WATER": "Water", - "GRASS": "Grass", - "ELECTRIC": "Electric", - "PSYCHIC": "Psychic", - "ICE": "Ice", - "DRAGON": "Dragon", - "DARK": "Dark", - "FAIRY": "Fairy", - "STELLAR": "Stellar", - }, } as const; \ No newline at end of file diff --git a/src/locales/pt_BR/pokemon-info.ts b/src/locales/pt_BR/pokemon-info.ts new file mode 100644 index 00000000000..99cef266c6f --- /dev/null +++ b/src/locales/pt_BR/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "PS", + "HPshortened": "PS", + "ATK": "Ataque", + "ATKshortened": "Ata", + "DEF": "Defesa", + "DEFshortened": "Def", + "SPATK": "At. Esp.", + "SPATKshortened": "AtEsp", + "SPDEF": "Def. Esp.", + "SPDEFshortened": "DefEsp", + "SPD": "Veloc.", + "SPDshortened": "Veloc." + }, + + Type: { + "UNKNOWN": "Desconhecido", + "NORMAL": "Normal", + "FIGHTING": "Lutador", + "FLYING": "Voador", + "POISON": "Veneno", + "GROUND": "Terra", + "ROCK": "Pedra", + "BUG": "Inseto", + "GHOST": "Fantasma", + "STEEL": "Aço", + "FIRE": "Fogo", + "WATER": "Água", + "GRASS": "Grama", + "ELECTRIC": "Elétrico", + "PSYCHIC": "Psíquico", + "ICE": "Gelo", + "DRAGON": "Dragão", + "DARK": "Sombrio", + "FAIRY": "Fada", + "STELLAR": "Estelar" + }, +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/pokemon-stat.ts b/src/locales/pt_BR/pokemon-stat.ts deleted file mode 100644 index 5f5e2c23584..00000000000 --- a/src/locales/pt_BR/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "PS", - "HPshortened": "PS", - "ATK": "Ataque", - "ATKshortened": "Ata", - "DEF": "Defesa", - "DEFshortened": "Def", - "SPATK": "At. Esp.", - "SPATKshortened": "AtEsp", - "SPDEF": "Def. Esp.", - "SPDEFshortened": "DefEsp", - "SPD": "Veloc.", - "SPDshortened": "Veloc." -} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index 9c3a62f59f0..cfdc7ab0d18 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -12,7 +12,7 @@ import { move } from "./move"; import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; -import { pokemonStat } from "./pokemon-stat"; +import { pokemonInfo } from "./pokemon-info"; // import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { titles, trainerClasses, trainerNames } from "./trainers"; @@ -36,7 +36,7 @@ export const zhCnConfig = { nature: nature, pokeball: pokeball, pokemon: pokemon, - pokemonStat: pokemonStat, + pokemonInfo: pokemonInfo, // splashMessages: splashMessages, starterSelectUiHandler: starterSelectUiHandler, titles: titles, diff --git a/src/locales/zh_CN/modifier-type.ts b/src/locales/zh_CN/modifier-type.ts index 80ddc1f92dd..9555eb3ce7d 100644 --- a/src/locales/zh_CN/modifier-type.ts +++ b/src/locales/zh_CN/modifier-type.ts @@ -384,26 +384,4 @@ export const modifierType: ModifierTypeTranslationEntries = { "CHILL_DRIVE": "冰冻卡带", "DOUSE_DRIVE": "水流卡带", }, - TeraType: { - "UNKNOWN": "Unknown", - "NORMAL": "一般", - "FIGHTING": "格斗", - "FLYING": "飞行", - "POISON": "毒", - "GROUND": "地面", - "ROCK": "岩石", - "BUG": "虫", - "GHOST": "幽灵", - "STEEL": "钢", - "FIRE": "火", - "WATER": "水", - "GRASS": "草", - "ELECTRIC": "电", - "PSYCHIC": "超能力", - "ICE": "冰", - "DRAGON": "龙", - "DARK": "恶", - "FAIRY": "妖精", - "STELLAR": "星晶", - }, } as const; \ No newline at end of file diff --git a/src/locales/zh_CN/pokemon-info.ts b/src/locales/zh_CN/pokemon-info.ts new file mode 100644 index 00000000000..d99d8edfd76 --- /dev/null +++ b/src/locales/zh_CN/pokemon-info.ts @@ -0,0 +1,41 @@ +import { PokemonInfoTranslationEntries } from "#app/plugins/i18n"; + +export const pokemonInfo: PokemonInfoTranslationEntries = { + Stat: { + "HP": "最大HP", + "HPshortened": "最大HP", + "ATK": "攻击", + "ATKshortened": "攻击", + "DEF": "防御", + "DEFshortened": "防御", + "SPATK": "特攻", + "SPATKshortened": "特攻", + "SPDEF": "特防", + "SPDEFshortened": "特防", + "SPD": "速度", + "SPDshortened": "速度" + }, + + Type: { + "UNKNOWN": "Unknown", + "NORMAL": "一般", + "FIGHTING": "格斗", + "FLYING": "飞行", + "POISON": "毒", + "GROUND": "地面", + "ROCK": "岩石", + "BUG": "虫", + "GHOST": "幽灵", + "STEEL": "钢", + "FIRE": "火", + "WATER": "水", + "GRASS": "草", + "ELECTRIC": "电", + "PSYCHIC": "超能力", + "ICE": "冰", + "DRAGON": "龙", + "DARK": "恶", + "FAIRY": "妖精", + "STELLAR": "星晶", + }, +} as const; \ No newline at end of file diff --git a/src/locales/zh_CN/pokemon-stat.ts b/src/locales/zh_CN/pokemon-stat.ts deleted file mode 100644 index d30922c46a0..00000000000 --- a/src/locales/zh_CN/pokemon-stat.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { SimpleTranslationEntries } from "#app/plugins/i18n"; - -export const pokemonStat: SimpleTranslationEntries = { - "HP": "最大HP", - "HPshortened": "最大HP", - "ATK": "攻击", - "ATKshortened": "攻击", - "DEF": "防御", - "DEFshortened": "防御", - "SPATK": "特攻", - "SPATKshortened": "特攻", - "SPDEF": "特防", - "SPDEFshortened": "特防", - "SPD": "速度", - "SPDshortened": "速度" -} as const; \ No newline at end of file diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts index 1e21af58564..278de2f18e8 100644 --- a/src/modifier/modifier-type.ts +++ b/src/modifier/modifier-type.ts @@ -511,7 +511,7 @@ export class AttackTypeBoosterModifierType extends PokemonHeldItemModifierType i getDescription(scene: BattleScene): string { // TODO: Need getTypeName? - return i18next.t(`modifierType:ModifierType.AttackTypeBoosterModifierType.description`, { moveType: Utils.toReadableString(Type[this.moveType]) }); + return i18next.t(`modifierType:ModifierType.AttackTypeBoosterModifierType.description`, { moveType: i18next.t(`pokemonInfo:Type.${Type[this.moveType]}`) }); } getPregenArgs(): any[] { @@ -898,11 +898,11 @@ export class TerastallizeModifierType extends PokemonHeldItemModifierType implem } get name(): string { - return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.name`, { teraType: i18next.t(`modifierType:TeraType.${Type[this.teraType]}`) }); + return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.name`, { teraType: i18next.t(`pokemonInfo:Type.${Type[this.teraType]}`) }); } getDescription(scene: BattleScene): string { - return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.description`, { teraType: i18next.t(`modifierType:TeraType.${Type[this.teraType]}`) }); + return i18next.t(`modifierType:ModifierType.TerastallizeModifierType.description`, { teraType: i18next.t(`pokemonInfo:Type.${Type[this.teraType]}`) }); } getPregenArgs(): any[] { diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 5c9de28fe82..790a3c729c8 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -43,7 +43,10 @@ export interface ModifierTypeTranslationEntries { BaseStatBoosterItem: SimpleTranslationEntries, EvolutionItem: SimpleTranslationEntries, FormChangeItem: SimpleTranslationEntries, - TeraType: SimpleTranslationEntries, +} +export interface PokemonInfoTranslationEntries { + Stat: SimpleTranslationEntries, + Type: SimpleTranslationEntries, } export interface BerryTranslationEntry { @@ -134,7 +137,7 @@ declare module 'i18next' { ability: AbilityTranslationEntries; pokeball: SimpleTranslationEntries; pokemon: SimpleTranslationEntries; - pokemonStat: SimpleTranslationEntries; + pokemonInfo: PokemonInfoTranslationEntries; commandUiHandler: SimpleTranslationEntries; fightUiHandler: SimpleTranslationEntries; titles: SimpleTranslationEntries; From 09b820161f03655a3dc60a72c4e404a4b80d5016 Mon Sep 17 00:00:00 2001 From: Jannik Tappert <38758606+CodeTappert@users.noreply.github.com> Date: Fri, 17 May 2024 17:21:11 +0200 Subject: [PATCH 12/16] Localized Weather, Berries and Splash Messages (#1034) * Localized Weather, Berries and Splash Messages * Berry messages are now correct --- src/locales/de/berry.ts | 44 +++++++++++----------- src/locales/de/splash-messages.ts | 62 +++++++++++++++---------------- src/locales/de/weather.ts | 50 ++++++++++++------------- 3 files changed, 78 insertions(+), 78 deletions(-) diff --git a/src/locales/de/berry.ts b/src/locales/de/berry.ts index 8c8bc5ee280..bba64597f6b 100644 --- a/src/locales/de/berry.ts +++ b/src/locales/de/berry.ts @@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n"; export const berry: BerryTranslationEntries = { "SITRUS": { - name: "Sitrus Berry", - effect: "Restores 25% HP if HP is below 50%", + name: "Tsitrubeere", + effect: "Stellt 25% der KP wieder her, wenn die KP unter 50% sind" }, "LUM": { - name: "Lum Berry", - effect: "Cures any non-volatile status condition and confusion", + name: "Prunusbeere", + effect: "Heilt jede nichtflüchtige Statusveränderung und Verwirrung" }, "ENIGMA": { - name: "Enigma Berry", - effect: "Restores 25% HP if hit by a super effective move", + name: "Enigmabeere", + effect: "Stellt 25% der KP wieder her, wenn der Träger von einer sehr effektiven Attacke getroffen wird", }, "LIECHI": { - name: "Liechi Berry", - effect: "Raises Attack if HP is below 25%", + name: "Lydzibeere", + effect: "Steigert den Angriff, wenn die KP unter 25% sind" }, "GANLON": { - name: "Ganlon Berry", - effect: "Raises Defense if HP is below 25%", + name: "Linganbeere", + effect: "Steigert die Verteidigung, wenn die KP unter 25% sind" }, "PETAYA": { - name: "Petaya Berry", - effect: "Raises Sp. Atk if HP is below 25%", + name: "Tahaybeere", + effect: "Steigert den Spezial-Angriff, wenn die KP unter 25% sind" }, "APICOT": { - name: "Apicot Berry", - effect: "Raises Sp. Def if HP is below 25%", + name: "Apikobeere", + effect: "Steigert die Spezial-Verteidigung, wenn die KP unter 25% sind" }, "SALAC": { - name: "Salac Berry", - effect: "Raises Speed if HP is below 25%", + name: "Salkabeere", + effect: "Steigert die Initiative, wenn die KP unter 25% sind" }, "LANSAT": { - name: "Lansat Berry", - effect: "Raises critical hit ratio if HP is below 25%", + name: "Lansatbeere", + effect: "Erhöht die Volltrefferchance, wenn die KP unter 25% sind" }, "STARF": { - name: "Starf Berry", - effect: "Sharply raises a random stat if HP is below 25%", + name: "Krambobeere", + effect: "Erhöht eine Statuswert stark, wenn die KP unter 25% sind" }, "LEPPA": { - name: "Leppa Berry", - effect: "Restores 10 PP to a move if its PP reaches 0", + name: "Jonagobeere", + effect: "Stellt 10 AP für eine Attacke wieder her, wenn deren AP auf 0 fallen" }, } as const; \ No newline at end of file diff --git a/src/locales/de/splash-messages.ts b/src/locales/de/splash-messages.ts index 6815d7f1824..4bbe9a25492 100644 --- a/src/locales/de/splash-messages.ts +++ b/src/locales/de/splash-messages.ts @@ -1,37 +1,37 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const splashMessages: SimpleTranslationEntries = { - "battlesWon": "Battles Won!", - "joinTheDiscord": "Join the Discord!", - "infiniteLevels": "Infinite Levels!", - "everythingStacks": "Everything Stacks!", - "optionalSaveScumming": "Optional Save Scumming!", - "biomes": "35 Biomes!", + "battlesWon": "Kämpfe gewonnen!", + "joinTheDiscord": "Tritt dem Discord bei!", + "infiniteLevels": "Unendliche Level!", + "everythingStacks": "Alles stapelt sich!", + "optionalSaveScumming": "Optionales Save Scumming!", + "biomes": "35 Biome!", "openSource": "Open Source!", - "playWithSpeed": "Play with 5x Speed!", - "liveBugTesting": "Live Bug Testing!", - "heavyInfluence": "Heavy RoR2 Influence!", + "playWithSpeed": "Spiele mit fünffacher Geschwindigkeit!", + "liveBugTesting": "Live-Bug-Tests!", + "heavyInfluence": "Starker RoR2-Einfluss!", "pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!", - "nowWithMoreSalt": "Now with 33% More Salt!", - "infiniteFusionAtHome": "Infinite Fusion at Home!", - "brokenEggMoves": "Broken Egg Moves!", - "magnificent": "Magnificent!", - "mubstitute": "Mubstitute!", - "thatsCrazy": "That\'s Crazy!", - "oranceJuice": "Orance Juice!", - "questionableBalancing": "Questionable Balancing!", - "coolShaders": "Cool Shaders!", - "aiFree": "AI-Free!", - "suddenDifficultySpikes": "Sudden Difficulty Spikes!", - "basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!", - "moreAddictiveThanIntended": "More Addictive than Intended!", - "mostlyConsistentSeeds": "Mostly Consistent Seeds!", - "achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!", - "youDoNotStartAtLevel": "You Do Not Start at Level 2000!", - "dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!", - "alsoTryPokengine": "Also Try Pokéngine!", - "alsoTryEmeraldRogue": "Also Try Emerald Rogue!", - "alsoTryRadicalRed": "Also Try Radical Red!", - "eeveeExpo": "Eevee Expo!", - "ynoproject": "YNOproject!", + "nowWithMoreSalt": "Jetzt mit 33% mehr Salz!", + "infiniteFusionAtHome": "Wir haben Infinite Fusionen zu Hause!", + "brokenEggMoves": "Übermächtige Ei-Attacken!", + "magnificent": "Herrlich!", + "mubstitute": "Melegator!", + "thatsCrazy": "Das ist verrückt!", + "oranceJuice": "Orangensaft!", + "questionableBalancing": "Fragwürdiges Balancing!", + "coolShaders": "Coole Shader!", + "aiFree": "Ohne KI!", + "suddenDifficultySpikes": "Plötzliche Schwierigkeitsspitzen!", + "basedOnAnUnfinishedFlashGame": "Basierend auf einem unfertigen Flash-Spiel!", + "moreAddictiveThanIntended": "Süchtig machender als beabsichtigt!", + "mostlyConsistentSeeds": "Meistens konsistente Seeds!", + "achievementPointsDontDoAnything": "Erungenschaftspunkte tun nichts!", + "youDoNotStartAtLevel": "Du startest nicht auf Level 2000!", + "dontTalkAboutTheManaphyEggIncident": "Wir reden nicht über den Manaphy-Ei-Vorfall!", + "alsoTryPokengine": "Versuche auch Pokéngine!", + "alsoTryEmeraldRogue": "Versuche auch Emerald Rogue!", + "alsoTryRadicalRed": "Versuche auch Radical Red!", + "eeveeExpo": "Evoli-Expo!", + "ynoproject": "YNO-Projekt!", } as const; \ No newline at end of file diff --git a/src/locales/de/weather.ts b/src/locales/de/weather.ts index 0c5635de736..6e40714f88f 100644 --- a/src/locales/de/weather.ts +++ b/src/locales/de/weather.ts @@ -4,41 +4,41 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; * The weather namespace holds text displayed when weather is active during a battle */ export const weather: SimpleTranslationEntries = { - "sunnyStartMessage": "Die Sonne hellt auf!", - "sunnyLapseMessage": "Die Sonne blendet.", - "sunnyClearMessage": "Die Sonne schwächt ab.", + "sunnyStartMessage": "Die Sonnenlicht wird stärker!", + "sunnyLapseMessage": "Die Sonnenlicht ist stark.", + "sunnyClearMessage": "Die Sonnenlicht verliert wieder an Intensität.", "rainStartMessage": "Es fängt an zu regnen!", - "rainLapseMessage": "Es regnet weiterhin.", - "rainClearMessage": "Es hört auf zu regnen.", + "rainLapseMessage": "Es regnet weiter.", + "rainClearMessage": "Der Regen lässt nach.", - "sandstormStartMessage": "Ein Sandsturm braut sich zusammen!", + "sandstormStartMessage": "Ein Sandsturm kommt auf!", "sandstormLapseMessage": "Der Sandsturm tobt.", - "sandstormClearMessage": "Der Sandsturm lässt nach.", - "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} ist vom\nSandsturm beeinträchtigt!", + "sandstormClearMessage": "Der Sandsturm legt sich.", + "sandstormDamageMessage": " Der Sandsturm fügt {{pokemonPrefix}}{{pokemonName}} Schaden zu!", "hailStartMessage": "Es fängt an zu hageln!", - "hailLapseMessage": "Es hagelt weiterhin.", - "hailClearMessage": "Es hört auf zu hageln.", - "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} ist vom\nHagel beeinträchtigt!", + "hailLapseMessage": "Der Hagelsturm tobt.", + "hailClearMessage": "Der Hagelsturm legt sich.", + "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} wird von Hagelkörnern getroffen!", "snowStartMessage": "Es fängt an zu schneien!", - "snowLapseMessage": "Es schneit weiterhin.", - "snowClearMessage": "Es hört auf zu schneien.", + "snowLapseMessage": "Der Schneesturm tobt.", + "snowClearMessage": "Der Schneesturm legt sich.", - "fogStartMessage": "Es fängt an zu nebeln!", - "fogLapseMessage": "Es nebelt weiterhin.", - "fogClearMessage": "Es hört auf zu nebeln.", + "fogStartMessage": "Am Boden breitet sich dichter Nebel aus!", + "fogLapseMessage": "Der Nebel bleibt dicht.", + "fogClearMessage": "Der Nebel lichtet sich.", - "heavyRainStartMessage": "Ein Starkregen beginnt!", - "heavyRainLapseMessage": "Der Starkregen hält an.", - "heavyRainClearMessage": "Der Starkregen lässt nach.", + "heavyRainStartMessage": "Es fängt an, in Strömen zu regnen!", + "heavyRainLapseMessage": "Der strömende Regen hält an.", + "heavyRainClearMessage": "Der strömende Regen lässt nach.", - "harshSunStartMessage": "Das Sonnenlicht wird wärmer!", - "harshSunLapseMessage": "Das Sonnenlicht brennt.", - "harshSunClearMessage": "Das Sonnenlicht schwächt ab.", + "harshSunStartMessage": "Das Sonnenlicht wird sehr viel stärker!", + "harshSunLapseMessage": "Das Sonnenlicht ist sehr stark.", + "harshSunClearMessage": "Das Sonnenlicht verliert an Intensität.", - "strongWindsStartMessage": "Ein starker Wind zieht auf!", - "strongWindsLapseMessage": "Der starke Wind tobt.", - "strongWindsClearMessage": "Der starke Wind legt sich." + "strongWindsStartMessage": "Alle Flug-Pokémon werden von rätselhaften Luftströmungen geschützt!", + "strongWindsLapseMessage": "Die rätselhafte Luftströmung hält an.", + "strongWindsClearMessage": "Die rätselhafte Luftströmung hat sich wieder geleget.", } From 8c21bdc0a1f76762991edaa2286a35854d4aeb13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Ricardo=20Fleury=20Oliveira?= Date: Fri, 17 May 2024 12:39:13 -0300 Subject: [PATCH 13/16] New ptBR localization (#1028) * Some translations (battle, modifier-type, trainer) * More translations and fixes * Minor fixes * finished translations * minor fix * removed tera type --- src/locales/pt_BR/ability-trigger.ts | 5 + .../pt_BR/battle-message-ui-handler.ts | 12 +- src/locales/pt_BR/battle.ts | 4 +- src/locales/pt_BR/berry.ts | 44 +- src/locales/pt_BR/config.ts | 14 +- src/locales/pt_BR/egg.ts | 21 + src/locales/pt_BR/modifier-type.ts | 494 +++++++++--------- src/locales/pt_BR/move.ts | 2 +- src/locales/pt_BR/pokeball.ts | 6 +- src/locales/pt_BR/splash-messages.ts | 37 ++ src/locales/pt_BR/trainers.ts | 62 +-- src/locales/zh_CN/config.ts | 1 + 12 files changed, 388 insertions(+), 314 deletions(-) create mode 100644 src/locales/pt_BR/ability-trigger.ts create mode 100644 src/locales/pt_BR/egg.ts create mode 100644 src/locales/pt_BR/splash-messages.ts diff --git a/src/locales/pt_BR/ability-trigger.ts b/src/locales/pt_BR/ability-trigger.ts new file mode 100644 index 00000000000..f539af8373a --- /dev/null +++ b/src/locales/pt_BR/ability-trigger.ts @@ -0,0 +1,5 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const abilityTriggers: SimpleTranslationEntries = { + 'blockRecoilDamage' : `{{abilityName}} de {{pokemonName}}\nprotegeu-o do dano de recuo!`, +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/battle-message-ui-handler.ts b/src/locales/pt_BR/battle-message-ui-handler.ts index 346f856872c..03a5b464ecb 100644 --- a/src/locales/pt_BR/battle-message-ui-handler.ts +++ b/src/locales/pt_BR/battle-message-ui-handler.ts @@ -1,10 +1,10 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battleMessageUiHandler: SimpleTranslationEntries = { - "ivBest": "Best", - "ivFantastic": "Fantastic", - "ivVeryGood": "Very Good", - "ivPrettyGood": "Pretty Good", - "ivDecent": "Decent", - "ivNoGood": "No Good", + "ivBest": "Melhor", + "ivFantastic": "Fantástico", + "ivVeryGood": "Muito Bom", + "ivPrettyGood": "Bom", + "ivDecent": "Regular", + "ivNoGood": "Ruim", } as const; \ No newline at end of file diff --git a/src/locales/pt_BR/battle.ts b/src/locales/pt_BR/battle.ts index 8d8ce72ef67..cc49abc7a7c 100644 --- a/src/locales/pt_BR/battle.ts +++ b/src/locales/pt_BR/battle.ts @@ -3,13 +3,13 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battle: SimpleTranslationEntries = { "bossAppeared": "{{bossName}} apareceu.", "trainerAppeared": "{{trainerName}}\nquer batalhar!", - "trainerAppearedDouble": "{{trainerName}}\nwould like to battle!", + "trainerAppearedDouble": "{{trainerName}}\nquerem batalhar!", "singleWildAppeared": "Um {{pokemonName}} selvagem apareceu!", "multiWildAppeared": "Um {{pokemonName1}} e um {{pokemonName2}} selvagens\napareceram!", "playerComeBack": "{{pokemonName}}, retorne!", "trainerComeBack": "{{trainerName}} retirou {{pokemonName}} da batalha!", "playerGo": "{{pokemonName}}, eu escolho você!", - "trainerGo": "{{trainerName}} enviou {{pokemonName}}!", + "trainerGo": "{{trainerName}} escolheu {{pokemonName}}!", "switchQuestion": "Quer trocar\nde {{pokemonName}}?", "trainerDefeated": "Você derrotou\n{{trainerName}}!", "pokemonCaught": "{{pokemonName}} foi capturado!", diff --git a/src/locales/pt_BR/berry.ts b/src/locales/pt_BR/berry.ts index 8c8bc5ee280..c5a9d882530 100644 --- a/src/locales/pt_BR/berry.ts +++ b/src/locales/pt_BR/berry.ts @@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n"; export const berry: BerryTranslationEntries = { "SITRUS": { - name: "Sitrus Berry", - effect: "Restores 25% HP if HP is below 50%", + name: "Fruta Sitrus", + effect: "Restaura 25% dos PS se os PS estiverem abaixo de 50%", }, "LUM": { - name: "Lum Berry", - effect: "Cures any non-volatile status condition and confusion", + name: "Fruta Lum", + effect: "Cura qualquer mudança de estado ou confusão", }, "ENIGMA": { - name: "Enigma Berry", - effect: "Restores 25% HP if hit by a super effective move", + name: "Fruta Enigma", + effect: "Restaura 25% dos PS se atingido por um golpe supereficaz", }, "LIECHI": { - name: "Liechi Berry", - effect: "Raises Attack if HP is below 25%", + name: "Fruta Liechi", + effect: "Aumenta o Ataque se os PS estiverem abaixo de 25%", }, "GANLON": { - name: "Ganlon Berry", - effect: "Raises Defense if HP is below 25%", + name: "Fruta Ganlon", + effect: "Aumenta a Defesa se os PS estiverem abaixo de 25%", }, "PETAYA": { - name: "Petaya Berry", - effect: "Raises Sp. Atk if HP is below 25%", + name: "Fruta Petaya", + effect: "Aumenta o Ataque Especial se os PS estiverem abaixo de 25%", }, "APICOT": { - name: "Apicot Berry", - effect: "Raises Sp. Def if HP is below 25%", + name: "Fruta Apicot", + effect: "Aumenta a Defesa Especial se os PS estiverem abaixo de 25%", }, "SALAC": { - name: "Salac Berry", - effect: "Raises Speed if HP is below 25%", + name: "Fruta Salac", + effect: "Aumenta a Velocidade se os PS estiverem abaixo de 25%", }, "LANSAT": { - name: "Lansat Berry", - effect: "Raises critical hit ratio if HP is below 25%", + name: "Fruta Lansat", + effect: "Aumenta a chance de acerto crítico se os PS estiverem abaixo de 25%", }, "STARF": { - name: "Starf Berry", - effect: "Sharply raises a random stat if HP is below 25%", + name: "Fruta Starf", + effect: "Aumenta drasticamente um atributo aleatório se os PS estiverem abaixo de 25%", }, "LEPPA": { - name: "Leppa Berry", - effect: "Restores 10 PP to a move if its PP reaches 0", + name: "Fruta Leppa", + effect: "Restaura 10 PP de um movimento se seus PP acabarem", }, } as const; \ No newline at end of file diff --git a/src/locales/pt_BR/config.ts b/src/locales/pt_BR/config.ts index 29d3c8b4195..457fc4c125a 100644 --- a/src/locales/pt_BR/config.ts +++ b/src/locales/pt_BR/config.ts @@ -1,6 +1,8 @@ import { ability } from "./ability"; +import { abilityTriggers } from "./ability-trigger"; import { battle } from "./battle"; import { commandUiHandler } from "./command-ui-handler"; +import { egg } from "./egg"; import { fightUiHandler } from "./fight-ui-handler"; import { growth } from "./growth"; import { menu } from "./menu"; @@ -11,16 +13,20 @@ import { nature } from "./nature"; import { pokeball } from "./pokeball"; import { pokemon } from "./pokemon"; import { pokemonInfo } from "./pokemon-info"; +import { splashMessages } from "./splash-messages"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; +import { titles, trainerClasses, trainerNames } from "./trainers"; import { tutorial } from "./tutorial"; import { weather } from "./weather"; import { berry } from "./berry"; -export const ptBrConfig = { +export const ptBrConfig = { ability: ability, + abilityTriggers: abilityTriggers, battle: battle, commandUiHandler: commandUiHandler, + egg: egg, fightUiHandler: fightUiHandler, menuUiHandler: menuUiHandler, menu: menu, @@ -29,10 +35,14 @@ export const ptBrConfig = { pokemonInfo: pokemonInfo, pokemon: pokemon, starterSelectUiHandler: starterSelectUiHandler, + titles: titles, + trainerClasses: trainerClasses, + trainerNames: trainerNames, tutorial: tutorial, + splashMessages: splashMessages, nature: nature, growth: growth, weather: weather, modifierType: modifierType, berry: berry, -} \ No newline at end of file +} diff --git a/src/locales/pt_BR/egg.ts b/src/locales/pt_BR/egg.ts new file mode 100644 index 00000000000..1d38fd5c694 --- /dev/null +++ b/src/locales/pt_BR/egg.ts @@ -0,0 +1,21 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const egg: SimpleTranslationEntries = { + "egg": "Ovo", + "greatTier": "Raro", + "ultraTier": "Épico", + "masterTier": "Lendário", + "defaultTier": "Comum", + "hatchWavesMessageSoon": "Barulhos podem ser ouvidos vindo de dentro! Vai chocar em breve!", + "hatchWavesMessageClose": "Parece se mover ocasionalmente. Pode estar perto de chocar.", + "hatchWavesMessageNotClose": "O que vai nascer disso? Não parece estar perto de chocar.", + "hatchWavesMessageLongTime": "Parece que este ovo vai demorar bastante para chocar.", + "gachaTypeLegendary": "Chance de Lendário Aumentada", + "gachaTypeMove": "Chance de Movimento de Ovo Raro Aumentada", + "gachaTypeShiny": "Chance de Shiny Aumentada", + "selectMachine": "Escolha uma máquina.", + "notEnoughVouchers": "Você não tem vouchers suficientes!", + "tooManyEggs": "Você já tem muitos ovos!", + "pull": "Prêmio", + "pulls": "Prêmios" +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/modifier-type.ts b/src/locales/pt_BR/modifier-type.ts index 31d4abbce29..1ffc6d3187f 100644 --- a/src/locales/pt_BR/modifier-type.ts +++ b/src/locales/pt_BR/modifier-type.ts @@ -4,384 +4,384 @@ export const modifierType: ModifierTypeTranslationEntries = { ModifierType: { "AddPokeballModifierType": { name: "{{modifierCount}}x {{pokeballName}}", - description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}", + description: "Ganhe x{{modifierCount}} {{pokeballName}} (Mochila: {{pokeballAmount}}) \nChance de captura: {{catchRate}}", }, "AddVoucherModifierType": { name: "{{modifierCount}}x {{voucherTypeName}}", - description: "Receive {{voucherTypeName}} x{{modifierCount}}", + description: "Ganhe x{{modifierCount}} {{voucherTypeName}}", }, "PokemonHeldItemModifierType": { extra: { - "inoperable": "{{pokemonName}} can't take\nthis item!", - "tooMany": "{{pokemonName}} has too many\nof this item!", + "inoperable": "{{pokemonName}} não pode\nsegurar esse item!", + "tooMany": "{{pokemonName}} tem muitos\nmuitos deste item!", } }, "PokemonHpRestoreModifierType": { - description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher", + description: "Restaura {{restorePoints}} PS ou {{restorePercent}}% PS de um Pokémon, o que for maior", extra: { - "fully": "Fully restores HP for one Pokémon", - "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment", + "fully": "Restaura totalmente os PS de um Pokémon", + "fullyWithStatus": "Restaura totalmente os PS de um Pokémon e cura qualquer mudança de estado", } }, "PokemonReviveModifierType": { - description: "Revives one Pokémon and restores {{restorePercent}}% HP", + description: "Reanima um Pokémon e restaura {{restorePercent}}% PS", }, "PokemonStatusHealModifierType": { - description: "Heals any status ailment for one Pokémon", + description: "Cura uma mudança de estado de um Pokémon", }, "PokemonPpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for one Pokémon move", + description: "Restaura {{restorePoints}} PP para um movimento de um Pokémon", extra: { - "fully": "Restores all PP for one Pokémon move", + "fully": "Restaura todos os PP para um movimento de um Pokémon", } }, "PokemonAllMovePpRestoreModifierType": { - description: "Restores {{restorePoints}} PP for all of one Pokémon's moves", + description: "Restaura {{restorePoints}} PP para todos os movimentos de um Pokémon", extra: { - "fully": "Restores all PP for all of one Pokémon's moves", + "fully": "Restaura todos os PP para todos os movimentos de um Pokémon", } }, "PokemonPpUpModifierType": { - description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)", + description: "Aumenta permanentemente os PP para o movimento de um Pokémon em {{upPoints}} para cada 5 PP máximos (máximo 3)", }, "PokemonNatureChangeModifierType": { name: "{{natureName}} Mint", - description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.", + description: "Muda a natureza de um Pokémon para {{natureName}} e a desbloqueia permanentemente para seu inicial", }, "DoubleBattleChanceBoosterModifierType": { - description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles", + description: "Dobra as chances de encontrar uma batalha em dupla por {{battleCount}} batalhas", }, "TempBattleStatBoosterModifierType": { - description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles", + description: "Aumenta o atributo de {{tempBattleStatName}} para todos os membros da equipe por 5 batalhas", }, "AttackTypeBoosterModifierType": { - description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%", + description: "Aumenta o poder dos ataques do tipo {{moveType}} de um Pokémon em 20%", }, "PokemonLevelIncrementModifierType": { - description: "Increases a Pokémon's level by 1", + description: "Aumenta em 1 o nível de um Pokémon", }, "AllPokemonLevelIncrementModifierType": { - description: "Increases all party members' level by 1", + description: "Aumenta em 1 os níveis de todos os Pokémon", }, "PokemonBaseStatBoosterModifierType": { - description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.", + description: "Aumenta o atributo base de {{statName}} em 10%. Quanto maior os IVs, maior o limite de aumento", }, "AllPokemonFullHpRestoreModifierType": { - description: "Restores 100% HP for all Pokémon", + description: "Restaura totalmente os PS de todos os Pokémon", }, "AllPokemonFullReviveModifierType": { - description: "Revives all fainted Pokémon, fully restoring HP", + description: "Reanima todos os Pokémon, restaurando totalmente seus PS", }, "MoneyRewardModifierType": { - description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})", + description: "Garante uma quantidade {{moneyMultiplier}} de dinheiro (₽{{moneyAmount}})", extra: { - "small": "small", - "moderate": "moderate", - "large": "large", + "small": "pequena", + "moderate": "moderada", + "large": "grande", }, }, "ExpBoosterModifierType": { - description: "Increases gain of EXP. Points by {{boostPercent}}%", + description: "Aumenta o ganho de pontos de experiência em {{boostPercent}}%", }, "PokemonExpBoosterModifierType": { - description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%", + description: "Aumenta o ganho de pontos de experiência de quem segura em {{boostPercent}}%", }, "PokemonFriendshipBoosterModifierType": { - description: "Increases friendship gain per victory by 50%", + description: "Aumenta o ganho de amizade por vitória em 50%", }, "PokemonMoveAccuracyBoosterModifierType": { - description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)", + description: "Aumenta a precisão dos movimentos em {{accuracyAmount}} (máximo 100)", }, "PokemonMultiHitModifierType": { - description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively", + description: "Ataques acertam uma vez adicional ao custo de uma redução de poder de 60/75/82.5% por item, respectivamente", }, "TmModifierType": { name: "TM{{moveId}} - {{moveName}}", - description: "Teach {{moveName}} to a Pokémon", + description: "Ensina {{moveName}} a um Pokémon", }, "EvolutionItemModifierType": { - description: "Causes certain Pokémon to evolve", + description: "Faz certos Pokémon evoluírem", }, "FormChangeItemModifierType": { - description: "Causes certain Pokémon to change form", + description: "Faz certos Pokémon mudarem de forma", }, "FusePokemonModifierType": { - description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)", + description: "Combina dois Pokémon (transfere Habilidade, divide os atributos base e tipos, compartilha os movimentos)", }, "TerastallizeModifierType": { - name: "{{teraType}} Tera Shard", - description: "{{teraType}} Terastallizes the holder for up to 10 battles", + name: "{{teraType}} Fragmento Tera", + description: "{{teraType}} Terastaliza um Pokémon por até 10 batalhas", }, "ContactHeldItemTransferChanceModifierType": { - description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen", + description: "Quando atacar, tem {{chancePercent}}% de chance de roubar um item do oponente", }, "TurnHeldItemTransferModifierType": { - description: "Every turn, the holder acquires one held item from the foe", + description: "Todo turno, o Pokémon ganha um item aleatório do oponente", }, "EnemyAttackStatusEffectChanceModifierType": { - description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves", + description: "Ganha {{chancePercent}}% de chance de infligir {{statusEffect}} com ataques", }, "EnemyEndureChanceModifierType": { - description: "Adds a {{chancePercent}}% chance of enduring a hit", + description: "Ganha {{chancePercent}}% de chance de sobreviver a um ataque que o faria desmaiar", }, - "RARE_CANDY": { name: "Rare Candy" }, - "RARER_CANDY": { name: "Rarer Candy" }, + "RARE_CANDY": { name: "Doce Raro" }, + "RARER_CANDY": { name: "Doce Raríssimo" }, - "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" }, - "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" }, - "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" }, + "MEGA_BRACELET": { name: "Mega Bracelete", description: "Mega Stones become available" }, + "DYNAMAX_BAND": { name: "Bracelete Dynamax", description: "Max Mushrooms become available" }, + "TERA_ORB": { name: "Orbe Tera", description: "Fragmentos Tera ficam disponíveis" }, - "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" }, + "MAP": { name: "Mapa", description: "Permite escolher a próxima rota" }, - "POTION": { name: "Potion" }, - "SUPER_POTION": { name: "Super Potion" }, - "HYPER_POTION": { name: "Hyper Potion" }, - "MAX_POTION": { name: "Max Potion" }, - "FULL_RESTORE": { name: "Full Restore" }, + "POTION": { name: "Poção" }, + "SUPER_POTION": { name: "Super Poção" }, + "HYPER_POTION": { name: "Hiper Poção" }, + "MAX_POTION": { name: "Poção Máxima" }, + "FULL_RESTORE": { name: "Restaurador" }, - "REVIVE": { name: "Revive" }, - "MAX_REVIVE": { name: "Max Revive" }, + "REVIVE": { name: "Reanimador" }, + "MAX_REVIVE": { name: "Reanimador Máximo" }, - "FULL_HEAL": { name: "Full Heal" }, + "FULL_HEAL": { name: "Cura Total" }, - "SACRED_ASH": { name: "Sacred Ash" }, + "SACRED_ASH": { name: "Cinza Sagrada" }, - "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" }, + "REVIVER_SEED": { name: "Semente Reanimadora", description: "Após desmaiar, reanima com 50% de PS" }, - "ETHER": { name: "Ether" }, - "MAX_ETHER": { name: "Max Ether" }, + "ETHER": { name: "Éter" }, + "MAX_ETHER": { name: "Éter Máximo" }, "ELIXIR": { name: "Elixir" }, - "MAX_ELIXIR": { name: "Max Elixir" }, + "MAX_ELIXIR": { name: "Elixir Máximo" }, - "PP_UP": { name: "PP Up" }, - "PP_MAX": { name: "PP Max" }, + "PP_UP": { name: "Mais PP" }, + "PP_MAX": { name: "PP Máximo" }, - "LURE": { name: "Lure" }, - "SUPER_LURE": { name: "Super Lure" }, - "MAX_LURE": { name: "Max Lure" }, + "LURE": { name: "Incenso" }, + "SUPER_LURE": { name: "Super Incenso" }, + "MAX_LURE": { name: "Incenso Máximo" }, - "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" }, + "MEMORY_MUSHROOM": { name: "Cogumemória", description: "Relembra um movimento esquecido" }, - "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" }, - "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" }, + "EXP_SHARE": { name: "Compart. de Exp.", description: "Distribui pontos de experiência para todos os membros da equipe" }, + "EXP_BALANCE": { name: "Balanceador de Exp.", description: "Distribui pontos de experiência principalmente para os Pokémon mais fracos" }, - "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" }, + "OVAL_CHARM": { name: "Amuleto Oval", description: "Quando vários Pokémon participam de uma batalha, cada um recebe 10% extra de pontos de experiência" }, - "EXP_CHARM": { name: "EXP. Charm" }, - "SUPER_EXP_CHARM": { name: "Super EXP. Charm" }, - "GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" }, + "EXP_CHARM": { name: "Amuleto de Exp." }, + "SUPER_EXP_CHARM": { name: "Super Amuleto de Exp." }, + "GOLDEN_EXP_CHARM": { name: "Amuleto de Exp. Dourado" }, - "LUCKY_EGG": { name: "Lucky Egg" }, - "GOLDEN_EGG": { name: "Golden Egg" }, + "LUCKY_EGG": { name: "Ovo da Sorte" }, + "GOLDEN_EGG": { name: "Ovo Dourado" }, - "SOOTHE_BELL": { name: "Soothe Bell" }, + "SOOTHE_BELL": { name: "Guizo" }, - "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" }, + "SOUL_DEW": { name: "Joia da Alma", description: "Aumenta a influência da natureza de um Pokémon em seus atributos em 10% (cumulativo)" }, - "NUGGET": { name: "Nugget" }, - "BIG_NUGGET": { name: "Big Nugget" }, - "RELIC_GOLD": { name: "Relic Gold" }, + "NUGGET": { name: "Pepita" }, + "BIG_NUGGET": { name: "Pepita Grande" }, + "RELIC_GOLD": { name: "Relíquia de Ouro" }, - "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" }, - "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" }, - "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" }, + "AMULET_COIN": { name: "Moeda Amuleto", description: "Aumenta a recompensa de dinheiro em 50%" }, + "GOLDEN_PUNCH": { name: "Soco Dourado", description: "Concede 50% do dano causado em dinheiro" }, + "COIN_CASE": { name: "Moedeira", description: "Após cada 10ª batalha, recebe 10% de seu dinheiro em juros" }, - "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" }, + "LOCK_CAPSULE": { name: "Cápsula de Travamento", description: "Permite que você trave raridades de itens ao rolar novamente" }, - "GRIP_CLAW": { name: "Grip Claw" }, - "WIDE_LENS": { name: "Wide Lens" }, + "GRIP_CLAW": { name: "Garra-Aperto" }, + "WIDE_LENS": { name: "Lente Ampla" }, - "MULTI_LENS": { name: "Multi Lens" }, + "MULTI_LENS": { name: "Multi Lentes" }, - "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" }, - "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" }, + "HEALING_CHARM": { name: "Amuleto de Cura", description: "Aumenta a eficácia dos movimentos e itens que restauram PS em 10% (exceto Reanimador)" }, + "CANDY_JAR": { name: "Pote de Doces", description: "Aumenta o número de níveis adicionados pelo Doce Raro em 1" }, - "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" }, + "BERRY_POUCH": { name: "Bolsa de Berries", description: "Adiciona uma chance de 25% de que uma berry usada não seja consumida" }, - "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" }, + "FOCUS_BAND": { name: "Bandana", description: "Adiciona uma chance de 10% de sobreviver com 1 PS após ser danificado o suficiente para desmaiar" }, - "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" }, + "QUICK_CLAW": { name: "Garra Rápida", description: "Adiciona uma chance de 10% de atacar primeiro, ignorando sua velocidade (após prioridades)" }, - "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" }, + "KINGS_ROCK": { name: "Pedra do Rei", description: "Adiciona uma chance de 10% de movimentos fazerem o oponente hesitar" }, - "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" }, - "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" }, + "LEFTOVERS": { name: "Sobras", description: "Cura 1/16 dos PS máximos de um Pokémon a cada turno" }, + "SHELL_BELL": { name: "Concha-Sino", description: "Cura 1/8 do dano causado por um Pokémon" }, - "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" }, + "BATON": { name: "Bastão", description: "Permite passar mudanças de atributo ao trocar Pokémon, ignorando armadilhas" }, - "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" }, - "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" }, + "SHINY_CHARM": { name: "Amuleto Brilhante", description: "Aumenta drasticamente a chance de um Pokémon selvagem ser Shiny" }, + "ABILITY_CHARM": { name: "Amuleto de Habilidade", description: "Aumenta drasticamente a chance de um Pokémon selvagem ter uma Habilidade Oculta" }, - "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" }, + "IV_SCANNER": { name: "Scanner de IVs", description: "Permite escanear os IVs de Pokémon selvagens. 2 IVs são revelados por item. Os melhores IVs são mostrados primeiro" }, - "DNA_SPLICERS": { name: "DNA Splicers" }, + "DNA_SPLICERS": { name: "Splicer de DNA" }, - "MINI_BLACK_HOLE": { name: "Mini Black Hole" }, + "MINI_BLACK_HOLE": { name: "Mini Buraco Negro" }, - "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" }, + "GOLDEN_POKEBALL": { name: "Poké Bola Dourada", description: "Adiciona 1 opção de item extra ao final de cada batalha" }, - "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" }, - "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" }, - "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" }, - "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" }, - "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" }, - "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" }, - "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" }, - "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" }, - "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" }, - "ENEMY_ENDURE_CHANCE": { name: "Endure Token" }, - "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" }, + "ENEMY_DAMAGE_BOOSTER": { name: "Token de Dano", description: "Aumenta o dano em 5%" }, + "ENEMY_DAMAGE_REDUCTION": { name: "Token de Proteção", description: "Reduz o dano recebido em 2,5%" }, + "ENEMY_HEAL": { name: "Token de Recuperação", description: "Cura 2% dos PS máximos a cada turno" }, + "ENEMY_ATTACK_POISON_CHANCE": { name: "Token de Veneno" }, + "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Token de Paralisia" }, + "ENEMY_ATTACK_SLEEP_CHANCE": { name: "Token de Sono" }, + "ENEMY_ATTACK_FREEZE_CHANCE": { name: "Token de Congelamento" }, + "ENEMY_ATTACK_BURN_CHANCE": { name: "Token de Queimadura" }, + "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Token de Cura Total", description: "Adiciona uma chance de 10% a cada turno de curar uma condição de status" }, + "ENEMY_ENDURE_CHANCE": { name: "Token de Persistência" }, + "ENEMY_FUSED_CHANCE": { name: "Token de Fusão", description: "Adiciona uma chance de 1% de que um Pokémon selvagem seja uma fusão" }, }, TempBattleStatBoosterItem: { - "x_attack": "X Attack", - "x_defense": "X Defense", - "x_sp_atk": "X Sp. Atk", - "x_sp_def": "X Sp. Def", - "x_speed": "X Speed", - "x_accuracy": "X Accuracy", - "dire_hit": "Dire Hit", + "x_attack": "Ataque X", + "x_defense": "Defesa X", + "x_sp_atk": "Ataque Esp. X", + "x_sp_def": "Defesa Esp. X", + "x_speed": "Velocidade X", + "x_accuracy": "Precisão X", + "dire_hit": "Direto", }, AttackTypeBoosterItem: { - "silk_scarf": "Silk Scarf", - "black_belt": "Black Belt", - "sharp_beak": "Sharp Beak", - "poison_barb": "Poison Barb", - "soft_sand": "Soft Sand", - "hard_stone": "Hard Stone", - "silver_powder": "Silver Powder", - "spell_tag": "Spell Tag", - "metal_coat": "Metal Coat", - "charcoal": "Charcoal", - "mystic_water": "Mystic Water", - "miracle_seed": "Miracle Seed", - "magnet": "Magnet", - "twisted_spoon": "Twisted Spoon", - "never_melt_ice": "Never-Melt Ice", - "dragon_fang": "Dragon Fang", - "black_glasses": "Black Glasses", - "fairy_feather": "Fairy Feather", + "silk_scarf": "Lenço de Seda", + "black_belt": "Faixa Preta", + "sharp_beak": "Bico Afiado", + "poison_barb": "Farpa Venenosa", + "soft_sand": "Areia Macia", + "hard_stone": "Pedra Dura", + "silver_powder": "Pó de Prata", + "spell_tag": "Talismã de Feitiço", + "metal_coat": "Revestimento Metálico", + "charcoal": "Carvão", + "mystic_water": "Água Mística", + "miracle_seed": "Semente Milagrosa", + "magnet": "Ímã", + "twisted_spoon": "Colher Torcida", + "never_melt_ice": "Gelo Eterno", + "dragon_fang": "Presa de Dragão", + "black_glasses": "Óculos Escuros", + "fairy_feather": "Pena de Fada", }, BaseStatBoosterItem: { - "hp_up": "HP Up", - "protein": "Protein", - "iron": "Iron", - "calcium": "Calcium", - "zinc": "Zinc", - "carbos": "Carbos", + "hp_up": "Mais PS", + "protein": "Proteína", + "iron": "Ferro", + "calcium": "Cálcio", + "zinc": "Zinco", + "carbos": "Carboidrato", }, EvolutionItem: { "NONE": "None", - "LINKING_CORD": "Linking Cord", - "SUN_STONE": "Sun Stone", - "MOON_STONE": "Moon Stone", - "LEAF_STONE": "Leaf Stone", - "FIRE_STONE": "Fire Stone", - "WATER_STONE": "Water Stone", - "THUNDER_STONE": "Thunder Stone", - "ICE_STONE": "Ice Stone", - "DUSK_STONE": "Dusk Stone", - "DAWN_STONE": "Dawn Stone", - "SHINY_STONE": "Shiny Stone", - "CRACKED_POT": "Cracked Pot", - "SWEET_APPLE": "Sweet Apple", - "TART_APPLE": "Tart Apple", - "STRAWBERRY_SWEET": "Strawberry Sweet", - "UNREMARKABLE_TEACUP": "Unremarkable Teacup", + "LINKING_CORD": "Cabo de Conexão", + "SUN_STONE": "Pedra do Sol", + "MOON_STONE": "Pedra da Lua", + "LEAF_STONE": "Pedra da Folha", + "FIRE_STONE": "Pedra do Fogo", + "WATER_STONE": "Pedra da Água", + "THUNDER_STONE": "Pedra do Trovão", + "ICE_STONE": "Pedra do Gelo", + "DUSK_STONE": "Pedra do Crepúsculo", + "DAWN_STONE": "Pedra da Alvorada", + "SHINY_STONE": "Pedra Brilhante", + "CRACKED_POT": "Vaso Quebrado", + "SWEET_APPLE": "Maçã Doce", + "TART_APPLE": "Maçã Azeda", + "STRAWBERRY_SWEET": "Doce de Morango", + "UNREMARKABLE_TEACUP": "Xícara Comum", - "CHIPPED_POT": "Chipped Pot", - "BLACK_AUGURITE": "Black Augurite", - "GALARICA_CUFF": "Galarica Cuff", - "GALARICA_WREATH": "Galarica Wreath", - "PEAT_BLOCK": "Peat Block", - "AUSPICIOUS_ARMOR": "Auspicious Armor", - "MALICIOUS_ARMOR": "Malicious Armor", - "MASTERPIECE_TEACUP": "Masterpiece Teacup", - "METAL_ALLOY": "Metal Alloy", - "SCROLL_OF_DARKNESS": "Scroll Of Darkness", - "SCROLL_OF_WATERS": "Scroll Of Waters", - "SYRUPY_APPLE": "Syrupy Apple", + "CHIPPED_POT": "Pote Lascado", + "BLACK_AUGURITE": "Mineral Negro", + "GALARICA_CUFF": "Bracelete de Galar", + "GALARICA_WREATH": "Coroa de Galar", + "PEAT_BLOCK": "Bloco de Turfa", + "AUSPICIOUS_ARMOR": "Armadura Prometida", + "MALICIOUS_ARMOR": "Armadura Maldita", + "MASTERPIECE_TEACUP": "Xícara Excepcional", + "METAL_ALLOY": "Liga de Metal", + "SCROLL_OF_DARKNESS": "Pergaminho da Escuridão", + "SCROLL_OF_WATERS": "Pergaminho da Água", + "SYRUPY_APPLE": "Xarope de Maçã", }, FormChangeItem: { "NONE": "None", - "ABOMASITE": "Abomasite", - "ABSOLITE": "Absolite", - "AERODACTYLITE": "Aerodactylite", - "AGGRONITE": "Aggronite", - "ALAKAZITE": "Alakazite", - "ALTARIANITE": "Altarianite", - "AMPHAROSITE": "Ampharosite", - "AUDINITE": "Audinite", - "BANETTITE": "Banettite", - "BEEDRILLITE": "Beedrillite", - "BLASTOISINITE": "Blastoisinite", - "BLAZIKENITE": "Blazikenite", - "CAMERUPTITE": "Cameruptite", - "CHARIZARDITE_X": "Charizardite X", - "CHARIZARDITE_Y": "Charizardite Y", - "DIANCITE": "Diancite", - "GALLADITE": "Galladite", - "GARCHOMPITE": "Garchompite", - "GARDEVOIRITE": "Gardevoirite", - "GENGARITE": "Gengarite", - "GLALITITE": "Glalitite", - "GYARADOSITE": "Gyaradosite", - "HERACRONITE": "Heracronite", - "HOUNDOOMINITE": "Houndoominite", - "KANGASKHANITE": "Kangaskhanite", - "LATIASITE": "Latiasite", - "LATIOSITE": "Latiosite", - "LOPUNNITE": "Lopunnite", - "LUCARIONITE": "Lucarionite", - "MANECTITE": "Manectite", - "MAWILITE": "Mawilite", - "MEDICHAMITE": "Medichamite", - "METAGROSSITE": "Metagrossite", - "MEWTWONITE_X": "Mewtwonite X", - "MEWTWONITE_Y": "Mewtwonite Y", - "PIDGEOTITE": "Pidgeotite", - "PINSIRITE": "Pinsirite", - "RAYQUAZITE": "Rayquazite", - "SABLENITE": "Sablenite", - "SALAMENCITE": "Salamencite", - "SCEPTILITE": "Sceptilite", - "SCIZORITE": "Scizorite", - "SHARPEDONITE": "Sharpedonite", - "SLOWBRONITE": "Slowbronite", - "STEELIXITE": "Steelixite", - "SWAMPERTITE": "Swampertite", - "TYRANITARITE": "Tyranitarite", - "VENUSAURITE": "Venusaurite", + "ABOMASITE": "Abomasita", + "ABSOLITE": "Absolita", + "AERODACTYLITE": "Aerodactylita", + "AGGRONITE": "Aggronita", + "ALAKAZITE": "Alakazita", + "ALTARIANITE": "Altarianita", + "AMPHAROSITE": "Ampharosita", + "AUDINITE": "Audinita", + "BANETTITE": "Banettita", + "BEEDRILLITE": "Beedrillita", + "BLASTOISINITE": "Blastoisinita", + "BLAZIKENITE": "Blazikenita", + "CAMERUPTITE": "Cameruptita", + "CHARIZARDITE X": "Charizardita X", + "CHARIZARDITE Y": "Charizardita Y", + "DIANCITE": "Diancita", + "GALLADITE": "Galladita", + "GARCHOMPITE": "Garchompita", + "GARDEVOIRITE": "Gardevoirita", + "GENGARITE": "Gengarita", + "GLALITITE": "Glalitita", + "GYARADOSITE": "Gyaradosita", + "HERACRONITE": "Heracronita", + "HOUNDOOMINITE": "Houndoominita", + "KANGASKHANITE": "Kangaskhanita", + "LATIASITE": "Latiasita", + "LATIOSITE": "Latiosita", + "LOPUNNITE": "Lopunnita", + "LUCARIONITE": "Lucarionita", + "MANECTITE": "Manectita", + "MAWILITE": "Mawilita", + "MEDICHAMITE": "Medichamita", + "METAGROSSITE": "Metagrossita", + "MEWTWONITE X": "Mewtwonita X", + "MEWTWONITE Y": "Mewtwonita Y", + "PIDGEOTITE": "Pidgeotita", + "PINSIRITE": "Pinsirita", + "SABLENITE": "Sablenita", + "RAYQUAZITE": "Rayquazita", + "SALAMENCITE": "Salamencita", + "SCEPTILITE": "Sceptilita", + "SCIZORITE": "Scizorita", + "SHARPEDONITE": "Sharpedonita", + "SLOWBRONITE": "Slowbronita", + "STEELIXITE": "Steelixita", + "SWAMPERTITE": "Swampertita", + "TYRANITARITE": "Tyranitarita", + "VENUSAURITE": "Venusaurita", - "BLUE_ORB": "Blue Orb", - "RED_ORB": "Red Orb", - "SHARP_METEORITE": "Sharp Meteorite", - "HARD_METEORITE": "Hard Meteorite", - "SMOOTH_METEORITE": "Smooth Meteorite", - "ADAMANT_CRYSTAL": "Adamant Crystal", - "LUSTROUS_ORB": "Lustrous Orb", - "GRISEOUS_CORE": "Griseous Core", - "REVEAL_GLASS": "Reveal Glass", - "GRACIDEA": "Gracidea", - "MAX_MUSHROOMS": "Max Mushrooms", - "DARK_STONE": "Dark Stone", - "LIGHT_STONE": "Light Stone", - "PRISON_BOTTLE": "Prison Bottle", - "N_LUNARIZER": "N Lunarizer", - "N_SOLARIZER": "N Solarizer", - "RUSTED_SWORD": "Rusted Sword", - "RUSTED_SHIELD": "Rusted Shield", - "ICY_REINS_OF_UNITY": "Icy Reins Of Unity", - "SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity", - "WELLSPRING_MASK": "Wellspring Mask", - "HEARTHFLAME_MASK": "Hearthflame Mask", - "CORNERSTONE_MASK": "Cornerstone Mask", - "SHOCK_DRIVE": "Shock Drive", - "BURN_DRIVE": "Burn Drive", - "CHILL_DRIVE": "Chill Drive", - "DOUSE_DRIVE": "Douse Drive", + "BLUE_ORB": "Orbe Azul", + "RED_ORB": "Orbe Vermelha", + "SHARP_METEORITE": "Meteorito Afiado", + "HARD_METEORITE": "Meteorito Duro", + "SMOOTH_METEORITE": " Meteorito Liso", + "ADAMANT_CRYSTAL": "Cristal Adamante", + "LUSTROUS_ORB": "Orbe Pérola", + "GRISEOUS_CORE": "Núcleo Platinado", + "REVEAL_GLASS": "Espelho da Verdade", + "GRACIDEA": "Gracídea", + "MAX_MUSHROOMS": "Cogumax", + "DARK_STONE": "Pedra das Trevas", + "LIGHT_STONE": "Pedra da Luz", + "PRISON_BOTTLE": "Garrafa Prisão", + "N_LUNARIZER": "Lunarizador N", + "N_SOLARIZER": "Solarizador N", + "RUSTED_SWORD": "Espada Enferrujada", + "RUSTED_SHIELD": "Escudo Enferrujado", + "ICY_REINS_OF_UNITY": "Rédeas de Gelo da União", + "SHADOW_REINS_OF_UNITY": "Rédeas Sombrias da União", + "WELLSPRING_MASK": "Máscara Nascente", + "HEARTHFLAME_MASK": "Máscara Fornalha", + "CORNERSTONE_MASK": "Máscara Alicerce", + "SHOCK_DRIVE": "MagneDisco", + "BURN_DRIVE": "IgneDisco", + "CHILL_DRIVE": "CrioDisco", + "DOUSE_DRIVE": "HidroDisco", }, } as const; \ No newline at end of file diff --git a/src/locales/pt_BR/move.ts b/src/locales/pt_BR/move.ts index 97f24efee37..ce55b5264ec 100644 --- a/src/locales/pt_BR/move.ts +++ b/src/locales/pt_BR/move.ts @@ -3583,7 +3583,7 @@ export const move: MoveTranslationEntries = { }, "revivalBlessing": { name: "Revival Blessing", - effect: "O usuário concede uma bênção amorosa, revivendo um Pokémon da equipe que tenha desmaiado e restaurando metade do máximo de PS desse Pokémon." + effect: "O usuário concede uma bênção amorosa, reanimando um Pokémon da equipe que tenha desmaiado e restaurando metade do máximo de PS desse Pokémon." }, "saltCure": { name: "Salt Cure", diff --git a/src/locales/pt_BR/pokeball.ts b/src/locales/pt_BR/pokeball.ts index 26624d87134..c93af437ba2 100644 --- a/src/locales/pt_BR/pokeball.ts +++ b/src/locales/pt_BR/pokeball.ts @@ -4,7 +4,7 @@ export const pokeball: SimpleTranslationEntries = { "pokeBall": "Poké Bola", "greatBall": "Grande Bola", "ultraBall": "Ultra Bola", - "rogueBall": "Rogue Bola", - "masterBall": "Master Bola", - "luxuryBall": "Bola de Luxo", + "rogueBall": "Bola Rogue", + "masterBall": "Bole Mestra", + "luxuryBall": "Bola Luxo", } as const; \ No newline at end of file diff --git a/src/locales/pt_BR/splash-messages.ts b/src/locales/pt_BR/splash-messages.ts new file mode 100644 index 00000000000..85c11300a9f --- /dev/null +++ b/src/locales/pt_BR/splash-messages.ts @@ -0,0 +1,37 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +export const splashMessages: SimpleTranslationEntries = { + "battlesWon": "Batalhas Ganhas!", + "joinTheDiscord": "Junte-se ao Discord!", + "infiniteLevels": "Níveis Infinitos!", + "everythingStacks": "Tudo Acumula!", + "optionalSaveScumming": "Você Pode Dar F5!", + "biomes": "35 Biomas!", + "openSource": "Código Aberto!", + "playWithSpeed": "Jogue na Velocidade 5x!", + "liveBugTesting": "Testamos os Bugs Ao Vivo!", + "heavyInfluence": "Grande Influência de RoR2!", + "pokemonRiskAndPokemonRain": "Pokémon Risk e Pokémon Rain!", + "nowWithMoreSalt": "O Choro é Livre!", + "infiniteFusionAtHome": "Infinite Fusion da Shopee!", + "brokenEggMoves": "Mov. de Ovo Apelões!", + "magnificent": "Magnífico!", + "mubstitute": "Mubstituto!", + "thatsCrazy": "Que Doidera!", + "oranceJuice": "Suco de Laranja!", + "questionableBalancing": "Balanceamento Questionável!", + "coolShaders": "Shader Maneiros!", + "aiFree": "Livre de IA!", + "suddenDifficultySpikes": "Ficou Difícil do Nada!", + "basedOnAnUnfinishedFlashGame": "Baseado num Jogo Online Inacabado!", + "moreAddictiveThanIntended": "Mais Viciante do que Planejado!", + "mostlyConsistentSeeds": "Consistente (na Maioria das Vezes)!", + "achievementPointsDontDoAnything": "Pontos de Conquista Não Fazem Nada!", + "youDoNotStartAtLevel": "Você Não Começa no Nível 2000!", + "dontTalkAboutTheManaphyEggIncident": "Não Fale do Incidente do Ovo de Manaphy!", + "alsoTryPokengine": "Também Jogue Pokéngine!", + "alsoTryEmeraldRogue": "Também Jogue Emerald Rogue!", + "alsoTryRadicalRed": "Também Jogue Radical Red!", + "eeveeExpo": "Eevee Expo!", + "ynoproject": "YNOproject!", +} as const; \ No newline at end of file diff --git a/src/locales/pt_BR/trainers.ts b/src/locales/pt_BR/trainers.ts index af6393bce8e..baf796a34db 100644 --- a/src/locales/pt_BR/trainers.ts +++ b/src/locales/pt_BR/trainers.ts @@ -16,10 +16,10 @@ export const titles: SimpleTranslationEntries = { export const trainerClasses: SimpleTranslationEntries = { "ace_trainer": "Trinador Ás", "ace_trainer_female": "Trinadora Ás", - "ace_duo": "Ace Duo", + "ace_duo": "Dupla Ás", "artist": "Artista", "artist_female": "Artista", - "backpackers": "Backpackers", + "backpackers": "Mochileiros", "backers": "Torcedores", "backpacker": "Mochileiro", "backpacker_female": "Mochileira", @@ -31,36 +31,36 @@ export const trainerClasses: SimpleTranslationEntries = { "black_belt": "Faixa Preta", "breeder": "Criador", "breeder_female": "Criadora", - "breeders": "Breeders", + "breeders": "Criadores", "clerk": "Funcionário", "clerk_female": "Funcionária", - "colleagues": "Colleagues", - "crush_kin": "Crush Kin", + "colleagues": "Funcionários", + "crush_kin": "Casal Lutador", "cyclist": "Ciclista", "cyclist_female": "Ciclista", - "cyclists": "Cyclists", + "cyclists": "Ciclistas", "dancer": "Dançarino", "dancer_female": "Dançarina", "depot_agent": "Ferroviário", "doctor": "Doutor", "doctor_female": "Doutora", - "fisherman": "Pescador", - "fisherman_female": "Pescadora", - "gentleman": "Gentleman", + "fishermen": "Pescador", + "fishermen_female": "Pescadora", + "gentleman": "Cavalheiro", "guitarist": "Guitarrista", "guitarist_female": "Guitarrista", "harlequin": "Arlequim", "hiker": "Montanhista", "hooligans": "Bandoleiro", - "hoopster": "Jogador de basquete", - "infielder": "Jogador de baseball", + "hoopster": "Jogador de Basquete", + "infielder": "Jogador de Baseball", "janitor": "Faxineiro", "lady": "Dama", "lass": "Senhorita", "linebacker": "Zagueiro", "maid": "Doméstica", "madame": "Madame", - "medical_team": "Medical Team", + "medical_team": "Equipe Médica", "musician": "Músico", "hex_maniac": "Ocultista", "nurse": "Enfermeira", @@ -68,48 +68,48 @@ export const trainerClasses: SimpleTranslationEntries = { "officer": "Policial", "parasol_lady": "Moça de Sombrinha", "pilot": "Piloto", - "pokefan": "Pokefã", - "pokefan_family": "Poké Fan Family", + "poké_fan": "Pokefã", + "poké_fan_family": "Família Pokefã", "preschooler": "Menino do Prezinho", "preschooler_female": "Menina do Prezinho", - "preschoolers": "Preschoolers", + "preschoolers": "Alunos do Prezinho", "psychic": "Médium", "psychic_female": "Médium", - "psychics": "Psychics", - "pokémon_ranger": "Pokémon Ranger", - "pokémon_rangers": "Pokémon Ranger", + "psychics": "Médiuns", + "pokémon_ranger": "Guarda Pokémon", + "pokémon_rangers": "Guardas Pokémon", "ranger": "Guarda", - "restaurant_staff": "Restaurant Staff", - "rich": "Rich", - "rich_female": "Rich", - "rich_boy": "Rich Boy", - "rich_couple": "Rich Couple", - "rich_kid": "Rich Kid", - "rich_kid_female": "Rich Kid", - "rich_kids": "Rich Kids", + "restaurant_staff": "Equipe do Restaurante", + "rich": "Burguês", + "rich_female": "Burguesa", + "rich_boy": "Riquinho", + "rich_couple": "Casal Burguês", + "rich_kid": "Garoto Rico", + "rich_kid_female": "Garota Rica", + "rich_kids": "Garotos Ricos", "roughneck": "Arruaceiro", "scientist": "Cientista", "scientist_female": "Cientista", - "scientists": "Scientists", + "scientists": "Cientistas", "smasher": "Tenista", "snow_worker": "Operário da Neve", "snow_worker_female": "Operária da Neve", "striker": "Atacante", "school_kid": "Estudante", "school_kid_female": "Estudante", - "school_kids": "School Kids", + "school_kids": "Estudantes", "swimmer": "Nadador", "swimmer_female": "Nadadora", - "swimmers": "Swimmers", + "swimmers": "Nadadores", "twins": "Gêmeos", "veteran": "Veterano", "veteran_female": "Veterana", - "veteran_duo": "Veteran Duo", + "veteran_duo": "Dupla Veterana", "waiter": "Garçom", "waitress": "Garçonete", "worker": "Operário", "worker_female": "Operária", - "workers": "Workers", + "workers": "Operários", "youngster": "Jovem", } as const; diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index cfdc7ab0d18..10fe2bc884e 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -21,6 +21,7 @@ import { weather } from "./weather"; import { battleMessageUiHandler } from "./battle-message-ui-handler"; import { berry } from "./berry"; + export const zhCnConfig = { ability: ability, abilityTriggers: abilityTriggers, From a2299ee0557b673ad588c0cf2cdbaa9b4395c2cb Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Fri, 17 May 2024 18:43:38 +0200 Subject: [PATCH 14/16] Update Italian trainers.ts (#1037) --- src/locales/it/trainers.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/locales/it/trainers.ts b/src/locales/it/trainers.ts index 443718693ca..32488a845ba 100644 --- a/src/locales/it/trainers.ts +++ b/src/locales/it/trainers.ts @@ -2,13 +2,13 @@ import {SimpleTranslationEntries} from "#app/plugins/i18n"; // Titles of special trainers like gym leaders, elite four, and the champion export const titles: SimpleTranslationEntries = { - "elite_four": "Elite Four", - "gym_leader": "Gym Leader", - "gym_leader_female": "Gym Leader", - "champion": "Champion", - "rival": "Rival", - "professor": "Professor", - "frontier_brain": "Frontier Brain", + "elite_four": "Superquattro", + "gym_leader": "Capopalestra", + "gym_leader_female": "Capopalestra", + "champion": "Campione", + "rival": "Rivale", + "professor": "Professore", + "frontier_brain": "Asso Lotta", // Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc. } as const; From d2a8c4a150a3f3521618e06c3698afbbc5d8d26a Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Fri, 17 May 2024 18:58:47 +0200 Subject: [PATCH 15/16] Update Italian berry.ts (#1039) --- src/locales/it/berry.ts | 44 ++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/locales/it/berry.ts b/src/locales/it/berry.ts index 8c8bc5ee280..27a30438a59 100644 --- a/src/locales/it/berry.ts +++ b/src/locales/it/berry.ts @@ -2,47 +2,47 @@ import { BerryTranslationEntries } from "#app/plugins/i18n"; export const berry: BerryTranslationEntries = { "SITRUS": { - name: "Sitrus Berry", - effect: "Restores 25% HP if HP is below 50%", + name: "Baccacedro", + effect: "Restituisce il 25% dei PS se i PS sono sotto il 50%", }, "LUM": { - name: "Lum Berry", - effect: "Cures any non-volatile status condition and confusion", + name: "Baccaprugna", + effect: "Se tenuta da un Pokémon risolve qualsiasi problema di stato", }, "ENIGMA": { - name: "Enigma Berry", - effect: "Restores 25% HP if hit by a super effective move", + name: "Baccaenigma", + effect: "Restituisce il 25% dei PS se viene colpito da una mossa superefficace", }, "LIECHI": { - name: "Liechi Berry", - effect: "Raises Attack if HP is below 25%", + name: "Baccalici", + effect: "Aumenta l'Attacco se i PS sono sotto il 25%", }, "GANLON": { - name: "Ganlon Berry", - effect: "Raises Defense if HP is below 25%", + name: "Baccalongan", + effect: "Aumenta la Difesa se i PS sono sotto il 25%", }, "PETAYA": { - name: "Petaya Berry", - effect: "Raises Sp. Atk if HP is below 25%", + name: "Baccapitaya", + effect: "Aumenta l'Attacco Speciale se i PS sono sotto il 25%", }, "APICOT": { - name: "Apicot Berry", - effect: "Raises Sp. Def if HP is below 25%", + name: "Baccacocca", + effect: "Aumenta la Difesa Speciale se i PS sono sotto il 25%", }, "SALAC": { - name: "Salac Berry", - effect: "Raises Speed if HP is below 25%", + name: "Baccasalak", + effect: "Aumenta la Velocità se i PS sono sotto il 25%", }, "LANSAT": { - name: "Lansat Berry", - effect: "Raises critical hit ratio if HP is below 25%", + name: "Baccalangsa", + effect: "Aumenta la probabilità di Colpo Critico se i PS sono sotto il 25%", }, "STARF": { - name: "Starf Berry", - effect: "Sharply raises a random stat if HP is below 25%", + name: "Baccambola", + effect: "Aumenta drasticamente una statistica casuale se i PS sono sotto il 25%", }, "LEPPA": { - name: "Leppa Berry", - effect: "Restores 10 PP to a move if its PP reaches 0", + name: "Baccamela", + effect: "Ripristina 10 PP a una mossa se i suoi PP raggiungono lo 0", }, } as const; \ No newline at end of file From b55fb8db371d2ba225efc3288b23dbc9ff8db77d Mon Sep 17 00:00:00 2001 From: Alessandro Bruzzese <69127023+Bruzzii@users.noreply.github.com> Date: Fri, 17 May 2024 19:02:51 +0200 Subject: [PATCH 16/16] Update Italian battle-message-ui-handler.ts (#1040) --- src/locales/it/battle-message-ui-handler.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/locales/it/battle-message-ui-handler.ts b/src/locales/it/battle-message-ui-handler.ts index 346f856872c..917de48fd5e 100644 --- a/src/locales/it/battle-message-ui-handler.ts +++ b/src/locales/it/battle-message-ui-handler.ts @@ -1,10 +1,10 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; export const battleMessageUiHandler: SimpleTranslationEntries = { - "ivBest": "Best", - "ivFantastic": "Fantastic", - "ivVeryGood": "Very Good", - "ivPrettyGood": "Pretty Good", - "ivDecent": "Decent", - "ivNoGood": "No Good", + "ivBest": "Stellare", + "ivFantastic": "Eccellente", + "ivVeryGood": "Notevole", + "ivPrettyGood": "Normale", + "ivDecent": "Sufficiente", + "ivNoGood": "Mediocre", } as const; \ No newline at end of file