From 44c0d29c1d7b070f61ed9961e556f25c8dd78ff9 Mon Sep 17 00:00:00 2001 From: Adrian Torrano <68144167+torranx@users.noreply.github.com> Date: Thu, 16 May 2024 00:42:34 +0800 Subject: [PATCH 1/3] Add missing translation for learning move (#879) * add missing translation for learn move * fix countdown german translation * Fix countdown French translation --------- Co-authored-by: Lugiad --- src/locales/de/battle.ts | 2 ++ src/locales/en/battle.ts | 2 ++ src/locales/es/battle.ts | 2 ++ src/locales/fr/battle.ts | 2 ++ src/locales/it/battle.ts | 2 ++ src/locales/pt_BR/battle.ts | 2 ++ src/locales/zh_CN/battle.ts | 2 ++ src/phases.ts | 4 ++-- 8 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/locales/de/battle.ts b/src/locales/de/battle.ts index 1dc7b68fd..e0aa20b6c 100644 --- a/src/locales/de/battle.ts +++ b/src/locales/de/battle.ts @@ -31,6 +31,8 @@ export const battle: SimpleTranslationEntries = { "learnMoveNotLearned": "{{pokemonName}} hat\n{{moveName}} nicht erlernt.", "learnMoveForgetQuestion": "Welche Attacke soll vergessen werden?", "learnMoveForgetSuccess": "{{pokemonName}} hat\n{{moveName}} vergessen.", + "countdownPoof": "@d{32}Eins, @d{15}zwei @d{15}und@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}schwupp!", + "learnMoveAnd": "Und…", "levelCapUp": "Das Levellimit\nhat sich zu {{levelCap}} erhöht!", "moveNotImplemented": "{{moveName}} ist noch nicht implementiert und kann nicht ausgewählt werden.", "moveNoPP": "Es sind keine AP für\ndiese Attacke mehr übrig!", diff --git a/src/locales/en/battle.ts b/src/locales/en/battle.ts index 7c948e6f0..0162f2922 100644 --- a/src/locales/en/battle.ts +++ b/src/locales/en/battle.ts @@ -31,6 +31,8 @@ export const battle: SimpleTranslationEntries = { "learnMoveNotLearned": "{{pokemonName}} did not learn the\nmove {{moveName}}.", "learnMoveForgetQuestion": "Which move should be forgotten?", "learnMoveForgetSuccess": "{{pokemonName}} forgot how to\nuse {{moveName}}.", + "countdownPoof": "@d{32}1, @d{15}2, and@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}Poof!", + "learnMoveAnd": "And…", "levelCapUp": "The level cap\nhas increased to {{levelCap}}!", "moveNotImplemented": "{{moveName}} is not yet implemented and cannot be selected.", "moveNoPP": "There's no PP left for\nthis move!", diff --git a/src/locales/es/battle.ts b/src/locales/es/battle.ts index 6fdcf4fbc..76a73142a 100644 --- a/src/locales/es/battle.ts +++ b/src/locales/es/battle.ts @@ -31,6 +31,8 @@ export const battle: SimpleTranslationEntries = { "learnMoveNotLearned": "{{pokemonName}} no ha aprendido {{moveName}}.", "learnMoveForgetQuestion": "¿Qué movimiento quieres que olvide?", "learnMoveForgetSuccess": "{{pokemonName}} ha olvidado cómo utilizar {{moveName}}.", + "countdownPoof": "@d{32}1, @d{15}2, @d{15}y@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}¡Puf!", + "learnMoveAnd": "Y…", "levelCapUp": "¡Se ha incrementado el\nnivel máximo a {{levelCap}}!", "moveNotImplemented": "{{moveName}} aún no está implementado y no se puede seleccionar.", "moveNoPP": "There's no PP left for\nthis move!", diff --git a/src/locales/fr/battle.ts b/src/locales/fr/battle.ts index e34902b8c..a76cc9cde 100644 --- a/src/locales/fr/battle.ts +++ b/src/locales/fr/battle.ts @@ -31,6 +31,8 @@ export const battle: SimpleTranslationEntries = { "learnMoveNotLearned": "{{pokemonName}} n’a pas appris\n{{moveName}}.", "learnMoveForgetQuestion": "Quelle capacité doit être oubliée ?", "learnMoveForgetSuccess": "{{pokemonName}} oublie comment\nutiliser {{moveName}}.", + "countdownPoof": "@d{32}1, @d{15}2, @d{15}et@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}Tadaaa !", + "learnMoveAnd": "Et…", "levelCapUp": "La limite de niveau\na été augmentée à {{levelCap}} !", "moveNotImplemented": "{{moveName}} n’est pas encore implémenté et ne peut pas être sélectionné.", "moveNoPP": "Il n’y a plus de PP pour\ncette capacité !", diff --git a/src/locales/it/battle.ts b/src/locales/it/battle.ts index a3cffaa60..702ec0708 100644 --- a/src/locales/it/battle.ts +++ b/src/locales/it/battle.ts @@ -31,6 +31,8 @@ export const battle: SimpleTranslationEntries = { "learnMoveNotLearned": "{{pokemonName}} non ha imparato\n{{moveName}}.", "learnMoveForgetQuestion": "Quale mossa deve dimenticare?", "learnMoveForgetSuccess": "{{pokemonName}} ha dimenticato la mossa\n{{moveName}}.", + "countdownPoof": "@d{32}1, @d{15}2, @d{15}e@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}Puff!", + "learnMoveAnd": "E…", "levelCapUp": "Il livello massimo\nè aumentato a {{levelCap}}!", "moveNotImplemented": "{{moveName}} non è ancora implementata e non può essere selezionata.", "moveNoPP": "Non ci sono PP rimanenti\nper questa mossa!", diff --git a/src/locales/pt_BR/battle.ts b/src/locales/pt_BR/battle.ts index ed579845c..39f889dee 100644 --- a/src/locales/pt_BR/battle.ts +++ b/src/locales/pt_BR/battle.ts @@ -31,6 +31,8 @@ export const battle: SimpleTranslationEntries = { "learnMoveNotLearned": "{{pokemonName}} não aprendeu {{moveName}}.", "learnMoveForgetQuestion": "Qual movimento quer esquecer?", "learnMoveForgetSuccess": "{{pokemonName}} esqueceu como usar {{moveName}}.", + "countdownPoof": "@d{32}1, @d{15}2, @d{15}e@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}Puf!", + "learnMoveAnd": "E…", "levelCapUp": "O nível máximo aumentou\npara {{levelCap}}!", "moveNotImplemented": "{{moveName}} ainda não foi implementado e não pode ser usado.", "moveNoPP": "Não há mais PP\npara esse movimento!", diff --git a/src/locales/zh_CN/battle.ts b/src/locales/zh_CN/battle.ts index 3a92b4f9f..16efae75a 100644 --- a/src/locales/zh_CN/battle.ts +++ b/src/locales/zh_CN/battle.ts @@ -31,6 +31,8 @@ export const battle: SimpleTranslationEntries = { "learnMoveNotLearned": "{{pokemonName}} 没有学会 {{moveName}}。", "learnMoveForgetQuestion": "要忘记哪个技能?", "learnMoveForgetSuccess": "{{pokemonName}} 忘记了\n如何使用 {{moveName}}。", + "countdownPoof": "@d{32}1, @d{15}2, @d{15}和@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}噗!", + "learnMoveAnd": "和…", "levelCapUp": "等级上限提升到 {{levelCap}}!", "moveNotImplemented": "{{moveName}} 尚未实装,无法选择。", "moveNoPP": "这个技能的 PP 用完了", diff --git a/src/phases.ts b/src/phases.ts index 88957ba16..e2755328c 100644 --- a/src/phases.ts +++ b/src/phases.ts @@ -3967,9 +3967,9 @@ export class LearnMovePhase extends PlayerPartyMemberPokemonPhase { return; } this.scene.ui.setMode(messageMode).then(() => { - this.scene.ui.showText('@d{32}1, @d{15}2, and@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}Poof!', null, () => { + this.scene.ui.showText(i18next.t('battle:countdownPoof'), null, () => { this.scene.ui.showText(i18next.t('battle:learnMoveForgetSuccess', { pokemonName: pokemon.name, moveName: pokemon.moveset[moveIndex].getName() }), null, () => { - this.scene.ui.showText('And…', null, () => { + this.scene.ui.showText(i18next.t('battle:learnMoveAnd'), null, () => { pokemon.setMove(moveIndex, Moves.NONE); this.scene.unshiftPhase(new LearnMovePhase(this.scene, this.partyMemberIndex, this.moveId)); this.end(); From b8dff030aadadf98e7e483ebe44c98708767ef8e Mon Sep 17 00:00:00 2001 From: Surinam <67292578+suriinam@users.noreply.github.com> Date: Wed, 15 May 2024 19:31:18 +0200 Subject: [PATCH 2/3] Weather & evolution i18n with french translations (#380) Co-authored-by: Marius MICHAUD --- src/data/weather.ts | 55 ++++++++++++++++++------------------ src/evolution-phase.ts | 11 ++++---- src/locales/de/menu.ts | 5 ++++ src/locales/de/weather.ts | 44 +++++++++++++++++++++++++++++ src/locales/en/config.ts | 4 ++- src/locales/en/menu.ts | 5 ++++ src/locales/en/weather.ts | 44 +++++++++++++++++++++++++++++ src/locales/es/config.ts | 4 ++- src/locales/es/menu.ts | 5 ++++ src/locales/es/weather.ts | 44 +++++++++++++++++++++++++++++ src/locales/fr/config.ts | 4 ++- src/locales/fr/menu.ts | 5 ++++ src/locales/fr/weather.ts | 44 +++++++++++++++++++++++++++++ src/locales/it/config.ts | 4 ++- src/locales/it/menu.ts | 5 ++++ src/locales/it/weather.ts | 44 +++++++++++++++++++++++++++++ src/locales/pt_BR/config.ts | 4 ++- src/locales/pt_BR/menu.ts | 5 ++++ src/locales/pt_BR/weather.ts | 44 +++++++++++++++++++++++++++++ src/locales/zh_CN/config.ts | 4 ++- src/locales/zh_CN/menu.ts | 5 ++++ src/locales/zh_CN/weather.ts | 44 +++++++++++++++++++++++++++++ src/plugins/i18n.ts | 1 + 23 files changed, 396 insertions(+), 38 deletions(-) create mode 100644 src/locales/de/weather.ts create mode 100644 src/locales/en/weather.ts create mode 100644 src/locales/es/weather.ts create mode 100644 src/locales/fr/weather.ts create mode 100644 src/locales/it/weather.ts create mode 100644 src/locales/pt_BR/weather.ts create mode 100644 src/locales/zh_CN/weather.ts diff --git a/src/data/weather.ts b/src/data/weather.ts index 1409920a1..eb30f22f3 100644 --- a/src/data/weather.ts +++ b/src/data/weather.ts @@ -7,6 +7,7 @@ import * as Utils from "../utils"; import BattleScene from "../battle-scene"; import { SuppressWeatherEffectAbAttr } from "./ability"; import { TerrainType } from "./terrain"; +import i18next from "i18next"; export enum WeatherType { NONE, @@ -121,23 +122,23 @@ export class Weather { export function getWeatherStartMessage(weatherType: WeatherType): string { switch (weatherType) { case WeatherType.SUNNY: - return 'The sunlight got bright!'; + return i18next.t('weather:sunnyStartMessage'); case WeatherType.RAIN: - return 'A downpour started!'; + return i18next.t('weather:rainStartMessage'); case WeatherType.SANDSTORM: - return 'A sandstorm brewed!'; + return i18next.t('weather:sandstormStartMessage'); case WeatherType.HAIL: - return 'It started to hail!'; + return i18next.t('weather:hailStartMessage'); case WeatherType.SNOW: - return 'It started to snow!'; + return i18next.t('weather:snowStartMessage'); case WeatherType.FOG: - return 'A thick fog emerged!' + return i18next.t('weather:fogStartMessage'); case WeatherType.HEAVY_RAIN: - return 'A heavy downpour started!' + return i18next.t('weather:heavyRainStartMessage'); case WeatherType.HARSH_SUN: - return 'The sunlight got hot!' + return i18next.t('weather:harshSunStartMessage'); case WeatherType.STRONG_WINDS: - return 'A heavy wind began!'; + return i18next.t('weather:strongWindsStartMessage'); } return null; @@ -146,23 +147,23 @@ export function getWeatherStartMessage(weatherType: WeatherType): string { export function getWeatherLapseMessage(weatherType: WeatherType): string { switch (weatherType) { case WeatherType.SUNNY: - return 'The sunlight is strong.'; + return i18next.t('weather:sunnyLapseMessage'); case WeatherType.RAIN: - return 'The downpour continues.'; + return i18next.t('weather:rainLapseMessage'); case WeatherType.SANDSTORM: - return 'The sandstorm rages.'; + return i18next.t('weather:sandstormLapseMessage'); case WeatherType.HAIL: - return 'Hail continues to fall.'; + return i18next.t('weather:hailLapseMessage'); case WeatherType.SNOW: - return 'The snow is falling down.'; + return i18next.t('weather:snowLapseMessage'); case WeatherType.FOG: - return 'The fog continues.'; + return i18next.t('weather:fogLapseMessage'); case WeatherType.HEAVY_RAIN: - return 'The heavy downpour continues.' + return i18next.t('weather:heavyRainLapseMessage'); case WeatherType.HARSH_SUN: - return 'The sun is scorching hot.' + return i18next.t('weather:harshSunLapseMessage'); case WeatherType.STRONG_WINDS: - return 'The wind blows intensely.'; + return i18next.t('weather:strongWindsLapseMessage'); } return null; @@ -182,23 +183,23 @@ export function getWeatherDamageMessage(weatherType: WeatherType, pokemon: Pokem export function getWeatherClearMessage(weatherType: WeatherType): string { switch (weatherType) { case WeatherType.SUNNY: - return 'The sunlight faded.'; + return i18next.t('weather:sunnyClearMessage'); case WeatherType.RAIN: - return 'The rain stopped.'; + return i18next.t('weather:rainClearMessage'); case WeatherType.SANDSTORM: - return 'The sandstorm subsided.'; + return i18next.t('weather:sandstormClearMessage'); case WeatherType.HAIL: - return 'The hail stopped.'; + return i18next.t('weather:hailClearMessage'); case WeatherType.SNOW: - return 'The snow stopped.'; + return i18next.t('weather:snowClearMessage'); case WeatherType.FOG: - return 'The fog disappeared.' + return i18next.t('weather:fogClearMessage'); case WeatherType.HEAVY_RAIN: - return 'The heavy rain stopped.' + return i18next.t('weather:heavyRainClearMessage'); case WeatherType.HARSH_SUN: - return 'The harsh sunlight faded.' + return i18next.t('weather:harshSunClearMessage'); case WeatherType.STRONG_WINDS: - return 'The heavy wind stopped.'; + return i18next.t('weather:strongWindsClearMessage'); } return null; diff --git a/src/evolution-phase.ts b/src/evolution-phase.ts index fb3803a1e..7684d7797 100644 --- a/src/evolution-phase.ts +++ b/src/evolution-phase.ts @@ -9,6 +9,7 @@ import { LearnMovePhase } from "./phases"; import { cos, sin } from "./field/anims"; import { PlayerPokemon } from "./field/pokemon"; import { getTypeRgb } from "./data/type"; +import i18next from "i18next"; export class EvolutionPhase extends Phase { protected pokemon: PlayerPokemon; @@ -115,7 +116,7 @@ export class EvolutionPhase extends Phase { const evolutionHandler = this.scene.ui.getHandler() as EvolutionSceneHandler; const preName = this.pokemon.name; - this.scene.ui.showText(`What?\n${preName} is evolving!`, null, () => { + this.scene.ui.showText(i18next.t('menu:evolving', { pokemonName: preName }), null, () => { this.pokemon.cry(); this.pokemon.getPossibleEvolution(this.evolution).then(evolvedPokemon => { @@ -187,8 +188,8 @@ export class EvolutionPhase extends Phase { this.scene.unshiftPhase(new EndEvolutionPhase(this.scene)); - this.scene.ui.showText(`${preName} stopped evolving.`, null, () => { - this.scene.ui.showText(`Would you like to pause evolutions for ${preName}?\nEvolutions can be re-enabled from the party screen.`, null, () => { + this.scene.ui.showText(i18next.t('menu:stoppedEvolving', { pokemonName: preName }), null, () => { + this.scene.ui.showText(i18next.t('menu:pauseEvolutionsQuestion', { pokemonName: preName }), null, () => { const end = () => { this.scene.ui.showText(null, 0); this.scene.playBgm(); @@ -198,7 +199,7 @@ export class EvolutionPhase extends Phase { this.scene.ui.setOverlayMode(Mode.CONFIRM, () => { this.scene.ui.revertMode(); this.pokemon.pauseEvolutions = true; - this.scene.ui.showText(`Evolutions have been paused for ${preName}.`, null, end, 3000); + this.scene.ui.showText(i18next.t('menu:evolutionsPaused', { pokemonName: preName }), null, end, 3000); }, () => { this.scene.ui.revertMode(); this.scene.time.delayedCall(3000, end); @@ -249,7 +250,7 @@ export class EvolutionPhase extends Phase { this.scene.playSoundWithoutBgm('evolution_fanfare'); evolvedPokemon.destroy(); - this.scene.ui.showText(`Congratulations!\nYour ${preName} evolved into ${this.pokemon.name}!`, null, () => this.end(), null, true, Utils.fixedInt(4000)); + this.scene.ui.showText(i18next.t('menu:evolutionDone', { pokemonName: preName, evolvedPokemonName: this.pokemon.name }), null, () => this.end(), null, true, Utils.fixedInt(4000)); this.scene.time.delayedCall(Utils.fixedInt(4250), () => this.scene.playBgm()); }); }); diff --git a/src/locales/de/menu.ts b/src/locales/de/menu.ts index c22b940a8..7d96f9130 100644 --- a/src/locales/de/menu.ts +++ b/src/locales/de/menu.ts @@ -35,6 +35,11 @@ export const menu: SimpleTranslationEntries = { "boyOrGirl": "Bist du ein Junge oder ein Mädchen?", "boy": "Junge", "girl": "Mädchen", + "evolving": "What?\n{{pokemonName}} is evolving!", + "stoppedEvolving": "{{pokemonName}} stopped evolving.", + "pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.", + "evolutionsPaused": "Evolutions have been paused for {{pokemonName}}.", + "evolutionDone": "Congratulations!\nYour {{pokemonName}} evolved into {{evolvedPokemonName}}!", "dailyRankings": "Tägliche Rangliste", "weeklyRankings": "Wöchentliche Rangliste", "noRankings": "Keine Rangliste", diff --git a/src/locales/de/weather.ts b/src/locales/de/weather.ts new file mode 100644 index 000000000..999613f15 --- /dev/null +++ b/src/locales/de/weather.ts @@ -0,0 +1,44 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The weather namespace holds text displayed when weather is active during a battle + */ +export const weather: SimpleTranslationEntries = { + "sunnyStartMessage": "The sunlight got bright!", + "sunnyLapseMessage": "The sunlight is strong.", + "sunnyClearMessage": "The sunlight faded.", + + "rainStartMessage": "A downpour started!", + "rainLapseMessage": "The downpour continues.", + "rainClearMessage": "The rain stopped.", + + "sandstormStartMessage": "A sandstorm brewed!", + "sandstormLapseMessage": "The sandstorm rages.", + "sandstormClearMessage": "The sandstorm subsided.", + "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is buffeted\nby the sandstorm!", + + "hailStartMessage": "It started to hail!", + "hailLapseMessage": "Hail continues to fall.", + "hailClearMessage": "The hail stopped.", + "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is pelted\nby the hail!", + + "snowStartMessage": "It started to snow!", + "snowLapseMessage": "The snow is falling down.", + "snowClearMessage": "The snow stopped.", + + "fogStartMessage": "A thick fog emerged!", + "fogLapseMessage": "The fog continues.", + "fogClearMessage": "The fog disappeared.", + + "heavyRainStartMessage": "A heavy downpour started!", + "heavyRainLapseMessage": "The heavy downpour continues.", + "heavyRainClearMessage": "The heavy rain stopped.", + + "harshSunStartMessage": "The sunlight got hot!", + "harshSunLapseMessage": "The sun is scorching hot.", + "harshSunClearMessage": "The harsh sunlight faded.", + + "strongWindsStartMessage": "A heavy wind began!", + "strongWindsLapseMessage": "The wind blows intensely.", + "strongWindsClearMessage": "The heavy wind stopped." +} \ No newline at end of file diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts index f5e8a68b0..9259aa5cb 100644 --- a/src/locales/en/config.ts +++ b/src/locales/en/config.ts @@ -13,6 +13,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { weather } from "./weather"; export const enConfig = { @@ -30,5 +31,6 @@ export const enConfig = { starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, nature: nature, - growth: growth + growth: growth, + weather: weather } \ No newline at end of file diff --git a/src/locales/en/menu.ts b/src/locales/en/menu.ts index 7a5043a98..7db9ea3aa 100644 --- a/src/locales/en/menu.ts +++ b/src/locales/en/menu.ts @@ -35,6 +35,11 @@ export const menu: SimpleTranslationEntries = { "boyOrGirl": "Are you a boy or a girl?", "boy": "Boy", "girl": "Girl", + "evolving": "What?\n{{pokemonName}} is evolving!", + "stoppedEvolving": "{{pokemonName}} stopped evolving.", + "pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.", + "evolutionsPaused": "Evolutions have been paused for {{pokemonName}}.", + "evolutionDone": "Congratulations!\nYour {{pokemonName}} evolved into {{evolvedPokemonName}}!", "dailyRankings": "Daily Rankings", "weeklyRankings": "Weekly Rankings", "noRankings": "No Rankings", diff --git a/src/locales/en/weather.ts b/src/locales/en/weather.ts new file mode 100644 index 000000000..999613f15 --- /dev/null +++ b/src/locales/en/weather.ts @@ -0,0 +1,44 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The weather namespace holds text displayed when weather is active during a battle + */ +export const weather: SimpleTranslationEntries = { + "sunnyStartMessage": "The sunlight got bright!", + "sunnyLapseMessage": "The sunlight is strong.", + "sunnyClearMessage": "The sunlight faded.", + + "rainStartMessage": "A downpour started!", + "rainLapseMessage": "The downpour continues.", + "rainClearMessage": "The rain stopped.", + + "sandstormStartMessage": "A sandstorm brewed!", + "sandstormLapseMessage": "The sandstorm rages.", + "sandstormClearMessage": "The sandstorm subsided.", + "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is buffeted\nby the sandstorm!", + + "hailStartMessage": "It started to hail!", + "hailLapseMessage": "Hail continues to fall.", + "hailClearMessage": "The hail stopped.", + "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is pelted\nby the hail!", + + "snowStartMessage": "It started to snow!", + "snowLapseMessage": "The snow is falling down.", + "snowClearMessage": "The snow stopped.", + + "fogStartMessage": "A thick fog emerged!", + "fogLapseMessage": "The fog continues.", + "fogClearMessage": "The fog disappeared.", + + "heavyRainStartMessage": "A heavy downpour started!", + "heavyRainLapseMessage": "The heavy downpour continues.", + "heavyRainClearMessage": "The heavy rain stopped.", + + "harshSunStartMessage": "The sunlight got hot!", + "harshSunLapseMessage": "The sun is scorching hot.", + "harshSunClearMessage": "The harsh sunlight faded.", + + "strongWindsStartMessage": "A heavy wind began!", + "strongWindsLapseMessage": "The wind blows intensely.", + "strongWindsClearMessage": "The heavy wind stopped." +} \ No newline at end of file diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts index c56a8d384..f6d6f2715 100644 --- a/src/locales/es/config.ts +++ b/src/locales/es/config.ts @@ -13,6 +13,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { weather } from "./weather"; export const esConfig = { @@ -30,5 +31,6 @@ export const esConfig = { starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, nature: nature, - growth: growth + growth: growth, + weather: weather } \ No newline at end of file diff --git a/src/locales/es/menu.ts b/src/locales/es/menu.ts index 4839630bc..6a7f2587a 100644 --- a/src/locales/es/menu.ts +++ b/src/locales/es/menu.ts @@ -35,6 +35,11 @@ export const menu: SimpleTranslationEntries = { "boyOrGirl": "¿Eres un chico o una chica?", "boy": "Chico", "girl": "Chica", + "evolving": "What?\n{{pokemonName}} is evolving!", + "stoppedEvolving": "{{pokemonName}} stopped evolving.", + "pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.", + "evolutionsPaused": "Evolutions have been paused for {{pokemonName}}.", + "evolutionDone": "Congratulations!\nYour {{pokemonName}} evolved into {{evolvedPokemonName}}!", "dailyRankings": "Rankings Diarios", "weeklyRankings": "Rankings Semanales", "noRankings": "Sin Rankings", diff --git a/src/locales/es/weather.ts b/src/locales/es/weather.ts new file mode 100644 index 000000000..999613f15 --- /dev/null +++ b/src/locales/es/weather.ts @@ -0,0 +1,44 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The weather namespace holds text displayed when weather is active during a battle + */ +export const weather: SimpleTranslationEntries = { + "sunnyStartMessage": "The sunlight got bright!", + "sunnyLapseMessage": "The sunlight is strong.", + "sunnyClearMessage": "The sunlight faded.", + + "rainStartMessage": "A downpour started!", + "rainLapseMessage": "The downpour continues.", + "rainClearMessage": "The rain stopped.", + + "sandstormStartMessage": "A sandstorm brewed!", + "sandstormLapseMessage": "The sandstorm rages.", + "sandstormClearMessage": "The sandstorm subsided.", + "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is buffeted\nby the sandstorm!", + + "hailStartMessage": "It started to hail!", + "hailLapseMessage": "Hail continues to fall.", + "hailClearMessage": "The hail stopped.", + "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is pelted\nby the hail!", + + "snowStartMessage": "It started to snow!", + "snowLapseMessage": "The snow is falling down.", + "snowClearMessage": "The snow stopped.", + + "fogStartMessage": "A thick fog emerged!", + "fogLapseMessage": "The fog continues.", + "fogClearMessage": "The fog disappeared.", + + "heavyRainStartMessage": "A heavy downpour started!", + "heavyRainLapseMessage": "The heavy downpour continues.", + "heavyRainClearMessage": "The heavy rain stopped.", + + "harshSunStartMessage": "The sunlight got hot!", + "harshSunLapseMessage": "The sun is scorching hot.", + "harshSunClearMessage": "The harsh sunlight faded.", + + "strongWindsStartMessage": "A heavy wind began!", + "strongWindsLapseMessage": "The wind blows intensely.", + "strongWindsClearMessage": "The heavy wind stopped." +} \ No newline at end of file diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts index 89669aceb..4179c758f 100644 --- a/src/locales/fr/config.ts +++ b/src/locales/fr/config.ts @@ -13,6 +13,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { weather } from "./weather"; export const frConfig = { @@ -30,5 +31,6 @@ export const frConfig = { starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, nature: nature, - growth: growth + growth: growth, + weather: weather } \ No newline at end of file diff --git a/src/locales/fr/menu.ts b/src/locales/fr/menu.ts index 2723de587..7cf277889 100644 --- a/src/locales/fr/menu.ts +++ b/src/locales/fr/menu.ts @@ -30,6 +30,11 @@ export const menu: SimpleTranslationEntries = { "boyOrGirl": "Es-tu un garçon ou une fille ?", "boy": "Garçon", "girl": "Fille", + "evolving": "Hein ?\n{{pokemonName}} évolue !", + "stoppedEvolving": "{{pokemonName}} a stoppé son évolution.", + "pauseEvolutionsQuestion": "Voulez-vous pauser les évolutions pour {{pokemonName}} ?\nLes évolutions peuvent être réactivées depuis l'écran d'équipe.", + "evolutionsPaused": "Les évolutions ont été mises en pause pour {{pokemonName}}.", + "evolutionDone": "Félicitations !\nVotre {{pokemonName}} a évolué en {{evolvedPokemonName}} !", "dailyRankings": "Classement du Jour", "weeklyRankings": "Classement de la Semaine", "noRankings": "Pas de Classement", diff --git a/src/locales/fr/weather.ts b/src/locales/fr/weather.ts new file mode 100644 index 000000000..75b12cf01 --- /dev/null +++ b/src/locales/fr/weather.ts @@ -0,0 +1,44 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The weather namespace holds text displayed when weather is active during a battle + */ +export const weather: SimpleTranslationEntries = { + "sunnyStartMessage": "Les rayons du soleil brillent !", + "sunnyLapseMessage": "Les rayons du soleil brillent fort.", + "sunnyClearMessage": "Les rayons du soleil se dissipent.", + + "rainStartMessage": "Il commence à pleuvoir !", + "rainLapseMessage": "La pluie continue.", + "rainClearMessage": "La pluie s'est arrêtée.", + + "sandstormStartMessage": "Une tempête de sable se prépare !", + "sandstormLapseMessage": "La tempête de sable fait rage.", + "sandstormClearMessage": "La tempête de sable se calme.", + "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} subit les dégâts\nde la tempête de sable !", + + "hailStartMessage": "Il commence à grêler !", + "hailLapseMessage": "La grêle continue.", + "hailClearMessage": "La grêle s'est arrêtée.", + "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} subit les dégâts\nde la grêle !", + + "snowStartMessage": "Il commence à neiger !", + "snowLapseMessage": "La neige continue de tomber.", + "snowClearMessage": "La neige s'est arrêtée.", + + "fogStartMessage": "Un brouillard épais émerge !", + "fogLapseMessage": "Le brouillard continue.", + "fogClearMessage": "Le brouillard a disparu.", + + "heavyRainStartMessage": "Une pluie battante s'abat soudainement !", + "heavyRainLapseMessage": "La pluie battante continue.", + "heavyRainClearMessage": "La pluie battante s'est arrêtée.", + + "harshSunStartMessage": "Les rayons du soleil s'intensifient !", + "harshSunLapseMessage": "Le soleil est brûlant.", + "harshSunClearMessage": "Le soleil brûlant se dissipe.", + + "strongWindsStartMessage": "Un vent violent se lève !", + "strongWindsLapseMessage": "Le vent souffle violemment.", + "strongWindsClearMessage": "Le vent violent s'est arrêté." +} \ No newline at end of file diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts index 6ba9aa3af..85e2e6291 100644 --- a/src/locales/it/config.ts +++ b/src/locales/it/config.ts @@ -13,6 +13,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { weather } from "./weather"; export const itConfig = { @@ -30,5 +31,6 @@ export const itConfig = { starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, nature: nature, - growth: growth + growth: growth, + weather: weather } \ No newline at end of file diff --git a/src/locales/it/menu.ts b/src/locales/it/menu.ts index 1344b21cc..ff41b8ab9 100644 --- a/src/locales/it/menu.ts +++ b/src/locales/it/menu.ts @@ -40,6 +40,11 @@ export const menu: SimpleTranslationEntries = { "noRankings": "Nessuna Classifica", "loading": "Caricamento…", "playersOnline": "Giocatori Online", + "evolving": "What?\n{{pokemonName}} is evolving!", + "stoppedEvolving": "{{pokemonName}} stopped evolving.", + "pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.", + "evolutionsPaused": "Evolutions have been paused for {{pokemonName}}.", + "evolutionDone": "Congratulations!\nYour {{pokemonName}} evolved into {{evolvedPokemonName}}!", "empty":"Vuoto", "yes":"Si", "no":"No", diff --git a/src/locales/it/weather.ts b/src/locales/it/weather.ts new file mode 100644 index 000000000..999613f15 --- /dev/null +++ b/src/locales/it/weather.ts @@ -0,0 +1,44 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The weather namespace holds text displayed when weather is active during a battle + */ +export const weather: SimpleTranslationEntries = { + "sunnyStartMessage": "The sunlight got bright!", + "sunnyLapseMessage": "The sunlight is strong.", + "sunnyClearMessage": "The sunlight faded.", + + "rainStartMessage": "A downpour started!", + "rainLapseMessage": "The downpour continues.", + "rainClearMessage": "The rain stopped.", + + "sandstormStartMessage": "A sandstorm brewed!", + "sandstormLapseMessage": "The sandstorm rages.", + "sandstormClearMessage": "The sandstorm subsided.", + "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is buffeted\nby the sandstorm!", + + "hailStartMessage": "It started to hail!", + "hailLapseMessage": "Hail continues to fall.", + "hailClearMessage": "The hail stopped.", + "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is pelted\nby the hail!", + + "snowStartMessage": "It started to snow!", + "snowLapseMessage": "The snow is falling down.", + "snowClearMessage": "The snow stopped.", + + "fogStartMessage": "A thick fog emerged!", + "fogLapseMessage": "The fog continues.", + "fogClearMessage": "The fog disappeared.", + + "heavyRainStartMessage": "A heavy downpour started!", + "heavyRainLapseMessage": "The heavy downpour continues.", + "heavyRainClearMessage": "The heavy rain stopped.", + + "harshSunStartMessage": "The sunlight got hot!", + "harshSunLapseMessage": "The sun is scorching hot.", + "harshSunClearMessage": "The harsh sunlight faded.", + + "strongWindsStartMessage": "A heavy wind began!", + "strongWindsLapseMessage": "The wind blows intensely.", + "strongWindsClearMessage": "The heavy wind stopped." +} \ No newline at end of file diff --git a/src/locales/pt_BR/config.ts b/src/locales/pt_BR/config.ts index fc58d45ce..83d0641c8 100644 --- a/src/locales/pt_BR/config.ts +++ b/src/locales/pt_BR/config.ts @@ -12,6 +12,7 @@ import { pokemon } from "./pokemon"; import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; +import { weather } from "./weather"; export const ptBrConfig = { @@ -28,5 +29,6 @@ export const ptBrConfig = { starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, nature: nature, - growth: growth + growth: growth, + weather: weather } \ No newline at end of file diff --git a/src/locales/pt_BR/menu.ts b/src/locales/pt_BR/menu.ts index 474ac867e..9cbde5420 100644 --- a/src/locales/pt_BR/menu.ts +++ b/src/locales/pt_BR/menu.ts @@ -35,6 +35,11 @@ export const menu: SimpleTranslationEntries = { "boyOrGirl": "Você é um menino ou uma menina?", "boy": "Menino", "girl": "Menina", + "evolving": "What?\n{{pokemonName}} is evolving!", + "stoppedEvolving": "{{pokemonName}} stopped evolving.", + "pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.", + "evolutionsPaused": "Evolutions have been paused for {{pokemonName}}.", + "evolutionDone": "Congratulations!\nYour {{pokemonName}} evolved into {{evolvedPokemonName}}!", "dailyRankings": "Classificação Diária", "weeklyRankings": "Classificação Semanal", "noRankings": "Sem Classificação", diff --git a/src/locales/pt_BR/weather.ts b/src/locales/pt_BR/weather.ts new file mode 100644 index 000000000..999613f15 --- /dev/null +++ b/src/locales/pt_BR/weather.ts @@ -0,0 +1,44 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The weather namespace holds text displayed when weather is active during a battle + */ +export const weather: SimpleTranslationEntries = { + "sunnyStartMessage": "The sunlight got bright!", + "sunnyLapseMessage": "The sunlight is strong.", + "sunnyClearMessage": "The sunlight faded.", + + "rainStartMessage": "A downpour started!", + "rainLapseMessage": "The downpour continues.", + "rainClearMessage": "The rain stopped.", + + "sandstormStartMessage": "A sandstorm brewed!", + "sandstormLapseMessage": "The sandstorm rages.", + "sandstormClearMessage": "The sandstorm subsided.", + "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is buffeted\nby the sandstorm!", + + "hailStartMessage": "It started to hail!", + "hailLapseMessage": "Hail continues to fall.", + "hailClearMessage": "The hail stopped.", + "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is pelted\nby the hail!", + + "snowStartMessage": "It started to snow!", + "snowLapseMessage": "The snow is falling down.", + "snowClearMessage": "The snow stopped.", + + "fogStartMessage": "A thick fog emerged!", + "fogLapseMessage": "The fog continues.", + "fogClearMessage": "The fog disappeared.", + + "heavyRainStartMessage": "A heavy downpour started!", + "heavyRainLapseMessage": "The heavy downpour continues.", + "heavyRainClearMessage": "The heavy rain stopped.", + + "harshSunStartMessage": "The sunlight got hot!", + "harshSunLapseMessage": "The sun is scorching hot.", + "harshSunClearMessage": "The harsh sunlight faded.", + + "strongWindsStartMessage": "A heavy wind began!", + "strongWindsLapseMessage": "The wind blows intensely.", + "strongWindsClearMessage": "The heavy wind stopped." +} \ No newline at end of file diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts index 496fd983c..9a70eafb8 100644 --- a/src/locales/zh_CN/config.ts +++ b/src/locales/zh_CN/config.ts @@ -12,6 +12,7 @@ import { pokemonStat } from "./pokemon-stat"; import { starterSelectUiHandler } from "./starter-select-ui-handler"; import { tutorial } from "./tutorial"; import { nature } from "./nature"; +import { weather } from "./weather"; export const zhCnConfig = { @@ -29,5 +30,6 @@ export const zhCnConfig = { starterSelectUiHandler: starterSelectUiHandler, tutorial: tutorial, - nature: nature + nature: nature, + weather: weather } \ No newline at end of file diff --git a/src/locales/zh_CN/menu.ts b/src/locales/zh_CN/menu.ts index e9e12a6b3..1cbfa9057 100644 --- a/src/locales/zh_CN/menu.ts +++ b/src/locales/zh_CN/menu.ts @@ -35,6 +35,11 @@ export const menu: SimpleTranslationEntries = { "boyOrGirl": "你是男孩还是女孩?", "boy": "男孩", "girl": "女孩", + "evolving": "What?\n{{pokemonName}} is evolving!", + "stoppedEvolving": "{{pokemonName}} stopped evolving.", + "pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.", + "evolutionsPaused": "Evolutions have been paused for {{pokemonName}}.", + "evolutionDone": "Congratulations!\nYour {{pokemonName}} evolved into {{evolvedPokemonName}}!", "dailyRankings": "每日排名", "weeklyRankings": "每周排名", "noRankings": "无排名", diff --git a/src/locales/zh_CN/weather.ts b/src/locales/zh_CN/weather.ts new file mode 100644 index 000000000..999613f15 --- /dev/null +++ b/src/locales/zh_CN/weather.ts @@ -0,0 +1,44 @@ +import { SimpleTranslationEntries } from "#app/plugins/i18n"; + +/** + * The weather namespace holds text displayed when weather is active during a battle + */ +export const weather: SimpleTranslationEntries = { + "sunnyStartMessage": "The sunlight got bright!", + "sunnyLapseMessage": "The sunlight is strong.", + "sunnyClearMessage": "The sunlight faded.", + + "rainStartMessage": "A downpour started!", + "rainLapseMessage": "The downpour continues.", + "rainClearMessage": "The rain stopped.", + + "sandstormStartMessage": "A sandstorm brewed!", + "sandstormLapseMessage": "The sandstorm rages.", + "sandstormClearMessage": "The sandstorm subsided.", + "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is buffeted\nby the sandstorm!", + + "hailStartMessage": "It started to hail!", + "hailLapseMessage": "Hail continues to fall.", + "hailClearMessage": "The hail stopped.", + "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is pelted\nby the hail!", + + "snowStartMessage": "It started to snow!", + "snowLapseMessage": "The snow is falling down.", + "snowClearMessage": "The snow stopped.", + + "fogStartMessage": "A thick fog emerged!", + "fogLapseMessage": "The fog continues.", + "fogClearMessage": "The fog disappeared.", + + "heavyRainStartMessage": "A heavy downpour started!", + "heavyRainLapseMessage": "The heavy downpour continues.", + "heavyRainClearMessage": "The heavy rain stopped.", + + "harshSunStartMessage": "The sunlight got hot!", + "harshSunLapseMessage": "The sun is scorching hot.", + "harshSunClearMessage": "The harsh sunlight faded.", + + "strongWindsStartMessage": "A heavy wind began!", + "strongWindsLapseMessage": "The wind blows intensely.", + "strongWindsClearMessage": "The heavy wind stopped." +} \ No newline at end of file diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index 82a5a51ba..44712b127 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -110,6 +110,7 @@ declare module 'i18next' { starterSelectUiHandler: SimpleTranslationEntries; nature: SimpleTranslationEntries; growth: SimpleTranslationEntries; + weather: SimpleTranslationEntries; }; } } From 2778eb2651a0a50abbda5a941b1abdc004e46a21 Mon Sep 17 00:00:00 2001 From: Lugiad Date: Wed, 15 May 2024 20:05:07 +0200 Subject: [PATCH 3/3] French weather.ts corrections (#923) * French weather.ts corrections * French weather.ts corrections --- src/locales/fr/weather.ts | 48 +++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/locales/fr/weather.ts b/src/locales/fr/weather.ts index 75b12cf01..e73e51a53 100644 --- a/src/locales/fr/weather.ts +++ b/src/locales/fr/weather.ts @@ -5,40 +5,40 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n"; */ export const weather: SimpleTranslationEntries = { "sunnyStartMessage": "Les rayons du soleil brillent !", - "sunnyLapseMessage": "Les rayons du soleil brillent fort.", - "sunnyClearMessage": "Les rayons du soleil se dissipent.", + "sunnyLapseMessage": "Les rayons du soleil brillent fort !", + "sunnyClearMessage": "Les rayons du soleil s’affaiblissent !", "rainStartMessage": "Il commence à pleuvoir !", - "rainLapseMessage": "La pluie continue.", - "rainClearMessage": "La pluie s'est arrêtée.", + "rainLapseMessage": "La pluie continue de tomber !", + "rainClearMessage": "La pluie s’est arrêtée !", "sandstormStartMessage": "Une tempête de sable se prépare !", - "sandstormLapseMessage": "La tempête de sable fait rage.", - "sandstormClearMessage": "La tempête de sable se calme.", - "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} subit les dégâts\nde la tempête de sable !", + "sandstormLapseMessage": "La tempête de sable fait rage !", + "sandstormClearMessage": "La tempête de sable se calme !", + "sandstormDamageMessage": "La tempête de sable inflige des dégâts\nà {{pokemonPrefix}}{{pokemonName}} !", "hailStartMessage": "Il commence à grêler !", - "hailLapseMessage": "La grêle continue.", - "hailClearMessage": "La grêle s'est arrêtée.", - "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} subit les dégâts\nde la grêle !", + "hailLapseMessage": "La grêle continue de tomber !", + "hailClearMessage": "La grêle s’est arrêtée !", + "hailDamageMessage": "La grêle inflige des dégâts\nà {{pokemonPrefix}}{{pokemonName}} !", "snowStartMessage": "Il commence à neiger !", - "snowLapseMessage": "La neige continue de tomber.", - "snowClearMessage": "La neige s'est arrêtée.", + "snowLapseMessage": "Il y a une tempête de neige !", + "snowClearMessage": "La neige s’est arrêtée !", - "fogStartMessage": "Un brouillard épais émerge !", - "fogLapseMessage": "Le brouillard continue.", - "fogClearMessage": "Le brouillard a disparu.", + "fogStartMessage": "Le brouillard devient épais…", + "fogLapseMessage": "Le brouillard continue !", + "fogClearMessage": "Le brouillard s’est dissipé !", - "heavyRainStartMessage": "Une pluie battante s'abat soudainement !", + "heavyRainStartMessage": "Une pluie battante s’abat soudainement !", "heavyRainLapseMessage": "La pluie battante continue.", - "heavyRainClearMessage": "La pluie battante s'est arrêtée.", + "heavyRainClearMessage": "La pluie battante s’est arrêtée…", - "harshSunStartMessage": "Les rayons du soleil s'intensifient !", - "harshSunLapseMessage": "Le soleil est brûlant.", - "harshSunClearMessage": "Le soleil brûlant se dissipe.", + "harshSunStartMessage": "Les rayons du soleil s’intensifient !", + "harshSunLapseMessage": "Les rayons du soleil sont brulants !", + "harshSunClearMessage": "Les rayons du soleil s’affaiblissent !", - "strongWindsStartMessage": "Un vent violent se lève !", - "strongWindsLapseMessage": "Le vent souffle violemment.", - "strongWindsClearMessage": "Le vent violent s'est arrêté." -} \ No newline at end of file + "strongWindsStartMessage": "Un vent mystérieux se lève !", + "strongWindsLapseMessage": "Le vent mystérieux violemment !", + "strongWindsClearMessage": "Le vent mystérieux s’est dissipé…" +}