From 6f3269cb1eac64c3fa734abfa77e530ea3985caf Mon Sep 17 00:00:00 2001 From: 12014 Date: Thu, 10 Apr 2025 00:04:08 +0900 Subject: [PATCH] Some Translations& Bug fixing --- data/text/obtain_item.inc | 14 +-- data/text/save.inc | 26 ++++-- graphics/title_screen/press_start.png | Bin 1859 -> 564 bytes src/battle_message.c | 20 ++--- src/data/party_menu.h | 20 ++--- src/field_specials.c | 16 ++-- src/item.c | 19 ++-- src/main_menu.c | 124 ++++++++++++++------------ src/menu.c | 14 ++- src/pokemon_storage_system.c | 24 ++--- src/strings.c | 72 +++++++-------- 11 files changed, 189 insertions(+), 160 deletions(-) mode change 100644 => 100755 graphics/title_screen/press_start.png diff --git a/data/text/obtain_item.inc b/data/text/obtain_item.inc index 43e5329d15..1137421377 100644 --- a/data/text/obtain_item.inc +++ b/data/text/obtain_item.inc @@ -1,17 +1,17 @@ gText_ObtainedTheItem:: - .string "得到了{STR_VAR_2}!$" + .string "{PLAYER}得到了{STR_VAR_2}!$" gText_TheBagIsFull:: - .string "背包满了…$" + .string "背包满了………$" gText_PutItemInPocket:: - .string "{PLAYER}把{STR_VAR_2}放进了\n{STR_VAR_3}口袋。$" + .string "{PLAYER}把{STR_VAR_2}放进了\n背包的{STR_VAR_3}口袋。$" gText_PlayerFoundOneItem:: .string "{PLAYER}发现了{STR_VAR_2}!$" gText_TooBadBagIsFull:: - .string "糟糕!\n背包满了…$" + .string "真可惜!\n背包满了…$" gText_PlayerPutItemInBag:: .string "{PLAYER}把{STR_VAR_2}\n放进了背包。$" @@ -20,13 +20,13 @@ gText_ObtainedTheDecor:: .string "得到了{STR_VAR_2}!$" gText_NoRoomLeftForAnother:: - .string "糟糕!没有空间再放\n一个{STR_VAR_2}了…$" + .string "可惜!没有再放下一个\n{STR_VAR_2}的空间了…$" gText_TheDecorWasTransferredToThePC:: .string "{STR_VAR_2}传进了\n电脑里。$" gText_ObtainedTheItems:: - .string "获得了 {STR_VAR_1} {STR_VAR_2}!$" + .string "{PLAYER}获得了\n{STR_VAR_1}个{STR_VAR_2}!$" gText_PlayerFoundItems:: - .string "{PLAYER}找到了{STR_VAR_1} {STR_VAR_2}!$" + .string "{PLAYER}找到了\n{STR_VAR_1}个{STR_VAR_2}!$" diff --git a/data/text/save.inc b/data/text/save.inc index 5a13c791ab..dc672cd32b 100644 --- a/data/text/save.inc +++ b/data/text/save.inc @@ -1,21 +1,33 @@ .align 2 gText_ConfirmSave:: - .string "要保存游戏进度吗?$" + .string "要将现在的冒险进度\n" + .string "写到记录中保存起来吗?$" gText_AlreadySavedFile:: - .string "已存在记录数据。\n覆盖原有进度吗?$" + .string "将原来保存的记录,\n" + .string "从头覆盖掉可以吗?$" gText_SavingDontTurnOff:: - .string "保存中…\n请不要关闭电源。$" + .string "正在写记录,请不要切断电源。$" gText_PlayerSavedGame:: - .string "{PLAYER}已保存进度。$" + .string "{PLAYER}将记录保存好了!$" gText_DifferentSaveFile:: - .string "警告!\p检测到另一个数据\n已被保存。\p如果保存进度,另一个数据的\n冒险进度,包括物品和宝可梦,\l将会完全丢失。\p你确定要保存游戏进度\n并将原有的数据覆盖吗?$" + .string "注意!!\p" + .string "在“从记录继续”的选项里\n" + .string "已经有了一个先前保存的\l" + .string "冒险进度了!\p" + .string "这样做,先前的冒险进度,\n" + .string "以及已经得到的所有宝可梦和道具\l" + .string "全部都会消失……\p" + .string "真的要将原来的记录\n" + .string "从头覆盖掉吗?$" gText_SaveError:: - .string "保存失败。\p请换成\n备份进度。$" + .string "无法写入记录!\p" + .string "请更换卡带的存档用\n" + .string "记忆电池或电子基板!$" gText_SavingDontTurnOffPower:: - .string "保存中…\n请不要关闭电源。$" + .string "正在写记录,请不要切断电源。$" diff --git a/graphics/title_screen/press_start.png b/graphics/title_screen/press_start.png old mode 100644 new mode 100755 index 1b1ff0fed70c129ae0f0f59b32b1ef39a1210c3f..bbd631c9ab35039af4002b561412198177edd329 GIT binary patch delta 480 zcmV<60U!Ru4zvW2Bnkm@Qb$4nuFf3kks&^R0kTO%K~zYI&6SI?gCGn<6SV*T%f%#{ z2cYfT(Yd895m>@%IYRV1g;OaFv==%XCH;+4Kj-zNB78|{J@V18_7S`A=qx%PH#Pb> z^R-|*#bfBuX0L4?bLy{p_Pl9- zocC;C)6!#4B$Y2tv9rO4&Z`FY2ZsMa&hDM`dK-TqYHlX>C_tXIX zwZ)EIQeaaS8@p`p#lBBV(buJ9F9{S{S0N|dZe3wDX>&i?aYAT*vFdV30yq}f7bF|6YQP_(XrIA z)<65wfFcsu@q|~Y(15Xg9q>fa1pa>}Pi*=+{?xx4}K W_YO}ISy)T}0000-x$xwFJ-XC|@crwPpU~-JXCE|2}Ui;l$<*qGlk2}D* zW6>Ei1|(DG-=-)!vl(KhBTPl(Hs<1BbN-AN7B@4QP8V>S%o}d9ug7sw<21AR+J0@H z_j&){t}iQnJ|*eNBm_ZHii@n}@E(Nctb|y2oqB%i0K5@pCH4Yoy8~`FZ0|VK({u6S z@HjjWyCZkT{Fh7H8 z39SYv%y6j)g47vFoe7N`7*r=RPO{uu7*PhFESOuC1ro>oe!tqUQ}dz=*O<+aK#Oa& zDu_@?^_)xvRGgGK$zTN%EwX~l@*Ju#QV!lHTQF$qgb!XJO3O)+IKhbF0ZPC%YC`cT z3}omiPVkAIuyTgRfd_a2Crc2kiDCseFY}U{{}1Zu=X(^u*xGDS9S^j{>y4_Ar$mtF zg3)?pIpNTFTKdM??o92s{ITUEXiOek zB^+(NW@#K#jonF2?YVubs%uG8ons{Z^AoS_DLi=jz2K5%Jss{#dj>*HKMs~|TaGw? z+WAZ2(3UR_Tbo1cciR5!WCy2Y&786~P_%IOS6S)(*y>#MDO zS6X|jzU;f%cC6-y3S!sAmX4)oZ_Uf)a%y{4%sqAezt*l>(^wunJDZ%N`zF4$`QuP_k~bln z9?qTLUi}8Md74fat9yG|+wW~#d-rRwk~`g?XplayTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3); @@ -2263,12 +2267,18 @@ void BufferSaveMenuText(u8 textId, u8 *dest, u8 color) GetMapNameGeneric(string, gMapHeader.regionMapSectionId); break; case SAVE_MENU_BADGES: - for (curFlag = FLAG_BADGE01_GET, flagCount = 0, endOfString = string + 1; curFlag < FLAG_BADGE01_GET + NUM_BADGES; curFlag++) + //for (curFlag = FLAG_BADGE01_GET, flagCount = 0, endOfString = string + 1; curFlag < FLAG_BADGE01_GET + NUM_BADGES; curFlag++) + for (curFlag = FLAG_BADGE01_GET, flagCount = 0, endOfString = string + 3; curFlag < FLAG_BADGE01_GET + NUM_BADGES; curFlag++) { if (FlagGet(curFlag)) flagCount++; } *string = flagCount + CHAR_0; + string++; + //修改,增加徽章单位显示 + *string++ = 0x04; + *string++ = 0x60; //手动写入汉字「个」的编码 + //*string++ = EOS; //结束 *endOfString = EOS; break; } diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 9714293931..b0e114772c 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -848,20 +848,20 @@ static void TilemapUtil_Draw(u8); void SetMonFormPSS(struct BoxPokemon *boxMon, u32 method); void UpdateSpeciesSpritePSS(struct BoxPokemon *boxmon); -static const u8 gText_JustOnePkmn[] = _("There is just one POKéMON with you."); -static const u8 gText_PartyFull[] = _("Your party is full!"); -static const u8 gText_Box[] = _("BOX"); +static const u8 gText_JustOnePkmn[] = _("没有可以战斗的宝可梦了!"); +static const u8 gText_PartyFull[] = _("队伍已经满了!"); +static const u8 gText_Box[] = _("箱子"); struct { const u8 *text; const u8 *desc; } static const sMainMenuTexts[OPTIONS_COUNT] = { - [OPTION_WITHDRAW] = {COMPOUND_STRING("WITHDRAW POKéMON"), COMPOUND_STRING("Move POKéMON stored in BOXES to\nyour party.")}, - [OPTION_DEPOSIT] = {COMPOUND_STRING("DEPOSIT POKéMON"), COMPOUND_STRING("Store POKéMON in your party in BOXES.")}, - [OPTION_MOVE_MONS] = {COMPOUND_STRING("MOVE POKéMON"), COMPOUND_STRING("Organize the POKéMON in BOXES and\nin your party.")}, - [OPTION_MOVE_ITEMS] = {COMPOUND_STRING("MOVE ITEMS"), COMPOUND_STRING("Move items held by any POKéMON\nin a BOX or your party.")}, - [OPTION_EXIT] = {COMPOUND_STRING("SEE YA!"), COMPOUND_STRING("Return to the previous menu.")} + [OPTION_WITHDRAW] = {COMPOUND_STRING("存放宝可梦"), COMPOUND_STRING("可以将存放在箱子中的宝可梦\n取出并添加到队伍中。")}, + [OPTION_DEPOSIT] = {COMPOUND_STRING("取出宝可梦"), COMPOUND_STRING("可以将当前队伍中的宝可梦\n存放到电脑中。")}, + [OPTION_MOVE_MONS] = {COMPOUND_STRING("整理宝可梦"), COMPOUND_STRING("可以整理当前队伍以及\n箱子中存放的所有宝可梦。")}, + [OPTION_MOVE_ITEMS] = {COMPOUND_STRING("整理道具"), COMPOUND_STRING("可以整理当前所有宝可梦\n所携带的道具。")}, + [OPTION_EXIT] = {COMPOUND_STRING("再见!"), COMPOUND_STRING("返回上一个菜单。")} }; static const struct WindowTemplate sWindowTemplate_MainMenu = @@ -1050,10 +1050,10 @@ static const struct StorageMessage sMessages[] = [MSG_JUMP_TO_WHICH_BOX] = {COMPOUND_STRING("Jump to which BOX?"), MSG_VAR_NONE}, [MSG_DEPOSIT_IN_WHICH_BOX] = {COMPOUND_STRING("Deposit in which BOX?"), MSG_VAR_NONE}, [MSG_WAS_DEPOSITED] = {COMPOUND_STRING("{DYNAMIC 0} was deposited."), MSG_VAR_MON_NAME_1}, - [MSG_BOX_IS_FULL] = {COMPOUND_STRING("The BOX is full."), MSG_VAR_NONE}, - [MSG_RELEASE_POKE] = {COMPOUND_STRING("Release this POKéMON?"), MSG_VAR_NONE}, - [MSG_WAS_RELEASED] = {COMPOUND_STRING("{DYNAMIC 0} was released."), MSG_VAR_RELEASE_MON_1}, - [MSG_BYE_BYE] = {COMPOUND_STRING("Bye-bye, {DYNAMIC 0}!"), MSG_VAR_RELEASE_MON_3}, + [MSG_BOX_IS_FULL] = {COMPOUND_STRING("这个箱子已经满了!"), MSG_VAR_NONE}, + [MSG_RELEASE_POKE] = {COMPOUND_STRING("真的要放生吗?"), MSG_VAR_NONE}, + [MSG_WAS_RELEASED] = {COMPOUND_STRING("把{DYNAMIC 0}放生到外面去了!"), MSG_VAR_RELEASE_MON_1}, + [MSG_BYE_BYE] = {COMPOUND_STRING("再见了!{DYNAMIC 0}!"), MSG_VAR_RELEASE_MON_3}, [MSG_MARK_POKE] = {COMPOUND_STRING("Mark your POKéMON."), MSG_VAR_NONE}, [MSG_LAST_POKE] = {COMPOUND_STRING("That's your last POKéMON!"), MSG_VAR_NONE}, [MSG_PARTY_FULL] = {gText_YourPartysFull, MSG_VAR_NONE}, diff --git a/src/strings.c b/src/strings.c index 68d0b0f9b9..2ee16f163a 100644 --- a/src/strings.c +++ b/src/strings.c @@ -22,7 +22,7 @@ const u8 gText_EggNickname[] = _("蛋"); const u8 gText_Pokemon[] = _("宝可梦"); const u8 gText_Player[] = _("玩家"); // Unused const u8 gText_Pokedex[] = _("图鉴"); // Unused -const u8 gText_Time[] = _("时间"); +const u8 gText_Time[] = _("冒险时间"); const u8 gText_Badges[] = _("徽章"); // Unused const u8 gText_AButton[] = _("A键"); // Unused const u8 gText_BButton[] = _("B键"); // Unused @@ -53,8 +53,8 @@ const u8 gText_CryOf[] = _("声音"); const u8 gText_EmptyPokedexInfo2[] = _(""); // Unused const u8 gText_SizeComparedTo[] = _("体型相对于"); const u8 gText_PokedexRegistration[] = _("图鉴登记完毕。"); -const u8 gText_HTHeight[] = _("高"); -const u8 gText_WTWeight[] = _("重"); +const u8 gText_HTHeight[] = _("身高"); +const u8 gText_WTWeight[] = _("体重"); const u8 gText_SearchingPleaseWait[] = _("搜索中……\n请稍后。"); const u8 gText_SearchCompleted[] = _("搜索完毕。"); const u8 gText_NoMatchingPkmnWereFound[] = _("没有找到符合条件的宝可梦。"); @@ -125,7 +125,7 @@ const u8 gText_FlyToWhere[] = _("要飞到哪里?"); const u8 gMenuText_Use[] = _("USE"); const u8 gMenuText_Toss[] = _("TOSS"); const u8 gMenuText_Register[] = _("REGISTER"); -const u8 gMenuText_Give[] = _("GIVE"); +const u8 gMenuText_Give[] = _("给予"); const u8 gMenuText_Confirm[] = _("CONFIRM"); const u8 gText_Cancel[] = _("取消"); const u8 gText_Cancel2[] = _("取消"); @@ -146,7 +146,7 @@ const u8 gText_Space[] = _(""); const u8 gText_SelectorArrow2[] = _("▶"); const u8 gText_GoBackPrevMenu[] = _("返回\n上一级菜单。"); const u8 gText_WhatWouldYouLike[] = _("请选择。"); -const u8 gMenuText_Give2[] = _("GIVE"); +const u8 gMenuText_Give2[] = _("给予"); const u8 gText_xVar1[] = _("×{STR_VAR_1}"); const u8 gText_Berry2[] = _("树果"); // Unused const u8 gText_Coins[] = _("{STR_VAR_1}枚代币"); @@ -195,15 +195,15 @@ const u8 *const gPyramidBagMenu_ReturnToStrings[] = [PYRAMIDBAG_LOC_CHOOSE_TOSS] = gText_TheField }; -const u8 gText_ReturnToVar1[] = _("Return to\n{STR_VAR_1}."); +const u8 gText_ReturnToVar1[] = _("返回{STR_VAR_1}。"); const u8 *const gPocketNamesStringsTable[] = { - [ITEMS_POCKET] = COMPOUND_STRING("ITEMS"), - [BALLS_POCKET] = COMPOUND_STRING("POKé BALLS"), - [TMHM_POCKET] = COMPOUND_STRING("TMs & HMs"), - [BERRIES_POCKET] = COMPOUND_STRING("BERRIES"), - [KEYITEMS_POCKET] = COMPOUND_STRING("KEY ITEMS") + [ITEMS_POCKET] = COMPOUND_STRING("道 具"), + [BALLS_POCKET] = COMPOUND_STRING("精 灵 球"), + [TMHM_POCKET] = COMPOUND_STRING("技能机器"), + [BERRIES_POCKET] = COMPOUND_STRING("树 果"), + [KEYITEMS_POCKET] = COMPOUND_STRING("重要物品") }; const u8 gText_NumberItem_TMBerry[] = _("{NO}{STR_VAR_1}{CLEAR 0x07}{STR_VAR_2}"); @@ -770,9 +770,9 @@ const u8 gText_ColorDarkGray[] = _("{COLOR DARK_GRAY}"); const u8 gText_ColorDynamic6WhiteDynamic5[] = _("{COLOR_HIGHLIGHT_SHADOW DYNAMIC_COLOR6 WHITE DYNAMIC_COLOR5}"); // Unused const u8 gText_HealthboxNickname[] = _(""); const u8 gText_EmptySpace2[] = _(""); // Unused -const u8 gText_HealthboxGender_Male[] = _("{COLOR 14}♂"); -const u8 gText_HealthboxGender_Female[] = _("{COLOR 6}♀"); -const u8 gText_HealthboxGender_None[] = _(""); +const u8 gText_HealthboxGender_Male[] = _("{COLOR DYNAMIC_COLOR2}♂"); +const u8 gText_HealthboxGender_Female[] = _("{COLOR DYNAMIC_COLOR1}♀"); +const u8 gText_HealthboxGender_None[] = _("{COLOR DYNAMIC_COLOR2}"); //修改,修正精灵性别颜色显示 const u8 gText_Upper[] = _("上升"); const u8 gText_Lower[] = _("下降"); const u8 gText_Others[] = _("其他人"); @@ -979,28 +979,28 @@ const u8 gText_CommErrorEllipsis[] = _("通信错误……"); const u8 gText_MoveCloserToLinkPartner[] = _("请靠近你的联机朋友,\n避免朋友之间的障碍物。"); const u8 gText_ABtnRegistrationCounter[] = _("A键:登记柜台"); const u8 gText_ABtnTitleScreen[] = _("A键:标题画面"); -const u8 gText_Option[] = _("选项"); +const u8 gText_Option[] = _("游戏设定"); const u8 gText_TextSpeed[] = _("文字速度"); const u8 gText_BattleScene[] = _("战斗动画"); -const u8 gText_BattleStyle[] = _("战斗类型"); -const u8 gText_Sound[] = _("音乐"); -const u8 gText_Frame[] = _("边框"); +const u8 gText_BattleStyle[] = _("对战方式"); +const u8 gText_Sound[] = _("声音"); +const u8 gText_Frame[] = _("边框类型"); const u8 gText_OptionMenuCancel[] = _("取消"); const u8 gText_ButtonMode[] = _("按键模式"); -const u8 gText_TextSpeedSlow[] = _("慢"); -const u8 gText_TextSpeedMid[] = _("中"); -const u8 gText_TextSpeedFast[] = _("快"); -const u8 gText_BattleSceneOn[] = _("开"); -const u8 gText_BattleSceneOff[] = _("关"); -const u8 gText_BattleStyleShift[] = _("接力制"); -const u8 gText_BattleStyleSet[] = _("淘汰制"); -const u8 gText_SoundMono[] = _("单声道"); -const u8 gText_SoundStereo[] = _("立体声"); -const u8 gText_FrameType[] = _("样式{STR_VAR_1}"); -const u8 gText_FrameTypeNumber[] = _(""); -const u8 gText_ButtonTypeNormal[] = _("普通"); -const u8 gText_ButtonTypeLR[] = _("LR"); -const u8 gText_ButtonTypeLEqualsA[] = _("L=A"); +const u8 gText_TextSpeedSlow[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}慢"); +const u8 gText_TextSpeedMid[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}中"); +const u8 gText_TextSpeedFast[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}快"); +const u8 gText_BattleSceneOn[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}开"); +const u8 gText_BattleSceneOff[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}关"); +const u8 gText_BattleStyleShift[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}接力制"); +const u8 gText_BattleStyleSet[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}淘汰制"); +const u8 gText_SoundMono[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}单声道"); +const u8 gText_SoundStereo[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}立体声"); +const u8 gText_FrameType[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}类型"); +const u8 gText_FrameTypeNumber[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}"); +const u8 gText_ButtonTypeNormal[] = _("{COLOR GREEN}{SHADOW LIGHT_GREEN}一般"); +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[] = _("{STR_VAR_1}P连接"); const u8 gText_BronzeCard[] = _("青铜"); const u8 gText_CopperCard[] = _("铜"); @@ -1024,7 +1024,7 @@ const u8 gText_MenuOption[] = _("设置"); const u8 gText_MenuExit[] = _("退出"); const u8 gText_MenuRetire[] = _("撤退"); const u8 gText_MenuRest[] = _("重置"); -const u8 gText_MenuDexNav[] = _("DEXNAV"); +const u8 gText_MenuDexNav[] = _("图鉴导航"); const u8 gText_SafariBallStock[] = _("原野球\n还有:{STR_VAR_1}"); const u8 gText_BattlePyramidFloor[] = _("对战金字塔\n{STR_VAR_1}"); const u8 gText_Floor1[] = _("1F"); @@ -1041,7 +1041,7 @@ const u8 gText_LoadingEvent[] = _("加载事件中…"); const u8 gText_DontRemoveCableTurnOff[] = _("请不要拔除GBA连接线。\n请不要关闭电源。"); const u8 gText_EventSafelyLoaded[] = _("事件已成功加载。"); const u8 gText_LoadErrorEndingSession[] = _("加载错误。\n结束进程。"); -const u8 gJPText_Player[] = _("プレイヤー"); // Unused +const u8 gJPText_Player[] = _("玩家"); // Unused const u8 gJPText_Sama[] = _("さま"); // Unused const u8 gText_DexHoenn[] = _("丰缘"); const u8 gText_DexNational[] = _("全国"); @@ -1128,10 +1128,10 @@ const u8 gText_AcceptThisPkmn[] = _("接受这个宝可梦?"); const u8 gText_4Spaces[] = _(""); // Unused const u8 gText_SamePkmnInPartyAlready[] = _("同样的宝可梦已在队伍中。"); const u8 gText_DecimalPoint[] = _("."); -const u8 gText_SavingPlayer[] = _("玩家"); +const u8 gText_SavingPlayer[] = _("主人公"); const u8 gText_SavingBadges[] = _("徽章"); const u8 gText_SavingPokedex[] = _("图鉴"); -const u8 gText_SavingTime[] = _("时间"); +const u8 gText_SavingTime[] = _("冒险时间"); const u8 gText_WirelessCommStatus[] = _("无线通信状态"); const u8 gText_PeopleTrading[] = _("在交换的人们:"); const u8 gText_PeopleBattling[] = _("在对战的人们:");