From b2160d50bbf34e4f020538b57ccb0e2fb5578781 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada Date: Mon, 1 Aug 2022 23:35:34 -0400 Subject: [PATCH] 37/654 --- Makefile | 4 +- include/battle_tower.h | 3 + include/config.h | 5 + include/constants/battle_tower.h | 1 + include/constants/global.h | 5 + include/easy_chat.h | 3 + include/international_string_util.h | 4 + include/strings.h | 21 + ld_script.txt | 1 + src/battle_bg.c | 38 + src/battle_controller_player.c | 18 +- src/battle_dome.c | 19 + src/battle_factory_screen.c | 6 +- src/battle_main.c | 45 +- src/battle_pike.c | 45 + src/battle_script_commands.c | 49 +- src/battle_tent.c | 2 +- src/battle_tower.c | 64 + src/easy_chat.c | 73 ++ src/evolution_scene.c | 6 +- src/international_string_util.c | 54 + src/pokenav_match_call_data.c | 15 + src/strings.c | 1800 ++++++++++++++++++++++++++- 23 files changed, 2258 insertions(+), 23 deletions(-) diff --git a/Makefile b/Makefile index 1213edbb40..e506f7e322 100644 --- a/Makefile +++ b/Makefile @@ -446,7 +446,9 @@ $(ROM): $(ELF) modern: all # "friendly" target names for convenience sake -french: ; @$(MAKE) GAME_LANGUAGE=FRENCH +english: ; @$(MAKE) GAME_LANGUAGE=ENGLISH +french: ; @$(MAKE) GAME_LANGUAGE=FRENCH +compare_english: ; @$(MAKE) GAME_LANGUAGE=ENGLISH COMPARE=1 compare_french: ; @$(MAKE) GAME_LANGUAGE=FRENCH COMPARE=1 libagbsyscall: diff --git a/include/battle_tower.h b/include/battle_tower.h index a803145927..5232193524 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -59,6 +59,9 @@ void PutNewBattleTowerRecord(struct EmeraldBattleTowerRecord *newRecordEm); u8 GetFrontierTrainerFrontSpriteId(u16 trainerId); u8 GetFrontierOpponentClass(u16 trainerId); void GetFrontierTrainerName(u8 *dst, u16 trainerId); +#if FRENCH +bool8 IsFrontierTrainerFemale(u16 trainerId); +#endif void FillFrontierTrainerParty(u8 monsCount); void FillFrontierTrainersParties(u8 monsCount); u16 GetRandomFrontierMonFromSet(u16 trainerId); diff --git a/include/config.h b/include/config.h index b94abdeba3..6810580574 100644 --- a/include/config.h +++ b/include/config.h @@ -15,6 +15,11 @@ // printing system. Use NoCashGBAPrint() and NoCashGBAPrintf() like you // would normally use AGBPrint() and AGBPrintf(). +// Using English as default. +#if !defined(ENGLISH) && !defined(FRENCH) +#define ENGLISH 1 +#endif + #ifdef ENGLISH #define UNITS_IMPERIAL #else diff --git a/include/constants/battle_tower.h b/include/constants/battle_tower.h index 002422d850..e475e166e7 100644 --- a/include/constants/battle_tower.h +++ b/include/constants/battle_tower.h @@ -17,6 +17,7 @@ #define BATTLE_TOWER_FUNC_TRY_CLOSE_LINK 13 #define BATTLE_TOWER_FUNC_SET_PARTNER_GFX 14 #define BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA 15 +#define BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO2 16 // French version only #define TOWER_DATA_WIN_STREAK 1 #define TOWER_DATA_WIN_STREAK_ACTIVE 2 diff --git a/include/constants/global.h b/include/constants/global.h index 2a0ac7d6f1..de29594dbe 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -27,7 +27,12 @@ #define NUM_LANGUAGES 7 #define GAME_VERSION (VERSION_EMERALD) + +#if ENGLISH #define GAME_LANGUAGE (LANGUAGE_ENGLISH) +#elif FRENCH +#define GAME_LANGUAGE (LANGUAGE_FRENCH) +#endif // party sizes #define PARTY_SIZE 6 diff --git a/include/easy_chat.h b/include/easy_chat.h index c9ef4428f7..dc8b603741 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -126,6 +126,9 @@ u8 * CopyEasyChatWord(u8 *dest, u16 word); bool32 IsEasyChatAnswerUnlocked(int word); void InitializeEasyChatWordArray(u16 *words, u16 length); u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows); +#if FRENCH +u8 *UnusedConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows); +#endif bool8 IsBardWordInvalid(u16 word); u16 GetRandomEasyChatWordFromGroup(u16 group); u16 GetNewHipsterPhraseToTeach(void); diff --git a/include/international_string_util.h b/include/international_string_util.h index b0ac8afb6b..5155439b15 100644 --- a/include/international_string_util.h +++ b/include/international_string_util.h @@ -20,5 +20,9 @@ void ConvertInternationalPlayerNameStripChar(u8 *, u8); void ConvertInternationalContestantName(u8 *); int GetNicknameLanguage(u8 *); void FillWindowTilesByRow(int windowId, int columnStart, int rowStart, int numFillTiles, int numRows); +#if FRENCH +u8 *StringAppendWithPlaceholder(u8 *dest, const u8 *src, u8 *placeholderStr); +const u8 *GetTrainerClassNameGenderSpecific(s32 trainerClassId, u32 trainerGender, const u8 *trainerName); +#endif #endif // GUARD_INTERNATIONAL_STRING_UTIL_H diff --git a/include/strings.h b/include/strings.h index a22aa307bb..4e4b9b5c28 100644 --- a/include/strings.h +++ b/include/strings.h @@ -213,6 +213,9 @@ extern const u8 gMenuText_Walk[]; extern const u8 gMenuText_Deselect[]; extern const u8 gMenuText_CheckTag[]; extern const u8 gMenuText_Confirm[]; +#if FRENCH +extern const u8 gMenuText_Confirm2[]; +#endif extern const u8 gMenuText_Show[]; extern const u8 gMenuText_Give2[]; @@ -527,6 +530,13 @@ extern const u8 gText_NumberClear01[]; extern const u8 gText_5MarksPokemon[]; extern const u8 gText_UnkHeight[]; extern const u8 gText_UnkWeight[]; +#if FRENCH +extern const u8 gText_EmptyPkmnCategory[]; +extern const u8 gText_EmptyHeight[]; +extern const u8 gText_EmptyWeight[]; +extern const u8 gText_EmptyPokedexInfo1[]; +extern const u8 gText_EmptyPokedexInfo2[]; +#endif extern const u8 gText_HTHeight[]; extern const u8 gText_WTWeight[]; extern const u8 gText_SearchingPleaseWait[]; @@ -2482,7 +2492,12 @@ extern const u8 gText_MrStoneMatchCallDesc[]; extern const u8 gText_MrStoneMatchCallName[]; extern const u8 gText_StevenMatchCallDesc[]; extern const u8 gText_StevenMatchCallName[]; +#if ENGLISH extern const u8 gText_MayBrendanMatchCallDesc[]; +#elif FRENCH +extern const u8 gText_BrendanMatchCallDesc[]; +extern const u8 gText_MayMatchCallDesc[]; +#endif extern const u8 gText_WallyMatchCallDesc[]; extern const u8 gText_NormanMatchCallDesc[]; extern const u8 gText_NormanMatchCallName[]; @@ -3021,4 +3036,10 @@ extern const u8 gText_PkmnForSwap[]; extern const u8 gText_SamePkmnInPartyAlready[]; extern const u8 gText_Cancel3[]; +#if FRENCH +extern const u8 gText_Eleve[]; +extern const u8 gText_Dresseur[]; +extern const u8 gText_Champion[]; +#endif + #endif // GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 1460c84435..d6f5771bd7 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -694,6 +694,7 @@ SECTIONS { src/battle_transition_frontier.o(.rodata); src/text_input_strings.o(.rodata); src/fonts.o(.rodata); + src/international_string_util.o(.rodata); src/mystery_event_msg.o(.rodata); data/mystery_gift.o(.rodata); src/m4a_tables.o(.rodata); diff --git a/src/battle_bg.c b/src/battle_bg.c index 94d4c194e0..77685bab81 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -165,7 +165,11 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = .bg = 0, .tilemapLeft = 2, .tilemapTop = 15, + #if ENGLISH .width = 26, + #elif FRENCH + .width = 27, + #endif .height = 4, .paletteNum = 0, .baseBlock = 0x0090, @@ -271,9 +275,15 @@ static const struct WindowTemplate sStandardBattleWindowTemplates[] = }, [B_WIN_YESNO] = { .bg = 0, + #if ENGLISH .tilemapLeft = 26, .tilemapTop = 9, .width = 3, + #elif FRENCH + .tilemapLeft = 25, + .tilemapTop = 9, + .width = 4, + #endif .height = 4, .paletteNum = 5, .baseBlock = 0x0100, @@ -386,7 +396,11 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .bg = 0, .tilemapLeft = 2, .tilemapTop = 15, + #if ENGLISH .width = 26, + #elif FRENCH + .width = 27, + #endif .height = 4, .paletteNum = 0, .baseBlock = 0x0090, @@ -492,9 +506,15 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = }, [B_WIN_YESNO] = { .bg = 0, + #if ENGLISH .tilemapLeft = 26, .tilemapTop = 9, .width = 3, + #elif FRENCH + .tilemapLeft = 25, + .tilemapTop = 9, + .width = 4, + #endif .height = 4, .paletteNum = 5, .baseBlock = 0x0100, @@ -555,9 +575,15 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = }, [ARENA_WIN_SKILL] = { .bg = 0, + #if ENGLISH .tilemapLeft = 12, .tilemapTop = 6, .width = 6, + #elif FRENCH + .tilemapLeft = 11, + .tilemapTop = 6, + .width = 8, + #endif .height = 2, .paletteNum = 5, .baseBlock = 0x0130, @@ -569,7 +595,11 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .width = 6, .height = 2, .paletteNum = 5, + #if ENGLISH .baseBlock = 0x013c, + #elif FRENCH + .baseBlock = 0x0140, + #endif }, [ARENA_WIN_JUDGEMENT_TITLE] = { .bg = 0, @@ -578,13 +608,21 @@ static const struct WindowTemplate sBattleArenaWindowTemplates[] = .width = 14, .height = 2, .paletteNum = 5, + #if ENGLISH .baseBlock = 0x0148, + #elif FRENCH + .baseBlock = 0x014C, + #endif }, [ARENA_WIN_JUDGEMENT_TEXT] = { .bg = 0, .tilemapLeft = 2, .tilemapTop = 15, + #if ENGLISH .width = 26, + #elif FRENCH + .width = 27, + #endif .height = 4, .paletteNum = 7, .baseBlock = 0x0090, diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 27adb9ee4b..60ec8c10d4 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1435,7 +1435,11 @@ static void PlayerHandleYesNoInput(void) } if (JOY_NEW(A_BUTTON)) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + #if ENGLISH + HandleBattleWindow(24, 8, 0x1D, 0xD, WINDOW_CLEAR); + #elif FRENCH + HandleBattleWindow(23, 8, 0x1D, 0xD, WINDOW_CLEAR); + #endif PlaySE(SE_SELECT); if (gMultiUsePlayerCursor != 0) @@ -1447,7 +1451,11 @@ static void PlayerHandleYesNoInput(void) } if (JOY_NEW(B_BUTTON)) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + #if ENGLISH + HandleBattleWindow(24, 8, 0x1D, 0xD, WINDOW_CLEAR); + #elif FRENCH + HandleBattleWindow(23, 8, 0x1D, 0xD, WINDOW_CLEAR); + #endif PlaySE(SE_SELECT); PlayerBufferExecCompleted(); } @@ -2592,7 +2600,11 @@ static void PlayerHandleYesNoBox(void) { if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); + #if ENGLISH + HandleBattleWindow(24, 8, 0x1D, 0xD, 0); + #elif FRENCH + HandleBattleWindow(23, 8, 0x1D, 0xD, 0); + #endif BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gMultiUsePlayerCursor = 1; BattleCreateYesNoCursorAt(1); diff --git a/src/battle_dome.c b/src/battle_dome.c index 23b5ebdfcd..665eabf99e 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -4258,8 +4258,14 @@ static u8 Task_GetInfoCardInput(u8 taskId) static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId) { +#if ENGLISH struct TextPrinterTemplate textPrinter; int i, j, k; +#elif FRENCH + const u8 *trClassName; + struct TextPrinterTemplate textPrinter; + int i, j, k, trGender; +#endif int trainerId = 0; u8 nature = 0; int arrId = 0; @@ -4341,6 +4347,7 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId) // Get class and trainer name i = 0; +#if ENGLISH if (trainerId == TRAINER_PLAYER) j = gFacilityClassToTrainerClass[FACILITY_CLASS_BRENDAN]; else if (trainerId == TRAINER_FRONTIER_BRAIN) @@ -4350,6 +4357,18 @@ static void DisplayTrainerInfoOnCard(u8 flags, u8 trainerTourneyId) for (;gTrainerClassNames[j][i] != EOS; i++) gStringVar1[i] = gTrainerClassNames[j][i]; +#elif FRENCH + if (trainerId == TRAINER_PLAYER) + j = gFacilityClassToTrainerClass[FACILITY_CLASS_BRENDAN], trGender = gSaveBlock2Ptr->playerGender; + else if (trainerId == TRAINER_FRONTIER_BRAIN) + j = GetDomeBrainTrainerClass(), trGender = -1; + else + j = GetFrontierOpponentClass(trainerId), trGender = IsFrontierTrainerFemale(trainerId); + + trClassName = GetTrainerClassNameGenderSpecific(j, trGender, NULL); + for (; *trClassName != EOS; trClassName++, i++) + gStringVar1[i] = *trClassName; +#endif gStringVar1[i] = CHAR_SPACE; gStringVar1[i + 1] = EOS; diff --git a/src/battle_factory_screen.c b/src/battle_factory_screen.c index e2b626a634..4fb6637775 100644 --- a/src/battle_factory_screen.c +++ b/src/battle_factory_screen.c @@ -2106,10 +2106,10 @@ static void SpriteCB_CloseChosenMonPics(struct Sprite *sprite) // Task data for Select_Task_OpenChosenMonPics, Select_Task_CloseChosenMonPics, Task_CloseMonPic, and Task_OpenMonPic #define tWinLeft data[3] -#ifndef UBFIX -#define tWinRight data[24] // UB: Typo? Likely meant data[4], 24 is out of bounds -#else +#if FRENCH || defined(UBFIX) #define tWinRight data[4] +#else +#define tWinRight data[24] // UB: Typo? Likely meant data[4], 24 is out of bounds #endif #define tWinTop data[5] #define tWinBottom data[8] diff --git a/src/battle_main.c b/src/battle_main.c index d9469470e9..253f09cba9 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -433,6 +433,7 @@ const u8 gTypeEffectiveness[336] = const u8 gTypeNames[NUMBER_OF_MON_TYPES][TYPE_NAME_LENGTH + 1] = { +#if ENGLISH [TYPE_NORMAL] = _("NORMAL"), [TYPE_FIGHTING] = _("FIGHT"), [TYPE_FLYING] = _("FLYING"), @@ -451,6 +452,26 @@ const u8 gTypeNames[NUMBER_OF_MON_TYPES][TYPE_NAME_LENGTH + 1] = [TYPE_ICE] = _("ICE"), [TYPE_DRAGON] = _("DRAGON"), [TYPE_DARK] = _("DARK"), +#elif FRENCH + [TYPE_NORMAL] = _("NORMAL"), + [TYPE_FIGHTING] = _("COMBAT"), + [TYPE_FLYING] = _("VOL"), + [TYPE_POISON] = _("POISON"), + [TYPE_GROUND] = _("SOL"), + [TYPE_ROCK] = _("ROCHE"), + [TYPE_BUG] = _("INSECT"), + [TYPE_GHOST] = _("SPECTR"), + [TYPE_STEEL] = _("ACIER"), + [TYPE_MYSTERY] = _("???"), + [TYPE_FIRE] = _("FEU"), + [TYPE_WATER] = _("EAU"), + [TYPE_GRASS] = _("PLANTE"), + [TYPE_ELECTRIC] = _("ELECTR"), + [TYPE_PSYCHIC] = _("PSY"), + [TYPE_ICE] = _("GLACE"), + [TYPE_DRAGON] = _("DRAGON"), + [TYPE_DARK] = _("TENEBR"), +#endif }; // This is a factor in how much money you get for beating a trainer. @@ -1068,7 +1089,7 @@ static void CB2_HandleStartBattle(void) // Recv Pokémon 5-6 ResetBlockReceivedFlags(); memcpy(&gEnemyParty[4], gBlockRecvBuffer[enemyMultiplayerId], sizeof(struct Pokemon) * 2); - + TryCorrectShedinjaLanguage(&gEnemyParty[0]); TryCorrectShedinjaLanguage(&gEnemyParty[1]); TryCorrectShedinjaLanguage(&gEnemyParty[2]); @@ -2489,7 +2510,11 @@ static void AskRecordBattle(void) case STATE_PRINT_YES_NO: if (!IsTextPrinterActive(B_WIN_MSG)) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); + #if ENGLISH + HandleBattleWindow(24, 8, 0x1D, 0xD, 0); + #elif FRENCH + HandleBattleWindow(23, 8, 0x1D, 0xD, 0); + #endif BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gBattleCommunication[CURSOR_POSITION] = 1; BattleCreateYesNoCursorAt(1); @@ -2524,8 +2549,12 @@ static void AskRecordBattle(void) PlaySE(SE_SELECT); if (gBattleCommunication[CURSOR_POSITION] == 0) { - // Selected Yes - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + // Selected Yes + #if ENGLISH + HandleBattleWindow(24, 8, 0x1D, 0xD, WINDOW_CLEAR); + #elif FRENCH + HandleBattleWindow(23, 8, 0x1D, 0xD, WINDOW_CLEAR); + #endif gBattleCommunication[1] = MoveRecordedBattleToSaveData(); gBattleCommunication[MULTIUSE_STATE] = STATE_RECORD_YES; } @@ -2544,7 +2573,11 @@ static void AskRecordBattle(void) case STATE_RECORD_NO: if (IsLinkTaskFinished() == TRUE) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + #if ENGLISH + HandleBattleWindow(24, 8, 0x1D, 0xD, WINDOW_CLEAR); + #elif FRENCH + HandleBattleWindow(23, 8, 0x1D, 0xD, WINDOW_CLEAR); + #endif if (gMain.anyLinkBattlerHasFrontierPass) { // Other battlers may be recording, wait for them @@ -2985,7 +3018,7 @@ static void SpriteCB_TrainerThrowObject_Main(struct Sprite *sprite) sprite->callback = SpriteCB_Idle; } -// Sprite callback for a trainer back pic to throw an object +// Sprite callback for a trainer back pic to throw an object // (Wally throwing a ball, throwing Pokéblocks/balls in the Safari Zone) void SpriteCB_TrainerThrowObject(struct Sprite *sprite) { diff --git a/src/battle_pike.c b/src/battle_pike.c index 433dd0a083..dc80224a45 100644 --- a/src/battle_pike.c +++ b/src/battle_pike.c @@ -420,6 +420,7 @@ static const struct PikeRoomNPC sNPCTable[] = static const u16 sNPCSpeeches[][EASY_CHAT_BATTLE_WORDS_COUNT] = { +#if ENGLISH {EC_WORD_I_AM, EC_WORD_LOST, EC_WORD_I, EC_WORD_NEED, EC_WORD_A, EC_MOVE2(HELPING_HAND)}, {EC_WORD_I_VE, EC_WORD_NO, EC_WORD_SENSE, EC_WORD_OF, EC_WORD_WHERE, EC_WORD_I_AM}, {EC_WORD_WHAT, EC_WORD_SHOULD, EC_WORD_I, EC_WORD_DO, EC_WORD_NOW, EC_WORD_QUES}, @@ -462,6 +463,50 @@ static const u16 sNPCSpeeches[][EASY_CHAT_BATTLE_WORDS_COUNT] = {EC_WORD_MY, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_STRONG, EC_WORD_TO, EC_WORD_POISON}, {EC_WORD_LALALA, EC_WORD_LALALA, EC_WORD_EXCL, EC_WORD_I_AM, EC_WORD_AWESOME, EC_WORD_LALALA}, {EC_MOVE2(TOXIC), EC_WORD_IS, EC_WORD_A, EC_WORD_TERRIBLE, EC_WORD_THING, EC_WORD_ISN_T_IT_QUES}, +#elif FRENCH + {EC_WORD_I_AM, EC_WORD_LOST, EC_WORD_GIVE_ME, EC_WORD_A, EC_MOVE2(HELPING_HAND), EC_WORD_EXCL}, + {EC_WORD_HIM, EC_WORD_ALSO, EC_WORD_YOU_RE, EC_EMPTY_WORD, EC_WORD_LOST, EC_WORD_QUES}, + {EC_WORD_THAT, EC_WORD_MAKE, EC_WORD_NOW, EC_WORD_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD}, + {EC_WORD_IT_S, EC_WORD_RECOMMEND, EC_WORD_EXCITING, EC_WORD_FOR, EC_WORD_ME, EC_WORD_EXCL}, + {EC_WORD_WHOM, EC_WORD_DIDN_T, EC_WORD_AN, EC_EMPTY_WORD, EC_WORD_MISTAKE, EC_WORD_QUES}, + {EC_WORD_IT_S, EC_WORD_REALLY, EC_WORD_RECOMMEND, EC_WORD_MEAN, EC_WORD_THERE, EC_WORD_EXCL}, + {EC_WORD_NEED, EC_EMPTY_WORD, EC_WORD_WONDER, EC_WORD_AN, EC_WORD_NAP, EC_WORD_ELLIPSIS}, + {EC_WORD_SOMEONE, EC_WORD_EVER, EC_WORD_A_LOT, EC_WORD_THIS, EC_WORD_CHALLENGE, EC_WORD_EXCL}, + {EC_WORD_LOOKS, EC_EMPTY_WORD, EC_WORD_WILL, EC_EMPTY_WORD, EC_WORD_WIN, EC_WORD_ELLIPSIS}, + {EC_WORD_READY, EC_WORD_EVEN_SO, EC_WORD_GIVE_UP, EC_WORD_MY, EC_WORD_SMALL, EC_WORD_QUES}, + {EC_WORD_OH, EC_WORD_ELLIPSIS, EC_WORD_WHO, EC_WORD_ELLIPSIS, EC_WORD_DOES, EC_WORD_QUES}, + {EC_WORD_I_AM, EC_WORD_THERE, EC_WORD_SINCE, EC_WORD_MOOD, EC_WORD_DAYS, EC_WORD_ELLIPSIS}, + {EC_WORD_I, EC_WORD_THINKS, EC_WORD_THAT, EC_WORD_WILL, EC_WORD_GIVE_UP, EC_WORD_EXCL}, + {EC_WORD_THAT, EC_EMPTY_WORD, EC_WORD_MAKE, EC_WORD_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD}, + {EC_WORD_I, EC_WORD_COULD, EC_WORD_WIN, EC_WORD_WITH, EC_WORD_FEELING, EC_MOVE(SHEER_COLD)}, + {EC_WORD_I, EC_WORD_ON, EC_WORD_LISTEN, EC_WORD_OF, EC_WORD_COOL, EC_WORD_EXCL}, + {EC_WORD_FIGHT, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_REALLY, EC_WORD_MEAN, EC_WORD_EXCL}, + {EC_WORD_TODAY, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_EMPTY_WORD, EC_WORD_WEAK, EC_WORD_ELLIPSIS}, + {EC_WORD_THE, EC_WORD_TIME, EC_WORD_IS, EC_EMPTY_WORD, EC_WORD_GREAT, EC_WORD_EXCL_EXCL}, + {EC_WORD_NOT, EC_WORD_LAY, EC_WORD_A, EC_WORD_OTHER, EC_WORD_TRAINER, EC_WORD_ELLIPSIS}, + {EC_WORD_I, EC_WORD_THINKS, EC_WORD_THAT, EC_WORD_IT_S, EC_WORD_EVEN_SO, EC_WORD_LEFT}, + {EC_WORD_IT_S, EC_EMPTY_WORD, EC_WORD_SOON, EC_WORD_FEELING, EC_WORD_END, EC_WORD_QUES}, + {EC_WORD_IT_S, EC_WORD_REALLY, EC_WORD_RECOMMEND, EC_EMPTY_WORD, EC_WORD_EASY, EC_WORD_EXCL}, + {EC_WORD_APOLOGIZE, EC_WORD_I, EC_MOVE2(TACKLE), EC_WORD_DAUGHTER, EC_MOVE(FOCUS_ENERGY), EC_WORD_EXCL}, + {EC_WORD_SURRENDER, EC_WORD_QUES, EC_WORD_I, EC_EMPTY_WORD, EC_WORD_REFUSE, EC_WORD_EXCL}, + {EC_WORD_I_AM, EC_WORD_A_LOT, EC_WORD_TOO_WEAK, EC_EMPTY_WORD, EC_WORD_TODAY, EC_WORD_ELLIPSIS}, + {EC_WORD_I, EC_WORD_ISN_T, EC_WORD_COULD, EC_WORD_PLUS, EC_WORD_WHO_WAS, EC_WORD_WHEN_I_WIN}, + {EC_WORD_A, EC_WORD_TRAINER, EC_WORD_FOREVER, EC_EMPTY_WORD, EC_WORD_MISS, EC_WORD_OTHER}, + {EC_WORD_CASE, EC_WORD_POKEMON, EC_WORD_STEEL, EC_WORD_ELLIPSIS, EC_WORD_IT_S, EC_WORD_AWESOME}, + {EC_WORD_THERE, EC_WORD_ELLIPSIS, EC_WORD_I_AM, EC_WORD_THE, EC_WORD_BEST, EC_WORD_TRAINER}, + {EC_WORD_IT_S, EC_WORD_HARD, EC_WORD_BUT, EC_WORD_IT_S, EC_WORD_ENTERTAINING, EC_WORD_EXCL_EXCL}, + {EC_WORD_AND, EC_EMPTY_WORD, EC_WORD_FOREVER, EC_WORD_QUES, EC_EMPTY_WORD, EC_EMPTY_WORD}, + {EC_WORD_I_AM, EC_WORD_RATHER, EC_WORD_CONFUSED, EC_WORD_ELLIPSIS, EC_EMPTY_WORD, EC_EMPTY_WORD}, + {EC_WORD_GOOD_BYE, EC_WORD_ELLIPSIS, EC_WORD_WILL, EC_WORD_EVEN_SO, EC_WORD_FEELING, EC_WORD_HOME}, + {EC_WORD_IT_S, EC_WORD_REALLY, EC_WORD_NO_MATCH, EC_EMPTY_WORD, EC_WORD_THERE, EC_WORD_EXCL}, + {EC_WORD_A, EC_WORD_FIGHTING, EC_WORD_IT_S, EC_WORD_PROBABLY, EC_WORD_EXCITING, EC_WORD_EXCL}, + {EC_WORD_I_AM, EC_WORD_UP, EC_WORD_THAT, EC_WORD_IT_S, EC_WORD_EVEN_SO, EC_WORD_RIGHT}, + {EC_WORD_NO, EC_WORD_EXCL, EC_WORD_IT_S, EC_WORD_NOT, EC_WORD_JUST, EC_WORD_ELLIPSIS}, + {EC_WORD_WHO_IS, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_VERY, EC_WORD_NEVER, EC_WORD_EXCL}, + {EC_WORD_WHO_IS, EC_WORD_POKEMON, EC_WORD_ARE, EC_WORD_VERSUS, EC_WORD_THE, EC_WORD_POISON}, + {EC_WORD_LALALA, EC_WORD_LALALA, EC_WORD_I_AM, EC_WORD_THIN, EC_WORD_LALALA, EC_WORD_EXCL}, + {EC_MOVE2(TOXIC), EC_WORD_IT_S, EC_WORD_REALLY, EC_EMPTY_WORD, EC_WORD_AWFUL, EC_WORD_EXCL}, +#endif }; // Table duplicated from frontier_util, only Battle Pike entry used diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 575b9c987a..43e7837dca 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -5369,7 +5369,11 @@ static void Cmd_yesnoboxlearnmove(void) switch (gBattleScripting.learnMoveState) { case 0: + #if ENGLISH HandleBattleWindow(24, 8, 29, 13, 0); + #elif FRENCH + HandleBattleWindow(23, 8, 29, 13, 0); + #endif BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gBattleScripting.learnMoveState++; gBattleCommunication[CURSOR_POSITION] = 0; @@ -5395,7 +5399,11 @@ static void Cmd_yesnoboxlearnmove(void) PlaySE(SE_SELECT); if (gBattleCommunication[1] == 0) { + #if ENGLISH HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + #elif FRENCH + HandleBattleWindow(23, 8, 29, 13, WINDOW_CLEAR); + #endif BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 16, RGB_BLACK); gBattleScripting.learnMoveState++; } @@ -5466,7 +5474,11 @@ static void Cmd_yesnoboxlearnmove(void) } break; case 5: + #if ENGLISH HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + #elif FRENCH + HandleBattleWindow(23, 8, 29, 13, WINDOW_CLEAR); + #endif gBattlescriptCurrInstr += 5; break; case 6: @@ -5483,7 +5495,11 @@ static void Cmd_yesnoboxstoplearningmove(void) switch (gBattleScripting.learnMoveState) { case 0: + #if ENGLISH HandleBattleWindow(24, 8, 29, 13, 0); + #elif FRENCH + HandleBattleWindow(23, 8, 29, 13, 0); + #endif BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gBattleScripting.learnMoveState++; gBattleCommunication[CURSOR_POSITION] = 0; @@ -5513,13 +5529,21 @@ static void Cmd_yesnoboxstoplearningmove(void) else gBattlescriptCurrInstr += 5; + #if ENGLISH HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + #elif FRENCH + HandleBattleWindow(23, 8, 29, 13, WINDOW_CLEAR); + #endif } else if (JOY_NEW(B_BUTTON)) { PlaySE(SE_SELECT); gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1); + #if ENGLISH HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + #elif FRENCH + HandleBattleWindow(23, 8, 29, 13, WINDOW_CLEAR); + #endif } break; } @@ -5779,7 +5803,11 @@ static void Cmd_yesnobox(void) switch (gBattleCommunication[0]) { case 0: + #if ENGLISH HandleBattleWindow(24, 8, 29, 13, 0); + #elif FRENCH + HandleBattleWindow(23, 8, 29, 13, 0); + #endif BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gBattleCommunication[0]++; gBattleCommunication[CURSOR_POSITION] = 0; @@ -5804,13 +5832,21 @@ static void Cmd_yesnobox(void) { gBattleCommunication[CURSOR_POSITION] = 1; PlaySE(SE_SELECT); + #if ENGLISH HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + #elif FRENCH + HandleBattleWindow(23, 8, 29, 13, WINDOW_CLEAR); + #endif gBattlescriptCurrInstr++; } else if (JOY_NEW(A_BUTTON)) { PlaySE(SE_SELECT); + #if ENGLISH HandleBattleWindow(24, 8, 29, 13, WINDOW_CLEAR); + #elif FRENCH + HandleBattleWindow(23, 8, 29, 13, WINDOW_CLEAR); + #endif gBattlescriptCurrInstr++; } break; @@ -10096,8 +10132,11 @@ void BattleCreateYesNoCursorAt(u8 cursorPosition) u16 src[2]; src[0] = 1; src[1] = 2; - +#if ENGLISH CopyToBgTilemapBufferRect_ChangePalette(0, src, 0x19, 9 + (2 * cursorPosition), 1, 2, 0x11); +#elif FRENCH + CopyToBgTilemapBufferRect_ChangePalette(0, src, 0x18, 9 + (2 * cursorPosition), 1, 2, 0x11); +#endif CopyBgTilemapBufferToVram(0); } @@ -10107,7 +10146,11 @@ void BattleDestroyYesNoCursorAt(u8 cursorPosition) src[0] = 0x1016; src[1] = 0x1016; +#if ENGLISH CopyToBgTilemapBufferRect_ChangePalette(0, src, 0x19, 9 + (2 * cursorPosition), 1, 2, 0x11); +#elif FRENCH + CopyToBgTilemapBufferRect_ChangePalette(0, src, 0x18, 9 + (2 * cursorPosition), 1, 2, 0x11); +#endif CopyBgTilemapBufferToVram(0); } @@ -10116,7 +10159,11 @@ static void Cmd_trygivecaughtmonnick(void) switch (gBattleCommunication[MULTIUSE_STATE]) { case 0: + #if ENGLISH HandleBattleWindow(24, 8, 29, 13, 0); + #elif FRENCH + HandleBattleWindow(23, 8, 29, 13, 0); + #endif BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gBattleCommunication[MULTIUSE_STATE]++; gBattleCommunication[CURSOR_POSITION] = 0; diff --git a/src/battle_tent.c b/src/battle_tent.c index dba9e6e8a0..e51ac38a5a 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -390,7 +390,7 @@ static void GenerateOpponentMons(void) while (i != FRONTIER_PARTY_SIZE) { sRandMonId = monSet[Random() % numMons]; - + // Ensure none of the opponent's pokemon are the same as the potential rental pokemon for the player for (j = 0; j < (int)ARRAY_COUNT(gSaveBlock2Ptr->frontier.rentalMons); j++) { diff --git a/src/battle_tower.c b/src/battle_tower.c index bebbdee7da..9573c0b322 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -56,6 +56,9 @@ static void SetTowerBattleWon(void); static void AwardBattleTowerRibbons(void); static void SaveTowerChallenge(void); static void GetOpponentIntroSpeech(void); +#if FRENCH +static void GetOpponentIntroSpeech2(void); +#endif static void BattleTowerNop1(void); static void BattleTowerNop2(void); static void LoadMultiPartnerCandidatesData(void); @@ -818,6 +821,9 @@ static void (* const sBattleTowerFuncs[])(void) = [BATTLE_TOWER_FUNC_TRY_CLOSE_LINK] = TowerTryCloseLink, [BATTLE_TOWER_FUNC_SET_PARTNER_GFX] = SetMultiPartnerGfx, [BATTLE_TOWER_FUNC_SET_INTERVIEW_DATA] = SetTowerInterviewData, +#if FRENCH + [BATTLE_TOWER_FUNC_GET_OPPONENT_INTRO2] = GetOpponentIntroSpeech2, +#endif }; static const u32 sWinStreakFlags[][2] = @@ -890,12 +896,20 @@ static const u8 sBattleTowerPartySizes[FRONTIER_MODE_COUNT] = static const u16 sRecordTrainerSpeechWon[] = { +#if ENGLISH EC_WORD_YAY, EC_WORD_YAY, EC_WORD_EXCL_EXCL, EC_WORD_I_VE, EC_WORD_WON, EC_WORD_EXCL_EXCL +#elif FRENCH + EC_WORD_YAY, EC_WORD_EXCL_EXCL, EC_WORD_I_VE, EC_EMPTY_WORD, EC_WORD_WINS, EC_WORD_EXCL_EXCL +#endif }; static const u16 sRecordTrainerSpeechLost[] = { +#if ENGLISH EC_WORD_TOO, EC_WORD_BAD, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_LOST, EC_WORD_ELLIPSIS +#elif FRENCH + EC_WORD_SLIMY, EC_WORD_ELLIPSIS, EC_WORD_TO_US, EC_WORD_EVEN_SO, EC_WORD_LOST, EC_WORD_EXCL +#endif }; // code @@ -1574,7 +1588,11 @@ void GetFrontierTrainerName(u8 *dst, u16 trainerId) dst[i] = EOS; } +#if ENGLISH static bool8 IsFrontierTrainerFemale(u16 trainerId) +#elif FRENCH +bool8 IsFrontierTrainerFemale(u16 trainerId) +#endif { u32 i; u8 facilityClass; @@ -1918,6 +1936,7 @@ static void FillFactoryTentTrainerParty(u16 trainerId, u8 firstMonId) void FrontierSpeechToString(const u16 *words) { +#if ENGLISH ConvertEasyChatWordsToString(gStringVar4, words, 3, 2); if (GetStringWidth(FONT_NORMAL, gStringVar4, -1) > 204u) { @@ -1931,6 +1950,9 @@ void FrontierSpeechToString(const u16 *words) gStringVar4[i] = CHAR_PROMPT_SCROLL; } +#elif FRENCH + UnusedConvertEasyChatWordsToString(gStringVar4, words, 2, 3); +#endif } static void GetOpponentIntroSpeech(void) @@ -1953,6 +1975,45 @@ static void GetOpponentIntroSpeech(void) BufferApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE); } +#if FRENCH +void FrontierSpeechToString2(const u16 *words) +{ + ConvertEasyChatWordsToString(gStringVar4, words, 3, 2); + if (GetStringWidth(FONT_NORMAL, gStringVar4, -1) > 204u) + { + s32 i = 0; + + ConvertEasyChatWordsToString(gStringVar4, words, 2, 3); + while (gStringVar4[i++] != CHAR_NEWLINE) + ; + while (gStringVar4[i] != CHAR_NEWLINE) + i++; + + gStringVar4[i] = CHAR_PROMPT_SCROLL; + } +} + +static void GetOpponentIntroSpeech2(void) +{ + u16 trainerId; + SetFacilityPtrsGetLevel(); + + if (gSpecialVar_0x8005) + trainerId = gTrainerBattleOpponent_B; + else + trainerId = gTrainerBattleOpponent_A; + + if (trainerId == TRAINER_EREADER) + FrontierSpeechToString2(gSaveBlock2Ptr->frontier.ereaderTrainer.greeting); + else if (trainerId < FRONTIER_TRAINERS_COUNT) + FrontierSpeechToString2(gFacilityTrainers[trainerId].speechBefore); + else if (trainerId < TRAINER_RECORD_MIXING_APPRENTICE) + FrontierSpeechToString2(gSaveBlock2Ptr->frontier.towerRecords[trainerId - TRAINER_RECORD_MIXING_FRIEND].greeting); + else + BufferApprenticeChallengeText(trainerId - TRAINER_RECORD_MIXING_APPRENTICE); +} +#endif + static void HandleSpecialTrainerBattleEnd(void) { s32 i; @@ -2678,6 +2739,9 @@ static void SetTowerInterviewData(void) GetFrontierTrainerName(text, gTrainerBattleOpponent_A); StripExtCtrlCodes(text); +#if FRENCH + text[7] = EOS; +#endif StringCopy(gSaveBlock2Ptr->frontier.towerInterview.opponentName, text); GetBattleTowerTrainerLanguage(&gSaveBlock2Ptr->frontier.towerInterview.opponentLanguage, gTrainerBattleOpponent_A); gSaveBlock2Ptr->frontier.towerInterview.opponentSpecies = GetMonData(&gEnemyParty[gBattlerPartyIndexes[1]], MON_DATA_SPECIES, NULL); diff --git a/src/easy_chat.c b/src/easy_chat.c index 2bbd16cb27..cc0b610754 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -679,15 +679,27 @@ static const u8 sAlphabetGroupIdMap[NUM_ALPHABET_ROWS][NUM_ALPHABET_COLUMNS] = { }; static const u16 sMysteryGiftPhrase[NUM_QUESTIONNAIRE_WORDS] = { +#if ENGLISH EC_WORD_LINK, EC_WORD_TOGETHER, EC_WORD_WITH, EC_WORD_ALL, +#elif FRENCH + EC_WORD_LINK, + EC_WORD_WITH, + EC_WORD_CASE, + EC_WORD_TRAINER, +#endif }; static const u16 sBerryMasterWifePhrases[][2] = { +#if ENGLISH [PHRASE_GREAT_BATTLE - 1] = {EC_WORD_GREAT, EC_WORD_BATTLE}, [PHRASE_CHALLENGE_CONTEST - 1] = {EC_WORD_CHALLENGE, EC_WORD_CONTEST}, +#elif FRENCH + [PHRASE_GREAT_BATTLE - 1] = {EC_WORD_GREAT, EC_WORD_FIGHTING}, + [PHRASE_CHALLENGE_CONTEST - 1] = {EC_WORD_CONTEST, EC_WORD_CHALLENGE}, +#endif [PHRASE_OVERWHELMING_LATIAS - 1] = {EC_WORD_OVERWHELMING, EC_POKEMON(LATIAS)}, [PHRASE_COOL_LATIOS - 1] = {EC_WORD_COOL, EC_POKEMON(LATIOS)}, [PHRASE_SUPER_HUSTLE - 1] = {EC_WORD_SUPER, EC_WORD_HUSTLE}, @@ -816,9 +828,15 @@ static const struct BgTemplate sEasyChatBgTemplates[] = { static const struct WindowTemplate sEasyChatWindowTemplates[] = { { .bg = 1, +#if ENGLISH .tilemapLeft = 6, .tilemapTop = 0, .width = 18, +#elif FRENCH + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 30, +#endif .height = 2, .paletteNum = 10, .baseBlock = 0x10, @@ -1181,8 +1199,13 @@ static const struct SpriteTemplate sSpriteTemplate_ScrollIndicator = { static const u8 sFooterOptionXOffsets[NUM_FOOTER_TYPES][4] = { [FOOTER_NORMAL] = {16, 111, 196, 0}, +#if ENGLISH [FOOTER_QUIZ] = {16, 78, 130, 160}, [FOOTER_ANSWER] = {16, 80, 134, 170}, +#elif FRENCH + [FOOTER_QUIZ] = {16, 82, 148, 184}, + [FOOTER_ANSWER] = {16, 78, 141, 174}, +#endif }; static const u8 *const sFooterTextOptions[NUM_FOOTER_TYPES][4] = { @@ -1220,37 +1243,71 @@ static const u8 *const sEasyChatGroupNamePointers[EC_NUM_GROUPS] = { }; static const u16 sDefaultProfileWords[EASY_CHAT_BATTLE_WORDS_COUNT - 2] = { +#if ENGLISH EC_WORD_I_AM, EC_WORD_A, EC_WORD_POKEMON, EC_WORD_FRIEND, +#elif FRENCH + EC_WORD_ADORE, + EC_WORD_CASE, + EC_WORD_POKEMON, + EC_EMPTY_WORD, +#endif }; static const u16 sDefaultBattleStartWords[EASY_CHAT_BATTLE_WORDS_COUNT] = { +#if ENGLISH EC_WORD_ARE, EC_WORD_YOU, EC_WORD_READY, EC_WORD_QUES, EC_WORD_HERE_I_COME, EC_WORD_EXCL, +#elif FRENCH + EC_WORD_APOLOGIZE, + EC_WORD_EXCL, + EC_WORD_HERE_I_COME, + EC_WORD_EXCL, + EC_EMPTY_WORD, + EC_EMPTY_WORD, +#endif }; static const u16 sDefaultBattleWonWords[EASY_CHAT_BATTLE_WORDS_COUNT] = { +#if ENGLISH EC_WORD_YAY, EC_WORD_YAY, EC_WORD_EXCL_EXCL, EC_WORD_I_VE, EC_WORD_WON, EC_WORD_EXCL_EXCL, +#elif FRENCH + EC_WORD_YAY, + EC_WORD_YAY, + EC_WORD_I_VE, + EC_WORD_REALLY, + EC_WORD_WINS, + EC_WORD_EXCL_EXCL, +#endif }; static const u16 sDefaultBattleLostWords[EASY_CHAT_BATTLE_WORDS_COUNT] = { +#if ENGLISH EC_WORD_TOO, EC_WORD_BAD, EC_WORD_ELLIPSIS, EC_WORD_WE, EC_WORD_LOST, EC_WORD_ELLIPSIS, +#elif FRENCH + EC_WORD_IT_S, + EC_EMPTY_WORD, + EC_WORD_AWFUL, + EC_WORD_ELLIPSIS, + EC_WORD_I_VE, + EC_WORD_LOST, +#endif }; static const u16 sRestrictedWordSpecies[] = { @@ -3927,7 +3984,11 @@ static void PrintTitle(void) if (!titleText) return; +#if ENGLISH xOffset = GetStringCenterAlignXOffset(FONT_NORMAL, titleText, 144); +#elif FRENCH + xOffset = GetStringCenterAlignXOffset(FONT_NORMAL, titleText, 240); +#endif FillWindowPixelBuffer(0, PIXEL_FILL(0)); PrintEasyChatTextWithColors(0, FONT_NORMAL, titleText, xOffset, 1, TEXT_SKIP_DRAW, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_DARK_GRAY, TEXT_COLOR_LIGHT_GRAY); PutWindowTilemap(0); @@ -4025,7 +4086,11 @@ static void AddPhraseWindow(void) template.width = sPhraseFrameDimensions[frameId].width; template.height = sPhraseFrameDimensions[frameId].height; template.paletteNum = 11; +#if ENGLISH template.baseBlock = 0x6C; +#elif FRENCH + template.baseBlock = 0x84; +#endif sScreenControl->windowId = AddWindow(&template); PutWindowTilemap(sScreenControl->windowId); } @@ -5070,7 +5135,11 @@ static void AddMainScreenButtonWindow(void) template.width = 28; template.height = 2; template.paletteNum = 11; +#if ENGLISH template.baseBlock = 0x34; +#elif FRENCH + template.baseBlock = 0x4C; +#endif windowId = AddWindow(&template); FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); for (i = 0; i < (int)ARRAY_COUNT(sFooterTextOptions[0]); i++) @@ -5246,7 +5315,11 @@ u8 *ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows return dest; } +#if ENGLISH static u8 *UnusedConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows) +#elif FRENCH +u8 *UnusedConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 columns, u16 rows) +#endif { u16 i, j, k; u16 numColumns; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 48b514e636..997a9f5341 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -899,7 +899,7 @@ static void Task_EvolutionScene(u8 taskId) case MVSTATE_PRINT_YES_NO: if (!IsTextPrinterActive(0) && !IsSEPlaying()) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, 0); + HandleBattleWindow(24, 8, 0x1D, 0xD, 0); BattlePutTextOnWindow(gText_BattleYesNoChoice, B_WIN_YESNO); gTasks[taskId].tLearnMoveState++; sEvoCursorPos = 0; @@ -928,7 +928,7 @@ static void Task_EvolutionScene(u8 taskId) } if (JOY_NEW(A_BUTTON)) { - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + HandleBattleWindow(24, 8, 0x1D, 0xD, WINDOW_CLEAR); PlaySE(SE_SELECT); if (sEvoCursorPos != 0) @@ -947,7 +947,7 @@ static void Task_EvolutionScene(u8 taskId) if (JOY_NEW(B_BUTTON)) { // Equivalent to selecting NO - HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); + HandleBattleWindow(24, 8, 0x1D, 0xD, WINDOW_CLEAR); PlaySE(SE_SELECT); gTasks[taskId].tLearnMoveState = gTasks[taskId].tLearnMoveNoState; } diff --git a/src/international_string_util.c b/src/international_string_util.c index f71734fa7e..ff8a7bcb57 100644 --- a/src/international_string_util.c +++ b/src/international_string_util.c @@ -1,4 +1,5 @@ #include "global.h" +#include "data.h" #include "international_string_util.h" #include "list_menu.h" #include "pokedex.h" @@ -7,6 +8,7 @@ #include "strings.h" #include "text.h" #include "window.h" +#include "constants/trainers.h" extern const struct PokedexEntry gPokedexEntries[]; @@ -89,8 +91,10 @@ int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu) void CopyMonCategoryText(int dexNum, u8 *dest) { u8 *str = StringCopy(dest, gPokedexEntries[dexNum].categoryName); +#if ENGLISH *str = CHAR_SPACE; StringCopy(str + 1, gText_Pokemon); +#endif } u8 *GetStringClearToWidth(u8 *dest, int fontId, const u8 *str, int totalStringWidth) @@ -234,3 +238,53 @@ void FillWindowTilesByRow(int windowId, int columnStart, int rowStart, int numFi } } } + +#if FRENCH +u8 *StringAppendWithPlaceholder(u8 *dest, const u8 *src, u8 *placeholderStr) +{ + u8 text[32], c; + + StringCopyN(text, placeholderStr, 31); + text[31] = EOS; + placeholderStr = text; + while ((c = *src++) != EOS) + { + if (c == PLACEHOLDER_BEGIN) + { + src++; + dest = StringCopy(dest, placeholderStr); + } + else + { + *dest = c; + dest++; + } + } + *dest = EOS; + return dest; +} + +const u8 gText_LevyTatia[] = _("LEVY&TATIA"); + +const u8 *GetTrainerClassNameGenderSpecific(s32 trainerClassId, u32 trainerGender, const u8 *trainerName) +{ + switch (trainerClassId) + { + case TRAINER_CLASS_SCHOOL_KID: + if (trainerGender != 0) + return gText_Eleve; // ELEVE + return gTrainerClassNames[trainerClassId]; + case TRAINER_CLASS_RIVAL: + case TRAINER_CLASS_RS_PROTAG: + if (trainerGender != 0) + return gText_Dresseur; // DRESSEUR + break; + case TRAINER_CLASS_LEADER: + if (trainerName != NULL && StringCompare(trainerName, gText_LevyTatia) == 0) + return gText_Champion; // CHAMPION + break; + } + trainerName = gTrainerClassNames[trainerClassId]; + return trainerName; +} +#endif diff --git a/src/pokenav_match_call_data.c b/src/pokenav_match_call_data.c index 2e8cc40b5c..d4c7c9cb6c 100644 --- a/src/pokenav_match_call_data.c +++ b/src/pokenav_match_call_data.c @@ -8,6 +8,9 @@ #include "match_call.h" #include "pokenav.h" #include "strings.h" +#if FRENCH +#include "international_string_util.h" +#endif #include "constants/region_map_sections.h" #include "constants/trainers.h" @@ -279,7 +282,11 @@ static const struct MatchCallRival sMayMatchCallHeader = .type = MC_TYPE_RIVAL, .playerGender = MALE, .flag = FLAG_ENABLE_RIVAL_MATCH_CALL, +#if ENGLISH .desc = gText_MayBrendanMatchCallDesc, +#elif FRENCH + .desc = gText_MayMatchCallDesc, +#endif .name = gText_ExpandedPlaceholder_May, .textData = sMayTextScripts }; @@ -308,7 +315,11 @@ static const struct MatchCallRival sBrendanMatchCallHeader = .type = MC_TYPE_RIVAL, .playerGender = FEMALE, .flag = FLAG_ENABLE_RIVAL_MATCH_CALL, +#if ENGLISH .desc = gText_MayBrendanMatchCallDesc, +#elif FRENCH + .desc = gText_BrendanMatchCallDesc, +#endif .name = gText_ExpandedPlaceholder_Brendan, .textData = sBrendanTextScripts }; @@ -1088,7 +1099,11 @@ static void MatchCall_GetNameAndDesc_Birch(match_call_t matchCall, const u8 **de static void MatchCall_GetNameAndDescByRematchIdx(u32 idx, const u8 **desc, const u8 **name) { const struct Trainer *trainer = gTrainers + GetTrainerIdxByRematchIdx(idx); +#if ENGLISH *desc = gTrainerClassNames[trainer->trainerClass]; +#elif FRENCH + *desc = GetTrainerClassNameGenderSpecific(trainer->trainerClass, trainer->encounterMusic_gender, trainer->trainerName); +#endif *name = trainer->trainerName; } diff --git a/src/strings.c b/src/strings.c index 492a9601d2..8118bed4d3 100644 --- a/src/strings.c +++ b/src/strings.c @@ -4,6 +4,7 @@ #include "item_menu.h" ALIGNED(4) +#if ENGLISH const u8 gText_ExpandedPlaceholder_Empty[] = _(""); const u8 gText_ExpandedPlaceholder_Kun[] = _(""); const u8 gText_ExpandedPlaceholder_Chan[] = _(""); @@ -101,12 +102,12 @@ const u8 gText_ThisIsAPokemon[] = _("This is what we call a “POKéMON.”{PAUS const u8 gText_5MarksPokemon[] = _("????? POKéMON"); const u8 gText_UnkHeight[] = _("{CLEAR_TO 0x0C}??'??”"); const u8 gText_UnkWeight[] = _("????.? lbs."); -const u8 gText_EmptyPkmnCategory[] = _(" POKéMON"); // Unused -const u8 gText_EmptyHeight[] = _("{CLEAR_TO 0x0C} ' ”"); // Unused -const u8 gText_EmptyWeight[] = _(" . lbs."); // Unused -const u8 gText_EmptyPokedexInfo1[] = _(""); // Unused +const u8 gText_EmptyPkmnCategory[] = _(" POKéMON"); // Used in French +const u8 gText_EmptyHeight[] = _("{CLEAR_TO 0x0C} ' ”"); // Used in French +const u8 gText_EmptyWeight[] = _(" . lbs."); // Used in French +const u8 gText_EmptyPokedexInfo1[] = _(""); // Used in French const u8 gText_CryOf[] = _("CRY OF"); -const u8 gText_EmptyPokedexInfo2[] = _(""); // Unused +const u8 gText_EmptyPokedexInfo2[] = _(""); // Used in French const u8 gText_SizeComparedTo[] = _("SIZE COMPARED TO "); const u8 gText_PokedexRegistration[] = _("POKéDEX registration completed."); const u8 gText_HTHeight[] = _("HT"); @@ -253,6 +254,258 @@ const u8 gText_TheBattle[] = _("the battle"); const u8 gText_ThePokemonList[] = _("the POKéMON LIST"); const u8 gText_TheShop[] = _("the shop"); const u8 gText_ThePC[] = _("the PC"); +#elif FRENCH +const u8 gText_ExpandedPlaceholder_Empty[] = _(""); +const u8 gText_ExpandedPlaceholder_Kun[] = _(""); +const u8 gText_ExpandedPlaceholder_Chan[] = _(""); +const u8 gText_ExpandedPlaceholder_Sapphire[] = _("SAPPHIRE"); +const u8 gText_ExpandedPlaceholder_Ruby[] = _("RUBY"); +const u8 gText_ExpandedPlaceholder_Emerald[] = _("EMERAUDE"); +const u8 gText_ExpandedPlaceholder_Aqua[] = _("AQUA"); +const u8 gText_ExpandedPlaceholder_Magma[] = _("MAGMA"); +const u8 gText_ExpandedPlaceholder_Archie[] = _("ARTHUR"); +const u8 gText_ExpandedPlaceholder_Maxie[] = _("MAX"); +const u8 gText_ExpandedPlaceholder_Kyogre[] = _("KYOGRE"); +const u8 gText_ExpandedPlaceholder_Groudon[] = _("GROUDON"); +const u8 gText_ExpandedPlaceholder_Brendan[] = _("BRICE"); +const u8 gText_ExpandedPlaceholder_May[] = _("FLORA"); +const u8 gText_EggNickname[] = _("OEUF"); +const u8 gText_Pokemon[] = _("POKéMON"); +const u8 gText_ProfBirchMatchCallName[] = _("PROF. SEKO"); +const u8 gText_MainMenuNewGame[] = _("NOUVELLE PARTIE"); +const u8 gText_MainMenuContinue[] = _("CONTINUER"); +const u8 gText_MainMenuOption[] = _("OPTIONS"); +const u8 gText_MainMenuMysteryGift[] = _("CADEAU MYST."); +const u8 gText_MainMenuMysteryGift2[] = _("CADEAU MYST."); +const u8 gText_MainMenuMysteryEvents[] = _("EVENEMENTS MYSTERE"); +const u8 gText_WirelessNotConnected[] = _("L’adaptateur sans fil GBA n’est\npas connecté."); +const u8 gText_MysteryGiftCantUse[] = _("Ne pas utiliser l’adaptateur sans fil\navec le CADEAU MYST."); +const u8 gText_MysteryEventsCantUse[] = _("Ne pas utiliser l’adaptateur sans fil\navec les EVENEMENTS MYSTERE."); +const u8 gText_UpdatingSaveExternalData[] = _("Updating save file using external\ndata. Please wait."); +const u8 gText_SaveFileUpdated[] = _("The save file has been updated."); +const u8 gText_SaveFileCorrupted[] = _("Fichier de sauvegarde corrompu.\nLe fichier précédent sera chargé."); +const u8 gText_SaveFileErased[] = _("Fichier de sauvegarde effacé…"); +const u8 gJPText_No1MSubCircuit[] = _("1Mサブきばんが ささっていません!"); +const u8 gText_BatteryRunDry[] = _("La pile interne est épuisée.\nVous pouvez continuer à jouer.\pMais les évènements dépendant de\nl’heure n’auront pas lieu."); +const u8 gText_Player[] = _("PLAYER"); +const u8 gText_Pokedex[] = _("POKéDEX"); +const u8 gText_Time[] = _("DUREE JEU"); +const u8 gText_Badges[] = _("BADGES"); +const u8 gText_AButton[] = _("A Button"); +const u8 gText_BButton[] = _("B Button"); +const u8 gText_RButton[] = _("R Button"); +const u8 gText_LButton[] = _("L Button"); +const u8 gText_Start[] = _("START"); +const u8 gText_Select[] = _("SELECT"); +const u8 gText_ControlPad[] = _("+ Control Pad"); +const u8 gText_LButtonRButton[] = _("L Button R Button"); +const u8 gText_Controls[] = _("CONTROLS"); +ALIGNED(4) const u8 gText_PickOk[] = _("{DPAD_UPDOWN}PICK {A_BUTTON}OK"); +ALIGNED(4) const u8 gText_Next[] = _("{A_BUTTON}NEXT"); +ALIGNED(4) const u8 gText_NextBack[] = _("{A_BUTTON}NEXT {B_BUTTON}BACK"); +ALIGNED(4) const u8 gText_PickNextCancel[] = _("{DPAD_UPDOWN}CHOIX {A_BUTTON}SUIV. {B_BUTTON}ANN."); +ALIGNED(4) const u8 gText_PickCancel[] = _("{DPAD_UPDOWN}CHOIX {A_BUTTON}{B_BUTTON}ANNUL."); +ALIGNED(4) const u8 gText_AButtonExit[] = _("{A_BUTTON}RETOUR"); +const u8 gText_BirchBoy[] = _("GARÇON"); +const u8 gText_BirchGirl[] = _("FILLE"); +const u8 gText_DefaultNameStu[] = _("STEF"); +const u8 gText_DefaultNameMilton[] = _("MANUEL"); +const u8 gText_DefaultNameTom[] = _("SEB"); +const u8 gText_DefaultNameKenny[] = _("GWENN"); +const u8 gText_DefaultNameReid[] = _("ARNO"); +const u8 gText_DefaultNameJude[] = _("JULES"); +const u8 gText_DefaultNameJaxson[] = _("JOHANN"); +const u8 gText_DefaultNameEaston[] = _("THIBAUD"); +const u8 gText_DefaultNameWalker[] = _("ALEC"); +const u8 gText_DefaultNameTeru[] = _("GIBUS"); +const u8 gText_DefaultNameJohnny[] = _("JOHNNY"); +const u8 gText_DefaultNameBrett[] = _("FABRICE"); +const u8 gText_DefaultNameSeth[] = _("DANIEL"); +const u8 gText_DefaultNameTerry[] = _("THOMAS"); +const u8 gText_DefaultNameCasey[] = _("GARY"); +const u8 gText_DefaultNameDarren[] = _("RUDDY"); +const u8 gText_DefaultNameLandon[] = _("THIERRY"); +const u8 gText_DefaultNameCollin[] = _("COLIN"); +const u8 gText_DefaultNameStanley[] = _("STAN"); +const u8 gText_DefaultNameQuincy[] = _("SEVERIN"); +const u8 gText_DefaultNameKimmy[] = _("AGNES"); +const u8 gText_DefaultNameTiara[] = _("ARIANE"); +const u8 gText_DefaultNameBella[] = _("BELLA"); +const u8 gText_DefaultNameJayla[] = _("MAEVA"); +const u8 gText_DefaultNameAllie[] = _("PAULINE"); +const u8 gText_DefaultNameLianna[] = _("CINDY"); +const u8 gText_DefaultNameSara[] = _("SOPHIE"); +const u8 gText_DefaultNameMonica[] = _("MONICA"); +const u8 gText_DefaultNameCamila[] = _("CATHY"); +const u8 gText_DefaultNameAubree[] = _("FANNY"); +const u8 gText_DefaultNameRuthie[] = _("ROXANE"); +const u8 gText_DefaultNameHazel[] = _("EDITH"); +const u8 gText_DefaultNameNadine[] = _("NADINE"); +const u8 gText_DefaultNameTanja[] = _("TANIA"); +const u8 gText_DefaultNameYasmin[] = _("JANYCE"); +const u8 gText_DefaultNameNicola[] = _("CLAIRE"); +const u8 gText_DefaultNameLillie[] = _("LILLY"); +const u8 gText_DefaultNameTerra[] = _("SOLENE"); +const u8 gText_DefaultNameLucy[] = _("CYNTHIA"); +const u8 gText_DefaultNameHalie[] = _("MAUD"); +const u8 gText_ThisIsAPokemon[] = _("Voici ce qu’on appelle un “POKéMON”.{PAUSE 96}\p"); +const u8 gText_5MarksPokemon[] = _("?????"); +const u8 gText_UnkHeight[] = _("???,? m"); +const u8 gText_UnkWeight[] = _("???,? kg"); +const u8 gText_EmptyPkmnCategory[] = _(" POKéMON"); +const u8 gText_EmptyHeight[] = _(" m"); +const u8 gText_EmptyWeight[] = _(" kg"); +const u8 gText_EmptyPokedexInfo1[] = _(""); +const u8 gText_CryOf[] = _("CRI DE"); +const u8 gText_EmptyPokedexInfo2[] = _(""); +const u8 gText_SizeComparedTo[] = _("TAILLE COMPAREE A "); +const u8 gText_PokedexRegistration[] = _("Enregistrement du POKéDEX terminé."); +const u8 gText_HTHeight[] = _("HAUT."); +const u8 gText_WTWeight[] = _("POIDS"); +const u8 gText_SearchingPleaseWait[] = _("Recherche en cours…\nVeuillez patienter."); +const u8 gText_SearchCompleted[] = _("Recherche terminée."); +const u8 gText_NoMatchingPkmnWereFound[] = _("Aucun POKéMON correspondant trouvé."); +const u8 gText_SearchForPkmnBasedOnParameters[] = _("Recherche de POKéMON selon certains\ncritères."); +const u8 gText_SwitchPokedexListings[] = _("Changer le classement du POKéDEX."); +const u8 gText_ReturnToPokedex[] = _("Revenir au POKéDEX."); +const u8 gText_SelectPokedexMode[] = _("Choisir le mode du POKéDEX."); +const u8 gText_SelectPokedexListingMode[] = _("Choisir le mode de classement du POKéDEX."); +const u8 gText_ListByFirstLetter[] = _("Recherche par la première lettre du nom:\nPOKéMON vus."); +const u8 gText_ListByBodyColor[] = _("Recherche par la couleur:\nPOKéMON vus."); +const u8 gText_ListByType[] = _("Recherche par le type:\nPOKéMON pris uniquement."); +const u8 gText_ExecuteSearchSwitch[] = _("Exécuter recherche/changement."); +const u8 gText_DexHoennTitle[] = _("DEX HOENN"); +const u8 gText_DexNatTitle[] = _("DEX NATIONAL"); +const u8 gText_DexSortNumericalTitle[] = _("MODE NUMERIQUE"); +const u8 gText_DexSortAtoZTitle[] = _("MODE A à Z"); +const u8 gText_DexSortHeaviestTitle[] = _("MODE + - LOURD"); +const u8 gText_DexSortLightestTitle[] = _("MODE + - LEGER"); +const u8 gText_DexSortTallestTitle[] = _("MODE + - GRAND"); +const u8 gText_DexSortSmallestTitle[] = _("MODE + - PETIT"); +const u8 gText_DexSearchAlphaABC[] = _("ABC"); +const u8 gText_DexSearchAlphaDEF[] = _("DEF"); +const u8 gText_DexSearchAlphaGHI[] = _("GHI"); +const u8 gText_DexSearchAlphaJKL[] = _("JKL"); +const u8 gText_DexSearchAlphaMNO[] = _("MNO"); +const u8 gText_DexSearchAlphaPQR[] = _("PQR"); +const u8 gText_DexSearchAlphaSTU[] = _("STU"); +const u8 gText_DexSearchAlphaVWX[] = _("VWX"); +const u8 gText_DexSearchAlphaYZ[] = _("YZ"); +const u8 gText_DexSearchColorRed[] = _("ROUGE"); +const u8 gText_DexSearchColorBlue[] = _("BLEU"); +const u8 gText_DexSearchColorYellow[] = _("JAUNE"); +const u8 gText_DexSearchColorGreen[] = _("VERT"); +const u8 gText_DexSearchColorBlack[] = _("NOIR"); +const u8 gText_DexSearchColorBrown[] = _("MARRON"); +const u8 gText_DexSearchColorPurple[] = _("VIOLET"); +const u8 gText_DexSearchColorGray[] = _("GRIS"); +const u8 gText_DexSearchColorWhite[] = _("BLANC"); +const u8 gText_DexSearchColorPink[] = _("ROSE"); +const u8 gText_DexHoennDescription[] = _("POKéDEX de la région HOENN"); +const u8 gText_DexNatDescription[] = _("POKéDEX édition nationale"); +const u8 gText_DexSortNumericalDescription[] = _("POKéMON classés selon leur numéro."); +const u8 gText_DexSortAtoZDescription[] = _("POKéMON vus et pris, classés par ordre\nalphabétique."); +const u8 gText_DexSortHeaviestDescription[] = _("POKéMON pris, classés du plus lourd au\nplus léger."); +const u8 gText_DexSortLightestDescription[] = _("POKéMON pris, classés du plus léger au\nplus lourd."); +const u8 gText_DexSortTallestDescription[] = _("POKéMON pris, classés du plus grand au\nplus petit."); +const u8 gText_DexSortSmallestDescription[] = _("POKéMON pris, classés du plus petit au\nplus grand."); +const u8 gText_DexEmptyString[] = _(""); +const u8 gText_DexSearchDontSpecify[] = _("INDIFFERENT"); +const u8 gText_DexSearchTypeNone[] = _("AUCUN"); +const u8 gText_SelectorArrow[] = _("▶"); +const u8 gText_EmptySpace[] = _(" "); +const u8 gText_WelcomeToHOF[] = _("Bienvenue au PANTHEON!"); +const u8 gText_HOFDexRating[] = _("Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH’s POKéDEX rating!\pPROF. BIRCH: Let’s see…\p"); +const u8 gText_HOFDexSaving[] = _("SAVING…\nDON’T TURN OFF THE POWER."); +const u8 gText_HOFCorrupted[] = _("Données du PANTHEON corrompues."); +ALIGNED(4) const u8 gText_HOFNumber[] = _("PANTHEON Nº {STR_VAR_1}"); +const u8 gText_LeagueChamp[] = _("MAITRE DE LA LIGUE!\nFELICITATIONS!"); +const u8 gText_Number[] = _("Nº "); +const u8 gText_Level[] = _("N. "); +const u8 gText_IdNumberSlash[] = _("IDNo. /"); +const u8 gText_Name[] = _("NOM"); +const u8 gText_IDNumber[] = _("NºID"); +const u8 gText_BirchInTrouble[] = _("Le PROF. SEKO a des ennuis!\nChoisis un POKéMON et sauve-le!"); +const u8 gText_ConfirmStarterChoice[] = _("Prendre ce POKéMON?"); +const u8 gText_Pokemon4[] = _("POKéMON"); +const u8 gText_FlyToWhere[] = _("VOLER où?"); +const u8 gMenuText_Use[] = _("UTILIS."); +const u8 gMenuText_Toss[] = _("JETER"); +const u8 gMenuText_Register[] = _("ENREG."); +const u8 gMenuText_Give[] = _("DONNER"); +const u8 gMenuText_CheckTag[] = _("LIRE ETIQUETTE"); +const u8 gMenuText_Confirm[] = _("CONFIR."); +const u8 gMenuText_Confirm2[] = _("CONFIRMER"); +const u8 gMenuText_Walk[] = _("MARCHER"); +const u8 gText_Cancel[] = _("SORTIR"); +const u8 gText_Cancel2[] = _("RETOUR"); +const u8 gMenuText_Show[] = _("MONTRER"); +const u8 gText_EmptyString2[] = _(""); +const u8 gText_Cancel7[] = _("CANCEL"); +const u8 gText_Item[] = _("OBJET"); +const u8 gText_Mail[] = _("LETTRE"); +const u8 gText_Take[] = _("PRENDR."); +const u8 gText_Store[] = _("DEPOSER"); +const u8 gMenuText_Check[] = _("VOIR"); +const u8 gText_None[] = _("AUCUN"); +const u8 gMenuText_Deselect[] = _("ANNUL."); +const u8 gText_ThreeMarks[] = _("???"); +const u8 gText_FiveMarks[] = _("?????"); +const u8 gText_Slash[] = _("/"); +const u8 gText_OneDash[] = _("-"); +const u8 gText_TwoDashes[] = _("--"); +const u8 gText_ThreeDashes[] = _("---"); +const u8 gText_MaleSymbol[] = _("♂"); +const u8 gText_FemaleSymbol[] = _("♀"); +const u8 gText_LevelSymbol[] = _("N."); +const u8 gText_NumberClear01[] = _("{NO}{CLEAR 1}"); +const u8 gText_PlusSymbol[] = _("+"); +const u8 gText_RightArrow[] = _("{RIGHT_ARROW}"); +const u8 gText_IDNumber2[] = _("{NO}{ID}"); +const u8 gText_Space[] = _(" "); +const u8 gText_SelectorArrow2[] = _("▶"); +const u8 gText_GoBackPrevMenu[] = _("Retourner au menu\nprécédent."); +const u8 gText_WhatWouldYouLike[] = _("Que voulez-vous faire?"); +const u8 gMenuText_Give2[] = _("DONNER"); +const u8 gText_xVar1[] = _("×{STR_VAR_1}"); +const u8 gText_Berry2[] = _(" BERRY"); +const u8 gText_Coins[] = _("{STR_VAR_1} JETONS"); +const u8 gText_CloseBag[] = _("FERMER LE SAC"); +const u8 gText_Var1IsSelected[] = _("{STR_VAR_1} est\nsélectionné."); +const u8 gText_CantWriteMail[] = _("Vous ne pouvez pas\nécrire de LETTRE ici."); +const u8 gText_NoPokemon[] = _("Il n’y a pas de\nPOKéMON."); +const u8 gText_MoveVar1Where[] = _("Où voulez-vous\nplacer\n{STR_VAR_1}?"); +const u8 gText_Var1CantBeHeld[] = _("Impossible de tenir {STR_VAR_1}!"); +const u8 gText_Var1CantBeHeldHere[] = _("Impossible de tenir {STR_VAR_1} ici."); +const u8 gText_DepositHowManyVar1[] = _("Vous voulez en\ndéposer combien?"); +const u8 gText_DepositedVar2Var1s[] = _("{STR_VAR_1}:\ndéposé {STR_VAR_2}."); +const u8 gText_NoRoomForItems[] = _("Plus de place pour\nstocker des objets."); +const u8 gText_CantStoreImportantItems[] = _("Objets importants\nimpossibles à\nstocker sur le PC!"); +const u8 gText_TooImportantToToss[] = _("Cet objet est\ntrop important\npour le jeter!"); +const u8 gText_TossHowManyVar1s[] = _("En jeter combien?"); +const u8 gText_ThrewAwayVar2Var1s[] = _("{STR_VAR_1}:\njeté {STR_VAR_2}."); +const u8 gText_ConfirmTossItems[] = _("{STR_VAR_1}:\nen jeter {STR_VAR_2}?"); +const u8 gText_DadsAdvice[] = _("Conseil de PAPA…\n{PLAYER}, chaque chose en son temps!{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantDismountBike[] = _("Impossible de descendre de VELO ici.{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItemFinderNearby[] = _("Oh!\nL’appareil réagit!\pIl doit y avoir un objet enterré\npar ici!{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItemFinderOnTop[] = _("L’appareil indique qu’il y a\nquelque chose juste en dessous!{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItemFinderNothing[] = _("… … … … Non!\nPas de réaction.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CoinCase[] = _("JETONS:\n{STR_VAR_1}{PAUSE_UNTIL_PRESS}"); +const u8 gText_BootedUpTM[] = _("CT activée."); +const u8 gText_BootedUpHM[] = _("CS activée."); +const u8 gText_TMHMContainedVar1[] = _("Elle contient\n{STR_VAR_1}.\pApprendre {STR_VAR_1}\nà un POKéMON?"); +const u8 gText_PlayerUsedVar2[] = _("{PLAYER} utilise\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_RepelEffectsLingered[] = _("Mais le REPOUSSE précédent est\ntoujours actif.{PAUSE_UNTIL_PRESS}"); +const u8 gText_UsedVar2WildLured[] = _("{PLAYER} utilise\n{STR_VAR_2}.\pÇa va attirer les POKéMON sauvages.{PAUSE_UNTIL_PRESS}"); +const u8 gText_UsedVar2WildRepelled[] = _("{PLAYER} utilise\n{STR_VAR_2}.\pÇa va repousser les POKéMON\nsauvages.{PAUSE_UNTIL_PRESS}"); +const u8 gText_BoxFull[] = _("Les BOITES sont pleines.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PowderQty[] = _("QUANT. POUDRE: {STR_VAR_1}{PAUSE_UNTIL_PRESS}"); +const u8 gText_TheField[] = _("au jeu"); +const u8 gText_TheBattle[] = _("au combat"); +const u8 gText_ThePokemonList[] = _("à la LISTE POKéMON"); +const u8 gText_TheShop[] = _("au magasin"); +const u8 gText_ThePC[] = _("au PC"); +#endif const u8 *const gBagMenu_ReturnToStrings[] = { @@ -278,12 +531,21 @@ const u8 *const gPyramidBagMenu_ReturnToStrings[] = [PYRAMIDBAG_LOC_CHOOSE_TOSS] = gText_TheField }; +#if ENGLISH const u8 gText_ReturnToVar1[] = _("Return to\n{STR_VAR_1}."); const u8 gText_ItemsPocket[] = _("ITEMS"); const u8 gText_PokeBallsPocket[] = _("POKé BALLS"); const u8 gText_TMHMPocket[] = _("TMs & HMs"); const u8 gText_BerriesPocket[] = _("BERRIES"); const u8 gText_KeyItemsPocket[] = _("KEY ITEMS"); +#elif FRENCH +const u8 gText_ReturnToVar1[] = _("Retourner\n{STR_VAR_1}."); +const u8 gText_ItemsPocket[] = _("OBJETS"); +const u8 gText_PokeBallsPocket[] = _("POKé BALLS"); +const u8 gText_TMHMPocket[] = _("CT & CS"); +const u8 gText_BerriesPocket[] = _("BAIES"); +const u8 gText_KeyItemsPocket[] = _("OBJ. RARES"); +#endif const u8 *const gPocketNamesStringsTable[] = { @@ -294,6 +556,7 @@ const u8 *const gPocketNamesStringsTable[] = [KEYITEMS_POCKET] = gText_KeyItemsPocket }; +#if ENGLISH const u8 gText_NumberItem_TMBerry[] = _("{NO}{STR_VAR_1}{CLEAR 0x07}{STR_VAR_2}"); const u8 gText_NumberItem_HM[] = _("{CLEAR_TO 0x11}{STR_VAR_1}{CLEAR 0x05}{STR_VAR_2}"); const u8 gText_SizeSlash[] = _("SIZE /"); @@ -1651,6 +1914,1365 @@ const u8 gText_F700Players[] = _("{DYNAMIC 0} players"); const u8 gText_F701Players[] = _("{DYNAMIC 1} players"); const u8 gText_F702Players[] = _("{DYNAMIC 2} players"); const u8 gText_F703Players[] = _("{DYNAMIC 3} players"); +#elif FRENCH +const u8 gText_NumberItem_TMBerry[] = _("{NO}{STR_VAR_1}{CLEAR 7}{STR_VAR_2}"); +const u8 gText_NumberItem_HM[] = _("{CLEAR_TO 17}{STR_VAR_1}{CLEAR 5}{STR_VAR_2}"); +const u8 gText_SizeSlash[] = _("DIM.:"); +const u8 gText_FirmSlash[] = _("FERM.:"); +const u8 gText_Var1DotVar2[] = _("{STR_VAR_1},{STR_VAR_2} cm"); + +// Berry firmness strings +const u8 gBerryFirmnessString_VerySoft[] = _("très tendre"); +const u8 gBerryFirmnessString_Soft[] = _("tendre"); +const u8 gBerryFirmnessString_Hard[] = _("ferme"); +const u8 gBerryFirmnessString_VeryHard[] = _("très ferme"); +const u8 gBerryFirmnessString_SuperHard[] = _("super ferme"); + +const u8 gText_NumberVar1Var2[] = _("{NO}{STR_VAR_1} {STR_VAR_2}"); +const u8 gText_BerryTag[] = _("ETIQUETTE"); +const u8 gText_RedPokeblock[] = _("{POKEBLOCK} ROUGE"); +const u8 gText_BluePokeblock[] = _("{POKEBLOCK} BLEU"); +const u8 gText_PinkPokeblock[] = _("{POKEBLOCK} ROSE"); +const u8 gText_GreenPokeblock[] = _("{POKEBLOCK} VERT"); +const u8 gText_YellowPokeblock[] = _("{POKEBLOCK} JAUNE"); +const u8 gText_PurplePokeblock[] = _("{POKEBLOCK} VIOLET"); +const u8 gText_IndigoPokeblock[] = _("{POKEBLOCK} INDIGO"); +const u8 gText_BrownPokeblock[] = _("{POKEBLOCK} MARRON"); +const u8 gText_LiteBluePokeblock[] = _("{POKEBLOCK} BLEU CIEL"); +const u8 gText_OlivePokeblock[] = _("{POKEBLOCK} OLIVE"); +const u8 gText_GrayPokeblock[] = _("{POKEBLOCK} GRIS"); +const u8 gText_BlackPokeblock[] = _("{POKEBLOCK} NOIR"); +const u8 gText_WhitePokeblock[] = _("{POKEBLOCK} BLANC"); +const u8 gText_GoldPokeblock[] = _("{POKEBLOCK} OR"); +const u8 gText_Spicy[] = _("EPICE"); +const u8 gText_Dry[] = _("SEC"); +const u8 gText_Sweet[] = _("SUCRE"); +const u8 gText_Bitter[] = _("AMER"); +const u8 gText_Sour[] = _("ACIDE"); +const u8 gText_Tasty[] = _("GOUT"); +const u8 gText_Feel[] = _("FEEL"); +const u8 gText_StowCase[] = _("Ranger BOITE."); +const u8 gText_LvVar1[] = _("{LV}{STR_VAR_1}"); +const u8 gText_ThrowAwayVar1[] = _("Jeter {STR_VAR_1}?"); +const u8 gText_Var1ThrownAway[] = _("{STR_VAR_1} a été jeté."); +const u8 gText_Var1AteTheVar2[] = _("{STR_VAR_1} a mangé\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_Var1HappilyAteVar2[] = _("{STR_VAR_1} a mangé\n{STR_VAR_2} joyeusement.{PAUSE_UNTIL_PRESS}"); +const u8 gText_Var1DisdainfullyAteVar2[] = _("{STR_VAR_1} a mangé\n{STR_VAR_2} à contrecœur.{PAUSE_UNTIL_PRESS}"); +const u8 gText_ShopBuy[] = _("ACHETER"); +const u8 gText_ShopSell[] = _("VENDRE"); +const u8 gText_ShopQuit[] = _("QUITTER"); +const u8 gText_InBagVar1[] = _("SAC: {STR_VAR_1}"); +const u8 gText_QuitShopping[] = _("Arrêter d’acheter."); +const u8 gText_Var1CertainlyHowMany[] = _("{STR_VAR_1}? Bien sûr.\nCombien en voulez-vous?"); +const u8 gText_Var1CertainlyHowMany2[] = _("{STR_VAR_2} de {STR_VAR_1}?\nBien sûr. Combien en voulez-vous?"); +const u8 gText_Var1AndYouWantedVar2[] = _("{STR_VAR_1}? Vous en voulez {STR_VAR_2}?\nÇa fera {STR_VAR_3}¥."); +const u8 gText_Var1IsItThatllBeVar2[] = _("{STR_VAR_1}, n’est-ce pas?\nÇa fera {STR_VAR_2}¥. Ça vous convient?"); +const u8 gText_YouWantedVar1ThatllBeVar2[] = _("Vous voulez {STR_VAR_1}?\nÇa fera {STR_VAR_2}¥. Ça vous convient?"); +const u8 gText_HereYouGoThankYou[] = _("Tenez!\nMerci infiniment."); +const u8 gText_ThankYouIllSendItHome[] = _("Merci!\nJe l’envoie sur votre PC."); +const u8 gText_ThanksIllSendItHome[] = _("Merci!\nJe l’envoie sur votre PC à la maison."); +const u8 gText_YouDontHaveMoney[] = _("Vous n’avez pas assez d’argent.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoMoreRoomForThis[] = _("Vous n’avez plus de place pour cela.{PAUSE_UNTIL_PRESS}"); +const u8 gText_SpaceForVar1Full[] = _("La place pour {STR_VAR_1}\nest prise.{PAUSE_UNTIL_PRESS}"); +const u8 gText_AnythingElseICanHelp[] = _("Je peux faire quelque chose d’autre?"); +const u8 gText_CanIHelpWithAnythingElse[] = _("Vous avez besoin d’autre chose?"); +const u8 gText_ThrowInPremierBall[] = _("Je mets une HONOR BALL en plus.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantBuyKeyItem[] = _("{STR_VAR_2}? Oh, non.\nJe ne peux pas acheter ça.{PAUSE_UNTIL_PRESS}"); +const u8 gText_HowManyToSell[] = _("{STR_VAR_2}?\nCombien voulez-vous en vendre?"); +const u8 gText_ICanPayVar1[] = _("Je peux vous en donner {STR_VAR_1}¥.\nÇa vous va?"); +const u8 gText_TurnedOverVar1ForVar2[] = _("Obtenu {STR_VAR_1}¥\npour cette vente."); +const u8 gText_PokedollarVar1[] = _("{STR_VAR_1}¥"); +const u8 gText_Shift[] = _("ECHANGER"); +const u8 gText_SendOut[] = _("ENVOYER"); +const u8 gText_Switch2[] = _("ORDRE"); +const u8 gText_Summary5[] = _("RESUME"); +const u8 gText_Moves[] = _("MOVES"); +const u8 gText_Enter[] = _("INSCRIRE"); +const u8 gText_NoEntry[] = _("RETIRER"); +const u8 gText_Take2[] = _("PRENDRE"); +const u8 gText_Read2[] = _("LIRE"); +const u8 gText_Trade4[] = _("ECHANGE"); +const u8 gText_HP3[] = _("PV"); +const u8 gText_SpAtk3[] = _("ATQ. SPE."); +const u8 gText_SpDef3[] = _("DEF. SPE."); +const u8 gText_WontHaveEffect[] = _("Ça n’aura aucun effet.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantBeUsedOnPkmn[] = _("C’est inutilisable\nsur ce POKéMON.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCantSwitchOut[] = _("{STR_VAR_1} ne peut pas être\néchangé!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadyInBattle[] = _("{STR_VAR_1} est déjà au\ncombat!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadySelected[] = _("{STR_VAR_1} est déjà\nsélectionné.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHasNoEnergy[] = _("{STR_VAR_1} n’a plus d’énergie\npour combattre!{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantSwitchWithAlly[] = _("Impossible d’échanger POKéMON\nde {STR_VAR_1} avec un des vôtres!{PAUSE_UNTIL_PRESS}"); +const u8 gText_EggCantBattle[] = _("Un OEUF ne se bat pas, voyons!{PAUSE_UNTIL_PRESS}"); +const u8 gText_CantUseUntilNewBadge[] = _("Impossible de l’utiliser jusqu’à\nl’obtention du prochain BADGE.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoMoreThanVar1Pkmn[] = _("Seuls {STR_VAR_1} POKéMON\npeuvent participer.{PAUSE_UNTIL_PRESS}"); +const u8 gText_SendMailToPC[] = _("Envoyer la LETTRE enlevée\nsur votre PC?"); +const u8 gText_MailSentToPC[] = _("La LETTRE a été envoyée\nsur votre PC.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PCMailboxFull[] = _("La BOITE AUX LETTRES\ndu PC est pleine.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailMessageWillBeLost[] = _("Si la LETTRE est enlevée,\nle message sera perdu. D’accord?"); +const u8 gText_RemoveMailBeforeItem[] = _("Il faut enlever la LETTRE pour \npouvoir garder un objet.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnWasGivenItem[] = _("{STR_VAR_1} doit tenir\n{STR_VAR_2}!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadyHoldingItemSwitch[] = _("{STR_VAR_1} tient déjà\n{STR_VAR_2}!\pEchanger les deux objets?"); +const u8 gText_PkmnNotHolding[] = _("{STR_VAR_1} ne tient rien.{PAUSE_UNTIL_PRESS}"); +const u8 gText_ReceivedItemFromPkmn[] = _("Reçu {STR_VAR_2} de\n{STR_VAR_1}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailTakenFromPkmn[] = _("La LETTRE a été prise\nau POKéMON.{PAUSE_UNTIL_PRESS}"); +const u8 gText_SwitchedPkmnItem[] = _("{STR_VAR_1} a remplacé\n{STR_VAR_2}!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHoldingItemCantHoldMail[] = _("Ce POKéMON tient un objet.\nIl ne peut pas tenir une LETTRE.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailTransferredFromMailbox[] = _("La LETTRE vient de la\nBOITE AUX LETTRES.{PAUSE_UNTIL_PRESS}"); +const u8 gText_BagFullCouldNotRemoveItem[] = _("Le SAC est plein. Impossible\nd’enlever l’objet au POKéMON.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnLearnedMove3[] = _("{STR_VAR_1} apprend\n{STR_VAR_2}!"); +const u8 gText_PkmnCantLearnMove[] = _("{STR_VAR_1} et {STR_VAR_2}\nne sont pas compatibles.\pImpossible de l’enseigner.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnNeedsToReplaceMove[] = _("{STR_VAR_1} veut apprendre\n{STR_VAR_2}.\pMais {STR_VAR_1} connaît déjà\nquatre capacités.\pRemplacer une capacité\npar {STR_VAR_2}?"); +const u8 gText_StopLearningMove2[] = _("Arrêter d’enseigner\n{STR_VAR_2}?"); +const u8 gText_MoveNotLearned[] = _("{STR_VAR_1} n’a pas appris la\ncapacité {STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_WhichMoveToForget[] = _("Oublier quelle capacité?{PAUSE_UNTIL_PRESS}"); +const u8 gText_12PoofForgotMove[] = _("1, {PAUSE 15}2, et{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE SE_BALL_BOUNCE_1}Tadaa!\p{STR_VAR_1} ne sait plus\ncomment utiliser {STR_VAR_2}.\pEt…{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAlreadyKnows[] = _("{STR_VAR_1} connaît déjà\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnHPRestoredByVar2[] = _("Les PV de {STR_VAR_1} sont res-\ntaurés de {STR_VAR_2} points.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCuredOfPoison[] = _("{STR_VAR_1} n’est plus\nempoisonné.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnCuredOfParalysis[] = _("{STR_VAR_1} n’est plus\nparalysé.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnWokeUp2[] = _("{STR_VAR_1} se réveille.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnBurnHealed[] = _("{STR_VAR_1} n’est plus brûlé.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnThawedOut[] = _("{STR_VAR_1} est décongelé.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PPWasRestored[] = _("Les PP sont restaurés.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnRegainhedHealth[] = _("{STR_VAR_1} regained health.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnBecameHealthy[] = _("{STR_VAR_1} retrouve la forme.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MovesPPIncreased[] = _("Les PP de {STR_VAR_1}\naugmentent.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnElevatedToLvVar2[] = _("{STR_VAR_1} monte au N. {STR_VAR_2}."); +const u8 gText_PkmnBaseVar2StatIncreased[] = _("{STR_VAR_2} de\n{STR_VAR_1} augmente.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnFriendlyBaseVar2Fell[] = _("{STR_VAR_1} est devenu amical.\n{STR_VAR_2} de base en baisse!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnAdoresBaseVar2Fell[] = _("{STR_VAR_1} vous adore!\n{STR_VAR_2} de base en baisse!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnFriendlyBaseVar2CantFall[] = _("{STR_VAR_1} est devenu amical.\n{STR_VAR_2} de base ne peut pas baisser!{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnSnappedOutOfConfusion[] = _("{STR_VAR_1} n’est plus confus.{PAUSE_UNTIL_PRESS}"); +const u8 gText_PkmnGotOverInfatuation[] = _("{STR_VAR_1} n’est plus\namoureux.{PAUSE_UNTIL_PRESS}"); +const u8 gText_ThrowAwayItem[] = _("Jeter {STR_VAR_1}?"); +const u8 gText_ItemThrownAway[] = _("{STR_VAR_1} a été jeté.{PAUSE_UNTIL_PRESS}"); +const u8 gText_TeachWhichPokemon2[] = _("Teach which POKéMON?"); +const u8 gText_ChoosePokemon[] = _("Choisir un POKéMON."); +const u8 gText_MoveToWhere[] = _("Le mettre où?"); +const u8 gText_TeachWhichPokemon[] = _("Enseigner à quel POKéMON?"); +const u8 gText_UseOnWhichPokemon[] = _("Utiliser sur quel POKéMON?"); +const u8 gText_GiveToWhichPokemon[] = _("Donner à quel POKéMON?"); +const u8 gText_DoWhatWithPokemon[] = _("Que faire avec ce PKMN?"); +const u8 gText_NothingToCut[] = _("Il n’y a rien à COUPER."); +const u8 gText_CantSurfHere[] = _("On ne peut pas SURFER ici."); +const u8 gText_AlreadySurfing[] = _("Vous SURFEZ déjà."); +const u8 gText_CantUseHere[] = _("Impossible ici."); +const u8 gText_RestoreWhichMove[] = _("Laquelle restaurer?"); +const u8 gText_BoostPp[] = _("Augmenter quels PP?"); +const u8 gText_DoWhatWithItem[] = _("Que faire avec un objet?"); +const u8 gText_NoPokemonForBattle[] = _("Aucun POKéMON utilisable!"); +const u8 gText_ChoosePokemon2[] = _("Choisir un POKéMON."); +const u8 gText_NotEnoughHp[] = _("Pas assez de PV…"); +const u8 gText_PokemonAreNeeded[] = _("Il faut {STR_VAR_1} POKéMON."); +const u8 gText_PokemonCantBeSame[] = _("Pas les mêmes POKéMON."); +const u8 gText_NoIdenticalHoldItems[] = _("Pas d’objets identiques."); +const u8 gText_CurrentIsTooFast[] = _("Le courant est trop rapide!"); +const u8 gText_DoWhatWithMail[] = _("Que faire avec LETTRE?"); +const u8 gText_ChoosePokemonCancel[] = _("Choisir un PKMN ou annuler."); +const u8 gText_ChoosePokemonConfirm[] = _("Choisir un PKMN et confirmer."); +const u8 gText_EnjoyCycling[] = _("C’est parti pour une balade!"); +const u8 gText_InUseAlready_PM[] = _("Déjà en cours d’utilisation."); +const u8 gText_AlreadyHoldingOne[] = _("{STR_VAR_1} tient déjà\n{STR_VAR_2}!"); +const u8 gText_NoUse[] = _("Pas utilis."); +const u8 gText_Able[] = _("APTE"); +const u8 gText_First_PM[] = _("PREMIER"); +const u8 gText_Second_PM[] = _("DEUXIEME"); +const u8 gText_Third_PM[] = _("TROISIEME"); +const u8 gText_Able2[] = _("APTE"); +const u8 gText_NotAble[] = _("PAS APTE"); +const u8 gText_Able3[] = _("APTE"); +const u8 gText_NotAble2[] = _("PAS APTE"); +const u8 gText_Learned[] = _("APPRIS"); +const u8 gText_Have[] = _("PORTE"); +const u8 gText_DontHave[] = _("PAS D’OBJET"); +const u8 gText_Fourth[] = _("QUATRIEME"); +const u8 gText_PkmnCantParticipate[] = _("Ce POKéMON ne peut pas participer.{PAUSE_UNTIL_PRESS}"); +const u8 gText_CancelParticipation[] = _("Annuler la participation?"); +const u8 gText_CancelBattle[] = _("Annuler le combat?"); +const u8 gText_ReturnToWaitingRoom[] = _("Retourner à la SALLE D’ATTENTE?"); +const u8 gText_CancelChallenge[] = _("Annuler le défi?"); +const u8 gText_EscapeFromHere[] = _("Fuir d’ici et retourner à\n{STR_VAR_1}?"); +const u8 gText_ReturnToHealingSpot[] = _("Retourner au dernier lieu\nde soins?"); +const u8 gText_PauseUntilPress[] = _("{PAUSE_UNTIL_PRESS}"); +const u8 gJPText_AreYouSureYouWantToSpinTradeMon[] = _("{STR_VAR_1}を ぐるぐるこうかんに\nだして よろしいですか?"); +ALIGNED(4) const u8 gText_OnlyPkmnForBattle[] = _("C’est votre seul\nPOKéMON pour combattre."); +ALIGNED(4) const u8 gText_PkmnCantBeTradedNow[] = _("Ce POKéMON ne peut\npas être échangé maintenant."); +ALIGNED(4) const u8 gText_EggCantBeTradedNow[] = _("Un OEUF ne peut pas être\néchangé maintenant."); +ALIGNED(4) const u8 gText_OtherTrainersPkmnCantBeTraded[] = _("Le POKéMON du DRESSEUR\nne peut pas être échangé."); +ALIGNED(4) const u8 gText_OtherTrainerCantAcceptPkmn[] = _("L’autre DRESSEUR ne peut pas\naccepter ce POKéMON maintenant."); +ALIGNED(4) const u8 gText_CantTradeWithTrainer[] = _("Impossible d’échanger avec\nce DRESSEUR maintenant."); +ALIGNED(4) const u8 gText_NotPkmnOtherTrainerWants[] = _("Le DRESSEUR ne cherche\npas ce type de POKéMON."); +ALIGNED(4) const u8 gText_ThatIsntAnEgg[] = _("Ce n’est pas un OEUF."); +const u8 gText_Register[] = _("ENREG."); +const u8 gText_Attack3[] = _("ATTAQUE"); +const u8 gText_Defense3[] = _("DEFENSE"); +const u8 gText_SpAtk4[] = _("ATQ SP"); +const u8 gText_SpDef4[] = _("DEF SP"); +const u8 gText_Speed2[] = _("VIT."); +const u8 gText_HP4[] = _("PV"); +const u8 gText_EmptyString8[] = _(""); +const u8 gText_OTSlash[] = _("DO/"); +const u8 gText_RentalPkmn[] = _("POKéMON A LOUER"); +const u8 gText_TypeSlash[] = _("TYPE/"); +const u8 gText_Power[] = _("POUVOIR"); +const u8 gText_Accuracy2[] = _("PRECIS."); +const u8 gText_Appeal[] = _("CHARME"); +const u8 gText_Jam[] = _("BLOCAG."); +const u8 gText_Status[] = _("STATUT"); +const u8 gText_ExpPoints[] = _("POINTS EXP."); +const u8 gText_NextLv[] = _("N. SUIVANT"); +const u8 gText_RibbonsVar1[] = _("RUBANS: {STR_VAR_1}"); +const u8 gText_EmptyString5[] = _(""); +const u8 gText_Events[] = _("EVENTS"); +const u8 gText_Switch[] = _("CHANG."); +const u8 gText_PkmnInfo[] = _("INFOS POKéMON"); +const u8 gText_PkmnSkills[] = _("APTITU. POKéMON"); +const u8 gText_BattleMoves[] = _("CAPACITES COMB."); +const u8 gText_ContestMoves[] = _("CAPACITES CONC."); +const u8 gText_Info[] = _("INFOS"); +const u8 gText_EggWillTakeALongTime[] = _("Cet OEUF va sûrement\nmettre du temps à éclore."); +const u8 gText_EggWillTakeSomeTime[] = _("Qu’est-ce qui va en sortir?\nÇa va mettre du temps."); +const u8 gText_EggWillHatchSoon[] = _("Il bouge de temps en temps.\nIl devrait bientôt éclore."); +const u8 gText_EggAboutToHatch[] = _("Il fait du bruit.\nIl va éclore!"); +const u8 gText_HMMovesCantBeForgotten2[] = _("Impossible d’oublier les\ncapacités CS maintenant."); +const u8 gText_XNatureMetAtYZ[] = _("{DYNAMIC 0}{DYNAMIC 2}{DYNAMIC 1}{DYNAMIC 5} de nature,\nrencontré au {LV_2}{DYNAMIC 0}{DYNAMIC 3}{DYNAMIC 1}\n({DYNAMIC 0}{DYNAMIC 4}{DYNAMIC 1})."); +const u8 gText_XNatureHatchedAtYZ[] = _("{DYNAMIC 0}{DYNAMIC 2}{DYNAMIC 1}{DYNAMIC 5} de nature,\na éclos au {LV_2}{DYNAMIC 0}{DYNAMIC 3}{DYNAMIC 1}\n({DYNAMIC 0}{DYNAMIC 4}{DYNAMIC 1})."); +const u8 gText_XNatureObtainedInTrade[] = _("{DYNAMIC 0}{DYNAMIC 2}{DYNAMIC 1}{DYNAMIC 5} de nature,\nobtenu dans un échange."); +const u8 gText_XNatureFatefulEncounter[] = _("{DYNAMIC 0}{DYNAMIC 2}{DYNAMIC 1}{DYNAMIC 5} de nature,\nobtenu lors d’un évènement\nspécial au {LV_2}{DYNAMIC 0}{DYNAMIC 3}{DYNAMIC 1}."); +const u8 gText_XNatureProbablyMetAt[] = _("{DYNAMIC 0}{DYNAMIC 2}{DYNAMIC 1}{DYNAMIC 5} de nature,\nprobablement rencontré au\n{LV_2}{DYNAMIC 0}{DYNAMIC 3}{DYNAMIC 1} ({DYNAMIC 0}{DYNAMIC 4}{DYNAMIC 1})."); +const u8 gText_XNature[] = _("{DYNAMIC 0}{DYNAMIC 2}{DYNAMIC 1}{DYNAMIC 5} de nature."); +const u8 gText_XNatureMetSomewhereAt[] = _("{DYNAMIC 0}{DYNAMIC 2}{DYNAMIC 1}{DYNAMIC 5} de nature,\nrencontré quelque part\nau {LV_2}{DYNAMIC 0}{DYNAMIC 3}{DYNAMIC 1}."); +const u8 gText_XNatureHatchedSomewhereAt[] = _("{DYNAMIC 0}{DYNAMIC 2}{DYNAMIC 1}{DYNAMIC 5} de nature,\na éclos quelque part\nau {LV_2}{DYNAMIC 0}{DYNAMIC 3}{DYNAMIC 1}."); +const u8 gText_OddEggFoundByCouple[] = _("Drôle d’OEUF de PKMN trouvé\npar le couple de la PENSION."); +const u8 gText_PeculiarEggNicePlace[] = _("Drôle d’OEUF de PKMN\nobtenu dans un bel endroit."); +const u8 gText_PeculiarEggTrade[] = _("Drôle d’OEUF de PKMN\nobtenu lors d’un échange."); +const u8 gText_EggFromHotSprings[] = _("Drôle d’OEUF de PKMN obtenu\naux sources chaudes."); +const u8 gText_EggFromTraveler[] = _("Drôle d’OEUF de PKMN\nreçu d’un voyageur."); +const u8 gText_ApostropheSBase[] = _("BASE DE {STR_VAR_1}"); +const u8 gText_OkayToDeleteFromRegistry[] = _("Supprimer {STR_VAR_1} du\nREGISTRE?"); +const u8 gText_RegisteredDataDeleted[] = _("Données enregistrées effacées.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoRegistry[] = _("Il n’y a pas de REGISTRE.{PAUSE_UNTIL_PRESS}"); +const u8 gText_DelRegist[] = _("EFF. REGIST."); +const u8 gText_Var3Var1SlashVar2[] = _("{STR_VAR_3}{STR_VAR_1}/{STR_VAR_2}"); +const u8 gText_Decorate[] = _("DECORER"); +const u8 gText_PutAway[] = _("RANGER"); +const u8 gText_Toss2[] = _("JETER"); +const u8 gText_Color161Shadow161[] = _("{COLOR 161}{SHADOW}0"); +const u8 gText_PutOutSelectedDecorItem[] = _("Retirer une décoration."); +const u8 gText_StoreChosenDecorInPC[] = _("Stocker une décoration dans le PC."); +const u8 gText_ThrowAwayUnwantedDecors[] = _("Jeter les décorations indésirables."); +const u8 gText_NoDecorations[] = _("Pas de décorations.{PAUSE_UNTIL_PRESS}"); +const u8 gText_Desk[] = _("BUREAU"); +const u8 gText_Chair[] = _("CHAISE"); +const u8 gText_Plant[] = _("PLANTE"); +const u8 gText_Ornament[] = _("ORNEMENT"); +const u8 gText_Mat[] = _("TAPIS"); +const u8 gText_Poster[] = _("POSTER"); +const u8 gText_Doll[] = _("POUPEE"); +const u8 gText_Cushion[] = _("COUSSIN"); +const u8 gText_Gold[] = _("or"); +const u8 gText_Silver[] = _("argent"); +const u8 gText_PlaceItHere[] = _("Placer ici?"); +const u8 gText_CantBePlacedHere[] = _("Impossible ici."); +const u8 gText_CancelDecorating[] = _("Annuler décoration?"); +const u8 gText_InUseAlready[] = _("Déjà en cours d’utilisation."); +const u8 gText_NoMoreDecorations[] = _("Impossible de placer plus de\ndécorations. Le maximum est de {STR_VAR_1}."); +const u8 gText_NoMoreDecorations2[] = _("Impossible de placer plus de\ndécorations. Le maximum est de {STR_VAR_1}."); +const u8 gText_MustBePlacedOnDesk[] = _("This can’t be placed here.\nIt must be on a DESK, etc."); +const u8 gText_CantPlaceInRoom[] = _("Vous ne pouvez pas mettre\ncette décoration dans votre chambre."); +const u8 gText_CantThrowAwayInUse[] = _("Cette décoration est utilisée.\nElle ne peut pas être jetée."); +const u8 gText_DecorationWillBeDiscarded[] = _("Jeter {STR_VAR_1}.\nOK?"); +const u8 gText_DecorationThrownAway[] = _("Cette décoration a été jetée."); +const u8 gText_StopPuttingAwayDecorations[] = _("Arrêter de ranger les décorations?"); +const u8 gText_NoDecorationHere[] = _("Il n’y a pas de décoration ici."); +const u8 gText_ReturnDecorationToPC[] = _("Ranger cette décoration dans le PC?"); +const u8 gText_DecorationReturnedToPC[] = _("Cette décoration est rangée dans le PC."); +const u8 gText_NoDecorationsInUse[] = _("Aucune décoration n’est utilisée.{PAUSE_UNTIL_PRESS}"); +const u8 gText_Tristan[] = _("FRANCK"); +const u8 gText_Philip[] = _("AYMERIC"); +const u8 gText_Dennis[] = _("GILLES"); +const u8 gText_Roberto[] = _("ROBERTO"); +const u8 gText_TurnOff[] = _("ETEINDRE"); +const u8 gText_Decoration[] = _("DECORATION"); +const u8 gText_ItemStorage[] = _("STOCKAGE OBJ."); +const u8 gText_Mailbox[] = _("BOITE LETTRE"); +const u8 gText_DepositItem[] = _("DEPOSER OBJET"); +const u8 gText_WithdrawItem[] = _("RETIRER OBJET"); +const u8 gText_TossItem[] = _("JETER OBJET"); +const u8 gText_StoreItemsInPC[] = _("Déposer des objets dans le PC."); +const u8 gText_TakeOutItemsFromPC[] = _("Retirer des objets du PC."); +const u8 gText_ThrowAwayItemsInPC[] = _("Jeter des objets stockés dans le PC."); +const u8 gText_NoItems[] = _("Il n’y a pas d’objets.{PAUSE_UNTIL_PRESS}"); +const u8 gText_NoRoomInBag[] = _("Il n’y a plus de\nplace dans le SAC."); +const u8 gText_WithdrawHowManyItems[] = _("Vous voulez en\nretirer combien?"); +const u8 gText_WithdrawXItems[] = _("{STR_VAR_1}:\nretiré {STR_VAR_2}."); +const u8 gText_Read[] = _("LIRE"); +const u8 gText_MoveToBag[] = _("METTRE DANS SAC"); +const u8 gText_Give2[] = _("DONNER"); +const u8 gText_NoMailHere[] = _("Pas de LETTRE ici.{PAUSE_UNTIL_PRESS}"); +const u8 gText_WhatToDoWithVar1sMail[] = _("Que faire avec la\nLETTRE de {STR_VAR_1}?"); +const u8 gText_MessageWillBeLost[] = _("Le message sera perdu.\nContinuer?"); +const u8 gText_BagIsFull[] = _("Le SAC est plein.{PAUSE_UNTIL_PRESS}"); +const u8 gText_MailToBagMessageErased[] = _("La LETTRE a été remise dans le SAC\net son message a été effacé.{PAUSE_UNTIL_PRESS}"); +const u8 gText_Dad[] = _("PAPA"); +const u8 gText_Mom[] = _("MAMAN"); +const u8 gText_Wallace[] = _("MARC"); +const u8 gText_Steven[] = _("PIERRE"); +const u8 gText_Brawly[] = _("BASTIEN"); +const u8 gText_Winona[] = _("ALIZEE"); +const u8 gText_Phoebe[] = _("SPECTRA"); +const u8 gText_Glacia[] = _("GLACIA"); +const u8 gText_Petalburg[] = _("CLEMENTI-VILLE"); +const u8 gText_Slateport[] = _("POIVRESSEL"); +const u8 gText_Littleroot[] = _("LITTLEROOT"); +const u8 gText_Lilycove[] = _("LILYCOVE"); +const u8 gText_Dewford[] = _("VILLAGE MYOKARA"); +const u8 gText_Enter2[] = _("INSCRI."); +const u8 gText_Info2[] = _("INFOS"); +const u8 gText_WhatsAContest[] = _("Le CONCOURS"); +const u8 gText_TypesOfContests[] = _("Types de CONCOURS"); +const u8 gText_Ranks[] = _("Catégories"); +const u8 gText_Judging[] = _("Judging"); +const u8 gText_CoolnessContest[] = _("SANG-FROID"); +const u8 gText_BeautyContest[] = _("BEAUTE"); +const u8 gText_CutenessContest[] = _("GRACE"); +const u8 gText_SmartnessContest[] = _("INTELLIGENCE"); +const u8 gText_ToughnessContest[] = _("ROBUSTESSE"); +const u8 gText_Decoration2[] = _("DECORATION"); +const u8 gText_PackUp[] = _("PLIER BAGAGE"); +const u8 gText_Count[] = _("COUNT"); +const u8 gText_Registry[] = _("REGISTRE"); +const u8 gText_Information[] = _("INFORMATION"); +const u8 gText_Mach[] = _("COURSE"); +const u8 gText_Acro[] = _("CROSS"); +const u8 gText_Psn[] = _("PSN"); +const u8 gText_Par[] = _("PAR"); +const u8 gText_Slp[] = _("SOM"); +const u8 gText_Brn[] = _("BRU"); +const u8 gText_Frz[] = _("GEL"); +const u8 gText_Toxic[] = _("TOXIC"); +const u8 gText_Ok3[] = _("OK"); +const u8 gText_Quit[] = _("QUIT"); +const u8 gText_SawIt[] = _("Oui"); +const u8 gText_NotYet[] = _("Pas encore"); +const u8 gText_Yes[] = _("OUI"); +const u8 gText_No[] = _("NON"); +const u8 gText_Info4[] = _("INFO"); +const u8 gText_SingleBattle[] = _("COMBAT SOLO"); +const u8 gText_DoubleBattle[] = _("COMBAT DUO"); +const u8 gText_MultiBattle[] = _("COMBAT MULTI"); +const u8 gText_MrBriney[] = _("MR. BRINEY"); +const u8 gText_Challenge[] = _("RELEVER LE DEFI"); +const u8 gText_Info3[] = _("INFORMATIONS"); +const u8 gText_Lv50[] = _("NIVEAU 50"); +const u8 gText_OpenLevel[] = _("NIVEAU LIBRE"); +const u8 gText_FreshWaterAndPrice[] = _("EAU FRAICHE{CLEAR_TO 78}200¥"); +const u8 gText_SodaPopAndPrice[] = _("SODA COOL{CLEAR_TO 78}300¥"); +const u8 gText_LemonadeAndPrice[] = _("LIMONADE{CLEAR_TO 78}350¥"); +const u8 gText_HowToRide[] = _("FAIRE DU VELO"); +const u8 gText_HowToTurn[] = _("VIRAGES"); +const u8 gText_SandySlopes[] = _("VERSANTS DE SABLE"); +const u8 gText_Wheelies[] = _("ROUES ARRIERE"); +const u8 gText_BunnyHops[] = _("BUNNY HOPS"); +const u8 gText_Jump[] = _("SAUTS"); +const u8 gText_Satisfied[] = _("Satisfait"); +const u8 gText_Dissatisfied[] = _("Insatisfait"); +const u8 gText_DeepSeaTooth[] = _("DENT OCEAN"); +const u8 gText_DeepSeaScale[] = _("ECAILLEOCEAN"); +const u8 gText_BlueFlute2[] = _("FLUTE BLEUE"); +const u8 gText_YellowFlute2[] = _("FLUTE JAUNE"); +const u8 gText_RedFlute2[] = _("FLUTE ROUGE"); +const u8 gText_WhiteFlute2[] = _("FLUTEBLANCHE"); +const u8 gText_BlackFlute2[] = _("FLUTE NOIRE"); +const u8 gText_GlassChair[] = _("CHAISE VERRE"); +const u8 gText_GlassDesk[] = _("BUREAU VERRE"); +const u8 gText_TreeckoDollAndPrice[] = _("POUPEE ARCKO{CLEAR_TO 79}1000 JETONS"); +const u8 gText_TorchicDollAndPrice[] = _("POUP. POUSSIFEU{CLEAR_TO 94}1000 JET."); +const u8 gText_MudkipDollAndPrice[] = _("POUPEE GOBOU{CLEAR_TO 79}1000 JETONS"); +const u8 gText_50CoinsAndPrice[] = _(" 50 JETONS{CLEAR_TO 72}1000¥"); +const u8 gText_500CoinsAndPrice[] = _("500 JETONS{CLEAR_TO 66}10000¥"); +const u8 gText_Excellent2[] = _("Excellent!"); +const u8 gText_NotSoGood[] = _("Bof."); +const u8 gText_RedShard[] = _("TESSON ROUGE"); +const u8 gText_YellowShard[] = _("TESSON JAUNE"); +const u8 gText_BlueShard[] = _("TESSON BLEU"); +const u8 gText_GreenShard[] = _("TESSON VERT"); +const u8 gText_BattleFrontier[] = _("ZONE DE COMBAT"); +const u8 gText_Right[] = _("Droite"); +const u8 gText_Left[] = _("Gauche"); +const u8 gText_TM32AndPrice[] = _("CT32{CLEAR_TO 63}1500 JETONS"); +const u8 gText_TM29AndPrice[] = _("CT29{CLEAR_TO 63}3500 JETONS"); +const u8 gText_TM35AndPrice[] = _("CT35{CLEAR_TO 63}4000 JETONS"); +const u8 gText_TM24AndPrice[] = _("CT24{CLEAR_TO 63}4000 JETONS"); +const u8 gText_TM13AndPrice[] = _("CT13{CLEAR_TO 63}4000 JETONS"); +const u8 gText_Cool[] = _("SG-FD"); +const u8 gText_Beauty[] = _("BEAUTE"); +const u8 gText_Cute[] = _("GRACE"); +const u8 gText_Smart[] = _("INTEL."); +const u8 gText_Tough[] = _("ROBUS."); +const u8 gText_Normal[] = _("NORMAL"); +const u8 gText_Super[] = _("SUPER"); +const u8 gText_Hyper[] = _("HYPER"); +const u8 gText_Master[] = _("MASTER"); +const u8 gText_Cool2[] = _("SG-FD"); +const u8 gText_Beauty2[] = _("BEAUTE"); +const u8 gText_Cute2[] = _("GRACE"); +const u8 gText_Smart2[] = _("INTEL."); +const u8 gText_Tough2[] = _("ROBUS."); +const u8 gText_Items[] = _("OBJETS"); +const u8 gText_Key_Items[] = _("OBJ. RARES"); +const u8 gText_Poke_Balls[] = _("BALLS"); +const u8 gText_TMs_Hms[] = _("CT & CS"); +const u8 gText_Berries2[] = _("BAIES"); +const u8 gText_SomeonesPC[] = _("PC de ???"); +const u8 gText_LanettesPC[] = _("PC d’ANNETTE"); +const u8 gText_PlayersPC[] = _("PC de {PLAYER}"); +const u8 gText_HallOfFame[] = _("PANTHEON"); +const u8 gText_LogOff[] = _("DECONNEXION"); +const u8 gText_Opponent[] = _("ADVERSAIRE"); +const u8 gText_Tourney_Tree[] = _("TABLEAU"); +const u8 gText_ReadyToStart[] = _("COMBATTRE"); +const u8 gText_NormalRank[] = _("CATEGORIE NORMAL"); +const u8 gText_SuperRank[] = _("CATEGORIE SUPER"); +const u8 gText_HyperRank[] = _("CATEGORIE HYPER"); +const u8 gText_MasterRank[] = _("CATEGORIE MASTER"); +const u8 gText_Single2[] = _("SOLO"); +const u8 gText_Double2[] = _("DUO"); +const u8 gText_Multi[] = _("MULTI"); +const u8 gText_MultiLink[] = _("MULTI LINK"); +const u8 gText_BattleBag[] = _("SAC DE COMBAT"); +const u8 gText_HeldItem[] = _("OBJET TENU"); +const u8 gText_LinkContest[] = _("CONCOURS EN LINK"); +const u8 gText_AboutE_Mode[] = _("A PROPOS DU MODE-E"); +const u8 gText_AboutG_Mode[] = _("A PROPOS DU MODE-G"); +const u8 gText_E_Mode[] = _("MODE-E"); +const u8 gText_G_Mode[] = _("MODE-G"); +const u8 gText_MenuOptionPokedex[] = _("POKéDEX"); +const u8 gText_MenuOptionPokemon[] = _("POKéMON"); +const u8 gText_MenuOptionBag[] = _("SAC"); +const u8 gText_MenuOptionPokenav[] = _("POKéNAV"); +const u8 gText_Blank[] = _(""); +const u8 gText_MenuOptionSave[] = _("SAUVER"); +const u8 gText_MenuOptionOption[] = _("OPTIONS"); +const u8 gText_MenuOptionExit[] = _("RETOUR"); +const u8 gText_5BP[] = _(" 5Pco"); +const u8 gText_10BP[] = _("10Pco"); +const u8 gText_15BP[] = _("15Pco"); +const u8 gText_RedTent[] = _("TENTE ROUGE"); +const u8 gText_BlueTent[] = _("TENTE BLEUE"); +const u8 gText_SouthernIsland[] = _("ILE DU SUD"); +const u8 gText_BirthIsland[] = _("ILE AURORE"); +const u8 gText_FarawayIsland[] = _("ILE LOINTAINE"); +const u8 gText_NavelRock[] = _("ROC NOMBRI"); +const u8 gText_ClawFossil[] = _("FOSS. GRIFFE"); +const u8 gText_RootFossil[] = _("FOSS. RACINE"); +const u8 gText_No4[] = _("NON"); +const u8 gText_IllBattleNow[] = _("Préparation"); +const u8 gText_IWon[] = _("Victoire"); +const u8 gText_ILost[] = _("Défaite"); +const u8 gText_IWontTell[] = _("J’dirai rien!"); +const u8 gText_NormalTagMatch[] = _("MATCH NORMAL"); +const u8 gText_VarietyTagMatch[] = _("MATCH VARIE"); +const u8 gText_UniqueTagMatch[] = _("MATCH UNIQUE"); +const u8 gText_ExpertTagMatch[] = _("MATCH EXPERT"); +const u8 gText_TradeCenter[] = _("CENTRE TROC"); +const u8 gText_Colosseum[] = _("COLISEE"); +const u8 gText_RecordCorner[] = _("CENTRE DE DONNEES"); +const u8 gText_BerryCrush3[] = _("BROYEUR DE BAIES"); +const u8 gText_EmptyLinkService[] = _(""); +const u8 gText_PokemonJump[] = _("SAUT POKéMON"); +const u8 gText_DodrioBerryPicking[] = _("ATTRAPE-BAIES DODRIO"); +const u8 gText_BecomeLeader[] = _("MENEUR"); +const u8 gText_JoinGroup[] = _("JOINDRE"); +const u8 gText_TwoStyles[] = _("DEUX STYLES"); +const u8 gText_Lv50_3[] = _("NIVEAU 50"); +const u8 gText_OpenLevel2[] = _("NIVEAU LIBRE"); +const u8 gText_MonTypeAndNo[] = _("TYPE ET Nº DU PKMN"); +const u8 gText_HoldItems[] = _("OBJETS TENUS"); +const u8 gText_Symbols2[] = _("SYMBOLES"); +const u8 gText_Record3[] = _("ENREG."); +const u8 gText_BattlePts[] = _("PTS COMBAT"); +const u8 gText_TowerInfo[] = _("INFORMATIONS"); +const u8 gText_BattleMon[] = _("POKéMON"); +const u8 gText_BattleSalon[] = _("SALON DE COMBAT"); +const u8 gText_MultiLink2[] = _("MULTI LINK"); +const u8 gText_BattleRules[] = _("REGLES"); +const u8 gText_JudgeMind[] = _("JUGE: MENTAL"); +const u8 gText_JudgeSkill[] = _("JUGE: TECHNIQUE"); +const u8 gText_JudgeBody[] = _("JUGE: PHYSIQUE"); +const u8 gText_Matchup[] = _("RENCONTRES"); +const u8 gText_TourneyTree[] = _("TABLEAU"); +const u8 gText_DoubleKO[] = _("DOUBLE K.O."); +const u8 gText_BasicRules[] = _("REGLES DE BASE"); +const u8 gText_SwapPartners[] = _("ECHANGE: POKéMON"); +const u8 gText_SwapNumber[] = _("ECHANGE: NOMBRE"); +const u8 gText_SwapNotes[] = _("ECHANGE: NOTES"); +const u8 gText_OpenLevel3[] = _("NIVEAU LIBRE"); +const u8 gText_BattleBasics[] = _("REGLES DE BASE"); +const u8 gText_PokemonNature[] = _("NATURE"); +const u8 gText_PokemonMoves[] = _("CAPACITES"); +const u8 gText_Underpowered[] = _("POTENTIEL"); +const u8 gText_WhenInDanger[] = _("EN DANGER"); +const u8 gText_PyramidPokemon[] = _("POKéMON SAUVAGES"); +const u8 gText_PyramidTrainers[] = _("DRESSEURS"); +const u8 gText_PyramidMaze[] = _("LABYRINTHES"); +const u8 gText_BattleBag2[] = _("SAC DE COMBAT"); +const u8 gText_PokenavAndBag[] = _("POKéNAV ET SAC"); +const u8 gText_HeldItems[] = _("OBJETS TENUS"); +const u8 gText_PokemonOrder[] = _("ORDRE"); +const u8 gText_BattlePokemon[] = _("POKéMON"); +const u8 gText_BattleTrainers[] = _("DRESSEURS"); +const u8 gText_GoOn[] = _("CONTINUER"); +const u8 gText_Record2[] = _("ENREGISTRER"); +const u8 gText_Rest[] = _("REPOS"); +const u8 gText_Retire[] = _("PARTIR"); +const u8 gText_99TimesPlus[] = _("plus de 99"); +const u8 gText_1MinutePlus[] = _("plus d’1 min"); +const u8 gText_SpaceSeconds[] = _(" secondes"); +const u8 gText_SpaceTimes[] = _(""); +const u8 gText_Dot[] = _("."); +const u8 gText_BigGuy[] = _(""); +const u8 gText_BigGirl[] = _(""); +const u8 gText_Son[] = _("fils"); +const u8 gText_Daughter[] = _("fille"); +const u8 gText_BlueFlute[] = _("FLUTE BLEUE"); +const u8 gText_YellowFlute[] = _("FLUTE JAUNE"); +const u8 gText_RedFlute[] = _("FLUTE ROUGE"); +const u8 gText_WhiteFlute[] = _("FLUTEBLANCHE"); +const u8 gText_BlackFlute[] = _("FLUTE NOIRE"); +const u8 gText_PrettyChair[] = _("JOLIE CHAISE"); +const u8 gText_PrettyDesk[] = _("JOLI BUREAU"); +const u8 gText_1F[] = _("RC"); +const u8 gText_2F[] = _("1{SUPER_ER}"); +const u8 gText_3F[] = _("2{SUPER_E}"); +const u8 gText_4F[] = _("3{SUPER_E}"); +const u8 gText_5F[] = _("4{SUPER_E}"); +const u8 gText_6F[] = _("5{SUPER_E}"); +const u8 gText_7F[] = _("6{SUPER_E}"); +const u8 gText_8F[] = _("7{SUPER_E}"); +const u8 gText_9F[] = _("8{SUPER_E}"); +const u8 gText_10F[] = _("9{SUPER_E}"); +const u8 gText_11F[] = _("10{SUPER_E}"); +const u8 gText_B1F[] = _("1 SS"); +const u8 gText_B2F[] = _("2 SS"); +const u8 gText_B3F[] = _("3 SS"); +const u8 gText_B4F[] = _("4 SS"); +const u8 gText_Rooftop[] = _("TOIT"); +const u8 gText_ElevatorNowOn[] = _("Etage:"); +const u8 gText_BP[] = _("Pco"); +const u8 gText_EnergyPowder50[] = _("POUDRENERGIE{CLEAR_TO 114}{FONT}À50"); +const u8 gText_EnergyRoot80[] = _("RACINENERGIE{CLEAR_TO 114}{FONT}À80"); +const u8 gText_HealPowder50[] = _("POUDRE SOIN{CLEAR_TO 114}{FONT}À50"); +const u8 gText_RevivalHerb300[] = _("HERBE RAPPEL{CLEAR_TO 108}{FONT}À300"); +const u8 gText_Protein1000[] = _("PROTEINE{CLEAR_TO 102}{FONT}À1000"); +const u8 gText_Iron1000[] = _("FER{CLEAR_TO 102}{FONT}À1000"); +const u8 gText_Carbos1000[] = _("CARBONE{CLEAR_TO 102}{FONT}À1000"); +const u8 gText_Calcium1000[] = _("CALCIUM{CLEAR_TO 102}{FONT}À1000"); +const u8 gText_Zinc1000[] = _("ZINC{CLEAR_TO 102}{FONT}À1000"); +const u8 gText_HPUp1000[] = _("PV PLUS{CLEAR_TO 102}{FONT}À1000"); +const u8 gText_PPUp3000[] = _("PP PLUS{CLEAR_TO 102}{FONT}À3000"); +const u8 gText_RankingHall[] = _("CLASSEMENT"); +const u8 gText_ExchangeService[] = _("ECHANGE"); +const u8 gText_LilycoveCity[] = _("NENUCRIQUE"); +const u8 gText_SlateportCity[] = _("POIVRESSEL"); +const u8 gText_CaveOfOrigin[] = _("GROTTE ORIGINE"); +const u8 gText_MtPyre[] = _("MONT MEMORIA"); +const u8 gText_SkyPillar[] = _("PILIER CELESTE"); +const u8 gText_DontRemember[] = _("Aucun souvenir"); +const u8 gText_Exit[] = _("ANNULER"); +const u8 gText_ExitFromBox[] = _("Sortir de la BOITE?"); +const u8 gText_WhatDoYouWantToDo[] = _("Que voulez-vous faire?"); +const u8 gText_PleasePickATheme[] = _("Choisissez une catégorie."); +const u8 gText_PickTheWallpaper[] = _("Choisissez un fond."); +const u8 gText_PkmnIsSelected[] = _("{DYNAMIC 0} sélectionné."); +const u8 gText_JumpToWhichBox[] = _("Aller dans quelle BOITE?"); +const u8 gText_DepositInWhichBox[] = _("Déposer dans quelle BOITE?"); +const u8 gText_PkmnWasDeposited[] = _("{DYNAMIC 0} a été déposé."); +const u8 gText_BoxIsFull2[] = _("BOITE pleine."); +const u8 gText_ReleaseThisPokemon[] = _("Relâcher ce POKéMON?"); +const u8 gText_PkmnWasReleased[] = _("{DYNAMIC 0} a été relâché."); +const u8 gText_ByeByePkmn[] = _("Bye-bye, {DYNAMIC 0}!"); +const u8 gText_MarkYourPkmn[] = _("Marquez votre POKéMON."); +const u8 gText_ThatsYourLastPkmn[] = _("Votre dernier POKéMON!"); +const u8 gText_YourPartysFull[] = _("L’équipe est pleine!"); +const u8 gText_YoureHoldingAPkmn[] = _("Vous tenez un POKéMON!"); +const u8 gText_WhichOneWillYouTake[] = _("Lequel prenez-vous?"); +const u8 gText_YouCantReleaseAnEgg[] = _("OEUF impossible à relâcher."); +const u8 gText_ContinueBoxOperations[] = _("Continuer gestion BOITE?"); +const u8 gText_PkmnCameBack[] = _("{DYNAMIC 0} est revenu!"); +const u8 gText_WasItWorriedAboutYou[] = _("Il s’est inquiété?"); +const u8 gText_FourEllipsesExclamation[] = _("… … … … !"); +const u8 gText_PleaseRemoveTheMail[] = _("Veuillez enlever la LETTRE."); +const u8 gText_GiveToAPkmn[] = _("DONNER à un POKéMON?"); +const u8 gText_PlacedItemInBag[] = _("Objet placé dans le SAC."); +const u8 gText_BagIsFull2[] = _("Le SAC est plein."); +const u8 gText_PutItemInBag[] = _("Placer objet dans le SAC?"); +const u8 gText_ItemIsNowHeld[] = _("{DYNAMIC 0} tenu."); +const u8 gText_ChangedToNewItem[] = _("Changé pour {DYNAMIC 0}!"); +const u8 gText_MailCantBeStored[] = _("Impossible à ranger!"); +const u8 gPCText_Cancel[] = _("ANNULER"); +const u8 gPCText_Store[] = _("DEPOSER"); +const u8 gPCText_Withdraw[] = _("RETIRER"); +const u8 gPCText_Shift[] = _("CHANGER"); +const u8 gPCText_Move[] = _("DEPLACER"); +const u8 gPCText_Place[] = _("PLACER"); +const u8 gPCText_Summary[] = _("RESUME"); +const u8 gPCText_Release[] = _("RELACHER"); +const u8 gPCText_Mark[] = _("MARQUER"); +const u8 gPCText_Name[] = _("NOM"); +const u8 gPCText_Jump[] = _("BOITES"); +const u8 gPCText_Wallpaper[] = _("FONDS"); +const u8 gPCText_Take[] = _("PRENDRE"); +const u8 gPCText_Give[] = _("DONNER"); +const u8 gPCText_Switch[] = _("ORDRE"); +const u8 gPCText_Bag[] = _("SAC"); +const u8 gPCText_Info[] = _("INFOS"); +const u8 gPCText_Scenery1[] = _("PAYSAGES 1"); +const u8 gPCText_Scenery2[] = _("PAYSAGES 2"); +const u8 gPCText_Scenery3[] = _("PAYSAGES 3"); +const u8 gPCText_Etcetera[] = _("AUTRES"); +const u8 gPCText_Friends[] = _("AMIS"); +const u8 gPCText_Forest[] = _("FORET"); +const u8 gPCText_City[] = _("VILLE"); +const u8 gPCText_Desert[] = _("DESERT"); +const u8 gPCText_Savanna[] = _("SAVANE"); +const u8 gPCText_Crag[] = _("ROCHERS"); +const u8 gPCText_Volcano[] = _("VOLCAN"); +const u8 gPCText_Snow[] = _("NEIGE"); +const u8 gPCText_Cave[] = _("GROTTE"); +const u8 gPCText_Beach[] = _("PLAGE"); +const u8 gPCText_Seafloor[] = _("MER"); +const u8 gPCText_River[] = _("RIVIERE"); +const u8 gPCText_Sky[] = _("CIEL"); +const u8 gPCText_PolkaDot[] = _("POIS"); +const u8 gPCText_Pokecenter[] = _("CENTRE PKMN"); +const u8 gPCText_Machine[] = _("ENGRENAGE"); +const u8 gPCText_Simple[] = _("UNI"); +const u8 gText_WhatWouldYouLikeToDo[] = _("What would you like to do?"); +const u8 gText_WithdrawPokemon[] = _("RETIRER POKéMON"); +const u8 gText_DepositPokemon[] = _("DEPOSER POKéMON"); +const u8 gText_MovePokemon[] = _("DEPLACER POKéMON"); +const u8 gText_MoveItems[] = _("DEPLACER OBJETS"); +const u8 gText_SeeYa[] = _("SALUT!"); +const u8 gText_WithdrawMonDescription[] = _("Intégrer dans l’équipe des POKéMON se\ntrouvant dans les BOITES."); +const u8 gText_DepositMonDescription[] = _("Déposer des POKéMON de l’équipe\ndans des BOITES."); +const u8 gText_MoveMonDescription[] = _("Organiser les POKéMON dans les BOITES\net dans l’équipe."); +const u8 gText_MoveItemsDescription[] = _("Déplacer des objets tenus\ndans une BOITE ou par l’équipe."); +const u8 gText_SeeYaDescription[] = _("Retour au menu précédent."); +const u8 gText_JustOnePkmn[] = _("Vous n’avez qu’un POKéMON avec vous."); +const u8 gText_PartyFull[] = _("L’équipe est pleine!"); +const u8 gText_Box[] = _("BOITE "); +const u8 gText_CheckMapOfHoenn[] = _("Carte de la région HOENN."); +const u8 gText_CheckPokemonInDetail[] = _("Informations sur les POKéMON."); +const u8 gText_CallRegisteredTrainer[] = _("Appareil pour appeler les DRESSEURS."); +const u8 gText_CheckObtainedRibbons[] = _("RUBANS obtenus."); +const u8 gText_PutAwayPokenav[] = _("Ranger le POKéNAV."); +const u8 gText_NoRibbonWinners[] = _("Personne n’a gagné de RUBAN."); +const u8 gText_NoTrainersRegistered[] = _("No TRAINERS are registered."); +const u8 gText_CheckPartyPokemonInDetail[] = _("Informations sur l’équipe POKéMON."); +const u8 gText_CheckAllPokemonInDetail[] = _("Informations sur tous les POKéMON."); +const u8 gText_ReturnToPokenavMenu[] = _("Retour au menu POKéNAV."); +const u8 gText_FindCoolPokemon[] = _("Chercher POKéMON à sang-froid."); +const u8 gText_FindBeautifulPokemon[] = _("Chercher beaux POKéMON."); +const u8 gText_FindCutePokemon[] = _("Chercher POKéMON gracieux."); +const u8 gText_FindSmartPokemon[] = _("Chercher POKéMON intelligents."); +const u8 gText_FindToughPokemon[] = _("Chercher POKéMON robustes."); +const u8 gText_ReturnToConditionMenu[] = _("Retour au menu CONDITION."); +const u8 gText_NumberRegistered[] = _("Nb dresseurs:"); +const u8 gText_NumberOfBattles[] = _("Nb combats:"); +const u8 gText_Detail[] = _("DETAIL"); +const u8 gText_Call2[] = _("CALL"); +const u8 gText_UnusedExit[] = _("EXIT"); +const u8 gText_CantCallOpponentHere[] = _("Can’t call opponent here."); +const u8 gText_PokenavMatchCall_Strategy[] = _("STRATEGIE"); +const u8 gText_PokenavMatchCall_TrainerPokemon[] = _("POKéMON DU DRESSEUR"); +const u8 gText_PokenavMatchCall_SelfIntroduction[] = _("PRESENTATION"); +const u8 gText_Pokenav_ClearButtonList[] = _("{CLEAR 128}"); +const u8 gText_PokenavMap_ZoomedOutButtons[] = _("{A_BUTTON}ZOOM + {B_BUTTON}RETOUR"); +const u8 gText_PokenavMap_ZoomedInButtons[] = _("{A_BUTTON}ZOOM - {B_BUTTON}RETOUR"); +const u8 gText_PokenavCondition_MonListButtons[] = _("{A_BUTTON}CONDITION {B_BUTTON}RETOUR"); +const u8 gText_PokenavCondition_MonStatusButtons[] = _("{A_BUTTON}MARQUAGE {B_BUTTON}RETOUR"); +const u8 gText_PokenavCondition_MarkingButtons[] = _("{A_BUTTON}CHOIX {B_BUTTON}RETOUR"); +const u8 gText_PokenavMatchCall_TrainerListButtons[] = _("{A_BUTTON}MENU {B_BUTTON}RETOUR"); +const u8 gText_PokenavMatchCall_CallMenuButtons[] = _("{A_BUTTON}OK {B_BUTTON}RETOUR"); +const u8 gText_PokenavMatchCall_CheckTrainerButtons[] = _("{B_BUTTON}RETOUR"); +const u8 gText_PokenavRibbons_MonListButtons[] = _("{A_BUTTON}RUBANS {B_BUTTON}RETOUR"); +const u8 gText_PokenavRibbons_RibbonListButtons[] = _("{A_BUTTON}DETAILS {B_BUTTON}RETOUR"); +const u8 gText_PokenavRibbons_RibbonCheckButtons[] = _("{B_BUTTON}RETOUR"); +const u8 gText_NatureSlash[] = _("NATURE/"); +const u8 gText_TrainerCloseBy[] = _("Le DRESSEUR est proche.\nParlez-lui directement."); +const u8 gText_InParty[] = _("DE L’EQUIPE"); +const u8 gText_Number2[] = _("Nº "); +const u8 gText_Ribbons[] = _("RIBBONS"); +const u8 gText_PokemonMaleLv[] = _("{DYNAMIC 0}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GRAY WHITE LIGHT_GRAY}/{LV}{DYNAMIC 1}"); // Unused +const u8 gText_PokemonFemaleLv[] = _("{DYNAMIC 0}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GRAY WHITE LIGHT_GRAY}/{LV}{DYNAMIC 1}"); // Unused +const u8 gText_PokemonNoGenderLv[] = _("{DYNAMIC 0}/{LV}{DYNAMIC 1}"); +const u8 gText_Unknown[] = _("INCONNU"); +const u8 gText_Call[] = _("APPELS"); +const u8 gText_Check[] = _("DETAILS"); +const u8 gText_Cancel6[] = _("RETOUR"); +const u8 gText_NumberIndex[] = _("Nº {DYNAMIC 0}"); +const u8 gText_RibbonsF700[] = _("RUBANS: {DYNAMIC 0}"); +const u8 gText_PokemonMaleLv2[] = _("{DYNAMIC 0}{COLOR_HIGHLIGHT_SHADOW LIGHT_RED WHITE GREEN}♂{COLOR_HIGHLIGHT_SHADOW DARK_GRAY WHITE LIGHT_GRAY}/{LV}{DYNAMIC 1}{DYNAMIC 2}"); // Unused +const u8 gText_PokemonFemaleLv2[] = _("{DYNAMIC 0}{COLOR_HIGHLIGHT_SHADOW LIGHT_GREEN WHITE BLUE}♀{COLOR_HIGHLIGHT_SHADOW DARK_GRAY WHITE LIGHT_GRAY}/{LV}{DYNAMIC 1}{DYNAMIC 2}"); // Unused +const u8 gText_PokemonNoGenderLv2[] = _("{DYNAMIC 0}/{LV}{DYNAMIC 1}{DYNAMIC 2}"); // Unused +const u8 gText_CombineFourWordsOrPhrases[] = _("Combinez 4 mots ou groupes"); +const u8 gText_AndMakeYourProfile[] = _("de mots et créez votre profil."); +const u8 gText_CombineSixWordsOrPhrases[] = _("Créez un message avec six mots."); +const u8 gText_AndMakeAMessage[] = _("Max. deux (groupes de) mots/ligne."); +const u8 gText_FindWordsThatDescribeYour[] = _("Choisissez des mots qui"); +const u8 gText_FeelingsRightNow[] = _("décrivent votre opinion."); +const u8 gText_WithFourPhrases[] = _("With four phrases,"); +const u8 gText_CombineNineWordsOrPhrases[] = _("Avec neuf (groupes de) mots,"); +const u8 gText_AndMakeAMessage2[] = _("créez un message."); +const u8 gText_ChangeJustOneWordOrPhrase[] = _("Changez un mot ou groupe de mots"); +const u8 gText_AndImproveTheBardsSong[] = _("de la chanson de CAPELO."); +const u8 gText_YourProfile[] = _("Votre profil "); +const u8 gText_YourFeelingAtTheBattlesStart[] = _("Votre sentiment avant le combat "); +const u8 gText_WhatYouSayIfYouWin[] = _("Ce que vous dites si vous gagnez "); +const u8 gText_WhatYouSayIfYouLose[] = _("Ce que vous dites si vous perdez "); +const u8 gText_TheAnswer[] = _("La réponse"); +const u8 gText_TheMailMessage[] = _("Le message de la LETTRE "); +const u8 gText_TheMailSalutation[] = _("The MAIL salutation"); +const u8 gText_TheBardsSong2[] = _("La nouvelle chanson "); +const u8 gText_CombineTwoWordsOrPhrases[] = _("Avec deux (groupes de) mots,"); +const u8 gText_AndMakeATrendySaying[] = _("créez une expression cool."); +const u8 gText_TheTrendySaying[] = _("L’expression cool "); +const u8 gText_IsAsShownOkay[] = _("est comme ceci. OK?"); +const u8 gText_CombineTwoWordsOrPhrases2[] = _("Avec deux (groupes de) mots,"); +const u8 gText_ToTeachHerAGoodSaying[] = _("apprenez-lui une expression."); +const u8 gText_FindWordsWhichFit[] = _("Trouvez des mots pour décrire"); +const u8 gText_TheTrainersImage[] = _("l’image du DRESSEUR."); +const u8 gText_TheImage[] = _("L’image"); +const u8 gText_OutOfTheListedChoices[] = _("Parmi les choix proposés,"); +const u8 gText_SelectTheAnswerToTheQuiz[] = _("sélectionnez la réponse!"); +const u8 gText_AndCreateAQuiz[] = _("vous devez créer un quiz!"); +const u8 gText_PickAWordOrPhraseAnd[] = _("Choisissez un mot ou un groupe"); +const u8 gText_SetTheQuizAnswer[] = _("de mots pour créer la réponse."); +const u8 gText_TheAnswerColon[] = _("La réponse"); +const u8 gText_TheQuizColon[] = _("The quiz:"); +const u8 gText_ApprenticePhrase[] = _("L’expression de l’apprenti"); +const u8 gText_QuitEditing[] = _("Quitter?"); +const u8 gText_StopGivingPkmnMail[] = _("Ne plus donner LETTRE à PKMN?"); +const u8 gText_AndFillOutTheQuestionnaire[] = _("de mots pour remplir le sondage."); +const u8 gText_LetsReplyToTheInterview[] = _("de mots pour répondre."); +const u8 gText_AllTextBeingEditedWill[] = _("Tout votre texte sera effacé."); +const u8 gText_BeDeletedThatOkay[] = _("D’accord?"); +const u8 gText_QuitEditing2[] = _("Quit editing?"); +const u8 gText_EditedTextWillNotBeSaved[] = _("The edited text will not be saved."); +const u8 gText_IsThatOkay[] = _("Is that okay?"); +const u8 gText_PleaseEnterPhraseOrWord[] = _("Please enter a phrase or word."); +const u8 gText_EntireTextCantBeDeleted[] = _("The entire text can’t be deleted."); +const u8 gText_OnlyOnePhrase[] = _("Un seul groupe de mots modifiable."); +const u8 gText_OriginalSongWillBeUsed[] = _("La chanson originale sera reprise."); +const u8 gText_ThatsTrendyAlready[] = _("That’s trendy already!"); +const u8 gText_CombineTwoWordsOrPhrases3[] = _("Combinez deux mots."); +const u8 gText_QuitGivingInfo[] = _("Quit giving information?"); +const u8 gText_StopGivingPkmnMail2[] = _("Stop giving the POKéMON MAIL?"); +const u8 gText_CreateAQuiz2[] = _("Create a quiz!"); +const u8 gText_SetTheAnswer[] = _("Set the answer!"); +const u8 gText_CancelSelection[] = _("Cancel the selection?"); +const u8 gText_Profile[] = _("PROFIL"); +const u8 gText_AtTheBattlesStart[] = _("Avant le combat."); +const u8 gText_UponWinningABattle[] = _("Après une victoire."); +const u8 gText_UponLosingABattle[] = _("Après une défaite."); +const u8 gText_TheBardsSong[] = _("La chanson de CAPELO"); +const u8 gText_WhatsHipAndHappening[] = _("C’est quoi la dernière chose à la mode?"); +const u8 gText_Interview[] = _("Interview"); +const u8 gText_GoodSaying[] = _("Expression"); +const u8 gText_FansQuestion[] = _("Question du fan"); +const u8 gJPText_WhatIsTheQuizAnswer[] = _("クイズの こたえは?"); // Unused +const u8 gText_ApprenticesPhrase[] = _("Expression de l’apprenti"); +const u8 gText_Questionnaire[] = _("SONDAGE"); +const u8 gText_YouCannotQuitHere[] = _("Vous ne pouvez pas quitter ici."); +const u8 gText_SectionMustBeCompleted[] = _("Il faut terminer cette section."); +const u8 gText_F700sQuiz[] = _("Quiz de {DYNAMIC 0}"); +const u8 gText_Lady[] = _("DAME QUIZ"); +const u8 gText_AfterYouHaveReadTheQuiz[] = _("Après avoir lu la question"); +const u8 gText_QuestionPressTheAButton[] = _("du quiz, appuyez sur le bouton A."); +const u8 gText_TheQuizAnswerIs[] = _("La réponse est?"); +const u8 gText_LikeToQuitQuiz[] = _("Voulez-vous quitter le défi"); +const u8 gText_ChallengeQuestionMark[] = _("du quiz?"); +const u8 gText_IsThisQuizOK[] = _("Est-ce que ce quiz est OK?"); +const u8 gText_CreateAQuiz[] = _("Créez un quiz!"); +const u8 gText_SelectTheAnswer[] = _("Sélectionnez la réponse!"); +const u8 gText_LyricsCantBeDeleted[] = _("Impossible d’effacer les paroles."); +const u8 gText_PokemonLeague[] = _("LIGUE POKéMON"); +const u8 gText_PokemonCenter[] = _("CENTRE POKéMON"); +const u8 gText_GetsAPokeBlockQuestion[] = _(" reçoit un {POKEBLOCK}?"); +const u8 gText_Coolness[] = _("Son sang-froid "); +const u8 gText_Beauty3[] = _("Sa beauté "); +const u8 gText_Cuteness[] = _("Sa grâce "); +const u8 gText_Smartness[] = _("Son intelligence "); +const u8 gText_Toughness[] = _("Sa robustesse "); +const u8 gText_WasEnhanced[] = _("a augmenté!"); +const u8 gText_NothingChanged[] = _("Rien n’a changé!"); +const u8 gText_WontEatAnymore[] = _("Il ne mangera plus…"); +const u8 gText_SaveFailedCheckingBackup[] = _("Echec de la sauvegarde.\nVérification de la mémoire de\nsauvegarde… Veuillez patienter.\n{COLOR 4}“Durée nécessaire: 1 minute”"); +const u8 gText_BackupMemoryDamaged[] = _("Mémoire de sauvegarde endommagée\nou pile interne vide. La progression\nne sera pas sauvegardée."); +const u8 gText_GamePlayCannotBeContinued[] = _("{COLOR 4}“Impossible de continuer à jouer.\nRetour à l’écran titre…”"); +const u8 gText_CheckCompleted[] = _("Vérification terminée.\nSauvegarde en cours…\nVeuillez patienter."); +const u8 gText_SaveCompleteGameCannotContinue[] = _("Sauvegarde terminée.\n{COLOR 4}“Impossible de continuer à jouer.\nRetour à l’écran titre.”"); +const u8 gText_SaveCompletePressA[] = _("Sauvegarde terminée.\n{COLOR 4}“Veuillez appuyer sur le bouton A.”"); +const u8 gText_Ferry[] = _("FERRY"); +const u8 gText_SecretBase[] = _("BASE SECRETE"); +const u8 gText_Hideout[] = _("PLANQUE"); +const u8 gText_ResetRTCConfirmCancel[] = _("Régler l’heure?\nA: Confirmer, B: Annuler"); +const u8 gText_PresentTime[] = _("Heure actuelle du jeu"); +const u8 gText_PreviousTime[] = _("Heure précédente du jeu"); +const u8 gText_PleaseResetTime[] = _("Veuillez régler l’heure."); +const u8 gText_ClockHasBeenReset[] = _("L’horloge a été réglée.\nSauvegarde en cours…"); +const u8 gText_SaveCompleted[] = _("Sauvegarde terminée."); +const u8 gText_SaveFailed[] = _("Echec de la sauvegarde…"); +const u8 gText_NoSaveFileCantSetTime[] = _("Il n’y a pas de fichier de sauvegarde,\ndonc l’heure ne peut pas être réglée."); +const u8 gText_InGameClockUsable[] = _("Vous pouvez maintenant régler l’heure."); +const u8 gText_Slots[] = _("MACHINE A SOUS"); +const u8 gText_Roulette[] = _("ROULETTE"); +const u8 gText_Good[] = _("bon"); +const u8 gText_VeryGood[] = _("très bon"); +const u8 gText_Excellent[] = _("excellent"); +const u8 gText_SoSo[] = _("moyen"); +const u8 gText_Bad[] = _("mauvais"); +const u8 gText_TheWorst[] = _("immangeable"); +const u8 gText_Spicy2[] = _("épicé"); +const u8 gText_Dry2[] = _("sec"); +const u8 gText_Sweet2[] = _("doux"); +const u8 gText_Bitter2[] = _("amer"); +const u8 gText_Sour2[] = _("aigre"); +const u8 gText_Single[] = _("SOLO"); +const u8 gText_Double[] = _("DUO"); +const u8 gText_Jackpot[] = _("super prix"); +const u8 gText_First[] = _("premier prix"); +const u8 gText_Second[] = _("deuxième prix"); +const u8 gText_Third[] = _("troisième prix"); +const u8 gText_0Pts[] = _("0 pts"); +const u8 gText_10Pts[] = _("10 pts"); +const u8 gText_20Pts[] = _("20 pts"); +const u8 gText_30Pts[] = _("30 pts"); +const u8 gText_40Pts[] = _("40 pts"); +const u8 gText_50Pts[] = _("50 pts"); +const u8 gText_60Pts[] = _("60 pts"); +const u8 gText_70Pts[] = _("70 pts"); +const u8 gText_80Pts[] = _("80 pts"); +const u8 gText_90Pts[] = _("90 pts"); +const u8 gText_100Pts[] = _("100 pts"); +const u8 gText_QuestionMark[] = _("?"); +const u8 gText_KissPoster16BP[] = _("POSTER BAISER{CLEAR_TO 94}16{Pco}"); +const u8 gText_KissCushion32BP[] = _("COUSSIN BAISER{CLEAR_TO 94}32{Pco}"); +const u8 gText_SmoochumDoll32BP[] = _("POUPEE LIPPOUTI{CLEAR_TO 94}32{Pco}"); +const u8 gText_TogepiDoll48BP[] = _("POUPEE TOGEPI{CLEAR_TO 94}48{Pco}"); +const u8 gText_MeowthDoll48BP[] = _("POUPEE MIAOUSS{CLEAR_TO 94}48{Pco}"); +const u8 gText_ClefairyDoll48BP[] = _("POUPEE MELOFEE{CLEAR_TO 94}48{Pco}"); +const u8 gText_DittoDoll48BP[] = _("POUP. METAMORPH{CLEAR_TO 94}48{Pco}"); +const u8 gText_CyndaquilDoll80BP[] = _("POUP.HERICENDRE{CLEAR_TO 94}80{Pco}"); +const u8 gText_ChikoritaDoll80BP[] = _("POUP. GERMIGNON{CLEAR_TO 94}80{Pco}"); +const u8 gText_TotodileDoll80BP[] = _("POUPEE KAIMINUS{CLEAR_TO 94}80{Pco}"); +const u8 gText_LaprasDoll128BP[] = _("POUPEE LOKHLASS{CLEAR_TO 96}128{Pco}"); +const u8 gText_SnorlaxDoll128BP[] = _("POUPEE RONFLEX{CLEAR_TO 96}128{Pco}"); +const u8 gText_VenusaurDoll256BP[] = _("POUP.FLORIZARRE{CLEAR_TO 96}256{Pco}"); +const u8 gText_CharizardDoll256BP[] = _("POUP. DRACAUFEU{CLEAR_TO 96}256{Pco}"); +const u8 gText_BlastoiseDoll256BP[] = _("POUPEE TORTANK{CLEAR_TO 96}256{Pco}"); +const u8 gText_Protein1BP[] = _("PROTEINE{CLEAR_TO 100}1{Pco}"); +const u8 gText_Calcium1BP[] = _("CALCIUM{CLEAR_TO 100}1{Pco}"); +const u8 gText_Iron1BP[] = _("FER{CLEAR_TO 100}1{Pco}"); +const u8 gText_Zinc1BP[] = _("ZINC{CLEAR_TO 100}1{Pco}"); +const u8 gText_Carbos1BP[] = _("CARBONE{CLEAR_TO 100}1{Pco}"); +const u8 gText_HpUp1BP[] = _("PV PLUS{CLEAR_TO 100}1{Pco}"); +const u8 gText_Leftovers48BP[] = _("RESTES{CLEAR_TO 94}48{Pco}"); +const u8 gText_WhiteHerb48BP[] = _("HERBEBLANCHE{CLEAR_TO 94}48{Pco}"); +const u8 gText_QuickClaw48BP[] = _("VIVE GRIFFE{CLEAR_TO 94}48{Pco}"); +const u8 gText_MentalHerb48BP[] = _("HERBE MENTAL{CLEAR_TO 94}48{Pco}"); +const u8 gText_BrightPowder64BP[] = _("POUDRECLAIRE{CLEAR_TO 94}64{Pco}"); +const u8 gText_ChoiceBand64BP[] = _("BAND. CHOIX{CLEAR_TO 94}64{Pco}"); +const u8 gText_KingsRock64BP[] = _("ROCHE ROYALE{CLEAR_TO 94}64{Pco}"); +const u8 gText_FocusBand64BP[] = _("BANDEAU{CLEAR_TO 94}64{Pco}"); +const u8 gText_ScopeLens64BP[] = _("LENTILSCOPE{CLEAR_TO 94}64{Pco}"); +const u8 gText_Softboiled16BP[] = _("E-COQUE{CLEAR_TO 78}16{Pco}"); +const u8 gText_SeismicToss24BP[] = _("FRAPPE ATLAS{CLEAR_TO 78}24{Pco}"); +const u8 gText_DreamEater24BP[] = _("DEVOREVE{CLEAR_TO 78}24{Pco}"); +const u8 gText_MegaPunch24BP[] = _("ULTIMAPOING{CLEAR_TO 78}24{Pco}"); +const u8 gText_MegaKick48BP[] = _("ULTIMAWASHI{CLEAR_TO 78}48{Pco}"); +const u8 gText_BodySlam48BP[] = _("PLAQUAGE{CLEAR_TO 78}48{Pco}"); +const u8 gText_RockSlide48BP[] = _("EBOULEMENT{CLEAR_TO 78}48{Pco}"); +const u8 gText_Counter48BP[] = _("RIPOSTE{CLEAR_TO 78}48{Pco}"); +const u8 gText_ThunderWave48BP[] = _("CAGE-ECLAIR{CLEAR_TO 78}48{Pco}"); +const u8 gText_SwordsDance48BP[] = _("DANSE-LAMES{CLEAR_TO 78}48{Pco}"); +const u8 gText_DefenseCurl16BP[] = _("BOUL’ARMURE{CLEAR_TO 78}16{Pco}"); +const u8 gText_Snore24BP[] = _("RONFLEMENT{CLEAR_TO 78}24{Pco}"); +const u8 gText_MudSlap24BP[] = _("COUD’BOUE{CLEAR_TO 78}24{Pco}"); +const u8 gText_Swift24BP[] = _("METEORES{CLEAR_TO 78}24{Pco}"); +const u8 gText_IcyWind24BP[] = _("VENT GLACE{CLEAR_TO 78}24{Pco}"); +const u8 gText_Endure48BP[] = _("TENACITE{CLEAR_TO 78}48{Pco}"); +const u8 gText_PsychUp48BP[] = _("BOOST{CLEAR_TO 78}48{Pco}"); +const u8 gText_IcePunch48BP[] = _("POINGLACE{CLEAR_TO 78}48{Pco}"); +const u8 gText_ThunderPunch48BP[] = _("POING-ECLAIR{CLEAR_TO 78}48{Pco}"); +const u8 gText_FirePunch48BP[] = _("POING DE FEU{CLEAR_TO 78}48{Pco}"); +const u8 gText_PkmnFainted3[] = _("{STR_VAR_1} est K.O…\p\n"); +const u8 gText_Marco[] = _("MARCUS"); +const u8 gText_TrainerCardName[] = _("NOM "); +const u8 gText_TrainerCardIDNo[] = _("NºID /"); +const u8 gText_TrainerCardMoney[] = _("ARGENT"); +const u8 gText_PokeDollar[] = _("¥"); +const u8 gText_TrainerCardPokedex[] = _("POKéDEX"); +const u8 gText_EmptyString6[] = _(""); +const u8 gText_Colon2[] = _(":"); +const u8 gText_Points[] = _(" points"); +const u8 gText_TrainerCardTime[] = _("DUREE JEU"); +const u8 gJPText_BattlePoints[] = _("ゲ-ムポイント"); // Unused. Name presumed, translation is Game Points +const u8 gText_Var1sTrainerCard[] = _("CARTE DE DRESSEUR de {STR_VAR_1}"); +const u8 gText_HallOfFameDebut[] = _("PANTHEON Nº 1"); +const u8 gText_LinkBattles[] = _("COMBATS EN LINK"); +const u8 gText_LinkCableBattles[] = _("COMBATS CABLE LINK"); +const u8 gText_WinsLosses[] = _("V:{COLOR 4}{SHADOW 5}{STR_VAR_1}{COLOR 2}{SHADOW 3} D:{COLOR 4}{SHADOW 5}{STR_VAR_2}{COLOR 2}{SHADOW 3}"); +const u8 gText_PokemonTrades[] = _("ECHANGES DE POKéMON"); +const u8 gText_UnionTradesAndBattles[] = _("ECHANGE UNION & COMBATS"); +const u8 gText_BerryCrush[] = _("BROYEUR DE BAIES"); +const u8 gText_WaitingTrainerFinishReading[] = _("En attente… L’autre DRESSEUR doit\nfinir de lire votre CARTE DE DRESSEUR."); +const u8 gText_PokeblocksWithFriends[] = _("{POKEBLOCK}S EN LINK"); +const u8 gText_NumPokeblocks[] = _("{STR_VAR_1}{COLOR 2}{SHADOW 3}"); +const u8 gText_WonContestsWFriends[] = _("CONCOURS EN LINK GAGNES"); +const u8 gText_BattlePtsWon[] = _("POINT(S) DE COMBAT GAGNE(S)"); +const u8 gText_NumBP[] = _("{STR_VAR_1}{COLOR 2}{SHADOW 3}Pco"); +const u8 gText_BattleTower[] = _("TOUR DE COMBAT"); +const u8 gText_WinsStraight[] = _("V/{COLOR 4}{SHADOW 5}{STR_VAR_1}{COLOR 2}{SHADOW 3} CONSEC./{COLOR 4}{SHADOW 5}{STR_VAR_2}"); +const u8 gText_BattleTower2[] = _("TOUR DE COMBAT"); +const u8 gText_BattleDome[] = _("DOME DE COMBAT"); +const u8 gText_BattlePalace[] = _("PALACE DE COMBAT"); +const u8 gText_BattleFactory[] = _("USINE DE COMBAT"); +const u8 gText_BattleArena[] = _("DOJO DE COMBAT"); +const u8 gText_BattlePike[] = _("REPTILE DE COMBAT"); +const u8 gText_BattlePyramid[] = _("PYRAMIDE DE COMBAT"); + +ALIGNED(4) const u8 gText_FacilitySingle[] = _("{STR_VAR_1} SOLO"); +ALIGNED(4) const u8 gText_FacilityDouble[] = _("{STR_VAR_1} DUO"); +ALIGNED(4) const u8 gText_FacilityMulti[] = _("{STR_VAR_1} MULTI"); +ALIGNED(4) const u8 gText_FacilityLink[] = _("{STR_VAR_1} LINK"); +ALIGNED(4) const u8 gText_Facility[] = _("{STR_VAR_1}"); + +const u8 gText_Give[] = _("Montrer"); +const u8 gText_NoNeed[] = _("Pas besoin"); +const u8 gText_ColorLightShadowDarkGray[] = _("{COLOR 3}{SHADOW 2}"); +const u8 gText_ColorBlue[] = _("{COLOR 8}"); +const u8 gText_ColorTransparent[] = _("{HIGHLIGHT 0}{COLOR 0}"); +const u8 gText_CDot[] = _("C."); +const u8 gText_BDot[] = _("B."); +const u8 gText_AnnouncingResults[] = _("Annonce des résultats!"); +const u8 gText_PreliminaryResults[] = _("Résultats du premier tour!"); +const u8 gText_Round2Results[] = _("Résultats du second tour!"); +const u8 gText_ContestantsMonWon[] = _("{STR_VAR_2} de {STR_VAR_1} a gagné!"); +const u8 gText_CommunicationStandby[] = _("Connexion en cours…"); +const u8 gText_ColorDarkGray[] = _("{COLOR 2}"); +const u8 gText_ColorDynamic6WhiteDynamic5[] = _("{COLOR_HIGHLIGHT_SHADOW}ÔÀÓ"); +const u8 gText_HealthboxNickname[] = _("{HIGHLIGHT 2}"); +const u8 gText_EmptySpace2[] = _(" "); +const u8 gText_HealthboxGender_Male[] = _("{COLOR 11}♂"); +const u8 gText_HealthboxGender_Female[] = _("{COLOR 10}♀"); +const u8 gText_HealthboxGender_None[] = _("{COLOR 11}"); +const u8 gText_Upper[] = _("MAJ."); +const u8 gText_Lower[] = _("min."); +const u8 gText_Others[] = _("OTHERS"); +const u8 gText_Symbols[] = _("SYMBOLES"); +const u8 gText_Register2[] = _("ENREG."); +const u8 gText_Exit2[] = _("RETOUR"); +const u8 gText_QuitChatting[] = _("Quitter le tchat?"); +const u8 gText_RegisterTextWhere[] = _("Où enregistrer le texte?"); +const u8 gText_RegisterTextHere[] = _("Enregistrer le texte ici?"); +const u8 gText_InputText[] = _("Entrer le texte."); +const u8 gText_F700JoinedChat[] = _("{DYNAMIC 0} rejoint le tchat!"); +const u8 gText_F700LeftChat[] = _("{DYNAMIC 0} quitte le tchat."); +const u8 gJPText_PlayersXPokemon[] = _("{DYNAMIC 0}の{DYNAMIC 1}ひきめ:"); // Unused +const u8 gJPText_PlayersXPokmonDoesNotExist[] = _("{DYNAMIC 0}の{DYNAMIC 1}ひきめは いません"); // Unused +const u8 gText_ExitingChat[] = _("Départ du tchat…"); +const u8 gText_LeaderLeftEndingChat[] = _("Le MENEUR, {DYNAMIC 0}, part\net met fin au tchat."); +const u8 gText_RegisteredTextChangedOKToSave[] = _("Le texte enregistré a été modifié.\nSauvegarder la partie?"); +const u8 gText_AlreadySavedFile_Chat[] = _("Ecraser les données de\nsauvegarde existantes?"); +const u8 gText_SavingDontTurnOff_Chat[] = _("SAUVEGARDE EN COURS…\nNE PAS ETEINDRE."); +const u8 gText_PlayerSavedGame_Chat[] = _("{DYNAMIC 0} a sauvegardé la partie."); +const u8 gText_IfLeaderLeavesChatEnds[] = _("Si le MENEUR part, le forum\nse termine. OK?"); +const u8 gText_Hello[] = _("SALUT"); +const u8 gText_Pokemon2[] = _("POKéMON"); +const u8 gText_Trade[] = _("ECHANGE"); +const u8 gText_Battle[] = _("COMBAT"); +const u8 gText_Lets[] = _("ÇA VA?"); +const u8 gText_Ok[] = _("OK!"); +const u8 gText_Sorry[] = _("DESOLE"); +const u8 gText_YaySmileEmoji[] = _("OUAIS{EMOJI_BIGSMILE}"); +const u8 gText_ThankYou[] = _("MERCI"); +const u8 gText_ByeBye[] = _("BYE-BYE!"); +const u8 gText_MatchCallSteven_Strategy[] = _("Attaquer les points faibles!"); +const u8 gText_MatchCallSteven_Pokemon[] = _("POKéMON ACIER ultime."); +const u8 gText_MatchCallSteven_Intro1_BeforeMeteorFallsBattle[] = _("Je franchirais des cascades"); +const u8 gText_MatchCallSteven_Intro2_BeforeMeteorFallsBattle[] = _("pour des pierres rares!"); +const u8 gText_MatchCallSteven_Intro1_AfterMeteorFallsBattle[] = _("Je suis le plus fort et"); +const u8 gText_MatchCallSteven_Intro2_AfterMeteorFallsBattle[] = _("le plus énergique!"); +const u8 gText_MatchCallBrendan_Strategy[] = _("Il faut utiliser son savoir!"); +const u8 gText_MatchCallBrendan_Pokemon[] = _("J’utiliserai divers POKéMON."); +const u8 gText_MatchCallBrendan_Intro1[] = _("Je serai un meilleur prof"); +const u8 gText_MatchCallBrendan_Intro2[] = _("POKéMON que mon père!"); +const u8 gText_MatchCallMay_Strategy[] = _("Je ne suis pas si bonne!"); +const u8 gText_MatchCallMay_Pokemon[] = _("Je t’aurai avec mes POKéMON!"); +const u8 gText_MatchCallMay_Intro1[] = _("Avec mes POKéMON, j’aide mon"); +const u8 gText_MatchCallMay_Intro2[] = _("père dans ses recherches."); +const u8 gText_HatchedFromEgg[] = _("{STR_VAR_1} vient de sortir de l’OEUF!"); +const u8 gText_NicknameHatchPrompt[] = _("Voulez-vous donner un surnom\nau {STR_VAR_1} nouveau-né?"); +ALIGNED(4) const u8 gText_ReadyPickBerry[] = _("Sélectionnez une BAIE pour utiliser\nle BROYEUR DE BAIES.\p"); +ALIGNED(4) const u8 gText_WaitForAllChooseBerry[] = _("Patientez le temps que tous les\nparticipants aient choisi une BAIE."); +ALIGNED(4) const u8 gText_EndedWithXUnitsPowder[] = _("{PAUSE_MUSIC}{PLAY_BGM}íÀVous terminez avec {STR_VAR_1} unités de\nfine POUDRE BAIE.{RESUME_MUSIC}\pVotre quantité totale de POUDRE\nBAIE est {STR_VAR_2}.\p"); +ALIGNED(4) const u8 gText_RecordingGameResults[] = _("Sauvegarde de vos résultas en\ncours. Veuillez patienter."); +ALIGNED(4) const u8 gText_PlayBerryCrushAgain[] = _("Voulez-vous encore utiliser le\nBROYEUR DE BAIES?"); +ALIGNED(4) const u8 gText_YouHaveNoBerries[] = _("Vous n’avez pas de BAIES.\nLa partie est annulée."); +ALIGNED(4) const u8 gText_MemberDroppedOut[] = _("Un participant est parti. Le jeu\nva se terminer."); +ALIGNED(4) const u8 gText_TimesUpNoGoodPowder[] = _("Le temps est écoulé.\pVous n’avez pas pu faire une\nbonne POUDRE BAIE…\p"); +ALIGNED(4) const u8 gText_CommunicationStandby2[] = _("Connexion en cours…"); +ALIGNED(4) const u8 gText_1DotBlueF700[] = _("1. {COLOR BLUE}{SHADOW LIGHT_BLUE}{DYNAMIC 0}"); +ALIGNED(4) const u8 gText_1DotF700[] = _("1. {DYNAMIC 0}"); +ALIGNED(4) const u8 gText_SpaceTimes2[] = _(""); +ALIGNED(4) const u8 gText_XDotY[] = _("{STR_VAR_1},{STR_VAR_2}"); +ALIGNED(4) const u8 gText_Var1Berry[] = _("BAIE {STR_VAR_1}"); +ALIGNED(4) const u8 gText_TimeColon[] = _("Temps:"); +ALIGNED(4) const u8 gText_PressingSpeed[] = _("Vitesse:"); +ALIGNED(4) const u8 gText_Silkiness[] = _("Finesse:"); +ALIGNED(4) const u8 gText_StrVar1[] = _("{STR_VAR_1}"); +ALIGNED(4) const u8 gText_SpaceMin[] = _(" MIN "); +ALIGNED(4) const u8 gText_XDotY2[] = _("{STR_VAR_1},{STR_VAR_2}"); +ALIGNED(4) const u8 gText_SpaceSec[] = _(" secondes"); +ALIGNED(4) const u8 gText_XDotY3[] = _("{STR_VAR_1},{STR_VAR_2}"); +ALIGNED(4) const u8 gText_TimesPerSec[] = _(" Fois/s"); +ALIGNED(4) const u8 gText_Var1Percent[] = _("{STR_VAR_1}%"); +ALIGNED(4) const u8 gText_PressesRankings[] = _("Nº de pressages"); +ALIGNED(4) const u8 gText_CrushingResults[] = _("Résultats"); +ALIGNED(4) const u8 gText_NeatnessRankings[] = _("Finesse"); +ALIGNED(4) const u8 gText_CoopRankings[] = _("En coopération"); +ALIGNED(4) const u8 gText_PressingPowerRankings[] = _("Force du pressage"); +ALIGNED(4) const u8 gText_BerryCrush2[] = _("BROYEUR DE BAIES"); +ALIGNED(4) const u8 gText_PressingSpeedRankings[] = _("Vitesse du pressage"); +ALIGNED(4) const u8 gText_Var1Players[] = _("{STR_VAR_1} JOUEURS"); +const u8 gText_SymbolsEarned[] = _("Symboles"); +const u8 gText_BattleRecord[] = _("Enregistrement"); +const u8 gText_BattlePoints[] = _("Points de combat"); +const u8 gText_UnusedCancel[] = _("CANCEL"); +const u8 gText_EmptyString7[] = _(""); +const u8 gText_CheckFrontierMap[] = _("Voir la CARTE de la ZONE DE COMBAT."); +const u8 gText_CheckTrainerCard[] = _("Voir la CARTE DE DRESSEUR."); +const u8 gText_ViewRecordedBattle[] = _("Voir le combat enregistré."); +const u8 gText_PutAwayFrontierPass[] = _("Quitter le PASSE ZONE."); +const u8 gText_CurrentBattlePoints[] = _("Vos points de combat actuels."); +const u8 gText_CollectedSymbols[] = _("Les symboles que vous avez collectés."); +const u8 gText_BattleTowerAbilitySymbol[] = _("Tour de combat - Symbole capacité"); +const u8 gText_BattleDomeTacticsSymbol[] = _("Dôme de combat - Symbole tactique"); +const u8 gText_BattlePalaceSpiritsSymbol[] = _("Palace de combat - Symbole esprit"); +const u8 gText_BattleArenaGutsSymbol[] = _("Dojo de combat - Symbole cran"); +const u8 gText_BattleFactoryKnowledgeSymbol[] = _("Usine de combat - Symbole savoir"); +const u8 gText_BattlePikeLuckSymbol[] = _("Reptile de combat - Symbole chance"); +const u8 gText_BattlePyramidBraveSymbol[] = _("Pyramide de combat - Symbole bravoure"); +const u8 gText_ThereIsNoBattleRecord[] = _("Pas d’enregistrement."); +const u8 gText_BattleTower3[] = _("TOUR"); +const u8 gText_BattleDome2[] = _("DOME"); +const u8 gText_BattlePalace2[] = _("PALACE"); +const u8 gText_BattleArena2[] = _("DOJO"); +const u8 gText_BattleFactory2[] = _("USINE"); +const u8 gText_BattlePike2[] = _("REPTILE"); +const u8 gText_BattlePyramid2[] = _("PYRAMIDE"); +const u8 gText_BattleTowerDesc[] = _("Eliminez vos adversaires pour aller\nau sommet et prouver votre talent."); +const u8 gText_BattleDomeDesc[] = _("Enchaînez les victoires en\nfaisant preuve de tactique."); +const u8 gText_BattlePalaceDesc[] = _("Regardez vos POKéMON se battre\net mettez votre esprit à l’épreuve."); +const u8 gText_BattleArenaDesc[] = _("Gagnez avec des équipes de POKéMON\npour prouver que vous avez du cran."); +const u8 gText_BattleFactoryDesc[] = _("Visez la victoire en louant des\nPOKéMON pour prouver votre savoir."); +const u8 gText_BattlePikeDesc[] = _("Choisissez un des trois chemins pour\ncombattre et testez votre chance."); +const u8 gText_BattlePyramidDesc[] = _("Partez à l’aventure et rendez-vous au\nsommet pour prouver votre bravoure."); +const u8 gText_ContinueMenuPlayer[] = _("JOUEUR"); +const u8 gText_ContinueMenuTime[] = _("DUREE JEU"); +const u8 gText_ContinueMenuPokedex[] = _("POKéDEX"); +const u8 gText_ContinueMenuBadges[] = _("BADGES"); +const u8 gText_Powder[] = _("POUDRE"); +const u8 gText_BerryPickingRecords[] = _("RECORDS D’ATTRAPE-BAIES DODRIO"); +const u8 gText_BerriesPicked[] = _("Baies attrapées:"); +const u8 gText_BestScore[] = _("Meilleur score:"); +const u8 gText_BerriesInRowFivePlayers[] = _("Baies attrapées à la suite\navec cinq joueurs:"); +const u8 gText_BerryPickingResults[] = _("Annonce des résultats!"); +const u8 gText_10P30P50P50P[] = _("{CLEAR_TO 3}10P{CLEAR_TO 43}30P{CLEAR_TO 83}50P{CLEAR_TO 119}{EMOJI_MINUS}50P"); +const u8 gText_AnnouncingRankings[] = _("Annonce du classement!"); +const u8 gText_AnnouncingPrizes[] = _("Remise des prix!"); +const u8 gText_1Colon[] = _("1:"); +const u8 gText_2Colon[] = _("2:"); +const u8 gText_3Colon[] = _("3:"); +const u8 gText_4Colon[] = _("4:"); +const u8 gText_5Colon[] = _("5:"); +const u8 gText_FirstPlacePrize[] = _("La première place remporte\n1 {DYNAMIC 0}!"); +const u8 gText_CantHoldAnyMore[] = _("Vous ne pouvez plus rien tenir!"); +const u8 gText_FilledStorageSpace[] = _("Le prix est rangé à sa place."); +const u8 gText_WantToPlayAgain[] = _("Rejouer?"); +const u8 gText_SomeoneDroppedOut[] = _("Quelqu’un est parti.\nLa connexion va se terminer."); +const u8 gText_SpacePoints[] = _(" points"); +const u8 gText_CommunicationStandby3[] = _("Connexion en cours…"); +const u8 gText_SpacePoints2[] = _(" points"); +const u8 gText_SpaceTimes3[] = _(""); +const u8 gText_PkmnJumpRecords[] = _("RECORDS DE SAUTS POKéMON"); +const u8 gText_JumpsInARow[] = _("Sauts consécutifs:"); +const u8 gText_BestScore2[] = _("Meilleur score:"); +const u8 gText_ExcellentsInARow[] = _("EXCELLENTS consécutifs:"); +const u8 gText_AwesomeWonF701F700[] = _("Score incroyable! Tu as\ngagné {DYNAMIC 1} {DYNAMIC 0}!"); +const u8 gText_FilledStorageSpace2[] = _("Il n’y a plus de place."); +const u8 gText_CantHoldMore[] = _("Vous ne pouvez plus rien tenir!"); +const u8 gText_WantToPlayAgain2[] = _("Rejouer?"); +const u8 gText_SomeoneDroppedOut2[] = _("Quelqu’un est parti.\nLa connexion va se terminer."); +const u8 gText_CommunicationStandby4[] = _("Connexion en cours…"); +const u8 gText_LinkContestResults[] = _("Résultats du concours link de {PLAYER}"); +const u8 gText_1st[] = _("1{SUPER_ER}"); +const u8 gText_2nd[] = _("2{SUPER_E}"); +const u8 gText_3rd[] = _("3{SUPER_E}"); +const u8 gText_4th[] = _("4{SUPER_E}"); +const u8 gText_Friend[] = _("Friend"); +const u8 gText_Pokemon3[] = _("POKeMON"); +const u8 gJPText_MysteryGift[] = _("ふしぎなもらいもの"); +const u8 gJPText_DecideStop[] = _("{A_BUTTON}けってい {B_BUTTON}やめる"); +const u8 gJPText_ReceiveMysteryGiftWithEReader[] = _("カードeリーダー{PLUS} で\nふしぎなもらいものを よみこみます"); +const u8 gJPText_SelectConnectFromEReaderMenu[] = _("カードeリーダー{PLUS}の メニューから\n‘つうしん'を えらび"); +const u8 gJPText_SelectConnectWithGBA[] = _("‘ゲームボーイアドバンスとつうしん'\nを せんたく してください"); +const u8 gJPText_SelectConnectAndPressA[] = _("カードeリーダー{PLUS}の ‘つうしん'を\nえらんで Aボタンを おしてください"); // Unused +const u8 gJPText_LinkIsIncorrect[] = _("せつぞくが まちがっています"); +const u8 gJPText_CardReadingHasBeenHalted[] = _("カードの よみこみを\nちゅうし しました"); +const u8 gJPText_UnableConnectWithEReader[] = _("カードeリーダー{PLUS}と\nつうしん できません"); // Unused +const u8 gJPText_Connecting[] = _("つうしん ちゅう です"); +const u8 gJPText_ConnectionErrorCheckLink[] = _("つうしん エラーです\nせつぞくを たしかめて ください"); +const u8 gJPText_ConnectionErrorTryAgain[] = _("つうしん エラーです\nはじめから やりなおして ください"); // Link error +const u8 gJPText_AllowEReaderToLoadCard[] = _("カードeリーダー{PLUS} に\nカードを よみこませて ください"); +const u8 gJPText_ConnectionComplete[] = _("つうしん しゅうりょう!"); +const u8 gJPText_NewTrainerHasComeToHoenn[] = _("あらたな トレーナーが\nホウエンに やってきた!"); +const u8 gJPText_PleaseWaitAMoment[] = _("しばらく おまちください"); +const u8 gJPText_WriteErrorUnableToSaveData[] = _("かきこみ エラー です\nデータが ほぞん できませんでした"); +const u8 gText_Red[] = _("ROUGE"); +const u8 gText_Blue[] = _("BLEU"); +const u8 gText_3Dashes[] = _("---"); +const u8 gText_SingleBattleRoomResults[] = _("Combats solo de {PLAYER}"); +const u8 gText_DoubleBattleRoomResults[] = _("Combats duo de {PLAYER}"); +const u8 gText_MultiBattleRoomResults[] = _("Combats multi de {PLAYER}"); +const u8 gText_LinkMultiBattleRoomResults[] = _("Combats multi link de {PLAYER}"); +const u8 gText_SingleBattleTourneyResults[] = _("Tournois de combat solo de {PLAYER}"); +const u8 gText_DoubleBattleTourneyResults[] = _("Tournois de combat duo de {PLAYER}"); +const u8 gText_SingleBattleHallResults[] = _("Combats solo de {PLAYER}"); +const u8 gText_DoubleBattleHallResults[] = _("Combats duo de {PLAYER}"); +const u8 gText_BattleChoiceResults[] = _("Combats hasard de {PLAYER}"); +const u8 gText_SetKOTourneyResults[] = _("Tournoi K.O. de {PLAYER}"); +const u8 gText_BattleSwapSingleResults[] = _("Combats échange solo de {PLAYER}"); +const u8 gText_BattleSwapDoubleResults[] = _("Combats échange duo de {PLAYER}"); +const u8 gText_BattleQuestResults[] = _("Combats quête de {PLAYER}"); +const u8 gText_Lv502[] = _("N. 50"); +const u8 gText_OpenLv[] = _("N. LIBRE"); +const u8 gText_WinStreak[] = _("Victoires: {STR_VAR_1}"); +const u8 gText_Current[] = _("ACTUEL"); +const u8 gText_Record[] = _("RECORD"); +const u8 gText_Prev[] = _("PRECED."); +const u8 gText_RentalSwap[] = _("Loc./Ech."); +const u8 gText_Total[] = _("Total"); +const u8 gText_ClearStreak[] = _("Séries: {STR_VAR_1}"); +const u8 gText_Championships[] = _("Championnats: {STR_VAR_1}"); +const u8 gText_RoomsCleared[] = _("Salles: {STR_VAR_1}"); +const u8 gText_TimesCleared[] = _("Réussites: {STR_VAR_1}"); +const u8 gText_KOsInARow[] = _("K.O.s: {STR_VAR_1}"); +const u8 gText_TimesVar1[] = _("Nombre: {STR_VAR_1}"); +const u8 gText_FloorsCleared[] = _("Niveaux: {STR_VAR_1}"); + +ALIGNED(4) const u8 gText_RecordsLv50[] = _("NIVEAU 50"); +ALIGNED(4) const u8 gText_RecordsOpenLevel[] = _("NIVEAU LIBRE"); +ALIGNED(4) const u8 gText_FrontierFacilityWinStreak[] = _("Victoires: {STR_VAR_2}"); +ALIGNED(4) const u8 gText_FrontierFacilityClearStreak[] = _("Séries: {STR_VAR_2}"); +ALIGNED(4) const u8 gText_FrontierFacilityRoomsCleared[] = _("Salles: {STR_VAR_2}"); +ALIGNED(4) const u8 gText_FrontierFacilityKOsStreak[] = _("K.O.s: {STR_VAR_2}"); +ALIGNED(4) const u8 gText_FrontierFacilityFloorsCleared[] = _("Niveaux: {STR_VAR_2}"); +ALIGNED(4) const u8 gText_123Dot[][3] = {_("1."), _("2."), _("3.")}; + +const u8 gText_SavingDontTurnOff2[] = _("SAUVEGARDE EN COURS…\nNE PAS ETEINDRE."); +const u8 gText_BlenderMaxSpeedRecord[] = _("MIXEUR\nRECORDS DE VITESSE!"); +const u8 gText_234Players[] = _("2 JOUEURS\n3 JOUEURS\n4 JOUEURS"); +const u8 gText_YesNo[] = _("OUI\nNON"); +const u8 gText_SelectorArrow3[] = _("▶"); +const u8 gText_Peekaboo[] = _("PIKABOUH!"); +const u8 gText_CommErrorCheckConnections[] = _("Erreur de communication…\nVeuillez vérifier toutes les connexions\npuis éteignez et rallumez les consoles."); +const u8 gText_CommErrorEllipsis[] = _("Erreur de connexion…"); +const u8 gText_MoveCloserToLinkPartner[] = _("Rapprochez-vous de vos partenaires.\nEvitez tout obstacle entre vous."); +const u8 gText_ABtnRegistrationCounter[] = _("Bouton A: Comptoir d’enregistrement"); +const u8 gText_ABtnTitleScreen[] = _("Bouton A: Ecran titre"); +const u8 gText_Option[] = _("OPTIONS"); +const u8 gText_TextSpeed[] = _("VIT. TEXTE"); +const u8 gText_BattleScene[] = _("ANIMAT. COMBAT"); +const u8 gText_BattleStyle[] = _("STYLE COMBAT"); +const u8 gText_Sound[] = _("SON"); +const u8 gText_Frame[] = _("FENETRE"); +const u8 gText_OptionMenuCancel[] = _("RETOUR"); +const u8 gText_ButtonMode[] = _("MODE BOUTONS"); +const u8 gText_TextSpeedSlow[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}1"); +const u8 gText_TextSpeedMid[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}2"); +const u8 gText_TextSpeedFast[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}3"); +const u8 gText_BattleSceneOn[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}OUI"); +const u8 gText_BattleSceneOff[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}NON"); +const u8 gText_BattleStyleShift[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}CHOIX"); +const u8 gText_BattleStyleSet[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}DEFINI"); +const u8 gText_SoundMono[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}MONO"); +const u8 gText_SoundStereo[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}STEREO"); +const u8 gText_FrameType[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}TYPE "); +const u8 gText_FrameTypeNumber[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}"); +const u8 gText_ButtonTypeNormal[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}NORMAL"); +const u8 gText_ButtonTypeLR[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}LR"); +const u8 gText_ButtonTypeLEqualsA[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}L=A"); +const u8 gText_NumPlayerLink[] = _("LINK {STR_VAR_1}J"); +const u8 gText_BronzeCard[] = _("BRONZE"); +const u8 gText_CopperCard[] = _("CUIVRE"); +const u8 gText_SilverCard[] = _("ARGENT"); +const u8 gText_GoldCard[] = _("OR"); +const u8 gText_Day[] = _("JOUR"); +const u8 gText_Colon3[] = _(":"); +const u8 gText_Confirm2[] = _("CONFIR."); +const u8 gText_Days[] = _("Jours"); +const u8 gText_TimeColon2[] = _("Temps:"); +const u8 gText_GameTime[] = _("Temps de jeu"); +const u8 gText_RTCTime[] = _("Temps réel"); +const u8 gText_UpdatedTime[] = _("Mise à jour"); +const u8 gText_MenuPokedex[] = _("POKéDEX"); +const u8 gText_MenuPokemon[] = _("POKéMON"); +const u8 gText_MenuBag[] = _("SAC"); +const u8 gText_MenuPokenav[] = _("POKéNAV"); +const u8 gText_MenuPlayer[] = _("{PLAYER}"); +const u8 gText_MenuSave[] = _("SAUVER"); +const u8 gText_MenuOption[] = _("OPTIONS"); +const u8 gText_MenuExit[] = _("RETOUR"); +const u8 gText_MenuRetire[] = _("PARTIR"); +const u8 gText_MenuRest[] = _("REPOS"); +const u8 gText_SafariBallStock[] = _("SAFARI BALLS\nNb: {STR_VAR_1}"); +const u8 gText_BattlePyramidFloor[] = _("Pyramide\n{STR_VAR_1}"); +const u8 gText_Floor1[] = _("Niveau 1"); +const u8 gText_Floor2[] = _("Niveau 2"); +const u8 gText_Floor3[] = _("Niveau 3"); +const u8 gText_Floor4[] = _("Niveau 4"); +const u8 gText_Floor5[] = _("Niveau 5"); +const u8 gText_Floor6[] = _("Niveau 6"); +const u8 gText_Floor7[] = _("Niveau 7"); +const u8 gText_Peak[] = _("Sommet"); +const u8 gText_LinkStandby2[] = _("Connexion en cours…\nBouton B: Annuler"); +const u8 gText_PressAToLoadEvent[] = _("Bouton A: Charger évènement.\nBouton B: Annuler"); +const u8 gText_LoadingEvent[] = _("Chargement évènement…"); +const u8 gText_DontRemoveCableTurnOff[] = _("Ne pas retirer le câble Game Link.\nNe pas éteindre."); +const u8 gText_EventSafelyLoaded[] = _("Chargement de l’évènement achevé."); +const u8 gText_LoadErrorEndingSession[] = _("Erreur de chargement.\nFermeture de la session."); +const u8 gJPText_Player[] = _("プレイヤー"); // Unused +const u8 gJPText_Sama[] = _("さま"); // Unused +const u8 gText_DexHoenn[] = _("HOENN"); +const u8 gText_DexNational[] = _("NATIONAL"); +const u8 gText_PokedexDiploma[] = _("Joueur: {CLEAR 16}{COLOR 4}{SHADOW 5}{PLAYER}{COLOR 2}{SHADOW 3}\n\nPOKéDEX {STR_VAR_1}\nCe document certifie\nque vous avez complété\nvotre POKéDEX.\n\n{CLEAR_TO 66}{COLOR 4}{SHADOW 5}GAME FREAK"); +const u8 gJPText_GameFreak[] = _("{COLOR RED}{SHADOW LIGHT_RED}ゲ-ムフリ-ク"); // Unused +const u8 gText_DiplomaEmpty[] = _("{COLOR 4}{SHADOW 5}"); +const u8 gText_Hoenn[] = _("HOENN"); +const u8 gText_OhABite[] = _("Oh! Ça mord!"); +const u8 gText_PokemonOnHook[] = _("Un POKéMON a mordu à l’hameçon!{PAUSE_UNTIL_PRESS}"); +const u8 gText_NotEvenANibble[] = _("Rien de rien…{PAUSE_UNTIL_PRESS}"); +const u8 gText_ItGotAway[] = _("Il est reparti…{PAUSE_UNTIL_PRESS}"); +const u8 gText_XWillBeSentToY[] = _("{STR_VAR_2} sera envoyé à {STR_VAR_1}."); +const u8 gText_ByeByeVar1[] = _("Ciao, {STR_VAR_2}!"); +const u8 gText_XSentOverY[] = _("{STR_VAR_1} a envoyé {STR_VAR_3}."); +const u8 gText_TakeGoodCareOfX[] = _("Prends bien soin de {STR_VAR_3}!"); + +// Easy chat group names +const u8 gEasyChatGroupName_Pokemon[] = _("POKéMON"); +const u8 gEasyChatGroupName_Trainer[] = _("DRESSEUR"); +const u8 gEasyChatGroupName_Status[] = _("STATUT"); +const u8 gEasyChatGroupName_Battle[] = _("COMBAT"); +const u8 gEasyChatGroupName_Greetings[] = _("POLITESSES"); +const u8 gEasyChatGroupName_People[] = _("PERSONNES"); +const u8 gEasyChatGroupName_Voices[] = _("REACTIONS"); +const u8 gEasyChatGroupName_Speech[] = _("DISCOURS"); +const u8 gEasyChatGroupName_Endings[] = _("LIAISON"); +const u8 gEasyChatGroupName_Feelings[] = _("EMOTIONS"); +const u8 gEasyChatGroupName_Conditions[] = _("ETAT"); +const u8 gEasyChatGroupName_Actions[] = _("ACTIONS"); +const u8 gEasyChatGroupName_Lifestyle[] = _("VIE QUOTIDIEN."); +const u8 gEasyChatGroupName_Hobbies[] = _("HOBBIES"); +const u8 gEasyChatGroupName_Time[] = _("TEMPORALITE"); +const u8 gEasyChatGroupName_Misc[] = _("DIVERS"); +const u8 gEasyChatGroupName_Adjectives[] = _("QUALIFICATIFS"); +const u8 gEasyChatGroupName_Events[] = _("EVENEMENTS"); +const u8 gEasyChatGroupName_Move1[] = _("CAPACITE 1"); +const u8 gEasyChatGroupName_Move2[] = _("CAPACITE 2"); +const u8 gEasyChatGroupName_TrendySaying[] = _("MOTS COOL"); +const u8 gEasyChatGroupName_Pokemon2[] = _("POKéMON2"); + +const u8 gText_ThreeQuestionMarks[] = _("???"); +const u8 gText_MaxHP[] = _("PV MAX."); +const u8 gText_Attack[] = _("ATTAQUE"); +const u8 gText_Defense[] = _("DEFENSE"); +const u8 gText_Speed[] = _("VITESSE"); +const u8 gText_SpAtk[] = _("ATQ. SPE."); +const u8 gText_SpDef[] = _("DEF. SPE."); +const u8 gText_Plus[] = _("{PLUS}"); +const u8 gText_Dash[] = _("-"); +const u8 gText_FromSpace[] = _(""); +const u8 gText_MixingRecords[] = _("Echange de données…"); +const u8 gText_RecordMixingComplete[] = _("Echange de données terminé.\nMerci d’avoir patienté."); +const u8 gText_YourName[] = _("VOTRE NOM?"); +const u8 gText_BoxName[] = _("NOM BOITE?"); +const u8 gText_PkmnsNickname[] = _("Surnom de {STR_VAR_1}?"); +const u8 gText_TellHimTheWords[] = _("Lui dire les mots."); +const u8 gText_MoveOkBack[] = _("{DPAD_NONE}DEPL. {A_BUTTON}OK {B_BUTTON}RET."); +const u8 gText_CallCantBeMadeHere[] = _("Impossible d’appeler d’ici."); +const u8 gText_ContestLady_Handsome[] = _("LE SUBLIME"); +const u8 gText_ContestLady_Vinny[] = _("L’ENORME"); +const u8 gText_ContestLady_Moreme[] = _("L’UNIQUE"); +const u8 gText_ContestLady_Ironhard[] = _("LE SOLIDE"); +const u8 gText_ContestLady_Muscle[] = _("LE MUSCLE"); +const u8 gText_ContestLady_Coolness[] = _("sang-froid"); +const u8 gText_ContestLady_Beauty[] = _("beauté"); +const u8 gText_ContestLady_Cuteness[] = _("grâce"); +const u8 gText_ContestLady_Smartness[] = _("intelligence"); +const u8 gText_ContestLady_Toughness[] = _("robustesse"); +const u8 gText_QuizLady_Lady[] = _("moi"); +const u8 gText_FavorLady_Slippery[] = _("glissant"); +const u8 gText_FavorLady_Roundish[] = _("rond"); +const u8 gText_FavorLady_Whamish[] = _("bruyant"); +const u8 gText_FavorLady_Shiny[] = _("brillant"); +const u8 gText_FavorLady_Sticky[] = _("collant"); +const u8 gText_FavorLady_Pointy[] = _("pointu"); +const u8 gText_RentalPkmn2[] = _("LOCATION"); +const u8 gText_SelectFirstPkmn[] = _("Sélectionnez le premier."); +const u8 gText_SelectSecondPkmn[] = _("Sélectionnez le deuxième."); +const u8 gText_SelectThirdPkmn[] = _("Sélectionnez le troisième."); +const u8 gText_Rent[] = _("LOUER"); +const u8 gText_Summary[] = _("RESUME"); +const u8 gText_Others2[] = _("RETOUR"); +const u8 gText_Deselect[] = _("ANNULER"); +const u8 gText_TheseThreePkmnOkay[] = _("OK avec ces trois POKéMON?"); +const u8 gText_Yes2[] = _("OUI"); +const u8 gText_No2[] = _("NON"); +const u8 gText_CantSelectSamePkmn[] = _("Impossible de sélec. le même."); +const u8 gText_PkmnSwap[] = _("ECHANGE"); +const u8 gText_SelectPkmnToSwap[] = _("Choisir un PKMN à échanger."); +const u8 gText_SelectPkmnToAccept[] = _("Choisir un PKMN à recevoir."); +const u8 gText_Swap[] = _("ECHANGER"); +const u8 gText_Summary2[] = _("RESUME"); +const u8 gText_Rechoose[] = _("RETOUR"); +const u8 gText_QuitSwapping[] = _("Quitter l’échange?"); +const u8 gText_Yes3[] = _("OUI"); +const u8 gText_No3[] = _("NON"); +const u8 gText_PkmnForSwap[] = _("{PKMN} A ECHANGER"); +const u8 gText_Cancel3[] = _("ANNULER"); +const u8 gText_Swap2[] = _("SWAP"); +const u8 gText_Accept[] = _("ACCEPT"); +const u8 gText_AcceptThisPkmn[] = _("Accepter ce POKéMON?"); +const u8 gText_4Spaces[] = _(" "); +const u8 gText_SamePkmnInPartyAlready[] = _("Ce {PKMN} est déjà dans l’équipe."); +const u8 gText_DecimalPoint[] = _("."); +const u8 gText_SavingPlayer[] = _("JOUEUR"); +const u8 gText_SavingBadges[] = _("BADGES"); +const u8 gText_SavingPokedex[] = _("POKéDEX"); +const u8 gText_SavingTime[] = _("DUREE JEU"); +const u8 gText_WirelessCommStatus[] = _("Statut de la communication sans fil"); +const u8 gText_PeopleTrading[] = _("Personnes pour échanges:"); +const u8 gText_PeopleBattling[] = _("Personnes pour combats:"); +const u8 gText_PeopleInUnionRoom[] = _("Personnes dans SALLE UNION:"); +const u8 gText_PeopleCommunicating[] = _("Personnes en communication:"); +const u8 gText_F700Players[] = _("{DYNAMIC 0} JOUEURS"); +const u8 gText_F701Players[] = _("{DYNAMIC 1} JOUEURS"); +const u8 gText_F702Players[] = _("{DYNAMIC 2} JOUEURS"); +const u8 gText_F703Players[] = _("{DYNAMIC 3} JOUEURS"); +#endif const u8 *const gTextTable_Players[] = { gText_F700Players, @@ -1659,6 +3281,7 @@ const u8 *const gTextTable_Players[] = { gText_F703Players }; +#if ENGLISH ALIGNED(4) const u8 gText_WonderCards[] = _("WONDER CARDS"); ALIGNED(4) const u8 gText_WonderNews[] = _("WONDER NEWS"); ALIGNED(4) const u8 gText_WirelessCommunication[] = _("WIRELESS COMMUNICATION"); @@ -1819,3 +3442,170 @@ const u8 gText_Answer[] = _("ANSWER"); const u8 gText_PokeBalls[] = _("POKé BALLS"); const u8 gText_Berry[] = _("BERRY"); const u8 gText_Berries[] = _("BERRIES"); +#elif FRENCH +ALIGNED(4) const u8 gText_WonderCards[] = _("CARTES MIRACLE"); +ALIGNED(4) const u8 gText_WonderNews[] = _("INFOS MIRACLE"); +ALIGNED(4) const u8 gText_WirelessCommunication[] = _("COMMUNICATION SANS FIL"); +ALIGNED(4) const u8 gText_Friend2[] = _("AMI"); +ALIGNED(4) const u8 gText_Exit3[] = _("RETOUR"); +ALIGNED(4) const u8 gText_Receive[] = _("RECEVOIR"); +ALIGNED(4) const u8 gText_Send[] = _("ENVOYER"); +ALIGNED(4) const u8 gText_Toss[] = _("JETER"); +ALIGNED(4) const u8 gText_VarietyOfEventsImportedWireless[] = _("Différents évènements seront\nimportés en transmission sans fil."); +ALIGNED(4) const u8 gText_WonderCardsInPossession[] = _("Lire les CARTES MIRACLE en\nvotre possession."); +ALIGNED(4) const u8 gText_ReadNewsThatArrived[] = _("Lire les INFOS qui sont\narrivées."); +ALIGNED(4) const u8 gText_ReturnToTitle[] = _("Retourner à l’écran titre."); +ALIGNED(4) const u8 gText_DontHaveCardNewOneInput[] = _("Vous n’avez pas de CARTE MIRACLE.\nUne nouvelle carte va être ajoutée."); +ALIGNED(4) const u8 gText_DontHaveNewsNewOneInput[] = _("Vous n’avez pas d’INFOS MIRACLE.\nDe nouvelles infos vont être ajoutées."); +ALIGNED(4) const u8 gText_WhereShouldCardBeAccessed[] = _("D’où accéder à la CARTE MIRACLE?"); +ALIGNED(4) const u8 gText_WhereShouldNewsBeAccessed[] = _("D’où accéder aux INFOS MIRACLE?"); +ALIGNED(4) const u8 gText_CommunicationStandbyBButtonCancel[] = _("Communication standby…\nB Button: Cancel"); +ALIGNED(4) const u8 gText_Communicating[] = _("Transmission…"); +ALIGNED(4) const u8 gText_CommunicationCompleted[] = _("Fin de la connexion."); +ALIGNED(4) const u8 gText_CommunicationError[] = _("Erreur de transmission…"); +ALIGNED(4) const u8 gText_CommunicationCanceled[] = _("La connexion a été annulée."); +ALIGNED(4) const u8 gText_ThrowAwayWonderCard[] = _("Jeter la CARTE MIRACLE et\nentrer une nouvelle carte?"); +ALIGNED(4) const u8 gText_HaventReceivedCardsGift[] = _("Vous n’avez pas encore reçu de carte\nen cadeau. Entrer une nouvelle carte?"); +ALIGNED(4) const u8 gText_WonderCardReceivedFrom[] = _("Vous avez reçu une CARTE MIRACLE\nde {STR_VAR_1}."); +ALIGNED(4) const u8 gText_WonderNewsReceivedFrom[] = _("Vous avez reçu un objet INFOS\nMIRACLE de {STR_VAR_1}."); +ALIGNED(4) const u8 gText_WonderCardReceived[] = _("Une nouvelle CARTE MIRACLE\na été reçue."); +ALIGNED(4) const u8 gText_WonderNewsReceived[] = _("Un nouvel objet INFOS MIRACLE\na été reçu."); +ALIGNED(4) const u8 gText_NewStampReceived[] = _("Un nouveau TAMPON a été reçu."); +ALIGNED(4) const u8 gText_NewTrainerReceived[] = _("Un nouveau DRESSEUR est arrivé."); +ALIGNED(4) const u8 gText_AlreadyHadCard[] = _("Vous aviez déjà cette\nCARTE MIRACLE."); +ALIGNED(4) const u8 gText_AlreadyHadNews[] = _("Vous aviez déjà cet objet\nINFOS MIRACLE."); +ALIGNED(4) const u8 gText_AlreadyHadStamp[] = _("Vous aviez déjà ce\nTAMPON."); +ALIGNED(4) const u8 gText_NoMoreRoomForStamps[] = _("Il n’y a plus de place pour\nde nouveaux TAMPONS."); +ALIGNED(4) const u8 gText_RecordUploadedViaWireless[] = _("Votre record a été transféré par\nCOMMUNICATION SANS FIL."); +ALIGNED(4) const u8 gText_CantAcceptCardFromTrainer[] = _("Vous ne pouvez pas accepter de\nCARTE MIRACLE de ce DRESSEUR."); +ALIGNED(4) const u8 gText_CantAcceptNewsFromTrainer[] = _("Vous ne pouvez pas accepter\nd’INFOS MIRACLE de ce DRESSEUR."); +ALIGNED(4) const u8 gText_NothingSentOver[] = _("Rien n’a été envoyé…"); +ALIGNED(4) const u8 gText_WhatToDoWithCards[] = _("Que voulez-vous faire avec\nles CARTES MIRACLE?"); +ALIGNED(4) const u8 gText_WhatToDoWithNews[] = _("Que voulez-vous faire avec\nles INFOS MIRACLE?"); +ALIGNED(4) const u8 gText_SendingWonderCard[] = _("Envoi d’une CARTE MIRACLE…"); +ALIGNED(4) const u8 gText_SendingWonderNews[] = _("Envoi des INFOS MIRACLE…"); +ALIGNED(4) const u8 gText_WonderCardSentTo[] = _("Votre CARTE MIRACLE a été\nenvoyée à {STR_VAR_1}."); +ALIGNED(4) const u8 gText_WonderNewsSentTo[] = _("Vos INFOS MIRACLE ont été\nenvoyées à {STR_VAR_1}."); +ALIGNED(4) const u8 gText_StampSentTo[] = _("Un TAMPON a été envoyé à {STR_VAR_1}."); +ALIGNED(4) const u8 gText_GiftSentTo[] = _("Un CADEAU a été envoyé à {STR_VAR_1}."); +ALIGNED(4) const u8 gText_OtherTrainerHasCard[] = _("L’autre DRESSEUR a déjà la\nmême CARTE MIRACLE."); +ALIGNED(4) const u8 gText_OtherTrainerHasNews[] = _("L’autre DRESSEUR a déjà les\nmêmes INFOS MIRACLE."); +ALIGNED(4) const u8 gText_OtherTrainerHasStamp[] = _("L’autre DRESSEUR a déjà le\nmême TAMPON."); +ALIGNED(4) const u8 gText_OtherTrainerCanceled[] = _("L’autre DRESSEUR a interrompu\nla communication."); +ALIGNED(4) const u8 gText_CantSendGiftToTrainer[] = _("Vous ne pouvez pas envoyer de\nCADEAU MYST. à ce DRESSEUR."); +ALIGNED(4) const u8 gText_IfThrowAwayCardEventWontHappen[] = _("Si vous jetez la CARTE, son\névènement n’arrivera pas. OK?"); +ALIGNED(4) const u8 gText_OkayToDiscardNews[] = _("Voulez-vous vous débarrasser\nde cet objet INFOS?"); +ALIGNED(4) const u8 gText_HaventReceivedGiftOkayToDiscard[] = _("Vous n’avez pas reçu le\nCADEAU. Le jeter?"); +ALIGNED(4) const u8 gText_DataWillBeSaved[] = _("Sauvegarde en cours…\nVeuillez patienter."); +ALIGNED(4) const u8 gText_SaveCompletedPressA[] = _("Sauvegarde terminée.\nVeuillez appuyer sur le bouton A."); +ALIGNED(4) const u8 gText_WonderCardThrownAway[] = _("CARTE MIRACLE jetée."); +ALIGNED(4) const u8 gText_WonderNewsThrownAway[] = _("INFOS MIRACLE jetées."); +ALIGNED(4) const u8 gText_MysteryGift[] = _("CADEAU MYST."); +ALIGNED(4) const u8 gText_PickOKExit[] = _("{DPAD_UPDOWN}CHOIX {A_BUTTON}OK {B_BUTTON}QUIT."); +ALIGNED(4) const u8 gText_PickOKCancel[] = _("{DPAD_UPDOWN}CHOIX {A_BUTTON}OK {B_BUTTON}QUIT."); +const u8 gText_PlayersBattleResults[] = _("RESULTATS COMBATS de {PLAYER}"); +const u8 gText_TotalRecordWLD[] = _("RESULTATS V/{STR_VAR_1} D/{STR_VAR_2} EG/{STR_VAR_3}"); +const u8 gText_WinLoseDraw[] = _("{CLEAR_TO 80}VICT.{CLEAR_TO 128}DEF.{CLEAR_TO 176}EGAL."); +const u8 gText_CommunicationStandby5[] = _("Connexion en cours…"); +const u8 gText_QuitTheGame[] = _("Quitter la partie?"); +const u8 gText_YouveGot9999Coins[] = _("Vous avez 9999 JETONS."); +const u8 gText_YouveRunOutOfCoins[] = _("Vous n’avez plus de JETONS.\nPerdu!"); +const u8 gText_YouDontHaveThreeCoins[] = _("Vous n’avez pas 3 JETONS."); +const u8 gText_ReelTimeHelp[] = _("REEL TIME\nPendant le REEL TIME, si tout\nva au ralenti, profitez-en!\nVous avez jusqu’à 5 chances\nde gagner! Mais gardez\nle Big Bonus pour la fin!"); +const u8 gDaycareText_GetAlongVeryWell[] = _("Ils ont l’air de très bien\ns’entendre."); +const u8 gDaycareText_GetAlong[] = _("Ils ont l’air de s’entendre."); +const u8 gDaycareText_DontLikeOther[] = _("Ils ont l’air de ne pas s’aimer."); +const u8 gDaycareText_PlayOther[] = _("Ils préfèrent jouer avec d’autres\nPOKéMON plutôt qu’ensemble."); +const u8 gText_NewLine2[] = _("\n"); +const u8 gText_Exit4[] = _("RETOUR"); +const u8 gText_Lv[] = _("N."); +const u8 gText_TimeBoard[] = _("PANNEAU DES TEMPS"); +const u8 gText_TimeCleared[] = _("TEMPS "); +const u8 gText_XMinYDotZSec[] = _("{STR_VAR_1} min {STR_VAR_2},{STR_VAR_3} s"); +const u8 gText_TrainerHill1F[] = _("RC"); +const u8 gText_TrainerHill2F[] = _("1{SUPER_ER}"); +const u8 gText_TrainerHill3F[] = _("2{SUPER_E}"); +const u8 gText_TrainerHill4F[] = _("3{SUPER_E}"); +const u8 gText_TeachWhichMoveToPkmn[] = _("Enseigner quoi à {STR_VAR_1}?"); +const u8 gText_MoveRelearnerTeachMoveConfirm[] = _("Enseigner {STR_VAR_2}?"); +const u8 gText_MoveRelearnerPkmnLearnedMove[] = _("{STR_VAR_1} apprend\n{STR_VAR_2}!"); +const u8 gText_MoveRelearnerPkmnTryingToLearnMove[] = _("{STR_VAR_1} tente d’apprendre\n{STR_VAR_2}.\pMais {STR_VAR_1} ne peut pas ap-\nprendre plus de 4 capacités.\pEffacer une capacité \npour {STR_VAR_2}?"); +const u8 gText_MoveRelearnerStopTryingToTeachMove[] = _("Arrêter d’apprendre\n{STR_VAR_2}?"); +const u8 gText_MoveRelearnerAndPoof[] = _("{PAUSE 32}1, {PAUSE 15}2 {PAUSE 15}…\n{PAUSE 15}… {PAUSE 15} …{PAUSE 15} {PLAY_SE SE_BALL_BOUNCE_1}Tadaa!\p"); +const u8 gText_MoveRelearnerPkmnForgotMoveAndLearnedNew[] = _("{STR_VAR_1} oublie\n{STR_VAR_3}.\pEt…\p{STR_VAR_1}\napprend {STR_VAR_2}."); +const u8 gText_MoveRelearnedPkmnDidNotLearnMove[] = _("{STR_VAR_1} did not learn the\nmove {STR_VAR_2}."); +const u8 gText_MoveRelearnerGiveUp[] = _("Arrêter d’enseigner la nouvelle\ncapacité à {STR_VAR_1}?"); +const u8 gText_MoveRelearnerWhichMoveToForget[] = _("Oublier quelle capacité?\p"); +const u8 gText_MoveRelearnerBattleMoves[] = _("CAPACITES COMB."); +const u8 gText_MoveRelearnerContestMovesTitle[] = _("CAPACITES CONC."); +const u8 gText_MoveRelearnerType[] = _("TYPE/"); +const u8 gText_MoveRelearnerPP[] = _("PP/"); +const u8 gText_MoveRelearnerPower[] = _("POUVOIR/"); +const u8 gText_MoveRelearnerAccuracy[] = _("PRECIS./"); +const u8 gText_MoveRelearnerAppeal[] = _("CHARME/"); +const u8 gText_MoveRelearnerJam[] = _("BLOCAG./"); +const u8 gText_Kira[] = _("RITA"); +const u8 gText_Amy[] = _("EVE"); +const u8 gText_John[] = _("JOHN"); +const u8 gText_Roy[] = _("SAM"); +const u8 gText_Gabby[] = _("INES"); +const u8 gText_Anna[] = _("ANNA"); +const u8 gText_ClearAllSaveData[] = _("Effacer toutes les données?"); +const u8 gText_ClearingData[] = _("Effacement des données en cours…\nVeuillez patienter."); +const u8 gText_IsThisTheCorrectTime[] = _("Est-ce la bonne heure?"); +const u8 gText_Confirm3[] = _("CONFIR."); +const u8 gText_Cancel4[] = _("SORTIR"); +const u8 gText_MrStoneMatchCallDesc[] = _("DIR. DEVON"); +const u8 gText_MrStoneMatchCallName[] = _("M. ROCHARD"); +const u8 gText_StevenMatchCallDesc[] = _("COMME UN ROC"); +const u8 gText_StevenMatchCallName[] = _("PIERRE"); +const u8 gText_BrendanMatchCallDesc[] = _("LE VOISIN"); +const u8 gText_MayMatchCallDesc[] = _("LA VOISINE"); +const u8 gText_NormanMatchCallDesc[] = _("SERIEUX"); +const u8 gText_MomMatchCallDesc[] = _("LA PLUS DOUCE"); +const u8 gText_WallyMatchCallDesc[] = _("AMI DES {PKMN}"); +const u8 gText_NormanMatchCallName[] = _("PAPA"); +const u8 gText_MomMatchCallName[] = _("MAMAN"); +const u8 gText_ScottMatchCallDesc[] = _("REGARD NOIR"); +const u8 gText_ScottMatchCallName[] = _("SCOTT"); +const u8 gText_RoxanneMatchCallDesc[] = _("LA RESISTANTE"); +const u8 gText_BrawlyMatchCallDesc[] = _("LE COSTAUD"); +const u8 gText_WattsonMatchCallDesc[] = _("L’ELECTRIQUE"); +const u8 gText_FlanneryMatchCallDesc[] = _("L’ARDENTE"); +const u8 gText_WinonaMatchCallDesc[] = _("LA VOLANTE"); +const u8 gText_TateLizaMatchCallDesc[] = _("DUO MYSTIQUE"); +const u8 gText_JuanMatchCallDesc[] = _("LE CHARMEUR"); +const u8 gText_EliteFourMatchCallDesc[] = _("CONSEIL 4"); +const u8 gText_ChampionMatchCallDesc[] = _("MAITRE"); +const u8 gText_ProfBirchMatchCallDesc[] = _("PROF.{PKMN}"); +const u8 gText_CommStandbyAwaitingOtherPlayer[] = _("Communication en attente du\nchoix d’un participant."); +const u8 gText_BattleWasRefused[] = _("Le combat a été refusé.{PAUSE 60}"); +const u8 gText_RefusedBattle[] = _("A refusé le combat.{PAUSE 60}"); +const u8 gText_NoWeather[] = _("RIEN"); +const u8 gText_Sunny[] = _("SOLEIL"); +const u8 gText_Sunny2[] = _("SOLEIL2"); +const u8 gText_Rain[] = _("PLUIE"); +const u8 gText_Snow[] = _("NEIGE"); +const u8 gText_Lightning[] = _("ECLAIR"); +const u8 gText_Fog[] = _("BROUILLARD"); +const u8 gText_VolcanoAsh[] = _("CENDRES"); +const u8 gText_Sandstorm[] = _("TEMPETE SABLE"); +const u8 gText_Fog2[] = _("BROUILLARD2"); +const u8 gText_Seafloor[] = _("MER"); +const u8 gText_Cloudy[] = _("NUAGEUX"); +const u8 gText_Sunny3[] = _("SOLEIL3"); +const u8 gText_HeavyRain[] = _("FORTE PLUIE"); +const u8 gText_Seafloor2[] = _("MER2"); +const u8 gText_DelAll[] = _("TOUT EF."); +const u8 gText_Cancel5[] = _("ANNULER"); +const u8 gText_Ok2[] = _("OK"); +const u8 gText_Quiz[] = _("QUIZ"); +const u8 gText_Answer[] = _("REPONSE"); +const u8 gText_PokeBalls[] = _("POKé BALLS"); +const u8 gText_Berry[] = _("BAIE"); +const u8 gText_Berries[] = _("BAIES"); +// new strings +const u8 gText_Eleve[] = _("ELEVE"); +const u8 gText_Dresseur[] = _("DRESSEUR"); +const u8 gText_Champion[] = _("CHAMPION"); +#endif