diff --git a/ASM/build/asm_symbols.txt b/ASM/build/asm_symbols.txt
index 434e8685d1..64dbd8c5f6 100644
--- a/ASM/build/asm_symbols.txt
+++ b/ASM/build/asm_symbols.txt
@@ -203,7 +203,18 @@
800C7684 Audio_StopCurrentMusic
800CE7B4 sprintf
800D6218 Message_CloseTextbox
+800D6470 MESSAGE_DRAW_TEXT_CHAR_VRAM
+800D7CF8 MESSAGE_DRAW_TEXT_WIDE_NEWLINE_VRAM
+800D7D08 .byt:0014
+800D7D1C MESSAGE_DRAW_TEXT_WIDE_AFTER_NEWLINE_VRAM
+800D8D20 MESSAGE_DRAW_TEXT_WIDE_BEFORE_DRAW_VRAM
+800D8D9C .byt:00D8
+800D8E74 MESSAGE_DRAW_TEXT_WIDE_AFTER_WIDTH_VRAM
+800DC838 MESSAGE_OPEN_TEXT_VRAM
800DC838 Message_OpenText
+800DC940 MESSAGE_OPEN_TEXT_JP_METRICS_VRAM
+800DC964 .byt:0000
+800DC97C MESSAGE_OPEN_TEXT_AFTER_METRICS_VRAM
800E775E .wrd:0002
800E8530 gActorOverlayTable
800F7D50 sSetupDL
@@ -545,1495 +556,1512 @@
80401F5B CFG_DUNGEON_ENTRANCES
80401FC7 .byt:00BD
80401FC7 CFG_BOSSES
-80402084 init
-804020B8 Static_ctxt_Init
-804020C8 inventory_check
-80402134 @@return
-8040213C override_object_npc
-80402148 override_object_chest
-80402154 override_object
-80402174 @@return
-8040217C override_graphic
-8040219C @@return
-804021B4 override_chest_speed
-804021F4 @@return
-8040221C @@no_call
-80402224 override_text
-80402248 @@return
-80402250 override_action
-8040229C @@return
-804022B8 get_item_hook
-804022FC drop_collectible_room_hook
-80402320 Item_DropCollectible_End_Hack
-80402340 Item_DropCollectible2_End_Hack
-80402360 EnItem00_DropCollectibleFallAction_Hack
-80402370 @@return
-80402378 item_give_hook
-804023BC return_to_func
-804023F0 exit_func
-8040242C return_to_func_near_end
-8040243C override_great_fairy_cutscene
-8040249C @@item_fairy
-804024C0 @@give_item
-804024D4 @@refills
-804024DC @@return
-804024EC override_ocarina_songs
-8040250C override_requiem_song
-80402538 override_epona_song
-80402578 override_suns_song
-804025B0 override_song_of_time
-804025E8 override_saria_song_check
-80402604 @@get_item
-8040260C set_saria_song_flag
-80402638 @@Return
-80402640 set_dungeon_knowledge
-8040266C @@set_flag
-80402684 talon_break_free
-804026B8 @@msg
-804026E8 @@return
-80402700 .byt:0001
-80402700 PLAYED_WARP_SONG
-80402704 warp_speedup
-8040278C @@return
-80402794 set_fade_in
-804027C8 @@return
-804027D0 guard_catch
-804027F4 burning_kak
-8040285C @@default
-80402860 @@return
-80402870 ingo_race_win
-80402890 @@return
-8040289C gerudo_caught_entrance
-804028C4 @@hideout
-804028E4 @@fortress
-80402914 @@fortress_entrance
-8040291C @@return
-80402924 .byt:0001
-80402924 GET_ITEM_TRIGGERED
-80402928 fountain_set_posrot
-804029D0 @@skip
-804029E8 @@return
-804029F0 .byt:0001
-804029F0 SOS_ITEM_GIVEN
-804029F4 sos_skip_demo
-80402A14 sos_handle_staff
-80402A5C @@return
-80402A7C sos_handle_item
-80402AC0 @@passed_first_check
-80402AFC @@songs_as_items
-80402B24 @@next_check
-80402B50 @@common
-80402B8C @@return
-80402B98 sos_talk_prevention
-80402BC4 @@no_item
-80402BCC @@item
-80402BD4 move_royal_tombstone
-80402BE4 @@return
-80402BEC heavy_block_set_switch
-80402C1C heavy_block_posrot
-80402C3C heavy_block_set_link_action
-80402C58 @@return
-80402C60 heavy_block_shorten_anim
-80402C90 @@check_end
-80402CA4 @@return
-80402CAC DemoEffect_DrawJewel
-80402CBC .byt:0001
-80402CBC SKIP_N64_LOGO
-80402CC0 skip_nintendo_logo
-80402CD8 @@return
-80402CE0 .dbl:0004
-80402CE0 CFG_MASK_SHOP_HINT
-80402CE4 Shop_Check_Sold_Out
-80402D30 @@return
-80402D38 Shop_Set_Sold_Out
-80402D70 @@return
-80402D78 Shop_Keeper_Init_ID
-80402DA8 @@mask_shop_shuffle
-80402DBC @@return
-80402DD4 Shop_Keeper_Update_ID
-80402E04 @@mask_shop_shuffle
-80402E18 @@return
-80402E30 mask_shop_display
-80402E90 @@keaton_mask
-80402E90 @@mask_of_truth
-80402E98 @@skull_mask
-80402EA0 @@bunny_hood
-80402EA8 @@spooky_mask
-80402EAC @@display_func
-80402ED0 @@return
-80402EE0 shop_draw_hook
-80402EF8 Deku_Check_Sold_Out
-80402F1C @@continue
-80402F4C Deku_Set_Sold_Out
-80402F70 @@continue
-80402FA4 set_mask_text_hook
-80402FD8 @@return_mask_text
-80402FEC set_mask_sold_out
-8040301C @@return_mask_so
-80403038 before_game_state_update_hook
-8040305C equipment_menu_prevent_empty_equip
-8040307C @@return
-80403090 menu_use_blank_description
-804030C4 @@not_equip_menu
-804030D4 @@return
-804030EC equipment_menu_slot_filled
-80403118 equipment_menu_fix
-80403128 @@return
-80403130 .dbl:0004
-80403130 TIME_TRAVEL_SAVED_EQUIPS
-80403134 .dbl:0004
-80403138 .wrd:0002
-8040313A .wrd:0002
-8040313C give_master_sword
-80403154 before_time_travel
-80403198 @@swap
-804031C4 after_time_travel
-80403200 @@going_back
-80403220 @@done
-80403238 update_c_button
-80403264 @@return
-8040326C after_going_forward
-804032A8 @@no_init
-804032B8 after_going_back
-804032E0 @@has_shield
-804032FC @@not_swordless
-80403304 initialize_adult
-8040332C @@no_mirror_shield
-8040336C init_adult_button
-80403398 @@empty
-804033A0 @@loop
-804033F8 @@set_empty
-80403404 @@return
-8040340C .byt:0001
-8040340C ADULT_INIT_ITEMS
-8040340D .byt:0001
-8040340E .byt:0001
-8040340F .byt:0001
-80403410 .byt:0001
-80403411 .byt:0001
-80403412 .byt:0001
-80403413 .byt:0001
-80403414 .byt:0001
-80403414 ADULT_VALID_ITEMS
-80403415 .byt:0001
-80403416 .byt:0001
-80403417 .byt:0001
-80403418 .byt:0001
-80403419 .byt:0001
-8040341A .byt:0001
-8040341B .byt:0001
-8040341C .byt:0001
-8040341D .byt:0001
-8040341E .byt:0001
-8040341F .byt:0001
-80403420 .byt:0001
-80403421 .byt:0001
-80403422 .byt:0001
-80403423 .byt:0001
-80403424 .byt:0001
-80403425 .byt:0001
-80403426 .byt:0001
-80403427 .byt:0001
-80403428 .byt:0001
-80403429 .byt:0001
-8040342A .byt:0001
-8040342B .byt:0001
-8040342C suns_song_fix_event
-80403460 @@child
-80403470 @@return
-80403478 warp_song_fix
-804034A4 @@child
-804034B4 @@return
-804034BC Check_Has_Epona_Song
-80403520 @@has_ocarina
-80403530 @@return
-8040353C adapt_scarecrow
-80403560 @@default_behavior
-80403570 scarecrow_vibrato_fix
-80403588 empty_bomb
-804035A0 write_initial_save
-804035AC @@save_data_loop
-804035DC @@overwrite_type
-804035E4 @@return
-804035EC easier_fishing
-80403610 @@L_C24
-8040361C @@return
-80403624 keep_fishing_rod_equipped
-8040363C @@return
-80403644 cast_fishing_rod_if_equipped
-80403664 @@return
-8040366C fishing_bite_when_stable
-8040368C @@return
-80403698 give_loach_reward
-804036C0 increment_sSinkingLureLocation
-804036E0 @@return
-804036F0 make_loach_follow_lure
-80403728 @@return
-8040373C bgs_fix
-8040374C logic_chus__bowling_lady_1
-80403778 @@has_chus_false
-80403788 logic_chus__bowling_lady_2
-804037B4 @@has_chus_false
-804037C4 logic_chus__shopkeeper
-804037D4 @@logic_chus_true
-804037F0 @@logic_chus_false
-80403808 @@return
-80403810 logic_chus__carpet_dude_1
-80403840 @@return
-80403848 logic_chus__carpet_dude_2
-80403888 @@not_enough_rupees
-80403890 @@return
-8040389C chu_drop_draw
-804038B8 @@return
-804038C0 rainbow_bridge
-804038FC @@open
-80403908 @@medallions
-80403924 @@medallions_1
-80403934 @@medallions_2
-80403944 @@medallions_3
-80403954 @@medallions_4
-80403964 @@medallions_5
-80403974 @@medallions_6
-8040397C @@dungeons
-8040399C @@dungeons_1
-804039AC @@dungeons_2
-804039BC @@dungeons_3
-804039CC @@dungeons_4
-804039DC @@dungeons_5
-804039EC @@dungeons_6
-80403A00 @@dungeons_7
-80403A14 @@dungeons_8
-80403A28 @@dungeons_9
-80403A30 @@stones
-80403A50 @@stones_1
-80403A64 @@stones_2
-80403A78 @@stones_3
-80403A80 @@tokens
-80403A8C @@hearts
-80403A90 @@count
-80403AA4 @@vanilla
-80403AC8 @@return
-80403AD0 lacs_condition_check
-80403B04 @@vanilla
-80403B18 @@return_vanilla
-80403B20 @@medallions
-80403B3C @@medallions_1
-80403B4C @@medallions_2
-80403B5C @@medallions_3
-80403B6C @@medallions_4
-80403B7C @@medallions_5
-80403B8C @@medallions_6
-80403B94 @@dungeons
-80403BB4 @@dungeons_1
-80403BC4 @@dungeons_2
-80403BD4 @@dungeons_3
-80403BE4 @@dungeons_4
-80403BF4 @@dungeons_5
-80403C04 @@dungeons_6
-80403C18 @@dungeons_7
-80403C2C @@dungeons_8
-80403C40 @@dungeons_9
-80403C48 @@stones
-80403C68 @@stones_1
-80403C7C @@stones_2
-80403C90 @@stones_3
-80403C98 @@tokens
-80403CA4 @@hearts
-80403CA8 @@count
-80403CC4 @@return_count
-80403CCC gossip_hints
-80403D00 @@not_grotto
-80403D24 @@always_hint
-80403D2C @@stone_of_agony
-80403D44 @@default
-80403D58 @@no_hint
-80403D5C @@return
-80403D70 .byt:0001
-80403D70 SHUFFLE_GRANNYS_POTION_SHOP
-80403D74 potion_shop_fix
-80403DC0 @@return
-80403DE4 potion_shop_buy_hook
-80403E0C @@return_buy_hook
-80403E14 potion_shop_check_empty_bottle
-80403E34 @@return_bottle
-80403E40 jabu_elevator
-80403E98 @@bottom
-80403E9C @@return
-80403EB0 dampe_fix
-80403EE4 @@received_hp
-80403EE8 @@no_hp
+80402084 .byt:0240
+80402084 LANG_CHAR_WIDTHS
+804022C4 .byt:0001
+804022C4 LANG_WIDE_TEXT_ENGLISH_METRICS
+804022C5 .byt:0003
+804022C8 .wrd:0002
+804022C8 LANG_WIDE_CHAR_WIDTH_COUNT
+804022CA .wrd:0002
+804022CC .byt:1000
+804022CC LANG_WIDE_CHAR_WIDTH_OVERRIDES
+804032CC init
+80403300 Static_ctxt_Init
+80403310 inventory_check
+8040337C @@return
+80403384 override_object_npc
+80403390 override_object_chest
+8040339C override_object
+804033BC @@return
+804033C4 override_graphic
+804033E4 @@return
+804033FC override_chest_speed
+8040343C @@return
+80403464 @@no_call
+8040346C override_text
+80403490 @@return
+80403498 override_action
+804034E4 @@return
+80403500 get_item_hook
+80403544 drop_collectible_room_hook
+80403568 Item_DropCollectible_End_Hack
+80403588 Item_DropCollectible2_End_Hack
+804035A8 EnItem00_DropCollectibleFallAction_Hack
+804035B8 @@return
+804035C0 item_give_hook
+80403604 return_to_func
+80403638 exit_func
+80403674 return_to_func_near_end
+80403684 override_great_fairy_cutscene
+804036E4 @@item_fairy
+80403708 @@give_item
+8040371C @@refills
+80403724 @@return
+80403734 override_ocarina_songs
+80403754 override_requiem_song
+80403780 override_epona_song
+804037C0 override_suns_song
+804037F8 override_song_of_time
+80403830 override_saria_song_check
+8040384C @@get_item
+80403854 set_saria_song_flag
+80403880 @@Return
+80403888 set_dungeon_knowledge
+804038B4 @@set_flag
+804038CC talon_break_free
+80403900 @@msg
+80403930 @@return
+80403948 .byt:0001
+80403948 PLAYED_WARP_SONG
+8040394C warp_speedup
+804039D4 @@return
+804039DC set_fade_in
+80403A10 @@return
+80403A18 guard_catch
+80403A3C burning_kak
+80403AA4 @@default
+80403AA8 @@return
+80403AB8 ingo_race_win
+80403AD8 @@return
+80403AE4 gerudo_caught_entrance
+80403B0C @@hideout
+80403B2C @@fortress
+80403B5C @@fortress_entrance
+80403B64 @@return
+80403B6C .byt:0001
+80403B6C GET_ITEM_TRIGGERED
+80403B70 fountain_set_posrot
+80403C18 @@skip
+80403C30 @@return
+80403C38 .byt:0001
+80403C38 SOS_ITEM_GIVEN
+80403C3C sos_skip_demo
+80403C5C sos_handle_staff
+80403CA4 @@return
+80403CC4 sos_handle_item
+80403D08 @@passed_first_check
+80403D44 @@songs_as_items
+80403D6C @@next_check
+80403D98 @@common
+80403DD4 @@return
+80403DE0 sos_talk_prevention
+80403E0C @@no_item
+80403E14 @@item
+80403E1C move_royal_tombstone
+80403E2C @@return
+80403E34 heavy_block_set_switch
+80403E64 heavy_block_posrot
+80403E84 heavy_block_set_link_action
+80403EA0 @@return
+80403EA8 heavy_block_shorten_anim
+80403ED8 @@check_end
80403EEC @@return
-80403EF4 dpad_draw
-80403F18 .dbl:0004
-80403F18 CHEST_LENS_ONLY
-80403F1C GET_CHEST_OVERRIDE_WRAPPER
-80403F64 HIDE_CHEST_WITH_INVERTED_LENS
-80403FC8 @@return_hide
-80403FD4 @@return_draw
-80403FDC SHOW_CHEST_WITH_INVERTED_LENS
-8040404C @@return_draw_show
-80404054 red_ice_alpha
-80404094 @@return
-8040409C .dbl:0004
-8040409C SPEED_MULTIPLIER
-804040A0 bunny_hood
-8040410C @@return
-8040411C magic_colors
-8040414C shop_cursor_colors
-804041B4 apply_color_delta
-804041D0 @@small_delta
-804041D4 @@after_delta
-804041DC .dbl:0004
-804041DC DEBUG_OFFSET
-804041E0 extended_object_lookup_GI
-804041EC @@normal_item
-804041F8 @@extended_item
-80404208 extended_object_lookup_load
-80404218 @@normal_item
-80404224 @@extended_item
-80404234 extended_object_lookup_shop
-80404250 @@normal_item
-8040425C @@extended_item
-8040426C extended_object_lookup_shop_unpause
-8040427C @@normal_item
-80404288 @@extended_item
-80404294 @@return
-804042A4 cow_item_hook
-804042E4 @@return
-804042EC cow_bottle_check
-8040432C @@bottle_check
-80404334 @@return
-8040434C cow_after_init
-80404360 @@return
-80404368 .wrd:0010
-80404368 Gossip_Actor
-80404378 Hit_Gossip_Stone
-804043B4 @@trigger_fill
-804043C8 @@show_time
-804043D0 @@return
-804043E0 Check_Fill_Lake
-804043EC Fill_Lake_Destroy
-80404410 @@setup_fill_control
-8040444C @@destroy
-80404454 @@return
-8040445C Fill_Lake
-804044A0 @@morpha_dead
-804044C4 @@no_trigger
-804044D0 @@filling
-804044F8 @@draining
-8040451C @@check_fill_max
-80404534 @@skip_fill_update
-80404560 @@return
-80404574 disable_trade_timers
-804045A4 @@return
-804045AC shooting_gallery_init
-804045C0 @@child
-804045D4 @@adult
-804045E8 @@return
-804045F0 .byt:0001
-804045F0 CFG_DAMAGE_MULTIPLYER
-804045F1 .byt:0001
-804045F1 EXTERN_DAMAGE_MULTIPLYER
-804045F4 Apply_Damage_Multiplier
-80404624 @@MulDamage
-8040462C @@ohko
-80404634 @@DivDamage
-8040463C @@DoubleDefence
-80404654 @@return
-8040465C .dbl:0004
-8040465C CFG_DEADLY_BONKS
-80404660 .wrd:0002
-80404660 CFG_BONK_DAMAGE
-80404668 BONK_LAST_FRAME
-80404688 @@return_bonk_frame
-804046A0 SET_BONK_FLAG
-804046C4 @@return_bonk_flag
-804046CC CHECK_FOR_BONK_CANCEL
-80404710 @@return_bonk_check
-8040471C APPLY_BONK_DAMAGE
-80404764 @@normal_defense
-8040477C @@bonks_kill
-80404780 @@cmg_entrance_hack
-804047C0 @@return_bonk
-804047C8 KING_DODONGO_BONKS
-804047EC @@return_bonk_kd
-804047FC CHECK_ROOM_MESH_TYPE
-80404830 @@return_death_subcamera
-80404838 .byt:0001
-80404838 SHUFFLE_BEANS
-8040483C bean_initial_check
-8040486C @@return
-80404874 bean_enough_rupees_check
-8040488C @@return
-80404894 bean_rupees_taken
+80403EF4 DemoEffect_DrawJewel
+80403F04 .byt:0001
+80403F04 SKIP_N64_LOGO
+80403F08 skip_nintendo_logo
+80403F20 @@return
+80403F28 .dbl:0004
+80403F28 CFG_MASK_SHOP_HINT
+80403F2C Shop_Check_Sold_Out
+80403F78 @@return
+80403F80 Shop_Set_Sold_Out
+80403FB8 @@return
+80403FC0 Shop_Keeper_Init_ID
+80403FF0 @@mask_shop_shuffle
+80404004 @@return
+8040401C Shop_Keeper_Update_ID
+8040404C @@mask_shop_shuffle
+80404060 @@return
+80404078 mask_shop_display
+804040D8 @@keaton_mask
+804040D8 @@mask_of_truth
+804040E0 @@skull_mask
+804040E8 @@bunny_hood
+804040F0 @@spooky_mask
+804040F4 @@display_func
+80404118 @@return
+80404128 shop_draw_hook
+80404140 Deku_Check_Sold_Out
+80404164 @@continue
+80404194 Deku_Set_Sold_Out
+804041B8 @@continue
+804041EC set_mask_text_hook
+80404220 @@return_mask_text
+80404234 set_mask_sold_out
+80404264 @@return_mask_so
+80404280 before_game_state_update_hook
+804042A4 equipment_menu_prevent_empty_equip
+804042C4 @@return
+804042D8 menu_use_blank_description
+8040430C @@not_equip_menu
+8040431C @@return
+80404334 equipment_menu_slot_filled
+80404360 equipment_menu_fix
+80404370 @@return
+80404378 .dbl:0004
+80404378 TIME_TRAVEL_SAVED_EQUIPS
+8040437C .dbl:0004
+80404380 .wrd:0002
+80404382 .wrd:0002
+80404384 give_master_sword
+8040439C before_time_travel
+804043E0 @@swap
+8040440C after_time_travel
+80404448 @@going_back
+80404468 @@done
+80404480 update_c_button
+804044AC @@return
+804044B4 after_going_forward
+804044F0 @@no_init
+80404500 after_going_back
+80404528 @@has_shield
+80404544 @@not_swordless
+8040454C initialize_adult
+80404574 @@no_mirror_shield
+804045B4 init_adult_button
+804045E0 @@empty
+804045E8 @@loop
+80404640 @@set_empty
+8040464C @@return
+80404654 .byt:0001
+80404654 ADULT_INIT_ITEMS
+80404655 .byt:0001
+80404656 .byt:0001
+80404657 .byt:0001
+80404658 .byt:0001
+80404659 .byt:0001
+8040465A .byt:0001
+8040465B .byt:0001
+8040465C .byt:0001
+8040465C ADULT_VALID_ITEMS
+8040465D .byt:0001
+8040465E .byt:0001
+8040465F .byt:0001
+80404660 .byt:0001
+80404661 .byt:0001
+80404662 .byt:0001
+80404663 .byt:0001
+80404664 .byt:0001
+80404665 .byt:0001
+80404666 .byt:0001
+80404667 .byt:0001
+80404668 .byt:0001
+80404669 .byt:0001
+8040466A .byt:0001
+8040466B .byt:0001
+8040466C .byt:0001
+8040466D .byt:0001
+8040466E .byt:0001
+8040466F .byt:0001
+80404670 .byt:0001
+80404671 .byt:0001
+80404672 .byt:0001
+80404673 .byt:0001
+80404674 suns_song_fix_event
+804046A8 @@child
+804046B8 @@return
+804046C0 warp_song_fix
+804046EC @@child
+804046FC @@return
+80404704 Check_Has_Epona_Song
+80404768 @@has_ocarina
+80404778 @@return
+80404784 adapt_scarecrow
+804047A8 @@default_behavior
+804047B8 scarecrow_vibrato_fix
+804047D0 empty_bomb
+804047E8 write_initial_save
+804047F4 @@save_data_loop
+80404824 @@overwrite_type
+8040482C @@return
+80404834 easier_fishing
+80404858 @@L_C24
+80404864 @@return
+8040486C keep_fishing_rod_equipped
+80404884 @@return
+8040488C cast_fishing_rod_if_equipped
804048AC @@return
-804048B4 bean_buy_item_hook
+804048B4 fishing_bite_when_stable
804048D4 @@return
-804048DC .byt:0084
-804048DC GROTTO_LOAD_TABLE
-80404960 .byt:0042
-80404960 GROTTO_EXIT_LIST
-804049A2 .byt:0001
-804049A2 CURRENT_GROTTO_ID
-804049A4 scene_exit_hook
-804049D8 @@normal
-804049FC @@return
-80404A04 grotto_entrance
-80404A44 @@return
-80404A4C handle_grotto_load
-80404A94 @@return
-80404A9C deku_mouth_condition
-80404AD0 @@mouth_open
-80404AD8 @@mouth_closed
-80404AE0 .dbl:0018
-80404AE0 AUDIO_THREAD_INFO
-80404AF8 .dbl:0004
-80404AF8 AUDIO_THREAD_INFO_MEM_START
-80404AFC .dbl:0004
-80404AFC AUDIO_THREAD_INFO_MEM_SIZE
-80404B00 .byt:0A00
-80404B00 AUDIOBANK_TABLE_EXTENDED
-80405500 .byt:00A0
-80405500 FONTLOADSTATUS_EXTENDED
-804055A0 AudioLoad_SyncLoadFont_StatusHack
-804055B4 get_audio_pointers
-804055D0 .byt:0001
-804055D0 MOVED_ADULT_KING_ZORA
-804055D4 kz_moved_check
-80405600 @@return_false
-80405608 @@return_true
-80405610 kz_no_timer
-80405624 @@return
-8040562C kz_store_is_trading
-8040563C kz_reset_trade_flag
-80405648 prevent_carpenter_boss_softlock
-80405680 @@return
-80405688 .byt:0001
-80405688 START_TWINROVA_FIGHT
-8040568C .dbl:0004
-8040568C TWINROVA_ACTION_TIMER
-80405690 rova_check_pos
-804056D4 @@return
-804056E0 twinrova_displaced
-80405700 rova_portal
-80405778 @@disappear
-80405794 @@return
-804057B0 twinrova_set_action_ice
-804057E8 twinrova_set_action_fire
-80405820 twinrova_rise
-80405858 @@skip_incr
-80405884 @@rova1
-8040588C @@no_laugh
-804058E4 @@start_fight
-804058FC @@return
-80405908 ice_pos
-80405918 fire_pos
-80405928 clear_boomerang_pointer
-8040593C skip_3_up_main
-80405958 @@return
-80405968 skip_3_down_main
-80405984 @@return
-80405994 skip_3_up_copy_from
-804059B0 @@return
-804059C0 skip_3_down_copy_from
-804059DC @@return
-804059EC skip_3_up_copy_to
-80405A08 @@return
-80405A18 skip_3_down_copy_to
-80405A34 @@return
-80405A44 skip_3_down_copy_to_2
-80405A60 @@return
-80405A70 skip_3_up_erase
-80405A8C @@return
-80405A9C skip_3_down_erase
-80405AB8 @@return
-80405AC8 move_file_3
-80405AE0 display_controls_texture
-80405AFC @@return
-80405B04 zelda_check_anim
-80405B2C @@return
-80405B34 override_changelinkanimdefaultstop
-80405B88 @@skip
-80405BA8 malon_goto_item
-80405BC0 @@return
-80405BC8 malon_handle_staff
-80405BE8 @@return
-80405BF4 malon_ra_displaced
-80405C04 malon_songs_as_items
-80405C18 @@return
-80405C28 malon_check_give_item
-80405C54 @@return
-80405C60 malon_show_text
-80405CA8 @@return
-80405CBC .byt:0001
-80405CBC MALON_GAVE_ICETRAP
-80405CC0 malon_reload
-80405D08 @@malon_gave_ice_trap
-80405D28 @@check_text
-80405D50 @@reload
-80405D94 @@return
-80405DA0 drop_ruto
-80405E0C @@return
-80405E34 check_kill_demoeffect
-80405E84 @@return
-80405EA0 agony_distance_hook
-80405EC4 @@inside_radius
-80405ED4 @@outside_radius
-80405EDC @@done
-80405F08 agony_vibrate_hook
-80405F38 @@done
-80405F68 agony_post_hook
-80405F80 .byt:0001
-80405F80 CHAIN_HBA_REWARDS
-80405F84 handle_hba_rewards_chain
-80405FE0 @@return
-80405FE8 stick_as_adult
-80406004 @@return
-80406010 masks_as_adult
-8040602C @@return
-80406038 .byt:0001
-80406038 SHUFFLE_CARPET_SALESMAN
-8040603C carpet_inital_message
-80406064 @@return
-8040606C carpet_buy_item_hook
-8040608C @@return
-80406094 .byt:0001
-80406094 SHUFFLE_MEDIGORON
-80406098 medigoron_inital_check
-804060D8 @@return
-804060E0 medigoron_buy_item_hook
-80406100 @@return
-80406108 bombchu_back_color
-80406130 kill_door_of_time_col
-80406158 mask_check_trade_slot
-80406180 @@return
-80406188 .dbl:0004
-80406188 ADULT_ANJU_ITEM_DIALOG
-8040618C check_fado_spawn_flags
-804061E8 @@kill_fado
-804061F0 @@return_fado
-804061FC check_grog_spawn_flags
-8040622C @@return_grog
-80406238 check_skull_kid_spawn_flags
-80406280 check_if_biggoron_should_cry_eye_hook
-804062A8 @@vanilla_eye_hook
-804062AC @@return_eye_hook
-804062B8 check_if_biggoron_should_cry_anim_hook
-804062E0 @@vanilla_anim_hook
-804062EC @@return_anim_hook
-804062F8 check_if_biggoron_should_cry_sfx_hook
-80406324 @@vanilla_sfx_hook
-80406330 @@return_sfx_hook
-80406340 check_if_biggoron_should_cry
-80406370 @@return_crybaby
-8040638C check_claim_check_traded
-804063D4 @@return_claim_check
-804063EC check_trade_item_traded
-80406420 @@check_trade_flags
-80406440 @@return_traded
-80406458 update_shiftable_trade_item_egg_hook
-80406474 update_shiftable_trade_item_save_hook
-804064F0 check_if_mask_sells_out
-80406518 @@return_sold_out
-80406520 check_cucco_lady_talk_exch_hook
-80406554 check_cucco_lady_talk_none_hook
-80406588 check_cucco_lady_exchange_id_hook
-804065B4 check_cucco_lady_flag_hook
-804065E4 set_keaton_mask_traded_flag
-8040661C set_skull_mask_traded_flag
-80406650 set_spooky_mask_traded_flag
-80406684 set_bunny_hood_traded_flag
-804066B8 handle_child_zelda_savewarp
-804066C8 @@revert_child_trade_item
-804066DC @@c_button_loop
-804066F4 @@skip_c_button
-804066FC @@return
-80406704 check_zelda_cutscene_watched
-80406720 @@give_letter
-80406740 @@skip_letter
-80406774 @@return
-80406784 blue_fire_arrows
-80406798 @@return
-804067A0 offer_jail_hook
-804067B8 offer_jail_normal_white_guard
-8040683C @@first_response
-80406858 @@second_response
-8040686C @@end_switch
-80406870 @@return
-80406880 open_save_hook
-804068F0 obj_mure3_drop_params_hack
-804068FC obj_mure3_redrupee_hack
-80406918 obj_mure3_redrupee_hack_end
-80406920 bg_haka_tubo_drop_params_hack
-80406930 bg_spot18_basket_bombs_hack
-8040694C bg_spot18_basket_bombs_end
-80406954 bg_spot18_basket_rupees_hack
-80406978 bg_spot18_basket_rupees_end
-80406984 bg_spot18_basket_drop_heartpiece_rupees
-804069B0 bg_spot18_basket_drop_heartpiece_redrupee_end
-804069CC bg_spot18_basket_drop_heartpiece_bluerupee
-804069E8 bg_spot18_basket_drop_heartpiece_bluerupee_end
-80406A04 bg_spot18_basket_drop_heartpiece_rupees_end
-80406A10 obj_comb_hook
-80406A28 EnWonderItem_Multitag_DrawHook
-80406AC4 EnWonderItem_MultitagOrdered_DrawHook
-80406B64 EnWonderItem_Update_Hook
-80406BA4 .wrd:0002
-80406BA4 CURR_ACTOR_SPAWN_INDEX
-80406BA6 .wrd:0002
-80406BA8 Actor_UpdateAll_Hook
-80406BF0 @@call_hack
-80406C00 @@end
-80406C34 Actor_Spawn_Malloc_Hack
-80406C50 @spawn
-80406C68 Actor_Spawn_Shift
-80406CD4 @end
-80406CEC Actor_Spawn_Continue
-80406CF8 rand_seed_truth_spinner
-80406D1C set_message_file_to_search
-80406D4C load_correct_message_segment
-80406D84 Message_Decode_Control_Code_Hook_JP
-80406DA0 @not_newline_jp
-80406E00 @jp_no_match
-80406E08 Message_Decode_Control_Code_Hook
-80406E20 @not_newline
-80406E84 @no_match
-80406E8C shooting_gallery_no_bow
-80406EB8 Message_Decode_reset_msgCtx.textPosX
-80406ECC .byt:0001
-80406ECC CFG_MASK_AUTOEQUIP
-80406ED0 player_save_mask
-80406EF0 @@return
-80406EFC player_restore_mask
-80406F24 @@return
-80406F4C gohma_climb
-80406F5C camera_init
-80406F6C .byt:0001
-80406F6C SHUFFLE_CHEST_GAME
-80406F6D .byt:0001
-80406F6D TCG_REQUIRES_LENS
-80406F70 chestgame_buy_item_hook
-80406F90 @@return
-80406F98 chestgame_initial_message
-80406FC4 @@return
-80406FCC chestgame_no_reset_flag
+804048E0 give_loach_reward
+80404908 increment_sSinkingLureLocation
+80404928 @@return
+80404938 make_loach_follow_lure
+80404970 @@return
+80404984 bgs_fix
+80404994 logic_chus__bowling_lady_1
+804049C0 @@has_chus_false
+804049D0 logic_chus__bowling_lady_2
+804049FC @@has_chus_false
+80404A0C logic_chus__shopkeeper
+80404A1C @@logic_chus_true
+80404A38 @@logic_chus_false
+80404A50 @@return
+80404A58 logic_chus__carpet_dude_1
+80404A88 @@return
+80404A90 logic_chus__carpet_dude_2
+80404AD0 @@not_enough_rupees
+80404AD8 @@return
+80404AE4 chu_drop_draw
+80404B00 @@return
+80404B08 rainbow_bridge
+80404B44 @@open
+80404B50 @@medallions
+80404B6C @@medallions_1
+80404B7C @@medallions_2
+80404B8C @@medallions_3
+80404B9C @@medallions_4
+80404BAC @@medallions_5
+80404BBC @@medallions_6
+80404BC4 @@dungeons
+80404BE4 @@dungeons_1
+80404BF4 @@dungeons_2
+80404C04 @@dungeons_3
+80404C14 @@dungeons_4
+80404C24 @@dungeons_5
+80404C34 @@dungeons_6
+80404C48 @@dungeons_7
+80404C5C @@dungeons_8
+80404C70 @@dungeons_9
+80404C78 @@stones
+80404C98 @@stones_1
+80404CAC @@stones_2
+80404CC0 @@stones_3
+80404CC8 @@tokens
+80404CD4 @@hearts
+80404CD8 @@count
+80404CEC @@vanilla
+80404D10 @@return
+80404D18 lacs_condition_check
+80404D4C @@vanilla
+80404D60 @@return_vanilla
+80404D68 @@medallions
+80404D84 @@medallions_1
+80404D94 @@medallions_2
+80404DA4 @@medallions_3
+80404DB4 @@medallions_4
+80404DC4 @@medallions_5
+80404DD4 @@medallions_6
+80404DDC @@dungeons
+80404DFC @@dungeons_1
+80404E0C @@dungeons_2
+80404E1C @@dungeons_3
+80404E2C @@dungeons_4
+80404E3C @@dungeons_5
+80404E4C @@dungeons_6
+80404E60 @@dungeons_7
+80404E74 @@dungeons_8
+80404E88 @@dungeons_9
+80404E90 @@stones
+80404EB0 @@stones_1
+80404EC4 @@stones_2
+80404ED8 @@stones_3
+80404EE0 @@tokens
+80404EEC @@hearts
+80404EF0 @@count
+80404F0C @@return_count
+80404F14 gossip_hints
+80404F48 @@not_grotto
+80404F6C @@always_hint
+80404F74 @@stone_of_agony
+80404F8C @@default
+80404FA0 @@no_hint
+80404FA4 @@return
+80404FB8 .byt:0001
+80404FB8 SHUFFLE_GRANNYS_POTION_SHOP
+80404FBC potion_shop_fix
+80405008 @@return
+8040502C potion_shop_buy_hook
+80405054 @@return_buy_hook
+8040505C potion_shop_check_empty_bottle
+8040507C @@return_bottle
+80405088 jabu_elevator
+804050E0 @@bottom
+804050E4 @@return
+804050F8 dampe_fix
+8040512C @@received_hp
+80405130 @@no_hp
+80405134 @@return
+8040513C dpad_draw
+80405160 .dbl:0004
+80405160 CHEST_LENS_ONLY
+80405164 GET_CHEST_OVERRIDE_WRAPPER
+804051AC HIDE_CHEST_WITH_INVERTED_LENS
+80405210 @@return_hide
+8040521C @@return_draw
+80405224 SHOW_CHEST_WITH_INVERTED_LENS
+80405294 @@return_draw_show
+8040529C red_ice_alpha
+804052DC @@return
+804052E4 .dbl:0004
+804052E4 SPEED_MULTIPLIER
+804052E8 bunny_hood
+80405354 @@return
+80405364 magic_colors
+80405394 shop_cursor_colors
+804053FC apply_color_delta
+80405418 @@small_delta
+8040541C @@after_delta
+80405424 .dbl:0004
+80405424 DEBUG_OFFSET
+80405428 extended_object_lookup_GI
+80405434 @@normal_item
+80405440 @@extended_item
+80405450 extended_object_lookup_load
+80405460 @@normal_item
+8040546C @@extended_item
+8040547C extended_object_lookup_shop
+80405498 @@normal_item
+804054A4 @@extended_item
+804054B4 extended_object_lookup_shop_unpause
+804054C4 @@normal_item
+804054D0 @@extended_item
+804054DC @@return
+804054EC cow_item_hook
+8040552C @@return
+80405534 cow_bottle_check
+80405574 @@bottle_check
+8040557C @@return
+80405594 cow_after_init
+804055A8 @@return
+804055B0 .wrd:0010
+804055B0 Gossip_Actor
+804055C0 Hit_Gossip_Stone
+804055FC @@trigger_fill
+80405610 @@show_time
+80405618 @@return
+80405628 Check_Fill_Lake
+80405634 Fill_Lake_Destroy
+80405658 @@setup_fill_control
+80405694 @@destroy
+8040569C @@return
+804056A4 Fill_Lake
+804056E8 @@morpha_dead
+8040570C @@no_trigger
+80405718 @@filling
+80405740 @@draining
+80405764 @@check_fill_max
+8040577C @@skip_fill_update
+804057A8 @@return
+804057BC disable_trade_timers
+804057EC @@return
+804057F4 shooting_gallery_init
+80405808 @@child
+8040581C @@adult
+80405830 @@return
+80405838 .byt:0001
+80405838 CFG_DAMAGE_MULTIPLYER
+80405839 .byt:0001
+80405839 EXTERN_DAMAGE_MULTIPLYER
+8040583C Apply_Damage_Multiplier
+8040586C @@MulDamage
+80405874 @@ohko
+8040587C @@DivDamage
+80405884 @@DoubleDefence
+8040589C @@return
+804058A4 .dbl:0004
+804058A4 CFG_DEADLY_BONKS
+804058A8 .wrd:0002
+804058A8 CFG_BONK_DAMAGE
+804058B0 BONK_LAST_FRAME
+804058D0 @@return_bonk_frame
+804058E8 SET_BONK_FLAG
+8040590C @@return_bonk_flag
+80405914 CHECK_FOR_BONK_CANCEL
+80405958 @@return_bonk_check
+80405964 APPLY_BONK_DAMAGE
+804059AC @@normal_defense
+804059C4 @@bonks_kill
+804059C8 @@cmg_entrance_hack
+80405A08 @@return_bonk
+80405A10 KING_DODONGO_BONKS
+80405A34 @@return_bonk_kd
+80405A44 CHECK_ROOM_MESH_TYPE
+80405A78 @@return_death_subcamera
+80405A80 .byt:0001
+80405A80 SHUFFLE_BEANS
+80405A84 bean_initial_check
+80405AB4 @@return
+80405ABC bean_enough_rupees_check
+80405AD4 @@return
+80405ADC bean_rupees_taken
+80405AF4 @@return
+80405AFC bean_buy_item_hook
+80405B1C @@return
+80405B24 .byt:0084
+80405B24 GROTTO_LOAD_TABLE
+80405BA8 .byt:0042
+80405BA8 GROTTO_EXIT_LIST
+80405BEA .byt:0001
+80405BEA CURRENT_GROTTO_ID
+80405BEC scene_exit_hook
+80405C20 @@normal
+80405C44 @@return
+80405C4C grotto_entrance
+80405C8C @@return
+80405C94 handle_grotto_load
+80405CDC @@return
+80405CE4 deku_mouth_condition
+80405D18 @@mouth_open
+80405D20 @@mouth_closed
+80405D28 .dbl:0018
+80405D28 AUDIO_THREAD_INFO
+80405D40 .dbl:0004
+80405D40 AUDIO_THREAD_INFO_MEM_START
+80405D44 .dbl:0004
+80405D44 AUDIO_THREAD_INFO_MEM_SIZE
+80405D50 .byt:0A00
+80405D50 AUDIOBANK_TABLE_EXTENDED
+80406750 .byt:00A0
+80406750 FONTLOADSTATUS_EXTENDED
+804067F0 AudioLoad_SyncLoadFont_StatusHack
+80406804 get_audio_pointers
+80406820 .byt:0001
+80406820 MOVED_ADULT_KING_ZORA
+80406824 kz_moved_check
+80406850 @@return_false
+80406858 @@return_true
+80406860 kz_no_timer
+80406874 @@return
+8040687C kz_store_is_trading
+8040688C kz_reset_trade_flag
+80406898 prevent_carpenter_boss_softlock
+804068D0 @@return
+804068D8 .byt:0001
+804068D8 START_TWINROVA_FIGHT
+804068DC .dbl:0004
+804068DC TWINROVA_ACTION_TIMER
+804068E0 rova_check_pos
+80406924 @@return
+80406930 twinrova_displaced
+80406950 rova_portal
+804069C8 @@disappear
+804069E4 @@return
+80406A00 twinrova_set_action_ice
+80406A38 twinrova_set_action_fire
+80406A70 twinrova_rise
+80406AA8 @@skip_incr
+80406AD4 @@rova1
+80406ADC @@no_laugh
+80406B34 @@start_fight
+80406B4C @@return
+80406B58 ice_pos
+80406B68 fire_pos
+80406B78 clear_boomerang_pointer
+80406B8C skip_3_up_main
+80406BA8 @@return
+80406BB8 skip_3_down_main
+80406BD4 @@return
+80406BE4 skip_3_up_copy_from
+80406C00 @@return
+80406C10 skip_3_down_copy_from
+80406C2C @@return
+80406C3C skip_3_up_copy_to
+80406C58 @@return
+80406C68 skip_3_down_copy_to
+80406C84 @@return
+80406C94 skip_3_down_copy_to_2
+80406CB0 @@return
+80406CC0 skip_3_up_erase
+80406CDC @@return
+80406CEC skip_3_down_erase
+80406D08 @@return
+80406D18 move_file_3
+80406D30 display_controls_texture
+80406D4C @@return
+80406D54 zelda_check_anim
+80406D7C @@return
+80406D84 override_changelinkanimdefaultstop
+80406DD8 @@skip
+80406DF8 malon_goto_item
+80406E10 @@return
+80406E18 malon_handle_staff
+80406E38 @@return
+80406E44 malon_ra_displaced
+80406E54 malon_songs_as_items
+80406E68 @@return
+80406E78 malon_check_give_item
+80406EA4 @@return
+80406EB0 malon_show_text
+80406EF8 @@return
+80406F0C .byt:0001
+80406F0C MALON_GAVE_ICETRAP
+80406F10 malon_reload
+80406F58 @@malon_gave_ice_trap
+80406F78 @@check_text
+80406FA0 @@reload
80406FE4 @@return
-80406FEC chestgame_no_reset_keys
-80407004 @@return
-8040700C chestgame_remove_chest_rng
-8040702C @@chestgame_run_chest_rng
-80407034 chestgame_force_game_loss_left
-80407080 @@return
-80407088 @@force_loss
-80407094 chestgame_force_game_loss_right
-804070E0 @@return
-804070E8 @@force_loss
-804070F4 chestgame_warn_player_of_rigged_game
-80407120 EnItem00_ProximityCheck_Hook
-80407170 en_item00_update
-8040717C EnItem00_Draw
-80407188 EnItem00_Init
-80407194 volvagia_flying_hitbox
-804071AC @@return
-804071B4 move_key_icon
-804071D0 @@return_icon
-804071D8 move_key_counter
-804071F4 @@return_counter
-804071FC en_am_calculation_1
-80407210 en_am_calculation_2
-80407224 ocarina_buttons
-80407264 @@button_cup
-8040727C @@button_cdown
-80407294 @@button_cleft
-804072AC @@button_cright
-804072C4 @@return
-804072E0 fairy_ocarina_getitem_override
-80407304 EnDns_TakePayment
-80407338 bg_gate_shutter_open_hack
-8040734C big_poe_soul_collision
-8040738C @@no_collision
-80407394 @@collision
-8040739C Player_LadderCutsceneFix
-804073B0 @@Return
-804073C0 Player_BunnyMatrixPush
-804073F0 Player_BunnyMatrixPop
-80407410 Player_HoverMatrixPush
-80407440 Player_HoverMatrixPop
-80407460 Player_HookshotCheckActorSpawn
-80407484 @@Return
-8040748C EnBox_CallLoadObject
-804074AC Object_CheckMaxObjectSpace
-804074C4 @@Return
-804074D0 after_spawn_override_silver_rupee,00000038
-80407508 Actor_GetAdditionalData,00000024
-8040752C Actor_BuildFlag,000000F0
-8040761C Actor_StoreFlag,00000144
-80407760 Actor_StoreFlagByIndex,00000078
-804077D8 get_newflag_override,000000AC
-80407884 Actor_StoreChestType,000001A0
-80407A24 Actor_After_UpdateAll_Hack,0000007C
-80407AA0 spawn_override_silver_rupee,00000138
-80407BD8 Actor_SpawnEntry_Hack,00000128
-80407D00 Player_SpawnEntry_Hack,000000D0
-80407DD0 Actor_Spawn_Hook,000000B8
-80407E90 agony_inside_radius_setup,0000001C
-80407EAC agony_outside_radius_setup,00000048
-80407EF4 agony_vibrate_setup,00000054
-80407F48 draw_agony_graphic,00000188
-804080D0 draw_agony,00000290
-80408360 DoorWarp1_PlayerInRange,0000007C
-804083DC DoorWarp1_PlayerInRange_Overwrite,00000194
-80408570 DoorWarp1_IsSpiritRewardObtained,00000024
-80408594 DoorWarp1_IsShadowRewardObtained,00000024
-804085B8 DoorWarp1_KokiriEmerald_Overwrite,0000001C
-804085D4 DoorWarp1_GoronRuby_Overwrite,0000001C
-804085F0 DoorWarp1_ZoraSapphire_Overwrite,0000001C
-8040860C DoorWarp1_ForestMedallion_Overwrite,0000001C
-80408628 DoorWarp1_FireMedallion_Overwrite,00000040
-80408668 DoorWarp1_WaterMedallion_Overwrite,00000038
-804086A0 DoorWarp1_SpiritMedallion_Overwrite,0000001C
-804086BC DoorWarp1_ShadowMedallion_Overwrite,0000001C
-804086E0 select_bombchu_bowling_prize,0000016C
-8040884C set_bombchu_bowling_prize_flag,0000004C
-804088A0 get_chest_override,00000180
-80408A20 get_chest_type,00000040
-80408A60 set_chest_texture,0000024C
-80408CAC draw_chest_base,00000124
-80408DD0 draw_chest_lid,00000124
-80408EF4 draw_chest,0000006C
-80408F60 should_draw_forest_hallway_chest,000000C4
-80409024 get_dummy_chest,0000003C
-80409060 draw_forest_hallway_chest_base,000000A8
-80409108 draw_forest_hallway_chest_lid,00000108
-80409210 draw_debug_int,0000005C
-8040926C draw_debug_float,0000005C
-804092C8 draw_timeofday,00000360
-80409628 draw_textbox_ids,000000AC
-804096D4 get_flag,000000D8
-804097AC debug_menu_is_drawn,00000024
-804097D0 manage_debug_inputs,000000B8
-80409888 decimal_to_hex,000000DC
-80409964 draw_debug_menu,000021DC
-8040BB40 draw_debug_numbers,000003AC
-8040BEEC debug_utilities,0000008C
-8040BF80 DemoEffect_DrawJewel_Hook,00000160
-8040C0E0 has_items_for_door_of_time,000000C4
-8040C1A4 DemoKankyo_CutsceneFlags_Get_Hook,000000C4
-8040C270 handle_dpad,00000704
-8040C974 draw_dpad_and_menu_utilities,00001504
-8040DE80 draw_background,00000150
-8040DFD0 d_right_dungeon_idx,00000090
-8040E060 draw_silver_rupee_count,00000354
-8040E3B4 is_bk_displayed,000000A4
-8040E458 draw_boss_key,00000128
-8040E580 draw_world_info,0000119C
-8040F71C draw_dungeon_info,000028EC
-80412008 dungeon_info_is_drawn,00000024
-80412030 EnBox_GetNewGetItemId,00000060
-80412090 EnBox_LoadObject,0000008C
-80412120 EnItem00_OutgoingAction,0000010C
-8041222C EnItem00_ProximityCheck_Hack,00000094
-804122C0 EnItem00_Init_Hook,0000007C
-8041233C en_item00_update_hook,000000FC
-80412438 EnItem00_Draw_Hook,0000008C
-804124D0 EnOkarinaTag_ActionHook,000000C8
-804125A0 EnWonderitem_AfterInitHack,00000098
-80412638 EnWonderItem_Multitag_DrawHack,000000E8
-80412720 EnWonderItem_DropCollectible_Hack,00000270
-80412990 EnWonderItem_Update_Hack,000000E0
-80412A70 EnWonderItem_Kill_Hack,000000D8
-80412B50 interpolate,0000008C
-80412BDC extern_scene_init,00000034
-80412C10 process_extern_ctxt,000002A0
-80413044 read_file_data,00000578
-804135BC draw_file_icons,00000EE8
-80414534 draw_file_message,00000308
-80414840 is_saved_password_clear,000000B4
-804148F4 is_buffer_password_clear,00000064
-80414958 reset_buffer,00000064
-804149BC manage_password,00000828
-804151E4 draw_file_select_hash,00000280
-80415470 check_ganon_entry,00000068
-804154E0 Collectible_WaitForMessageBox,000000F0
-804155D0 override_flags_init,0000004C
-8041561C item_overrides_init,000000B4
-804156D0 get_override_search_key,0000017C
-8041584C lookup_override_by_key,00000160
-804159AC lookup_override,00000080
-80415A2C resolve_alternative_override,000000A4
-80415AD0 get_override_search_key_by_newflag,00000070
-80415B40 lookup_override_by_newflag,00000080
-80415BC0 resolve_alternative_flag,00000080
-80415C40 activate_override,00000164
-80415DA4 clear_override,00000070
-80415E14 push_outgoing_override,000000F4
-80415F08 move_outgoing_queue,000000C8
-80415FD0 push_pending_item,000000C0
-80416090 push_coop_item,000000A8
-80416138 push_delayed_item,00000074
-804161AC pop_pending_item,00000088
-80416234 after_key_received,00000094
-804162C8 pop_ice_trap,0000009C
-80416364 after_item_received,000000C0
-80416424 try_pending_item,000001FC
-80416620 handle_pending_items,000001F8
-80416818 get_item,000002B8
-80416AD0 reset_collectible_mutex,00000028
-80416AF8 get_xflag_bit_offset,000003C4
-80416EBC Get_NewFlag,00000088
-80416F44 Set_NewFlag,0000006C
-80416FB0 Item_DropCollectible_Room_Hack,000000A0
-80417050 Room_Change_Actor_Kill_Hack,00000080
-804170D0 Item00_KillActorIfFlagIsSet,0000022C
-804172FC drop_bombs_or_chus,0000009C
-80417398 get_override_drop_id,00000278
-80417610 dispatch_item,000000D4
-804176E4 item_give_collectible,00000300
-804179E4 get_skulltula_token,0000010C
-80417AF0 give_sarias_gift,0000008C
-80417B7C fairy_ocarina_getitem,000000E8
-80417C70 sprite_bytes_per_tile,00000084
-80417CF4 sprite_bytes,0000004C
-80417D40 sprite_load,000002E8
-80418028 sprite_texture,00000370
-80418398 sprite_texture_4b,00000348
-804186E0 sprite_draw,00000130
-80418810 rando_display_buffer_init,00000028
-80418838 rando_display_buffer_reset,0000005C
-80418894 close_rando_display_buffer,00000100
-80418994 gfx_init,00000274
-80418C10 update_hud_colors,000003B0
-80418FC0 rupee_hud_color,0000006C
-80419030 ice_trap_is_pending,0000002C
-8041905C push_pending_ice_trap,00000038
-80419094 give_ice_trap,000000CC
-80419160 draw_x_stick,00000074
-804191D4 draw_y_stick,000000A0
-80419274 draw_a,00000114
-80419388 draw_b,00000120
-804194A8 draw_start,000000EC
-80419594 draw_cdown,00000118
-804196AC draw_cup,00000120
-804197CC draw_cleft,00000118
-804198E4 draw_cright,00000120
-80419A04 draw_z,000000E8
-80419AEC draw_l,000000F0
-80419BDC draw_r,000000E8
-80419CC4 draw_ddown,000000F0
-80419DB4 draw_dup,000000E8
-80419E9C draw_dleft,000000F0
-80419F8C draw_dright,000000E8
-8041A074 draw_input_viewer,0000010C
-8041A180 is_hook_static,00000090
-8041A210 draw_gi_bombchu_and_masks,000000C0
-8041A2D0 draw_gi_eggs_and_medallions,000000E8
-8041A3B8 draw_gi_sold_out,000000C8
-8041A480 draw_gi_compass,00000144
-8041A5C4 draw_gi_various_opa0,000000C0
-8041A684 draw_gi_various_opa1023,00000120
-8041A7A4 draw_gi_wallets,00000180
-8041A924 draw_gi_silver_rupee_pouch,000001BC
-8041AAE0 draw_gi_various_xlu0,000000C0
-8041ABA0 draw_gi_various_xlu01,000000E8
-8041AC88 draw_gi_various_opa0_xlu1,0000013C
-8041ADC4 draw_rutos_letter,00000150
-8041AF14 draw_gi_coins_and_cuccos,00000154
-8041B068 draw_gi_magic_arrows,0000015C
-8041B1C4 draw_gi_various_opa10_xlu32,00000174
-8041B338 draw_gi_bullet_bags,0000018C
-8041B4C4 draw_gi_small_rupees,00000198
-8041B65C draw_gi_goron_swords,00000134
-8041B790 draw_gi_deku_nut,00000140
-8041B8D0 draw_gi_recovery_heart,00000144
-8041BA14 draw_gi_fish_bottle,00000134
-8041BB48 draw_gi_magic_spells,00000180
-8041BCC8 draw_gi_scales,0000019C
-8041BE64 draw_gi_potions,00000208
-8041C06C draw_gi_mirror_shield,000001D0
-8041C23C draw_gi_gs_token,000001B4
-8041C3F0 draw_gi_blue_fire_candle,000001F8
-8041C5E8 draw_gi_fairy_lantern,0000021C
-8041C804 draw_gi_fairy,00000204
-8041CA08 draw_gi_poe_bottles,00000238
-8041CC40 draw_gi_song_notes,00000168
-8041CDA8 draw_gi_small_keys,000001C4
-8041CF6C draw_gi_shrink_keys,00000208
-8041D174 draw_gi_boss_keys,00000328
-8041D49C draw_gi_boss_altered,00000328
-8041D7C4 draw_gi_boss_altflip,00000328
-8041DAEC draw_gi_chubag,00000330
-8041DE1C draw_gi_a_button,00000178
-8041DF94 draw_gi_c_button_vertical,000001D0
-8041E164 draw_gi_c_button_horizontal,000001D0
-8041E334 draw_gi_nothing,0000001C
-8041E350 draw_gi_medallions,0000010C
-8041E45C draw_gi_stones,00000334
-8041E790 draw_gi_flame,00000230
-8041E9C0 draw_gi_magic_meter,000003D4
-8041ED94 draw_gi_xlu_with_flame,00000100
-8041EE94 draw_gi_deku_nut_with_flame,0000010C
-8041EFA0 draw_ice_trap,000001C4
-8041F170 base_draw_gi_model,00000058
-8041F1D0 no_effect,0000001C
-8041F1EC full_heal,0000002C
-8041F218 give_triforce_piece,000000D8
-8041F2F0 give_tycoon_wallet,00000058
-8041F348 give_biggoron_sword,0000002C
-8041F374 give_bottle,00000064
-8041F3D8 give_dungeon_item,0000003C
-8041F414 give_small_key,000000C4
-8041F4D8 give_small_key_ring,000000FC
-8041F5D4 set_silver_rupee_flags,00000124
-8041F6F8 give_silver_rupee,000000D0
-8041F7C8 give_silver_rupee_pouch,000000EC
-8041F8B4 give_defense,0000003C
-8041F8F0 give_magic,0000003C
-8041F92C give_double_magic,00000044
-8041F970 give_fairy_ocarina,0000002C
-8041F99C give_quest_item,0000003C
-8041F9D8 ice_trap_effect,0000002C
-8041FA04 give_bean_pack,00000038
-8041FA3C fill_wallet_upgrade,0000004C
-8041FA88 clear_excess_hearts,0000003C
-8041FAC4 open_gate_and_mask_shop,00000138
-8041FBFC give_bombchus,0000003C
-8041FC38 trade_quest_upgrade,00000038
-8041FC70 unlock_ocarina_note,0000009C
-8041FD10 resolve_text_silver_rupees,000000D0
-8041FDE0 resolve_text_silver_rupee_pouches,000000B8
-8041FE98 resolve_text_small_keys,000000B0
-8041FF48 resolve_text_small_keys_cmg,00000054
-8041FF9C resolve_text_keyrings,0000005C
-8041FFF8 get_item_row,00000060
-80420058 resolve_item_text_id,00000050
-804200A8 resolve_upgrades,0000007C
-80420124 call_effect_function,00000050
-80420180 no_upgrade,00000028
-804201A8 hookshot_upgrade,00000088
-80420230 strength_upgrade,00000094
-804202C4 bomb_bag_upgrade,00000094
-80420358 bow_upgrade,00000090
-804203E8 slingshot_upgrade,0000009C
-80420484 wallet_upgrade,0000009C
-80420520 scale_upgrade,00000084
-804205A4 nut_upgrade,00000084
-80420628 stick_upgrade,00000084
-804206AC magic_upgrade,0000007C
-80420728 bombchu_upgrade,0000005C
-80420784 ocarina_upgrade,00000098
-8042081C arrows_to_rupee,00000090
-804208AC bombs_to_rupee,00000090
-8042093C seeds_to_rupee,00000098
-804209D4 letter_to_bottle,000000D8
-80420AAC health_upgrade_cap,00000058
-80420B04 bombchus_to_bag,000000CC
-80420BD0 upgrade_key_model,000000F0
-80420CC0 KaleidoScope_DrawItemSelect,00000E64
-80421B30 c_init,00000054
-80421B84 before_game_state_update,0000006C
-80421BF0 after_game_state_update,000000B8
-80421CA8 before_skybox_init,00000058
-80421D00 after_scene_init,0000005C
-80421D60 c_equipment_menu_slot_filled,00000120
-80421E80 Message_AddCharacter,000000C0
-80421F40 Message_AddCharacterWide,000000B4
-80421FF4 Message_AddInteger,00000120
-80422114 Message_AddIntegerWide,00000120
-80422234 Message_AddString,000000AC
-804222E0 Message_AddStringWide,00000114
-804223F4 Message_AddFileName,00000108
-804224FC Message_AddFileNameWide,0000010C
-80422608 Message_Decode_Additional_Control_Codes,0000055C
-80422B64 Message_Decode_Additional_Control_Codes_JP,00000454
-80422FB8 grab_textbox_id,0000004C
-80423004 shooting_gallery_message,00000060
-80423064 treasure_chest_game_message,00000058
-804230BC display_misc_messages,000000C0
-80423180 update_sword_trail_colors,000000C4
-80423244 update_boomerang_trail_colors,000001EC
-80423430 update_bombchu_trail_colors,000002A8
-804236D8 get_bombchu_back_color,00000274
-8042394C update_navi_colors,0000022C
-80423B78 update_tunic_colors,000000D4
-80423C4C update_misc_colors,00000064
-80423CB0 draw_illegal_model_text,0000022C
-80423EDC FindModelData,000001B4
-80424090 FindSize,0000009C
-8042412C FindHierarchy,00000114
-80424240 check_skeleton,0000012C
-8042436C check_model_skeletons,0000027C
-804245F0 load_object_file,00000094
-80424684 load_object,00000048
-804246CC get_object,00000080
-8042474C set_object_segment,0000007C
-804247C8 scale_top_matrix,0000008C
-80424854 draw_model_low_level,000000A8
-804248FC scale_factor,0000007C
-80424978 draw_model,000000C4
-80424A3C models_init,00000068
-80424AA4 models_reset,00000040
-80424AE4 lookup_model_by_override,000000B8
-80424B9C lookup_model,00000078
-80424C14 shop_draw,0000011C
-80424D30 heart_piece_draw,00000090
-80424DC0 collectible_draw_other,000000B0
-80424E70 heart_container_draw,00000090
-80424F00 skull_token_draw,00000090
-80424F90 ocarina_of_time_draw,00000090
-80425020 item_etcetera_draw,000003CC
-804253EC bowling_bomb_bag_draw,00000170
-8042555C bowling_heart_piece_draw,00000090
-804255F0 Health_IsCritical,00000074
-80425664 manage_music_changes,00000190
-804257F4 display_song_name,00000404
-80425BF8 display_song_name_on_file_select,000001B0
-80425DB0 obj_comb_drop_collectible,0000010C
-80425EBC ObjComb_Update,00000100
-80425FC0 ObjKibako_Draw,000001D8
-80426198 ObjKibako_SpawnCollectible_Hack,00000100
-804262A0 ObjKibako2_SpawnCollectible_Hack,0000010C
-804263AC ObjKibako2_Draw,000001F0
-804265A0 Obj_Mure3_RupeeCircle_DropRupee,00000148
-804266F0 Object_LoadExtra,000001E8
-804268E0 object_index_or_spawn,00000098
-80426978 enitem00_set_link_incoming_item_id,000000CC
-80426A50 c_block_ocarina,00000068
-80426AB8 can_spawn_epona,00000058
-80426B10 BgHakaTubo_DropCollectible_Hack,00000148
-80426C60 BgSpot18Basket_BombDropHook,00000138
-80426D98 BgSpot18Basket_RupeeDropHook,00000134
-80426ECC BgSpot18Basket_Heartpiecerupee_DropHook,00000144
-80427010 draw_pot,000002A0
-804272B0 draw_pot_hack,00000034
-804272E4 draw_hba_pot_hack,00000054
-80427338 draw_flying_pot_hack,00000034
-8042736C ObjTsubo_SpawnCollectible_Hack,00000100
-8042746C EnTuboTrap_DropCollectible_Hack,00000110
-80427580 get_rainbow_color,00000238
-804277C0 health_and_magic_refill,0000004C
-80427810 Seeded_Rand_Next,0000004C
-8042785C Seeded_Rand_Seed,0000002C
-80427888 Seeded_Reset,00000034
-804278BC Seeded_Rand_ZeroOne,0000006C
-80427928 Seeded_Rand_Centered,0000006C
-804279A0 countSetBitsRec,00000078
-80427A18 give_sage_gifts,000001F8
-80427C10 Save_Open,000000D0
-80427CE0 SsSram_ReadWrite_Safe,00000068
-80427D48 Sram_WriteSave,00000244
-80427F8C Sram_VerifyAndLoadAllSaves,0000064C
+80406FF0 drop_ruto
+8040705C @@return
+80407084 check_kill_demoeffect
+804070D4 @@return
+804070F0 agony_distance_hook
+80407114 @@inside_radius
+80407124 @@outside_radius
+8040712C @@done
+80407158 agony_vibrate_hook
+80407188 @@done
+804071B8 agony_post_hook
+804071D0 .byt:0001
+804071D0 CHAIN_HBA_REWARDS
+804071D4 handle_hba_rewards_chain
+80407230 @@return
+80407238 stick_as_adult
+80407254 @@return
+80407260 masks_as_adult
+8040727C @@return
+80407288 .byt:0001
+80407288 SHUFFLE_CARPET_SALESMAN
+8040728C carpet_inital_message
+804072B4 @@return
+804072BC carpet_buy_item_hook
+804072DC @@return
+804072E4 .byt:0001
+804072E4 SHUFFLE_MEDIGORON
+804072E8 medigoron_inital_check
+80407328 @@return
+80407330 medigoron_buy_item_hook
+80407350 @@return
+80407358 bombchu_back_color
+80407380 kill_door_of_time_col
+804073A8 mask_check_trade_slot
+804073D0 @@return
+804073D8 .dbl:0004
+804073D8 ADULT_ANJU_ITEM_DIALOG
+804073DC check_fado_spawn_flags
+80407438 @@kill_fado
+80407440 @@return_fado
+8040744C check_grog_spawn_flags
+8040747C @@return_grog
+80407488 check_skull_kid_spawn_flags
+804074D0 check_if_biggoron_should_cry_eye_hook
+804074F8 @@vanilla_eye_hook
+804074FC @@return_eye_hook
+80407508 check_if_biggoron_should_cry_anim_hook
+80407530 @@vanilla_anim_hook
+8040753C @@return_anim_hook
+80407548 check_if_biggoron_should_cry_sfx_hook
+80407574 @@vanilla_sfx_hook
+80407580 @@return_sfx_hook
+80407590 check_if_biggoron_should_cry
+804075C0 @@return_crybaby
+804075DC check_claim_check_traded
+80407624 @@return_claim_check
+8040763C check_trade_item_traded
+80407670 @@check_trade_flags
+80407690 @@return_traded
+804076A8 update_shiftable_trade_item_egg_hook
+804076C4 update_shiftable_trade_item_save_hook
+80407740 check_if_mask_sells_out
+80407768 @@return_sold_out
+80407770 check_cucco_lady_talk_exch_hook
+804077A4 check_cucco_lady_talk_none_hook
+804077D8 check_cucco_lady_exchange_id_hook
+80407804 check_cucco_lady_flag_hook
+80407834 set_keaton_mask_traded_flag
+8040786C set_skull_mask_traded_flag
+804078A0 set_spooky_mask_traded_flag
+804078D4 set_bunny_hood_traded_flag
+80407908 handle_child_zelda_savewarp
+80407918 @@revert_child_trade_item
+8040792C @@c_button_loop
+80407944 @@skip_c_button
+8040794C @@return
+80407954 check_zelda_cutscene_watched
+80407970 @@give_letter
+80407990 @@skip_letter
+804079C4 @@return
+804079D4 blue_fire_arrows
+804079E8 @@return
+804079F0 offer_jail_hook
+80407A08 offer_jail_normal_white_guard
+80407A8C @@first_response
+80407AA8 @@second_response
+80407ABC @@end_switch
+80407AC0 @@return
+80407AD0 open_save_hook
+80407B40 obj_mure3_drop_params_hack
+80407B4C obj_mure3_redrupee_hack
+80407B68 obj_mure3_redrupee_hack_end
+80407B70 bg_haka_tubo_drop_params_hack
+80407B80 bg_spot18_basket_bombs_hack
+80407B9C bg_spot18_basket_bombs_end
+80407BA4 bg_spot18_basket_rupees_hack
+80407BC8 bg_spot18_basket_rupees_end
+80407BD4 bg_spot18_basket_drop_heartpiece_rupees
+80407C00 bg_spot18_basket_drop_heartpiece_redrupee_end
+80407C1C bg_spot18_basket_drop_heartpiece_bluerupee
+80407C38 bg_spot18_basket_drop_heartpiece_bluerupee_end
+80407C54 bg_spot18_basket_drop_heartpiece_rupees_end
+80407C60 obj_comb_hook
+80407C78 EnWonderItem_Multitag_DrawHook
+80407D14 EnWonderItem_MultitagOrdered_DrawHook
+80407DB4 EnWonderItem_Update_Hook
+80407DF4 .wrd:0002
+80407DF4 CURR_ACTOR_SPAWN_INDEX
+80407DF6 .wrd:0002
+80407DF8 Actor_UpdateAll_Hook
+80407E40 @@call_hack
+80407E50 @@end
+80407E84 Actor_Spawn_Malloc_Hack
+80407EA0 @spawn
+80407EB8 Actor_Spawn_Shift
+80407F24 @end
+80407F3C Actor_Spawn_Continue
+80407F48 rand_seed_truth_spinner
+80407F6C set_message_file_to_search
+80407F9C load_correct_message_segment
+80407FD4 Message_Decode_Control_Code_Hook_JP
+80407FF0 @not_newline_jp
+80408050 @jp_no_match
+80408058 Message_Decode_Control_Code_Hook
+80408070 @not_newline
+804080D4 @no_match
+804080DC shooting_gallery_no_bow
+80408108 Message_Decode_reset_msgCtx.textPosX
+8040811C .byt:0001
+8040811C CFG_MASK_AUTOEQUIP
+80408120 player_save_mask
+80408140 @@return
+8040814C player_restore_mask
+80408174 @@return
+8040819C gohma_climb
+804081AC camera_init
+804081BC .byt:0001
+804081BC SHUFFLE_CHEST_GAME
+804081BD .byt:0001
+804081BD TCG_REQUIRES_LENS
+804081C0 chestgame_buy_item_hook
+804081E0 @@return
+804081E8 chestgame_initial_message
+80408214 @@return
+8040821C chestgame_no_reset_flag
+80408234 @@return
+8040823C chestgame_no_reset_keys
+80408254 @@return
+8040825C chestgame_remove_chest_rng
+8040827C @@chestgame_run_chest_rng
+80408284 chestgame_force_game_loss_left
+804082D0 @@return
+804082D8 @@force_loss
+804082E4 chestgame_force_game_loss_right
+80408330 @@return
+80408338 @@force_loss
+80408344 chestgame_warn_player_of_rigged_game
+80408370 EnItem00_ProximityCheck_Hook
+804083C0 en_item00_update
+804083CC EnItem00_Draw
+804083D8 EnItem00_Init
+804083E4 volvagia_flying_hitbox
+804083FC @@return
+80408404 move_key_icon
+80408420 @@return_icon
+80408428 move_key_counter
+80408444 @@return_counter
+8040844C en_am_calculation_1
+80408460 en_am_calculation_2
+80408474 ocarina_buttons
+804084B4 @@button_cup
+804084CC @@button_cdown
+804084E4 @@button_cleft
+804084FC @@button_cright
+80408514 @@return
+80408530 fairy_ocarina_getitem_override
+80408554 EnDns_TakePayment
+80408588 bg_gate_shutter_open_hack
+8040859C big_poe_soul_collision
+804085DC @@no_collision
+804085E4 @@collision
+804085EC Player_LadderCutsceneFix
+80408600 @@Return
+80408610 Player_BunnyMatrixPush
+80408640 Player_BunnyMatrixPop
+80408660 Player_HoverMatrixPush
+80408690 Player_HoverMatrixPop
+804086B0 Player_HookshotCheckActorSpawn
+804086D4 @@Return
+804086DC EnBox_CallLoadObject
+804086FC Object_CheckMaxObjectSpace
+80408714 @@Return
+80408720 after_spawn_override_silver_rupee,00000018
+80408738 Actor_GetAdditionalData,00000008
+80408740 Actor_BuildFlag,000000BC
+804087FC Actor_StoreFlag,0000011C
+80408918 Actor_StoreFlagByIndex,00000054
+8040896C get_newflag_override,0000008C
+804089F8 Actor_StoreChestType,00000174
+80408B6C Actor_After_UpdateAll_Hack,0000005C
+80408BC8 spawn_override_silver_rupee,00000108
+80408CD0 Actor_SpawnEntry_Hack,0000010C
+80408DDC Player_SpawnEntry_Hack,000000B8
+80408E94 Actor_Spawn_Hook,00000094
+80408F28 agony_inside_radius_setup,00000008
+80408F30 agony_outside_radius_setup,0000002C
+80408F5C agony_vibrate_setup,00000034
+80408F90 draw_agony_graphic,00000158
+804090E8 draw_agony,000001F8
+804092E0 DoorWarp1_PlayerInRange,00000078
+80409358 DoorWarp1_PlayerInRange_Overwrite,0000016C
+804094C4 DoorWarp1_IsSpiritRewardObtained,0000000C
+804094D0 DoorWarp1_IsShadowRewardObtained,0000000C
+804094DC DoorWarp1_KokiriEmerald_Overwrite,00000008
+804094E4 DoorWarp1_GoronRuby_Overwrite,00000008
+804094EC DoorWarp1_ZoraSapphire_Overwrite,00000008
+804094F4 DoorWarp1_ForestMedallion_Overwrite,00000008
+804094FC DoorWarp1_FireMedallion_Overwrite,0000001C
+80409518 DoorWarp1_WaterMedallion_Overwrite,00000018
+80409530 DoorWarp1_SpiritMedallion_Overwrite,00000008
+80409538 DoorWarp1_ShadowMedallion_Overwrite,00000008
+80409540 select_bombchu_bowling_prize,00000190
+804096D0 set_bombchu_bowling_prize_flag,0000002C
+804096FC get_chest_override,00000148
+80409844 get_chest_type,00000024
+80409868 set_chest_texture,00000224
+80409A8C draw_chest_base,000000FC
+80409B88 draw_chest_lid,000000FC
+80409C84 draw_chest,00000048
+80409CCC should_draw_forest_hallway_chest,000000A4
+80409D70 get_dummy_chest,0000001C
+80409D8C draw_forest_hallway_chest_base,0000007C
+80409E08 draw_forest_hallway_chest_lid,000000DC
+80409EE4 draw_debug_int,00000038
+80409F1C draw_debug_float,00000038
+80409F54 draw_timeofday,00000330
+8040A284 draw_textbox_ids,00000074
+8040A2F8 get_flag,000000B4
+8040A3AC debug_menu_is_drawn,0000000C
+8040A3B8 manage_debug_inputs,00000074
+8040A42C decimal_to_hex,000000A0
+8040A4CC draw_debug_menu,000021A8
+8040C674 draw_debug_numbers,000003A0
+8040CA14 debug_utilities,0000006C
+8040CA80 DemoEffect_DrawJewel_Hook,00000134
+8040CBB4 has_items_for_door_of_time,000000AC
+8040CC60 DemoKankyo_CutsceneFlags_Get_Hook,000000A8
+8040CD08 handle_dpad,00000724
+8040D42C draw_dpad_and_menu_utilities,000014AC
+8040E8D8 draw_background,00000128
+8040EA00 d_right_dungeon_idx,00000068
+8040EA68 draw_silver_rupee_count,00000334
+8040ED9C is_bk_displayed,00000084
+8040EE20 draw_boss_key,000000FC
+8040EF1C draw_world_info,00001164
+80410080 draw_dungeon_info,000028E4
+80412964 dungeon_info_is_drawn,0000000C
+80412970 EnBox_GetNewGetItemId,0000003C
+804129AC EnBox_LoadObject,00000070
+80412A1C EnItem00_OutgoingAction,000000C8
+80412AE4 EnItem00_ProximityCheck_Hack,00000088
+80412B6C EnItem00_Init_Hook,0000005C
+80412BC8 en_item00_update_hook,000000D0
+80412C98 EnItem00_Draw_Hook,00000068
+80412D00 EnOkarinaTag_ActionHook,000000A4
+80412DA4 EnWonderitem_AfterInitHack,00000070
+80412E14 EnWonderItem_Multitag_DrawHack,000000A4
+80412EB8 EnWonderItem_DropCollectible_Hack,00000240
+804130F8 EnWonderItem_Update_Hack,00000098
+80413190 EnWonderItem_Kill_Hack,000000B8
+80413248 interpolate,00000064
+804132AC extern_scene_init,00000018
+804132C4 process_extern_ctxt,00000290
+804136C4 read_file_data,00000550
+80413C14 draw_file_icons,00000E94
+80414B04 draw_file_message,000002EC
+80414DF0 is_saved_password_clear,0000008C
+80414E7C is_buffer_password_clear,00000040
+80414EBC reset_buffer,0000004C
+80414F08 manage_password,00000800
+80415708 draw_file_select_hash,0000025C
+80415964 check_ganon_entry,00000048
+804159AC Collectible_WaitForMessageBox,000000D4
+80415A80 override_flags_init,0000002C
+80415AAC item_overrides_init,0000008C
+80415B38 get_override_search_key,00000158
+80415C90 lookup_override_by_key,000000F0
+80415D80 lookup_override,0000005C
+80415DDC resolve_alternative_override,0000006C
+80415E48 get_override_search_key_by_newflag,0000004C
+80415E94 lookup_override_by_newflag,0000005C
+80415EF0 resolve_alternative_flag,0000005C
+80415F4C activate_override,0000013C
+80416088 clear_override,00000054
+804160DC push_outgoing_override,000000C8
+804161A4 move_outgoing_queue,0000009C
+80416240 push_pending_item,0000008C
+804162CC push_coop_item,00000064
+80416330 push_delayed_item,0000004C
+8041637C pop_pending_item,0000005C
+804163D8 after_key_received,00000070
+80416448 pop_ice_trap,0000007C
+804164C4 after_item_received,0000009C
+80416560 try_pending_item,000001D0
+80416730 handle_pending_items,000001E0
+80416910 get_item,0000029C
+80416BAC reset_collectible_mutex,0000000C
+80416BB8 get_xflag_bit_offset,00000380
+80416F38 Get_NewFlag,0000006C
+80416FA4 Set_NewFlag,00000050
+80416FF4 Item_DropCollectible_Room_Hack,00000074
+80417068 Room_Change_Actor_Kill_Hack,0000005C
+804170C4 Item00_KillActorIfFlagIsSet,000001FC
+804172C0 drop_bombs_or_chus,00000084
+80417344 get_override_drop_id,00000270
+804175B4 dispatch_item,000000AC
+80417660 item_give_collectible,000002E0
+80417940 get_skulltula_token,000000E0
+80417A20 give_sarias_gift,00000070
+80417A90 fairy_ocarina_getitem,000000BC
+80417B4C sprite_bytes_per_tile,00000064
+80417BB0 sprite_bytes,00000030
+80417BE0 sprite_load,000002C8
+80417EA8 sprite_texture,00000348
+804181F0 sprite_texture_4b,00000318
+80418508 sprite_draw,000000F8
+80418600 rando_display_buffer_init,0000000C
+8041860C rando_display_buffer_reset,00000038
+80418644 close_rando_display_buffer,000000CC
+80418710 gfx_init,00000240
+80418950 update_hud_colors,0000039C
+80418CEC rupee_hud_color,0000004C
+80418D38 ice_trap_is_pending,00000014
+80418D4C push_pending_ice_trap,00000018
+80418D64 give_ice_trap,00000088
+80418DEC draw_x_stick,00000048
+80418E34 draw_y_stick,00000074
+80418EA8 draw_a,000000D0
+80418F78 draw_b,000000D4
+8041904C draw_start,000000A8
+804190F4 draw_cdown,000000D4
+804191C8 draw_cup,000000D4
+8041929C draw_cleft,000000D4
+80419370 draw_cright,000000D4
+80419444 draw_z,000000A4
+804194E8 draw_l,000000A4
+8041958C draw_r,000000A4
+80419630 draw_ddown,000000A4
+804196D4 draw_dup,000000A4
+80419778 draw_dleft,000000A4
+8041981C draw_dright,000000A4
+804198C0 draw_input_viewer,000000E4
+804199A4 is_hook_static,00000080
+80419A24 draw_gi_bombchu_and_masks,0000009C
+80419AC0 draw_gi_eggs_and_medallions,000000C0
+80419B80 draw_gi_sold_out,000000A4
+80419C24 draw_gi_compass,00000120
+80419D44 draw_gi_various_opa0,0000009C
+80419DE0 draw_gi_various_opa1023,000000F0
+80419ED0 draw_gi_wallets,00000150
+8041A020 draw_gi_silver_rupee_pouch,0000018C
+8041A1AC draw_gi_various_xlu0,0000009C
+8041A248 draw_gi_various_xlu01,000000C0
+8041A308 draw_gi_various_opa0_xlu1,00000118
+8041A420 draw_rutos_letter,0000012C
+8041A54C draw_gi_coins_and_cuccos,00000130
+8041A67C draw_gi_magic_arrows,0000012C
+8041A7A8 draw_gi_various_opa10_xlu32,00000144
+8041A8EC draw_gi_bullet_bags,0000015C
+8041AA48 draw_gi_small_rupees,00000160
+8041ABA8 draw_gi_goron_swords,00000108
+8041ACB0 draw_gi_deku_nut,00000114
+8041ADC4 draw_gi_recovery_heart,00000118
+8041AEDC draw_gi_fish_bottle,00000108
+8041AFE4 draw_gi_magic_spells,00000154
+8041B138 draw_gi_scales,0000016C
+8041B2A4 draw_gi_potions,000001D0
+8041B474 draw_gi_mirror_shield,000001A4
+8041B618 draw_gi_gs_token,0000018C
+8041B7A4 draw_gi_blue_fire_candle,000001D0
+8041B974 draw_gi_fairy_lantern,000001EC
+8041BB60 draw_gi_fairy,000001D8
+8041BD38 draw_gi_poe_bottles,00000208
+8041BF40 draw_gi_song_notes,0000013C
+8041C07C draw_gi_small_keys,0000019C
+8041C218 draw_gi_shrink_keys,000001DC
+8041C3F4 draw_gi_boss_keys,000002D4
+8041C6C8 draw_gi_boss_altered,000002D4
+8041C99C draw_gi_boss_altflip,000002D4
+8041CC70 draw_gi_chubag,000002D8
+8041CF48 draw_gi_a_button,00000138
+8041D080 draw_gi_c_button_vertical,00000190
+8041D210 draw_gi_c_button_horizontal,00000190
+8041D3A0 draw_gi_nothing,00000008
+8041D3A8 draw_gi_medallions,000000E4
+8041D48C draw_gi_stones,000002EC
+8041D778 draw_gi_flame,00000204
+8041D97C draw_gi_magic_meter,000003A0
+8041DD1C draw_gi_xlu_with_flame,0000009C
+8041DDB8 draw_gi_deku_nut_with_flame,000000A0
+8041DE58 draw_ice_trap,00000198
+8041DFF0 base_draw_gi_model,00000038
+8041E028 no_effect,00000008
+8041E030 full_heal,0000000C
+8041E03C give_triforce_piece,000000BC
+8041E0F8 give_tycoon_wallet,00000038
+8041E130 give_biggoron_sword,0000000C
+8041E13C give_bottle,00000038
+8041E174 give_dungeon_item,00000014
+8041E188 give_small_key,00000094
+8041E21C give_small_key_ring,000000C8
+8041E2E4 set_silver_rupee_flags,000000F0
+8041E3D4 give_silver_rupee,00000090
+8041E464 give_silver_rupee_pouch,000000C4
+8041E528 give_defense,0000001C
+8041E544 give_magic,0000001C
+8041E560 give_double_magic,00000024
+8041E584 give_fairy_ocarina,0000000C
+8041E590 give_quest_item,00000018
+8041E5A8 ice_trap_effect,0000001C
+8041E5C4 give_bean_pack,00000018
+8041E5DC fill_wallet_upgrade,0000002C
+8041E608 clear_excess_hearts,0000001C
+8041E624 open_gate_and_mask_shop,00000114
+8041E738 give_bombchus,00000018
+8041E750 trade_quest_upgrade,0000001C
+8041E76C unlock_ocarina_note,0000007C
+8041E7E8 resolve_text_silver_rupees,000000B0
+8041E898 resolve_text_silver_rupee_pouches,0000008C
+8041E924 resolve_text_small_keys,00000088
+8041E9AC resolve_text_small_keys_cmg,00000034
+8041E9E0 resolve_text_keyrings,0000003C
+8041EA1C get_item_row,0000003C
+8041EA58 resolve_item_text_id,00000030
+8041EA88 resolve_upgrades,00000054
+8041EADC call_effect_function,0000002C
+8041EB08 no_upgrade,00000010
+8041EB18 hookshot_upgrade,00000064
+8041EB7C strength_upgrade,00000070
+8041EBEC bomb_bag_upgrade,00000070
+8041EC5C bow_upgrade,0000006C
+8041ECC8 slingshot_upgrade,00000078
+8041ED40 wallet_upgrade,00000078
+8041EDB8 scale_upgrade,0000005C
+8041EE14 nut_upgrade,0000005C
+8041EE70 stick_upgrade,0000005C
+8041EECC magic_upgrade,00000054
+8041EF20 bombchu_upgrade,00000038
+8041EF58 ocarina_upgrade,00000070
+8041EFC8 arrows_to_rupee,00000070
+8041F038 bombs_to_rupee,00000070
+8041F0A8 seeds_to_rupee,00000078
+8041F120 letter_to_bottle,0000007C
+8041F19C health_upgrade_cap,0000003C
+8041F1D8 bombchus_to_bag,000000A8
+8041F280 upgrade_key_model,000000D8
+8041F358 KaleidoScope_DrawItemSelect,00000DD4
+8042012C c_init,00000044
+80420170 before_game_state_update,0000005C
+804201CC after_game_state_update,00000094
+80420260 before_skybox_init,0000003C
+8042029C after_scene_init,0000004C
+804202E8 c_equipment_menu_slot_filled,00000100
+804203E8 Message_GetWideCharWidth,00000060
+80420448 Message_GetWideCharScaledAdvance,00000044
+8042048C Message_GetWideTextCharScale,0000001C
+804204A8 Message_GetWideTextLineSpacing,0000001C
+804204C4 Message_GetWideTextInitXPos,0000001C
+804204E0 Message_ApplyJpTextMetrics,0000004C
+8042052C Message_ApplyWideTextNewline,00000080
+804205AC Message_AddCharacter,00000090
+8042063C Message_AddCharacterWide,00000088
+804206C4 Message_AddInteger,000000F0
+804207B4 Message_AddIntegerWide,000000F0
+804208A4 Message_AddString,00000084
+80420928 Message_AddStringWide,000000E8
+80420A10 Message_AddFileName,000000E8
+80420AF8 Message_AddFileNameWide,000000EC
+80420BE4 Message_Decode_Additional_Control_Codes,00000538
+8042111C Message_Decode_Additional_Control_Codes_JP,0000042C
+80421548 grab_textbox_id,0000002C
+80421574 shooting_gallery_message,00000044
+804215B8 treasure_chest_game_message,0000003C
+804215F4 display_misc_messages,000000A0
+80421694 update_sword_trail_colors,000000A4
+80421738 update_boomerang_trail_colors,000001A4
+804218DC update_bombchu_trail_colors,00000274
+80421B50 get_bombchu_back_color,00000274
+80421DC4 update_navi_colors,00000224
+80421FE8 update_tunic_colors,000000B0
+80422098 update_misc_colors,00000048
+804220E0 draw_illegal_model_text,00000204
+804222E4 FindModelData,00000170
+80422454 FindSize,00000074
+804224C8 FindHierarchy,000000E0
+804225A8 check_skeleton,000000EC
+80422694 check_model_skeletons,00000238
+804228CC load_object_file,0000006C
+80422938 load_object,00000028
+80422960 get_object,00000060
+804229C0 set_object_segment,0000004C
+80422A0C scale_top_matrix,00000068
+80422A74 draw_model_low_level,00000084
+80422AF8 scale_factor,00000054
+80422B4C draw_model,000000A8
+80422BF4 models_init,0000004C
+80422C40 models_reset,00000024
+80422C64 lookup_model_by_override,0000008C
+80422CF0 lookup_model,00000050
+80422D40 shop_draw,000000F4
+80422E34 heart_piece_draw,00000064
+80422E98 collectible_draw_other,00000084
+80422F1C heart_container_draw,00000064
+80422F80 skull_token_draw,00000064
+80422FE4 ocarina_of_time_draw,00000064
+80423048 item_etcetera_draw,000003A0
+804233E8 bowling_bomb_bag_draw,00000144
+8042352C bowling_heart_piece_draw,00000064
+80423590 Health_IsCritical,0000005C
+804235EC manage_music_changes,00000178
+80423764 display_song_name,000003D0
+80423B34 display_song_name_on_file_select,00000160
+80423C94 obj_comb_drop_collectible,000000EC
+80423D80 ObjComb_Update,000000EC
+80423E6C ObjKibako_Draw,000001B4
+80424020 ObjKibako_SpawnCollectible_Hack,000000E0
+80424100 ObjKibako2_SpawnCollectible_Hack,000000EC
+804241EC ObjKibako2_Draw,000001C4
+804243B0 Obj_Mure3_RupeeCircle_DropRupee,0000011C
+804244CC Object_LoadExtra,000001C4
+80424690 object_index_or_spawn,00000078
+80424708 enitem00_set_link_incoming_item_id,000000AC
+804247B4 c_block_ocarina,0000004C
+80424800 can_spawn_epona,00000044
+80424844 BgHakaTubo_DropCollectible_Hack,0000011C
+80424960 BgSpot18Basket_BombDropHook,0000010C
+80424A6C BgSpot18Basket_RupeeDropHook,00000108
+80424B74 BgSpot18Basket_Heartpiecerupee_DropHook,00000110
+80424C84 draw_pot,00000270
+80424EF4 draw_pot_hack,0000001C
+80424F10 draw_hba_pot_hack,00000030
+80424F40 draw_flying_pot_hack,0000001C
+80424F5C ObjTsubo_SpawnCollectible_Hack,000000DC
+80425038 EnTuboTrap_DropCollectible_Hack,000000E8
+80425120 get_rainbow_color,0000022C
+8042534C health_and_magic_refill,00000028
+80425374 Seeded_Rand_Next,0000002C
+804253A0 Seeded_Rand_Seed,0000000C
+804253AC Seeded_Reset,00000014
+804253C0 Seeded_Rand_ZeroOne,00000048
+80425408 Seeded_Rand_Centered,00000048
+80425450 countSetBitsRec,00000054
+804254A4 give_sage_gifts,000001D0
+80425674 Save_Open,000000B0
+80425724 SsSram_ReadWrite_Safe,00000030
+80425754 Sram_WriteSave,00000224
+80425978 Sram_VerifyAndLoadAllSaves,000005F8
+80425F70 Sram_CopySave,000001D0
+80426140 Sram_EraseSave,000000D8
+80426218 Save_Write_Hook,00000074
+8042628C Save_Init_Write_Hook,000000B8
+80426344 save_scarecrow_song,000000C0
+80426404 get_current_scene_setup_number,000000C8
+804264CC print_char,00000048
+80426514 text_print_size,00000090
+804265A4 text_print,00000030
+804265D4 draw_int_size,000001D0
+804267A4 draw_int,00000030
+804267D4 get_texture,00000018
+804267EC init_textures,00000054
+80426840 GetTradeItemIndex,00000020
+80426860 GetTradeItemByAP,0000004C
+804268AC GetTradeSlot,0000003C
+804268E8 GetTradeItemMin,00000018
+80426900 GetTradeItemMax,00000018
+80426918 IsTradeItem,0000002C
+80426944 IsAdultTradeItem,00000024
+80426968 SaveFile_SetTradeItemAsOwned,00000038
+804269A0 SaveFile_UnsetTradeItemAsOwned,0000003C
+804269DC SaveFile_TradeItemIsOwned,00000038
+80426A14 SaveFile_UpdateShiftableItem,00000098
+80426AAC SaveFile_SetTradeItemAsTraded,00000038
+80426AE4 SaveFile_UnsetTradeItemAsTraded,0000003C
+80426B20 SaveFile_TradeItemIsTraded,0000008C
+80426BAC SaveFile_SetMaskAsPaid,0000003C
+80426BE8 SaveFile_MaskIsPaid,0000003C
+80426C24 SaveFile_NextOwnedTradeItem,000000AC
+80426CD0 SaveFile_PrevOwnedTradeItem,000000AC
+80426D7C UpdateTradeEquips,000000FC
+80426E78 TurnInTradeItem,00000044
+80426EBC IsClaimCheckTraded,0000001C
+80426ED8 IsTradeItemTraded,00000070
+80426F48 Inventory_ReplaceItem_Override,00000128
+80427070 SetBiggoronAnimationState,00000068
+804270D8 ShouldSkullKidSpawn,0000005C
+80427134 IsCuccoGivenToCuccoLady,00000018
+8042714C SetupMaskShopHelloDialogOverride,00000154
+804272A0 TryPaybackMaskOverride,00000268
+80427508 CanBuy_RightSideMask,00000040
+80427548 set_triforce_render,00000028
+80427570 draw_triforce_count,000004A8
+80427A18 clear_twinrova_vars,00000014
+80427A2C manage_uninvert_yaxis,000000A8
+80427AD4 heap_init,00000014
+80427AE8 heap_alloc,0000003C
+80427B24 file_init,00000044
+80427B68 resolve_overlay_addr,0000003C
+80427BA4 override_weather_state,00000240
+80427EE8 .byt:0001
+80427EE8 debug_text_height
+80427EE9 .byt:0001
+80427EE9 debug_text_width
+80427FA8 .byt:0042
+80427FA8 freecam_modes
+80428078 .byt:000C
+80428078 icon_sprites
+80428100 .byt:0001
+80428100 REQUIRED_PENDING_FRAMES
+80428168 .byt:000C
+80428168 rupee_colors
+80428174 .byt:0006
+80428174 defaultDDHeart
+8042817C .byt:0006
+8042817C defaultHeart
+80428188 .byt:0002
+80428188 top_alignment
+8042818A .byt:0002
+8042818A left_alignment
+8042818C .byt:0001
+8042818C input_number_height
+8042818D .byt:0001
+8042818D input_number_width
+8042818E .byt:0001
+8042818E input_icon_height
+8042818F .byt:0001
+8042818F input_icon_width
80428268 .byt:0008
-804285D8 Sram_CopySave,000001FC
-804287D4 Sram_EraseSave,00000100
-804288D4 Save_Write_Hook,0000009C
-80428970 Save_Init_Write_Hook,000000E4
-80428A60 save_scarecrow_song,000000F4
-80428B60 get_current_scene_setup_number,00000108
-80428C70 print_char,00000070
-80428CE0 text_print_size,000000B4
-80428D94 text_print,00000058
-80428DEC draw_int_size,000001E8
-80428FD4 draw_int,00000054
-80429030 get_texture,00000034
-80429064 init_textures,00000070
-804290E0 GetTradeItemIndex,00000048
-80429128 GetTradeItemByAP,00000074
-8042919C GetTradeSlot,00000050
-804291EC GetTradeItemMin,00000030
-8042921C GetTradeItemMax,00000030
-8042924C IsTradeItem,00000044
-80429290 IsAdultTradeItem,00000040
-804292D0 SaveFile_SetTradeItemAsOwned,00000054
-80429324 SaveFile_UnsetTradeItemAsOwned,00000058
-8042937C SaveFile_TradeItemIsOwned,00000050
-804293CC SaveFile_UpdateShiftableItem,000000BC
-80429488 SaveFile_SetTradeItemAsTraded,00000054
-804294DC SaveFile_UnsetTradeItemAsTraded,00000058
-80429534 SaveFile_TradeItemIsTraded,000000A4
-804295D8 SaveFile_SetMaskAsPaid,00000058
-80429630 SaveFile_MaskIsPaid,00000054
-80429684 SaveFile_NextOwnedTradeItem,000000C8
-8042974C SaveFile_PrevOwnedTradeItem,000000C8
-80429814 UpdateTradeEquips,00000118
-8042992C TurnInTradeItem,00000060
-8042998C IsClaimCheckTraded,00000034
-804299C0 IsTradeItemTraded,00000094
-80429A54 Inventory_ReplaceItem_Override,00000158
-80429BAC SetBiggoronAnimationState,00000084
-80429C30 ShouldSkullKidSpawn,00000078
-80429CA8 IsCuccoGivenToCuccoLady,00000030
-80429CD8 SetupMaskShopHelloDialogOverride,0000016C
-80429E44 TryPaybackMaskOverride,0000028C
-8042A0D0 CanBuy_RightSideMask,00000054
-8042A130 set_triforce_render,0000004C
-8042A17C draw_triforce_count,00000510
-8042A690 clear_twinrova_vars,00000030
-8042A6C0 manage_uninvert_yaxis,000000D0
-8042A790 heap_init,00000034
-8042A7C4 heap_alloc,00000058
-8042A81C file_init,00000068
-8042A884 resolve_overlay_addr,0000005C
-8042A8E0 override_weather_state,00000250
-8042AC7C .byt:0001
-8042AC7C debug_text_height
-8042AC7D .byt:0001
-8042AC7D debug_text_width
-8042AD50 .byt:0042
-8042AD50 freecam_modes
-8042AE30 .byt:000C
-8042AE30 icon_sprites
-8042AED0 .byt:0001
-8042AED0 REQUIRED_PENDING_FRAMES
-8042AF50 .byt:000C
-8042AF50 rupee_colors
-8042AF5C .byt:0006
-8042AF5C defaultDDHeart
-8042AF64 .byt:0006
-8042AF64 defaultHeart
-8042AF74 .byt:0002
-8042AF74 top_alignment
-8042AF76 .byt:0002
-8042AF76 left_alignment
-8042AF78 .byt:0001
-8042AF78 input_number_height
-8042AF79 .byt:0001
-8042AF79 input_number_width
-8042AF7A .byt:0001
-8042AF7A input_icon_height
-8042AF7B .byt:0001
-8042AF7B input_icon_width
-8042B17C .byt:0004
-8042B17C text_height
-8042B180 .byt:0004
-8042B180 text_width
-8042B380 .byt:0004
-8042B380 NUM_FONT_CHARS
-8042B384 .byt:0004
-8042B384 FONT_CHAR_TEX_HEIGHT
-8042B388 .byt:0004
-8042B388 FONT_CHAR_TEX_WIDTH
-8042B398 .byt:0268
-8042B398 trade_quest_items
-8042B600 DPAD_RESOURCE
-8042BE00 DPAD_RESOURCE_END
-8042BE00 FONT_RESOURCE
-8042D2C8 FONT_RESOURCE_END
-8042D2C8 TRIFORCE_SPRITE_RESOURCE
-8042E2C8 TRIFORCE_SPRITE_RESOURCE_END
-8042E2E0 .byt:0060
-8042E2E0 flag_categories
-8042E340 .byt:00C0
-8042E340 actor_categories
-8042E400 .byt:0682
-8042E400 items_debug
-8042EA84 .byt:0154
-8042EA84 bosses_warps
-8042EBD8 .byt:0330
-8042EBD8 overworld_warps
-8042EF08 .byt:0068
-8042EF08 dungeon_rooms
-8042EF70 .byt:016C
-8042EF70 ganon_rooms
-8042F0DC .byt:0138
-8042F0DC gtg_rooms
-8042F214 .byt:00D0
-8042F214 hideout_rooms
-8042F2E4 .byt:0104
-8042F2E4 ice_rooms
-8042F3E8 .byt:00D0
-8042F3E8 botw_rooms
-8042F4B8 .byt:0138
-8042F4B8 spirit_rooms
-8042F5F0 .byt:01A0
-8042F5F0 shadow_rooms
-8042F790 .byt:0138
-8042F790 water_rooms
-8042F8C8 .byt:016C
-8042F8C8 fire_rooms
-8042FA34 .byt:0138
-8042FA34 forest_rooms
-8042FB6C .byt:009C
-8042FB6C jabu_rooms
-8042FC08 .byt:00D0
-8042FC08 dc_rooms
-8042FCD8 .byt:0138
-8042FCD8 deku_rooms
-8042FE10 .byt:01BA
-8042FE10 dungeon_warps
-8042FFCC .byt:00B0
-8042FFCC menu_categories
-8043007C .byt:0001
-8043007C menu_cooldown
-8043007D .byt:0001
-8043007D float_precision
-80430080 .byt:0003
-80430080 debug_text_color
-80430090 .byt:0009
-80430090 reward_rows
-8043009C .byt:0018
-8043009C medals
-804300B4 .byt:006C
-804300B4 bosses
-80430120 .byt:0294
-80430120 dungeons
-804303B4 .byt:0004
-804303B4 dungeon_count
-804303F0 .byt:0014
-804303F0 extern_ctxt
-80430404 .byt:0004
-80430404 last_fog_distance
-80430408 .byt:0004
-80430408 scene_fog_distance
-80430530 .byt:0001
-80430530 password_index
-80430534 .byt:0040
-80430534 hash_symbols
-80430574 .byt:0008
-80430574 hash_sprites
-80430580 .byt:0002
-80430580 loaded_room_bit_offset
-80430584 .byt:0004
-80430584 loaded_scene_room_setup
-80430588 .byt:0015
-80430588 items
-804305A0 .byt:0010
-804305A0 buttons_sprite
-804305B0 .byt:0010
-804305B0 ocarina_button_sprite
-804305C0 .byt:0010
-804305C0 heart_sprite
-804305D0 .byt:0010
-804305D0 linkhead_skull_sprite
-804305E0 .byt:0010
-804305E0 item_digit_sprite
-804305F0 .byt:0010
-804305F0 rupee_digit_sprite
-80430600 .byt:0010
-80430600 key_rupee_clock_sprite
-80430610 .byt:0010
-80430610 song_note_sprite
-80430620 .byt:0010
-80430620 triforce_sprite
-80430630 .byt:0010
-80430630 dpad_sprite
-80430640 .byt:0010
-80430640 font_sprite
-80430650 .byt:0010
-80430650 quest_items_sprite
-80430660 .byt:0010
-80430660 items_sprite
-80430670 .byt:0010
-80430670 medals_sprite
-80430680 .byt:0010
-80430680 stones_sprite
-80430690 .byt:0008
-80430690 empty_dlist
-80430698 .byt:0028
-80430698 setup_db
-804306C0 .byt:0004
-804306C0 text_cursor_border_max
-804306C4 .byt:0004
-804306C4 text_cursor_border_base
-804306C8 .byt:0004
-804306C8 text_cursor_inner_max
-804306CC .byt:0004
-804306CC text_cursor_inner_base
-804306D0 .byt:0004
-804306D0 c_note_font_glow_max
-804306D4 .byt:0004
-804306D4 c_note_font_glow_base
-804306D8 .byt:0004
-804306D8 c_note_glow_max
-804306DC .byt:0004
-804306DC c_note_glow_base
-804306E0 .byt:0004
-804306E0 a_note_font_glow_max
-804306E4 .byt:0004
-804306E4 a_note_font_glow_base
-804306E8 .byt:0004
-804306E8 a_note_glow_max
-804306EC .byt:0004
-804306EC a_note_glow_base
-804306F0 .byt:0004
-804306F0 c_note_b
-804306F4 .byt:0004
-804306F4 c_note_g
-804306F8 .byt:0004
-804306F8 c_note_r
-804306FC .byt:0004
-804306FC a_note_b
-80430700 .byt:0004
-80430700 a_note_g
-80430704 .byt:0004
-80430704 a_note_r
-80430708 .byt:0004
-80430708 c_button
-8043070C .byt:0004
-8043070C b_button
-80430710 .byt:0004
-80430710 a_button
-80430714 .byt:0004
-80430714 normal_dd
-80430718 .byt:0004
-80430718 beating_dd
-8043071C .byt:0004
-8043071C normal_no_dd
-80430720 .byt:0004
-80430720 beating_no_dd
-80430730 .byt:1710
-80430730 item_draw_table
-80431E40 .byt:0108
-80431E40 silver_rupee_vars
-80431F48 .byt:0022
-80431F48 key_counts
-80431F70 .byt:2140
-80431F70 item_table
-804340B0 .byt:0200
-804340B0 FILENAME_ENCODING_WIDE
-804342B0 .byt:0100
-804342B0 FILENAME_ENCODING
-804343B0 .byt:00FC
-804343B0 childSkeleton
-804344AC .byt:00FC
-804344AC adultSkeleton
-804345B0 .byt:00BC
-804345B0 bgm_sequence_ids
-80434670 .byt:0004
-80434670 RNG_SEED_INT
-80434680 .byt:0040
-80434680 num_to_bits
-804346C0 .byt:0004
-804346C0 Sram_InitNewSave
-804346D0 .byt:01F0
-804346D0 texture_table
-804348C0 .byt:0004
-804348C0 EXTRA_BOWLING_SHUFFLE
-804348D0 .byt:0004
-804348D0 CHEST_SIZE_TEXTURE
-804348D4 .byt:0004
-804348D4 CHEST_SIZE_MATCH_CONTENTS
-804348D8 .byt:0004
-804348D8 CHEST_TEXTURE_MATCH_CONTENTS
-804348E0 .byt:0018
-804348E0 input_local_copy
-804348F8 .byt:0001
-804348F8 show_textbox_id
-804348F9 .byt:0001
-804348F9 show_clock
-80434970 .byt:0001
-80434970 boss_display
-80434971 .byt:0001
-80434971 world_display
-80434972 .byt:0001
-80434972 bk_display
-804349C0 .byt:0006
-804349C0 buffer_password
-804349C6 .byt:0002
-804349C6 cooldown
-804349C8 .byt:0002
-804349C8 tentatives
-804349D0 .byt:0001
-804349D0 NO_ESCAPE_SEQUENCE
-804349E0 .byt:0100
-804349E0 room_flags
-80434AE0 .byt:0010
-80434AE0 collectible_override
-80434AF0 .byt:0004
-80434AF0 collectible_mutex
-80434AF8 .byt:0080
-80434AF8 outgoing_queue
-80434B78 .byt:0004
-80434B78 collectible_override_flags
-80434B7C .byt:0002
-80434B7C num_override_flags
-80434B80 .byt:0C80
-80434B80 alt_overrides
-80435800 .byt:0BB8
-80435800 xflag_room_blob
-804363B8 .byt:02BC
-804363B8 xflag_room_table
-80436674 .byt:00CA
-80436674 xflag_scene_table
-8043673E .byt:0001
-8043673E satisfied_pending_frames
-80436740 .byt:0002
-80436740 incoming_junk
-80436744 .byt:0004
-80436744 active_item_fast_chest
-80436748 .byt:0004
-80436748 active_item_graphic_id
-8043674C .byt:0004
-8043674C active_item_object_id
-80436750 .byt:0004
-80436750 active_item_text_id
-80436754 .byt:0004
-80436754 active_item_action_id
-80436758 .byt:0004
-80436758 active_item_row
-8043675C .byt:0004
-8043675C active_override_is_outgoing
-80436760 .byt:0010
-80436760 active_override
-80436770 .byt:0004
-80436770 spawn_actor_with_flag
-80436774 .byt:0008
-80436774 drop_collectible_override_flag
-8043677C .byt:0004
-8043677C dummy_actor
-80436780 .byt:0004
-80436780 item_overrides_count
-80436788 .byt:8980
-80436788 cfg_item_overrides
-8043F110 .byt:0001
-8043F110 randoGfxPoolIndex
-8043F118 .byt:10000
-8043F118 randoGfxPools
-8044F120 .byt:0010
-8044F120 rando_overlay_db
-8044F130 .byt:0001
-8044F130 COMPLETE_MASK_QUEST
-8044F131 .byt:0001
-8044F131 OPEN_KAKARIKO
-8044F132 .byt:0001
-8044F132 MAX_RUPEES
-8044F140 .byt:0001
-8044F140 treasure_chest_game_show_message
-8044F141 .byt:0001
-8044F141 shooting_gallery_show_message
-8044F142 .byt:0002
-8044F142 current_textbox_id
-8044F160 .byt:0001
-8044F160 missing_dlist
-8044F161 .byt:0001
-8044F161 child_safe
-8044F162 .byt:0001
-8044F162 adult_safe
-8044F164 .byt:0002
-8044F164 illegal_model
-8044F170 .byt:0004
-8044F170 curr_drawn_actor
-8044F174 .byt:00C0
-8044F174 object_slots
-8044F250 .byt:0004
-8044F250 RANDOMIZER_RNG_SEED
-8044F260 .byt:0002
-8044F260 GANON_BOSS_KEY_CONDITION_COUNT
-8044F262 .byt:0001
-8044F262 GANON_BOSS_KEY_CONDITION
-8044F270 .byt:0058
-8044F270 extended_savectx
-8044F2D0 .byt:0001
-8044F2D0 curr_scene_setup
-8044F2F0 .byt:0004
-8044F2F0 heap_next
-8044F300 .byt:0001
-8044F300 KAKARIKO_WEATHER_FORECAST
-8044F510 AUDIO_THREAD_MEM_START
+8042835C .byt:0004
+8042835C text_height
+80428360 .byt:0004
+80428360 text_width
+8042850C .byt:0004
+8042850C NUM_FONT_CHARS
+80428510 .byt:0004
+80428510 FONT_CHAR_TEX_HEIGHT
+80428514 .byt:0004
+80428514 FONT_CHAR_TEX_WIDTH
+80428520 .byt:0268
+80428520 trade_quest_items
+80428788 DPAD_RESOURCE
+80428F88 DPAD_RESOURCE_END
+80428F88 FONT_RESOURCE
+8042A450 FONT_RESOURCE_END
+8042A450 TRIFORCE_SPRITE_RESOURCE
+8042B450 TRIFORCE_SPRITE_RESOURCE_END
+8042B454 .byt:0060
+8042B454 flag_categories
+8042B4B4 .byt:00C0
+8042B4B4 actor_categories
+8042B574 .byt:0682
+8042B574 items_debug
+8042BBF8 .byt:0154
+8042BBF8 bosses_warps
+8042BD4C .byt:0330
+8042BD4C overworld_warps
+8042C07C .byt:0068
+8042C07C dungeon_rooms
+8042C0E4 .byt:016C
+8042C0E4 ganon_rooms
+8042C250 .byt:0138
+8042C250 gtg_rooms
+8042C388 .byt:00D0
+8042C388 hideout_rooms
+8042C458 .byt:0104
+8042C458 ice_rooms
+8042C55C .byt:00D0
+8042C55C botw_rooms
+8042C62C .byt:0138
+8042C62C spirit_rooms
+8042C764 .byt:01A0
+8042C764 shadow_rooms
+8042C904 .byt:0138
+8042C904 water_rooms
+8042CA3C .byt:016C
+8042CA3C fire_rooms
+8042CBA8 .byt:0138
+8042CBA8 forest_rooms
+8042CCE0 .byt:009C
+8042CCE0 jabu_rooms
+8042CD7C .byt:00D0
+8042CD7C dc_rooms
+8042CE4C .byt:0138
+8042CE4C deku_rooms
+8042CF84 .byt:01BA
+8042CF84 dungeon_warps
+8042D140 .byt:00B0
+8042D140 menu_categories
+8042D1F0 .byt:0001
+8042D1F0 menu_cooldown
+8042D1F1 .byt:0001
+8042D1F1 float_precision
+8042D1F4 .byt:0003
+8042D1F4 debug_text_color
+8042D1F8 .byt:0009
+8042D1F8 reward_rows
+8042D204 .byt:0018
+8042D204 medals
+8042D21C .byt:006C
+8042D21C bosses
+8042D288 .byt:0294
+8042D288 dungeons
+8042D51C .byt:0004
+8042D51C dungeon_count
+8042D54C .byt:0014
+8042D54C extern_ctxt
+8042D560 .byt:0004
+8042D560 last_fog_distance
+8042D564 .byt:0004
+8042D564 scene_fog_distance
+8042D688 .byt:0001
+8042D688 password_index
+8042D68C .byt:0040
+8042D68C hash_symbols
+8042D6CC .byt:0008
+8042D6CC hash_sprites
+8042D6D4 .byt:0002
+8042D6D4 loaded_room_bit_offset
+8042D6D8 .byt:0004
+8042D6D8 loaded_scene_room_setup
+8042D6DC .byt:0015
+8042D6DC items
+8042D6F8 .byt:0010
+8042D6F8 buttons_sprite
+8042D708 .byt:0010
+8042D708 ocarina_button_sprite
+8042D718 .byt:0010
+8042D718 heart_sprite
+8042D728 .byt:0010
+8042D728 linkhead_skull_sprite
+8042D738 .byt:0010
+8042D738 item_digit_sprite
+8042D748 .byt:0010
+8042D748 rupee_digit_sprite
+8042D758 .byt:0010
+8042D758 key_rupee_clock_sprite
+8042D768 .byt:0010
+8042D768 song_note_sprite
+8042D778 .byt:0010
+8042D778 triforce_sprite
+8042D788 .byt:0010
+8042D788 dpad_sprite
+8042D798 .byt:0010
+8042D798 font_sprite
+8042D7A8 .byt:0010
+8042D7A8 quest_items_sprite
+8042D7B8 .byt:0010
+8042D7B8 items_sprite
+8042D7C8 .byt:0010
+8042D7C8 medals_sprite
+8042D7D8 .byt:0010
+8042D7D8 stones_sprite
+8042D7E8 .byt:0008
+8042D7E8 empty_dlist
+8042D7F0 .byt:0028
+8042D7F0 setup_db
+8042D818 .byt:0004
+8042D818 text_cursor_border_max
+8042D81C .byt:0004
+8042D81C text_cursor_border_base
+8042D820 .byt:0004
+8042D820 text_cursor_inner_max
+8042D824 .byt:0004
+8042D824 text_cursor_inner_base
+8042D828 .byt:0004
+8042D828 c_note_font_glow_max
+8042D82C .byt:0004
+8042D82C c_note_font_glow_base
+8042D830 .byt:0004
+8042D830 c_note_glow_max
+8042D834 .byt:0004
+8042D834 c_note_glow_base
+8042D838 .byt:0004
+8042D838 a_note_font_glow_max
+8042D83C .byt:0004
+8042D83C a_note_font_glow_base
+8042D840 .byt:0004
+8042D840 a_note_glow_max
+8042D844 .byt:0004
+8042D844 a_note_glow_base
+8042D848 .byt:0004
+8042D848 c_note_b
+8042D84C .byt:0004
+8042D84C c_note_g
+8042D850 .byt:0004
+8042D850 c_note_r
+8042D854 .byt:0004
+8042D854 a_note_b
+8042D858 .byt:0004
+8042D858 a_note_g
+8042D85C .byt:0004
+8042D85C a_note_r
+8042D860 .byt:0004
+8042D860 c_button
+8042D864 .byt:0004
+8042D864 b_button
+8042D868 .byt:0004
+8042D868 a_button
+8042D86C .byt:0004
+8042D86C normal_dd
+8042D870 .byt:0004
+8042D870 beating_dd
+8042D874 .byt:0004
+8042D874 normal_no_dd
+8042D878 .byt:0004
+8042D878 beating_no_dd
+8042D87C .byt:1710
+8042D87C item_draw_table
+8042EF8C .byt:0108
+8042EF8C silver_rupee_vars
+8042F094 .byt:0022
+8042F094 key_counts
+8042F0B8 .byt:2140
+8042F0B8 item_table
+804311F8 .byt:0200
+804311F8 FILENAME_ENCODING_WIDE
+804313F8 .byt:0100
+804313F8 FILENAME_ENCODING
+804314F8 .byt:00FC
+804314F8 childSkeleton
+804315F4 .byt:00FC
+804315F4 adultSkeleton
+804316F0 .byt:00BC
+804316F0 bgm_sequence_ids
+804317AC .byt:0004
+804317AC RNG_SEED_INT
+804317B0 .byt:0040
+804317B0 num_to_bits
+804317F0 .byt:0004
+804317F0 Sram_InitNewSave
+804317F4 .byt:01F0
+804317F4 texture_table
+804319E4 .byt:0004
+804319E4 EXTRA_BOWLING_SHUFFLE
+804319E8 .byt:0004
+804319E8 CHEST_SIZE_TEXTURE
+804319EC .byt:0004
+804319EC CHEST_SIZE_MATCH_CONTENTS
+804319F0 .byt:0004
+804319F0 CHEST_TEXTURE_MATCH_CONTENTS
+804319F4 .byt:0018
+804319F4 input_local_copy
+80431A0C .byt:0001
+80431A0C show_textbox_id
+80431A0D .byt:0001
+80431A0D show_clock
+80431A78 .byt:0001
+80431A78 boss_display
+80431A79 .byt:0001
+80431A79 world_display
+80431A7A .byt:0001
+80431A7A bk_display
+80431AB8 .byt:0006
+80431AB8 buffer_password
+80431ABE .byt:0002
+80431ABE cooldown
+80431AC0 .byt:0002
+80431AC0 tentatives
+80431AC2 .byt:0001
+80431AC2 NO_ESCAPE_SEQUENCE
+80431AC8 .byt:0100
+80431AC8 room_flags
+80431BC8 .byt:0010
+80431BC8 collectible_override
+80431BD8 .byt:0004
+80431BD8 collectible_mutex
+80431BE0 .byt:0080
+80431BE0 outgoing_queue
+80431C60 .byt:0004
+80431C60 collectible_override_flags
+80431C64 .byt:0002
+80431C64 num_override_flags
+80431C68 .byt:0C80
+80431C68 alt_overrides
+804328E8 .byt:0BB8
+804328E8 xflag_room_blob
+804334A0 .byt:02BC
+804334A0 xflag_room_table
+8043375C .byt:00CA
+8043375C xflag_scene_table
+80433826 .byt:0001
+80433826 satisfied_pending_frames
+80433828 .byt:0002
+80433828 incoming_junk
+8043382C .byt:0004
+8043382C active_item_fast_chest
+80433830 .byt:0004
+80433830 active_item_graphic_id
+80433834 .byt:0004
+80433834 active_item_object_id
+80433838 .byt:0004
+80433838 active_item_text_id
+8043383C .byt:0004
+8043383C active_item_action_id
+80433840 .byt:0004
+80433840 active_item_row
+80433844 .byt:0004
+80433844 active_override_is_outgoing
+80433848 .byt:0010
+80433848 active_override
+80433858 .byt:0004
+80433858 spawn_actor_with_flag
+8043385C .byt:0008
+8043385C drop_collectible_override_flag
+80433864 .byt:0004
+80433864 dummy_actor
+80433868 .byt:0004
+80433868 item_overrides_count
+80433870 .byt:8980
+80433870 cfg_item_overrides
+8043C1F0 .byt:0001
+8043C1F0 randoGfxPoolIndex
+8043C1F8 .byt:10000
+8043C1F8 randoGfxPools
+8044C200 .byt:0010
+8044C200 rando_overlay_db
+8044C210 .byt:0001
+8044C210 COMPLETE_MASK_QUEST
+8044C211 .byt:0001
+8044C211 OPEN_KAKARIKO
+8044C212 .byt:0001
+8044C212 MAX_RUPEES
+8044C214 .byt:0001
+8044C214 treasure_chest_game_show_message
+8044C215 .byt:0001
+8044C215 shooting_gallery_show_message
+8044C216 .byt:0002
+8044C216 current_textbox_id
+8044C21C .byt:0001
+8044C21C missing_dlist
+8044C21D .byt:0001
+8044C21D child_safe
+8044C21E .byt:0001
+8044C21E adult_safe
+8044C220 .byt:0002
+8044C220 illegal_model
+8044C224 .byt:0004
+8044C224 curr_drawn_actor
+8044C228 .byt:00C0
+8044C228 object_slots
+8044C2F8 .byt:0004
+8044C2F8 RANDOMIZER_RNG_SEED
+8044C2FC .byt:0002
+8044C2FC GANON_BOSS_KEY_CONDITION_COUNT
+8044C2FE .byt:0001
+8044C2FE GANON_BOSS_KEY_CONDITION
+8044C300 .byt:0058
+8044C300 extended_savectx
+8044C358 .byt:0001
+8044C358 curr_scene_setup
+8044C364 .byt:0004
+8044C364 heap_next
+8044C368 .byt:0001
+8044C368 KAKARIKO_WEATHER_FORECAST
+8044C570 AUDIO_THREAD_MEM_START
80450970 .byt:0014
80450A60 .byt:0014
804518DE .wrd:0002
8045260E .wrd:0002
-80498DA0 PAYLOAD_END
+80495E00 PAYLOAD_END
80600000 DEBUG_BUFFER
80601000 C_HEAP
8082A09C .byt:0001
diff --git a/ASM/build/bundle.o b/ASM/build/bundle.o
index 3319023f96..8159bcc475 100644
Binary files a/ASM/build/bundle.o and b/ASM/build/bundle.o differ
diff --git a/ASM/build/c_symbols.txt b/ASM/build/c_symbols.txt
index 705e8d0ee4..32f4be2934 100644
--- a/ASM/build/c_symbols.txt
+++ b/ASM/build/c_symbols.txt
@@ -3,148 +3,147 @@ build/bundle.o: file format elf32-bigmips
SYMBOL TABLE:
00000000 l d .text 00000000 .text
-00023660 l d .rodata 00000000 .rodata
-00026e00 l d .data 00000000 .data
-00047e40 l d .reginfo 00000000 .reginfo
-00047e58 l d .pdr 00000000 .pdr
-00047e58 l d .gnu.attributes 00000000 .gnu.attributes
-00047e58 l d .mdebug.abi32 00000000 .mdebug.abi32
+0001f6c8 l d .rodata 00000000 .rodata
+00022d30 l d .data 00000000 .data
+00043c4c l d .reginfo 00000000 .reginfo
+00043c4c l d .pdr 00000000 .pdr
+00043c49 l d .gnu.attributes 00000000 .gnu.attributes
+00043c49 l d .mdebug.abi32 00000000 .mdebug.abi32
00000000 l d .comment 00000000 .comment
00000000 l df *ABS* 00000000 actor.c
00000000 l df *ABS* 00000000 agony.c
-00026e00 l O .data 00000004 alpha_frame
-00023660 l O .rodata 00000028 ALPHA_DATA
+00022d30 l O .data 00000004 alpha_frame
+0001f6c8 l O .rodata 00000028 ALPHA_DATA
00000000 l df *ABS* 00000000 blue_warp.c
-00023690 l .rodata 00000000 $LC0
-00023694 l .rodata 00000000 $LC1
+0001f6f0 l .rodata 00000000 $LC0
+0001f6f4 l .rodata 00000000 $LC1
00000000 l df *ABS* 00000000 bombchu_bowling.c
00000000 l df *ABS* 00000000 chests.c
800ab900 l *ABS* 00000000 write_matrix_stack_top
-000236c0 l .rodata 00000000 $LC0
-000236c4 l .rodata 00000000 $LC1
-000236c8 l .rodata 00000000 $LC2
-000236cc l .rodata 00000000 $LC3
-000236d0 l .rodata 00000000 $LC4
+0001f70c l .rodata 00000000 $LC0
+0001f710 l .rodata 00000000 $LC1
+0001f714 l .rodata 00000000 $LC2
+0001f718 l .rodata 00000000 $LC3
+0001f71c l .rodata 00000000 $LC4
00000000 l df *ABS* 00000000 debug.c
-0002d488 l O .data 0000000a debugNumberIsInUsage
-0002d460 l O .data 00000028 debugNumbers
-0002d438 l O .data 00000028 debugNumbersFloat
-0002d42a l O .data 00000001 show_warp_menu
-0002d42c l O .data 0000000c current_menu_indexes
-000237b0 l .rodata 00000000 $LC1
-000237c0 l .rodata 00000000 $LC2
-000237c8 l .rodata 00000000 $LC3
-000237d0 l .rodata 00000000 $LC4
-000237d8 l .rodata 00000000 $LC5
-000236d4 l .rodata 00000000 $LC6
-000236d8 l .rodata 00000000 $LC7
-000236f0 l .rodata 00000000 $LC9
-000236ec l .rodata 00000000 $LC8
-000237e0 l .rodata 00000000 $LC10
-000237e8 l .rodata 00000000 $LC11
-000237b4 l .rodata 00000000 $LC12
-000236f4 l .rodata 00000000 $LC13
-000237b8 l .rodata 00000000 $LC14
+0002934c l O .data 0000000a debugNumberIsInUsage
+00029324 l O .data 00000028 debugNumbers
+000292fc l O .data 00000028 debugNumbersFloat
+000292ee l O .data 00000001 show_warp_menu
+000292f0 l O .data 0000000c current_menu_indexes
+0001f7cc l .rodata 00000000 $LC1
+0001f7d8 l .rodata 00000000 $LC2
+0001f7e0 l .rodata 00000000 $LC3
+0001f7e8 l .rodata 00000000 $LC4
+0001f7f0 l .rodata 00000000 $LC5
+0001f720 l .rodata 00000000 $LC6
+0001f724 l .rodata 00000000 $LC7
+0001f73c l .rodata 00000000 $LC9
+0001f738 l .rodata 00000000 $LC8
+0001f7f8 l .rodata 00000000 $LC10
+0001f800 l .rodata 00000000 $LC11
+0001f7d0 l .rodata 00000000 $LC12
+0001f740 l .rodata 00000000 $LC13
+0001f7d4 l .rodata 00000000 $LC14
00000000 l df *ABS* 00000000 demo_effect.c
-000237f0 l .rodata 00000000 $LC0
-000237f4 l .rodata 00000000 $LC1
+0001f808 l .rodata 00000000 $LC0
+0001f80c l .rodata 00000000 $LC1
00000000 l df *ABS* 00000000 door_of_time.c
00000000 l df *ABS* 00000000 dpad.c
00000000 l df *ABS* 00000000 dungeon_info.c
-0002d4a4 l O .data 00000004 show_dungeon_info
-000237f8 l .rodata 00000000 $LC0
-00023804 l .rodata 00000000 $LC1
-0002380c l .rodata 00000000 $LC2
-00023814 l .rodata 00000000 $LC3
-00023820 l .rodata 00000000 $LC5
-0002381c l .rodata 00000000 $LC4
+0002935c l O .data 00000004 show_dungeon_info
+0001f810 l .rodata 00000000 $LC0
+0001f81c l .rodata 00000000 $LC1
+0001f824 l .rodata 00000000 $LC2
+0001f82c l .rodata 00000000 $LC3
+0001f834 l .rodata 00000000 $LC4
+0001f838 l .rodata 00000000 $LC5
00000000 l df *ABS* 00000000 en_box.c
00000000 l df *ABS* 00000000 en_item00.c
-00023828 l .rodata 00000000 $LC0
-00023830 l .rodata 00000000 $LC1
-00023838 l .rodata 00000000 $LC2
-0002383c l .rodata 00000000 $LC3
-00023840 l .rodata 00000000 $LC4
-00023844 l .rodata 00000000 $LC5
-00023848 l .rodata 00000000 $LC6
-0002384c l .rodata 00000000 $LC7
-00023850 l .rodata 00000000 $LC8
-00023854 l .rodata 00000000 $LC9
+0001f840 l .rodata 00000000 $LC0
+0001f848 l .rodata 00000000 $LC1
+0001f850 l .rodata 00000000 $LC2
+0001f854 l .rodata 00000000 $LC3
+0001f858 l .rodata 00000000 $LC4
+0001f85c l .rodata 00000000 $LC5
+0001f860 l .rodata 00000000 $LC6
+0001f864 l .rodata 00000000 $LC7
+0001f868 l .rodata 00000000 $LC8
+0001f86c l .rodata 00000000 $LC9
00000000 l df *ABS* 00000000 en_okarina_tag.c
00000000 l df *ABS* 00000000 en_wonderitem.c
-00028f14 l O .data 00000004 sEffectPrimColorBlue
-00028f0c l O .data 00000004 sEffectPrimColorCyan
-00028f08 l O .data 00000004 sEffectEnvColor
-00028ef0 l O .data 0000000c sEffectAccel
-00028efc l O .data 0000000c sEffectVelocity
-00023860 l O .rodata 00000018 dropTable.0
-00028f18 l O .data 00000004 sEffectPrimColorRed
-00028f10 l O .data 00000004 sEffectPrimColorYellow
+00024e24 l O .data 00000004 sEffectPrimColorBlue
+00024e1c l O .data 00000004 sEffectPrimColorCyan
+00024e18 l O .data 00000004 sEffectEnvColor
+00024e00 l O .data 0000000c sEffectAccel
+00024e0c l O .data 0000000c sEffectVelocity
+0001f870 l O .rodata 00000018 dropTable.0
+00024e20 l O .data 00000004 sEffectPrimColorYellow
+00024e28 l O .data 00000004 sEffectPrimColorRed
00000000 l df *ABS* 00000000 extern_ctxt.c
-000238d0 l .rodata 00000000 $LC0
-000238d4 l .rodata 00000000 $LC1
+0001f8cc l .rodata 00000000 $LC0
+0001f8d0 l .rodata 00000000 $LC1
00000000 l df *ABS* 00000000 file_icons.c
-0000b9e0 l F .text 00000048 color_product
-0000ba28 l F .text 000000b4 make_digits
-0000badc l F .text 00000098 draw_square_sprite
-00028f60 l O .data 00000100 fixed_tile_positions
-00028f40 l O .data 0000001e counter_positions
-0002d4b4 l O .data 00000030 draw_data
-000238e0 l O .rodata 00000010 MASK_LOOKUP
-0002d4e4 l O .data 00000004 hasTriforceGoalBeenReached
-00023948 l O .rodata 00000015 variable_tile_positions
-0002390c l O .rodata 0000003c song_note_data
-000238f0 l O .rodata 00000019 button_note_data
-0002d4b0 l O .data 00000001 frame_counter.0
-000238d8 l .rodata 00000000 $LC0
+0000ae34 l F .text 00000024 color_product
+0000ae58 l F .text 000000dc make_digits
+0000af34 l F .text 00000070 draw_square_sprite
+00024e68 l O .data 00000100 fixed_tile_positions
+00024e48 l O .data 0000001e counter_positions
+00029364 l O .data 00000030 draw_data
+0001f8d8 l O .rodata 00000010 MASK_LOOKUP
+00029394 l O .data 00000004 hasTriforceGoalBeenReached
+0001f940 l O .rodata 00000015 variable_tile_positions
+0001f904 l O .rodata 0000003c song_note_data
+0001f8e8 l O .rodata 00000019 button_note_data
+00029360 l O .data 00000001 frame_counter.0
+0001f8d4 l .rodata 00000000 $LC0
00000000 l df *ABS* 00000000 file_message.c
-0000cfe0 l F .text 00000084 print_msg
-00023970 l .rodata 00000000 $LC0
-0002397c l .rodata 00000000 $LC1
-00023984 l .rodata 00000000 $LC2
-00023988 l .rodata 00000000 $LC3
-0002399c l .rodata 00000000 $LC4
-000239b0 l .rodata 00000000 $LC5
+0000c388 l F .text 0000005c print_msg
+0001f964 l .rodata 00000000 $LC0
+0001f968 l .rodata 00000000 $LC1
+0001f97c l .rodata 00000000 $LC2
+0001f990 l .rodata 00000000 $LC3
+0001f99c l .rodata 00000000 $LC4
+0001f9a4 l .rodata 00000000 $LC5
00000000 l df *ABS* 00000000 file_select.c
-000239f0 l .rodata 00000000 $LC1
-000239bc l .rodata 00000000 $LC2
-000239cc l .rodata 00000000 $LC3
+0001f9d8 l .rodata 00000000 $LC1
+0001f9b0 l .rodata 00000000 $LC2
+0001f9c0 l .rodata 00000000 $LC3
00000000 l df *ABS* 00000000 ganon.c
00000000 l df *ABS* 00000000 get_items.c
-00023a10 l .rodata 00000000 $LC0
-00023a14 l .rodata 00000000 $LC1
-00023a18 l .rodata 00000000 $LC2
-00023a1c l .rodata 00000000 $LC3
-00023a20 l .rodata 00000000 $LC4
+0001f9e4 l .rodata 00000000 $LC0
+0001f9e8 l .rodata 00000000 $LC1
+0001f9ec l .rodata 00000000 $LC2
+0001f9f0 l .rodata 00000000 $LC3
+0001f9f4 l .rodata 00000000 $LC4
00000000 l df *ABS* 00000000 gfx.c
-00023a24 l .rodata 00000000 $LC0
-00023a50 l .rodata 00000000 $LC1
+0001f9f8 l .rodata 00000000 $LC0
+0001fa24 l .rodata 00000000 $LC1
00000000 l df *ABS* 00000000 hud_colors.c
00000000 l df *ABS* 00000000 icetrap.c
00000000 l df *ABS* 00000000 inputviewer.c
-00023ab0 l .rodata 00000000 $LC1
+0001fa70 l .rodata 00000000 $LC1
00000000 l df *ABS* 00000000 item_draw_functions.c
-00023b00 l O .rodata 00000030 kInitListMedallion
-00023ac0 l O .rodata 00000040 kMatrixRot.0
-00023b30 l .rodata 00000000 $LC0
-00023b34 l .rodata 00000000 $LC1
-00023b38 l .rodata 00000000 $LC2
-00023b3c l .rodata 00000000 $LC3
-00023b40 l .rodata 00000000 $LC4
-00023b44 l .rodata 00000000 $LC5
-00023b48 l .rodata 00000000 $LC6
-00023b4c l .rodata 00000000 $LC7
-00023b50 l .rodata 00000000 $LC8
-00023b78 l .rodata 00000000 $LC9
-00023b54 l .rodata 00000000 $LC10
-00023b58 l .rodata 00000000 $LC11
-00023b5c l .rodata 00000000 $LC12
-00023b60 l .rodata 00000000 $LC13
-00023b64 l .rodata 00000000 $LC14
-00023b68 l .rodata 00000000 $LC15
-00023b6c l .rodata 00000000 $LC16
-00023b70 l .rodata 00000000 $LC17
-00023b74 l .rodata 00000000 $LC18
+0001fab8 l O .rodata 00000030 kInitListMedallion
+0001fa78 l O .rodata 00000040 kMatrixRot.0
+0001fae8 l .rodata 00000000 $LC0
+0001faec l .rodata 00000000 $LC1
+0001faf0 l .rodata 00000000 $LC2
+0001faf4 l .rodata 00000000 $LC3
+0001faf8 l .rodata 00000000 $LC4
+0001fafc l .rodata 00000000 $LC5
+0001fb00 l .rodata 00000000 $LC6
+0001fb04 l .rodata 00000000 $LC7
+0001fb08 l .rodata 00000000 $LC8
+0001fb30 l .rodata 00000000 $LC9
+0001fb0c l .rodata 00000000 $LC10
+0001fb10 l .rodata 00000000 $LC11
+0001fb14 l .rodata 00000000 $LC12
+0001fb18 l .rodata 00000000 $LC13
+0001fb1c l .rodata 00000000 $LC14
+0001fb20 l .rodata 00000000 $LC15
+0001fb24 l .rodata 00000000 $LC17
+0001fb28 l .rodata 00000000 $LC18
00000000 l df *ABS* 00000000 item_draw_table.c
00000000 l df *ABS* 00000000 item_effects.c
00000000 l df *ABS* 00000000 item_table.c
@@ -153,844 +152,854 @@ SYMBOL TABLE:
00000000 l df *ABS* 00000000 main.c
00000000 l df *ABS* 00000000 menu.c
00000000 l df *ABS* 00000000 message.c
-00023ba0 l .rodata 00000000 $LC0
-00023bb0 l .rodata 00000000 $LC1
+0001fb4c l .rodata 00000000 $LC0
+0001fb5c l .rodata 00000000 $LC1
00000000 l df *ABS* 00000000 misc_colors.c
-00047c80 l O .data 00000004 frames
-00023c30 l .rodata 00000000 $LC0
-00023c34 l .rodata 00000000 $LC1
-00023c38 l .rodata 00000000 $LC2
-00023c3c l .rodata 00000000 $LC3
-00023c40 l .rodata 00000000 $LC4
-00023c44 l .rodata 00000000 $LC5
+00043af8 l O .data 00000004 frames
+0001fbc8 l .rodata 00000000 $LC0
+0001fbcc l .rodata 00000000 $LC1
+0001fbd0 l .rodata 00000000 $LC2
+0001fbd4 l .rodata 00000000 $LC3
+0001fbd8 l .rodata 00000000 $LC4
+0001fbdc l .rodata 00000000 $LC5
00000000 l df *ABS* 00000000 model_text.c
-00023cc0 l .rodata 00000000 $LC2
+0001fc44 l .rodata 00000000 $LC2
00000000 l df *ABS* 00000000 models.c
-00023d14 l .rodata 00000000 $LC5
-00023d10 l .rodata 00000000 $LC4
-00023d18 l .rodata 00000000 $LC6
-00023d1c l .rodata 00000000 $LC7
-00023d20 l .rodata 00000000 $LC8
-00023d24 l .rodata 00000000 $LC9
-00023d28 l .rodata 00000000 $LC10
+0001fc94 l .rodata 00000000 $LC5
+0001fc90 l .rodata 00000000 $LC4
+0001fc98 l .rodata 00000000 $LC6
+0001fc9c l .rodata 00000000 $LC7
+0001fca0 l .rodata 00000000 $LC8
+0001fca4 l .rodata 00000000 $LC9
+0001fca8 l .rodata 00000000 $LC10
00000000 l df *ABS* 00000000 music.c
-00047d7d l O .data 00000001 isSlowedDown
-00047d7e l O .data 00000002 previousSeqIndexChange
-00047d7c l O .data 00000001 isSpeedup
-00047d70 l O .data 00000002 previousSeqIndexName
-00047d74 l O .data 00000004 display_song_name_flag
-00047d78 l O .data 00000004 frames
-00023d2c l .rodata 00000000 $LC0
-00023d30 l .rodata 00000000 $LC1
-00023d34 l .rodata 00000000 $LC2
+00043bd5 l O .data 00000001 isSlowedDown
+00043bd6 l O .data 00000002 previousSeqIndexChange
+00043bd4 l O .data 00000001 isSpeedup
+00043bc8 l O .data 00000002 previousSeqIndexName
+00043bcc l O .data 00000004 display_song_name_flag
+00043bd0 l O .data 00000004 frames
+0001fcac l .rodata 00000000 $LC0
+0001fcb0 l .rodata 00000000 $LC1
+0001fcb4 l .rodata 00000000 $LC2
00000000 l df *ABS* 00000000 obj_comb.c
-00023d38 l .rodata 00000000 $LC0
-00023d3c l .rodata 00000000 $LC1
+0001fcb8 l .rodata 00000000 $LC0
+0001fcbc l .rodata 00000000 $LC1
00000000 l df *ABS* 00000000 obj_kibako.c
00000000 l df *ABS* 00000000 obj_kibako2.c
00000000 l df *ABS* 00000000 obj_mure3.c
00000000 l df *ABS* 00000000 object.c
00000000 l df *ABS* 00000000 objects.c
-00023de4 l .rodata 00000000 $LC1
-00023de0 l .rodata 00000000 $LC0
+0001fd54 l .rodata 00000000 $LC1
+0001fd50 l .rodata 00000000 $LC0
00000000 l df *ABS* 00000000 ocarina_buttons.c
00000000 l df *ABS* 00000000 ovl_bg_haka_tubo.c
00000000 l df *ABS* 00000000 ovl_bg_spot18_basket.c
00000000 l df *ABS* 00000000 pots.c
00000000 l df *ABS* 00000000 rainbow.c
-00023e40 l O .rodata 00000015 cycle_colors
-00023e60 l .rodata 00000000 $LC0
-00023e68 l .rodata 00000000 $LC1
-00023e6c l .rodata 00000000 $LC2
+0001fda0 l O .rodata 00000015 cycle_colors
+0001fdb8 l .rodata 00000000 $LC0
+0001fdc0 l .rodata 00000000 $LC1
+0001fdc4 l .rodata 00000000 $LC2
00000000 l df *ABS* 00000000 refill.c
00000000 l df *ABS* 00000000 rng.c
-00023e70 l .rodata 00000000 $LC0
-00023e74 l .rodata 00000000 $LC1
+0001fdc8 l .rodata 00000000 $LC0
+0001fdcc l .rodata 00000000 $LC1
00000000 l df *ABS* 00000000 sage_gifts.c
00000000 l df *ABS* 00000000 save.c
00000000 l df *ABS* 00000000 scarecrow.c
00000000 l df *ABS* 00000000 scene.c
00000000 l df *ABS* 00000000 text.c
-00023ea0 l .rodata 00000000 $LC0
+0001fde8 l .rodata 00000000 $LC0
00000000 l df *ABS* 00000000 textures.c
00000000 l df *ABS* 00000000 trade_quests.c
-00023ec0 l O .rodata 00000008 sMaskPaymentPrice
+0001fdf8 l O .rodata 00000008 sMaskPaymentPrice
00000000 l df *ABS* 00000000 triforce.c
-00047e10 l O .data 00000004 render_triforce_flag
-00047e14 l O .data 00000004 frames
+00043c3c l O .data 00000004 render_triforce_flag
+00043c40 l O .data 00000004 frames
00000000 l df *ABS* 00000000 twinrova.c
00000000 l df *ABS* 00000000 uninvertYaxis.c
00000000 l df *ABS* 00000000 util.c
00000000 l df *ABS* 00000000 weather.c
-000142c0 g F .text 00000140 draw_gi_deku_nut
-0002d1a0 g O .data 00000004 RNG_SEED_INT
-0001d42c g F .text 0000007c scale_factor
-00010b58 g F .text 00000370 sprite_texture
-00022108 g F .text 00000058 SaveFile_SetMaskAsPaid
-000183e4 g F .text 0000003c give_defense
+00012590 g F .text 00000114 draw_gi_deku_nut
+0002908c g O .data 00000004 RNG_SEED_INT
+0001a3d8 g F .text 00000054 scale_factor
+0000f788 g F .text 00000348 sprite_texture
+0001e48c g F .text 0000003c SaveFile_SetMaskAsPaid
+00015e08 g F .text 0000001c give_defense
00000000 *UND* 00000000 CFG_DUNGEON_REWARD_WORLDS
-00018c54 g F .text 00000050 call_effect_function
-0001f790 g F .text 00000138 BgSpot18Basket_BombDropHook
+000163bc g F .text 0000002c call_effect_function
+0001c240 g F .text 0000010c BgSpot18Basket_BombDropHook
800f8ff8 g *ABS* 00000000 gObjectTable
-0000bb74 g F .text 00000578 read_file_data
-000005d0 g F .text 00000138 spawn_override_silver_rupee
-0000b168 g F .text 000000e8 EnWonderItem_Multitag_DrawHack
+0000afa4 g F .text 00000550 read_file_data
+000004a8 g F .text 00000108 spawn_override_silver_rupee
+0000a6f4 g F .text 000000a4 EnWonderItem_Multitag_DrawHack
00000000 *UND* 00000000 PLAYER_ID
-000185f4 g F .text 00000138 open_gate_and_mask_shop
-000185b8 g F .text 0000003c clear_excess_hearts
-0001f410 g F .text 00000098 object_index_or_spawn
-00011bc4 g F .text 000000cc give_ice_trap
+00015f04 g F .text 00000114 open_gate_and_mask_shop
+00015ee8 g F .text 0000001c clear_excess_hearts
+0001bf70 g F .text 00000078 object_index_or_spawn
+00010644 g F .text 00000088 give_ice_trap
00000000 *UND* 00000000 SHUFFLE_OCARINA_BUTTONS
80020694 g *ABS* 00000000 Flags_GetTempClear
00000000 *UND* 00000000 DemoEffect_DrawJewel
-00020878 g F .text 00000244 Sram_WriteSave
-00020810 g F .text 00000068 SsSram_ReadWrite_Safe
-0001bf60 g F .text 000002a8 update_bombchu_trail_colors
-00001d9c g F .text 0000005c draw_debug_float
-00021ccc g F .text 00000050 GetTradeSlot
-000283f8 g O .data 0000016c fire_rooms
-0001ab24 g F .text 00000120 Message_AddInteger
+0001d034 g F .text 00000224 Sram_WriteSave
+0001d004 g F .text 00000030 SsSram_ReadWrite_Safe
+000191bc g F .text 00000274 update_bombchu_trail_colors
+000017fc g F .text 00000038 draw_debug_float
+0001e18c g F .text 0000003c GetTradeSlot
+0002431c g O .data 0000016c fire_rooms
+00017fa4 g F .text 000000f0 Message_AddInteger
00000000 *UND* 00000000 EXTENDED_INITIAL_SAVE_DATA
-0000e14c g F .text 000000b4 item_overrides_init
+0000d38c g F .text 0000008c item_overrides_init
00000000 *UND* 00000000 MW_SEND_OWN_ITEMS
-0001f220 g F .text 000001e8 Object_LoadExtra
+0001bdac g F .text 000001c4 Object_LoadExtra
00000000 *UND* 00000000 en_item00_update
-0001fde0 g F .text 00000034 draw_pot_hack
-00019050 g F .text 00000084 scale_upgrade
-00037c40 g O .data 00000001 randoGfxPoolIndex
-000231c0 g F .text 00000030 clear_twinrova_vars
-000172c0 g F .text 00000230 draw_gi_flame
+0001c7d4 g F .text 0000001c draw_pot_hack
+00016698 g F .text 0000005c scale_upgrade
+00033ad0 g O .data 00000001 randoGfxPoolIndex
+0001f2f8 g F .text 00000014 clear_twinrova_vars
+00015058 g F .text 00000204 draw_gi_flame
00000000 *UND* 00000000 CHEST_HEART_TEXTURE
-00029218 g O .data 00000004 a_note_glow_max
-00021b04 g F .text 00000054 draw_int
+00025120 g O .data 00000004 a_note_glow_max
+0001e084 g F .text 00000030 draw_int
8002071c g *ABS* 00000000 Flags_SetCollectible
00000000 *UND* 00000000 WEB_ID_STRING_TXT
-0001b02c g F .text 0000010c Message_AddFileNameWide
-0002245c g F .text 00000060 TurnInTradeItem
+000183d8 g F .text 000000ec Message_AddFileNameWide
+0001e758 g F .text 00000044 TurnInTradeItem
80020624 g *ABS* 00000000 Flags_SetTreasure
-00021590 g F .text 000000f4 save_scarecrow_song
-00016f8c g F .text 00000334 draw_gi_stones
+0001dc24 g F .text 000000c0 save_scarecrow_song
+00014d6c g F .text 000002ec draw_gi_stones
00000000 *UND* 00000000 CFG_INPUT_VIEWER
-00001120 g F .text 0000001c DoorWarp1_ZoraSapphire_Overwrite
-00006b00 g F .text 00000090 d_right_dungeon_idx
-0002d408 g O .data 00000004 CHEST_TEXTURE_MATCH_CONTENTS
-000130f4 g F .text 000000c0 draw_gi_various_opa0
+00000dcc g F .text 00000008 DoorWarp1_ZoraSapphire_Overwrite
+000062e0 g F .text 00000068 d_right_dungeon_idx
+000292d0 g O .data 00000004 CHEST_TEXTURE_MATCH_CONTENTS
+00011624 g F .text 0000009c draw_gi_various_opa0
00000000 *UND* 00000000 CFG_DPAD_ON_THE_LEFT
00000000 *UND* 00000000 CFG_HEART_COLOR
80020658 g *ABS* 00000000 Flags_SetClear
-0000b0d0 g F .text 00000098 EnWonderitem_AfterInitHack
-00023aa6 g O .rodata 00000002 left_alignment
+0000a684 g F .text 00000070 EnWonderitem_AfterInitHack
+0001fa6a g O .rodata 00000002 left_alignment
00000000 *UND* 00000000 CFG_CHILD_TRADE_SHUFFLE
-00013b98 g F .text 0000015c draw_gi_magic_arrows
-00000038 g F .text 00000024 Actor_GetAdditionalData
+00011f5c g F .text 0000012c draw_gi_magic_arrows
+00000018 g F .text 00000008 Actor_GetAdditionalData
00000000 *UND* 00000000 CFG_DUNGEON_BOSS_INFO
-000224bc g F .text 00000034 IsClaimCheckTraded
+0001e79c g F .text 0000001c IsClaimCheckTraded
00000000 *UND* 00000000 EnItem00_Draw
-0001e728 g F .text 000001b0 display_song_name_on_file_select
+0001b414 g F .text 00000160 display_song_name_on_file_select
00000000 *UND* 00000000 CFG_RAINBOW_NAVI_ENEMY_INNER_ENABLED
-00011af0 g F .text 0000006c rupee_hud_color
+000105cc g F .text 0000004c rupee_hud_color
00000000 *UND* 00000000 CFG_SONG_NAMES
-0000e010 g F .text 000000f0 Collectible_WaitForMessageBox
+0000d28c g F .text 000000d4 Collectible_WaitForMessageBox
00000000 *UND* 00000000 CFG_RAINBOW_NAVI_IDLE_OUTER_ENABLED
-00013610 g F .text 000000c0 draw_gi_various_xlu0
-00018cd8 g F .text 00000088 hookshot_upgrade
-0001bcb0 g F .text 000000c4 update_sword_trail_colors
-00021eac g F .text 00000050 SaveFile_TradeItemIsOwned
-0000e4dc g F .text 00000080 lookup_override
-00021b94 g F .text 00000070 init_textures
-00023cac g O .rodata 00000004 text_height
-00024930 g .rodata 00000000 DPAD_RESOURCE_END
+00011a8c g F .text 0000009c draw_gi_various_xlu0
+000163f8 g F .text 00000064 hookshot_upgrade
+00018f74 g F .text 000000a4 update_sword_trail_colors
+0001e2bc g F .text 00000038 SaveFile_TradeItemIsOwned
+0000d660 g F .text 0000005c lookup_override
+0001e0cc g F .text 00000054 init_textures
+0001fc3c g O .rodata 00000004 text_height
+00020868 g .rodata 00000000 DPAD_RESOURCE_END
00000000 *UND* 00000000 CFG_CORRECT_MODEL_COLORS
-00019158 g F .text 00000084 stick_upgrade
-000237ad g O .rodata 00000001 debug_text_width
-000217a0 g F .text 00000070 print_char
-0002cfdc g O .data 000000fc adultSkeleton
-00028bcc g O .data 00000018 medals
-00023aab g O .rodata 00000001 input_icon_width
+00016750 g F .text 0000005c stick_upgrade
+0001f7c9 g O .rodata 00000001 debug_text_width
+0001ddac g F .text 00000048 print_char
+00028ed4 g O .data 000000fc adultSkeleton
+00024ae4 g O .data 00000018 medals
+0001fa6f g O .rodata 00000001 input_icon_width
00000000 *UND* 00000000 INCOMING_PLAYER
-00029250 g O .data 00000004 beating_no_dd
-0000d488 g F .text 00000064 reset_buffer
-00029200 g O .data 00000004 c_note_font_glow_max
+00025158 g O .data 00000004 beating_no_dd
+0000c79c g F .text 0000004c reset_buffer
+00025108 g O .data 00000004 c_note_font_glow_max
00000000 *UND* 00000000 TRIFORCE_PIECES_REQUIRED
-0000b740 g F .text 000002a0 process_extern_ctxt
+0000aba4 g F .text 00000290 process_extern_ctxt
00000800 g *ABS* 00000000 DPAD_RESOURCE_SIZE
-0002a970 g O .data 00000108 silver_rupee_vars
-00002494 g F .text 000021dc draw_debug_menu
-0000ad5c g F .text 00000094 EnItem00_ProximityCheck_Hack
-0000fe2c g F .text 0000009c drop_bombs_or_chus
-00014d6c g F .text 000001b4 draw_gi_gs_token
-00015ca4 g F .text 00000328 draw_gi_boss_keys
+0002686c g O .data 00000108 silver_rupee_vars
+00001dac g F .text 000021a8 draw_debug_menu
+0000a3c4 g F .text 00000088 EnItem00_ProximityCheck_Hack
+0000eba0 g F .text 00000084 drop_bombs_or_chus
+00012ef8 g F .text 0000018c draw_gi_gs_token
+00013cd4 g F .text 000002d4 draw_gi_boss_keys
+00017d88 g F .text 0000001c Message_GetWideTextLineSpacing
80020588 g *ABS* 00000000 Flags_SetUnknown
-0000ab60 g F .text 00000060 EnBox_GetNewGetItemId
-00028808 g O .data 00000138 deku_rooms
-0001cbc0 g F .text 0000009c FindSize
-00023eb0 g O .rodata 00000004 NUM_FONT_CHARS
-0002f28c g O .data 00000004 active_override_is_outgoing
-0001845c g F .text 00000044 give_double_magic
-00029244 g O .data 00000004 normal_dd
-0001270c g F .text 000000e8 draw_r
-00011740 g F .text 000003b0 update_hud_colors
-000136d0 g F .text 000000e8 draw_gi_various_xlu01
-0002cbe0 g O .data 00000200 FILENAME_ENCODING_WIDE
+0000a250 g F .text 0000003c EnBox_GetNewGetItemId
+0002472c g O .data 00000138 deku_rooms
+00019d34 g F .text 00000074 FindSize
+0001fdec g O .rodata 00000004 NUM_FONT_CHARS
+0002b124 g O .data 00000004 active_override_is_outgoing
+00015e40 g F .text 00000024 give_double_magic
+0002514c g O .data 00000004 normal_dd
+00010e6c g F .text 000000a4 draw_r
+00010230 g F .text 0000039c update_hud_colors
+00011b28 g F .text 000000c0 draw_gi_various_xlu01
+00028ad8 g O .data 00000200 FILENAME_ENCODING_WIDE
00000000 *UND* 00000000 CFG_DUNGEON_REWARDS
-00022c00 g F .text 00000054 CanBuy_RightSideMask
-00028bb0 g O .data 00000003 debug_text_color
-00047c92 g O .data 00000001 adult_safe
-00019504 g F .text 000000d8 letter_to_bottle
-00023aa4 g O .rodata 00000002 top_alignment
+0001ede8 g F .text 00000040 CanBuy_RightSideMask
+00024ad4 g O .data 00000003 debug_text_color
+00043afe g O .data 00000001 adult_safe
+00016a00 g F .text 0000007c letter_to_bottle
+0001fa68 g O .rodata 00000002 top_alignment
00000000 *UND* 00000000 CFG_B_BUTTON_COLOR
8007e868 g *ABS* 00000000 z64_Gfx_SetupDL_42Opa
-0002f26e g O .data 00000001 satisfied_pending_frames
-0000e55c g F .text 000000a4 resolve_alternative_override
+0002b106 g O .data 00000001 satisfied_pending_frames
+0000d6bc g F .text 0000006c resolve_alternative_override
00000000 *UND* 00000000 CFG_CUSTOM_MESSAGE_1
-0001661c g F .text 00000330 draw_gi_chubag
-00021c58 g F .text 00000074 GetTradeItemByAP
+00014550 g F .text 000002d8 draw_gi_chubag
+0001e140 g F .text 0000004c GetTradeItemByAP
00000000 *UND* 00000000 SOA_UNLOCKS_CHEST_TEXTURE
-0001dac0 g F .text 00000090 ocarina_of_time_draw
-0000dfa0 g F .text 00000068 check_ganon_entry
-00029190 g O .data 00000010 items_sprite
-000011ec g F .text 0000001c DoorWarp1_ShadowMedallion_Overwrite
+0001a8c4 g F .text 00000064 ocarina_of_time_draw
+0000d244 g F .text 00000048 check_ganon_entry
+00025098 g O .data 00000010 items_sprite
+00000e18 g F .text 00000008 DoorWarp1_ShadowMedallion_Overwrite
00000000 *UND* 00000000 CFG_DUNGEON_REWARD_AREAS
-0001d8f0 g F .text 000000b0 collectible_draw_other
-0001418c g F .text 00000134 draw_gi_goron_swords
-000054a4 g F .text 00001504 draw_dpad_and_menu_utilities
-00015a9c g F .text 00000208 draw_gi_shrink_keys
+0001a778 g F .text 00000084 collectible_draw_other
+00012488 g F .text 00000108 draw_gi_goron_swords
+00004d0c g F .text 000014ac draw_dpad_and_menu_utilities
+00017dc0 g F .text 0000004c Message_ApplyJpTextMetrics
+00013af8 g F .text 000001dc draw_gi_shrink_keys
00000000 *UND* 00000000 CFG_DISPLAY_DPAD
-0001a7d8 g F .text 00000058 before_skybox_init
-0000ab38 g F .text 00000024 dungeon_info_is_drawn
-0001f8c8 g F .text 00000134 BgSpot18Basket_RupeeDropHook
-00010140 g F .text 000000d4 dispatch_item
-000290b0 g O .data 00000002 loaded_room_bit_offset
-00000f0c g F .text 00000194 DoorWarp1_PlayerInRange_Overwrite
+00017b40 g F .text 0000003c before_skybox_init
+0000a244 g F .text 0000000c dungeon_info_is_drawn
+0001c34c g F .text 00000108 BgSpot18Basket_RupeeDropHook
+0000ee94 g F .text 000000ac dispatch_item
+00024fb4 g O .data 00000002 loaded_room_bit_offset
+00000c38 g F .text 0000016c DoorWarp1_PlayerInRange_Overwrite
00000000 *UND* 00000000 PASSWORD
-00047c94 g O .data 00000002 illegal_model
-0002f278 g O .data 00000004 active_item_graphic_id
-00029160 g O .data 00000010 dpad_sprite
-00029240 g O .data 00000004 a_button
+00043b00 g O .data 00000002 illegal_model
+0002b110 g O .data 00000004 active_item_graphic_id
+00025068 g O .data 00000010 dpad_sprite
+00025148 g O .data 00000004 a_button
00000000 *UND* 00000000 CFG_SHOW_SETTING_INFO
-000290a4 g O .data 00000008 hash_sprites
+00024fac g O .data 00000008 hash_sprites
00000000 *UND* 00000000 POTCRATE_GILDED_TEXTURE
-0000e770 g F .text 00000164 activate_override
+0000d82c g F .text 0000013c activate_override
8002049c g *ABS* 00000000 Flags_GetSwitch
-000010c4 g F .text 00000024 DoorWarp1_IsShadowRewardObtained
-0001a6b4 g F .text 0000006c before_game_state_update
+00000db0 g F .text 0000000c DoorWarp1_IsShadowRewardObtained
+00017a50 g F .text 0000005c before_game_state_update
800dc838 g *ABS* 00000000 Message_OpenText
-0001e8e0 g F .text 0000010c obj_comb_drop_collectible
-00004670 g F .text 000003ac draw_debug_numbers
-00013454 g F .text 000001bc draw_gi_silver_rupee_pouch
-00022c60 g F .text 0000004c set_triforce_render
-0001ecc8 g F .text 00000100 ObjKibako_SpawnCollectible_Hack
-0000d4ec g F .text 00000828 manage_password
-00029234 g O .data 00000004 a_note_r
+0001b574 g F .text 000000ec obj_comb_drop_collectible
+00003f54 g F .text 000003a0 draw_debug_numbers
+00011900 g F .text 0000018c draw_gi_silver_rupee_pouch
+0001ee28 g F .text 00000028 set_triforce_render
+0001b900 g F .text 000000e0 ObjKibako_SpawnCollectible_Hack
+0000c7e8 g F .text 00000800 manage_password
+0002513c g O .data 00000004 a_note_r
800af564 g *ABS* 00000000 Fault_AddHungupAndCrashImpl
-00018910 g F .text 000000b8 resolve_text_silver_rupee_pouches
+00016178 g F .text 0000008c resolve_text_silver_rupee_pouches
00000000 *UND* 00000000 CFG_C_NOTE_COLOR
00000000 *UND* 00000000 OUTGOING_PLAYER
00000000 *UND* 00000000 CHEST_SILVER_TEXTURE
-0002f1a4 g O .data 000000ca xflag_scene_table
-000113c4 g F .text 00000100 close_rando_display_buffer
-0000b5a0 g F .text 000000d8 EnWonderItem_Kill_Hack
-00023410 g F .text 00000250 override_weather_state
-0002cde0 g O .data 00000100 FILENAME_ENCODING
-0000ec68 g F .text 00000074 push_delayed_item
-00018f18 g F .text 0000009c slingshot_upgrade
-00021108 g F .text 000001fc Sram_CopySave
-00018a78 g F .text 00000054 resolve_text_small_keys_cmg
-00028bad g O .data 00000001 float_precision
-00029260 g O .data 00001710 item_draw_table
-000202f0 g F .text 0000004c health_and_magic_refill
+0002b03c g O .data 000000ca xflag_scene_table
+0000ff24 g F .text 000000cc close_rando_display_buffer
+0000aa70 g F .text 000000b8 EnWonderItem_Kill_Hack
+00017da4 g F .text 0000001c Message_GetWideTextInitXPos
+0001f484 g F .text 00000240 override_weather_state
+00028cd8 g O .data 00000100 FILENAME_ENCODING
+0000dc10 g F .text 0000004c push_delayed_item
+000165a8 g F .text 00000078 slingshot_upgrade
+0001d850 g F .text 000001d0 Sram_CopySave
+0001628c g F .text 00000034 resolve_text_small_keys_cmg
+00024ad1 g O .data 00000001 float_precision
+0002515c g O .data 00001710 item_draw_table
+0001cc2c g F .text 00000028 health_and_magic_refill
02000e00 g *ABS* 00000000 z64_EquippedItemOutlineTex
-00020458 g F .text 0000006c Seeded_Rand_Centered
-00011eb8 g F .text 00000120 draw_b
-000127f4 g F .text 000000f0 draw_ddown
-00018104 g F .text 00000124 set_silver_rupee_flags
-00025df8 g .rodata 00000000 FONT_RESOURCE_END
-00014f20 g F .text 000001f8 draw_gi_blue_fire_candle
-0002d4a2 g O .data 00000001 bk_display
+0001cce8 g F .text 00000048 Seeded_Rand_Centered
+00010858 g F .text 000000d4 draw_b
+00010f10 g F .text 000000a4 draw_ddown
+00015bc4 g F .text 000000f0 set_silver_rupee_flags
+00021d30 g .rodata 00000000 FONT_RESOURCE_END
+00013084 g F .text 000001d0 draw_gi_blue_fire_candle
+0002935a g O .data 00000001 bk_display
80a872d0 g *ABS* 00000000 OVL_EnOkarinaTag_Action2
-00021b60 g F .text 00000034 get_texture
-000221b4 g F .text 000000c8 SaveFile_NextOwnedTradeItem
-0002191c g F .text 000001e8 draw_int_size
-00017d00 g F .text 0000001c no_effect
-00028be4 g O .data 0000006c bosses
-0001bb34 g F .text 00000060 shooting_gallery_message
+0001e0b4 g F .text 00000018 get_texture
+0001e504 g F .text 000000ac SaveFile_NextOwnedTradeItem
+0001deb4 g F .text 000001d0 draw_int_size
+00015908 g F .text 00000008 no_effect
+00024afc g O .data 0000006c bosses
+00018e54 g F .text 00000044 shooting_gallery_message
00000000 *UND* 00000000 CFG_RAINBOW_SWORD_INNER_ENABLED
-00021810 g F .text 000000b4 text_print_size
-00047e00 g O .data 00000001 curr_scene_setup
-0002d6b0 g O .data 00000c80 alt_overrides
-00022808 g F .text 0000016c SetupMaskShopHelloDialogOverride
-0001b694 g F .text 00000454 Message_Decode_Additional_Control_Codes_JP
-000291a0 g O .data 00000010 medals_sprite
-00011c90 g F .text 00000074 draw_x_stick
-0000b680 g F .text 0000008c interpolate
-00018e88 g F .text 00000090 bow_upgrade
+0001ddf4 g F .text 00000090 text_print_size
+00043c38 g O .data 00000001 curr_scene_setup
+00029548 g O .data 00000c80 alt_overrides
+0001ea2c g F .text 00000154 SetupMaskShopHelloDialogOverride
+000189fc g F .text 0000042c Message_Decode_Additional_Control_Codes_JP
+000250a8 g O .data 00000010 medals_sprite
+00017e0c g F .text 00000080 Message_ApplyWideTextNewline
+000106cc g F .text 00000048 draw_x_stick
+0000ab28 g F .text 00000064 interpolate
+0001653c g F .text 0000006c bow_upgrade
00000000 *UND* 00000000 VERSION_STRING_TXT
-00000a24 g F .text 00000054 agony_vibrate_setup
-00018228 g F .text 000000d0 give_silver_rupee
-00029110 g O .data 00000010 item_digit_sprite
-0001bb94 g F .text 00000058 treasure_chest_game_message
-00026e70 g O .data 000000c0 actor_categories
-0000d064 g F .text 00000308 draw_file_message
-00047c71 g O .data 00000001 shooting_gallery_show_message
-0000fc00 g F .text 0000022c Item00_KillActorIfFlagIsSet
-00001d40 g F .text 0000005c draw_debug_int
-0000ee94 g F .text 000000c0 after_item_received
-000128e4 g F .text 000000e8 draw_dup
-00000290 g F .text 00000078 Actor_StoreFlagByIndex
+0000083c g F .text 00000034 agony_vibrate_setup
+00015cb4 g F .text 00000090 give_silver_rupee
+00025018 g O .data 00000010 item_digit_sprite
+00018e98 g F .text 0000003c treasure_chest_game_message
+00022d94 g O .data 000000c0 actor_categories
+0000c3e4 g F .text 000002ec draw_file_message
+00043af5 g O .data 00000001 shooting_gallery_show_message
+0000e9a4 g F .text 000001fc Item00_KillActorIfFlagIsSet
+000017c4 g F .text 00000038 draw_debug_int
+0000dda4 g F .text 0000009c after_item_received
+00010fb4 g F .text 000000a4 draw_dup
+000001f8 g F .text 00000054 Actor_StoreFlagByIndex
00000000 *UND* 00000000 SPOILER_AVAILABLE
-00018cb0 g F .text 00000028 no_upgrade
-0001c47c g F .text 0000022c update_navi_colors
-000070b0 g F .text 0000119c draw_world_info
-0001ac44 g F .text 00000120 Message_AddIntegerWide
-000282c0 g O .data 00000138 water_rooms
-00023aaa g O .rodata 00000001 input_icon_height
-0002038c g F .text 0000002c Seeded_Rand_Seed
-0001934c g F .text 00000090 arrows_to_rupee
-00029210 g O .data 00000004 a_note_font_glow_max
-00023ec8 g O .rodata 00000268 trade_quest_items
-000137b8 g F .text 0000013c draw_gi_various_opa0_xlu1
-0002f290 g O .data 00000010 active_override
-000291c0 g O .data 00000008 empty_dlist
+000163e8 g F .text 00000010 no_upgrade
+000196a4 g F .text 00000224 update_navi_colors
+000067fc g F .text 00001164 draw_world_info
+00018094 g F .text 000000f0 Message_AddIntegerWide
+000241e4 g O .data 00000138 water_rooms
+0001fa6e g O .rodata 00000001 input_icon_height
+0001cc80 g F .text 0000000c Seeded_Rand_Seed
+000168a8 g F .text 00000070 arrows_to_rupee
+00025118 g O .data 00000004 a_note_font_glow_max
+0001fe00 g O .rodata 00000268 trade_quest_items
+00011be8 g F .text 00000118 draw_gi_various_opa0_xlu1
+0002b128 g O .data 00000010 active_override
+000250c8 g O .data 00000008 empty_dlist
00000000 *UND* 00000000 CFG_BOSSES
-00047d80 g O .data 00000004 RANDOMIZER_RNG_SEED
-000224f0 g F .text 00000094 IsTradeItemTraded
+00017d6c g F .text 0000001c Message_GetWideTextCharScale
+00043bd8 g O .data 00000004 RANDOMIZER_RNG_SEED
+0001e7b8 g F .text 00000070 IsTradeItemTraded
00000000 *UND* 00000000 INCOMING_ITEM
-00029238 g O .data 00000004 c_button
-00028ee4 g O .data 00000004 dungeon_count
-00017f08 g F .text 0000003c give_dungeon_item
-000069b0 g F .text 00000150 draw_background
-000190d4 g F .text 00000084 nut_upgrade
+00025140 g O .data 00000004 c_button
+00024dfc g O .data 00000004 dungeon_count
+00015a54 g F .text 00000014 give_dungeon_item
+000061b8 g F .text 00000128 draw_background
+00017cc8 g F .text 00000060 Message_GetWideCharWidth
+000166f4 g F .text 0000005c nut_upgrade
80081740 g *ABS* 00000000 func_800982FC
00000000 *UND* 00000000 CFG_RAINBOW_NAVI_PROP_OUTER_ENABLED
-0000ebc0 g F .text 000000a8 push_coop_item
-00023aa9 g O .rodata 00000001 input_number_width
-00000900 g F .text 000000b8 Actor_Spawn_Hook
-0000113c g F .text 0000001c DoorWarp1_ForestMedallion_Overwrite
-00028f38 g O .data 00000004 scene_fog_distance
-00019700 g F .text 000000f0 upgrade_key_model
-0001fb40 g F .text 000002a0 draw_pot
+0000dbac g F .text 00000064 push_coop_item
+0001fa6d g O .rodata 00000001 input_number_width
+00000774 g F .text 00000094 Actor_Spawn_Hook
+00000dd4 g F .text 00000008 DoorWarp1_ForestMedallion_Overwrite
+00024e44 g O .data 00000004 scene_fog_distance
+00016b60 g F .text 000000d8 upgrade_key_model
+0001c564 g F .text 00000270 draw_pot
00000000 *UND* 00000000 CFG_BOMBCHU_TRAIL_OUTER_COLOR
-000226dc g F .text 00000084 SetBiggoronAnimationState
+0001e950 g F .text 00000068 SetBiggoronAnimationState
800e8530 g *ABS* 00000000 gActorOverlayTable
-0002200c g F .text 00000058 SaveFile_UnsetTradeItemAsTraded
-0001d5d4 g F .text 00000040 models_reset
+0001e3c4 g F .text 0000003c SaveFile_UnsetTradeItemAsTraded
+0001a520 g F .text 00000024 models_reset
00000000 *UND* 00000000 TIME_STRING_TXT
-000009c0 g F .text 0000001c agony_inside_radius_setup
-00016ac4 g F .text 000001d0 draw_gi_c_button_vertical
-00012abc g F .text 000000e8 draw_dright
-000147f8 g F .text 0000019c draw_gi_scales
-000197f0 g F .text 00000e64 KaleidoScope_DrawItemSelect
-00001b90 g F .text 000000a8 draw_forest_hallway_chest_base
-000022dc g F .text 00000024 debug_menu_is_drawn
-00029180 g O .data 00000010 quest_items_sprite
-0000ed64 g F .text 00000094 after_key_received
-0000b000 g F .text 000000c8 EnOkarinaTag_ActionHook
+00000808 g F .text 00000008 agony_inside_radius_setup
+00014960 g F .text 00000190 draw_gi_c_button_vertical
+000110fc g F .text 000000a4 draw_dright
+00012a18 g F .text 0000016c draw_gi_scales
+00016c38 g F .text 00000dd4 KaleidoScope_DrawItemSelect
+0000166c g F .text 0000007c draw_forest_hallway_chest_base
+00001c8c g F .text 0000000c debug_menu_is_drawn
+00025088 g O .data 00000010 quest_items_sprite
+0000dcb8 g F .text 00000070 after_key_received
+0000a5e0 g F .text 000000a4 EnOkarinaTag_ActionHook
00000000 *UND* 00000000 PLANDOMIZER_USED
-00047e30 g O .data 00000001 KAKARIKO_WEATHER_FORECAST
-000232f4 g F .text 00000058 heap_alloc
-0002f288 g O .data 00000004 active_item_row
-0001a720 g F .text 000000b8 after_game_state_update
+00043c48 g O .data 00000001 KAKARIKO_WEATHER_FORECAST
+0001f3c8 g F .text 0000003c heap_alloc
+0002b120 g O .data 00000004 active_item_row
+00017aac g F .text 00000094 after_game_state_update
00000000 *UND* 00000000 CFG_DUNGEON_INFO_REWARD_SUMMARY_ENABLE
-0002d628 g O .data 00000080 outgoing_queue
-0001fe68 g F .text 00000034 draw_flying_pot_hack
-000182f8 g F .text 000000ec give_silver_rupee_pouch
-00001550 g F .text 00000040 get_chest_type
-0000ae6c g F .text 000000fc en_item00_update_hook
-00028940 g O .data 000001ba dungeon_warps
-000195dc g F .text 00000058 health_upgrade_cap
-0000824c g F .text 000028ec draw_dungeon_info
+000294c0 g O .data 00000080 outgoing_queue
+0001c820 g F .text 0000001c draw_flying_pot_hack
+00015d44 g F .text 000000c4 give_silver_rupee_pouch
+00001124 g F .text 00000024 get_chest_type
+0000a4a8 g F .text 000000d0 en_item00_update_hook
+00024864 g O .data 000001ba dungeon_warps
+00016a7c g F .text 0000003c health_upgrade_cap
+00007960 g F .text 000028e4 draw_dungeon_info
801043a0 g *ABS* 00000000 z64_SfxDefaultFreqAndVolScale
-0001a830 g F .text 0000005c after_scene_init
+00017b7c g F .text 0000004c after_scene_init
00000000 *UND* 00000000 POTCRATE_SILVER_TEXTURE
-00016c94 g F .text 000001d0 draw_gi_c_button_horizontal
-000275b4 g O .data 00000154 bosses_warps
+00014af0 g F .text 00000190 draw_gi_c_button_horizontal
+000234d8 g O .data 00000154 bosses_warps
80394588 g *ABS* 00000000 KaleidoScope_DrawQuadTextureRGBA32
-00027fe8 g O .data 00000138 spirit_rooms
+00023f0c g O .data 00000138 spirit_rooms
00000000 *UND* 00000000 SRAM_SLOTS
00000000 *UND* 00000000 CFG_FILE_SELECT_HASH
-00023960 g O .rodata 0000000c icon_sprites
+0001f958 g O .rodata 0000000c icon_sprites
00000000 *UND* 00000000 OCARINAS_SHUFFLED
-0000f348 g F .text 000002b8 get_item
-00013cf4 g F .text 00000174 draw_gi_various_opa10_xlu32
-0002921c g O .data 00000004 a_note_glow_base
-0002d404 g O .data 00000004 CHEST_SIZE_MATCH_CONTENTS
+0000e1f0 g F .text 0000029c get_item
+00012088 g F .text 00000144 draw_gi_various_opa10_xlu32
+00025124 g O .data 00000004 a_note_glow_base
+000292cc g O .data 00000004 CHEST_SIZE_MATCH_CONTENTS
00000000 *UND* 00000000 CFG_ADULT_TRADE_SHUFFLE
-00029214 g O .data 00000004 a_note_font_glow_base
-00047c72 g O .data 00000002 current_textbox_id
+0002511c g O .data 00000004 a_note_font_glow_base
+00043af6 g O .data 00000002 current_textbox_id
00000000 *UND* 00000000 CFG_RAINBOW_BOMBCHU_TRAIL_OUTER_ENABLED
00000000 *UND* 00000000 CFG_RAINBOW_SWORD_OUTER_ENABLED
-00018420 g F .text 0000003c give_magic
-00029100 g O .data 00000010 linkhead_skull_sprite
-0002f280 g O .data 00000004 active_item_text_id
-00016e80 g F .text 0000010c draw_gi_medallions
-00011b60 g F .text 0000002c ice_trap_is_pending
-0002f2b8 g O .data 00008980 cfg_item_overrides
-000291f0 g O .data 00000004 text_cursor_border_max
+00015e24 g F .text 0000001c give_magic
+00025008 g O .data 00000010 linkhead_skull_sprite
+0002b118 g O .data 00000004 active_item_text_id
+00014c88 g F .text 000000e4 draw_gi_medallions
+00010618 g F .text 00000014 ice_trap_is_pending
+0002b150 g O .data 00008980 cfg_item_overrides
+000250f8 g O .data 00000004 text_cursor_border_max
00000000 *UND* 00000000 DOT_CONDITION
-0001694c g F .text 00000178 draw_gi_a_button
+00014828 g F .text 00000138 draw_gi_a_button
00000000 *UND* 00000000 CFG_BIGOCTO_OVERRIDE_KEY
00000000 *UND* 00000000 SHUFFLE_CHEST_GAME
-0000eb00 g F .text 000000c0 push_pending_item
-000138f4 g F .text 00000150 draw_rutos_letter
-0002d510 g O .data 00000100 room_flags
-00018008 g F .text 000000fc give_small_key_ring
-000009dc g F .text 00000048 agony_outside_radius_setup
+0000db20 g F .text 0000008c push_pending_item
+00011d00 g F .text 0000012c draw_rutos_letter
+000293a8 g O .data 00000100 room_flags
+00015afc g F .text 000000c8 give_small_key_ring
+00000810 g F .text 0000002c agony_outside_radius_setup
00000000 *UND* 00000000 CFG_DPAD_DUNGEON_INFO_ENABLE
-000023b8 g F .text 000000dc decimal_to_hex
+00001d0c g F .text 000000a0 decimal_to_hex
800206ac g *ABS* 00000000 Flags_SetTempClear
-0001fe14 g F .text 00000054 draw_hba_pot_hack
-00022064 g F .text 000000a4 SaveFile_TradeItemIsTraded
-0001e120 g F .text 00000074 Health_IsCritical
-00027e14 g O .data 00000104 ice_rooms
+0001c7f0 g F .text 00000030 draw_hba_pot_hack
+0001e400 g F .text 0000008c SaveFile_TradeItemIsTraded
+0001ae70 g F .text 0000005c Health_IsCritical
+00023d38 g O .data 00000104 ice_rooms
00000000 *UND* 00000000 POTCRATE_HEART_TEXTURE
-00022760 g F .text 00000078 ShouldSkullKidSpawn
-0002f27c g O .data 00000004 active_item_object_id
+0001e9b8 g F .text 0000005c ShouldSkullKidSpawn
+0002b114 g O .data 00000004 active_item_object_id
00000000 *UND* 00000000 CFG_RAINBOW_BOOM_TRAIL_INNER_ENABLED
-00018fb4 g F .text 0000009c wallet_upgrade
+00016620 g F .text 00000078 wallet_upgrade
00000000 *UND* 00000000 EPONAS_SONG_NOTES
-0001cd70 g F .text 0000012c check_skeleton
+00019e88 g F .text 000000ec check_skeleton
80394524 g *ABS* 00000000 KaleidoScope_MoveCursorToSpecialPos
-0002f274 g O .data 00000004 active_item_fast_chest
-0002d6ac g O .data 00000002 num_override_flags
-000187a0 g F .text 0000009c unlock_ocarina_note
-00029224 g O .data 00000004 c_note_g
-0000dd14 g F .text 00000280 draw_file_select_hash
-00047ca0 g O .data 00000004 curr_drawn_actor
-000010a0 g F .text 00000024 DoorWarp1_IsSpiritRewardObtained
-0000fa74 g F .text 0000006c Set_NewFlag
-00012414 g F .text 00000120 draw_cright
-0001ca0c g F .text 000001b4 FindModelData
-00029204 g O .data 00000004 c_note_font_glow_base
-0000137c g F .text 0000004c set_bombchu_bowling_prize_flag
-0000b4c0 g F .text 000000e0 EnWonderItem_Update_Hack
+0002b10c g O .data 00000004 active_item_fast_chest
+00029544 g O .data 00000002 num_override_flags
+0001604c g F .text 0000007c unlock_ocarina_note
+0002512c g O .data 00000004 c_note_g
+0000cfe8 g F .text 0000025c draw_file_select_hash
+00043b04 g O .data 00000004 curr_drawn_actor
+00000da4 g F .text 0000000c DoorWarp1_IsSpiritRewardObtained
+0000e884 g F .text 00000050 Set_NewFlag
+00010c50 g F .text 000000d4 draw_cright
+00019bc4 g F .text 00000170 FindModelData
+0002510c g O .data 00000004 c_note_font_glow_base
+00000fb0 g F .text 0000002c set_bombchu_bowling_prize_flag
+0000a9d8 g F .text 00000098 EnWonderItem_Update_Hack
00000000 *UND* 00000000 MW_PROGRESSIVE_ITEMS_STATE
-000013d0 g F .text 00000180 get_chest_override
-00001104 g F .text 0000001c DoorWarp1_GoronRuby_Overwrite
+00000fdc g F .text 00000148 get_chest_override
+00000dc4 g F .text 00000008 DoorWarp1_GoronRuby_Overwrite
00000000 *UND* 00000000 POTCRATE_TEXTURES_MATCH_CONTENTS
80027090 g *ABS* 00000000 Actor_SetColorFilter
-0001261c g F .text 000000f0 draw_l
-00004da0 g F .text 00000704 handle_dpad
+00010dc8 g F .text 000000a4 draw_l
+000045e8 g F .text 00000724 handle_dpad
00000000 *UND* 00000000 START_TWINROVA_FIGHT
-00011210 g F .text 00000130 sprite_draw
+0000fde8 g F .text 000000f8 sprite_draw
00000000 *UND* 00000000 CFG_BOOM_TRAIL_OUTER_COLOR
-00027d44 g O .data 000000d0 hideout_rooms
-0002d4a1 g O .data 00000001 world_display
+00023c68 g O .data 000000d0 hideout_rooms
+00029359 g O .data 00000001 world_display
8002060c g *ABS* 00000000 Flags_GetTreasure
-00029130 g O .data 00000010 key_rupee_clock_sprite
+00025038 g O .data 00000010 key_rupee_clock_sprite
800206c8 g *ABS* 00000000 Flags_UnsetTempClear
-00017e78 g F .text 0000002c give_biggoron_sword
-00020340 g F .text 0000004c Seeded_Rand_Next
-0000e944 g F .text 000000f4 push_outgoing_override
+00015a10 g F .text 0000000c give_biggoron_sword
+0001cc54 g F .text 0000002c Seeded_Rand_Next
+0000d9bc g F .text 000000c8 push_outgoing_override
80020640 g *ABS* 00000000 Flags_GetClear
-00010620 g F .text 0000008c give_sarias_gift
-000184cc g F .text 0000003c give_quest_item
-00028120 g O .data 000001a0 shadow_rooms
+0000f300 g F .text 00000070 give_sarias_gift
+00015e70 g F .text 00000018 give_quest_item
+00024044 g O .data 000001a0 shadow_rooms
00000000 *UND* 00000000 CFG_RAINBOW_NAVI_ENEMY_OUTER_ENABLED
-0002d428 g O .data 00000001 show_textbox_id
-00029208 g O .data 00000004 c_note_glow_max
+000292ec g O .data 00000001 show_textbox_id
+00025110 g O .data 00000004 c_note_glow_max
00000000 *UND* 00000000 CFG_SLOWDOWN_MUSIC_WHEN_LOWHP
-0001d860 g F .text 00000090 heart_piece_draw
+0001a714 g F .text 00000064 heart_piece_draw
00000000 *UND* 00000000 CFG_RAINBOW_BOMBCHU_TRAIL_INNER_ENABLED
-0001f9fc g F .text 00000144 BgSpot18Basket_Heartpiecerupee_DropHook
-00021e54 g F .text 00000058 SaveFile_UnsetTradeItemAsOwned
-00013e68 g F .text 0000018c draw_gi_bullet_bags
-0002d4a0 g O .data 00000001 boss_display
-00006ee4 g F .text 000000a4 is_bk_displayed
-00010870 g F .text 000002e8 sprite_load
-00012ee8 g F .text 000000c8 draw_gi_sold_out
-00015334 g F .text 00000204 draw_gi_fairy
-000003b4 g F .text 000001a0 Actor_StoreChestType
-000291b0 g O .data 00000010 stones_sprite
+0001c454 g F .text 00000110 BgSpot18Basket_Heartpiecerupee_DropHook
+0001e280 g F .text 0000003c SaveFile_UnsetTradeItemAsOwned
+000121cc g F .text 0000015c draw_gi_bullet_bags
+00029358 g O .data 00000001 boss_display
+0000667c g F .text 00000084 is_bk_displayed
+0000f4c0 g F .text 000002c8 sprite_load
+00011460 g F .text 000000a4 draw_gi_sold_out
+00013440 g F .text 000001d8 draw_gi_fairy
+000002d8 g F .text 00000174 Actor_StoreChestType
+000250b8 g O .data 00000010 stones_sprite
00000000 *UND* 00000000 NO_COLLECTIBLE_HEARTS
00000000 *UND* 00000000 OUTGOING_KEY
-00026f30 g O .data 00000682 items_debug
+00022e54 g O .data 00000682 items_debug
80020510 g *ABS* 00000000 Flags_UnsetSwitch
-00023cb0 g O .rodata 00000004 text_width
-00028f20 g O .data 00000014 extern_ctxt
-00022344 g F .text 00000118 UpdateTradeEquips
-000193dc g F .text 00000090 bombs_to_rupee
-000291f8 g O .data 00000004 text_cursor_inner_max
-0002922c g O .data 00000004 a_note_b
-00023a00 g O .rodata 00000001 REQUIRED_PENDING_FRAMES
-0002d3f0 g O .data 00000004 EXTRA_BOWLING_SHUFFLE
-00016e64 g F .text 0000001c draw_gi_nothing
-0002d1b0 g O .data 00000040 num_to_bits
+0001fc40 g O .rodata 00000004 text_width
+00024e2c g O .data 00000014 extern_ctxt
+0001e65c g F .text 000000fc UpdateTradeEquips
+00016918 g F .text 00000070 bombs_to_rupee
+00025100 g O .data 00000004 text_cursor_inner_max
+00025134 g O .data 00000004 a_note_b
+0001f9e0 g O .rodata 00000001 REQUIRED_PENDING_FRAMES
+000292c4 g O .data 00000004 EXTRA_BOWLING_SHUFFLE
+00014c80 g F .text 00000008 draw_gi_nothing
+00029090 g O .data 00000040 num_to_bits
00000000 *UND* 00000000 Gameplay_InitSkybox
-00037c48 g O .data 00010000 randoGfxPools
+00033ad8 g O .data 00010000 randoGfxPools
00001000 g *ABS* 00000000 TRIFORCE_SPRITE_RESOURCE_SIZE
-000291c8 g O .data 00000028 setup_db
-0001bae8 g F .text 0000004c grab_textbox_id
-0001d1fc g F .text 00000080 get_object
-00017d48 g F .text 000000d8 give_triforce_piece
-0002aaa0 g O .data 00002140 item_table
+000250d0 g O .data 00000028 setup_db
+00018e28 g F .text 0000002c grab_textbox_id
+0001a240 g F .text 00000060 get_object
+0001591c g F .text 000000bc give_triforce_piece
+00026998 g O .data 00002140 item_table
00000000 *UND* 00000000 CFG_UNINVERT_YAXIS_IN_FIRST_PERSON_CAMERA
00000000 *UND* 00000000 CFG_DUNGEON_PRECOMPLETED
-00029170 g O .data 00000010 font_sprite
-00000554 g F .text 0000007c Actor_After_UpdateAll_Hack
-0001d2f8 g F .text 0000008c scale_top_matrix
-0000edf8 g F .text 0000009c pop_ice_trap
-00014400 g F .text 00000144 draw_gi_recovery_heart
-00028bc0 g O .data 00000009 reward_rows
-000233b4 g F .text 0000005c resolve_overlay_addr
-0002d610 g O .data 00000010 collectible_override
+00025078 g O .data 00000010 font_sprite
+0000044c g F .text 0000005c Actor_After_UpdateAll_Hack
+0001a2ec g F .text 00000068 scale_top_matrix
+0000dd28 g F .text 0000007c pop_ice_trap
+000126a4 g F .text 00000118 draw_gi_recovery_heart
+00024ad8 g O .data 00000009 reward_rows
+0001f448 g F .text 0000003c resolve_overlay_addr
+000294a8 g O .data 00000010 collectible_override
00000000 *UND* 00000000 TWINROVA_ACTION_TIMER
-00021304 g F .text 00000100 Sram_EraseSave
-0001c77c g F .text 00000064 update_misc_colors
-00047d92 g O .data 00000001 GANON_BOSS_KEY_CONDITION
-00004ab0 g F .text 00000160 DemoEffect_DrawJewel_Hook
-00010824 g F .text 0000004c sprite_bytes
-0002227c g F .text 000000c8 SaveFile_PrevOwnedTradeItem
-00029228 g O .data 00000004 c_note_r
+0001da20 g F .text 000000d8 Sram_EraseSave
+00019978 g F .text 00000048 update_misc_colors
+00043bde g O .data 00000001 GANON_BOSS_KEY_CONDITION
+00004360 g F .text 00000134 DemoEffect_DrawJewel_Hook
+0000f490 g F .text 00000030 sprite_bytes
+0001e5b0 g F .text 000000ac SaveFile_PrevOwnedTradeItem
+00025130 g O .data 00000004 c_note_r
00000000 *UND* 00000000 CFG_C_BUTTON_COLOR
-00024130 g .rodata 00000000 DPAD_RESOURCE
-00018df4 g F .text 00000094 bomb_bag_upgrade
+00020068 g .rodata 00000000 DPAD_RESOURCE
+000164cc g F .text 00000070 bomb_bag_upgrade
00000000 *UND* 00000000 CFG_SONG_NAME_STATE
00000000 *UND* 00000000 TCG_REQUIRES_LENS
-00010ec8 g F .text 00000348 sprite_texture_4b
-0002d1f0 g O .data 00000004 Sram_InitNewSave
-0001a9b0 g F .text 000000c0 Message_AddCharacter
-00001df8 g F .text 00000360 draw_timeofday
-00023eb4 g O .rodata 00000004 FONT_CHAR_TEX_HEIGHT
-000191dc g F .text 0000007c magic_upgrade
-000290d0 g O .data 00000010 buttons_sprite
-00018b88 g F .text 00000050 resolve_item_text_id
-0000e670 g F .text 00000080 lookup_override_by_newflag
-0000abc0 g F .text 0000008c EnBox_LoadObject
-000290b4 g O .data 00000004 loaded_scene_room_setup
-00018d60 g F .text 00000094 strength_upgrade
-0001d1b4 g F .text 00000048 load_object
-00021404 g F .text 0000009c Save_Write_Hook
-000192b4 g F .text 00000098 ocarina_upgrade
-00013ff4 g F .text 00000198 draw_gi_small_rupees
-00018bd8 g F .text 0000007c resolve_upgrades
-0001f580 g F .text 00000068 c_block_ocarina
-00006f88 g F .text 00000128 draw_boss_key
-00001590 g F .text 0000024c set_chest_texture
-00029140 g O .data 00000010 song_note_sprite
+0000fad0 g F .text 00000318 sprite_texture_4b
+000290d0 g O .data 00000004 Sram_InitNewSave
+00017e8c g F .text 00000090 Message_AddCharacter
+00001834 g F .text 00000330 draw_timeofday
+0001fdf0 g O .rodata 00000004 FONT_CHAR_TEX_HEIGHT
+000167ac g F .text 00000054 magic_upgrade
+00024fd8 g O .data 00000010 buttons_sprite
+00016338 g F .text 00000030 resolve_item_text_id
+0000d774 g F .text 0000005c lookup_override_by_newflag
+0000a28c g F .text 00000070 EnBox_LoadObject
+00024fb8 g O .data 00000004 loaded_scene_room_setup
+0001645c g F .text 00000070 strength_upgrade
+0001a218 g F .text 00000028 load_object
+0001daf8 g F .text 00000074 Save_Write_Hook
+00016838 g F .text 00000070 ocarina_upgrade
+00012328 g F .text 00000160 draw_gi_small_rupees
+00016368 g F .text 00000054 resolve_upgrades
+0001c094 g F .text 0000004c c_block_ocarina
+00006700 g F .text 000000fc draw_boss_key
+00001148 g F .text 00000224 set_chest_texture
+00025048 g O .data 00000010 song_note_sprite
00000000 *UND* 00000000 CFG_A_NOTE_COLOR
00000000 *UND* 00000000 DemoEffect_DrawJewel_AfterHook
-00020548 g F .text 000001f8 give_sage_gifts
-0002924c g O .data 00000004 normal_no_dd
-00001a90 g F .text 000000c4 should_draw_forest_hallway_chest
-0002923c g O .data 00000004 b_button
-0001e08c g F .text 00000090 bowling_heart_piece_draw
-00020740 g F .text 000000d0 Save_Open
-000114c4 g F .text 00000274 gfx_init
-0000e100 g F .text 0000004c override_flags_init
-00011d04 g F .text 000000a0 draw_y_stick
-00023a8c g O .rodata 00000006 defaultDDHeart
-0001bbec g F .text 000000c0 display_misc_messages
+0001cd84 g F .text 000001d0 give_sage_gifts
+00025154 g O .data 00000004 normal_no_dd
+000015ac g F .text 000000a4 should_draw_forest_hallway_chest
+00025144 g O .data 00000004 b_button
+0001ae0c g F .text 00000064 bowling_heart_piece_draw
+0001cf54 g F .text 000000b0 Save_Open
+0000fff0 g F .text 00000240 gfx_init
+0000d360 g F .text 0000002c override_flags_init
+00010714 g F .text 00000074 draw_y_stick
+0001fa54 g O .rodata 00000006 defaultDDHeart
+00018ed4 g F .text 000000a0 display_misc_messages
800f7d50 g *ABS* 00000000 sSetupDL
-000237ac g O .rodata 00000001 debug_text_height
-00023880 g O .rodata 00000042 freecam_modes
-00017d1c g F .text 0000002c full_heal
-00029220 g O .data 00000004 c_note_b
-00002204 g F .text 000000d8 get_flag
-00000e90 g F .text 0000007c DoorWarp1_PlayerInRange
-00010514 g F .text 0000010c get_skulltula_token
+0001f7c8 g O .rodata 00000001 debug_text_height
+0001f888 g O .rodata 00000042 freecam_modes
+00015910 g F .text 0000000c full_heal
+00025128 g O .data 00000004 c_note_b
+00001bd8 g F .text 000000b4 get_flag
+00000bc0 g F .text 00000078 DoorWarp1_PlayerInRange
+0000f220 g F .text 000000e0 get_skulltula_token
00000000 *UND* 00000000 CFG_RAINBOW_NAVI_IDLE_INNER_ENABLED
-00047da0 g O .data 00000058 extended_savectx
-000178c4 g F .text 00000100 draw_gi_xlu_with_flame
-000106ac g F .text 000000e8 fairy_ocarina_getitem
-00011b8c g F .text 00000038 push_pending_ice_trap
-00029060 g O .data 00000001 password_index
-00028738 g O .data 000000d0 dc_rooms
-0000005c g F .text 000000f0 Actor_BuildFlag
-00012534 g F .text 000000e8 draw_z
+00043be0 g O .data 00000058 extended_savectx
+000155fc g F .text 0000009c draw_gi_xlu_with_flame
+0000f370 g F .text 000000bc fairy_ocarina_getitem
+0001062c g F .text 00000018 push_pending_ice_trap
+00024f68 g O .data 00000001 password_index
+0002465c g O .data 000000d0 dc_rooms
+00000020 g F .text 000000bc Actor_BuildFlag
+00010d24 g F .text 000000a4 draw_z
00000000 *UND* 00000000 CFG_DUNGEON_INFO_REWARD_ENABLE
-0001df1c g F .text 00000170 bowling_bomb_bag_draw
-0001eedc g F .text 000001f0 ObjKibako2_Draw
+0001acc8 g F .text 00000144 bowling_bomb_bag_draw
+0001bacc g F .text 000001c4 ObjKibako2_Draw
00000000 *UND* 00000000 WORLD_STRING_TXT
80104394 g *ABS* 00000000 z64_SfxDefaultPos
-0001aa70 g F .text 000000b4 Message_AddCharacterWide
-00023aa8 g O .rodata 00000001 input_number_height
-0000ac50 g F .text 0000010c EnItem00_OutgoingAction
+00017f1c g F .text 00000088 Message_AddCharacterWide
+0001fa6c g O .rodata 00000001 input_number_height
+0000a2fc g F .text 000000c8 EnItem00_OutgoingAction
00000000 *UND* 00000000 CFG_DUNGEON_ENTRANCES
-0000e600 g F .text 00000070 get_override_search_key_by_newflag
+0000d728 g F .text 0000004c get_override_search_key_by_newflag
800206e8 g *ABS* 00000000 Flags_GetCollectible
-000203b8 g F .text 00000034 Seeded_Reset
-00029248 g O .data 00000004 beating_dd
-00000a78 g F .text 00000188 draw_agony_graphic
-0001946c g F .text 00000098 seeds_to_rupee
-00012cb0 g F .text 00000090 is_hook_static
-000184a0 g F .text 0000002c give_fairy_ocarina
+0001cc8c g F .text 00000014 Seeded_Reset
+00025150 g O .data 00000004 beating_dd
+00000870 g F .text 00000158 draw_agony_graphic
+00016988 g F .text 00000078 seeds_to_rupee
+00011284 g F .text 00000080 is_hook_static
+00015e64 g F .text 0000000c give_fairy_ocarina
8039eab8 g *ABS* 00000000 z64_sEquipMoveTimer
-0001d6cc g F .text 00000078 lookup_model
-00047c61 g O .data 00000001 OPEN_KAKARIKO
-0002d6a8 g O .data 00000004 collectible_override_flags
+0001a5d0 g F .text 00000050 lookup_model
+00043af1 g O .data 00000001 OPEN_KAKARIKO
+00029540 g O .data 00000004 collectible_override_flags
00000000 *UND* 00000000 CFG_DUNGEON_INFO_REWARD_WORLDS_ENABLE
-00027c0c g O .data 00000138 gtg_rooms
-0001c7e0 g F .text 0000022c draw_illegal_model_text
+00023b30 g O .data 00000138 gtg_rooms
+000199c0 g F .text 00000204 draw_illegal_model_text
00000000 *UND* 00000000 CHEST_LENS_ONLY
-00028c50 g O .data 00000294 dungeons
-00028afc g O .data 000000b0 menu_categories
+00024b68 g O .data 00000294 dungeons
+00024a20 g O .data 000000b0 menu_categories
00000000 *UND* 00000000 CFG_CUSTOM_MESSAGE_2
-00047c91 g O .data 00000001 child_safe
+00043afd g O .data 00000001 child_safe
00000000 *UND* 00000000 CFG_DUNGEON_INFO_ENABLE
801043a8 g *ABS* 00000000 z64_SfxDefaultReverb
00000000 *UND* 00000000 CFG_DUNGEON_IS_MQ
-00047c90 g O .data 00000001 missing_dlist
-0002f2ac g O .data 00000004 dummy_actor
-0001bd74 g F .text 000001ec update_boomerang_trail_colors
-00023eb8 g O .rodata 00000004 FONT_CHAR_TEX_WIDTH
+00043afc g O .data 00000001 missing_dlist
+0002b144 g O .data 00000004 dummy_actor
+00019018 g F .text 000001a4 update_boomerang_trail_colors
+0001fdf4 g O .rodata 00000004 FONT_CHAR_TEX_WIDTH
800204d0 g *ABS* 00000000 Flags_SetSwitch
00000000 *UND* 00000000 CFG_RAINBOW_NAVI_NPC_OUTER_ENABLED
-000162f4 g F .text 00000328 draw_gi_boss_altflip
+0001427c g F .text 000002d4 draw_gi_boss_altflip
00000000 *UND* 00000000 CFG_DUNGEON_INFO_REWARD_NEED_COMPASS
80394b00 g *ABS* 00000000 KaleidoScope_DrawCursor
800f8d2c g *ABS* 00000000 z64_ItemIcons
-000291fc g O .data 00000004 text_cursor_inner_base
+00025104 g O .data 00000004 text_cursor_inner_base
80020554 g *ABS* 00000000 Flags_GetUnknown
00000000 *UND* 00000000 REWARDS_AS_ITEMS
-0002d4f0 g O .data 00000006 buffer_password
+00029398 g O .data 00000006 buffer_password
00000000 *UND* 00000000 CUSTOM_KEY_MODELS
00000000 *UND* 00000000 EnItem00_Init
-000218c4 g F .text 00000058 text_print
-00021dc0 g F .text 00000040 IsAdultTradeItem
-0001872c g F .text 0000003c give_bombchus
-0001ff9c g F .text 00000110 EnTuboTrap_DropCollectible_Hack
-0001d614 g F .text 000000b8 lookup_model_by_override
-0002920c g O .data 00000004 c_note_glow_base
-000204d0 g F .text 00000078 countSetBitsRec
-0002869c g O .data 0000009c jabu_rooms
-00024930 g .rodata 00000000 FONT_RESOURCE
+0001de84 g F .text 00000030 text_print
+0001e224 g F .text 00000024 IsAdultTradeItem
+00016018 g F .text 00000018 give_bombchus
+0001c918 g F .text 000000e8 EnTuboTrap_DropCollectible_Hack
+0001a544 g F .text 0000008c lookup_model_by_override
+00025114 g O .data 00000004 c_note_glow_base
+0001cd30 g F .text 00000054 countSetBitsRec
+000245c0 g O .data 0000009c jabu_rooms
+00020868 g .rodata 00000000 FONT_RESOURCE
800aa6ec g *ABS* 00000000 Matrix_Push
00000000 *UND* 00000000 POTCRATE_GOLD_TEXTURE
8038ef94 g *ABS* 00000000 KaleidoScope_SetCursorVtx
-00047d90 g O .data 00000002 GANON_BOSS_KEY_CONDITION_COUNT
+00043bdc g O .data 00000002 GANON_BOSS_KEY_CONDITION_COUNT
800ce7b4 g *ABS* 00000000 sprintf
-00017e20 g F .text 00000058 give_tycoon_wallet
+000159d8 g F .text 00000038 give_tycoon_wallet
00000000 *UND* 00000000 CFG_RAINBOW_TUNIC_ENABLED
-0002d4f6 g O .data 00000002 cooldown
-000291f4 g O .data 00000004 text_cursor_border_base
-0002f2b0 g O .data 00000004 item_overrides_count
-00015770 g F .text 00000168 draw_gi_song_notes
+0002939e g O .data 00000002 cooldown
+000250fc g O .data 00000004 text_cursor_border_base
+00017d28 g F .text 00000044 Message_GetWideCharScaledAdvance
+0002b148 g O .data 00000004 item_overrides_count
+00013820 g F .text 0000013c draw_gi_song_notes
00000000 *UND* 00000000 CFG_BOOM_TRAIL_INNER_COLOR
-0001fe9c g F .text 00000100 ObjTsubo_SpawnCollectible_Hack
-00002158 g F .text 000000ac draw_textbox_ids
-000131b4 g F .text 00000120 draw_gi_various_opa1023
-00021d4c g F .text 00000030 GetTradeItemMax
-00021d1c g F .text 00000030 GetTradeItemMin
-0000f150 g F .text 000001f8 handle_pending_items
-00019258 g F .text 0000005c bombchu_upgrade
-00027aa0 g O .data 0000016c ganon_rooms
-00015fcc g F .text 00000328 draw_gi_boss_altered
+0001c83c g F .text 000000dc ObjTsubo_SpawnCollectible_Hack
+00001b64 g F .text 00000074 draw_textbox_ids
+000116c0 g F .text 000000f0 draw_gi_various_opa1023
+0001e1e0 g F .text 00000018 GetTradeItemMax
+0001e1c8 g F .text 00000018 GetTradeItemMin
+0000e010 g F .text 000001e0 handle_pending_items
+00016800 g F .text 00000038 bombchu_upgrade
+00000000 *UND* 00000000 LANG_WIDE_TEXT_ENGLISH_METRICS
+000239c4 g O .data 0000016c ganon_rooms
+00013fa8 g F .text 000002d4 draw_gi_boss_altered
80020674 g *ABS* 00000000 Flags_UnsetClear
-00000830 g F .text 000000d0 Player_SpawnEntry_Hack
-00028bac g O .data 00000001 menu_cooldown
-0001d4a8 g F .text 000000c4 draw_model
+000006bc g F .text 000000b8 Player_SpawnEntry_Hack
+00024ad0 g O .data 00000001 menu_cooldown
+0001a42c g F .text 000000a8 draw_model
00000000 *UND* 00000000 CFG_DUNGEON_INFO_SILVER_RUPEES
-000214a0 g F .text 000000e4 Save_Init_Write_Hook
-00027f18 g O .data 000000d0 botw_rooms
-00018534 g F .text 00000038 give_bean_pack
+0001db6c g F .text 000000b8 Save_Init_Write_Hook
+00023e3c g O .data 000000d0 botw_rooms
+00015ea4 g F .text 00000018 give_bean_pack
00000000 *UND* 00000000 Actor_Spawn_Continue
-00021d7c g F .text 00000044 IsTradeItem
-000132d4 g F .text 00000180 draw_gi_wallets
-0001d744 g F .text 0000011c shop_draw
-0001f640 g F .text 00000148 BgHakaTubo_DropCollectible_Hack
-00002300 g F .text 000000b8 manage_debug_inputs
-0001c208 g F .text 00000274 get_bombchu_back_color
-0000fb80 g F .text 00000080 Room_Change_Actor_Kill_Hack
-00020abc g F .text 0000064c Sram_VerifyAndLoadAllSaves
+0001e1f8 g F .text 0000002c IsTradeItem
+000117b0 g F .text 00000150 draw_gi_wallets
+0001a620 g F .text 000000f4 shop_draw
+0001c124 g F .text 0000011c BgHakaTubo_DropCollectible_Hack
+00001c98 g F .text 00000074 manage_debug_inputs
+00019430 g F .text 00000274 get_bombchu_back_color
+0000e948 g F .text 0000005c Room_Change_Actor_Kill_Hack
+0001d258 g F .text 000005f8 Sram_VerifyAndLoadAllSaves
80000df0 g *ABS* 00000000 DmaMgr_RequestSync
-00028f34 g O .data 00000004 last_fog_distance
+00024e40 g O .data 00000004 last_fog_distance
00000000 *UND* 00000000 FREE_BOMBCHU_DROPS
-00019634 g F .text 000000cc bombchus_to_bag
-00023a94 g O .rodata 00000006 defaultHeart
-00011340 g F .text 00000028 rando_display_buffer_init
-0002f270 g O .data 00000002 incoming_junk
-00029230 g O .data 00000004 a_note_g
-0001a660 g F .text 00000054 c_init
+00016ab8 g F .text 000000a8 bombchus_to_bag
+0001fa5c g O .rodata 00000006 defaultHeart
+0000fee0 g F .text 0000000c rando_display_buffer_init
+0002b108 g O .data 00000002 incoming_junk
+00025138 g O .data 00000004 a_note_g
+00017a0c g F .text 00000044 c_init
00000000 *UND* 00000000 CHEST_GILDED_TEXTURE
-00022974 g F .text 0000028c TryPaybackMaskOverride
-0001e194 g F .text 00000190 manage_music_changes
+0001eb80 g F .text 00000268 TryPaybackMaskOverride
+0001aecc g F .text 00000178 manage_music_changes
00000000 *UND* 00000000 CFG_SPEEDUP_MUSIC_FOR_LAST_TRIFORCE_PIECE
00000000 *UND* 00000000 CFG_RAINBOW_BOOM_TRAIL_OUTER_ENABLED
-00029150 g O .data 00000010 triforce_sprite
-00000708 g F .text 00000128 Actor_SpawnEntry_Hack
+00025058 g O .data 00000010 triforce_sprite
+000005b0 g F .text 0000010c Actor_SpawnEntry_Hack
00000000 *UND* 00000000 EXTERN_DAMAGE_MULTIPLYER
-00047c62 g O .data 00000001 MAX_RUPEES
-0000f628 g F .text 000003c4 get_xflag_bit_offset
-0001db50 g F .text 000003cc item_etcetera_draw
-000290e0 g O .data 00000010 ocarina_button_sprite
+00043af2 g O .data 00000001 MAX_RUPEES
+0000e498 g F .text 00000380 get_xflag_bit_offset
+0001a928 g F .text 000003a0 item_etcetera_draw
+00024fe8 g O .data 00000010 ocarina_button_sprite
8039eab0 g *ABS* 00000000 z64_sEquipState
-0001f0d0 g F .text 00000148 Obj_Mure3_RupeeCircle_DropRupee
-00018840 g F .text 000000d0 resolve_text_silver_rupees
+0001bc90 g F .text 0000011c Obj_Mure3_RupeeCircle_DropRupee
+000160c8 g F .text 000000b0 resolve_text_silver_rupees
00000000 *UND* 00000000 CHEST_GOLD_TEXTURE
00000000 *UND* 00000000 SPEED_MULTIPLIER
-0000c0ec g F .text 00000ee8 draw_file_icons
-00021e00 g F .text 00000054 SaveFile_SetTradeItemAsOwned
-0002f284 g O .data 00000004 active_item_action_id
-00047c70 g O .data 00000001 treasure_chest_game_show_message
-0000d424 g F .text 00000064 is_buffer_password_clear
-0002e330 g O .data 00000bb8 xflag_room_blob
-0000ef54 g F .text 000001fc try_pending_item
+0000b4f4 g F .text 00000e94 draw_file_icons
+0001e248 g F .text 00000038 SaveFile_SetTradeItemAsOwned
+0002b11c g O .data 00000004 active_item_action_id
+00043af4 g O .data 00000001 treasure_chest_game_show_message
+0000c75c g F .text 00000040 is_buffer_password_clear
+0002a1c8 g O .data 00000bb8 xflag_room_blob
+0000de40 g F .text 000001d0 try_pending_item
000014c8 g *ABS* 00000000 FONT_RESOURCE_SIZE
-00017ad0 g F .text 000001c4 draw_ice_trap
-00012fb0 g F .text 00000144 draw_gi_compass
-0002d200 g O .data 000001f0 texture_table
-0001856c g F .text 0000004c fill_wallet_upgrade
-0000f9ec g F .text 00000088 Get_NewFlag
-00012e00 g F .text 000000e8 draw_gi_eggs_and_medallions
-00047e20 g O .data 00000004 heap_next
-00004a1c g F .text 0000008c debug_utilities
+00015738 g F .text 00000198 draw_ice_trap
+00011504 g F .text 00000120 draw_gi_compass
+000290d4 g O .data 000001f0 texture_table
+00015ebc g F .text 0000002c fill_wallet_upgrade
+0000e818 g F .text 0000006c Get_NewFlag
+000113a0 g F .text 000000c0 draw_gi_eggs_and_medallions
+00043c44 g O .data 00000004 heap_next
+000042f4 g F .text 0000006c debug_utilities
00000000 *UND* 00000000 MW_PROGRESSIVE_ITEMS_ENABLE
-00018508 g F .text 0000002c ice_trap_effect
-00022160 g F .text 00000054 SaveFile_MaskIsPaid
-00015538 g F .text 00000238 draw_gi_poe_bottles
-0001a890 g F .text 00000120 c_equipment_menu_slot_filled
+00015e88 g F .text 0000001c ice_trap_effect
+0001e4c8 g F .text 0000003c SaveFile_MaskIsPaid
+00013618 g F .text 00000208 draw_gi_poe_bottles
+00017bc8 g F .text 00000100 c_equipment_menu_slot_filled
00000000 *UND* 00000000 FAST_CHESTS
-00004c10 g F .text 000000c4 has_items_for_door_of_time
-00004cd4 g F .text 000000c4 DemoKankyo_CutsceneFlags_Get_Hook
+00004494 g F .text 000000ac has_items_for_door_of_time
+00004540 g F .text 000000a8 DemoKankyo_CutsceneFlags_Get_Hook
00000000 *UND* 00000000 CURR_ACTOR_SPAWN_INDEX
-00017ea4 g F .text 00000064 give_bottle
-00026e10 g O .data 00000060 flag_categories
+00015a1c g F .text 00000038 give_bottle
+00022d34 g O .data 00000060 flag_categories
00000000 *UND* 00000000 SOA_UNLOCKS_POTCRATE_TEXTURE
800205c8 g *ABS* 00000000 Flags_UnsetUnknown
-00000000 g F .text 00000038 after_spawn_override_silver_rupee
+00000000 g F .text 00000018 after_spawn_override_silver_rupee
00000000 *UND* 00000000 CFG_DUNGEON_INFO_REWARD_NEED_ALTAR
-000290f0 g O .data 00000010 heart_sprite
-000120c4 g F .text 00000118 draw_cdown
-00001210 g F .text 0000016c select_bombchu_bowling_prize
-0000e37c g F .text 00000160 lookup_override_by_key
-00047c50 g O .data 00000010 rando_overlay_db
-000122fc g F .text 00000118 draw_cleft
-0001ce9c g F .text 0000027c check_model_skeletons
-0000f600 g F .text 00000028 reset_collectible_mutex
-0002f2a4 g O .data 00000008 drop_collectible_override_flag
-0000b250 g F .text 00000270 EnWonderItem_DropCollectible_Hack
+00024ff8 g O .data 00000010 heart_sprite
+000109d4 g F .text 000000d4 draw_cdown
+00000e20 g F .text 00000190 select_bombchu_bowling_prize
+0000d570 g F .text 000000f0 lookup_override_by_key
+00043ae0 g O .data 00000010 rando_overlay_db
+00010b7c g F .text 000000d4 draw_cleft
+00019f74 g F .text 00000238 check_model_skeletons
+0000e48c g F .text 0000000c reset_collectible_mutex
+0002b13c g O .data 00000008 drop_collectible_override_flag
+0000a798 g F .text 00000240 EnWonderItem_DropCollectible_Hack
00000000 *UND* 00000000 SHUFFLE_SILVER_RUPEES
-0001d120 g F .text 00000094 load_object_file
-0000fec8 g F .text 00000278 get_override_drop_id
-0000e6f0 g F .text 00000080 resolve_alternative_flag
-00014678 g F .text 00000180 draw_gi_magic_spells
+0001a1ac g F .text 0000006c load_object_file
+0000ec24 g F .text 00000270 get_override_drop_id
+0000d7d0 g F .text 0000005c resolve_alternative_flag
+000128c4 g F .text 00000154 draw_gi_magic_spells
8038c9a0 g *ABS* 00000000 Player_UseItem
-0001eaf0 g F .text 000001d8 ObjKibako_Draw
-0000ea38 g F .text 000000c8 move_outgoing_queue
-00006b90 g F .text 00000354 draw_silver_rupee_count
+0001b74c g F .text 000001b4 ObjKibako_Draw
+0000da84 g F .text 0000009c move_outgoing_queue
+00006348 g F .text 00000334 draw_silver_rupee_count
00000000 *UND* 00000000 CFG_RAINBOW_NAVI_NPC_INNER_ENABLED
-0002cee0 g O .data 000000fc childSkeleton
-0002d400 g O .data 00000004 CHEST_SIZE_TEXTURE
-00001198 g F .text 00000038 DoorWarp1_WaterMedallion_Overwrite
+00028dd8 g O .data 000000fc childSkeleton
+000292c8 g O .data 00000004 CHEST_SIZE_TEXTURE
+00000df8 g F .text 00000018 DoorWarp1_WaterMedallion_Overwrite
00000000 *UND* 00000000 CHEST_SKULL_TEXTURE
-0001d384 g F .text 000000a8 draw_model_low_level
-00015118 g F .text 0000021c draw_gi_fairy_lantern
-0001edd0 g F .text 0000010c ObjKibako2_SpawnCollectible_Hack
-0001f4a8 g F .text 000000cc enitem00_set_link_incoming_item_id
-00014b9c g F .text 000001d0 draw_gi_mirror_shield
+0001a354 g F .text 00000084 draw_model_low_level
+00013254 g F .text 000001ec draw_gi_fairy_lantern
+0001b9e0 g F .text 000000ec ObjKibako2_SpawnCollectible_Hack
+0001bfe8 g F .text 000000ac enitem00_set_link_incoming_item_id
+00012d54 g F .text 000001a4 draw_gi_mirror_shield
00000000 *UND* 00000000 PLAYER_NAMES
-00012ba4 g F .text 0000010c draw_input_viewer
-00011da4 g F .text 00000114 draw_a
-00022584 g F .text 00000158 Inventory_ReplaceItem_Override
+000111a0 g F .text 000000e4 draw_input_viewer
+00010788 g F .text 000000d0 draw_a
+0001e828 g F .text 00000128 Inventory_ReplaceItem_Override
00000000 *UND* 00000000 CFG_DUNGEON_INFO_MQ_NEED_MAP
-00021690 g F .text 00000108 get_current_scene_setup_number
-0001e9ec g F .text 00000100 ObjComb_Update
+00000000 *UND* 00000000 LANG_WIDE_CHAR_WIDTH_COUNT
+0001dce4 g F .text 000000c8 get_current_scene_setup_number
+0001b660 g F .text 000000ec ObjComb_Update
8005991c g *ABS* 00000000 CutsceneFlags_Get
-00017ca0 g F .text 00000058 base_draw_gi_model
+000158d0 g F .text 00000038 base_draw_gi_model
00000000 *UND* 00000000 OUTGOING_ITEM
-00027a38 g O .data 00000068 dungeon_rooms
+0002395c g O .data 00000068 dungeon_rooms
8039eaa0 g *ABS* 00000000 z64_AmmoItems
-00021efc g F .text 000000bc SaveFile_UpdateShiftableItem
-000227d8 g F .text 00000030 IsCuccoGivenToCuccoLady
-00047c60 g O .data 00000001 COMPLETE_MASK_QUEST
+0001e2f4 g F .text 00000098 SaveFile_UpdateShiftableItem
+0001ea14 g F .text 00000018 IsCuccoGivenToCuccoLady
+00043af0 g O .data 00000001 COMPLETE_MASK_QUEST
00000000 *UND* 00000000 CFG_MAGIC_COLOR
-0001da30 g F .text 00000090 skull_token_draw
-0000fae0 g F .text 000000a0 Item_DropCollectible_Room_Hack
-00021fb8 g F .text 00000054 SaveFile_SetTradeItemAsTraded
-0000adf0 g F .text 0000007c EnItem00_Init_Hook
-000011d0 g F .text 0000001c DoorWarp1_SpiritMedallion_Overwrite
+0001a860 g F .text 00000064 skull_token_draw
+0000e8d4 g F .text 00000074 Item_DropCollectible_Room_Hack
+0001e38c g F .text 00000038 SaveFile_SetTradeItemAsTraded
+0000a44c g F .text 0000005c EnItem00_Init_Hook
+00000e10 g F .text 00000008 DoorWarp1_SpiritMedallion_Overwrite
80394200 g *ABS* 00000000 KaleidoScope_QuadTextureIA8
00000000 *UND* 00000000 CFG_TEXT_CURSOR_COLOR
-0000014c g F .text 00000144 Actor_StoreFlag
-000158d8 g F .text 000001c4 draw_gi_small_keys
-00001900 g F .text 00000124 draw_chest_lid
-00029064 g O .data 00000040 hash_symbols
-0001f5e8 g F .text 00000058 can_spawn_epona
-00026df8 g .rodata 00000000 TRIFORCE_SPRITE_RESOURCE_END
-0001b138 g F .text 0000055c Message_Decode_Additional_Control_Codes
-0000b70c g F .text 00000034 extern_scene_init
-0000af68 g F .text 0000008c EnItem00_Draw_Hook
-0001d27c g F .text 0000007c set_object_segment
-00000c00 g F .text 00000290 draw_agony
-000189c8 g F .text 000000b0 resolve_text_small_keys
-000232c0 g F .text 00000034 heap_init
-0001ae10 g F .text 00000114 Message_AddStringWide
-00001c38 g F .text 00000108 draw_forest_hallway_chest_lid
-000179c4 g F .text 0000010c draw_gi_deku_nut_with_flame
+000000dc g F .text 0000011c Actor_StoreFlag
+0001395c g F .text 0000019c draw_gi_small_keys
+00001468 g F .text 000000fc draw_chest_lid
+00024f6c g O .data 00000040 hash_symbols
+0001c0e0 g F .text 00000044 can_spawn_epona
+00022d30 g .rodata 00000000 TRIFORCE_SPRITE_RESOURCE_END
+000184c4 g F .text 00000538 Message_Decode_Additional_Control_Codes
+0000ab8c g F .text 00000018 extern_scene_init
+0000a578 g F .text 00000068 EnItem00_Draw_Hook
+0001a2a0 g F .text 0000004c set_object_segment
+000009c8 g F .text 000001f8 draw_agony
+00016204 g F .text 00000088 resolve_text_small_keys
+0001f3b4 g F .text 00000014 heap_init
+00018208 g F .text 000000e8 Message_AddStringWide
+000016e8 g F .text 000000dc draw_forest_hallway_chest_lid
+00015698 g F .text 000000a0 draw_gi_deku_nut_with_flame
8039eab4 g *ABS* 00000000 z64_sEquipAnimTimer
-0001cc5c g F .text 00000114 FindHierarchy
+00019da8 g F .text 000000e0 FindHierarchy
00000000 *UND* 00000000 CFG_RAINBOW_NAVI_PROP_INNER_ENABLED
-0001d9a0 g F .text 00000090 heart_container_draw
-0002f2a0 g O .data 00000004 spawn_actor_with_flag
-00012d40 g F .text 000000c0 draw_gi_bombchu_and_masks
-00047ca4 g O .data 000000c0 object_slots
-00027708 g O .data 00000330 overworld_warps
+0001a7fc g F .text 00000064 heart_container_draw
+0002b138 g O .data 00000004 spawn_actor_with_flag
+00011304 g F .text 0000009c draw_gi_bombchu_and_masks
+00043b08 g O .data 000000c0 object_slots
+0002362c g O .data 00000330 overworld_warps
800c7684 g *ABS* 00000000 Audio_StopCurrentMusic
-00017f44 g F .text 000000c4 give_small_key
-0002d4f8 g O .data 00000002 tentatives
+00015a68 g F .text 00000094 give_small_key
+000293a0 g O .data 00000002 tentatives
00000000 *UND* 00000000 CFG_DUNGEON_INFO_MQ_ENABLE
00000000 *UND* 00000000 POTCRATE_SKULL_TEXTURE
-00001b54 g F .text 0000003c get_dummy_chest
-000290b8 g O .data 00000015 items
-00014994 g F .text 00000208 draw_gi_potions
-00029120 g O .data 00000010 rupee_digit_sprite
+00001650 g F .text 0000001c get_dummy_chest
+00024fbc g O .data 00000015 items
+00012b84 g F .text 000001d0 draw_gi_potions
+00025028 g O .data 00000010 rupee_digit_sprite
00000000 *UND* 00000000 C_HEAP
-00010214 g F .text 00000300 item_give_collectible
-000200b0 g F .text 00000238 get_rainbow_color
+0000ef40 g F .text 000002e0 item_give_collectible
+0001ca00 g F .text 0000022c get_rainbow_color
00000000 *UND* 00000000 CFG_BOMBCHU_TRAIL_INNER_COLOR
-00028564 g O .data 00000138 forest_rooms
+00024488 g O .data 00000138 forest_rooms
00000000 *UND* 00000000 KEYRING_BOSSKEY_CONDITION
-0000e200 g F .text 0000017c get_override_search_key
-0002d500 g O .data 00000001 NO_ESCAPE_SEQUENCE
-0000e8d4 g F .text 00000070 clear_override
+0000d418 g F .text 00000158 get_override_search_key
+000293a2 g O .data 00000001 NO_ESCAPE_SEQUENCE
+0000d968 g F .text 00000054 clear_override
8039f114 g *ABS* 00000000 z64_SlotAgeReqs
-000231f0 g F .text 000000d0 manage_uninvert_yaxis
-000129cc g F .text 000000f0 draw_dleft
-00013a44 g F .text 00000154 draw_gi_coins_and_cuccos
-0000ecdc g F .text 00000088 pop_pending_item
-0002d410 g O .data 00000018 input_local_copy
-000203ec g F .text 0000006c Seeded_Rand_ZeroOne
-00018acc g F .text 0000005c resolve_text_keyrings
+0001f30c g F .text 000000a8 manage_uninvert_yaxis
+00011058 g F .text 000000a4 draw_dleft
+00011e2c g F .text 00000130 draw_gi_coins_and_cuccos
+0000dc5c g F .text 0000005c pop_pending_item
+000292d4 g O .data 00000018 input_local_copy
+0001cca0 g F .text 00000048 Seeded_Rand_ZeroOne
+000162c0 g F .text 0000003c resolve_text_keyrings
8038ea10 g *ABS* 00000000 KaleidoScope_DrawAmmoCount
-000121dc g F .text 00000120 draw_cup
-0001e324 g F .text 00000404 display_song_name
-0001af24 g F .text 00000108 Message_AddFileName
-00001a24 g F .text 0000006c draw_chest
+00010aa8 g F .text 000000d4 draw_cup
+0001b044 g F .text 000003d0 display_song_name
+000182f0 g F .text 000000e8 Message_AddFileName
+00001564 g F .text 00000048 draw_chest
80a87088 g *ABS* 00000000 OVL_EnOkarinaTag_Action1
00000000 *UND* 00000000 CFG_A_BUTTON_COLOR
-0002eee8 g O .data 000002bc xflag_room_table
+0002ad80 g O .data 000002bc xflag_room_table
00000000 *UND* 00000000 FIX_BROKEN_DROPS
00000000 *UND* 00000000 GET_ITEM_SEQ_ID
-000107a0 g F .text 00000084 sprite_bytes_per_tile
-00018b28 g F .text 00000060 get_item_row
-0000d370 g F .text 000000b4 is_saved_password_clear
-0002d429 g O .data 00000001 show_clock
-000174f0 g F .text 000003d4 draw_gi_magic_meter
-00001158 g F .text 00000040 DoorWarp1_FireMedallion_Overwrite
+0000f42c g F .text 00000064 sprite_bytes_per_tile
+000162fc g F .text 0000003c get_item_row
+0000c6d0 g F .text 0000008c is_saved_password_clear
+000292ed g O .data 00000001 show_clock
+0001525c g F .text 000003a0 draw_gi_magic_meter
+00000ddc g F .text 0000001c DoorWarp1_FireMedallion_Overwrite
00000000 *UND* 00000000 DISABLE_TIMERS
-0002334c g F .text 00000068 file_init
-0001c6a8 g F .text 000000d4 update_tunic_colors
-0002d620 g O .data 00000004 collectible_mutex
-00023a80 g O .rodata 0000000c rupee_colors
-00018768 g F .text 00000038 trade_quest_upgrade
-00025df8 g .rodata 00000000 TRIFORCE_SPRITE_RESOURCE
+0001f404 g F .text 00000044 file_init
+000198c8 g F .text 000000b0 update_tunic_colors
+000294b8 g O .data 00000004 collectible_mutex
+0001fa48 g O .rodata 0000000c rupee_colors
+00016030 g F .text 0000001c trade_quest_upgrade
+00021d30 g .rodata 00000000 TRIFORCE_SPRITE_RESOURCE
00000000 *UND* 00000000 EXTENDED_OBJECT_TABLE
-00011fd8 g F .text 000000ec draw_start
-00022cac g F .text 00000510 draw_triforce_count
+0001092c g F .text 000000a8 draw_start
+0001ee50 g F .text 000004a8 draw_triforce_count
+00000000 *UND* 00000000 LANG_WIDE_CHAR_WIDTH_OVERRIDES
00000000 *UND* 00000000 PLAYER_NAME_ID
-00000308 g F .text 000000ac get_newflag_override
+0000024c g F .text 0000008c get_newflag_override
800d6218 g *ABS* 00000000 Message_CloseTextbox
-00021c10 g F .text 00000048 GetTradeItemIndex
+0001e120 g F .text 00000020 GetTradeItemIndex
800aa724 g *ABS* 00000000 Matrix_Pop
00000000 *UND* 00000000 CFG_TUNIC_COLORS
-0002d0e0 g O .data 000000bc bgm_sequence_ids
-000017dc g F .text 00000124 draw_chest_base
-0001ad64 g F .text 000000ac Message_AddString
+00028fd0 g O .data 000000bc bgm_sequence_ids
+0000136c g F .text 000000fc draw_chest_base
+00018184 g F .text 00000084 Message_AddString
00000000 *UND* 00000000 TRIFORCE_HUNT_ENABLED
-00014544 g F .text 00000134 draw_gi_fish_bottle
-000010e8 g F .text 0000001c DoorWarp1_KokiriEmerald_Overwrite
-0001d56c g F .text 00000068 models_init
-00011368 g F .text 0000005c rando_display_buffer_reset
-0002aa78 g O .data 00000022 key_counts
+000127bc g F .text 00000108 draw_gi_fish_bottle
+00000dbc g F .text 00000008 DoorWarp1_KokiriEmerald_Overwrite
+0001a4d4 g F .text 0000004c models_init
+0000feec g F .text 00000038 rando_display_buffer_reset
+00026974 g O .data 00000022 key_counts
diff --git a/ASM/c/message.c b/ASM/c/message.c
index 5662d43d24..1eb5d054fc 100644
--- a/ASM/c/message.c
+++ b/ASM/c/message.c
@@ -47,6 +47,83 @@ uint16_t FILENAME_ENCODING_WIDE[256] = {
extern uint8_t PLAYER_NAMES[256][8];
extern uint8_t PLAYER_NAME_ID;
uint16_t current_textbox_id;
+
+typedef struct WideCharWidthOverride {
+ uint16_t code;
+ uint8_t width;
+ uint8_t reserved;
+} WideCharWidthOverride;
+
+extern uint16_t LANG_WIDE_CHAR_WIDTH_COUNT;
+extern WideCharWidthOverride LANG_WIDE_CHAR_WIDTH_OVERRIDES[];
+extern uint8_t LANG_WIDE_TEXT_ENGLISH_METRICS;
+
+#define G_REG_EDITOR_PTR ((int16_t**)0x8011BA60)
+
+#define WIDE_TEXT_INIT_XPOS_REG_INDEX 0x580
+#define WIDE_TEXT_LINE_SPACING_REG_INDEX 0x582
+#define WIDE_TEXT_CHAR_SCALE_REG_INDEX 0x583
+
+uint16_t Message_GetWideCharWidth(uint16_t character) {
+ uint16_t count = LANG_WIDE_CHAR_WIDTH_COUNT;
+
+ for (uint16_t i = 0; i < count; i++) {
+ if (LANG_WIDE_CHAR_WIDTH_OVERRIDES[i].code == character) {
+ return LANG_WIDE_CHAR_WIDTH_OVERRIDES[i].width;
+ }
+ }
+
+ return 16;
+}
+
+uint16_t Message_GetWideCharScaledAdvance(uint16_t character, uint16_t textCharScale) {
+ return (uint16_t)(((uint32_t)Message_GetWideCharWidth(character) * (uint32_t)textCharScale) / 100U);
+}
+
+static int16_t Message_GetWideTextCharScaleValue(void) {
+ return (LANG_WIDE_TEXT_ENGLISH_METRICS != 0) ? 75 : 88;
+}
+
+static int16_t Message_GetWideTextLineSpacingValue(void) {
+ return (LANG_WIDE_TEXT_ENGLISH_METRICS != 0) ? 12 : 18;
+}
+
+static int16_t Message_GetWideTextInitXPosValue(void) {
+ return (LANG_WIDE_TEXT_ENGLISH_METRICS != 0) ? 65 : 50;
+}
+
+uint16_t Message_GetWideTextCharScale(void) {
+ return (uint16_t)Message_GetWideTextCharScaleValue();
+}
+
+uint16_t Message_GetWideTextLineSpacing(void) {
+ return (uint16_t)Message_GetWideTextLineSpacingValue();
+}
+
+uint16_t Message_GetWideTextInitXPos(void) {
+ return (uint16_t)Message_GetWideTextInitXPosValue();
+}
+
+void Message_ApplyJpTextMetrics(void) {
+ int16_t* regEditor = *G_REG_EDITOR_PTR;
+
+ if (regEditor == NULL) {
+ return;
+ }
+
+ regEditor[WIDE_TEXT_CHAR_SCALE_REG_INDEX] = Message_GetWideTextCharScaleValue();
+ regEditor[WIDE_TEXT_LINE_SPACING_REG_INDEX] = Message_GetWideTextLineSpacingValue();
+ regEditor[WIDE_TEXT_INIT_XPOS_REG_INDEX] = Message_GetWideTextInitXPosValue();
+}
+
+void Message_ApplyWideTextNewline(MessageContext* msgCtx) {
+ // Force wide-mode newline spacing to use the same runtime flag as the glyph metrics.
+ // This avoids depending on a possibly stale R_TEXT_LINE_SPACING value.
+ Message_ApplyJpTextMetrics();
+ msgCtx->textPosY += Message_GetWideTextLineSpacingValue();
+ msgCtx->textPosX = Message_GetWideTextInitXPosValue();
+}
+
// Helper function for adding characters to the decoded message buffer
void Message_AddCharacter(MessageContext* msgCtx, void* pFont, uint32_t* pDecodedBufPos, uint32_t* pCharTexIdx, uint8_t charToAdd) {
uint32_t decodedBufPosVal = *pDecodedBufPos;
diff --git a/ASM/src/config.asm b/ASM/src/config.asm
index f243dee7ef..6ce5627059 100644
--- a/ASM/src/config.asm
+++ b/ASM/src/config.asm
@@ -348,3 +348,41 @@ CFG_BOSSES:
; Bosses are listed twice, first 12 are sorted by the same order as the dungeon entrances (including the 3 with no bosses), then 9 in the usual dungeon order.
.align 4
+
+;==================================================================================================
+; Language character width table
+;==================================================================================================
+; f32[144]. The front-end writes language-specific widths here from property.json:CHAR_WIDTHS.
+; The Message_DrawText hijack redirects the original sFontWidths load to this table.
+; Keep this after the existing configuration tables so older CFG_* addresses do not move.
+
+.align 4
+.area 0x240, 0
+LANG_CHAR_WIDTHS:
+.endarea
+
+
+;==================================================================================================
+; Language wide character width override table
+;==================================================================================================
+; Used only by JP/wide text mode languages.
+; Runtime default width is fixed at 16 pixels. Only entries listed in property.json:CHAR_WIDTHS
+; are written here, using compact pseudo-variable-length entries:
+; u16 code, u8 width, u8 reserved
+; LANG_WIDE_TEXT_ENGLISH_METRICS is written by Patches.py from
+; lang_property.wide_text_english_metrics. 0 = vanilla JP metrics, 1 = English-like metrics.
+
+.align 4
+LANG_WIDE_TEXT_ENGLISH_METRICS:
+.byte 0
+.byte 0, 0, 0
+
+.align 4
+LANG_WIDE_CHAR_WIDTH_COUNT:
+.halfword 0
+.halfword 0
+
+.align 4
+.area 0x1000, 0
+LANG_WIDE_CHAR_WIDTH_OVERRIDES:
+.endarea
diff --git a/ASM/src/hacks/message.asm b/ASM/src/hacks/message.asm
index 8e8526d3a5..286e80436e 100644
--- a/ASM/src/hacks/message.asm
+++ b/ASM/src/hacks/message.asm
@@ -11,3 +11,162 @@
; Replaces li t7,1 (msgCtx->stateTimer = 1)
.org 0x800debb8 ; in Message_DrawMain
li t7,2 ; Add one extra frame between Ocarina effect and Nayru killed
+
+;================================================================================
+; Repoint vanilla non-wide message character width table
+;================================================================================
+; This file is included by ASM/src/hacks.asm as hacks/message.asm.
+;
+; Object/map note for this hack context:
+; .headersize maps z_message_z_game_over.o .text offset 0 to VRAM 0x800D5EF0.
+; Message_OpenText is .text + 0x6948, therefore 0x800DC838 here.
+; The sFontWidths HI/LO relocation sites are Message_OpenText - 0x279C / -0x278C.
+;
+; LANG_CHAR_WIDTHS is added after CFG_BOSSES in config.asm. Newly-added config labels
+; are not always visible in this armips pass, so this uses the already-visible
+; CFG_BOSSES anchor instead of referencing LANG_CHAR_WIDTHS directly.
+;
+; Current config layout:
+; CFG_BOSSES size = 21 * 0x9 = 0xBD
+; LANG_CHAR_WIDTHS starts at CFG_BOSSES + 0xBD
+; vanilla raw-byte index compensation = 0x20 * sizeof(f32) = 0x80
+; load base = LANG_CHAR_WIDTHS - 0x80 = CFG_BOSSES + 0x3D
+
+.definelabel MESSAGE_OPEN_TEXT_VRAM, 0x800DC838
+
+.org MESSAGE_OPEN_TEXT_VRAM - 0x279C
+ lui at, hi(LANG_CHAR_WIDTHS - 0x80)
+
+.org MESSAGE_OPEN_TEXT_VRAM - 0x278C
+ lwc1 f16, lo(LANG_CHAR_WIDTHS - 0x80)(at)
+
+
+;================================================================================
+; JP/wide text metrics runtime switch
+;================================================================================
+; The old Python-side immediate patch was fragile because it depended on exact ROM
+; offsets. Hook the JP branch in Message_OpenText instead. Non-JP text still uses
+; the original English branch. JP/wide languages call the C helper, which checks
+; LANG_WIDE_TEXT_ENGLISH_METRICS and writes either vanilla JP metrics or English-like
+; metrics at runtime.
+;
+; Original JP branch in z_message_z_game_over.o:
+; Message_OpenText + 0x108 (.text + 0x6A50) starts JP metrics writes
+; Message_OpenText + 0x144 (.text + 0x6A8C) rejoins after metrics selection
+
+.definelabel MESSAGE_OPEN_TEXT_JP_METRICS_VRAM, MESSAGE_OPEN_TEXT_VRAM + 0x108
+.definelabel MESSAGE_OPEN_TEXT_AFTER_METRICS_VRAM, MESSAGE_OPEN_TEXT_VRAM + 0x144
+
+.org MESSAGE_OPEN_TEXT_JP_METRICS_VRAM
+.area 0x24, 0
+ ; Preserve the live values used after the metrics block.
+ addiu sp, sp, -0x08
+ sw v1, 0x0000(sp) ; current textId
+ jal Message_ApplyJpTextMetrics
+ sw a1, 0x0004(sp) ; gSaveContext pointer
+ lw v1, 0x0000(sp)
+ lw a1, 0x0004(sp)
+ addiu sp, sp, 0x08
+ b MESSAGE_OPEN_TEXT_AFTER_METRICS_VRAM
+ nop
+.endarea
+
+;================================================================================
+; Wide/Japanese newline metrics override
+;================================================================================
+; The normal newline path reads R_TEXT_LINE_SPACING and R_TEXT_INIT_XPOS directly.
+; Hook it so wide_text_english_metrics also controls line distance even if a later
+; game path restores the vanilla JP register values.
+
+.definelabel MESSAGE_DRAW_TEXT_WIDE_NEWLINE_VRAM, 0x800D7CF8
+.definelabel MESSAGE_DRAW_TEXT_WIDE_AFTER_NEWLINE_VRAM, 0x800D7D1C
+
+.org MESSAGE_DRAW_TEXT_WIDE_NEWLINE_VRAM
+.area (MESSAGE_DRAW_TEXT_WIDE_AFTER_NEWLINE_VRAM - MESSAGE_DRAW_TEXT_WIDE_NEWLINE_VRAM), 0
+ jal Message_ApplyWideTextNewline
+ or a0, s1, r0 ; s1 = &play->msgCtx in Message_DrawTextWide
+ b MESSAGE_DRAW_TEXT_WIDE_AFTER_NEWLINE_VRAM
+ nop
+.endarea
+
+;================================================================================
+; Wide/Japanese message width override lookup
+;================================================================================
+; Replaces the post-draw width handling in Message_DrawTextWide. The vanilla code
+; has several hard-coded JP punctuation advances, then a 16px default. For the
+; language override system, the C helper first searches LANG_WIDE_CHAR_WIDTH_*
+; and returns default 16 when the character is not listed. This keeps ROM usage
+; low and gives CHAR_WIDTHS precedence over every wide character.
+;
+; Offsets from z_message_z_game_over.o:
+; Message_DrawTextWide = .text + 0x1C10
+; default glyph draw setup starts at .text + 0x2E30
+; post Message_DrawTextChar width handling starts at .text + 0x2E50
+; next loop continuation starts at .text + 0x2F84
+;
+; v3 only changed metrics in Message_OpenText. Some message paths can still render
+; with stale JP scale/spacing, so v4 also reapplies metrics immediately before
+; every wide glyph is drawn. This guarantees Message_DrawTextChar sees the
+; English-like R_TEXT_CHAR_SCALE value and later newline handling sees the
+; English-like R_TEXT_LINE_SPACING value.
+
+.definelabel MESSAGE_DRAW_TEXT_WIDE_BEFORE_DRAW_VRAM, 0x800D8D20
+.definelabel MESSAGE_DRAW_TEXT_WIDE_AFTER_WIDTH_VRAM, 0x800D8E74
+.definelabel MESSAGE_DRAW_TEXT_CHAR_VRAM, 0x800D6470
+
+.org MESSAGE_DRAW_TEXT_WIDE_BEFORE_DRAW_VRAM
+.area (MESSAGE_DRAW_TEXT_WIDE_AFTER_WIDTH_VRAM - MESSAGE_DRAW_TEXT_WIDE_BEFORE_DRAW_VRAM), 0
+ ; Ensure R_TEXT_CHAR_SCALE / R_TEXT_LINE_SPACING / R_TEXT_INIT_XPOS are current
+ ; before Message_DrawTextChar computes sCharTexSize and sCharTexScale.
+ ; The current wide character is in t0/t8 depending on the path; preserve the
+ ; canonical t0 value on the stack before calling C helpers.
+ or t0, t0, r0 ; current wide character was reloaded into t0 by prior paths
+ sw t0, 0x0050(sp)
+ jal Message_ApplyJpTextMetrics
+ nop
+
+ ; Displaced vanilla setup for Message_DrawTextChar.
+ ; Message_DrawTextChar is a vanilla z_message function and is not visible as a
+ ; symbol in this armips pass, so call its local VRAM address explicitly.
+ ; t9 = font->charTexBuf base saved at 0x58(sp)
+ ; charTexIdx = 0x128(sp)
+ ; a0 = play, a1 = texture pointer, a2 = &gfx
+ lw t0, 0x0050(sp) ; restore current wide character after helper call
+ lw t9, 0x0058(sp)
+ lhu t8, 0x0128(sp)
+ lw a0, 0x0138(sp)
+ addiu a2, sp, 0x0124
+ addu a1, t9, t8
+ jal MESSAGE_DRAW_TEXT_CHAR_VRAM
+ addiu a1, a1, 0x0008
+
+ lw t0, 0x0050(sp) ; Message_DrawTextChar clobbers t-registers
+
+ ; displaced: charTexIdx += FONT_CHAR_TEX_SIZE
+ lhu t7, 0x0128(sp)
+ addiu t7, t7, 0x0080
+ sh t7, 0x0128(sp)
+
+ ; a0 = current wide character, a1 = R_TEXT_CHAR_SCALE
+ lw t6, 0x0000(s7) ; gRegEditor pointer, as used by vanilla Message_DrawTextWide
+ or a0, r0, t0
+ jal Message_GetWideCharScaledAdvance
+ lh a1, 0x0B06(t6)
+
+ ; msgCtx->textPosX += scaled advance
+ lh t6, 0x63D8(s0)
+ addiu at, s1, 0x7FFF
+ addu t7, t6, v0
+ sh t7, 0x63D9(at)
+
+ ; Message_DrawTextChar and helper calls clobber t-register constants used by
+ ; the next loop iteration.
+ ori t1, r0, 0x819F
+ ori t2, r0, 0x81A3
+ ori t3, r0, 0x81A4
+ ori t4, r0, 0x81A5
+ ori t5, r0, 0x8170
+
+ b MESSAGE_DRAW_TEXT_WIDE_AFTER_WIDTH_VRAM
+ nop
+.endarea
diff --git a/GUI/devtools/.DS_Store b/GUI/devtools/.DS_Store
new file mode 100644
index 0000000000..cfffff13cf
Binary files /dev/null and b/GUI/devtools/.DS_Store differ
diff --git a/GUI/devtools/language-editor/charmap.chn.json b/GUI/devtools/language-editor/charmap.chn.json
new file mode 100644
index 0000000000..ef64f1def2
--- /dev/null
+++ b/GUI/devtools/language-editor/charmap.chn.json
@@ -0,0 +1,3637 @@
+{
+ "format": "ootr-language-editor-cn-charmap-v1",
+ "description": "iQue / Chinese text character map. Control codes use the English one-byte control-code layout; non-control characters use this table.",
+ "source": "charmap.chn.txt",
+ "charToCode": {
+ "\n": "0x01",
+ "[A]": "0xAA9F",
+ "[B]": "0xAAA0",
+ "[C]": "0xAAA1",
+ "[L]": "0xAAA2",
+ "[R]": "0xAAA3",
+ "[Z]": "0xAAA4",
+ "[C-Up]": "0xAAA5",
+ "[C-Down]": "0xAAA6",
+ "[C-Left]": "0xAAA7",
+ "[C-Right]": "0xAAA8",
+ "▼": "0xAAA9",
+ "[Control-Pad]": "0xAAAA",
+ "À": "0x80",
+ "î": "0x81",
+ "Â": "0x82",
+ "Ä": "0x83",
+ "Ç": "0x84",
+ "È": "0x85",
+ "É": "0x86",
+ "Ê": "0x87",
+ "Ë": "0x88",
+ "Ï": "0x89",
+ "Ô": "0x8A",
+ "Ö": "0x8B",
+ "Ù": "0x8C",
+ "Û": "0x8D",
+ "Ü": "0x8E",
+ "ß": "0x8F",
+ "à": "0x90",
+ "á": "0x91",
+ "â": "0x92",
+ "ä": "0x93",
+ "ç": "0x94",
+ "è": "0x95",
+ "é": "0x96",
+ "ê": "0x97",
+ "ë": "0x98",
+ "ï": "0x99",
+ "ô": "0x9A",
+ "ö": "0x9B",
+ "ù": "0x9C",
+ "û": "0x9D",
+ "ü": "0x9E",
+ "你": "0xA08C",
+ "借": "0xA08D",
+ "到": "0xA08E",
+ "了": "0xA08F",
+ "一": "0xA090",
+ "颗": "0xA091",
+ "口": "0xA092",
+ "袋": "0xA093",
+ "鸡": "0xA094",
+ "蛋": "0xA095",
+ "过": "0xA096",
+ "夜": "0xA097",
+ "后": "0xA098",
+ "就": "0xA099",
+ "会": "0xA09A",
+ "孵": "0xA09B",
+ "出": "0xA09C",
+ "只": "0xA09D",
+ ",": "0xA09E",
+ "用": "0xA09F",
+ "完": "0xA0A0",
+ "别": "0xA0A1",
+ "忘": "0xA0A2",
+ "记": "0xA0A3",
+ "把": "0xA0A4",
+ "它": "0xA0A5",
+ "还": "0xA0A6",
+ "回": "0xA0A7",
+ "去": "0xA0A8",
+ "。": "0xA0A9",
+ "归": "0xA0AA",
+ "得": "0xA0AB",
+ "克": "0xA0AC",
+ "洛": "0xA0AD",
+ "!": "0xA0AE",
+ "与": "0xA0AF",
+ "不": "0xA0B0",
+ "同": "0xA0B1",
+ "很": "0xA0B2",
+ "少": "0xA0B3",
+ "啼": "0xA0B4",
+ "叫": "0xA0B5",
+ "个": "0xA0B6",
+ "奇": "0xA0B7",
+ "异": "0xA0B8",
+ "蘑": "0xA0B9",
+ "菇": "0xA0BA",
+ "新": "0xA0BB",
+ "鲜": "0xA0BC",
+ "的": "0xA0BD",
+ "都": "0xA0BE",
+ "容": "0xA0BF",
+ "易": "0xA0C0",
+ "变": "0xA0C1",
+ "质": "0xA0C2",
+ "快": "0xA0C3",
+ "拿": "0xA0C4",
+ "卡": "0xA0C5",
+ "利": "0xA0C6",
+ "科": "0xA0C7",
+ "药": "0xA0C8",
+ "店": "0xA0C9",
+ "吧": "0xA0CA",
+ "之": "0xA0CB",
+ "知": "0xA0CC",
+ "道": "0xA0CD",
+ "这": "0xA0CE",
+ "两": "0xA0CF",
+ "人": "0xA0D0",
+ "间": "0xA0D1",
+ "发": "0xA0D2",
+ "生": "0xA0D3",
+ "什": "0xA0D4",
+ "么": "0xA0D5",
+ "事": "0xA0D6",
+ "但": "0xA0D7",
+ "带": "0xA0D8",
+ "迷": "0xA0D9",
+ "失": "0xA0DA",
+ "森": "0xA0DB",
+ "林": "0xA0DC",
+ "物": "0xA0DD",
+ "原": "0xA0DE",
+ "主": "0xA0DF",
+ "偷": "0xA0E0",
+ "猎": "0xA0E1",
+ "者": "0xA0E2",
+ "锯": "0xA0E3",
+ "定": "0xA0E4",
+ "是": "0xA0E5",
+ "那": "0xA0E6",
+ "年": "0xA0E7",
+ "轻": "0xA0E8",
+ "留": "0xA0E9",
+ "下": "0xA0EA",
+ "炸": "0xA0EB",
+ "弹": "0xA0EC",
+ "枚": "0xA0ED",
+ "卢": "0xA0EE",
+ "比": "0xA0EF",
+ "买": "0xA0F0",
+ "德": "0xA0F1",
+ "库": "0xA0F2",
+ "子": "0xA0F3",
+ "可": "0xA0F4",
+ "以": "0xA0F5",
+ "装": "0xA0F6",
+ "弓": "0xA0F7",
+ "换": "0xA0F8",
+ "破": "0xA0F9",
+ "损": "0xA0FA",
+ "格": "0xA0FB",
+ "雷": "0xA0FC",
+ "剑": "0xA0FD",
+ "大": "0xA0FE",
+ "城": "0xA0FF",
+ "修": "0xA100",
+ "好": "0xA101",
+ "交": "0xA102",
+ "处": "0xA103",
+ "方": "0xA104",
+ "见": "0xA105",
+ "卓": "0xA106",
+ "拉": "0xA107",
+ "王": "0xA108",
+ "⋯": "0xA109",
+ "兑": "0xA10A",
+ "券": "0xA10B",
+ "急": "0xA10C",
+ "切": "0xA10D",
+ "地": "0xA10E",
+ "希": "0xA10F",
+ "望": "0xA110",
+ "点": "0xA111",
+ "铸": "0xA112",
+ "卖": "0xA113",
+ "掉": "0xA114",
+ "巨": "0xA115",
+ "刀": "0xA116",
+ "铁": "0xA117",
+ "匠": "0xA118",
+ "师": "0xA119",
+ "所": "0xA11A",
+ "造": "0xA11B",
+ "坚": "0xA11C",
+ "摧": "0xA11D",
+ "卷": "0xA11E",
+ "眼": "0xA11F",
+ "青": "0xA120",
+ "蛙": "0xA121",
+ "趁": "0xA122",
+ "凉": "0xA123",
+ "海": "0xA124",
+ "鲁": "0xA125",
+ "湖": "0xA126",
+ "世": "0xA127",
+ "上": "0xA128",
+ "最": "0xA129",
+ "水": "0xA12A",
+ "在": "0xA12B",
+ "前": "0xA12C",
+ "送": "0xA12D",
+ "蠃": "0xA12E",
+ "啦": "0xA12F",
+ "骷": "0xA130",
+ "髅": "0xA131",
+ "面": "0xA132",
+ "具": "0xA133",
+ "按": "0xA134",
+ "戴": "0xA135",
+ "试": "0xA136",
+ "看": "0xA137",
+ "着": "0xA138",
+ "真": "0xA139",
+ "像": "0xA13A",
+ "怪": "0xA13B",
+ "恐": "0xA13C",
+ "怖": "0xA13D",
+ "吓": "0xA13E",
+ "基": "0xA13F",
+ "顿": "0xA140",
+ "受": "0xA141",
+ "欢": "0xA142",
+ "迎": "0xA143",
+ "哦": "0xA144",
+ "兔": "0xA145",
+ "兜": "0xA146",
+ "帽": "0xA147",
+ "长": "0xA148",
+ "耳": "0xA149",
+ "朵": "0xA14A",
+ "太": "0xA14B",
+ "爱": "0xA14C",
+ "让": "0xA14D",
+ "头": "0xA14E",
+ "起": "0xA14F",
+ "来": "0xA150",
+ "有": "0xA151",
+ "女": "0xA152",
+ "孩": "0xA153",
+ "?": "0xA154",
+ "理": "0xA155",
+ "更": "0xA156",
+ "多": "0xA157",
+ "我": "0xA158",
+ "们": "0xA159",
+ "娱": "0xA15A",
+ "乐": "0xA15B",
+ "中": "0xA15C",
+ "心": "0xA15D",
+ ":": "0xA15E",
+ "保": "0xA15F",
+ "龄": "0xA160",
+ "球": "0xA161",
+ "场": "0xA162",
+ "想": "0xA163",
+ "奖": "0xA164",
+ "品": "0xA165",
+ "吗": "0xA166",
+ "秘": "0xA167",
+ "密": "0xA168",
+ "付": "0xA169",
+ "钱": "0xA16A",
+ "才": "0xA16B",
+ "告": "0xA16C",
+ "诉": "0xA16D",
+ "玩": "0xA16E",
+ "次": "0xA16F",
+ "要": "0xA170",
+ "瞄": "0xA171",
+ "准": "0xA172",
+ "洞": "0xA173",
+ "放": "0xA174",
+ "鼠": "0xA175",
+ "十": "0xA176",
+ "机": "0xA177",
+ "预": "0xA178",
+ "备": "0xA179",
+ "开": "0xA17A",
+ "始": "0xA17B",
+ "再": "0xA17C",
+ "差": "0xA17D",
+ "(": "0xA17E",
+ ")": "0xA17F",
+ "捡": "0xA180",
+ "扔": "0xA181",
+ "没": "0xA182",
+ "能": "0xA183",
+ "恢": "0xA184",
+ "复": "0xA185",
+ "正": "0xA186",
+ "常": "0xA187",
+ "请": "0xA188",
+ "救": "0xA189",
+ "其": "0xA18A",
+ "他": "0xA18B",
+ "兄": "0xA18C",
+ "弟": "0xA18D",
+ "给": "0xA18E",
+ "励": "0xA18F",
+ "诅": "0xA190",
+ "咒": "0xA191",
+ "解": "0xA192",
+ "除": "0xA193",
+ "谢": "0xA194",
+ "报": "0xA195",
+ "呀": "0xA196",
+ "啊": "0xA197",
+ "被": "0xA198",
+ "小": "0xA199",
+ "消": "0xA19A",
+ "灭": "0xA19B",
+ "蜘": "0xA19C",
+ "蛛": "0xA19D",
+ "已": "0xA19E",
+ "经": "0xA19F",
+ "减": "0xA1A0",
+ "弱": "0xA1A1",
+ "富": "0xA1A2",
+ "办": "0xA1A3",
+ "法": "0xA1A4",
+ "越": "0xA1A5",
+ "些": "0xA1A6",
+ "验": "0xA1A7",
+ "帮": "0xA1A8",
+ "助": "0xA1A9",
+ "寻": "0xA1AA",
+ "找": "0xA1AB",
+ "首": "0xA1AC",
+ "先": "0xA1AD",
+ "晚": "0xA1AE",
+ "行": "0xA1AF",
+ "动": "0xA1B0",
+ "第": "0xA1B1",
+ "二": "0xA1B2",
+ "住": "0xA1B3",
+ "喜": "0xA1B4",
+ "松": "0xA1B5",
+ "柔": "0xA1B6",
+ "土": "0xA1B7",
+ "壤": "0xA1B8",
+ "仔": "0xA1B9",
+ "细": "0xA1BA",
+ "观": "0xA1BB",
+ "察": "0xA1BC",
+ "周": "0xA1BD",
+ "围": "0xA1BE",
+ "全": "0xA1BF",
+ "靠": "0xA1C0",
+ "成": "0xA1C1",
+ "样": "0xA1C2",
+ "因": "0xA1C3",
+ "为": "0xA1C4",
+ "种": "0xA1C5",
+ "界": "0xA1C6",
+ "每": "0xA1C7",
+ "现": "0xA1C8",
+ "徽": "0xA1C9",
+ "章": "0xA1CA",
+ "收": "0xA1CB",
+ "集": "0xA1CC",
+ "作": "0xA1CD",
+ "战": "0xA1CE",
+ "绩": "0xA1CF",
+ "证": "0xA1D0",
+ "明": "0xA1D1",
+ "征": "0xA1D2",
+ "途": "0xA1D3",
+ "状": "0xA1D4",
+ "态": "0xA1D5",
+ "窗": "0xA1D6",
+ "此": "0xA1D7",
+ "图": "0xA1D8",
+ "标": "0xA1D9",
+ "旁": "0xA1DA",
+ "边": "0xA1DB",
+ "数": "0xA1DC",
+ "字": "0xA1DD",
+ "显": "0xA1DE",
+ "示": "0xA1DF",
+ "目": "0xA1E0",
+ "量": "0xA1E1",
+ "如": "0xA1E2",
+ "果": "0xA1E3",
+ "区": "0xA1E4",
+ "名": "0xA1E5",
+ "说": "0xA1E6",
+ "里": "0xA1E7",
+ "家": "0xA1E8",
+ "族": "0xA1E9",
+ "身": "0xA1EA",
+ "感": "0xA1EB",
+ "止": "0xA1EC",
+ "错": "0xA1ED",
+ "担": "0xA1EE",
+ "需": "0xA1EF",
+ "箭": "0xA1F0",
+ "关": "0xA1F1",
+ "系": "0xA1F2",
+ "强": "0xA1F3",
+ "迫": "0xA1F4",
+ "游": "0xA1F5",
+ "戏": "0xA1F6",
+ "著": "0xA1F7",
+ "射": "0xA1F8",
+ "击": "0xA1F9",
+ "从": "0xA1FA",
+ "台": "0xA1FB",
+ "够": "0xA1FC",
+ "五": "0xA1FD",
+ "支": "0xA1FE",
+ "武": "0xA1FF",
+ "器": "0xA200",
+ "争": "0xA201",
+ "取": "0xA202",
+ "祝": "0xA203",
+ "运": "0xA204",
+ "堆": "0xA205",
+ "软": "0xA206",
+ "泥": "0xA207",
+ "精": "0xA208",
+ "灵": "0xA209",
+ "选": "0xA20A",
+ "择": "0xA20B",
+ "或": "0xA20C",
+ "键": "0xA20D",
+ "并": "0xA20E",
+ "立": "0xA20F",
+ "即": "0xA210",
+ "时": "0xA211",
+ "举": "0xA212",
+ "置": "0xA213",
+ "跑": "0xA214",
+ "投": "0xA215",
+ "掷": "0xA216",
+ "疑": "0xA217",
+ "型": "0xA218",
+ "甚": "0xA219",
+ "至": "0xA21A",
+ "飞": "0xA21B",
+ "檐": "0xA21C",
+ "走": "0xA21D",
+ "壁": "0xA21E",
+ "闪": "0xA21F",
+ "光": "0xA220",
+ "使": "0xA221",
+ "敌": "0xA222",
+ "眩": "0xA223",
+ "晕": "0xA224",
+ "旋": "0xA225",
+ "镖": "0xA226",
+ "攻": "0xA227",
+ "远": "0xA228",
+ "短": "0xA229",
+ "钩": "0xA22A",
+ "条": "0xA22B",
+ "力": "0xA22C",
+ "链": "0xA22D",
+ "勾": "0xA22E",
+ "体": "0xA22F",
+ "获": "0xA230",
+ "自": "0xA231",
+ "己": "0xA232",
+ "根": "0xA233",
+ "木": "0xA234",
+ "棒": "0xA235",
+ "挥": "0xA236",
+ "舞": "0xA237",
+ "站": "0xA238",
+ "携": "0xA239",
+ "浪": "0xA23A",
+ "费": "0xA23B",
+ "锤": "0xA23C",
+ "砸": "0xA23D",
+ "碎": "0xA23E",
+ "废": "0xA23F",
+ "沉": "0xA240",
+ "双": "0xA241",
+ "手": "0xA242",
+ "镜": "0xA243",
+ "神": "0xA244",
+ "井": "0xA245",
+ "外": "0xA246",
+ "也": "0xA247",
+ "耗": "0xA248",
+ "魔": "0xA249",
+ "停": "0xA24A",
+ "笛": "0xA24B",
+ "塞": "0xA24C",
+ "尔": "0xA24D",
+ "达": "0xA24E",
+ "宝": "0xA24F",
+ "散": "0xA250",
+ "芒": "0xA251",
+ "施": "0xA252",
+ "展": "0xA253",
+ "花": "0xA254",
+ "风": "0xA255",
+ "返": "0xA256",
+ "避": "0xA257",
+ "退": "0xA258",
+ "火": "0xA259",
+ "勋": "0xA25A",
+ "圣": "0xA25B",
+ "尼": "0xA25C",
+ "亚": "0xA25D",
+ "觉": "0xA25E",
+ "醒": "0xA25F",
+ "将": "0xA260",
+ "赐": "0xA261",
+ "予": "0xA262",
+ "茹": "0xA263",
+ "特": "0xA264",
+ "她": "0xA265",
+ "萨": "0xA266",
+ "莉": "0xA267",
+ "娅": "0xA268",
+ "魂": "0xA269",
+ "纳": "0xA26A",
+ "波": "0xA26B",
+ "若": "0xA26C",
+ "暗": "0xA26D",
+ "英": "0xA26E",
+ "帕": "0xA26F",
+ "空": "0xA270",
+ "瓶": "0xA271",
+ "红": "0xA272",
+ "色": "0xA273",
+ "命": "0xA274",
+ "份": "0xA275",
+ "绿": "0xA276",
+ "蓝": "0xA277",
+ "和": "0xA278",
+ "抓": "0xA279",
+ "伙": "0xA27A",
+ "伴": "0xA27B",
+ "活": "0xA27C",
+ "随": "0xA27D",
+ "呼": "0xA27E",
+ "唤": "0xA27F",
+ "鱼": "0xA280",
+ "非": "0xA281",
+ "美": "0xA282",
+ "豆": "0xA283",
+ "园": "0xA284",
+ "合": "0xA285",
+ "适": "0xA286",
+ "趣": "0xA287",
+ "对": "0xA288",
+ "纪": "0xA289",
+ "念": "0xA28A",
+ "演": "0xA28B",
+ "奏": "0xA28C",
+ "各": "0xA28D",
+ "律": "0xA28E",
+ "重": "0xA28F",
+ "握": "0xA290",
+ "盾": "0xA291",
+ "蹲": "0xA292",
+ "防": "0xA293",
+ "御": "0xA294",
+ "移": "0xA295",
+ "表": "0xA296",
+ "滑": "0xA297",
+ "反": "0xA298",
+ "升": "0xA299",
+ "级": "0xA29A",
+ "延": "0xA29B",
+ "伸": "0xA29C",
+ "距": "0xA29D",
+ "离": "0xA29E",
+ "倍": "0xA29F",
+ "套": "0xA2A0",
+ "件": "0xA2A1",
+ "隔": "0xA2A2",
+ "热": "0xA2A3",
+ "穿": "0xA2A4",
+ "潜": "0xA2A5",
+ "服": "0xA2A6",
+ "淹": "0xA2A7",
+ "死": "0xA2A8",
+ "坛": "0xA2A9",
+ "充": "0xA2AA",
+ "满": "0xA2AB",
+ "靴": "0xA2AC",
+ "浮": "0xA2AD",
+ "悬": "0xA2AE",
+ "缺": "0xA2AF",
+ "摩": "0xA2B0",
+ "擦": "0xA2B1",
+ "段": "0xA2B2",
+ "勇": "0xA2B3",
+ "敢": "0xA2B4",
+ "相": "0xA2B5",
+ "信": "0xA2B6",
+ "超": "0xA2B7",
+ "东": "0xA2B8",
+ "哥": "0xA2B9",
+ "猛": "0xA2BA",
+ "龙": "0xA2BB",
+ "胃": "0xA2BC",
+ "做": "0xA2BD",
+ "幸": "0xA2BE",
+ "银": "0xA2BF",
+ "臂": "0xA2C0",
+ "答": "0xA2C1",
+ "应": "0xA2C2",
+ "遵": "0xA2C3",
+ "守": "0xA2C4",
+ "诺": "0xA2C5",
+ "言": "0xA2C6",
+ "金": "0xA2C7",
+ "焰": "0xA2C8",
+ "入": "0xA2C9",
+ "冷": "0xA2CA",
+ "艳": "0xA2CB",
+ "包": "0xA2CC",
+ "钥": "0xA2CD",
+ "匙": "0xA2CE",
+ "打": "0xA2CF",
+ "锁": "0xA2D0",
+ "门": "0xA2D1",
+ "限": "0xA2D2",
+ "于": "0xA2D3",
+ "宫": "0xA2D4",
+ "内": "0xA2D5",
+ "老": "0xA2D6",
+ "却": "0xA2D7",
+ "驱": "0xA2D8",
+ "喝": "0xA2D9",
+ "进": "0xA2DA",
+ "然": "0xA2DB",
+ "域": "0xA2DC",
+ "烁": "0xA2DD",
+ "当": "0xA2DE",
+ "位": "0xA2DF",
+ "拨": "0xA2E0",
+ "查": "0xA2E1",
+ "某": "0xA2E2",
+ "层": "0xA2E3",
+ "罗": "0xA2E4",
+ "盘": "0xA2E5",
+ "隐": "0xA2E6",
+ "藏": "0xA2E7",
+ "振": "0xA2E8",
+ "石": "0xA2E9",
+ "继": "0xA2EA",
+ "续": "0xA2EB",
+ "努": "0xA2EC",
+ "哇": "0xA2ED",
+ "公": "0xA2EE",
+ "签": "0xA2EF",
+ "临": "0xA2F0",
+ "西": "0xA2F1",
+ "便": "0xA2F2",
+ "箱": "0xA2F3",
+ "意": "0xA2F4",
+ "惊": "0xA2F5",
+ "话": "0xA2F6",
+ "左": "0xA2F7",
+ "右": "0xA2F8",
+ "赌": "0xA2F9",
+ "徒": "0xA2FA",
+ "值": "0xA2FB",
+ "威": "0xA2FC",
+ "增": "0xA2FD",
+ "冰": "0xA2FE",
+ "结": "0xA2FF",
+ "授": "0xA300",
+ "艰": "0xA301",
+ "苦": "0xA302",
+ "训": "0xA303",
+ "练": "0xA304",
+ "该": "0xA305",
+ "拥": "0xA306",
+ "而": "0xA307",
+ "荣": "0xA308",
+ "义": "0xA309",
+ "邪": "0xA30A",
+ "恶": "0xA30B",
+ "学": "0xA30C",
+ "步": "0xA30D",
+ "曲": "0xA30E",
+ "烈": "0xA30F",
+ "安": "0xA310",
+ "影": "0xA311",
+ "梦": "0xA312",
+ "幻": "0xA313",
+ "镯": "0xA314",
+ "拔": "0xA315",
+ "虫": "0xA316",
+ "员": "0xA317",
+ "张": "0xA318",
+ "据": "0xA319",
+ "翡": "0xA31A",
+ "翠": "0xA31B",
+ "伟": "0xA31C",
+ "树": "0xA31D",
+ "托": "0xA31E",
+ "代": "0xA31F",
+ "传": "0xA320",
+ "碧": "0xA321",
+ "商": "0xA322",
+ "讲": "0xA323",
+ "妖": "0xA324",
+ "婆": "0xA325",
+ "堡": "0xA326",
+ "男": "0xA327",
+ "情": "0xA328",
+ "隆": "0xA329",
+ "牛": "0xA32A",
+ "奶": "0xA32B",
+ "营": "0xA32C",
+ "养": "0xA32D",
+ "排": "0xA32E",
+ "销": "0xA32F",
+ "售": "0xA330",
+ "榜": "0xA331",
+ "朋": "0xA332",
+ "友": "0xA333",
+ "搬": "0xA334",
+ "日": "0xA335",
+ "客": "0xA336",
+ "碰": "0xA337",
+ "烧": "0xA338",
+ "毁": "0xA339",
+ "折": "0xA33A",
+ "断": "0xA33B",
+ "斗": "0xA33C",
+ "习": "0xA33D",
+ "骑": "0xA33E",
+ "士": "0xA33F",
+ "又": "0xA340",
+ "承": "0xA341",
+ "制": "0xA342",
+ "尺": "0xA343",
+ "码": "0xA344",
+ "护": "0xA345",
+ "炙": "0xA346",
+ "侵": "0xA347",
+ "害": "0xA348",
+ "底": "0xA349",
+ "溺": "0xA34A",
+ "掌": "0xA34B",
+ "丁": "0xA34C",
+ "妮": "0xA34D",
+ "席": "0xA34E",
+ "性": "0xA34F",
+ "危": "0xA350",
+ "往": "0xA351",
+ "创": "0xA352",
+ "建": "0xA353",
+ "娜": "0xA354",
+ "产": "0xA355",
+ "罩": "0xA356",
+ "刚": "0xA357",
+ "清": "0xA358",
+ "舒": "0xA359",
+ "爽": "0xA35A",
+ "般": "0xA35B",
+ "暂": "0xA35C",
+ "脱": "0xA35D",
+ "参": "0xA35E",
+ "加": "0xA35F",
+ "嗯": "0xA360",
+ "顾": "0xA361",
+ "片": "0xA362",
+ "四": "0xA363",
+ "整": "0xA364",
+ "三": "0xA365",
+ "房": "0xA366",
+ "干": "0xA367",
+ "稍": "0xA368",
+ "候": "0xA369",
+ "赛": "0xA36A",
+ "鳞": "0xA36B",
+ "跳": "0xA36C",
+ "深": "0xA36D",
+ "歌": "0xA36E",
+ "伊": "0xA36F",
+ "阳": "0xA370",
+ "摇": "0xA371",
+ "篮": "0xA372",
+ "雪": "0xA373",
+ "壮": "0xA374",
+ "管": "0xA375",
+ "术": "0xA376",
+ "接": "0xA377",
+ "智": "0xA378",
+ "慧": "0xA379",
+ "气": "0xA37A",
+ "疲": "0xA37B",
+ "惫": "0xA37C",
+ "治": "0xA37D",
+ "疗": "0xA37E",
+ "伤": "0xA37F",
+ "且": "0xA380",
+ "硬": "0xA381",
+ "技": "0xA382",
+ "斩": "0xA383",
+ "积": "0xA384",
+ "蓄": "0xA385",
+ "直": "0xA386",
+ "释": "0xA387",
+ "转": "0xA388",
+ "效": "0xA389",
+ "谈": "0xA38A",
+ "听": "0xA38B",
+ "束": "0xA38C",
+ "刻": "0xA38D",
+ "注": "0xA38E",
+ "嗨": "0xA38F",
+ "皇": "0xA390",
+ "探": "0xA391",
+ "儿": "0xA392",
+ "附": "0xA393",
+ "近": "0xA394",
+ "半": "0xA395",
+ "思": "0xA396",
+ "仅": "0xA397",
+ "燃": "0xA398",
+ "紫": "0xA399",
+ "价": "0xA39A",
+ "高": "0xA39B",
+ "百": "0xA39C",
+ "索": "0xA39D",
+ "何": "0xA39E",
+ "输": "0xA39F",
+ "虽": "0xA3A0",
+ "惜": "0xA3A1",
+ "幽": "0xA3A2",
+ "妙": "0xA3A3",
+ "愿": "0xA3A4",
+ "勉": "0xA3A5",
+ "网": "0xA3A6",
+ "墙": "0xA3A7",
+ "布": "0xA3A8",
+ "藤": "0xA3A9",
+ "蔓": "0xA3AA",
+ "平": "0xA3AB",
+ "爬": "0xA3AC",
+ "屏": "0xA3AD",
+ "幕": "0xA3AE",
+ "顶": "0xA3AF",
+ "端": "0xA3B0",
+ "挂": "0xA3B1",
+ "旧": "0xA3B2",
+ "梯": "0xA3B3",
+ "嘿": "0xA3B4",
+ "饰": "0xA3B5",
+ "熄": "0xA3B6",
+ "久": "0xA3B7",
+ "通": "0xA3B8",
+ "狭": "0xA3B9",
+ "路": "0xA3BA",
+ "慢": "0xA3BB",
+ "躲": "0xA3BC",
+ "调": "0xA3BD",
+ "视": "0xA3BE",
+ "角": "0xA3BF",
+ "弯": "0xA3C0",
+ "旦": "0xA3C1",
+ "侧": "0xA3C2",
+ "落": "0xA3C3",
+ "块": "0xA3C4",
+ "推": "0xA3C5",
+ "向": "0xA3C6",
+ "兴": "0xA3C7",
+ "引": "0xA3C8",
+ "爆": "0xA3C9",
+ "呢": "0xA3CA",
+ "山": "0xA3CB",
+ "坑": "0xA3CC",
+ "楼": "0xA3CD",
+ "绝": "0xA3CE",
+ "总": "0xA3CF",
+ "巧": "0xA3D0",
+ "脸": "0xA3D1",
+ "私": "0xA3D2",
+ "语": "0xA3D3",
+ "足": "0xA3D4",
+ "导": "0xA3D5",
+ "写": "0xA3D6",
+ "险": "0xA3D7",
+ "雕": "0xA3D8",
+ "流": "0xA3D9",
+ "粘": "0xA3DA",
+ "浑": "0xA3DB",
+ "电": "0xA3DC",
+ "尾": "0xA3DD",
+ "巴": "0xA3DE",
+ "几": "0xA3DF",
+ "瞧": "0xA3E0",
+ "旗": "0xA3E1",
+ "哪": "0xA3E2",
+ "召": "0xA3E3",
+ "跟": "0xA3E4",
+ "拜": "0xA3E5",
+ "访": "0xA3E6",
+ "牧": "0xA3E7",
+ "爸": "0xA3E8",
+ "拯": "0xA3E9",
+ "窟": "0xA3EA",
+ "卜": "0xA3EB",
+ "肚": "0xA3EC",
+ "白": "0xA3ED",
+ "马": "0xA3EE",
+ "丢": "0xA3EF",
+ "河": "0xA3F0",
+ "殿": "0xA3F1",
+ "村": "0xA3F2",
+ "云": "0xA3F3",
+ "吹": "0xA3F4",
+ "寒": "0xA3F5",
+ "庄": "0xA3F6",
+ "谁": "0xA3F7",
+ "教": "0xA3F8",
+ "沙": "0xA3F9",
+ "漠": "0xA3FA",
+ "盖": "0xA3FB",
+ "侬": "0xA3FC",
+ "夫": "0xA3FD",
+ "等": "0xA3FE",
+ "介": "0xA3FF",
+ "联": "0xA400",
+ "声": "0xA401",
+ "嘻": "0xA402",
+ "曾": "0xA403",
+ "领": "0xA404",
+ "统": "0xA405",
+ "疆": "0xA406",
+ "怕": "0xA407",
+ "鸟": "0xA408",
+ "黑": "0xA409",
+ "睛": "0xA40A",
+ "暴": "0xA40B",
+ "雨": "0xA40C",
+ "息": "0xA40D",
+ "初": "0xA40E",
+ "六": "0xA40F",
+ "聚": "0xA410",
+ "封": "0xA411",
+ "印": "0xA412",
+ "七": "0xA413",
+ "认": "0xA414",
+ "识": "0xA415",
+ "必": "0xA416",
+ "须": "0xA417",
+ "未": "0xA418",
+ "梭": "0xA419",
+ "另": "0xA41A",
+ "渡": "0xA41B",
+ "船": "0xA41C",
+ "乘": "0xA41D",
+ "艘": "0xA41E",
+ "咯": "0xA41F",
+ "扇": "0xA420",
+ "许": "0xA421",
+ "鬼": "0xA422",
+ "板": "0xA423",
+ "画": "0xA424",
+ "廊": "0xA425",
+ "扭": "0xA426",
+ "天": "0xA427",
+ "味": "0xA428",
+ "冻": "0xA429",
+ "音": "0xA42A",
+ "座": "0xA42B",
+ "锈": "0xA42C",
+ "漩": "0xA42D",
+ "涡": "0xA42E",
+ "吞": "0xA42F",
+ "嘛": "0xA430",
+ "牢": "0xA431",
+ "固": "0xA432",
+ "殊": "0xA433",
+ "静": "0xA434",
+ "墓": "0xA435",
+ "培": "0xA436",
+ "睡": "0xA437",
+ "掘": "0xA438",
+ "阅": "0xA439",
+ "读": "0xA43A",
+ "式": "0xA43B",
+ "租": "0xA43C",
+ "货": "0xA43D",
+ "款": "0xA43E",
+ "仍": "0xA43F",
+ ";": "0xA440",
+ "载": "0xA441",
+ "贪": "0xA442",
+ "婪": "0xA443",
+ "仇": "0xA444",
+ "恨": "0xA445",
+ "血": "0xA446",
+ "腥": "0xA447",
+ "历": "0xA448",
+ "史": "0xA449",
+ "诡": "0xA44A",
+ "计": "0xA44B",
+ "谜": "0xA44C",
+ "题": "0xA44D",
+ "亡": "0xA44E",
+ "闭": "0xA44F",
+ "今": "0xA450",
+ "业": "0xA451",
+ "早": "0xA452",
+ "招": "0xA453",
+ "聘": "0xA454",
+ "兼": "0xA455",
+ "职": "0xA456",
+ "杂": "0xA457",
+ "指": "0xA458",
+ "启": "0xA459",
+ "遗": "0xA45A",
+ "极": "0xA45B",
+ "亮": "0xA45C",
+ "照": "0xA45D",
+ "闯": "0xA45E",
+ "穴": "0xA45F",
+ "伏": "0xA460",
+ "阻": "0xA461",
+ "拦": "0xA462",
+ "朝": "0xA463",
+ "囚": "0xA464",
+ "室": "0xA465",
+ "贝": "0xA466",
+ "泊": "0xA467",
+ "泉": "0xA468",
+ "黎": "0xA469",
+ "童": "0xA46A",
+ "纯": "0xA46B",
+ "洁": "0xA46C",
+ "翻": "0xA46D",
+ "嘴": "0xA46E",
+ "陷": "0xA46F",
+ "野": "0xA470",
+ "研": "0xA471",
+ "究": "0xA472",
+ "考": "0xA473",
+ "坏": "0xA474",
+ "竟": "0xA475",
+ "坐": "0xA476",
+ "玛": "0xA477",
+ "录": "0xA478",
+ "钓": "0xA479",
+ "磅": "0xA47A",
+ "分": "0xA47B",
+ "纹": "0xA47C",
+ "誓": "0xA47D",
+ "忠": "0xA47E",
+ "哈": "0xA47F",
+ "眠": "0xA480",
+ "瀑": "0xA481",
+ "国": "0xA482",
+ "务": "0xA483",
+ "盯": "0xA484",
+ "毯": "0xA485",
+ "踩": "0xA486",
+ "资": "0xA487",
+ "瞎": "0xA488",
+ "难": "0xA489",
+ "倒": "0xA48A",
+ "阱": "0xA48B",
+ "塘": "0xA48C",
+ "屈": "0xA48D",
+ "镇": "0xA48E",
+ "径": "0xA48F",
+ "窄": "0xA490",
+ "慌": "0xA491",
+ "允": "0xA492",
+ "禁": "0xA493",
+ "激": "0xA494",
+ "颁": "0xA495",
+ "喷": "0xA496",
+ "扰": "0xA497",
+ "砍": "0xA498",
+ "持": "0xA499",
+ "草": "0xA49A",
+ "泰": "0xA49B",
+ "沿": "0xA49C",
+ "实": "0xA49D",
+ "峡": "0xA49E",
+ "谷": "0xA49F",
+ "册": "0xA4A0",
+ "追": "0xA4A1",
+ "赶": "0xA4A2",
+ "市": "0xA4A3",
+ "蜃": "0xA4A4",
+ "崖": "0xA4A5",
+ "灼": "0xA4A6",
+ "宣": "0xA4A7",
+ "疯": "0xA4A8",
+ "狂": "0xA4A9",
+ "滚": "0xA4AA",
+ "伞": "0xA4AB",
+ "脚": "0xA4AC",
+ "共": "0xA4AD",
+ "部": "0xA4AE",
+ "免": "0xA4AF",
+ "规": "0xA4B0",
+ "递": "0xA4B1",
+ "登": "0xA4B2",
+ "补": "0xA4B3",
+ "肉": "0xA4B4",
+ "歉": "0xA4B5",
+ "刺": "0xA4B6",
+ "杀": "0xA4B7",
+ "节": "0xA4B8",
+ "横": "0xA4B9",
+ "纵": "0xA4BA",
+ "礼": "0xA4BB",
+ "貌": "0xA4BC",
+ "米": "0xA4BD",
+ "无": "0xA4BE",
+ "孪": "0xA4BF",
+ "姐": "0xA4C0",
+ "妹": "0xA4C1",
+ "改": "0xA4C2",
+ "池": "0xA4C3",
+ "胆": "0xA4C4",
+ "跃": "0xA4C5",
+ "任": "0xA4C6",
+ "句": "0xA4C7",
+ "线": "0xA4C8",
+ "范": "0xA4C9",
+ "逃": "0xA4CA",
+ "期": "0xA4CB",
+ "待": "0xA4CC",
+ "丽": "0xA4CD",
+ "问": "0xA4CE",
+ "闲": "0xA4CF",
+ "泳": "0xA4D0",
+ "连": "0xA4D1",
+ "北": "0xA4D2",
+ "棵": "0xA4D3",
+ "锐": "0xA4D4",
+ "虑": "0xA4D5",
+ "挤": "0xA4D6",
+ "障": "0xA4D7",
+ "碍": "0xA4D8",
+ "盔": "0xA4D9",
+ "甲": "0xA4DA",
+ "假": "0xA4DB",
+ "设": "0xA4DC",
+ "温": "0xA4DD",
+ "际": "0xA4DE",
+ "顽": "0xA4DF",
+ "皮": "0xA4E0",
+ "姆": "0xA4E1",
+ "违": "0xA4E2",
+ "盗": "0xA4E3",
+ "贼": "0xA4E4",
+ "蝴": "0xA4E5",
+ "蝶": "0xA4E6",
+ "崇": "0xA4E7",
+ "象": "0xA4E8",
+ "猫": "0xA4E9",
+ "鹰": "0xA4EA",
+ "凯": "0xA4EB",
+ "普": "0xA4EC",
+ "・": "0xA4ED",
+ "博": "0xA4EE",
+ "古": "0xA4EF",
+ "化": "0xA4F0",
+ "笨": "0xA4F1",
+ "朗": "0xA4F2",
+ "匹": "0xA4F3",
+ "雄": "0xA4F4",
+ "赚": "0xA4F5",
+ "寄": "0xA4F6",
+ "卵": "0xA4F7",
+ "幼": "0xA4F8",
+ "突": "0xA4F9",
+ "袭": "0xA4FA",
+ "腹": "0xA4FB",
+ "绦": "0xA4FC",
+ "食": "0xA4FD",
+ "笔": "0xA4FE",
+ "竖": "0xA4FF",
+ "枯": "0xA500",
+ "矮": "0xA501",
+ "丛": "0xA502",
+ "吃": "0xA503",
+ "震": "0xA504",
+ "撼": "0xA505",
+ "吸": "0xA506",
+ "败": "0xA507",
+ "蜥": "0xA508",
+ "蜴": "0xA509",
+ "蝙": "0xA50A",
+ "蝠": "0xA50B",
+ "否": "0xA50C",
+ "则": "0xA50D",
+ "阿": "0xA50E",
+ "莫": "0xA50F",
+ "斯": "0xA510",
+ "母": "0xA511",
+ "绕": "0xA512",
+ "触": "0xA513",
+ "傻": "0xA514",
+ "遭": "0xA515",
+ "汀": "0xA516",
+ "幅": "0xA517",
+ "敬": "0xA518",
+ "诱": "0xA519",
+ "泡": "0xA51A",
+ "挡": "0xA51B",
+ "沃": "0xA51C",
+ "衣": "0xA51D",
+ "炬": "0xA51E",
+ "黏": "0xA51F",
+ "背": "0xA520",
+ "抵": "0xA521",
+ "权": "0xA522",
+ "核": "0xA523",
+ "挑": "0xA524",
+ "壳": "0xA525",
+ "肌": "0xA526",
+ "缩": "0xA527",
+ "邦": "0xA528",
+ "苏": "0xA529",
+ "透": "0xA52A",
+ "僵": "0xA52B",
+ "尸": "0xA52C",
+ "麻": "0xA52D",
+ "痹": "0xA52E",
+ "咬": "0xA52F",
+ "吉": "0xA530",
+ "乃": "0xA531",
+ "穷": "0xA532",
+ "尽": "0xA533",
+ "裂": "0xA534",
+ "拢": "0xA535",
+ "娃": "0xA536",
+ "傀": "0xA537",
+ "儡": "0xA538",
+ "亲": "0xA539",
+ "巫": "0xA53A",
+ "低": "0xA53B",
+ "骨": "0xA53C",
+ "斧": "0xA53D",
+ "漏": "0xA53E",
+ "莱": "0xA53F",
+ "彼": "0xA540",
+ "塔": "0xA541",
+ "扫": "0xA542",
+ "描": "0xA543",
+ "烟": "0xA544",
+ "蛇": "0xA545",
+ "弗": "0xA546",
+ "扎": "0xA547",
+ "挺": "0xA548",
+ "八": "0xA549",
+ "爪": "0xA54A",
+ "迪": "0xA54B",
+ "困": "0xA54C",
+ "陆": "0xA54D",
+ "嗜": "0xA54E",
+ "仙": "0xA54F",
+ "狼": "0xA550",
+ "懈": "0xA551",
+ "贩": "0xA552",
+ "麦": "0xA553",
+ "判": "0xA554",
+ "乔": "0xA555",
+ "绽": "0xA556",
+ "速": "0xA557",
+ "嗄": "0xA558",
+ "羞": "0xA559",
+ "永": "0xA55A",
+ "稻": "0xA55B",
+ "终": "0xA55C",
+ "薇": "0xA55D",
+ "呵": "0xA55E",
+ "父": "0xA55F",
+ "程": "0xA560",
+ "工": "0xA561",
+ "存": "0xA562",
+ "氛": "0xA563",
+ "笼": "0xA564",
+ "令": "0xA565",
+ "敏": "0xA566",
+ "项": "0xA567",
+ "欧": "0xA568",
+ "谅": "0xA569",
+ "众": "0xA56A",
+ "悍": "0xA56B",
+ "怎": "0xA56C",
+ "亏": "0xA56D",
+ "掏": "0xA56E",
+ "毕": "0xA56F",
+ "缓": "0xA570",
+ "冲": "0xA571",
+ "酷": "0xA572",
+ "俯": "0xA573",
+ "瞰": "0xA574",
+ "哼": "0xA575",
+ "蚀": "0xA576",
+ "功": "0xA577",
+ "糟": "0xA578",
+ "呸": "0xA579",
+ "黄": "0xA57A",
+ "类": "0xA57B",
+ "篇": "0xA57C",
+ "论": "0xA57D",
+ "控": "0xA57E",
+ "括": "0xA57F",
+ "冒": "0xA580",
+ "度": "0xA581",
+ "检": "0xA582",
+ "单": "0xA583",
+ "懂": "0xA584",
+ "屋": "0xA585",
+ "户": "0xA586",
+ "致": "0xA587",
+ "腾": "0xA588",
+ "模": "0xA589",
+ "嗒": "0xA58A",
+ "咔": "0xA58B",
+ "咋": "0xA58C",
+ "萎": "0xA58D",
+ "紧": "0xA58E",
+ "决": "0xA58F",
+ "呆": "0xA590",
+ "闷": "0xA591",
+ "畏": "0xA592",
+ "骗": "0xA593",
+ "苗": "0xA594",
+ "茁": "0xA595",
+ "算": "0xA596",
+ "猜": "0xA597",
+ "残": "0xA598",
+ "妇": "0xA599",
+ "婴": "0xA59A",
+ "蔽": "0xA59B",
+ "唯": "0xA59C",
+ "响": "0xA59D",
+ "抚": "0xA59E",
+ "吵": "0xA59F",
+ "境": "0xA5A0",
+ "隙": "0xA5A1",
+ "逝": "0xA5A2",
+ "忆": "0xA5A3",
+ "喂": "0xA5A4",
+ "辈": "0xA5A5",
+ "肩": "0xA5A6",
+ "洋": "0xA5A7",
+ "溢": "0xA5A8",
+ "确": "0xA5A9",
+ "迹": "0xA5AA",
+ "凝": "0xA5AB",
+ "髓": "0xA5AC",
+ "混": "0xA5AD",
+ "沌": "0xA5AE",
+ "降": "0xA5AF",
+ "健": "0xA5B0",
+ "耕": "0xA5B1",
+ "耘": "0xA5B2",
+ "星": "0xA5B3",
+ "倾": "0xA5B4",
+ "沛": "0xA5B5",
+ "础": "0xA5B6",
+ "堂": "0xA5B7",
+ "万": "0xA5B8",
+ "宗": "0xA5B9",
+ "源": "0xA5BA",
+ "本": "0xA5BB",
+ "替": "0xA5BC",
+ "缝": "0xA5BD",
+ "惩": "0xA5BE",
+ "罚": "0xA5BF",
+ "遇": "0xA5C0",
+ "懒": "0xA5C1",
+ "惰": "0xA5C2",
+ "衷": "0xA5C3",
+ "势": "0xA5C4",
+ "维": "0xA5C5",
+ "秩": "0xA5C6",
+ "序": "0xA5C7",
+ "抗": "0xA5C8",
+ "衡": "0xA5C9",
+ "旅": "0xA5CA",
+ "顺": "0xA5CB",
+ "叛": "0xA5CC",
+ "愤": "0xA5CD",
+ "辽": "0xA5CE",
+ "阔": "0xA5CF",
+ "茂": "0xA5D0",
+ "称": "0xA5D1",
+ "讨": "0xA5D2",
+ "厌": "0xA5D3",
+ "靶": "0xA5D4",
+ "饲": "0xA5D5",
+ "求": "0xA5D6",
+ "材": "0xA5D7",
+ "耶": "0xA5D8",
+ "谊": "0xA5D9",
+ "噓": "0xA5DA",
+ "遍": "0xA5DB",
+ "谱": "0xA5DC",
+ "议": "0xA5DD",
+ "吼": "0xA5DE",
+ "薄": "0xA5DF",
+ "饶": "0xA5E0",
+ "稽": "0xA5E1",
+ "齐": "0xA5E2",
+ "懦": "0xA5E3",
+ "抱": "0xA5E4",
+ "千": "0xA5E5",
+ "辛": "0xA5E6",
+ "漂": "0xA5E7",
+ "环": "0xA5E8",
+ "配": "0xA5E9",
+ "帝": "0xA5EA",
+ "焦": "0xA5EB",
+ "乎": "0xA5EC",
+ "欠": "0xA5ED",
+ "驯": "0xA5EE",
+ "圈": "0xA5EF",
+ "局": "0xA5F0",
+ "咩": "0xA5F1",
+ "既": "0xA5F2",
+ "劳": "0xA5F3",
+ "祭": "0xA5F4",
+ "伪": "0xA5F5",
+ "弃": "0xA5F6",
+ "耐": "0xA5F7",
+ "岗": "0xA5F8",
+ "唔": "0xA5F9",
+ "佳": "0xA5FA",
+ "搭": "0xA5FB",
+ "档": "0xA5FC",
+ "负": "0xA5FD",
+ "责": "0xA5FE",
+ "攀": "0xA5FF",
+ "绍": "0xA600",
+ "忙": "0xA601",
+ "提": "0xA602",
+ "缠": "0xA603",
+ "唉": "0xA604",
+ "亳": "0xA605",
+ "毛": "0xA606",
+ "笑": "0xA607",
+ "欣": "0xA608",
+ "赏": "0xA609",
+ "怜": "0xA60A",
+ "瓜": "0xA60B",
+ "奔": "0xA60C",
+ "啧": "0xA60D",
+ "踢": "0xA60E",
+ "志": "0xA60F",
+ "宜": "0xA610",
+ "仿": "0xA611",
+ "楚": "0xA612",
+ "挖": "0xA613",
+ "由": "0xA614",
+ "捕": "0xA615",
+ "播": "0xA616",
+ "谣": "0xA617",
+ "勤": "0xA618",
+ "陌": "0xA619",
+ "杰": "0xA61A",
+ "骏": "0xA61B",
+ "鞭": "0xA61C",
+ "抽": "0xA61D",
+ "享": "0xA61E",
+ "栏": "0xA61F",
+ "逛": "0xA620",
+ "汊": "0xA621",
+ "烦": "0xA622",
+ "匆": "0xA623",
+ "妈": "0xA624",
+ "唱": "0xA625",
+ "墟": "0xA626",
+ "粗": "0xA627",
+ "虐": "0xA628",
+ "乡": "0xA629",
+ "彻": "0xA62A",
+ "咕": "0xA62B",
+ "哝": "0xA62C",
+ "简": "0xA62D",
+ "优": "0xA62E",
+ "惠": "0xA62F",
+ "民": "0xA630",
+ "灰": "0xA631",
+ "聪": "0xA632",
+ "南": "0xA633",
+ "澈": "0xA634",
+ "卫": "0xA635",
+ "熟": "0xA636",
+ "悉": "0xA637",
+ "故": "0xA638",
+ "乌": "0xA639",
+ "兆": "0xA63A",
+ "企": "0xA63B",
+ "抢": "0xA63C",
+ "夺": "0xA63D",
+ "拼": "0xA63E",
+ "粉": "0xA63F",
+ "番": "0xA640",
+ "群": "0xA641",
+ "秒": "0xA642",
+ "料": "0xA643",
+ "肯": "0xA644",
+ "赋": "0xA645",
+ "婚": "0xA646",
+ "诚": "0xA647",
+ "邀": "0xA648",
+ "斜": "0xA649",
+ "诞": "0xA64A",
+ "及": "0xA64B",
+ "盛": "0xA64C",
+ "典": "0xA64D",
+ "拍": "0xA64E",
+ "轰": "0xA64F",
+ "植": "0xA650",
+ "矿": "0xA651",
+ "采": "0xA652",
+ "阴": "0xA653",
+ "罕": "0xA654",
+ "昏": "0xA655",
+ "压": "0xA656",
+ "悦": "0xA657",
+ "饿": "0xA658",
+ "忍": "0xA659",
+ "咳": "0xA65A",
+ "弄": "0xA65B",
+ "舔": "0xA65C",
+ "醉": "0xA65D",
+ "怀": "0xA65E",
+ "尊": "0xA65F",
+ "严": "0xA660",
+ "滋": "0xA661",
+ "农": "0xA662",
+ "饥": "0xA663",
+ "沮": "0xA664",
+ "丧": "0xA665",
+ "奋": "0xA666",
+ "省": "0xA667",
+ "撑": "0xA668",
+ "脑": "0xA669",
+ "灯": "0xA66A",
+ "隧": "0xA66B",
+ "派": "0xA66C",
+ "狗": "0xA66D",
+ "呜": "0xA66E",
+ "咣": "0xA66F",
+ "警": "0xA670",
+ "挪": "0xA671",
+ "窜": "0xA672",
+ "峙": "0xA673",
+ "含": "0xA674",
+ "痛": "0xA675",
+ "夸": "0xA676",
+ "艺": "0xA677",
+ "撒": "0xA678",
+ "谎": "0xA679",
+ "昨": "0xA67A",
+ "炎": "0xA67B",
+ "痒": "0xA67C",
+ "泪": "0xA67D",
+ "稳": "0xA67E",
+ "况": "0xA67F",
+ "磨": "0xA680",
+ "休": "0xA681",
+ "柱": "0xA682",
+ "敲": "0xA683",
+ "油": "0xA684",
+ "菜": "0xA685",
+ "盟": "0xA686",
+ "骄": "0xA687",
+ "傲": "0xA688",
+ "献": "0xA689",
+ "噢": "0xA68A",
+ "窒": "0xA68B",
+ "医": "0xA68C",
+ "甜": "0xA68D",
+ "鰓": "0xA68E",
+ "恼": "0xA68F",
+ "耽": "0xA690",
+ "搁": "0xA691",
+ "孤": "0xA692",
+ "丈": "0xA693",
+ "订": "0xA694",
+ "戒": "0xA695",
+ "贵": "0xA696",
+ "财": "0xA697",
+ "惹": "0xA698",
+ "腐": "0xA699",
+ "剂": "0xA69A",
+ "融": "0xA69B",
+ "厚": "0xA69C",
+ "映": "0xA69D",
+ "妻": "0xA69E",
+ "狠": "0xA69F",
+ "泄": "0xA6A0",
+ "咿": "0xA6A1",
+ "瞒": "0xA6A2",
+ "咽": "0xA6A3",
+ "恭": "0xA6A4",
+ "涨": "0xA6A5",
+ "嘎": "0xA6A6",
+ "悔": "0xA6A7",
+ "犹": "0xA6A8",
+ "豫": "0xA6A9",
+ "呃": "0xA6AA",
+ "糕": "0xA6AB",
+ "埃": "0xA6AC",
+ "荡": "0xA6AD",
+ "漾": "0xA6AE",
+ "饵": "0xA6AF",
+ "晃": "0xA6B0",
+ "约": "0xA6B1",
+ "专": "0xA6B2",
+ "剔": "0xA6B3",
+ "窍": "0xA6B4",
+ ".": "0xA6B5",
+ "乱": "0xA6B6",
+ "甩": "0xA6B7",
+ "鳅": "0xA6B8",
+ "剧": "0xA6B9",
+ "竿": "0xA6BA",
+ "杆": "0xA6BB",
+ "符": "0xA6BC",
+ "呱": "0xA6BD",
+ "团": "0xA6BE",
+ "饱": "0xA6BF",
+ "犯": "0xA6C0",
+ "肃": "0xA6C1",
+ "啵": "0xA6C2",
+ "吟": "0xA6C3",
+ "月": "0xA6C4",
+ "诗": "0xA6C5",
+ "碑": "0xA6C6",
+ "奥": "0xA6C7",
+ "扬": "0xA6C8",
+ "舍": "0xA6C9",
+ "副": "0xA6CA",
+ "袖": "0xA6CB",
+ "夏": "0xA6CC",
+ "赖": "0xA6CD",
+ "仆": "0xA6CE",
+ "摆": "0xA6CF",
+ "雇": "0xA6D0",
+ "疙": "0xA6D1",
+ "瘩": "0xA6D2",
+ "居": "0xA6D3",
+ "簧": "0xA6D4",
+ "车": "0xA6D5",
+ "剩": "0xA6D6",
+ "玻": "0xA6D7",
+ "璃": "0xA6D8",
+ "赔": "0xA6D9",
+ "欺": "0xA6DA",
+ "育": "0xA6DB",
+ "珍": "0xA6DC",
+ "床": "0xA6DD",
+ "蛮": "0xA6DE",
+ "啄": "0xA6DF",
+ "、": "0xA6E0",
+ "稀": "0xA6E1",
+ "栋": "0xA6E2",
+ "柜": "0xA6E3",
+ "鼻": "0xA6E4",
+ "厉": "0xA6E5",
+ "乏": "0xA6E6",
+ "饭": "0xA6E7",
+ "胡": "0xA6E8",
+ "叮": "0xA6E9",
+ "咚": "0xA6EA",
+ "兵": "0xA6EB",
+ "勃": "0xA6EC",
+ "苛": "0xA6ED",
+ "薪": "0xA6EE",
+ "痴": "0xA6EF",
+ "挣": "0xA6F0",
+ "馊": "0xA6F1",
+ "扑": "0xA6F2",
+ "良": "0xA6F3",
+ "竭": "0xA6F4",
+ "慷": "0xA6F5",
+ "慨": "0xA6F6",
+ "欲": "0xA6F7",
+ "愚": "0xA6F8",
+ "蠢": "0xA6F9",
+ "嘉": "0xA6FA",
+ "监": "0xA6FB",
+ "狱": "0xA6FC",
+ "喔": "0xA6FD",
+ "港": "0xA6FE",
+ "逆": "0xA6FF",
+ "误": "0xA700",
+ "独": "0xA701",
+ "划": "0xA702",
+ "措": "0xA703",
+ "颜": "0xA704",
+ "奴": "0xA705",
+ "罢": "0xA706",
+ "洗": "0xA707",
+ "俊": "0xA708",
+ "罪": "0xA709",
+ "偿": "0xA70A",
+ "牺": "0xA70B",
+ "牲": "0xA70C",
+ "劲": "0xA70D",
+ "岁": "0xA70E",
+ "恩": "0xA70F",
+ "账": "0xA710",
+ "珂": "0xA711",
+ "艾": "0xA712",
+ "组": "0xA713",
+ "织": "0xA714",
+ "伯": "0xA715",
+ "社": "0xA716",
+ "架": "0xA717",
+ "桥": "0xA718",
+ "碟": "0xA719",
+ "卑": "0xA71A",
+ "鄙": "0xA71B",
+ "臭": "0xA71C",
+ "占": "0xA71D",
+ "讶": "0xA71E",
+ "兽": "0xA71F",
+ "刷": "0xA720",
+ "竞": "0xA721",
+ "帐": "0xA722",
+ "篷": "0xA723",
+ "迟": "0xA724",
+ "繁": "0xA725",
+ "倦": "0xA726",
+ "罐": "0xA727",
+ "牌": "0xA728",
+ "晨": "0xA729",
+ "景": "0xA72A",
+ "田": "0xA72B",
+ "孔": "0xA72C",
+ "钻": "0xA72D",
+ "浓": "0xA72E",
+ "盒": "0xA72F",
+ "溜": "0xA730",
+ "街": "0xA731",
+ "概": "0xA732",
+ "盹": "0xA733",
+ "敞": "0xA734",
+ "扉": "0xA735",
+ "文": "0xA736",
+ "撞": "0xA737",
+ "姑": "0xA738",
+ "娘": "0xA739",
+ "糊": "0xA73A",
+ "涂": "0xA73B",
+ "依": "0xA73C",
+ "辐": "0xA73D",
+ "微": "0xA73E",
+ "汇": "0xA73F",
+ "缚": "0xA740",
+ "宰": "0xA741",
+ "摸": "0xA742",
+ "侍": "0xA743",
+ "垒": "0xA744",
+ "扮": "0xA745",
+ "惕": "0xA746",
+ "估": "0xA747",
+ "执": "0xA748",
+ "悲": "0xA749",
+ "拖": "0xA74A",
+ "累": "0xA74B",
+ "弥": "0xA74C",
+ "渴": "0xA74D",
+ "班": "0xA74E",
+ "搞": "0xA74F",
+ "谛": "0xA750",
+ "哀": "0xA751",
+ "圆": "0xA752",
+ "鸣": "0xA753",
+ "俩": "0xA754",
+ "善": "0xA755",
+ "塌": "0xA756",
+ "埋": "0xA757",
+ "孙": "0xA758",
+ "凶": "0xA759",
+ "聊": "0xA75A",
+ "寃": "0xA75B",
+ "怨": "0xA75C",
+ "购": "0xA75D",
+ "涌": "0xA75E",
+ "劈": "0xA75F",
+ "狐": "0xA760",
+ "狸": "0xA761",
+ "票": "0xA762",
+ "闻": "0xA763",
+ "哟": "0xA764",
+ "唬": "0xA765",
+ "摘": "0xA766",
+ "愉": "0xA767",
+ "呦": "0xA768",
+ "棺": "0xA769",
+ "溶": "0xA76A",
+ "褐": "0xA76B",
+ "肤": "0xA76C",
+ "颤": "0xA76D",
+ "逗": "0xA76E",
+ "娶": "0xA76F",
+ "逼": "0xA770",
+ "悠": "0xA771",
+ "蒙": "0xA772",
+ "漆": "0xA773",
+ "彩": "0xA774",
+ "丰": "0xA775"
+ },
+ "codeToChar": {
+ "0x01": "\n",
+ "0xAA9F": "[A]",
+ "0xAAA0": "[B]",
+ "0xAAA1": "[C]",
+ "0xAAA2": "[L]",
+ "0xAAA3": "[R]",
+ "0xAAA4": "[Z]",
+ "0xAAA5": "[C-Up]",
+ "0xAAA6": "[C-Down]",
+ "0xAAA7": "[C-Left]",
+ "0xAAA8": "[C-Right]",
+ "0xAAA9": "▼",
+ "0xAAAA": "[Control-Pad]",
+ "0x80": "À",
+ "0x81": "î",
+ "0x82": "Â",
+ "0x83": "Ä",
+ "0x84": "Ç",
+ "0x85": "È",
+ "0x86": "É",
+ "0x87": "Ê",
+ "0x88": "Ë",
+ "0x89": "Ï",
+ "0x8A": "Ô",
+ "0x8B": "Ö",
+ "0x8C": "Ù",
+ "0x8D": "Û",
+ "0x8E": "Ü",
+ "0x8F": "ß",
+ "0x90": "à",
+ "0x91": "á",
+ "0x92": "â",
+ "0x93": "ä",
+ "0x94": "ç",
+ "0x95": "è",
+ "0x96": "é",
+ "0x97": "ê",
+ "0x98": "ë",
+ "0x99": "ï",
+ "0x9A": "ô",
+ "0x9B": "ö",
+ "0x9C": "ù",
+ "0x9D": "û",
+ "0x9E": "ü",
+ "0xA08C": "你",
+ "0xA08D": "借",
+ "0xA08E": "到",
+ "0xA08F": "了",
+ "0xA090": "一",
+ "0xA091": "颗",
+ "0xA092": "口",
+ "0xA093": "袋",
+ "0xA094": "鸡",
+ "0xA095": "蛋",
+ "0xA096": "过",
+ "0xA097": "夜",
+ "0xA098": "后",
+ "0xA099": "就",
+ "0xA09A": "会",
+ "0xA09B": "孵",
+ "0xA09C": "出",
+ "0xA09D": "只",
+ "0xA09E": ",",
+ "0xA09F": "用",
+ "0xA0A0": "完",
+ "0xA0A1": "别",
+ "0xA0A2": "忘",
+ "0xA0A3": "记",
+ "0xA0A4": "把",
+ "0xA0A5": "它",
+ "0xA0A6": "还",
+ "0xA0A7": "回",
+ "0xA0A8": "去",
+ "0xA0A9": "。",
+ "0xA0AA": "归",
+ "0xA0AB": "得",
+ "0xA0AC": "克",
+ "0xA0AD": "洛",
+ "0xA0AE": "!",
+ "0xA0AF": "与",
+ "0xA0B0": "不",
+ "0xA0B1": "同",
+ "0xA0B2": "很",
+ "0xA0B3": "少",
+ "0xA0B4": "啼",
+ "0xA0B5": "叫",
+ "0xA0B6": "个",
+ "0xA0B7": "奇",
+ "0xA0B8": "异",
+ "0xA0B9": "蘑",
+ "0xA0BA": "菇",
+ "0xA0BB": "新",
+ "0xA0BC": "鲜",
+ "0xA0BD": "的",
+ "0xA0BE": "都",
+ "0xA0BF": "容",
+ "0xA0C0": "易",
+ "0xA0C1": "变",
+ "0xA0C2": "质",
+ "0xA0C3": "快",
+ "0xA0C4": "拿",
+ "0xA0C5": "卡",
+ "0xA0C6": "利",
+ "0xA0C7": "科",
+ "0xA0C8": "药",
+ "0xA0C9": "店",
+ "0xA0CA": "吧",
+ "0xA0CB": "之",
+ "0xA0CC": "知",
+ "0xA0CD": "道",
+ "0xA0CE": "这",
+ "0xA0CF": "两",
+ "0xA0D0": "人",
+ "0xA0D1": "间",
+ "0xA0D2": "发",
+ "0xA0D3": "生",
+ "0xA0D4": "什",
+ "0xA0D5": "么",
+ "0xA0D6": "事",
+ "0xA0D7": "但",
+ "0xA0D8": "带",
+ "0xA0D9": "迷",
+ "0xA0DA": "失",
+ "0xA0DB": "森",
+ "0xA0DC": "林",
+ "0xA0DD": "物",
+ "0xA0DE": "原",
+ "0xA0DF": "主",
+ "0xA0E0": "偷",
+ "0xA0E1": "猎",
+ "0xA0E2": "者",
+ "0xA0E3": "锯",
+ "0xA0E4": "定",
+ "0xA0E5": "是",
+ "0xA0E6": "那",
+ "0xA0E7": "年",
+ "0xA0E8": "轻",
+ "0xA0E9": "留",
+ "0xA0EA": "下",
+ "0xA0EB": "炸",
+ "0xA0EC": "弹",
+ "0xA0ED": "枚",
+ "0xA0EE": "卢",
+ "0xA0EF": "比",
+ "0xA0F0": "买",
+ "0xA0F1": "德",
+ "0xA0F2": "库",
+ "0xA0F3": "子",
+ "0xA0F4": "可",
+ "0xA0F5": "以",
+ "0xA0F6": "装",
+ "0xA0F7": "弓",
+ "0xA0F8": "换",
+ "0xA0F9": "破",
+ "0xA0FA": "损",
+ "0xA0FB": "格",
+ "0xA0FC": "雷",
+ "0xA0FD": "剑",
+ "0xA0FE": "大",
+ "0xA0FF": "城",
+ "0xA100": "修",
+ "0xA101": "好",
+ "0xA102": "交",
+ "0xA103": "处",
+ "0xA104": "方",
+ "0xA105": "见",
+ "0xA106": "卓",
+ "0xA107": "拉",
+ "0xA108": "王",
+ "0xA109": "⋯",
+ "0xA10A": "兑",
+ "0xA10B": "券",
+ "0xA10C": "急",
+ "0xA10D": "切",
+ "0xA10E": "地",
+ "0xA10F": "希",
+ "0xA110": "望",
+ "0xA111": "点",
+ "0xA112": "铸",
+ "0xA113": "卖",
+ "0xA114": "掉",
+ "0xA115": "巨",
+ "0xA116": "刀",
+ "0xA117": "铁",
+ "0xA118": "匠",
+ "0xA119": "师",
+ "0xA11A": "所",
+ "0xA11B": "造",
+ "0xA11C": "坚",
+ "0xA11D": "摧",
+ "0xA11E": "卷",
+ "0xA11F": "眼",
+ "0xA120": "青",
+ "0xA121": "蛙",
+ "0xA122": "趁",
+ "0xA123": "凉",
+ "0xA124": "海",
+ "0xA125": "鲁",
+ "0xA126": "湖",
+ "0xA127": "世",
+ "0xA128": "上",
+ "0xA129": "最",
+ "0xA12A": "水",
+ "0xA12B": "在",
+ "0xA12C": "前",
+ "0xA12D": "送",
+ "0xA12E": "蠃",
+ "0xA12F": "啦",
+ "0xA130": "骷",
+ "0xA131": "髅",
+ "0xA132": "面",
+ "0xA133": "具",
+ "0xA134": "按",
+ "0xA135": "戴",
+ "0xA136": "试",
+ "0xA137": "看",
+ "0xA138": "着",
+ "0xA139": "真",
+ "0xA13A": "像",
+ "0xA13B": "怪",
+ "0xA13C": "恐",
+ "0xA13D": "怖",
+ "0xA13E": "吓",
+ "0xA13F": "基",
+ "0xA140": "顿",
+ "0xA141": "受",
+ "0xA142": "欢",
+ "0xA143": "迎",
+ "0xA144": "哦",
+ "0xA145": "兔",
+ "0xA146": "兜",
+ "0xA147": "帽",
+ "0xA148": "长",
+ "0xA149": "耳",
+ "0xA14A": "朵",
+ "0xA14B": "太",
+ "0xA14C": "爱",
+ "0xA14D": "让",
+ "0xA14E": "头",
+ "0xA14F": "起",
+ "0xA150": "来",
+ "0xA151": "有",
+ "0xA152": "女",
+ "0xA153": "孩",
+ "0xA154": "?",
+ "0xA155": "理",
+ "0xA156": "更",
+ "0xA157": "多",
+ "0xA158": "我",
+ "0xA159": "们",
+ "0xA15A": "娱",
+ "0xA15B": "乐",
+ "0xA15C": "中",
+ "0xA15D": "心",
+ "0xA15E": ":",
+ "0xA15F": "保",
+ "0xA160": "龄",
+ "0xA161": "球",
+ "0xA162": "场",
+ "0xA163": "想",
+ "0xA164": "奖",
+ "0xA165": "品",
+ "0xA166": "吗",
+ "0xA167": "秘",
+ "0xA168": "密",
+ "0xA169": "付",
+ "0xA16A": "钱",
+ "0xA16B": "才",
+ "0xA16C": "告",
+ "0xA16D": "诉",
+ "0xA16E": "玩",
+ "0xA16F": "次",
+ "0xA170": "要",
+ "0xA171": "瞄",
+ "0xA172": "准",
+ "0xA173": "洞",
+ "0xA174": "放",
+ "0xA175": "鼠",
+ "0xA176": "十",
+ "0xA177": "机",
+ "0xA178": "预",
+ "0xA179": "备",
+ "0xA17A": "开",
+ "0xA17B": "始",
+ "0xA17C": "再",
+ "0xA17D": "差",
+ "0xA17E": "(",
+ "0xA17F": ")",
+ "0xA180": "捡",
+ "0xA181": "扔",
+ "0xA182": "没",
+ "0xA183": "能",
+ "0xA184": "恢",
+ "0xA185": "复",
+ "0xA186": "正",
+ "0xA187": "常",
+ "0xA188": "请",
+ "0xA189": "救",
+ "0xA18A": "其",
+ "0xA18B": "他",
+ "0xA18C": "兄",
+ "0xA18D": "弟",
+ "0xA18E": "给",
+ "0xA18F": "励",
+ "0xA190": "诅",
+ "0xA191": "咒",
+ "0xA192": "解",
+ "0xA193": "除",
+ "0xA194": "谢",
+ "0xA195": "报",
+ "0xA196": "呀",
+ "0xA197": "啊",
+ "0xA198": "被",
+ "0xA199": "小",
+ "0xA19A": "消",
+ "0xA19B": "灭",
+ "0xA19C": "蜘",
+ "0xA19D": "蛛",
+ "0xA19E": "已",
+ "0xA19F": "经",
+ "0xA1A0": "减",
+ "0xA1A1": "弱",
+ "0xA1A2": "富",
+ "0xA1A3": "办",
+ "0xA1A4": "法",
+ "0xA1A5": "越",
+ "0xA1A6": "些",
+ "0xA1A7": "验",
+ "0xA1A8": "帮",
+ "0xA1A9": "助",
+ "0xA1AA": "寻",
+ "0xA1AB": "找",
+ "0xA1AC": "首",
+ "0xA1AD": "先",
+ "0xA1AE": "晚",
+ "0xA1AF": "行",
+ "0xA1B0": "动",
+ "0xA1B1": "第",
+ "0xA1B2": "二",
+ "0xA1B3": "住",
+ "0xA1B4": "喜",
+ "0xA1B5": "松",
+ "0xA1B6": "柔",
+ "0xA1B7": "土",
+ "0xA1B8": "壤",
+ "0xA1B9": "仔",
+ "0xA1BA": "细",
+ "0xA1BB": "观",
+ "0xA1BC": "察",
+ "0xA1BD": "周",
+ "0xA1BE": "围",
+ "0xA1BF": "全",
+ "0xA1C0": "靠",
+ "0xA1C1": "成",
+ "0xA1C2": "样",
+ "0xA1C3": "因",
+ "0xA1C4": "为",
+ "0xA1C5": "种",
+ "0xA1C6": "界",
+ "0xA1C7": "每",
+ "0xA1C8": "现",
+ "0xA1C9": "徽",
+ "0xA1CA": "章",
+ "0xA1CB": "收",
+ "0xA1CC": "集",
+ "0xA1CD": "作",
+ "0xA1CE": "战",
+ "0xA1CF": "绩",
+ "0xA1D0": "证",
+ "0xA1D1": "明",
+ "0xA1D2": "征",
+ "0xA1D3": "途",
+ "0xA1D4": "状",
+ "0xA1D5": "态",
+ "0xA1D6": "窗",
+ "0xA1D7": "此",
+ "0xA1D8": "图",
+ "0xA1D9": "标",
+ "0xA1DA": "旁",
+ "0xA1DB": "边",
+ "0xA1DC": "数",
+ "0xA1DD": "字",
+ "0xA1DE": "显",
+ "0xA1DF": "示",
+ "0xA1E0": "目",
+ "0xA1E1": "量",
+ "0xA1E2": "如",
+ "0xA1E3": "果",
+ "0xA1E4": "区",
+ "0xA1E5": "名",
+ "0xA1E6": "说",
+ "0xA1E7": "里",
+ "0xA1E8": "家",
+ "0xA1E9": "族",
+ "0xA1EA": "身",
+ "0xA1EB": "感",
+ "0xA1EC": "止",
+ "0xA1ED": "错",
+ "0xA1EE": "担",
+ "0xA1EF": "需",
+ "0xA1F0": "箭",
+ "0xA1F1": "关",
+ "0xA1F2": "系",
+ "0xA1F3": "强",
+ "0xA1F4": "迫",
+ "0xA1F5": "游",
+ "0xA1F6": "戏",
+ "0xA1F7": "著",
+ "0xA1F8": "射",
+ "0xA1F9": "击",
+ "0xA1FA": "从",
+ "0xA1FB": "台",
+ "0xA1FC": "够",
+ "0xA1FD": "五",
+ "0xA1FE": "支",
+ "0xA1FF": "武",
+ "0xA200": "器",
+ "0xA201": "争",
+ "0xA202": "取",
+ "0xA203": "祝",
+ "0xA204": "运",
+ "0xA205": "堆",
+ "0xA206": "软",
+ "0xA207": "泥",
+ "0xA208": "精",
+ "0xA209": "灵",
+ "0xA20A": "选",
+ "0xA20B": "择",
+ "0xA20C": "或",
+ "0xA20D": "键",
+ "0xA20E": "并",
+ "0xA20F": "立",
+ "0xA210": "即",
+ "0xA211": "时",
+ "0xA212": "举",
+ "0xA213": "置",
+ "0xA214": "跑",
+ "0xA215": "投",
+ "0xA216": "掷",
+ "0xA217": "疑",
+ "0xA218": "型",
+ "0xA219": "甚",
+ "0xA21A": "至",
+ "0xA21B": "飞",
+ "0xA21C": "檐",
+ "0xA21D": "走",
+ "0xA21E": "壁",
+ "0xA21F": "闪",
+ "0xA220": "光",
+ "0xA221": "使",
+ "0xA222": "敌",
+ "0xA223": "眩",
+ "0xA224": "晕",
+ "0xA225": "旋",
+ "0xA226": "镖",
+ "0xA227": "攻",
+ "0xA228": "远",
+ "0xA229": "短",
+ "0xA22A": "钩",
+ "0xA22B": "条",
+ "0xA22C": "力",
+ "0xA22D": "链",
+ "0xA22E": "勾",
+ "0xA22F": "体",
+ "0xA230": "获",
+ "0xA231": "自",
+ "0xA232": "己",
+ "0xA233": "根",
+ "0xA234": "木",
+ "0xA235": "棒",
+ "0xA236": "挥",
+ "0xA237": "舞",
+ "0xA238": "站",
+ "0xA239": "携",
+ "0xA23A": "浪",
+ "0xA23B": "费",
+ "0xA23C": "锤",
+ "0xA23D": "砸",
+ "0xA23E": "碎",
+ "0xA23F": "废",
+ "0xA240": "沉",
+ "0xA241": "双",
+ "0xA242": "手",
+ "0xA243": "镜",
+ "0xA244": "神",
+ "0xA245": "井",
+ "0xA246": "外",
+ "0xA247": "也",
+ "0xA248": "耗",
+ "0xA249": "魔",
+ "0xA24A": "停",
+ "0xA24B": "笛",
+ "0xA24C": "塞",
+ "0xA24D": "尔",
+ "0xA24E": "达",
+ "0xA24F": "宝",
+ "0xA250": "散",
+ "0xA251": "芒",
+ "0xA252": "施",
+ "0xA253": "展",
+ "0xA254": "花",
+ "0xA255": "风",
+ "0xA256": "返",
+ "0xA257": "避",
+ "0xA258": "退",
+ "0xA259": "火",
+ "0xA25A": "勋",
+ "0xA25B": "圣",
+ "0xA25C": "尼",
+ "0xA25D": "亚",
+ "0xA25E": "觉",
+ "0xA25F": "醒",
+ "0xA260": "将",
+ "0xA261": "赐",
+ "0xA262": "予",
+ "0xA263": "茹",
+ "0xA264": "特",
+ "0xA265": "她",
+ "0xA266": "萨",
+ "0xA267": "莉",
+ "0xA268": "娅",
+ "0xA269": "魂",
+ "0xA26A": "纳",
+ "0xA26B": "波",
+ "0xA26C": "若",
+ "0xA26D": "暗",
+ "0xA26E": "英",
+ "0xA26F": "帕",
+ "0xA270": "空",
+ "0xA271": "瓶",
+ "0xA272": "红",
+ "0xA273": "色",
+ "0xA274": "命",
+ "0xA275": "份",
+ "0xA276": "绿",
+ "0xA277": "蓝",
+ "0xA278": "和",
+ "0xA279": "抓",
+ "0xA27A": "伙",
+ "0xA27B": "伴",
+ "0xA27C": "活",
+ "0xA27D": "随",
+ "0xA27E": "呼",
+ "0xA27F": "唤",
+ "0xA280": "鱼",
+ "0xA281": "非",
+ "0xA282": "美",
+ "0xA283": "豆",
+ "0xA284": "园",
+ "0xA285": "合",
+ "0xA286": "适",
+ "0xA287": "趣",
+ "0xA288": "对",
+ "0xA289": "纪",
+ "0xA28A": "念",
+ "0xA28B": "演",
+ "0xA28C": "奏",
+ "0xA28D": "各",
+ "0xA28E": "律",
+ "0xA28F": "重",
+ "0xA290": "握",
+ "0xA291": "盾",
+ "0xA292": "蹲",
+ "0xA293": "防",
+ "0xA294": "御",
+ "0xA295": "移",
+ "0xA296": "表",
+ "0xA297": "滑",
+ "0xA298": "反",
+ "0xA299": "升",
+ "0xA29A": "级",
+ "0xA29B": "延",
+ "0xA29C": "伸",
+ "0xA29D": "距",
+ "0xA29E": "离",
+ "0xA29F": "倍",
+ "0xA2A0": "套",
+ "0xA2A1": "件",
+ "0xA2A2": "隔",
+ "0xA2A3": "热",
+ "0xA2A4": "穿",
+ "0xA2A5": "潜",
+ "0xA2A6": "服",
+ "0xA2A7": "淹",
+ "0xA2A8": "死",
+ "0xA2A9": "坛",
+ "0xA2AA": "充",
+ "0xA2AB": "满",
+ "0xA2AC": "靴",
+ "0xA2AD": "浮",
+ "0xA2AE": "悬",
+ "0xA2AF": "缺",
+ "0xA2B0": "摩",
+ "0xA2B1": "擦",
+ "0xA2B2": "段",
+ "0xA2B3": "勇",
+ "0xA2B4": "敢",
+ "0xA2B5": "相",
+ "0xA2B6": "信",
+ "0xA2B7": "超",
+ "0xA2B8": "东",
+ "0xA2B9": "哥",
+ "0xA2BA": "猛",
+ "0xA2BB": "龙",
+ "0xA2BC": "胃",
+ "0xA2BD": "做",
+ "0xA2BE": "幸",
+ "0xA2BF": "银",
+ "0xA2C0": "臂",
+ "0xA2C1": "答",
+ "0xA2C2": "应",
+ "0xA2C3": "遵",
+ "0xA2C4": "守",
+ "0xA2C5": "诺",
+ "0xA2C6": "言",
+ "0xA2C7": "金",
+ "0xA2C8": "焰",
+ "0xA2C9": "入",
+ "0xA2CA": "冷",
+ "0xA2CB": "艳",
+ "0xA2CC": "包",
+ "0xA2CD": "钥",
+ "0xA2CE": "匙",
+ "0xA2CF": "打",
+ "0xA2D0": "锁",
+ "0xA2D1": "门",
+ "0xA2D2": "限",
+ "0xA2D3": "于",
+ "0xA2D4": "宫",
+ "0xA2D5": "内",
+ "0xA2D6": "老",
+ "0xA2D7": "却",
+ "0xA2D8": "驱",
+ "0xA2D9": "喝",
+ "0xA2DA": "进",
+ "0xA2DB": "然",
+ "0xA2DC": "域",
+ "0xA2DD": "烁",
+ "0xA2DE": "当",
+ "0xA2DF": "位",
+ "0xA2E0": "拨",
+ "0xA2E1": "查",
+ "0xA2E2": "某",
+ "0xA2E3": "层",
+ "0xA2E4": "罗",
+ "0xA2E5": "盘",
+ "0xA2E6": "隐",
+ "0xA2E7": "藏",
+ "0xA2E8": "振",
+ "0xA2E9": "石",
+ "0xA2EA": "继",
+ "0xA2EB": "续",
+ "0xA2EC": "努",
+ "0xA2ED": "哇",
+ "0xA2EE": "公",
+ "0xA2EF": "签",
+ "0xA2F0": "临",
+ "0xA2F1": "西",
+ "0xA2F2": "便",
+ "0xA2F3": "箱",
+ "0xA2F4": "意",
+ "0xA2F5": "惊",
+ "0xA2F6": "话",
+ "0xA2F7": "左",
+ "0xA2F8": "右",
+ "0xA2F9": "赌",
+ "0xA2FA": "徒",
+ "0xA2FB": "值",
+ "0xA2FC": "威",
+ "0xA2FD": "增",
+ "0xA2FE": "冰",
+ "0xA2FF": "结",
+ "0xA300": "授",
+ "0xA301": "艰",
+ "0xA302": "苦",
+ "0xA303": "训",
+ "0xA304": "练",
+ "0xA305": "该",
+ "0xA306": "拥",
+ "0xA307": "而",
+ "0xA308": "荣",
+ "0xA309": "义",
+ "0xA30A": "邪",
+ "0xA30B": "恶",
+ "0xA30C": "学",
+ "0xA30D": "步",
+ "0xA30E": "曲",
+ "0xA30F": "烈",
+ "0xA310": "安",
+ "0xA311": "影",
+ "0xA312": "梦",
+ "0xA313": "幻",
+ "0xA314": "镯",
+ "0xA315": "拔",
+ "0xA316": "虫",
+ "0xA317": "员",
+ "0xA318": "张",
+ "0xA319": "据",
+ "0xA31A": "翡",
+ "0xA31B": "翠",
+ "0xA31C": "伟",
+ "0xA31D": "树",
+ "0xA31E": "托",
+ "0xA31F": "代",
+ "0xA320": "传",
+ "0xA321": "碧",
+ "0xA322": "商",
+ "0xA323": "讲",
+ "0xA324": "妖",
+ "0xA325": "婆",
+ "0xA326": "堡",
+ "0xA327": "男",
+ "0xA328": "情",
+ "0xA329": "隆",
+ "0xA32A": "牛",
+ "0xA32B": "奶",
+ "0xA32C": "营",
+ "0xA32D": "养",
+ "0xA32E": "排",
+ "0xA32F": "销",
+ "0xA330": "售",
+ "0xA331": "榜",
+ "0xA332": "朋",
+ "0xA333": "友",
+ "0xA334": "搬",
+ "0xA335": "日",
+ "0xA336": "客",
+ "0xA337": "碰",
+ "0xA338": "烧",
+ "0xA339": "毁",
+ "0xA33A": "折",
+ "0xA33B": "断",
+ "0xA33C": "斗",
+ "0xA33D": "习",
+ "0xA33E": "骑",
+ "0xA33F": "士",
+ "0xA340": "又",
+ "0xA341": "承",
+ "0xA342": "制",
+ "0xA343": "尺",
+ "0xA344": "码",
+ "0xA345": "护",
+ "0xA346": "炙",
+ "0xA347": "侵",
+ "0xA348": "害",
+ "0xA349": "底",
+ "0xA34A": "溺",
+ "0xA34B": "掌",
+ "0xA34C": "丁",
+ "0xA34D": "妮",
+ "0xA34E": "席",
+ "0xA34F": "性",
+ "0xA350": "危",
+ "0xA351": "往",
+ "0xA352": "创",
+ "0xA353": "建",
+ "0xA354": "娜",
+ "0xA355": "产",
+ "0xA356": "罩",
+ "0xA357": "刚",
+ "0xA358": "清",
+ "0xA359": "舒",
+ "0xA35A": "爽",
+ "0xA35B": "般",
+ "0xA35C": "暂",
+ "0xA35D": "脱",
+ "0xA35E": "参",
+ "0xA35F": "加",
+ "0xA360": "嗯",
+ "0xA361": "顾",
+ "0xA362": "片",
+ "0xA363": "四",
+ "0xA364": "整",
+ "0xA365": "三",
+ "0xA366": "房",
+ "0xA367": "干",
+ "0xA368": "稍",
+ "0xA369": "候",
+ "0xA36A": "赛",
+ "0xA36B": "鳞",
+ "0xA36C": "跳",
+ "0xA36D": "深",
+ "0xA36E": "歌",
+ "0xA36F": "伊",
+ "0xA370": "阳",
+ "0xA371": "摇",
+ "0xA372": "篮",
+ "0xA373": "雪",
+ "0xA374": "壮",
+ "0xA375": "管",
+ "0xA376": "术",
+ "0xA377": "接",
+ "0xA378": "智",
+ "0xA379": "慧",
+ "0xA37A": "气",
+ "0xA37B": "疲",
+ "0xA37C": "惫",
+ "0xA37D": "治",
+ "0xA37E": "疗",
+ "0xA37F": "伤",
+ "0xA380": "且",
+ "0xA381": "硬",
+ "0xA382": "技",
+ "0xA383": "斩",
+ "0xA384": "积",
+ "0xA385": "蓄",
+ "0xA386": "直",
+ "0xA387": "释",
+ "0xA388": "转",
+ "0xA389": "效",
+ "0xA38A": "谈",
+ "0xA38B": "听",
+ "0xA38C": "束",
+ "0xA38D": "刻",
+ "0xA38E": "注",
+ "0xA38F": "嗨",
+ "0xA390": "皇",
+ "0xA391": "探",
+ "0xA392": "儿",
+ "0xA393": "附",
+ "0xA394": "近",
+ "0xA395": "半",
+ "0xA396": "思",
+ "0xA397": "仅",
+ "0xA398": "燃",
+ "0xA399": "紫",
+ "0xA39A": "价",
+ "0xA39B": "高",
+ "0xA39C": "百",
+ "0xA39D": "索",
+ "0xA39E": "何",
+ "0xA39F": "输",
+ "0xA3A0": "虽",
+ "0xA3A1": "惜",
+ "0xA3A2": "幽",
+ "0xA3A3": "妙",
+ "0xA3A4": "愿",
+ "0xA3A5": "勉",
+ "0xA3A6": "网",
+ "0xA3A7": "墙",
+ "0xA3A8": "布",
+ "0xA3A9": "藤",
+ "0xA3AA": "蔓",
+ "0xA3AB": "平",
+ "0xA3AC": "爬",
+ "0xA3AD": "屏",
+ "0xA3AE": "幕",
+ "0xA3AF": "顶",
+ "0xA3B0": "端",
+ "0xA3B1": "挂",
+ "0xA3B2": "旧",
+ "0xA3B3": "梯",
+ "0xA3B4": "嘿",
+ "0xA3B5": "饰",
+ "0xA3B6": "熄",
+ "0xA3B7": "久",
+ "0xA3B8": "通",
+ "0xA3B9": "狭",
+ "0xA3BA": "路",
+ "0xA3BB": "慢",
+ "0xA3BC": "躲",
+ "0xA3BD": "调",
+ "0xA3BE": "视",
+ "0xA3BF": "角",
+ "0xA3C0": "弯",
+ "0xA3C1": "旦",
+ "0xA3C2": "侧",
+ "0xA3C3": "落",
+ "0xA3C4": "块",
+ "0xA3C5": "推",
+ "0xA3C6": "向",
+ "0xA3C7": "兴",
+ "0xA3C8": "引",
+ "0xA3C9": "爆",
+ "0xA3CA": "呢",
+ "0xA3CB": "山",
+ "0xA3CC": "坑",
+ "0xA3CD": "楼",
+ "0xA3CE": "绝",
+ "0xA3CF": "总",
+ "0xA3D0": "巧",
+ "0xA3D1": "脸",
+ "0xA3D2": "私",
+ "0xA3D3": "语",
+ "0xA3D4": "足",
+ "0xA3D5": "导",
+ "0xA3D6": "写",
+ "0xA3D7": "险",
+ "0xA3D8": "雕",
+ "0xA3D9": "流",
+ "0xA3DA": "粘",
+ "0xA3DB": "浑",
+ "0xA3DC": "电",
+ "0xA3DD": "尾",
+ "0xA3DE": "巴",
+ "0xA3DF": "几",
+ "0xA3E0": "瞧",
+ "0xA3E1": "旗",
+ "0xA3E2": "哪",
+ "0xA3E3": "召",
+ "0xA3E4": "跟",
+ "0xA3E5": "拜",
+ "0xA3E6": "访",
+ "0xA3E7": "牧",
+ "0xA3E8": "爸",
+ "0xA3E9": "拯",
+ "0xA3EA": "窟",
+ "0xA3EB": "卜",
+ "0xA3EC": "肚",
+ "0xA3ED": "白",
+ "0xA3EE": "马",
+ "0xA3EF": "丢",
+ "0xA3F0": "河",
+ "0xA3F1": "殿",
+ "0xA3F2": "村",
+ "0xA3F3": "云",
+ "0xA3F4": "吹",
+ "0xA3F5": "寒",
+ "0xA3F6": "庄",
+ "0xA3F7": "谁",
+ "0xA3F8": "教",
+ "0xA3F9": "沙",
+ "0xA3FA": "漠",
+ "0xA3FB": "盖",
+ "0xA3FC": "侬",
+ "0xA3FD": "夫",
+ "0xA3FE": "等",
+ "0xA3FF": "介",
+ "0xA400": "联",
+ "0xA401": "声",
+ "0xA402": "嘻",
+ "0xA403": "曾",
+ "0xA404": "领",
+ "0xA405": "统",
+ "0xA406": "疆",
+ "0xA407": "怕",
+ "0xA408": "鸟",
+ "0xA409": "黑",
+ "0xA40A": "睛",
+ "0xA40B": "暴",
+ "0xA40C": "雨",
+ "0xA40D": "息",
+ "0xA40E": "初",
+ "0xA40F": "六",
+ "0xA410": "聚",
+ "0xA411": "封",
+ "0xA412": "印",
+ "0xA413": "七",
+ "0xA414": "认",
+ "0xA415": "识",
+ "0xA416": "必",
+ "0xA417": "须",
+ "0xA418": "未",
+ "0xA419": "梭",
+ "0xA41A": "另",
+ "0xA41B": "渡",
+ "0xA41C": "船",
+ "0xA41D": "乘",
+ "0xA41E": "艘",
+ "0xA41F": "咯",
+ "0xA420": "扇",
+ "0xA421": "许",
+ "0xA422": "鬼",
+ "0xA423": "板",
+ "0xA424": "画",
+ "0xA425": "廊",
+ "0xA426": "扭",
+ "0xA427": "天",
+ "0xA428": "味",
+ "0xA429": "冻",
+ "0xA42A": "音",
+ "0xA42B": "座",
+ "0xA42C": "锈",
+ "0xA42D": "漩",
+ "0xA42E": "涡",
+ "0xA42F": "吞",
+ "0xA430": "嘛",
+ "0xA431": "牢",
+ "0xA432": "固",
+ "0xA433": "殊",
+ "0xA434": "静",
+ "0xA435": "墓",
+ "0xA436": "培",
+ "0xA437": "睡",
+ "0xA438": "掘",
+ "0xA439": "阅",
+ "0xA43A": "读",
+ "0xA43B": "式",
+ "0xA43C": "租",
+ "0xA43D": "货",
+ "0xA43E": "款",
+ "0xA43F": "仍",
+ "0xA440": ";",
+ "0xA441": "载",
+ "0xA442": "贪",
+ "0xA443": "婪",
+ "0xA444": "仇",
+ "0xA445": "恨",
+ "0xA446": "血",
+ "0xA447": "腥",
+ "0xA448": "历",
+ "0xA449": "史",
+ "0xA44A": "诡",
+ "0xA44B": "计",
+ "0xA44C": "谜",
+ "0xA44D": "题",
+ "0xA44E": "亡",
+ "0xA44F": "闭",
+ "0xA450": "今",
+ "0xA451": "业",
+ "0xA452": "早",
+ "0xA453": "招",
+ "0xA454": "聘",
+ "0xA455": "兼",
+ "0xA456": "职",
+ "0xA457": "杂",
+ "0xA458": "指",
+ "0xA459": "启",
+ "0xA45A": "遗",
+ "0xA45B": "极",
+ "0xA45C": "亮",
+ "0xA45D": "照",
+ "0xA45E": "闯",
+ "0xA45F": "穴",
+ "0xA460": "伏",
+ "0xA461": "阻",
+ "0xA462": "拦",
+ "0xA463": "朝",
+ "0xA464": "囚",
+ "0xA465": "室",
+ "0xA466": "贝",
+ "0xA467": "泊",
+ "0xA468": "泉",
+ "0xA469": "黎",
+ "0xA46A": "童",
+ "0xA46B": "纯",
+ "0xA46C": "洁",
+ "0xA46D": "翻",
+ "0xA46E": "嘴",
+ "0xA46F": "陷",
+ "0xA470": "野",
+ "0xA471": "研",
+ "0xA472": "究",
+ "0xA473": "考",
+ "0xA474": "坏",
+ "0xA475": "竟",
+ "0xA476": "坐",
+ "0xA477": "玛",
+ "0xA478": "录",
+ "0xA479": "钓",
+ "0xA47A": "磅",
+ "0xA47B": "分",
+ "0xA47C": "纹",
+ "0xA47D": "誓",
+ "0xA47E": "忠",
+ "0xA47F": "哈",
+ "0xA480": "眠",
+ "0xA481": "瀑",
+ "0xA482": "国",
+ "0xA483": "务",
+ "0xA484": "盯",
+ "0xA485": "毯",
+ "0xA486": "踩",
+ "0xA487": "资",
+ "0xA488": "瞎",
+ "0xA489": "难",
+ "0xA48A": "倒",
+ "0xA48B": "阱",
+ "0xA48C": "塘",
+ "0xA48D": "屈",
+ "0xA48E": "镇",
+ "0xA48F": "径",
+ "0xA490": "窄",
+ "0xA491": "慌",
+ "0xA492": "允",
+ "0xA493": "禁",
+ "0xA494": "激",
+ "0xA495": "颁",
+ "0xA496": "喷",
+ "0xA497": "扰",
+ "0xA498": "砍",
+ "0xA499": "持",
+ "0xA49A": "草",
+ "0xA49B": "泰",
+ "0xA49C": "沿",
+ "0xA49D": "实",
+ "0xA49E": "峡",
+ "0xA49F": "谷",
+ "0xA4A0": "册",
+ "0xA4A1": "追",
+ "0xA4A2": "赶",
+ "0xA4A3": "市",
+ "0xA4A4": "蜃",
+ "0xA4A5": "崖",
+ "0xA4A6": "灼",
+ "0xA4A7": "宣",
+ "0xA4A8": "疯",
+ "0xA4A9": "狂",
+ "0xA4AA": "滚",
+ "0xA4AB": "伞",
+ "0xA4AC": "脚",
+ "0xA4AD": "共",
+ "0xA4AE": "部",
+ "0xA4AF": "免",
+ "0xA4B0": "规",
+ "0xA4B1": "递",
+ "0xA4B2": "登",
+ "0xA4B3": "补",
+ "0xA4B4": "肉",
+ "0xA4B5": "歉",
+ "0xA4B6": "刺",
+ "0xA4B7": "杀",
+ "0xA4B8": "节",
+ "0xA4B9": "横",
+ "0xA4BA": "纵",
+ "0xA4BB": "礼",
+ "0xA4BC": "貌",
+ "0xA4BD": "米",
+ "0xA4BE": "无",
+ "0xA4BF": "孪",
+ "0xA4C0": "姐",
+ "0xA4C1": "妹",
+ "0xA4C2": "改",
+ "0xA4C3": "池",
+ "0xA4C4": "胆",
+ "0xA4C5": "跃",
+ "0xA4C6": "任",
+ "0xA4C7": "句",
+ "0xA4C8": "线",
+ "0xA4C9": "范",
+ "0xA4CA": "逃",
+ "0xA4CB": "期",
+ "0xA4CC": "待",
+ "0xA4CD": "丽",
+ "0xA4CE": "问",
+ "0xA4CF": "闲",
+ "0xA4D0": "泳",
+ "0xA4D1": "连",
+ "0xA4D2": "北",
+ "0xA4D3": "棵",
+ "0xA4D4": "锐",
+ "0xA4D5": "虑",
+ "0xA4D6": "挤",
+ "0xA4D7": "障",
+ "0xA4D8": "碍",
+ "0xA4D9": "盔",
+ "0xA4DA": "甲",
+ "0xA4DB": "假",
+ "0xA4DC": "设",
+ "0xA4DD": "温",
+ "0xA4DE": "际",
+ "0xA4DF": "顽",
+ "0xA4E0": "皮",
+ "0xA4E1": "姆",
+ "0xA4E2": "违",
+ "0xA4E3": "盗",
+ "0xA4E4": "贼",
+ "0xA4E5": "蝴",
+ "0xA4E6": "蝶",
+ "0xA4E7": "崇",
+ "0xA4E8": "象",
+ "0xA4E9": "猫",
+ "0xA4EA": "鹰",
+ "0xA4EB": "凯",
+ "0xA4EC": "普",
+ "0xA4ED": "・",
+ "0xA4EE": "博",
+ "0xA4EF": "古",
+ "0xA4F0": "化",
+ "0xA4F1": "笨",
+ "0xA4F2": "朗",
+ "0xA4F3": "匹",
+ "0xA4F4": "雄",
+ "0xA4F5": "赚",
+ "0xA4F6": "寄",
+ "0xA4F7": "卵",
+ "0xA4F8": "幼",
+ "0xA4F9": "突",
+ "0xA4FA": "袭",
+ "0xA4FB": "腹",
+ "0xA4FC": "绦",
+ "0xA4FD": "食",
+ "0xA4FE": "笔",
+ "0xA4FF": "竖",
+ "0xA500": "枯",
+ "0xA501": "矮",
+ "0xA502": "丛",
+ "0xA503": "吃",
+ "0xA504": "震",
+ "0xA505": "撼",
+ "0xA506": "吸",
+ "0xA507": "败",
+ "0xA508": "蜥",
+ "0xA509": "蜴",
+ "0xA50A": "蝙",
+ "0xA50B": "蝠",
+ "0xA50C": "否",
+ "0xA50D": "则",
+ "0xA50E": "阿",
+ "0xA50F": "莫",
+ "0xA510": "斯",
+ "0xA511": "母",
+ "0xA512": "绕",
+ "0xA513": "触",
+ "0xA514": "傻",
+ "0xA515": "遭",
+ "0xA516": "汀",
+ "0xA517": "幅",
+ "0xA518": "敬",
+ "0xA519": "诱",
+ "0xA51A": "泡",
+ "0xA51B": "挡",
+ "0xA51C": "沃",
+ "0xA51D": "衣",
+ "0xA51E": "炬",
+ "0xA51F": "黏",
+ "0xA520": "背",
+ "0xA521": "抵",
+ "0xA522": "权",
+ "0xA523": "核",
+ "0xA524": "挑",
+ "0xA525": "壳",
+ "0xA526": "肌",
+ "0xA527": "缩",
+ "0xA528": "邦",
+ "0xA529": "苏",
+ "0xA52A": "透",
+ "0xA52B": "僵",
+ "0xA52C": "尸",
+ "0xA52D": "麻",
+ "0xA52E": "痹",
+ "0xA52F": "咬",
+ "0xA530": "吉",
+ "0xA531": "乃",
+ "0xA532": "穷",
+ "0xA533": "尽",
+ "0xA534": "裂",
+ "0xA535": "拢",
+ "0xA536": "娃",
+ "0xA537": "傀",
+ "0xA538": "儡",
+ "0xA539": "亲",
+ "0xA53A": "巫",
+ "0xA53B": "低",
+ "0xA53C": "骨",
+ "0xA53D": "斧",
+ "0xA53E": "漏",
+ "0xA53F": "莱",
+ "0xA540": "彼",
+ "0xA541": "塔",
+ "0xA542": "扫",
+ "0xA543": "描",
+ "0xA544": "烟",
+ "0xA545": "蛇",
+ "0xA546": "弗",
+ "0xA547": "扎",
+ "0xA548": "挺",
+ "0xA549": "八",
+ "0xA54A": "爪",
+ "0xA54B": "迪",
+ "0xA54C": "困",
+ "0xA54D": "陆",
+ "0xA54E": "嗜",
+ "0xA54F": "仙",
+ "0xA550": "狼",
+ "0xA551": "懈",
+ "0xA552": "贩",
+ "0xA553": "麦",
+ "0xA554": "判",
+ "0xA555": "乔",
+ "0xA556": "绽",
+ "0xA557": "速",
+ "0xA558": "嗄",
+ "0xA559": "羞",
+ "0xA55A": "永",
+ "0xA55B": "稻",
+ "0xA55C": "终",
+ "0xA55D": "薇",
+ "0xA55E": "呵",
+ "0xA55F": "父",
+ "0xA560": "程",
+ "0xA561": "工",
+ "0xA562": "存",
+ "0xA563": "氛",
+ "0xA564": "笼",
+ "0xA565": "令",
+ "0xA566": "敏",
+ "0xA567": "项",
+ "0xA568": "欧",
+ "0xA569": "谅",
+ "0xA56A": "众",
+ "0xA56B": "悍",
+ "0xA56C": "怎",
+ "0xA56D": "亏",
+ "0xA56E": "掏",
+ "0xA56F": "毕",
+ "0xA570": "缓",
+ "0xA571": "冲",
+ "0xA572": "酷",
+ "0xA573": "俯",
+ "0xA574": "瞰",
+ "0xA575": "哼",
+ "0xA576": "蚀",
+ "0xA577": "功",
+ "0xA578": "糟",
+ "0xA579": "呸",
+ "0xA57A": "黄",
+ "0xA57B": "类",
+ "0xA57C": "篇",
+ "0xA57D": "论",
+ "0xA57E": "控",
+ "0xA57F": "括",
+ "0xA580": "冒",
+ "0xA581": "度",
+ "0xA582": "检",
+ "0xA583": "单",
+ "0xA584": "懂",
+ "0xA585": "屋",
+ "0xA586": "户",
+ "0xA587": "致",
+ "0xA588": "腾",
+ "0xA589": "模",
+ "0xA58A": "嗒",
+ "0xA58B": "咔",
+ "0xA58C": "咋",
+ "0xA58D": "萎",
+ "0xA58E": "紧",
+ "0xA58F": "决",
+ "0xA590": "呆",
+ "0xA591": "闷",
+ "0xA592": "畏",
+ "0xA593": "骗",
+ "0xA594": "苗",
+ "0xA595": "茁",
+ "0xA596": "算",
+ "0xA597": "猜",
+ "0xA598": "残",
+ "0xA599": "妇",
+ "0xA59A": "婴",
+ "0xA59B": "蔽",
+ "0xA59C": "唯",
+ "0xA59D": "响",
+ "0xA59E": "抚",
+ "0xA59F": "吵",
+ "0xA5A0": "境",
+ "0xA5A1": "隙",
+ "0xA5A2": "逝",
+ "0xA5A3": "忆",
+ "0xA5A4": "喂",
+ "0xA5A5": "辈",
+ "0xA5A6": "肩",
+ "0xA5A7": "洋",
+ "0xA5A8": "溢",
+ "0xA5A9": "确",
+ "0xA5AA": "迹",
+ "0xA5AB": "凝",
+ "0xA5AC": "髓",
+ "0xA5AD": "混",
+ "0xA5AE": "沌",
+ "0xA5AF": "降",
+ "0xA5B0": "健",
+ "0xA5B1": "耕",
+ "0xA5B2": "耘",
+ "0xA5B3": "星",
+ "0xA5B4": "倾",
+ "0xA5B5": "沛",
+ "0xA5B6": "础",
+ "0xA5B7": "堂",
+ "0xA5B8": "万",
+ "0xA5B9": "宗",
+ "0xA5BA": "源",
+ "0xA5BB": "本",
+ "0xA5BC": "替",
+ "0xA5BD": "缝",
+ "0xA5BE": "惩",
+ "0xA5BF": "罚",
+ "0xA5C0": "遇",
+ "0xA5C1": "懒",
+ "0xA5C2": "惰",
+ "0xA5C3": "衷",
+ "0xA5C4": "势",
+ "0xA5C5": "维",
+ "0xA5C6": "秩",
+ "0xA5C7": "序",
+ "0xA5C8": "抗",
+ "0xA5C9": "衡",
+ "0xA5CA": "旅",
+ "0xA5CB": "顺",
+ "0xA5CC": "叛",
+ "0xA5CD": "愤",
+ "0xA5CE": "辽",
+ "0xA5CF": "阔",
+ "0xA5D0": "茂",
+ "0xA5D1": "称",
+ "0xA5D2": "讨",
+ "0xA5D3": "厌",
+ "0xA5D4": "靶",
+ "0xA5D5": "饲",
+ "0xA5D6": "求",
+ "0xA5D7": "材",
+ "0xA5D8": "耶",
+ "0xA5D9": "谊",
+ "0xA5DA": "噓",
+ "0xA5DB": "遍",
+ "0xA5DC": "谱",
+ "0xA5DD": "议",
+ "0xA5DE": "吼",
+ "0xA5DF": "薄",
+ "0xA5E0": "饶",
+ "0xA5E1": "稽",
+ "0xA5E2": "齐",
+ "0xA5E3": "懦",
+ "0xA5E4": "抱",
+ "0xA5E5": "千",
+ "0xA5E6": "辛",
+ "0xA5E7": "漂",
+ "0xA5E8": "环",
+ "0xA5E9": "配",
+ "0xA5EA": "帝",
+ "0xA5EB": "焦",
+ "0xA5EC": "乎",
+ "0xA5ED": "欠",
+ "0xA5EE": "驯",
+ "0xA5EF": "圈",
+ "0xA5F0": "局",
+ "0xA5F1": "咩",
+ "0xA5F2": "既",
+ "0xA5F3": "劳",
+ "0xA5F4": "祭",
+ "0xA5F5": "伪",
+ "0xA5F6": "弃",
+ "0xA5F7": "耐",
+ "0xA5F8": "岗",
+ "0xA5F9": "唔",
+ "0xA5FA": "佳",
+ "0xA5FB": "搭",
+ "0xA5FC": "档",
+ "0xA5FD": "负",
+ "0xA5FE": "责",
+ "0xA5FF": "攀",
+ "0xA600": "绍",
+ "0xA601": "忙",
+ "0xA602": "提",
+ "0xA603": "缠",
+ "0xA604": "唉",
+ "0xA605": "亳",
+ "0xA606": "毛",
+ "0xA607": "笑",
+ "0xA608": "欣",
+ "0xA609": "赏",
+ "0xA60A": "怜",
+ "0xA60B": "瓜",
+ "0xA60C": "奔",
+ "0xA60D": "啧",
+ "0xA60E": "踢",
+ "0xA60F": "志",
+ "0xA610": "宜",
+ "0xA611": "仿",
+ "0xA612": "楚",
+ "0xA613": "挖",
+ "0xA614": "由",
+ "0xA615": "捕",
+ "0xA616": "播",
+ "0xA617": "谣",
+ "0xA618": "勤",
+ "0xA619": "陌",
+ "0xA61A": "杰",
+ "0xA61B": "骏",
+ "0xA61C": "鞭",
+ "0xA61D": "抽",
+ "0xA61E": "享",
+ "0xA61F": "栏",
+ "0xA620": "逛",
+ "0xA621": "汊",
+ "0xA622": "烦",
+ "0xA623": "匆",
+ "0xA624": "妈",
+ "0xA625": "唱",
+ "0xA626": "墟",
+ "0xA627": "粗",
+ "0xA628": "虐",
+ "0xA629": "乡",
+ "0xA62A": "彻",
+ "0xA62B": "咕",
+ "0xA62C": "哝",
+ "0xA62D": "简",
+ "0xA62E": "优",
+ "0xA62F": "惠",
+ "0xA630": "民",
+ "0xA631": "灰",
+ "0xA632": "聪",
+ "0xA633": "南",
+ "0xA634": "澈",
+ "0xA635": "卫",
+ "0xA636": "熟",
+ "0xA637": "悉",
+ "0xA638": "故",
+ "0xA639": "乌",
+ "0xA63A": "兆",
+ "0xA63B": "企",
+ "0xA63C": "抢",
+ "0xA63D": "夺",
+ "0xA63E": "拼",
+ "0xA63F": "粉",
+ "0xA640": "番",
+ "0xA641": "群",
+ "0xA642": "秒",
+ "0xA643": "料",
+ "0xA644": "肯",
+ "0xA645": "赋",
+ "0xA646": "婚",
+ "0xA647": "诚",
+ "0xA648": "邀",
+ "0xA649": "斜",
+ "0xA64A": "诞",
+ "0xA64B": "及",
+ "0xA64C": "盛",
+ "0xA64D": "典",
+ "0xA64E": "拍",
+ "0xA64F": "轰",
+ "0xA650": "植",
+ "0xA651": "矿",
+ "0xA652": "采",
+ "0xA653": "阴",
+ "0xA654": "罕",
+ "0xA655": "昏",
+ "0xA656": "压",
+ "0xA657": "悦",
+ "0xA658": "饿",
+ "0xA659": "忍",
+ "0xA65A": "咳",
+ "0xA65B": "弄",
+ "0xA65C": "舔",
+ "0xA65D": "醉",
+ "0xA65E": "怀",
+ "0xA65F": "尊",
+ "0xA660": "严",
+ "0xA661": "滋",
+ "0xA662": "农",
+ "0xA663": "饥",
+ "0xA664": "沮",
+ "0xA665": "丧",
+ "0xA666": "奋",
+ "0xA667": "省",
+ "0xA668": "撑",
+ "0xA669": "脑",
+ "0xA66A": "灯",
+ "0xA66B": "隧",
+ "0xA66C": "派",
+ "0xA66D": "狗",
+ "0xA66E": "呜",
+ "0xA66F": "咣",
+ "0xA670": "警",
+ "0xA671": "挪",
+ "0xA672": "窜",
+ "0xA673": "峙",
+ "0xA674": "含",
+ "0xA675": "痛",
+ "0xA676": "夸",
+ "0xA677": "艺",
+ "0xA678": "撒",
+ "0xA679": "谎",
+ "0xA67A": "昨",
+ "0xA67B": "炎",
+ "0xA67C": "痒",
+ "0xA67D": "泪",
+ "0xA67E": "稳",
+ "0xA67F": "况",
+ "0xA680": "磨",
+ "0xA681": "休",
+ "0xA682": "柱",
+ "0xA683": "敲",
+ "0xA684": "油",
+ "0xA685": "菜",
+ "0xA686": "盟",
+ "0xA687": "骄",
+ "0xA688": "傲",
+ "0xA689": "献",
+ "0xA68A": "噢",
+ "0xA68B": "窒",
+ "0xA68C": "医",
+ "0xA68D": "甜",
+ "0xA68E": "鰓",
+ "0xA68F": "恼",
+ "0xA690": "耽",
+ "0xA691": "搁",
+ "0xA692": "孤",
+ "0xA693": "丈",
+ "0xA694": "订",
+ "0xA695": "戒",
+ "0xA696": "贵",
+ "0xA697": "财",
+ "0xA698": "惹",
+ "0xA699": "腐",
+ "0xA69A": "剂",
+ "0xA69B": "融",
+ "0xA69C": "厚",
+ "0xA69D": "映",
+ "0xA69E": "妻",
+ "0xA69F": "狠",
+ "0xA6A0": "泄",
+ "0xA6A1": "咿",
+ "0xA6A2": "瞒",
+ "0xA6A3": "咽",
+ "0xA6A4": "恭",
+ "0xA6A5": "涨",
+ "0xA6A6": "嘎",
+ "0xA6A7": "悔",
+ "0xA6A8": "犹",
+ "0xA6A9": "豫",
+ "0xA6AA": "呃",
+ "0xA6AB": "糕",
+ "0xA6AC": "埃",
+ "0xA6AD": "荡",
+ "0xA6AE": "漾",
+ "0xA6AF": "饵",
+ "0xA6B0": "晃",
+ "0xA6B1": "约",
+ "0xA6B2": "专",
+ "0xA6B3": "剔",
+ "0xA6B4": "窍",
+ "0xA6B5": ".",
+ "0xA6B6": "乱",
+ "0xA6B7": "甩",
+ "0xA6B8": "鳅",
+ "0xA6B9": "剧",
+ "0xA6BA": "竿",
+ "0xA6BB": "杆",
+ "0xA6BC": "符",
+ "0xA6BD": "呱",
+ "0xA6BE": "团",
+ "0xA6BF": "饱",
+ "0xA6C0": "犯",
+ "0xA6C1": "肃",
+ "0xA6C2": "啵",
+ "0xA6C3": "吟",
+ "0xA6C4": "月",
+ "0xA6C5": "诗",
+ "0xA6C6": "碑",
+ "0xA6C7": "奥",
+ "0xA6C8": "扬",
+ "0xA6C9": "舍",
+ "0xA6CA": "副",
+ "0xA6CB": "袖",
+ "0xA6CC": "夏",
+ "0xA6CD": "赖",
+ "0xA6CE": "仆",
+ "0xA6CF": "摆",
+ "0xA6D0": "雇",
+ "0xA6D1": "疙",
+ "0xA6D2": "瘩",
+ "0xA6D3": "居",
+ "0xA6D4": "簧",
+ "0xA6D5": "车",
+ "0xA6D6": "剩",
+ "0xA6D7": "玻",
+ "0xA6D8": "璃",
+ "0xA6D9": "赔",
+ "0xA6DA": "欺",
+ "0xA6DB": "育",
+ "0xA6DC": "珍",
+ "0xA6DD": "床",
+ "0xA6DE": "蛮",
+ "0xA6DF": "啄",
+ "0xA6E0": "、",
+ "0xA6E1": "稀",
+ "0xA6E2": "栋",
+ "0xA6E3": "柜",
+ "0xA6E4": "鼻",
+ "0xA6E5": "厉",
+ "0xA6E6": "乏",
+ "0xA6E7": "饭",
+ "0xA6E8": "胡",
+ "0xA6E9": "叮",
+ "0xA6EA": "咚",
+ "0xA6EB": "兵",
+ "0xA6EC": "勃",
+ "0xA6ED": "苛",
+ "0xA6EE": "薪",
+ "0xA6EF": "痴",
+ "0xA6F0": "挣",
+ "0xA6F1": "馊",
+ "0xA6F2": "扑",
+ "0xA6F3": "良",
+ "0xA6F4": "竭",
+ "0xA6F5": "慷",
+ "0xA6F6": "慨",
+ "0xA6F7": "欲",
+ "0xA6F8": "愚",
+ "0xA6F9": "蠢",
+ "0xA6FA": "嘉",
+ "0xA6FB": "监",
+ "0xA6FC": "狱",
+ "0xA6FD": "喔",
+ "0xA6FE": "港",
+ "0xA6FF": "逆",
+ "0xA700": "误",
+ "0xA701": "独",
+ "0xA702": "划",
+ "0xA703": "措",
+ "0xA704": "颜",
+ "0xA705": "奴",
+ "0xA706": "罢",
+ "0xA707": "洗",
+ "0xA708": "俊",
+ "0xA709": "罪",
+ "0xA70A": "偿",
+ "0xA70B": "牺",
+ "0xA70C": "牲",
+ "0xA70D": "劲",
+ "0xA70E": "岁",
+ "0xA70F": "恩",
+ "0xA710": "账",
+ "0xA711": "珂",
+ "0xA712": "艾",
+ "0xA713": "组",
+ "0xA714": "织",
+ "0xA715": "伯",
+ "0xA716": "社",
+ "0xA717": "架",
+ "0xA718": "桥",
+ "0xA719": "碟",
+ "0xA71A": "卑",
+ "0xA71B": "鄙",
+ "0xA71C": "臭",
+ "0xA71D": "占",
+ "0xA71E": "讶",
+ "0xA71F": "兽",
+ "0xA720": "刷",
+ "0xA721": "竞",
+ "0xA722": "帐",
+ "0xA723": "篷",
+ "0xA724": "迟",
+ "0xA725": "繁",
+ "0xA726": "倦",
+ "0xA727": "罐",
+ "0xA728": "牌",
+ "0xA729": "晨",
+ "0xA72A": "景",
+ "0xA72B": "田",
+ "0xA72C": "孔",
+ "0xA72D": "钻",
+ "0xA72E": "浓",
+ "0xA72F": "盒",
+ "0xA730": "溜",
+ "0xA731": "街",
+ "0xA732": "概",
+ "0xA733": "盹",
+ "0xA734": "敞",
+ "0xA735": "扉",
+ "0xA736": "文",
+ "0xA737": "撞",
+ "0xA738": "姑",
+ "0xA739": "娘",
+ "0xA73A": "糊",
+ "0xA73B": "涂",
+ "0xA73C": "依",
+ "0xA73D": "辐",
+ "0xA73E": "微",
+ "0xA73F": "汇",
+ "0xA740": "缚",
+ "0xA741": "宰",
+ "0xA742": "摸",
+ "0xA743": "侍",
+ "0xA744": "垒",
+ "0xA745": "扮",
+ "0xA746": "惕",
+ "0xA747": "估",
+ "0xA748": "执",
+ "0xA749": "悲",
+ "0xA74A": "拖",
+ "0xA74B": "累",
+ "0xA74C": "弥",
+ "0xA74D": "渴",
+ "0xA74E": "班",
+ "0xA74F": "搞",
+ "0xA750": "谛",
+ "0xA751": "哀",
+ "0xA752": "圆",
+ "0xA753": "鸣",
+ "0xA754": "俩",
+ "0xA755": "善",
+ "0xA756": "塌",
+ "0xA757": "埋",
+ "0xA758": "孙",
+ "0xA759": "凶",
+ "0xA75A": "聊",
+ "0xA75B": "寃",
+ "0xA75C": "怨",
+ "0xA75D": "购",
+ "0xA75E": "涌",
+ "0xA75F": "劈",
+ "0xA760": "狐",
+ "0xA761": "狸",
+ "0xA762": "票",
+ "0xA763": "闻",
+ "0xA764": "哟",
+ "0xA765": "唬",
+ "0xA766": "摘",
+ "0xA767": "愉",
+ "0xA768": "呦",
+ "0xA769": "棺",
+ "0xA76A": "溶",
+ "0xA76B": "褐",
+ "0xA76C": "肤",
+ "0xA76D": "颤",
+ "0xA76E": "逗",
+ "0xA76F": "娶",
+ "0xA770": "逼",
+ "0xA771": "悠",
+ "0xA772": "蒙",
+ "0xA773": "漆",
+ "0xA774": "彩",
+ "0xA775": "丰"
+ }
+}
\ No newline at end of file
diff --git a/GUI/devtools/language-editor/index.html b/GUI/devtools/language-editor/index.html
new file mode 100644
index 0000000000..1b3863720c
--- /dev/null
+++ b/GUI/devtools/language-editor/index.html
@@ -0,0 +1,5718 @@
+
+
+
+
+
+ OOTR Language Editor Developer Tool
+
+
+
+
+
+
OOTR Language Editor Developer Tool
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Patch maker
+
+
Original ROM
+
Modified ROM
+
+
Output folder
+
No patch generated.
+
+
+
+
Diff patch uses XOR over bin_patch ranges, then zlib compression.
+
Blue Fire raw segment presets
+
+
Manual segment start
+
Manual segment size
+
Manual segment filename
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GUI/devtools/language-editor/language_editor_ui.json b/GUI/devtools/language-editor/language_editor_ui.json
new file mode 100644
index 0000000000..ccca291dae
--- /dev/null
+++ b/GUI/devtools/language-editor/language_editor_ui.json
@@ -0,0 +1,8701 @@
+{
+ "note": "UI text is translated only by exact full-sentence keys. No term dictionary and no word-by-word replacement are used.",
+ "languages": [
+ {
+ "label": "English",
+ "code": "en"
+ },
+ {
+ "label": "日本語",
+ "code": "ja"
+ },
+ {
+ "label": "Español",
+ "code": "es"
+ },
+ {
+ "label": "Français",
+ "code": "fr"
+ },
+ {
+ "label": "Deutsch",
+ "code": "de"
+ },
+ {
+ "label": "Русский",
+ "code": "ru"
+ },
+ {
+ "label": "简体中文",
+ "code": "zh-CN"
+ },
+ {
+ "label": "繁體中文",
+ "code": "zh-TW"
+ },
+ {
+ "label": "한국어",
+ "code": "ko"
+ }
+ ],
+ "strings": {
+ "en": {
+ "": "",
+ "\n\nWarnings:\n": "\n\nWarnings:\n",
+ "\n# Add a gender under [gender] or a rule under [prefix]\nnew_rule/no_gender = \n": "\n# Add a gender under [gender] or a rule under [prefix]\nnew_rule/no_gender = \n",
+ "\n- new item\n": "\n- new item\n",
+ "\n- new_search_text\n": "\n- new_search_text\n",
+ "\nFormat : ": "\nFormat : ",
+ "\nFormat: ": "\nFormat: ",
+ "\nFormato: ": "\nFormato: ",
+ "\nJapanese stand-in conversion:\n": "\nJapanese stand-in conversion:\n",
+ "\nnew_key => \"new value\"\n": "\nnew_key => \"new value\"\n",
+ "\nsource text => replacement text\n": "\nsource text => replacement text\n",
+ "\nФормат: ": "\nФормат: ",
+ "\nフォーマット: ": "\nフォーマット: ",
+ " #XX -> color XX\n": " #XX -> color XX\n",
+ " & -> line break\n": " & -> line break\n",
+ " ... \n": " ... \n",
+ " \n": " \n",
+ " \n": " \n",
+ " \n": " \n",
+ " \n": " \n",
+ " or \n\n": " or \n\n",
+ " ★XX -> icon XX\n": " ★XX -> icon XX\n",
+ " ♭XXXX -> sound XXXX\n": " ♭XXXX -> sound XXXX\n",
+ " - 0x": " - 0x",
+ " checked diff patches to ": " checked diff patches to ",
+ " duplicate entries.": " duplicate entries.",
+ " has duplicate id ": " has duplicate id ",
+ " item": " item",
+ " metadata fields.": " metadata fields.",
+ " missing PLAIN_TEXTS entries. Updated ": " missing PLAIN_TEXTS entries. Updated ",
+ " more": " more",
+ " must be a list.": " must be a list.",
+ " pair": " pair",
+ " patch files:\\n": " patch files:\\n",
+ " patch ranges from ": " patch ranges from ",
+ "# Add/delete lines directly. Empty prefix keys are written as .": "# Add/delete lines directly. Empty prefix keys are written as .",
+ "# Dictionary editor. One key per line: key => JSON value or text": "# Dictionary editor. One key per line: key => JSON value or text",
+ "# One conversion per line: source => replacement": "# One conversion per line: source => replacement",
+ "# One list entry per line. Strings can use control-code markup; objects can be JSON.": "# One list entry per line. Strings can use control-code markup; objects can be JSON.",
+ "# One list item per line. Use '- value' or plain lines.": "# One list item per line. Use '- value' or plain lines.",
+ "# One mapping per line: left => right": "# One mapping per line: left => right",
+ "# One replacement per line: from => to": "# One replacement per line: from => to",
+ "# Prefix editor. Sections: [gender], [case], [prefix].": "# Prefix editor. Sections: [gender], [case], [prefix].",
+ "# Tipo": "# Tipo",
+ "# Typ": "# Typ",
+ "# Type": "# Type",
+ "# Type: ": "# Type: ",
+ "# Type: boolean": "# Type: boolean",
+ "# Type: dict": "# Type: dict",
+ "# Type: dict. String values are shown with control-code markup instead of \\u0001 escapes.": "# Type: dict. String values are shown with control-code markup instead of \\u0001 escapes.",
+ "# Type: dictionary": "# Type: dictionary",
+ "# Type: integer": "# Type: integer",
+ "# Type: list": "# Type: list",
+ "# Type: list. One item per line; strings use control-code markup instead of \\u0001 escapes.": "# Type: list. One item per line; strings use control-code markup instead of \\u0001 escapes.",
+ "# Type: mixed values": "# Type: mixed values",
+ "# Type: null": "# Type: null",
+ "# Type: number": "# Type: number",
+ "# Type: str\n": "# Type: str\n",
+ "# Type: string": "# Type: string",
+ "# Тип": "# Тип",
+ "# 型": "# 型",
+ "(new file)": "(new file)",
+ "*.py *.json": "*.py *.json",
+ "*.z64 *.n64 *.v64": "*.z64 *.n64 *.v64",
+ ". Format: ": ". Format: ",
+ ". Save as property.json when ready.": ". Save as property.json when ready.",
+ "/": "/",
+ "02X": "02X",
+ "04X": "04X",
+ ": not found or not safely evaluable in ": ": not found or not safely evaluable in ",
+ ": skipped safe evaluation (": ": skipped safe evaluation (",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "A ttk frame whose contents stay reachable when the window is small.": "A ttk frame whose contents stay reachable when the window is small.",
+ "About": "About",
+ "Add": "Add",
+ "Add line / pair": "Add line / pair",
+ "Added ": "Added ",
+ "Added item to ": "Added item to ",
+ "Align": "Align",
+ "All": "All",
+ "All UI strings are translated through language_editor_ui.json. English is registered explicitly as key = value.": "All UI strings are translated through language_editor_ui.json. English is registered explicitly as key = value.",
+ "All files": "All files",
+ "Append end code on apply": "Append end code on apply",
+ "Applied ": "Applied ",
+ "Applied JSON to ": "Applied JSON to ",
+ "Applied language property": "Applied language property",
+ "Applied section item": "Applied section item",
+ "Applied whole section editor to ": "Applied whole section editor to ",
+ "Apply": "Apply",
+ "Apply JSON to section": "Apply JSON to section",
+ "Apply entry": "Apply entry",
+ "Apply failed": "Apply failed",
+ "Apply language property": "Apply language property",
+ "Apply pair": "Apply pair",
+ "Apply section JSON": "Apply section JSON",
+ "Apply section editor": "Apply section editor",
+ "Apply section editor failed": "Apply section editor failed",
+ "Article/prefix rules used by hint and item text generation. Keep the nested gender/case structure consistent with the target language.": "Article/prefix rules used by hint and item text generation. Keep the nested gender/case structure consistent with the target language.",
+ "As": "As",
+ "Auto-generated TEMP. property is last applied data; draft_text_editor may contain unapplied right-side edits.": "Auto-generated TEMP. property is last applied data; draft_text_editor may contain unapplied right-side edits.",
+ "Auto-saved TEMP ": "Auto-saved TEMP ",
+ "BOSS_GOAL_TABLE": "BOSS_GOAL_TABLE",
+ "Base": "Base",
+ "Binary patch": "Binary patch",
+ "Boolean": "Boolean",
+ "Boss goal hint labels. Keep boss keys stable; translate clear/vague display strings.": "Boss goal hint labels. Keep boss keys stable; translate clear/vague display strings.",
+ "Box": "Box",
+ "Browse": "Browse",
+ "CHAR_WIDTHS": "CHAR_WIDTHS",
+ "CHAR_WIDTHS entry needs a character/code key.": "CHAR_WIDTHS entry needs a character/code key.",
+ "Center": "Center",
+ "Character / Code": "Character / Code",
+ "Character width overrides. Keys may be visible characters, symbolic names such as [C-Up], message bytes such as 0x9F, index:N table slots, or JP hex codepoints such as 0x824F. Values may be integers or variant dictionaries.": "Character width overrides. Keys may be visible characters, symbolic names such as [C-Up], message bytes such as 0x9F, index:N table slots, or JP hex codepoints such as 0x824F. Values may be integers or variant dictionaries.",
+ "Character width table": "Character width table",
+ "Check all": "Check all",
+ "Checked diff failed": "Checked diff failed",
+ "Checked entries are exported in one run. Edit each filename field to avoid overwriting old cached/downloaded files.": "Checked entries are exported in one run. Edit each filename field to avoid overwriting old cached/downloaded files.",
+ "Choose an export filename or path.": "Choose an export filename or path.",
+ "Clear": "Clear",
+ "Clear Name": "Clear Name",
+ "Clear all": "Clear all",
+ "Color preview:": "Color preview:",
+ "Common examples:\n": "Common examples:\n",
+ "Completed property.json files can be loaded directly.": "Completed property.json files can be loaded directly.",
+ "Control code help": "Control code help",
+ "Control-code tools": "Control-code tools",
+ "Copied selected section item": "Copied selected section item",
+ "Copy": "Copy",
+ "Could not find ~/data/bin_patch.json. Place bin_patch.json there or load another JSON file.": "Could not find ~/data/bin_patch.json. Place bin_patch.json there or load another JSON file.",
+ "Ctrl+Y": "Ctrl+Y",
+ "Ctrl+Z": "Ctrl+Z",
+ "Deduplicate": "Deduplicate",
+ "Deduplicate current message IDs": "Deduplicate current message IDs",
+ "Delete": "Delete",
+ "Delete dictionary key '": "Delete dictionary key '",
+ "Delete entry": "Delete entry",
+ "Delete key": "Delete key",
+ "Delete the selected list item?": "Delete the selected list item?",
+ "Description": "Description",
+ "Deutsch": "Deutsch",
+ "Dictionary": "Dictionary",
+ "Dictionary / mapping": "Dictionary / mapping",
+ "Dictionary editor": "Dictionary editor",
+ "Dictionary pair editor": "Dictionary pair editor",
+ "Dictionary section: select a key on the left, edit the key in the metadata field, and edit the value as JSON or plain text.": "Dictionary section: select a key on the left, edit the key in the metadata field, and edit the value as JSON or plain text.",
+ "Dictionary専用エディタ: key => JSON value/text 形式で編集します。複雑な値はRaw JSONも使用できます。": "Dictionary専用エディタ: key => JSON value/text 形式で編集します。複雑な値はRaw JSONも使用できます。",
+ "Diff complete": "Diff complete",
+ "Diff failed": "Diff failed",
+ "Diff patch maker: bin_patch checklist + individual export filenames": "Diff patch maker: bin_patch checklist + individual export filenames",
+ "Display": "Display",
+ "Display paths with ~/ instead of a user-specific absolute home path.": "Display paths with ~/ instead of a user-specific absolute home path.",
+ "Dual-hint templates. Preserve placeholders and nested structure.": "Dual-hint templates. Preserve placeholders and nested structure.",
+ "Dungeon": "Dungeon",
+ "Dungeon display names and grammatical gender. Values are used by generated hints and item messages.": "Dungeon display names and grammatical gender. Values are used by generated hints and item messages.",
+ "Dungeon entry controls": "Dungeon entry controls",
+ "Dungeon table editor": "Dungeon table editor",
+ "Dungeon table. Edit name, gender, and has_map. has_map can also be changed with the checkbox on the right.": "Dungeon table. Edit name, gender, and has_map. has_map can also be changed with the checkbox on the right.",
+ "Dungeon専用: name/gender/has_mapを編集します。has_mapは右側チェックボックスでも変更できます。": "Dungeon専用: name/gender/has_mapを編集します。has_mapは右側チェックボックスでも変更できます。",
+ "Duplicate": "Duplicate",
+ "ERROR: ": "ERROR: ",
+ "Edit": "Edit",
+ "Edit box_type": "Edit box_type",
+ "Edited ROM": "Edited ROM",
+ "Empty list": "Empty list",
+ "Encode a mapping/list-pair side. JSON quotes preserve leading/trailing spaces.": "Encode a mapping/list-pair side. JSON quotes preserve leading/trailing spaces.",
+ "End": "End",
+ "English": "English",
+ "Ensure the loaded property has all known top-level sections.": "Ensure the loaded property has all known top-level sections.",
+ "Entry list": "Entry list",
+ "Entry note": "Entry note",
+ "Español": "Español",
+ "Exit": "Exit",
+ "Expand PLAIN_TEXTS from source...": "Expand PLAIN_TEXTS from source...",
+ "Expand user-facing local paths such as ~/data without exposing OS usernames.": "Expand user-facing local paths such as ~/data without exposing OS usernames.",
+ "Expansion failed": "Expansion failed",
+ "Export complete": "Export complete",
+ "Export filename": "Export filename",
+ "Export filename is empty.": "Export filename is empty.",
+ "Export filename/path": "Export filename/path",
+ "Export key": "Export key",
+ "Export property.json...": "Export property.json...",
+ "Export raw segment": "Export raw segment",
+ "Export selected patches": "Export selected patches",
+ "Exported property.json.": "Exported property.json.",
+ "Extra game text for non-English/non-Japanese language builds. Format: {id: int, text: str, box_type: int}. Use the expansion tool to add missing IDs/box types from an older source while keeping translations blank.": "Extra game text for non-English/non-Japanese language builds. Format: {id: int, text: str, box_type: int}. Use the expansion tool to add missing IDs/box types from an older source while keeping translations blank.",
+ "File": "File",
+ "For prefix/search/mapping/dictionary sections, the large Text editor edits the whole selected section. Message sections still edit one selected entry.": "For prefix/search/mapping/dictionary sections, the large Text editor edits the whole selected section. Message sections still edit one selected entry.",
+ "Format": "Format",
+ "Format JSON": "Format JSON",
+ "Format: ": "Format: ",
+ "Format: boolean": "Format: boolean",
+ "Format: dictionary": "Format: dictionary",
+ "Format: integer": "Format: integer",
+ "Format: list": "Format: list",
+ "Format: mixed values": "Format: mixed values",
+ "Format: null": "Format: null",
+ "Format: number": "Format: number",
+ "Format: string": "Format: string",
+ "Formato": "Formato",
+ "Français": "Français",
+ "From": "From",
+ "From / Key": "From / Key",
+ "From / To mapping": "From / To mapping",
+ "From / To string mapping. Use it to replace player-facing phrases, for example when converting text to use the player name.": "From / To string mapping. Use it to replace player-facing phrases, for example when converting text to use the player name.",
+ "From / To string mapping. Use it to replace verbs, for example obtained => got.": "From / To string mapping. Use it to replace verbs, for example obtained => got.",
+ "From / To 固定のstr:str置換表です。obtained => got のように動詞を置換します。": "From / To 固定のstr:str置換表です。obtained => got のように動詞を置換します。",
+ "From / To 固定のstr:str置換表です。プレイヤー名化など、左の語句を右へ変換します。": "From / To 固定のstr:str置換表です。プレイヤー名化など、左の語句を右へ変換します。",
+ "Full inserted code list:\n": "Full inserted code list:\n",
+ "Full-sentence UI translation mode is active.": "Full-sentence UI translation mode is active.",
+ "Gender": "Gender",
+ "General hint text templates. Preserve randomizer placeholders and control-code intent.": "General hint text templates. Preserve randomizer placeholders and control-code intent.",
+ "General property section": "General property section",
+ "General property section. Keep the existing JSON shape unless you know the consumer code expects a different schema.": "General property section. Keep the existing JSON shape unless you know the consumer code expects a different schema.",
+ "Generate checked diff patches": "Generate checked diff patches",
+ "Generate single diff patch": "Generate single diff patch",
+ "Goal name table editor": "Goal name table editor",
+ "Goal name table. Edit Vague Name and Clear Name. #...# is a hint color marker and is restored when saving.": "Goal name table. Edit Vague Name and Clear Name. #...# is a hint color marker and is restored when saving.",
+ "Goal name専用: vague / clear を Vague Name / Clear Name として編集します。#...# は色指定です。": "Goal name専用: vague / clear を Vague Name / Clear Name として編集します。#...# は色指定です。",
+ "Has Map": "Has Map",
+ "Has Map (has_map)": "Has Map (has_map)",
+ "Help": "Help",
+ "Hint Key": "Hint Key",
+ "Hint area display names, prepositions, short names, and grammatical gender. Keep keys and prep fields intact.": "Hint area display names, prepositions, short names, and grammatical gender. Keep keys and prep fields intact.",
+ "Hint table editor": "Hint table editor",
+ "Hint table editor. Edit Vague Hint, Clear Hint, and Gender. Vague Hint is saved as None when empty, as a string when it has one line, and as a list of strings when it has multiple lines. #...# is shown as ... while editing.": "Hint table editor. Edit Vague Hint, Clear Hint, and Gender. Vague Hint is saved as None when empty, as a string when it has one line, and as a list of strings when it has multiple lines. #...# is shown as ... while editing.",
+ "Hint table entries. Keep tuple/list shape intact: usually hint aliases, item text, and gender.": "Hint table entries. Keep tuple/list shape intact: usually hint aliases, item text, and gender.",
+ "Hint text table. Language syntax such as [prefix...] and placeholders such as {item} are preserved.": "Hint text table. Language syntax such as [prefix...] and placeholders such as {item} are preserved.",
+ "Hint text専用: Language構文 [prefix...] と placeholder {item} をそのまま扱います。": "Hint text専用: Language構文 [prefix...] と placeholder {item} をそのまま扱います。",
+ "Hint専用: vague_hint / clear_hint / gender を編集します。vague_hintは空=None、1件=str、複数=list[str]として保存します。#...# は編集時 ... として表示します。": "Hint専用: vague_hint / clear_hint / gender を編集します。vague_hintは空=None、1件=str、複数=list[str]として保存します。#...# は編集時 ... として表示します。",
+ "ID": "ID",
+ "ID / index": "ID / index",
+ "IMPORTANT_ITEM_MESSAGES": "IMPORTANT_ITEM_MESSAGES",
+ "ITEM_MESSAGES": "ITEM_MESSAGES",
+ "Import complete": "Import complete",
+ "Import failed": "Import failed",
+ "Imported ": "Imported ",
+ "Imported literal sections from ": "Imported literal sections from ",
+ "Insert code": "Insert code",
+ "Integer": "Integer",
+ "Invalid diff range. End must be larger than start.": "Invalid diff range. End must be larger than start.",
+ "Invalid segment range. Size must be greater than zero.": "Invalid segment range. Size must be greater than zero.",
+ "Item get messages. Format: {id: int, text: str}. Control codes such as , , line breaks, and box breaks are allowed.": "Item get messages. Format: {id: int, text: str}. Control codes such as , , line breaks, and box breaks are allowed.",
+ "JSON": "JSON",
+ "JSON parse failed": "JSON parse failed",
+ "Japanese stand-in conversion:\n": "Japanese stand-in conversion:\n",
+ "Key": "Key",
+ "Key / As mapping": "Key / As mapping",
+ "Key / As mapping with fixed string keys and string values.": "Key / As mapping with fixed string keys and string values.",
+ "Key / As pair list": "Key / As pair list",
+ "Key / As replacement pairs. After Language.format runs, the left value is replaced with the right value.": "Key / As replacement pairs. After Language.format runs, the left value is replaced with the right value.",
+ "Key / As 固定の str:str 辞書です。": "Key / As 固定の str:str 辞書です。",
+ "Key / As 固定の置換ペアです。Language.format後に左から右へ置換されます。": "Key / As 固定の置換ペアです。Language.format後に左から右へ置換されます。",
+ "Keyed text item": "Keyed text item",
+ "Language": "Language",
+ "Language changed.": "Language changed.",
+ "Language metadata. base is normally 'en' or 'jp'; align_text should stay Left/Center/Right. wide_text_english_metrics is for JP/wide text using English-like spacing.": "Language metadata. base is normally 'en' or 'jp'; align_text should stay Left/Center/Right. wide_text_english_metrics is for JP/wide text using English-like spacing.",
+ "Language property": "Language property",
+ "Language syntax can reference this data with paths such as [prefix.definite.nominative.masculine]. Add or remove gender, case, and prefix layers to match the target language.": "Language syntax can reference this data with paths such as [prefix.definite.nominative.masculine]. Add or remove gender, case, and prefix layers to match the target language.",
+ "Language構文では [prefix.definite.nominative.masculine] のように参照できます。German版のように gender/case/prefix 階層を増減できます。": "Language構文では [prefix.definite.nominative.masculine] のように参照できます。German版のように gender/case/prefix 階層を増減できます。",
+ "Left": "Left",
+ "Line breaks can be typed as real newlines. A visible ▼ line is treated as a box break.\n\n": "Line breaks can be typed as real newlines. A visible ▼ line is treated as a box break.\n\n",
+ "List": "List",
+ "List editor": "List editor",
+ "List item / Section item": "List item / Section item",
+ "List of arrays / tuples": "List of arrays / tuples",
+ "List of dictionaries": "List of dictionaries",
+ "List of strings": "List of strings",
+ "List section: selected items are edited as JSON or plain text. Use Raw section JSON for large nested edits.": "List section: selected items are edited as JSON or plain text. Use Raw section JSON for large nested edits.",
+ "List専用エディタ: 1行1項目で編集します。辞書や配列はJSONとして書けます。": "List専用エディタ: 1行1項目で編集します。辞書や配列はJSONとして書けます。",
+ "List専用エディタ: 右側Text editorで1行1項目として追加・削除します。ID/Box/Text Keyメタ欄は使いません。": "List専用エディタ: 右側Text editorで1行1項目として追加・削除します。ID/Box/Text Keyメタ欄は使いません。",
+ "Load": "Load",
+ "Load TEMP failed": "Load TEMP failed",
+ "Load TEMP property...": "Load TEMP property...",
+ "Load completed property.json...": "Load completed property.json...",
+ "Load default ~/data/bin_patch.json": "Load default ~/data/bin_patch.json",
+ "Load failed": "Load failed",
+ "Load property.json...": "Load property.json...",
+ "Load section JSON": "Load section JSON",
+ "Loaded": "Loaded",
+ "Loaded ": "Loaded ",
+ "Loaded TEMP ": "Loaded TEMP ",
+ "Loaded property.json.": "Loaded property.json.",
+ "Local export folder": "Local export folder",
+ "Local export folder: ": "Local export folder: ",
+ "Local export folder: {path}": "Local export folder: {path}",
+ "Local layout: ~/data/lang/ootr_language_editor_gui.py": "Local layout: ~/data/lang/ootr_language_editor_gui.py",
+ "MISC_MESSAGES": "MISC_MESSAGES",
+ "Mapping専用エディタ: source => replacement 形式で左から右への変換を編集します。": "Mapping専用エディタ: source => replacement 形式で左から右への変換を編集します。",
+ "Markup → Raw preview": "Markup → Raw preview",
+ "Message editor": "Message editor",
+ "Message entries": "Message entries",
+ "Message entries with box_type": "Message entries with box_type",
+ "Message list: id + box_type + text": "Message list: id + box_type + text",
+ "Message list: id + text": "Message list: id + text",
+ "Message section: entries use id + box_type + text. id/box_type are metadata and text uses OOTR control codes.": "Message section: entries use id + box_type + text. id/box_type are metadata and text uses OOTR control codes.",
+ "Message section: entries use id + text. id is metadata and text uses OOTR control codes.": "Message section: entries use id + text. id is metadata and text uses OOTR control codes.",
+ "Message専用エディタ: 左側で項目を選択し、本文を編集します。ID/box_typeは必要時のみ表示します。": "Message専用エディタ: 左側で項目を選択し、本文を編集します。ID/box_typeは必要時のみ表示します。",
+ "Misc dual hint table. Preserve item_1 and item_2 placeholders while editing.": "Misc dual hint table. Preserve item_1 and item_2 placeholders while editing.",
+ "Misc dual hint専用: item_1/item_2系placeholderを保持したまま編集します。": "Misc dual hint専用: item_1/item_2系placeholderを保持したまま編集します。",
+ "Misc hint table editor": "Misc hint table editor",
+ "Misc hint専用: 固定キー内の location_text/default_item_text などを項目別に編集します。短縮コントロールコードと#色指定を表示変換します。": "Misc hint専用: 固定キー内の location_text/default_item_text などを項目別に編集します。短縮コントロールコードと#色指定を表示変換します。",
+ "Misc item hint table. Edit fixed fields such as location_text and default_item_text. Short control-code notation and #...# color markers are converted for display.": "Misc item hint table. Edit fixed fields such as location_text and default_item_text. Short control-code notation and #...# color markers are converted for display.",
+ "Misc location hint table. Edit fixed fields such as location_text and location_fallback.": "Misc location hint table. Edit fixed fields such as location_text and location_fallback.",
+ "Misc location hint専用: 固定キー内の location_text/location_fallbackなどを編集します。": "Misc location hint専用: 固定キー内の location_text/location_fallbackなどを編集します。",
+ "Miscellaneous in-game text. Format: {id: int, text: str, box_type: int}. ID and box_type are metadata; edit them only when intentionally changing the table entry.": "Miscellaneous in-game text. Format: {id: int, text: str, box_type: int}. ID and box_type are metadata; edit them only when intentionally changing the table entry.",
+ "Missing UI translation key": "Missing UI translation key",
+ "Mixed list": "Mixed list",
+ "Mode": "Mode",
+ "Mode : ": "Mode : ",
+ "Mode: ": "Mode: ",
+ "Mode: From / To mapping. Format: boolean.": "Mode: From / To mapping. Format: boolean.",
+ "Mode: From / To mapping. Format: dictionary.": "Mode: From / To mapping. Format: dictionary.",
+ "Mode: From / To mapping. Format: integer.": "Mode: From / To mapping. Format: integer.",
+ "Mode: From / To mapping. Format: list.": "Mode: From / To mapping. Format: list.",
+ "Mode: From / To mapping. Format: mixed values.": "Mode: From / To mapping. Format: mixed values.",
+ "Mode: From / To mapping. Format: null.": "Mode: From / To mapping. Format: null.",
+ "Mode: From / To mapping. Format: number.": "Mode: From / To mapping. Format: number.",
+ "Mode: From / To mapping. Format: string.": "Mode: From / To mapping. Format: string.",
+ "Mode: Key / As mapping. Format: boolean.": "Mode: Key / As mapping. Format: boolean.",
+ "Mode: Key / As mapping. Format: dictionary.": "Mode: Key / As mapping. Format: dictionary.",
+ "Mode: Key / As mapping. Format: integer.": "Mode: Key / As mapping. Format: integer.",
+ "Mode: Key / As mapping. Format: list.": "Mode: Key / As mapping. Format: list.",
+ "Mode: Key / As mapping. Format: mixed values.": "Mode: Key / As mapping. Format: mixed values.",
+ "Mode: Key / As mapping. Format: null.": "Mode: Key / As mapping. Format: null.",
+ "Mode: Key / As mapping. Format: number.": "Mode: Key / As mapping. Format: number.",
+ "Mode: Key / As mapping. Format: string.": "Mode: Key / As mapping. Format: string.",
+ "Mode: Key / As pair list. Format: boolean.": "Mode: Key / As pair list. Format: boolean.",
+ "Mode: Key / As pair list. Format: dictionary.": "Mode: Key / As pair list. Format: dictionary.",
+ "Mode: Key / As pair list. Format: integer.": "Mode: Key / As pair list. Format: integer.",
+ "Mode: Key / As pair list. Format: list.": "Mode: Key / As pair list. Format: list.",
+ "Mode: Key / As pair list. Format: mixed values.": "Mode: Key / As pair list. Format: mixed values.",
+ "Mode: Key / As pair list. Format: null.": "Mode: Key / As pair list. Format: null.",
+ "Mode: Key / As pair list. Format: number.": "Mode: Key / As pair list. Format: number.",
+ "Mode: Key / As pair list. Format: string.": "Mode: Key / As pair list. Format: string.",
+ "Mode: character-width table. Format: boolean.": "Mode: character-width table. Format: boolean.",
+ "Mode: character-width table. Format: dictionary.": "Mode: character-width table. Format: dictionary.",
+ "Mode: character-width table. Format: integer.": "Mode: character-width table. Format: integer.",
+ "Mode: character-width table. Format: list.": "Mode: character-width table. Format: list.",
+ "Mode: character-width table. Format: mixed values.": "Mode: character-width table. Format: mixed values.",
+ "Mode: character-width table. Format: null.": "Mode: character-width table. Format: null.",
+ "Mode: character-width table. Format: number.": "Mode: character-width table. Format: number.",
+ "Mode: character-width table. Format: string.": "Mode: character-width table. Format: string.",
+ "Mode: dictionary pairs. Format: boolean.": "Mode: dictionary pairs. Format: boolean.",
+ "Mode: dictionary pairs. Format: dictionary.": "Mode: dictionary pairs. Format: dictionary.",
+ "Mode: dictionary pairs. Format: integer.": "Mode: dictionary pairs. Format: integer.",
+ "Mode: dictionary pairs. Format: list.": "Mode: dictionary pairs. Format: list.",
+ "Mode: dictionary pairs. Format: mixed values.": "Mode: dictionary pairs. Format: mixed values.",
+ "Mode: dictionary pairs. Format: null.": "Mode: dictionary pairs. Format: null.",
+ "Mode: dictionary pairs. Format: number.": "Mode: dictionary pairs. Format: number.",
+ "Mode: dictionary pairs. Format: string.": "Mode: dictionary pairs. Format: string.",
+ "Mode: dictionary. Format: boolean.": "Mode: dictionary. Format: boolean.",
+ "Mode: dictionary. Format: dictionary.": "Mode: dictionary. Format: dictionary.",
+ "Mode: dictionary. Format: integer.": "Mode: dictionary. Format: integer.",
+ "Mode: dictionary. Format: list.": "Mode: dictionary. Format: list.",
+ "Mode: dictionary. Format: mixed values.": "Mode: dictionary. Format: mixed values.",
+ "Mode: dictionary. Format: null.": "Mode: dictionary. Format: null.",
+ "Mode: dictionary. Format: number.": "Mode: dictionary. Format: number.",
+ "Mode: dictionary. Format: string.": "Mode: dictionary. Format: string.",
+ "Mode: dungeon table. Format: boolean.": "Mode: dungeon table. Format: boolean.",
+ "Mode: dungeon table. Format: dictionary.": "Mode: dungeon table. Format: dictionary.",
+ "Mode: dungeon table. Format: integer.": "Mode: dungeon table. Format: integer.",
+ "Mode: dungeon table. Format: list.": "Mode: dungeon table. Format: list.",
+ "Mode: dungeon table. Format: mixed values.": "Mode: dungeon table. Format: mixed values.",
+ "Mode: dungeon table. Format: null.": "Mode: dungeon table. Format: null.",
+ "Mode: dungeon table. Format: number.": "Mode: dungeon table. Format: number.",
+ "Mode: dungeon table. Format: string.": "Mode: dungeon table. Format: string.",
+ "Mode: goal-name table. Format: boolean.": "Mode: goal-name table. Format: boolean.",
+ "Mode: goal-name table. Format: dictionary.": "Mode: goal-name table. Format: dictionary.",
+ "Mode: goal-name table. Format: integer.": "Mode: goal-name table. Format: integer.",
+ "Mode: goal-name table. Format: list.": "Mode: goal-name table. Format: list.",
+ "Mode: goal-name table. Format: mixed values.": "Mode: goal-name table. Format: mixed values.",
+ "Mode: goal-name table. Format: null.": "Mode: goal-name table. Format: null.",
+ "Mode: goal-name table. Format: number.": "Mode: goal-name table. Format: number.",
+ "Mode: goal-name table. Format: string.": "Mode: goal-name table. Format: string.",
+ "Mode: hint table. Format: boolean.": "Mode: hint table. Format: boolean.",
+ "Mode: hint table. Format: dictionary.": "Mode: hint table. Format: dictionary.",
+ "Mode: hint table. Format: integer.": "Mode: hint table. Format: integer.",
+ "Mode: hint table. Format: list.": "Mode: hint table. Format: list.",
+ "Mode: hint table. Format: mixed values.": "Mode: hint table. Format: mixed values.",
+ "Mode: hint table. Format: null.": "Mode: hint table. Format: null.",
+ "Mode: hint table. Format: number.": "Mode: hint table. Format: number.",
+ "Mode: hint table. Format: string.": "Mode: hint table. Format: string.",
+ "Mode: keyed text item. Format: boolean.": "Mode: keyed text item. Format: boolean.",
+ "Mode: keyed text item. Format: dictionary.": "Mode: keyed text item. Format: dictionary.",
+ "Mode: keyed text item. Format: integer.": "Mode: keyed text item. Format: integer.",
+ "Mode: keyed text item. Format: list.": "Mode: keyed text item. Format: list.",
+ "Mode: keyed text item. Format: mixed values.": "Mode: keyed text item. Format: mixed values.",
+ "Mode: keyed text item. Format: null.": "Mode: keyed text item. Format: null.",
+ "Mode: keyed text item. Format: number.": "Mode: keyed text item. Format: number.",
+ "Mode: keyed text item. Format: string.": "Mode: keyed text item. Format: string.",
+ "Mode: list. Format: boolean.": "Mode: list. Format: boolean.",
+ "Mode: list. Format: dictionary.": "Mode: list. Format: dictionary.",
+ "Mode: list. Format: integer.": "Mode: list. Format: integer.",
+ "Mode: list. Format: list.": "Mode: list. Format: list.",
+ "Mode: list. Format: mixed values.": "Mode: list. Format: mixed values.",
+ "Mode: list. Format: null.": "Mode: list. Format: null.",
+ "Mode: list. Format: number.": "Mode: list. Format: number.",
+ "Mode: list. Format: string.": "Mode: list. Format: string.",
+ "Mode: message: id + box_type + text. Format: boolean.": "Mode: message: id + box_type + text. Format: boolean.",
+ "Mode: message: id + box_type + text. Format: dictionary.": "Mode: message: id + box_type + text. Format: dictionary.",
+ "Mode: message: id + box_type + text. Format: integer.": "Mode: message: id + box_type + text. Format: integer.",
+ "Mode: message: id + box_type + text. Format: list.": "Mode: message: id + box_type + text. Format: list.",
+ "Mode: message: id + box_type + text. Format: mixed values.": "Mode: message: id + box_type + text. Format: mixed values.",
+ "Mode: message: id + box_type + text. Format: null.": "Mode: message: id + box_type + text. Format: null.",
+ "Mode: message: id + box_type + text. Format: number.": "Mode: message: id + box_type + text. Format: number.",
+ "Mode: message: id + box_type + text. Format: string.": "Mode: message: id + box_type + text. Format: string.",
+ "Mode: message: id + text. Format: boolean.": "Mode: message: id + text. Format: boolean.",
+ "Mode: message: id + text. Format: dictionary.": "Mode: message: id + text. Format: dictionary.",
+ "Mode: message: id + text. Format: integer.": "Mode: message: id + text. Format: integer.",
+ "Mode: message: id + text. Format: list.": "Mode: message: id + text. Format: list.",
+ "Mode: message: id + text. Format: mixed values.": "Mode: message: id + text. Format: mixed values.",
+ "Mode: message: id + text. Format: null.": "Mode: message: id + text. Format: null.",
+ "Mode: message: id + text. Format: number.": "Mode: message: id + text. Format: number.",
+ "Mode: message: id + text. Format: string.": "Mode: message: id + text. Format: string.",
+ "Mode: misc hint table. Format: boolean.": "Mode: misc hint table. Format: boolean.",
+ "Mode: misc hint table. Format: dictionary.": "Mode: misc hint table. Format: dictionary.",
+ "Mode: misc hint table. Format: integer.": "Mode: misc hint table. Format: integer.",
+ "Mode: misc hint table. Format: list.": "Mode: misc hint table. Format: list.",
+ "Mode: misc hint table. Format: mixed values.": "Mode: misc hint table. Format: mixed values.",
+ "Mode: misc hint table. Format: null.": "Mode: misc hint table. Format: null.",
+ "Mode: misc hint table. Format: number.": "Mode: misc hint table. Format: number.",
+ "Mode: misc hint table. Format: string.": "Mode: misc hint table. Format: string.",
+ "Mode: scalar. Format: boolean.": "Mode: scalar. Format: boolean.",
+ "Mode: scalar. Format: dictionary.": "Mode: scalar. Format: dictionary.",
+ "Mode: scalar. Format: integer.": "Mode: scalar. Format: integer.",
+ "Mode: scalar. Format: list.": "Mode: scalar. Format: list.",
+ "Mode: scalar. Format: mixed values.": "Mode: scalar. Format: mixed values.",
+ "Mode: scalar. Format: null.": "Mode: scalar. Format: null.",
+ "Mode: scalar. Format: number.": "Mode: scalar. Format: number.",
+ "Mode: scalar. Format: string.": "Mode: scalar. Format: string.",
+ "Mode: string list. Format: boolean.": "Mode: string list. Format: boolean.",
+ "Mode: string list. Format: dictionary.": "Mode: string list. Format: dictionary.",
+ "Mode: string list. Format: integer.": "Mode: string list. Format: integer.",
+ "Mode: string list. Format: list.": "Mode: string list. Format: list.",
+ "Mode: string list. Format: mixed values.": "Mode: string list. Format: mixed values.",
+ "Mode: string list. Format: null.": "Mode: string list. Format: null.",
+ "Mode: string list. Format: number.": "Mode: string list. Format: number.",
+ "Mode: string list. Format: string.": "Mode: string list. Format: string.",
+ "Mode: {mode}\nFormat: {format}\n{note}": "Mode: {mode}\nFormat: {format}\n{note}",
+ "Modified": "Modified",
+ "Modo": "Modo",
+ "Modo: ": "Modo: ",
+ "Modus": "Modus",
+ "Modus: ": "Modus: ",
+ "Mouse-wheel scrolling is enabled for scrollable panels.": "Mouse-wheel scrolling is enabled for scrollable panels.",
+ "Multiplayer pronoun replacement map. Preserve the outgoing-item filename/player control code when adapting grammar.": "Multiplayer pronoun replacement map. Preserve the outgoing-item filename/player control code when adapting grammar.",
+ "Name / Gender": "Name / Gender",
+ "New Dungeon": "New Dungeon",
+ "New Goal": "New Goal",
+ "New Hint": "New Hint",
+ "New Language": "New Language",
+ "No bin_patch entries are checked.": "No bin_patch entries are checked.",
+ "No bin_patch entries loaded. Expected local file: ~/data/bin_patch.json": "No bin_patch entries loaded. Expected local file: ~/data/bin_patch.json",
+ "No copied item.": "No copied item.",
+ "No obvious problems found.": "No obvious problems found.",
+ "No selected row.": "No selected row.",
+ "No word-by-word replacement is used.": "No word-by-word replacement is used.",
+ "None": "None",
+ "Normalize sections whose historical type differs between language builds.": "Normalize sections whose historical type differs between language builds.",
+ "Nothing to redo": "Nothing to redo",
+ "Nothing to undo": "Nothing to undo",
+ "Null": "Null",
+ "Number": "Number",
+ "OOTR Language Editor GUI": "OOTR Language Editor GUI",
+ "OOTR Language Editor GUI TEMP": "OOTR Language Editor GUI TEMP",
+ "Original ROM": "Original ROM",
+ "PATCH_TEXTS": "PATCH_TEXTS",
+ "PLAIN_TEXTS": "PLAIN_TEXTS",
+ "PLAIN_TEXTS expanded": "PLAIN_TEXTS expanded",
+ "Pair / mapping editor": "Pair / mapping editor",
+ "Parse editor text as JSON when possible; otherwise preserve it as a plain string.": "Parse editor text as JSON when possible; otherwise preserve it as a plain string.",
+ "Paste": "Paste",
+ "Patch maker": "Patch maker",
+ "Patch text table. Placeholders such as {color} and {destination_name} are patch values. A control code followed by a placeholder, such as \\x05{color}, is displayed as {color} while editing.": "Patch text table. Placeholders such as {color} and {destination_name} are patch values. A control code followed by a placeholder, such as \\x05{color}, is displayed as {color} while editing.",
+ "Patch text専用: {color}, {destination_name} などはパッチ用placeholderです。\\x05{color} は {color} と表示します。": "Patch text専用: {color}, {destination_name} などはパッチ用placeholderです。\\x05{color} は {color} と表示します。",
+ "Per-language character width overrides. Keys can be visible characters, symbolic names such as [C-Up], message bytes like 0x9F, or index:N table slots.": "Per-language character width overrides. Keys can be visible characters, symbolic names such as [C-Up], message bytes like 0x9F, or index:N table slots.",
+ "Post-processing replacement table. Format: [[from, to]]. Use for language-wide spelling or symbol replacements.": "Post-processing replacement table. Format: [[from, to]]. Use for language-wide spelling or symbol replacements.",
+ "Prefix rule editor": "Prefix rule editor",
+ "Prefix専用エディタ: [gender]と[case]は追加型リスト、[prefix]は path = value 形式です。German版のような格/case階層も追加・削除できます。": "Prefix専用エディタ: [gender]と[case]は追加型リスト、[prefix]は path = value 形式です。German版のような格/case階層も追加・削除できます。",
+ "Preview": "Preview",
+ "Preview error": "Preview error",
+ "Property file": "Property file",
+ "Python": "Python",
+ "Python or JSON": "Python or JSON",
+ "REWARD_GOAL_TABLE": "REWARD_GOAL_TABLE",
+ "ROM": "ROM",
+ "Range": "Range",
+ "Raw preview shows the JSON-write form.": "Raw preview shows the JSON-write form.",
+ "Raw section JSON": "Raw section JSON",
+ "Raw segment export: source ROM → file": "Raw segment export: source ROM → file",
+ "Raw string preview": "Raw string preview",
+ "Raw table preview": "Raw table preview",
+ "Raw text / table preview": "Raw text / table preview",
+ "Raw text preview": "Raw text preview",
+ "Raw → Markup": "Raw → Markup",
+ "Readable control-code markup\n": "Readable control-code markup\n",
+ "Ready": "Ready",
+ "Ready - default bin_patch not loaded: ": "Ready - default bin_patch not loaded: ",
+ "Ready - default template: ": "Ready - default template: ",
+ "Ready - section-specific editors enabled; TEMP: ": "Ready - section-specific editors enabled; TEMP: ",
+ "Redo data edit": "Redo data edit",
+ "Refresh checklist": "Refresh checklist",
+ "Refresh colors": "Refresh colors",
+ "Region names used as extra names in shop text and hints.": "Region names used as extra names in shop text and hints.",
+ "Reload current section": "Reload current section",
+ "Reload section editor": "Reload section editor",
+ "Removed ": "Removed ",
+ "Replacement list専用エディタ: source => replacement 形式で配列ペアを編集します。": "Replacement list専用エディタ: source => replacement 形式で配列ペアを編集します。",
+ "Return a user-facing schema name for the selected top-level section.": "Return a user-facing schema name for the selected top-level section.",
+ "Reward goal hint labels. Keep reward keys stable; translate clear/vague display strings.": "Reward goal hint labels. Keep reward keys stable; translate clear/vague display strings.",
+ "Right": "Right",
+ "SHOP_TEXTS": "SHOP_TEXTS",
+ "Save": "Save",
+ "Save As...": "Save As...",
+ "Save current changes before continuing?": "Save current changes before continuing?",
+ "Save failed": "Save failed",
+ "Save policy": "Save policy",
+ "Saved": "Saved",
+ "Saved ": "Saved ",
+ "Saving always exports the complete property.json. No section picker is used, because the OOTR language property must keep every required section.": "Saving always exports the complete property.json. No section picker is used, because the OOTR language property must keep every required section.",
+ "Scalar section: edit the whole value from Raw section JSON.": "Scalar section: edit the whole value from Raw section JSON.",
+ "Scalar value editor": "Scalar value editor",
+ "Search": "Search",
+ "Search text used with pronoun/player replacement logic. In the English template this is 'you'.": "Search text used with pronoun/player replacement logic. In the English template this is 'you'.",
+ "Section note": "Section note",
+ "Section-specific editor tools": "Section-specific editor tools",
+ "Sections": "Sections",
+ "Segment export failed": "Segment export failed",
+ "Select UI language": "Select UI language",
+ "Select a list item or dictionary key first, or use Raw section JSON for scalar sections.": "Select a list item or dictionary key first, or use Raw section JSON for scalar sections.",
+ "Select a list item or dictionary key first.": "Select a list item or dictionary key first.",
+ "Select a list row or dictionary row, or delete directly in the right-side section editor.": "Select a list row or dictionary row, or delete directly in the right-side section editor.",
+ "Select all": "Select all",
+ "Select an item first.": "Select an item first.",
+ "Selected entry / section item": "Selected entry / section item",
+ "Set local export folder...": "Set local export folder...",
+ "Shop description and purchase text. Preserve placeholders such as {base_name}, {price}, {extra_name}, and {player_id}.": "Shop description and purchase text. Preserve placeholders such as {base_name}, {price}, {extra_name}, and {player_id}.",
+ "Shop text table. Placeholders such as {price}, {item}, and {player_id} are highlighted. Dictionary and list values are edited one item at a time.": "Shop text table. Placeholders such as {price}, {item}, and {player_id} are highlighted. Dictionary and list values are edited one item at a time.",
+ "Shop text専用: {price}, {item}, {player_id} などのplaceholderをハイライトします。辞書/リスト値はJSONとして項目別編集できます。": "Shop text専用: {price}, {item}, {player_id} などのplaceholderをハイライトします。辞書/リスト値はJSONとして項目別編集できます。",
+ "Show/edit metadata fields (ID / box_type)": "Show/edit metadata fields (ID / box_type)",
+ "Single/manual patch export": "Single/manual patch export",
+ "Size": "Size",
+ "Sort": "Sort",
+ "Sort message section by ID": "Sort message section by ID",
+ "Source PLAIN_TEXTS is not a list.": "Source PLAIN_TEXTS is not a list.",
+ "Source ROM": "Source ROM",
+ "Special fallback/custom item hint templates. Preserve placeholders such as {area} and {item}.": "Special fallback/custom item hint templates. Preserve placeholders such as {area} and {item}.",
+ "Special fallback/custom location hint templates. Preserve placeholders and dictionary structure.": "Special fallback/custom location hint templates. Preserve placeholders and dictionary structure.",
+ "Start": "Start",
+ "String": "String",
+ "String list editor": "String list editor",
+ "TEMP": "TEMP",
+ "TEMP JSON": "TEMP JSON",
+ "TEMP save failed": "TEMP save failed",
+ "Text": "Text",
+ "Text / Key": "Text / Key",
+ "Text Key": "Text Key",
+ "Text editor": "Text editor",
+ "Text editor: type control codes directly. Color ranges are painted live: red text. Also supports , , , line breaks, and ▼.": "Text editor: type control codes directly. Color ranges are painted live: red text. Also supports , , , line breaks, and ▼.",
+ "Texts consumed by patch logic. Preserve placeholders such as {destination_name}, {item}, {price}, {color}, and player fields.": "Texts consumed by patch logic. Preserve placeholders such as {destination_name}, {item}, {price}, {color}, and player fields.",
+ "The 'property' object is the last applied data. 'draft_text_editor' may contain unapplied right-side edits.": "The 'property' object is the last applied data. 'draft_text_editor' may contain unapplied right-side edits.",
+ "The editor switches by section shape: message entries, list items, dictionary keys, and nested JSON values are handled differently.": "The editor switches by section shape: message entries, list items, dictionary keys, and nested JSON values are handled differently.",
+ "The final property.json can be exported directly.": "The final property.json can be exported directly.",
+ "The interface language was updated without changing the current property data.": "The interface language was updated without changing the current property data.",
+ "The selected JSON root must be an object/dictionary.": "The selected JSON root must be an object/dictionary.",
+ "The selected range is outside one of the ROM files.": "The selected range is outside one of the ROM files.",
+ "The selected section is not a list.": "The selected section is not a list.",
+ "The selected segment is outside the ROM file.": "The selected segment is outside the ROM file.",
+ "The text editor stores name/gender/has_map. This checkbox mirrors has_map for easier editing.": "The text editor stores name/gender/has_map. This checkbox mirrors has_map for easier editing.",
+ "This editor applies the entire currently selected top-level section. It is the fallback editor for every schema: dictionaries, lists, nested tables, strings, numbers, and mixed values.": "This editor applies the entire currently selected top-level section. It is the fallback editor for every schema: dictionaries, lists, nested tables, strings, numbers, and mixed values.",
+ "This section is a scalar value. Use Raw section JSON to change it.": "This section is a scalar value. Use Raw section JSON to change it.",
+ "This section is a scalar value. Use Raw section JSON to change its shape first.": "This section is a scalar value. Use Raw section JSON to change its shape first.",
+ "To": "To",
+ "To / As": "To / As",
+ "To / Value": "To / Value",
+ "Tools": "Tools",
+ "Trial name replacements for Ganon's Castle trial text.": "Trial name replacements for Ganon's Castle trial text.",
+ "Type": "Type",
+ "Type / Fields": "Type / Fields",
+ "UI Language": "UI Language",
+ "UI text is loaded from language_editor_ui.json.": "UI text is loaded from language_editor_ui.json.",
+ "UI text is translated only by full exact sentence keys.": "UI text is translated only by full exact sentence keys.",
+ "Uncheck all": "Uncheck all",
+ "Undo data edit": "Undo data edit",
+ "Unsaved changes": "Unsaved changes",
+ "Use": "Use",
+ "Use Raw section JSON for this scalar section.": "Use Raw section JSON for this scalar section.",
+ "Use key range": "Use key range",
+ "Vague / Clear": "Vague / Clear",
+ "Vague Name": "Vague Name",
+ "Validate current property": "Validate current property",
+ "Validation": "Validation",
+ "Verb normalization map used with multiplayer/player text replacement.": "Verb normalization map used with multiplayer/player text replacement.",
+ "WM_DELETE_WINDOW": "WM_DELETE_WINDOW",
+ "Wide English metrics": "Wide English metrics",
+ "Width": "Width",
+ "Wrap long UI-only prose without changing JSON data or user-entered strings.": "Wrap long UI-only prose without changing JSON data or user-entered strings.",
+ "Write TEMP now": "Write TEMP now",
+ "Wrote ": "Wrote ",
+ "Wrote TEMP ": "Wrote TEMP ",
+ "Wrote diff patch: ": "Wrote diff patch: ",
+ "Wrote segment: ": "Wrote segment: ",
+ "X": "X",
+ "[C Down]": "[C Down]",
+ "[C Left]": "[C Left]",
+ "[C Right]": "[C Right]",
+ "[C Up]": "[C Up]",
+ "[C-Down]": "[C-Down]",
+ "[C-Left]": "[C-Left]",
+ "[C-Right]": "[C-Right]",
+ "[C-Up]": "[C-Up]",
+ "[Control Stick]": "[Control Stick]",
+ "[L]": "[L]",
+ "[R]": "[R]",
+ "[Triangle]": "[Triangle]",
+ "[Z]": "[Z]",
+ "[field:": "[field:",
+ "\\n...and ": "\\n...and ",
+ "] box_type is not an integer.": "] box_type is not an integer.",
+ "] has no integer id.": "] has no integer id.",
+ "] has no string text.": "] has no string text.",
+ "] is not a dictionary.": "] is not a dictionary.",
+ "_ORIG_V47_REFRESH_ALL": "_ORIG_V47_REFRESH_ALL",
+ "_S": "_S",
+ "_V46_CURRENT_APP": "_V46_CURRENT_APP",
+ "_V47_MODE_LABELS": "_V47_MODE_LABELS",
+ "_V47_SCHEMA_LABELS": "_V47_SCHEMA_LABELS",
+ "allow instant text": "allow instant text",
+ "bin_patch entries / editable output filenames": "bin_patch entries / editable output filenames",
+ "bin_patch key": "bin_patch key",
+ "bin_patch load failed": "bin_patch load failed",
+ "bin_patch loaded": "bin_patch loaded",
+ "bin_patch.json": "bin_patch.json",
+ "bin_patch.json not found": "bin_patch.json not found",
+ "boolean": "boolean",
+ "box_type": "box_type",
+ "box_type:": "box_type:",
+ "case: ": "case: ",
+ "character-width table": "character-width table",
+ "current time": "current time",
+ "delay each character by": "delay each character by",
+ "dictionary": "dictionary",
+ "dictionary / mapping": "dictionary / mapping",
+ "dictionary pairs": "dictionary pairs",
+ "disallow instant text": "disallow instant text",
+ "dungeon table": "dungeon table",
+ "empty list": "empty list",
+ "fade after": "fade after",
+ "fish weight": "fish weight",
+ "function calls are not allowed": "function calls are not allowed",
+ "gender = ": "gender = ",
+ "gender: ": "gender: ",
+ "goal-name table": "goal-name table",
+ "has_map = ": "has_map = ",
+ "hint table": "hint table",
+ "idx::": "idx::",
+ "integer": "integer",
+ "keep open": "keep open",
+ "key count": "key count",
+ "key::": "key::",
+ "keyed text item": "keyed text item",
+ "lang_property must be a dictionary.": "lang_property must be a dictionary.",
+ "lang_property.align_text should be Left, Center, or Right.": "lang_property.align_text should be Left, Center, or Right.",
+ "lang_property.base should be 'en' or 'jp'.": "lang_property.base should be 'en' or 'jp'.",
+ "language_editor_ui.json was loaded.": "language_editor_ui.json was loaded.",
+ "list": "list",
+ "list of arrays / tuples": "list of arrays / tuples",
+ "list of dictionaries": "list of dictionaries",
+ "list of strings": "list of strings",
+ "marathon time": "marathon time",
+ "message list: id + box_type + text": "message list: id + box_type + text",
+ "message list: id + text": "message list: id + text",
+ "message: id + box_type + text": "message: id + box_type + text",
+ "message: id + text": "message: id + text",
+ "misc hint table": "misc hint table",
+ "mixed list": "mixed list",
+ "name = ": "name = ",
+ "new item": "new item",
+ "null": "null",
+ "number": "number",
+ "play SFX": "play SFX",
+ "prefix::": "prefix::",
+ "prefix::case": "prefix::case",
+ "prefix::gender": "prefix::gender",
+ "race time": "race time",
+ "set background to": "set background to",
+ "silver rupee count": "silver rupee count",
+ "skulltula count": "skulltula count",
+ "start three choice": "start three choice",
+ "start two choice": "start two choice",
+ "string": "string",
+ "string list": "string list",
+ "text is unskippable": "text is unskippable",
+ "unsupported attribute: ": "unsupported attribute: ",
+ "unsupported expression node: ": "unsupported expression node: ",
+ "~/data": "~/data",
+ "~/data/lang": "~/data/lang",
+ "Å": "Å",
+ "Режим": "Режим",
+ "Режим: ": "Режим: ",
+ "Русский": "Русский",
+ "Формат": "Формат",
+ "モード: ": "モード: ",
+ "文字幅指定です。キーは文字そのもの、[C-Up] 等の名前、0x9F、index:143、JPでは0x824Fなどの文字コードを使えます。値は整数または variant別の辞書です。": "文字幅指定です。キーは文字そのもの、[C-Up] 等の名前、0x9F、index:143、JPでは0x824Fなどの文字コードを使えます。値は整数または variant別の辞書です。",
+ "OOTR Language Editor Developer Tool": "OOTR Language Editor Developer Tool",
+ "Load default template": "Load default template",
+ "Merge missing defaults": "Merge missing defaults",
+ "Apply editor": "Apply editor",
+ "Apply editor JSON": "Apply editor JSON",
+ "Add list line": "Add list line",
+ "Remove last list line": "Remove last list line",
+ "Entries": "Entries",
+ "Selected section": "Selected section",
+ "Selected entry": "Selected entry",
+ "Raw JSON preview": "Raw JSON preview",
+ "Raw write-form JSON preview": "Raw write-form JSON preview",
+ "Search sections": "Search sections",
+ "Search entries": "Search entries",
+ "Mode: {mode}": "Mode: {mode}",
+ "Format: {format}": "Format: {format}",
+ "Default template loaded.": "Default template loaded.",
+ "Missing default entries merged.": "Missing default entries merged.",
+ "Loaded property.json and merged missing defaults.": "Loaded property.json and merged missing defaults.",
+ "Exported complete property.json": "Exported complete property.json",
+ "No property.json loaded": "No property.json loaded",
+ "File: {path}": "File: {path}",
+ "TEMP saved: {path}": "TEMP saved: {path}",
+ "TEMP save failed: {message}": "TEMP save failed: {message}",
+ "Load failed: {message}": "Load failed: {message}",
+ "Export failed: {message}": "Export failed: {message}",
+ "Apply failed: {message}": "Apply failed: {message}",
+ "Applied editor value": "Applied editor value",
+ "Entry editor": "Entry editor",
+ "Section editor": "Section editor",
+ "Message entry": "Message entry",
+ "Hint table entry": "Hint table entry",
+ "Goal name entry": "Goal name entry",
+ "Patch/shop/hint text entry": "Patch/shop/hint text entry",
+ "Mapping entry": "Mapping entry",
+ "Dungeon entry": "Dungeon entry",
+ "Prefix rule section": "Prefix rule section",
+ "Dictionary entry": "Dictionary entry",
+ "List entry": "List entry",
+ "Scalar entry": "Scalar entry",
+ "friendly text": "friendly text",
+ "list text": "list text",
+ "field text": "field text",
+ "Prefix section for Language-style text such as [prefix.definite.nominative.masculine]. Keep gender, case, and nested prefix rules intact.": "Prefix section for Language-style text such as [prefix.definite.nominative.masculine]. Keep gender, case, and nested prefix rules intact.",
+ "Hint table section. Entries contain vague_hint, clear_hint, and gender. Empty Vague Hint becomes null, one line becomes string, and multiple lines become a list.": "Hint table section. Entries contain vague_hint, clear_hint, and gender. Empty Vague Hint becomes null, one line becomes string, and multiple lines become a list.",
+ "Boss/reward goal table section. Entries contain vague and clear names. #...# is shown as ... in the editor.": "Boss/reward goal table section. Entries contain vague and clear names. #...# is shown as ... in the editor.",
+ "Patch text section. Placeholder tokens such as {color} are written for patch-time replacement. Control codes are shown as markup in the editor and as JSON escapes in the raw preview.": "Patch text section. Placeholder tokens such as {color} are written for patch-time replacement. Control codes are shown as markup in the editor and as JSON escapes in the raw preview.",
+ "Shop text section. Keep placeholder tokens and control characters exactly unless you intend to change game text behavior.": "Shop text section. Keep placeholder tokens and control characters exactly unless you intend to change game text behavior.",
+ "Character width overrides. Keys may be visible characters, symbolic names, hex byte strings, or table slots.": "Character width overrides. Keys may be visible characters, symbolic names, hex byte strings, or table slots.",
+ "General property section. Keep the existing JSON shape unless the loading code requires a different schema.": "General property section. Keep the existing JSON shape unless the loading code requires a different schema.",
+ "Language metadata section. This is exported as-is unless you edit the JSON directly.": "Language metadata section. This is exported as-is unless you edit the JSON directly.",
+ "Dungeon list section. The editor exposes name, gender, and has_map; has_map is stored as a boolean.": "Dungeon list section. The editor exposes name, gender, and has_map; has_map is stored as a boolean.",
+ "Mapping section. Each entry is a fixed string-to-string replacement.": "Mapping section. Each entry is a fixed string-to-string replacement.",
+ "View": "View",
+ "Quit": "Quit",
+ "Reload": "Reload",
+ "Toggle Developer Tools": "Toggle Developer Tools",
+ "Modified ROM": "Modified ROM",
+ "Select ROMs": "Select ROMs",
+ "Output folder": "Output folder",
+ "Select output": "Select output",
+ "Segment start": "Segment start",
+ "Segment size": "Segment size",
+ "Segment filename": "Segment filename",
+ "Select original ROM": "Select original ROM",
+ "Select modified ROM": "Select modified ROM",
+ "Select output folder": "Select output folder",
+ "Generated {count} patch files.": "Generated {count} patch files.",
+ "Patch generation failed: {message}": "Patch generation failed: {message}",
+ "Exported raw segment: {path}": "Exported raw segment: {path}",
+ "Segment export failed: {message}": "Segment export failed: {message}",
+ "No patch generated.": "No patch generated.",
+ "Select ROM": "Select ROM",
+ "Select folder": "Select folder",
+ "Raw preview": "Raw preview",
+ "Section JSON": "Section JSON",
+ "Section JSON editor": "Section JSON editor",
+ "Applied section JSON": "Applied section JSON",
+ "Add entry": "Add entry",
+ "Copy entry": "Copy entry",
+ "Paste entry": "Paste entry",
+ "Entry editor type": "Entry editor type",
+ "Auto": "Auto",
+ "String dictionary": "String dictionary",
+ "Friendly value": "Friendly value",
+ "Editor type: {type}": "Editor type: {type}",
+ "Added entry.": "Added entry.",
+ "Deleted entry.": "Deleted entry.",
+ "Copied entry to clipboard.": "Copied entry to clipboard.",
+ "Pasted entry.": "Pasted entry.",
+ "Cannot add entry to this section.": "Cannot add entry to this section.",
+ "Cannot delete this entry.": "Cannot delete this entry.",
+ "No copied entry to paste.": "No copied entry to paste.",
+ "Dictionary line must use key => value: {line}": "Dictionary line must use key => value: {line}",
+ "wide_text_english_metrics": "wide_text_english_metrics",
+ "align_text": "align_text",
+ "base": "base",
+ "display_name": "display_name",
+ "description": "description",
+ "en": "en",
+ "jp": "jp",
+ "true": "true",
+ "false": "false",
+ "Value": "Value",
+ "CHAR_WIDTHS table": "CHAR_WIDTHS table",
+ "Cut": "Cut",
+ "Check both Blue Fire segments": "Check both Blue Fire segments",
+ "Export checked raw segments": "Export checked raw segments",
+ "Blue Fire Arrow item name EN": "Blue Fire Arrow item name EN",
+ "ROM and output folder are required.": "ROM and output folder are required.",
+ "Exported {count} raw segments.": "Exported {count} raw segments.",
+ "Blue Fire Arrow item name JP": "Blue Fire Arrow item name JP",
+ "Uncheck Blue Fire segments": "Uncheck Blue Fire segments",
+ "No raw segment presets are selected.": "No raw segment presets are selected.",
+ "Export manual raw segment": "Export manual raw segment",
+ "Manual segment size": "Manual segment size",
+ "Ctrl/Cmd+1-4 tabs · Ctrl/Cmd+Enter apply · Ctrl/Cmd+S export · Ctrl/Cmd+Shift+C/V entry copy/paste · Ctrl/Cmd+Alt+R export Blue Fire": "Ctrl/Cmd+1-4 tabs · Ctrl/Cmd+Enter apply · Ctrl/Cmd+S export · Ctrl/Cmd+Shift+C/V entry copy/paste · Ctrl/Cmd+Alt+R export Blue Fire",
+ "Manual segment start": "Manual segment start",
+ "Blue Fire raw segment presets": "Blue Fire raw segment presets",
+ "Select All": "Select All",
+ "Manual segment filename": "Manual segment filename",
+ "Diff patch uses XOR over bin_patch ranges, then zlib compression.": "Diff patch uses XOR over bin_patch ranges, then zlib compression.",
+ "Created new property data from built-in defaults": "Created new property data from built-in defaults",
+ "New from built-in defaults": "New from built-in defaults",
+ "Ready - default template loaded": "Ready - default template loaded",
+ "Built-in defaults": "Built-in defaults",
+ "Save entry": "Save entry",
+ "Saved entry.": "Saved entry.",
+ "Save entry failed: {message}": "Save entry failed: {message}",
+ "Duplicate entry": "Duplicate entry",
+ "Duplicated entry.": "Duplicated entry.",
+ "Cannot duplicate this entry.": "Cannot duplicate this entry.",
+ "Entry ID": "Entry ID",
+ "Apply ID": "Apply ID",
+ "Entry ID updated.": "Entry ID updated.",
+ "This entry has no editable ID.": "This entry has no editable ID.",
+ "ID update failed: {message}": "ID update failed: {message}",
+ "New entry ID": "New entry ID",
+ "Move up": "Move up",
+ "Move down": "Move down",
+ "Sort by ID": "Sort by ID",
+ "Validate": "Validate",
+ "Next ID": "Next ID",
+ "Validate entry": "Validate entry",
+ "Find": "Find",
+ "Replace": "Replace",
+ "Find next": "Find next",
+ "Replace all": "Replace all",
+ "Unsaved entry draft": "Unsaved entry draft",
+ "The current entry has unsaved editor changes. Save it before continuing?": "The current entry has unsaved editor changes. Save it before continuing?",
+ "Discard the unsaved entry draft and continue?": "Discard the unsaved entry draft and continue?",
+ "The current property has unsaved changes. Continue?": "The current property has unsaved changes. Continue?",
+ "ID {id} already exists. Use it anyway?": "ID {id} already exists. Use it anyway?",
+ "Invalid ID: {message}": "Invalid ID: {message}",
+ "Duplicate ID": "Duplicate ID",
+ "Duplicate ID detected: {id}": "Duplicate ID detected: {id}",
+ "ID must be a non-negative integer.": "ID must be a non-negative integer.",
+ "box_type must be between 0x00 and 0xFF.": "box_type must be between 0x00 and 0xFF.",
+ "Replacement table entries must be source => replacement string pairs.": "Replacement table entries must be source => replacement string pairs.",
+ "CHAR_WIDTHS must be a dictionary.": "CHAR_WIDTHS must be a dictionary.",
+ "Entry validation passed.": "Entry validation passed.",
+ "Entry validation failed: {message}": "Entry validation failed: {message}",
+ "Property validation passed.": "Property validation passed.",
+ "Property validation found {count} issue(s).": "Property validation found {count} issue(s).",
+ "Export build failed: {message}": "Export build failed: {message}",
+ "This section cannot be reordered.": "This section cannot be reordered.",
+ "Moved entry.": "Moved entry.",
+ "This section has no sortable IDs.": "This section has no sortable IDs.",
+ "Sorted entries by ID.": "Sorted entries by ID.",
+ "Text not found.": "Text not found.",
+ "Replaced {count} occurrence(s).": "Replaced {count} occurrence(s).",
+ "Move entry up": "Move entry up",
+ "Move entry down": "Move entry down",
+ "Sort entries by ID": "Sort entries by ID",
+ "Validate property": "Validate property",
+ "replace_table": "replace_table",
+ "Replacement entry": "Replacement entry",
+ "source => replacement": "source => replacement",
+ "replace_table entries must be {from:string, to:string}.": "replace_table entries must be {from:string, to:string}.",
+ "replace_table source must not be empty.": "replace_table source must not be empty.",
+ "replace_table has empty, duplicate, or invalid entries.": "replace_table has empty, duplicate, or invalid entries.",
+ "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to} and edited as source => replacement.": "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to} and edited as source => replacement.",
+ "No entry selected.": "No entry selected.",
+ "This section does not support entry paste or duplication.": "This section does not support entry paste or duplication.",
+ "ID already exists. A new ID is required.": "ID already exists. A new ID is required.",
+ "Current entry": "Current entry",
+ "Current section": "Current section",
+ "All text sections": "All text sections",
+ "Find text": "Find text",
+ "Replacement text": "Replacement text",
+ "Protect control codes": "Protect control codes",
+ "Apply bulk replace": "Apply bulk replace",
+ "Find text is empty.": "Find text is empty.",
+ "{count} replacement(s).": "{count} replacement(s).",
+ "This section is skipped by bulk replace.": "This section is skipped by bulk replace.",
+ "{count} entry(ies) selected.": "{count} entry(ies) selected.",
+ "{count} selected": "{count} selected",
+ "Copied {count} entry(ies) to clipboard.": "Copied {count} entry(ies) to clipboard.",
+ "Pasted {count} entry(ies).": "Pasted {count} entry(ies).",
+ "Duplicated {count} entry(ies).": "Duplicated {count} entry(ies).",
+ "Delete {count} selected entry(ies)?": "Delete {count} selected entry(ies)?",
+ "Deleted {count} entry(ies).": "Deleted {count} entry(ies).",
+ "Moved {count} entry(ies).": "Moved {count} entry(ies).",
+ "First new entry ID": "First new entry ID",
+ "Invalid ID.": "Invalid ID.",
+ "Replace text in all entries...": "Replace text in all entries...",
+ "Find text for all entries": "Find text for all entries",
+ "Replacement text for all entries": "Replacement text for all entries",
+ "Replace {count} occurrence(s) in all entries?": "Replace {count} occurrence(s) in all entries?",
+ "Replaced {count} occurrence(s) in all entries.": "Replaced {count} occurrence(s) in all entries.",
+ "No matching text was found.": "No matching text was found.",
+ "Replace text in all entries": "Replace text in all entries",
+ "Target": "Target",
+ "All editable entries": "All editable entries",
+ "Control code arguments will not be changed.": "Control code arguments will not be changed.",
+ "Cancel": "Cancel",
+ "Undo": "Undo",
+ "Redo": "Redo",
+ "Entry is valid.": "Entry is valid.",
+ "Validate failed: {message}": "Validate failed: {message}",
+ "Replace list": "Replace list",
+ "Save changes before closing?": "Save changes before closing?",
+ "The property has unsaved changes. Save before closing?": "The property has unsaved changes. Save before closing?",
+ "Don't Save": "Don't Save",
+ "Save and close": "Save and close",
+ "Choose Save to write the current property, Don't Save to exit without writing, or Cancel to keep editing.": "Choose Save to write the current property, Don't Save to exit without writing, or Cancel to keep editing.",
+ "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to}, edited as source => replacement, and may use Shift-JIS byte tokens such as 0x819F.": "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to}, edited as source => replacement, and may use Shift-JIS byte tokens such as 0x819F.",
+ "invalid Shift-JIS code": "invalid Shift-JIS code",
+ "Invalid Shift-JIS code in source: {value}": "Invalid Shift-JIS code in source: {value}",
+ "Invalid Shift-JIS code in replacement: {value}": "Invalid Shift-JIS code in replacement: {value}",
+ "replace_table has empty, duplicate, control-code, or invalid entries.": "replace_table has empty, duplicate, control-code, or invalid entries.",
+ "Invalid Shift-JIS code in {label}: {value}": "Invalid Shift-JIS code in {label}: {value}",
+ "Control codes are not allowed in replace_table {label}.": "Control codes are not allowed in replace_table {label}.",
+ "Duplicate replace_table source: {value}": "Duplicate replace_table source: {value}",
+ "Saved {count} replace_table entry/entries.": "Saved {count} replace_table entry/entries.",
+ "Replacement table entry": "Replacement table entry",
+ "Replace table": "Replace table",
+ "Language properties": "Language properties",
+ "Language base": "Language base",
+ "Display name": "Display name",
+ "Text alignment": "Text alignment",
+ "Use English-like wide text metrics": "Use English-like wide text metrics",
+ "Apply language properties": "Apply language properties",
+ "Reset language properties": "Reset language properties",
+ "Language properties updated.": "Language properties updated.",
+ "Language property update failed: {message}": "Language property update failed: {message}",
+ "Language properties reset.": "Language properties reset.",
+ "[from] ... [to] ...": "[from] ... [to] ...",
+ "Language base changed. Text control codes were converted.": "Language base changed. Text control codes were converted.",
+ "Language base conversion failed: {message}": "Language base conversion failed: {message}"
+ },
+ "ja": {
+ "": "",
+ "\n\nWarnings:\n": "\n\nWarnings:\n",
+ "\n# Add a gender under [gender] or a rule under [prefix]\nnew_rule/no_gender = \n": "\n# Add a gender under [gender] or a rule under [prefix]\nnew_rule/no_gender = \n",
+ "\n- new item\n": "\n- new 項目\n",
+ "\n- new_search_text\n": "\n- new_search_text\n",
+ "\nFormat : ": "\nフォーマット : ",
+ "\nFormat: ": "\nフォーマット: ",
+ "\nFormato: ": "\nFormato: ",
+ "\nJapanese stand-in conversion:\n": "\nJapanese stand-in conversion:\n",
+ "\nnew_key => \"new value\"\n": "\nnew_key => \"new value\"\n",
+ "\nsource text => replacement text\n": "\nsource text => replacement text\n",
+ "\nФормат: ": "\nФормат: ",
+ "\nフォーマット: ": "\nフォーマット: ",
+ " #XX -> color XX\n": " #XX -> color XX\n",
+ " & -> line break\n": " & -> line break\n",
+ " ... \n": " ... \n",
+ " \n": " \n",
+ " \n": " \n",
+ " \n": " \n",
+ " \n": " \n",
+ " or \n\n": " or \n\n",
+ " ★XX -> icon XX\n": " ★XX -> icon XX\n",
+ " ♭XXXX -> sound XXXX\n": " ♭XXXX -> sound XXXX\n",
+ " - 0x": " - 0x",
+ " checked diff patches to ": " checked diff patches to ",
+ " duplicate entries.": " duplicate entries.",
+ " has duplicate id ": " has duplicate id ",
+ " item": " 項目",
+ " metadata fields.": " metadata fields.",
+ " missing PLAIN_TEXTS entries. Updated ": " missing PLAIN_TEXTS entries. Updated ",
+ " more": " more",
+ " must be a list.": " must be a list.",
+ " pair": " pair",
+ " patch files:\\n": " patch files:\\n",
+ " patch ranges from ": " patch ranges from ",
+ "# Add/delete lines directly. Empty prefix keys are written as .": "# Add/delete lines directly. Empty prefix keys are written as .",
+ "# Dictionary editor. One key per line: key => JSON value or text": "# 辞書エディタ。1行に1キーを書きます: key => JSON値またはテキスト",
+ "# One conversion per line: source => replacement": "# 1行に1つの変換を書きます: source => replacement",
+ "# One list entry per line. Strings can use control-code markup; objects can be JSON.": "# 1行に1つのリスト項目を書きます。文字列にはコントロールコードマークアップを使えます。オブジェクトはJSONで書けます。",
+ "# One list item per line. Use '- value' or plain lines.": "# 1行に1つのリスト項目を書きます。'- value' または通常行を使えます。",
+ "# One mapping per line: left => right": "# 1行に1つの変換を書きます: left => right",
+ "# One replacement per line: from => to": "# 1行に1つの置換を書きます: from => to",
+ "# Prefix editor. Sections: [gender], [case], [prefix].": "# Prefixエディタです。セクション: [gender], [case], [prefix]。",
+ "# Tipo": "# Tipo",
+ "# Typ": "# Typ",
+ "# Type": "# 型",
+ "# Type: ": "# 型: ",
+ "# Type: boolean": "# 型: 真偽値",
+ "# Type: dict": "# 型: 辞書",
+ "# Type: dict. String values are shown with control-code markup instead of \\u0001 escapes.": "# 型: dict。文字列値は \\u0001 エスケープではなくコントロールコードマークアップで表示されます。",
+ "# Type: dictionary": "# 型: 辞書",
+ "# Type: integer": "# 型: 整数",
+ "# Type: list": "# 型: リスト",
+ "# Type: list. One item per line; strings use control-code markup instead of \\u0001 escapes.": "# 型: list。1行に1項目です。文字列は \\u0001 エスケープではなくコントロールコードマークアップを使います。",
+ "# Type: mixed values": "# 型: 混在値",
+ "# Type: null": "# 型: null",
+ "# Type: number": "# 型: 数値",
+ "# Type: str\n": "# 型: 文字列",
+ "# Type: string": "# 型: 文字列",
+ "# Тип": "# Тип",
+ "# 型": "# 型",
+ "(new file)": "(新規ファイル)",
+ "*.py *.json": "*.py *.json",
+ "*.z64 *.n64 *.v64": "*.z64 *.n64 *.v64",
+ ". Format: ": ". フォーマット: ",
+ ". Save as property.json when ready.": ". Save as property.json when ready.",
+ "/": "/",
+ "02X": "02X",
+ "04X": "04X",
+ ": not found or not safely evaluable in ": ": not found or not safely evaluable in ",
+ ": skipped safe evaluation (": ": skipped safe evaluation (",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "A ttk frame whose contents stay reachable when the window is small.": "A ttk frame whose contents stay reachable when the window is small.",
+ "About": "このアプリについて",
+ "Add": "追加",
+ "Add line / pair": "行 / ペアを追加",
+ "Added ": "追加しました: ",
+ "Added item to ": "項目を追加しました: ",
+ "Align": "整列",
+ "All": "All",
+ "All UI strings are translated through language_editor_ui.json. English is registered explicitly as key = value.": "すべてのUI文章は language_editor_ui.json を通して翻訳されます。英語も key = value として明示登録されています。",
+ "All files": "すべてのファイル",
+ "Append end code on apply": "適用時に終端コードを追加",
+ "Applied ": "適用しました: ",
+ "Applied JSON to ": "JSONを適用しました: ",
+ "Applied language property": "言語プロパティを適用しました",
+ "Applied section item": "セクション項目を適用しました",
+ "Applied whole section editor to ": "セクションエディタ全体を適用しました: ",
+ "Apply": "適用",
+ "Apply JSON to section": "セクションにJSONを適用",
+ "Apply entry": "項目を適用",
+ "Apply failed": "適用に失敗しました",
+ "Apply language property": "言語プロパティを適用",
+ "Apply pair": "ペアを適用",
+ "Apply section JSON": "セクションJSONを適用",
+ "Apply section editor": "セクションエディタを適用",
+ "Apply section editor failed": "セクションエディタの適用に失敗しました",
+ "Article/prefix rules used by hint and item text generation. Keep the nested gender/case structure consistent with the target language.": "Article/prefix rules used by hint and item text generation. Keep the nested gender/case structure consistent with the target language.",
+ "As": "As",
+ "Auto-generated TEMP. property is last applied data; draft_text_editor may contain unapplied right-side edits.": "Auto-generated TEMP. property is last applied data; draft_text_editor may contain unapplied right-side edits.",
+ "Auto-saved TEMP ": "Auto-saved TEMP ",
+ "BOSS_GOAL_TABLE": "BOSS_GOAL_TABLE",
+ "Base": "ベース",
+ "Binary patch": "Binary patch",
+ "Boolean": "真偽値",
+ "Boss goal hint labels. Keep boss keys stable; translate clear/vague display strings.": "Boss goal hint labels. Keep boss keys stable; translate clear/vague display strings.",
+ "Box": "Box",
+ "Browse": "参照",
+ "CHAR_WIDTHS": "CHAR_WIDTHS",
+ "CHAR_WIDTHS entry needs a character/code key.": "CHAR_WIDTHS entry needs a character/code key.",
+ "Center": "Center",
+ "Character / Code": "文字 / コード",
+ "Character width overrides. Keys may be visible characters, symbolic names such as [C-Up], message bytes such as 0x9F, index:N table slots, or JP hex codepoints such as 0x824F. Values may be integers or variant dictionaries.": "文字幅の上書き設定です。キーには表示文字、[C-Up] などのシンボル名、0x9F などのメッセージバイト、index:N 形式のテーブルスロット、日本語用の 0x824F などの16進コードポイントを指定できます。値は整数またはバリアント別辞書です。",
+ "Character width table": "文字幅テーブル",
+ "Check all": "すべて選択",
+ "Checked diff failed": "チェック済み差分の生成に失敗しました",
+ "Checked entries are exported in one run. Edit each filename field to avoid overwriting old cached/downloaded files.": "チェックした項目は一括で書き出されます。\n古いキャッシュ済み/ダウンロード済みファイルを上書きしないよう、各ファイル名を編集できます。",
+ "Choose an export filename or path.": "書き出しファイル名またはパスを選択してください。",
+ "Clear": "クリア",
+ "Clear Name": "Clear Name",
+ "Clear all": "すべて解除",
+ "Color preview:": "カラープレビュー:",
+ "Common examples:\n": "よく使う例:\n",
+ "Completed property.json files can be loaded directly.": "完成済みproperty.jsonを直接読み込めます。",
+ "Control code help": "コントロールコードヘルプ",
+ "Control-code tools": "コントロールコードツール",
+ "Copied selected section item": "選択中のセクション項目をコピーしました",
+ "Copy": "コピー",
+ "Could not find ~/data/bin_patch.json. Place bin_patch.json there or load another JSON file.": "~/data/bin_patch.json が見つかりません。そこに bin_patch.json を配置するか、別のJSONファイルを読み込んでください。",
+ "Ctrl+Y": "Ctrl+Y",
+ "Ctrl+Z": "Ctrl+Z",
+ "Deduplicate": "重複解消",
+ "Deduplicate current message IDs": "現在のID重複を解消",
+ "Delete": "削除",
+ "Delete dictionary key '": "削除 辞書 key '",
+ "Delete entry": "エントリー削除",
+ "Delete key": "削除 key",
+ "Delete the selected list item?": "削除 the 選択中 リスト 項目?",
+ "Description": "説明",
+ "Deutsch": "Deutsch",
+ "Dictionary": "辞書",
+ "Dictionary / mapping": "辞書 / 変換表",
+ "Dictionary editor": "辞書エディタ",
+ "Dictionary pair editor": "辞書ペアエディタ",
+ "Dictionary section: select a key on the left, edit the key in the metadata field, and edit the value as JSON or plain text.": "辞書セクションです。左側でキーを選択し、メタデータ欄でキーを編集し、値はJSONまたは通常テキストとして編集します。",
+ "Dictionary専用エディタ: key => JSON value/text 形式で編集します。複雑な値はRaw JSONも使用できます。": "Dictionary専用エディタ: key => JSON value/text 形式で編集します。複雑な値はRaw JSONも使用できます。",
+ "Diff complete": "差分生成が完了しました",
+ "Diff failed": "差分生成に失敗しました",
+ "Diff patch maker: bin_patch checklist + individual export filenames": "Diff patch maker: bin_patch checklist + individual export filenames",
+ "Display": "表示名",
+ "Display paths with ~/ instead of a user-specific absolute home path.": "Display paths with ~/ instead of a user-specific absolute home path.",
+ "Dual-hint templates. Preserve placeholders and nested structure.": "Dual-hint templates. Preserve placeholders and nested structure.",
+ "Dungeon": "ダンジョン",
+ "Dungeon display names and grammatical gender. Values are used by generated hints and item messages.": "Dungeon display names and grammatical gender. Values are used by generated hints and item messages.",
+ "Dungeon entry controls": "ダンジョン項目コントロール",
+ "Dungeon table editor": "ダンジョンテーブルエディタ",
+ "Dungeon table. Edit name, gender, and has_map. has_map can also be changed with the checkbox on the right.": "ダンジョンテーブルです。name、gender、has_mapを編集します。has_mapは右側のチェックボックスでも変更できます。",
+ "Dungeon専用: name/gender/has_mapを編集します。has_mapは右側チェックボックスでも変更できます。": "Dungeon専用: name/gender/has_mapを編集します。has_mapは右側チェックボックスでも変更できます。",
+ "Duplicate": "複製",
+ "ERROR: ": "ERROR: ",
+ "Edit": "編集",
+ "Edit box_type": "Edit box_type",
+ "Edited ROM": "編集済みROM",
+ "Empty list": "空のリスト",
+ "Encode a mapping/list-pair side. JSON quotes preserve leading/trailing spaces.": "Encode a mapping/list-pair side. JSON quotes preserve leading/trailing spaces.",
+ "End": "終了",
+ "English": "English",
+ "Ensure the loaded property has all known top-level sections.": "Ensure the loaded property has all known top-level sections.",
+ "Entry list": "項目一覧",
+ "Entry note": "項目説明",
+ "Español": "Español",
+ "Exit": "終了",
+ "Expand PLAIN_TEXTS from source...": "ソースからPLAIN_TEXTSを展開...",
+ "Expand user-facing local paths such as ~/data without exposing OS usernames.": "Expand user-facing local paths such as ~/data without exposing OS usernames.",
+ "Expansion failed": "展開に失敗しました",
+ "Export complete": "書き出しが完了しました",
+ "Export filename": "出力ファイル名",
+ "Export filename is empty.": "書き出しファイル名が空です。",
+ "Export filename/path": "出力ファイル名 / パス",
+ "Export key": "出力キー",
+ "Export property.json...": "property.json を出力...",
+ "Export raw segment": "生セグメントを出力",
+ "Export selected patches": "選択したパッチを書き出す",
+ "Exported property.json.": "property.jsonを書き出しました。",
+ "Extra game text for non-English/non-Japanese language builds. Format: {id: int, text: str, box_type: int}. Use the expansion tool to add missing IDs/box types from an older source while keeping translations blank.": "Extra game text for non-English/non-Japanese language builds. Format: {id: int, text: str, box_type: int}. Use the expansion tool to add missing IDs/box types from an older source while keeping translations blank.",
+ "File": "ファイル",
+ "For prefix/search/mapping/dictionary sections, the large Text editor edits the whole selected section. Message sections still edit one selected entry.": "For prefix/search/mapping/dictionary sections, the large Text editor edits the whole selected section. Message sections still edit one selected entry.",
+ "Format": "フォーマット",
+ "Format JSON": "JSONを整形",
+ "Format: ": "フォーマット: ",
+ "Format: boolean": "フォーマット: 真偽値",
+ "Format: dictionary": "フォーマット: 辞書",
+ "Format: integer": "フォーマット: 整数",
+ "Format: list": "フォーマット: リスト",
+ "Format: mixed values": "フォーマット: 混在値",
+ "Format: null": "フォーマット: null",
+ "Format: number": "フォーマット: 数値",
+ "Format: string": "フォーマット: 文字列",
+ "Formato": "Formato",
+ "Français": "Français",
+ "From": "From",
+ "From / Key": "From / Key",
+ "From / To mapping": "From / To 変換表",
+ "From / To string mapping. Use it to replace player-facing phrases, for example when converting text to use the player name.": "From / To の文字列変換表です。プレイヤー向け文言を置換するために使います。たとえばテキストをプレイヤー名表記へ変換する場合に使います。",
+ "From / To string mapping. Use it to replace verbs, for example obtained => got.": "From / To の文字列変換表です。動詞を置換するために使います。例: obtained => got。",
+ "From / To 固定のstr:str置換表です。obtained => got のように動詞を置換します。": "From / To 固定のstr:str置換表です。obtained => got のように動詞を置換します。",
+ "From / To 固定のstr:str置換表です。プレイヤー名化など、左の語句を右へ変換します。": "変換元 / 変換先 固定のstr:str置換表です。プレイヤー名化など、左の語句を右へ変換します。",
+ "Full inserted code list:\n": "Full inserted code list:\n",
+ "Full-sentence UI translation mode is active.": "完全文章UI翻訳モードが有効です。",
+ "Gender": "ジェンダー",
+ "General hint text templates. Preserve randomizer placeholders and control-code intent.": "General hint text templates. Preserve randomizer placeholders and control-code intent.",
+ "General property section": "一般プロパティセクション",
+ "General property section. Keep the existing JSON shape unless you know the consumer code expects a different schema.": "一般プロパティセクションです。読み込み側コードが別のスキーマを要求している場合を除き、既存のJSON形状を維持してください。",
+ "Generate checked diff patches": "選択した差分パッチを生成",
+ "Generate single diff patch": "単一差分パッチを生成",
+ "Goal name table editor": "ゴール名テーブルエディタ",
+ "Goal name table. Edit Vague Name and Clear Name. #...# is a hint color marker and is restored when saving.": "ゴール名テーブルです。Vague NameとClear Nameを編集します。#...# はヒント用の色マーカーで、保存時に元の形式へ戻されます。",
+ "Goal name専用: vague / clear を Vague Name / Clear Name として編集します。#...# は色指定です。": "Goal name専用: vague / clear を Vague Name / Clear Name として編集します。#...# は色指定です。",
+ "Has Map": "マップあり",
+ "Has Map (has_map)": "マップあり (has_map)",
+ "Help": "ヘルプ",
+ "Hint Key": "ヒントキー",
+ "Hint area display names, prepositions, short names, and grammatical gender. Keep keys and prep fields intact.": "Hint area display names, prepositions, short names, and grammatical gender. Keep keys and prep fields intact.",
+ "Hint table editor": "ヒントテーブルエディタ",
+ "Hint table editor. Edit Vague Hint, Clear Hint, and Gender. Vague Hint is saved as None when empty, as a string when it has one line, and as a list of strings when it has multiple lines. #...# is shown as ... while editing.": "ヒントテーブルエディタです。Vague Hint、Clear Hint、Genderを編集します。Vague Hintは空ならNone、1行なら文字列、複数行なら文字列リストとして保存されます。#...# は編集中 ... として表示されます。",
+ "Hint table entries. Keep tuple/list shape intact: usually hint aliases, item text, and gender.": "Hint table entries. Keep tuple/list shape intact: usually hint aliases, item text, and gender.",
+ "Hint text table. Language syntax such as [prefix...] and placeholders such as {item} are preserved.": "ヒントテキストテーブルです。[prefix...] などのLanguage構文と {item} などのプレースホルダを保持します。",
+ "Hint text専用: Language構文 [prefix...] と placeholder {item} をそのまま扱います。": "Hint text専用: Language構文 [prefix...] と placeholder {item} をそのまま扱います。",
+ "Hint専用: vague_hint / clear_hint / gender を編集します。vague_hintは空=None、1件=str、複数=list[str]として保存します。#...# は編集時 ... として表示します。": "Hint専用: vague_hint / clear_hint / gender を編集します。vague_hintは空=None、1件=str、複数=list[str]として保存します。#...# は編集時 ... として表示します。",
+ "ID": "ID",
+ "ID / index": "ID / インデックス",
+ "IMPORTANT_ITEM_MESSAGES": "IMPORTANT_ITEM_MESSAGES",
+ "ITEM_MESSAGES": "ITEM_MESSAGES",
+ "Import complete": "インポート完了",
+ "Import failed": "インポート失敗",
+ "Imported ": "インポートしました: ",
+ "Imported literal sections from ": "リテラルセクションをインポートしました: ",
+ "Insert code": "コードを挿入",
+ "Integer": "整数",
+ "Invalid diff range. End must be larger than start.": "Invalid diff range. End must be larger than start.",
+ "Invalid segment range. Size must be greater than zero.": "Invalid segment range. Size must be greater than zero.",
+ "Item get messages. Format: {id: int, text: str}. Control codes such as , , line breaks, and box breaks are allowed.": "アイテム入手メッセージです。形式は {id: int, text: str} です。、、改行、ボックス区切りなどのコントロールコードを使用できます。",
+ "JSON": "JSON",
+ "JSON parse failed": "JSON解析に失敗しました",
+ "Japanese stand-in conversion:\n": "日本語短縮コード変換:\n",
+ "Key": "Key",
+ "Key / As mapping": "Key / As 変換表",
+ "Key / As mapping with fixed string keys and string values.": "固定の文字列キーと文字列値を持つ Key / As 変換表です。",
+ "Key / As pair list": "Key / As ペアリスト",
+ "Key / As replacement pairs. After Language.format runs, the left value is replaced with the right value.": "Key / As 置換ペアです。Language.format の実行後に、左側の値が右側の値へ置換されます。",
+ "Key / As 固定の str:str 辞書です。": "キー / 置換後 固定の str:str 辞書です。",
+ "Key / As 固定の置換ペアです。Language.format後に左から右へ置換されます。": "Key / As 固定の置換ペアです。Language.format後に左から右へ置換されます。",
+ "Keyed text item": "キー付きテキスト項目",
+ "Language": "言語",
+ "Language changed.": "UI言語を変更しました。",
+ "Language metadata. base is normally 'en' or 'jp'; align_text should stay Left/Center/Right. wide_text_english_metrics is for JP/wide text using English-like spacing.": "言語メタデータです。baseは通常 en または jp です。align_text は Left / Center / Right のままにしてください。wide_text_english_metrics は日本語や全角テキストで英語風の間隔を使う場合の設定です。",
+ "Language property": "言語プロパティ",
+ "Language syntax can reference this data with paths such as [prefix.definite.nominative.masculine]. Add or remove gender, case, and prefix layers to match the target language.": "Language構文では [prefix.definite.nominative.masculine] のようなパスでこのデータを参照できます。対象言語に合わせて gender、case、prefix の階層を追加・削除してください。",
+ "Language構文では [prefix.definite.nominative.masculine] のように参照できます。German版のように gender/case/prefix 階層を増減できます。": "Language構文では [prefix.definite.nominative.masculine] のように参照できます。German版のように gender/case/prefix 階層を増減できます。",
+ "Left": "Left",
+ "Line breaks can be typed as real newlines. A visible ▼ line is treated as a box break.\n\n": "改行は実際の改行として入力できます。▼ の行はボックス区切りとして扱われます。\n\n",
+ "List": "リスト",
+ "List editor": "リストエディタ",
+ "List item / Section item": "リスト項目 / セクション項目",
+ "List of arrays / tuples": "配列 / タプルのリスト",
+ "List of dictionaries": "辞書のリスト",
+ "List of strings": "文字列のリスト",
+ "List section: selected items are edited as JSON or plain text. Use Raw section JSON for large nested edits.": "リストセクションです。選択した項目はJSONまたは通常テキストとして編集します。大きなネスト編集にはRaw section JSONを使ってください。",
+ "List専用エディタ: 1行1項目で編集します。辞書や配列はJSONとして書けます。": "List専用エディタ: 1行1項目で編集します。辞書や配列はJSONとして書けます。",
+ "List専用エディタ: 右側Text editorで1行1項目として追加・削除します。ID/Box/Text Keyメタ欄は使いません。": "リスト専用エディタ: 右側テキストエディタで1行1項目として追加・削除します。ID/Box/テキストキーメタ欄は使いません。",
+ "Load": "読み込み",
+ "Load TEMP failed": "Load TEMP failed",
+ "Load TEMP property...": "TEMP propertyを読み込む...",
+ "Load completed property.json...": "完成済み property.json を読み込み...",
+ "Load default ~/data/bin_patch.json": "既定の~/data/bin_patch.jsonを読み込む",
+ "Load failed": "読み込みに失敗しました",
+ "Load property.json...": "property.jsonを読み込む...",
+ "Load section JSON": "セクションJSONを読み込む",
+ "Loaded": "読み込み完了",
+ "Loaded ": "読み込みました: ",
+ "Loaded TEMP ": "Loaded TEMP ",
+ "Loaded property.json.": "property.jsonを読み込みました。",
+ "Local export folder": "ローカル書き出しフォルダ",
+ "Local export folder: ": "ローカル保存フォルダ: ",
+ "Local export folder: {path}": "ローカル書き出しフォルダ: {path}",
+ "Local layout: ~/data/lang/ootr_language_editor_gui.py": "Local layout: ~/data/lang/ootr_language_editor_gui.py",
+ "MISC_MESSAGES": "MISC_MESSAGES",
+ "Mapping専用エディタ: source => replacement 形式で左から右への変換を編集します。": "Mapping専用エディタ: source => replacement 形式で左から右への変換を編集します。",
+ "Markup → Raw preview": "マークアップ → Rawプレビュー",
+ "Message editor": "メッセージエディタ",
+ "Message entries": "メッセージ項目",
+ "Message entries with box_type": "box_type付きメッセージ項目",
+ "Message list: id + box_type + text": "メッセージリスト: id + box_type + text",
+ "Message list: id + text": "メッセージリスト: id + text",
+ "Message section: entries use id + box_type + text. id/box_type are metadata and text uses OOTR control codes.": "メッセージセクションです。項目は id + box_type + text を使います。id と box_type はメタデータで、text にはOOTRコントロールコードを使います。",
+ "Message section: entries use id + text. id is metadata and text uses OOTR control codes.": "メッセージセクションです。項目は id + text を使います。id はメタデータで、text にはOOTRコントロールコードを使います。",
+ "Message専用エディタ: 左側で項目を選択し、本文を編集します。ID/box_typeは必要時のみ表示します。": "Message専用エディタ: 左側で項目を選択し、本文を編集します。ID/box_typeは必要時のみ表示します。",
+ "Misc dual hint table. Preserve item_1 and item_2 placeholders while editing.": "その他デュアルヒントテーブルです。編集中も item_1 と item_2 のプレースホルダを保持してください。",
+ "Misc dual hint専用: item_1/item_2系placeholderを保持したまま編集します。": "Misc dual hint専用: item_1/item_2系placeholderを保持したまま編集します。",
+ "Misc hint table editor": "その他ヒントテーブルエディタ",
+ "Misc hint専用: 固定キー内の location_text/default_item_text などを項目別に編集します。短縮コントロールコードと#色指定を表示変換します。": "Misc hint専用: 固定キー内の location_text/default_item_text などを項目別に編集します。短縮コントロールコードと#色指定を表示変換します。",
+ "Misc item hint table. Edit fixed fields such as location_text and default_item_text. Short control-code notation and #...# color markers are converted for display.": "その他アイテムヒントテーブルです。location_text や default_item_text などの固定フィールドを編集します。短縮コントロールコード表記と #...# 色マーカーは表示用に変換されます。",
+ "Misc location hint table. Edit fixed fields such as location_text and location_fallback.": "その他ロケーションヒントテーブルです。location_text や location_fallback などの固定フィールドを編集します。",
+ "Misc location hint専用: 固定キー内の location_text/location_fallbackなどを編集します。": "Misc location hint専用: 固定キー内の location_text/location_fallbackなどを編集します。",
+ "Miscellaneous in-game text. Format: {id: int, text: str, box_type: int}. ID and box_type are metadata; edit them only when intentionally changing the table entry.": "その他のゲーム内テキストです。形式は {id: int, text: str, box_type: int} です。IDとbox_typeはメタデータなので、テーブル項目を意図的に変更する場合だけ編集してください。",
+ "Missing UI translation key": "Missing UI translation key",
+ "Mixed list": "混在リスト",
+ "Mode": "モード",
+ "Mode : ": "モード : ",
+ "Mode: ": "モード: ",
+ "Mode: From / To mapping. Format: boolean.": "モード: From / To 変換表\nフォーマット: 真偽値",
+ "Mode: From / To mapping. Format: dictionary.": "モード: From / To 変換表\nフォーマット: 辞書",
+ "Mode: From / To mapping. Format: integer.": "モード: From / To 変換表\nフォーマット: 整数",
+ "Mode: From / To mapping. Format: list.": "モード: From / To 変換表\nフォーマット: リスト",
+ "Mode: From / To mapping. Format: mixed values.": "モード: From / To 変換表\nフォーマット: 混在値",
+ "Mode: From / To mapping. Format: null.": "モード: From / To 変換表\nフォーマット: null",
+ "Mode: From / To mapping. Format: number.": "モード: From / To 変換表\nフォーマット: 数値",
+ "Mode: From / To mapping. Format: string.": "モード: From / To 変換表\nフォーマット: 文字列",
+ "Mode: Key / As mapping. Format: boolean.": "モード: Key / As 変換表\nフォーマット: 真偽値",
+ "Mode: Key / As mapping. Format: dictionary.": "モード: Key / As 変換表\nフォーマット: 辞書",
+ "Mode: Key / As mapping. Format: integer.": "モード: Key / As 変換表\nフォーマット: 整数",
+ "Mode: Key / As mapping. Format: list.": "モード: Key / As 変換表\nフォーマット: リスト",
+ "Mode: Key / As mapping. Format: mixed values.": "モード: Key / As 変換表\nフォーマット: 混在値",
+ "Mode: Key / As mapping. Format: null.": "モード: Key / As 変換表\nフォーマット: null",
+ "Mode: Key / As mapping. Format: number.": "モード: Key / As 変換表\nフォーマット: 数値",
+ "Mode: Key / As mapping. Format: string.": "モード: Key / As 変換表\nフォーマット: 文字列",
+ "Mode: Key / As pair list. Format: boolean.": "モード: Key / As ペアリスト\nフォーマット: 真偽値",
+ "Mode: Key / As pair list. Format: dictionary.": "モード: Key / As ペアリスト\nフォーマット: 辞書",
+ "Mode: Key / As pair list. Format: integer.": "モード: Key / As ペアリスト\nフォーマット: 整数",
+ "Mode: Key / As pair list. Format: list.": "モード: Key / As ペアリスト\nフォーマット: リスト",
+ "Mode: Key / As pair list. Format: mixed values.": "モード: Key / As ペアリスト\nフォーマット: 混在値",
+ "Mode: Key / As pair list. Format: null.": "モード: Key / As ペアリスト\nフォーマット: null",
+ "Mode: Key / As pair list. Format: number.": "モード: Key / As ペアリスト\nフォーマット: 数値",
+ "Mode: Key / As pair list. Format: string.": "モード: Key / As ペアリスト\nフォーマット: 文字列",
+ "Mode: character-width table. Format: boolean.": "モード: 文字幅テーブル\nフォーマット: 真偽値",
+ "Mode: character-width table. Format: dictionary.": "モード: 文字幅テーブル\nフォーマット: 辞書",
+ "Mode: character-width table. Format: integer.": "モード: 文字幅テーブル\nフォーマット: 整数",
+ "Mode: character-width table. Format: list.": "モード: 文字幅テーブル\nフォーマット: リスト",
+ "Mode: character-width table. Format: mixed values.": "モード: 文字幅テーブル\nフォーマット: 混在値",
+ "Mode: character-width table. Format: null.": "モード: 文字幅テーブル\nフォーマット: null",
+ "Mode: character-width table. Format: number.": "モード: 文字幅テーブル\nフォーマット: 数値",
+ "Mode: character-width table. Format: string.": "モード: 文字幅テーブル\nフォーマット: 文字列",
+ "Mode: dictionary pairs. Format: boolean.": "モード: 辞書ペア\nフォーマット: 真偽値",
+ "Mode: dictionary pairs. Format: dictionary.": "モード: 辞書ペア\nフォーマット: 辞書",
+ "Mode: dictionary pairs. Format: integer.": "モード: 辞書ペア\nフォーマット: 整数",
+ "Mode: dictionary pairs. Format: list.": "モード: 辞書ペア\nフォーマット: リスト",
+ "Mode: dictionary pairs. Format: mixed values.": "モード: 辞書ペア\nフォーマット: 混在値",
+ "Mode: dictionary pairs. Format: null.": "モード: 辞書ペア\nフォーマット: null",
+ "Mode: dictionary pairs. Format: number.": "モード: 辞書ペア\nフォーマット: 数値",
+ "Mode: dictionary pairs. Format: string.": "モード: 辞書ペア\nフォーマット: 文字列",
+ "Mode: dictionary. Format: boolean.": "モード: 辞書\nフォーマット: 真偽値",
+ "Mode: dictionary. Format: dictionary.": "モード: 辞書\nフォーマット: 辞書",
+ "Mode: dictionary. Format: integer.": "モード: 辞書\nフォーマット: 整数",
+ "Mode: dictionary. Format: list.": "モード: 辞書\nフォーマット: リスト",
+ "Mode: dictionary. Format: mixed values.": "モード: 辞書\nフォーマット: 混在値",
+ "Mode: dictionary. Format: null.": "モード: 辞書\nフォーマット: null",
+ "Mode: dictionary. Format: number.": "モード: 辞書\nフォーマット: 数値",
+ "Mode: dictionary. Format: string.": "モード: 辞書\nフォーマット: 文字列",
+ "Mode: dungeon table. Format: boolean.": "モード: ダンジョンテーブル\nフォーマット: 真偽値",
+ "Mode: dungeon table. Format: dictionary.": "モード: ダンジョンテーブル\nフォーマット: 辞書",
+ "Mode: dungeon table. Format: integer.": "モード: ダンジョンテーブル\nフォーマット: 整数",
+ "Mode: dungeon table. Format: list.": "モード: ダンジョンテーブル\nフォーマット: リスト",
+ "Mode: dungeon table. Format: mixed values.": "モード: ダンジョンテーブル\nフォーマット: 混在値",
+ "Mode: dungeon table. Format: null.": "モード: ダンジョンテーブル\nフォーマット: null",
+ "Mode: dungeon table. Format: number.": "モード: ダンジョンテーブル\nフォーマット: 数値",
+ "Mode: dungeon table. Format: string.": "モード: ダンジョンテーブル\nフォーマット: 文字列",
+ "Mode: goal-name table. Format: boolean.": "モード: ゴール名テーブル\nフォーマット: 真偽値",
+ "Mode: goal-name table. Format: dictionary.": "モード: ゴール名テーブル\nフォーマット: 辞書",
+ "Mode: goal-name table. Format: integer.": "モード: ゴール名テーブル\nフォーマット: 整数",
+ "Mode: goal-name table. Format: list.": "モード: ゴール名テーブル\nフォーマット: リスト",
+ "Mode: goal-name table. Format: mixed values.": "モード: ゴール名テーブル\nフォーマット: 混在値",
+ "Mode: goal-name table. Format: null.": "モード: ゴール名テーブル\nフォーマット: null",
+ "Mode: goal-name table. Format: number.": "モード: ゴール名テーブル\nフォーマット: 数値",
+ "Mode: goal-name table. Format: string.": "モード: ゴール名テーブル\nフォーマット: 文字列",
+ "Mode: hint table. Format: boolean.": "モード: ヒントテーブル\nフォーマット: 真偽値",
+ "Mode: hint table. Format: dictionary.": "モード: ヒントテーブル\nフォーマット: 辞書",
+ "Mode: hint table. Format: integer.": "モード: ヒントテーブル\nフォーマット: 整数",
+ "Mode: hint table. Format: list.": "モード: ヒントテーブル\nフォーマット: リスト",
+ "Mode: hint table. Format: mixed values.": "モード: ヒントテーブル\nフォーマット: 混在値",
+ "Mode: hint table. Format: null.": "モード: ヒントテーブル\nフォーマット: null",
+ "Mode: hint table. Format: number.": "モード: ヒントテーブル\nフォーマット: 数値",
+ "Mode: hint table. Format: string.": "モード: ヒントテーブル\nフォーマット: 文字列",
+ "Mode: keyed text item. Format: boolean.": "モード: keyed text item\nフォーマット: 真偽値",
+ "Mode: keyed text item. Format: dictionary.": "モード: keyed text item\nフォーマット: 辞書",
+ "Mode: keyed text item. Format: integer.": "モード: keyed text item\nフォーマット: 整数",
+ "Mode: keyed text item. Format: list.": "モード: keyed text item\nフォーマット: リスト",
+ "Mode: keyed text item. Format: mixed values.": "モード: keyed text item\nフォーマット: 混在値",
+ "Mode: keyed text item. Format: null.": "モード: keyed text item\nフォーマット: null",
+ "Mode: keyed text item. Format: number.": "モード: keyed text item\nフォーマット: 数値",
+ "Mode: keyed text item. Format: string.": "モード: keyed text item\nフォーマット: 文字列",
+ "Mode: list. Format: boolean.": "モード: リスト\nフォーマット: 真偽値",
+ "Mode: list. Format: dictionary.": "モード: リスト\nフォーマット: 辞書",
+ "Mode: list. Format: integer.": "モード: リスト\nフォーマット: 整数",
+ "Mode: list. Format: list.": "モード: リスト\nフォーマット: リスト",
+ "Mode: list. Format: mixed values.": "モード: リスト\nフォーマット: 混在値",
+ "Mode: list. Format: null.": "モード: リスト\nフォーマット: null",
+ "Mode: list. Format: number.": "モード: リスト\nフォーマット: 数値",
+ "Mode: list. Format: string.": "モード: リスト\nフォーマット: 文字列",
+ "Mode: message: id + box_type + text. Format: boolean.": "モード: メッセージ: id + box_type + text\nフォーマット: 真偽値",
+ "Mode: message: id + box_type + text. Format: dictionary.": "モード: メッセージ: id + box_type + text\nフォーマット: 辞書",
+ "Mode: message: id + box_type + text. Format: integer.": "モード: メッセージ: id + box_type + text\nフォーマット: 整数",
+ "Mode: message: id + box_type + text. Format: list.": "モード: メッセージ: id + box_type + text\nフォーマット: リスト",
+ "Mode: message: id + box_type + text. Format: mixed values.": "モード: メッセージ: id + box_type + text\nフォーマット: 混在値",
+ "Mode: message: id + box_type + text. Format: null.": "モード: メッセージ: id + box_type + text\nフォーマット: null",
+ "Mode: message: id + box_type + text. Format: number.": "モード: メッセージ: id + box_type + text\nフォーマット: 数値",
+ "Mode: message: id + box_type + text. Format: string.": "モード: メッセージ: id + box_type + text\nフォーマット: 文字列",
+ "Mode: message: id + text. Format: boolean.": "モード: メッセージ: id + text\nフォーマット: 真偽値",
+ "Mode: message: id + text. Format: dictionary.": "モード: メッセージ: id + text\nフォーマット: 辞書",
+ "Mode: message: id + text. Format: integer.": "モード: メッセージ: id + text\nフォーマット: 整数",
+ "Mode: message: id + text. Format: list.": "モード: メッセージ: id + text\nフォーマット: リスト",
+ "Mode: message: id + text. Format: mixed values.": "モード: メッセージ: id + text\nフォーマット: 混在値",
+ "Mode: message: id + text. Format: null.": "モード: メッセージ: id + text\nフォーマット: null",
+ "Mode: message: id + text. Format: number.": "モード: メッセージ: id + text\nフォーマット: 数値",
+ "Mode: message: id + text. Format: string.": "モード: メッセージ: id + text\nフォーマット: 文字列",
+ "Mode: misc hint table. Format: boolean.": "モード: その他ヒントテーブル\nフォーマット: 真偽値",
+ "Mode: misc hint table. Format: dictionary.": "モード: その他ヒントテーブル\nフォーマット: 辞書",
+ "Mode: misc hint table. Format: integer.": "モード: その他ヒントテーブル\nフォーマット: 整数",
+ "Mode: misc hint table. Format: list.": "モード: その他ヒントテーブル\nフォーマット: リスト",
+ "Mode: misc hint table. Format: mixed values.": "モード: その他ヒントテーブル\nフォーマット: 混在値",
+ "Mode: misc hint table. Format: null.": "モード: その他ヒントテーブル\nフォーマット: null",
+ "Mode: misc hint table. Format: number.": "モード: その他ヒントテーブル\nフォーマット: 数値",
+ "Mode: misc hint table. Format: string.": "モード: その他ヒントテーブル\nフォーマット: 文字列",
+ "Mode: scalar. Format: boolean.": "モード: 単一値\nフォーマット: 真偽値",
+ "Mode: scalar. Format: dictionary.": "モード: 単一値\nフォーマット: 辞書",
+ "Mode: scalar. Format: integer.": "モード: 単一値\nフォーマット: 整数",
+ "Mode: scalar. Format: list.": "モード: 単一値\nフォーマット: リスト",
+ "Mode: scalar. Format: mixed values.": "モード: 単一値\nフォーマット: 混在値",
+ "Mode: scalar. Format: null.": "モード: 単一値\nフォーマット: null",
+ "Mode: scalar. Format: number.": "モード: 単一値\nフォーマット: 数値",
+ "Mode: scalar. Format: string.": "モード: 単一値\nフォーマット: 文字列",
+ "Mode: string list. Format: boolean.": "モード: 文字列リスト\nフォーマット: 真偽値",
+ "Mode: string list. Format: dictionary.": "モード: 文字列リスト\nフォーマット: 辞書",
+ "Mode: string list. Format: integer.": "モード: 文字列リスト\nフォーマット: 整数",
+ "Mode: string list. Format: list.": "モード: 文字列リスト\nフォーマット: リスト",
+ "Mode: string list. Format: mixed values.": "モード: 文字列リスト\nフォーマット: 混在値",
+ "Mode: string list. Format: null.": "モード: 文字列リスト\nフォーマット: null",
+ "Mode: string list. Format: number.": "モード: 文字列リスト\nフォーマット: 数値",
+ "Mode: string list. Format: string.": "モード: 文字列リスト\nフォーマット: 文字列",
+ "Mode: {mode}\nFormat: {format}\n{note}": "モード: {mode}\nフォーマット: {format}\n{note}",
+ "Modified": "Modified",
+ "Modo": "Modo",
+ "Modo: ": "Modo: ",
+ "Modus": "Modus",
+ "Modus: ": "Modus: ",
+ "Mouse-wheel scrolling is enabled for scrollable panels.": "Mouse-wheel scrolling is enabled for scrollable panels.",
+ "Multiplayer pronoun replacement map. Preserve the outgoing-item filename/player control code when adapting grammar.": "Multiplayer pronoun replacement map. Preserve the outgoing-item filename/player control code when adapting grammar.",
+ "Name / Gender": "名前 / ジェンダー",
+ "New Dungeon": "New Dungeon",
+ "New Goal": "New Goal",
+ "New Hint": "New Hint",
+ "New Language": "New 言語",
+ "No bin_patch entries are checked.": "No bin_patch entries are checked.",
+ "No bin_patch entries loaded. Expected local file: ~/data/bin_patch.json": "bin_patch項目が読み込まれていません。想定ローカルファイル: ~/data/bin_patch.json",
+ "No copied item.": "No copied item.",
+ "No obvious problems found.": "明らかな問題はありません。",
+ "No selected row.": "行が選択されていません。",
+ "No word-by-word replacement is used.": "単語ごとの置換は使用しません。",
+ "None": "None",
+ "Normalize sections whose historical type differs between language builds.": "Normalize sections whose historical type differs between language builds.",
+ "Nothing to redo": "Nothing to redo",
+ "Nothing to undo": "Nothing to undo",
+ "Null": "null",
+ "Number": "数値",
+ "OOTR Language Editor GUI": "OOTR Language Editor GUI",
+ "OOTR Language Editor GUI TEMP": "OOTR Language Editor GUI TEMP",
+ "Original ROM": "元ROM",
+ "PATCH_TEXTS": "PATCH_TEXTS",
+ "PLAIN_TEXTS": "PLAIN_TEXTS",
+ "PLAIN_TEXTS expanded": "PLAIN_TEXTS expanded",
+ "Pair / mapping editor": "ペア / マッピングエディタ",
+ "Parse editor text as JSON when possible; otherwise preserve it as a plain string.": "Parse editor text as JSON when possible; otherwise preserve it as a plain string.",
+ "Paste": "貼り付け",
+ "Patch maker": "パッチメーカー",
+ "Patch text table. Placeholders such as {color} and {destination_name} are patch values. A control code followed by a placeholder, such as \\x05{color}, is displayed as {color} while editing.": "パッチテキストテーブルです。{color} や {destination_name} などはパッチ値のプレースホルダです。\\x05{color} のようにコントロールコードの直後にプレースホルダがある場合、編集中は {color} と表示します。",
+ "Patch text専用: {color}, {destination_name} などはパッチ用placeholderです。\\x05{color} は {color} と表示します。": "Patch text専用: {color}, {destination_name} などはパッチ用placeholderです。\\x05{color} は {color} と表示します。",
+ "Per-language character width overrides. Keys can be visible characters, symbolic names such as [C-Up], message bytes like 0x9F, or index:N table slots.": "Per-language character width overrides. Keys can be visible characters, symbolic names such as [C-Up], message bytes like 0x9F, or index:N table slots.",
+ "Post-processing replacement table. Format: [[from, to]]. Use for language-wide spelling or symbol replacements.": "Post-processing replacement table. Format: [[from, to]]. Use for language-wide spelling or symbol replacements.",
+ "Prefix rule editor": "prefixルールエディタ",
+ "Prefix専用エディタ: [gender]と[case]は追加型リスト、[prefix]は path = value 形式です。German版のような格/case階層も追加・削除できます。": "Prefix専用エディタ: [gender]と[case]は追加型リスト、[prefix]は path = value 形式です。German版のような格/case階層も追加・削除できます。",
+ "Preview": "プレビュー",
+ "Preview error": "プレビューエラー",
+ "Property file": "Property file",
+ "Python": "Python",
+ "Python or JSON": "Python or JSON",
+ "REWARD_GOAL_TABLE": "REWARD_GOAL_TABLE",
+ "ROM": "ROM",
+ "Range": "範囲",
+ "Raw preview shows the JSON-write form.": "RawプレビューにはJSONへ書き込まれる形式を表示します。",
+ "Raw section JSON": "セクションRaw JSON",
+ "Raw segment export: source ROM → file": "Rawセグメント書き出し: ソースROM → ファイル",
+ "Raw string preview": "Raw文字列プレビュー",
+ "Raw table preview": "Rawテーブルプレビュー",
+ "Raw text / table preview": "Rawテキスト / テーブルプレビュー",
+ "Raw text preview": "Rawテキストプレビュー",
+ "Raw → Markup": "Raw → マークアップ",
+ "Readable control-code markup\n": "Readable control-code markup\n",
+ "Ready": "準備完了",
+ "Ready - default bin_patch not loaded: ": "Ready - default bin_patch not loaded: ",
+ "Ready - default template: ": "Ready - default template: ",
+ "Ready - section-specific editors enabled; TEMP: ": "Ready - section-specific editors enabled; TEMP: ",
+ "Redo data edit": "データ編集をやり直す",
+ "Refresh checklist": "Refresh checklist",
+ "Refresh colors": "色表示を更新",
+ "Region names used as extra names in shop text and hints.": "Region names used as extra names in shop text and hints.",
+ "Reload current section": "現在のセクションを再読み込み",
+ "Reload section editor": "セクションエディタを再読み込み",
+ "Removed ": "Removed ",
+ "Replacement list専用エディタ: source => replacement 形式で配列ペアを編集します。": "Replacement list専用エディタ: source => replacement 形式で配列ペアを編集します。",
+ "Return a user-facing schema name for the selected top-level section.": "Return a user-facing schema name for the selected top-level section.",
+ "Reward goal hint labels. Keep reward keys stable; translate clear/vague display strings.": "Reward goal hint labels. Keep reward keys stable; translate clear/vague display strings.",
+ "Right": "Right",
+ "SHOP_TEXTS": "SHOP_TEXTS",
+ "Save": "保存",
+ "Save As...": "名前を付けて保存...",
+ "Save current changes before continuing?": "Save current changes before continuing?",
+ "Save failed": "保存に失敗しました",
+ "Save policy": "保存仕様",
+ "Saved": "保存しました",
+ "Saved ": "保存しました: ",
+ "Saving always exports the complete property.json. No section picker is used, because the OOTR language property must keep every required section.": "保存時は常に完全な property.json を書き出します。OOTRの言語プロパティは必要な全セクションを保持する必要があるため、保存対象セクションの選択は使いません。",
+ "Scalar section: edit the whole value from Raw section JSON.": "単一値セクションです。Raw section JSONから値全体を編集してください。",
+ "Scalar value editor": "単一値エディタ",
+ "Search": "検索",
+ "Search text used with pronoun/player replacement logic. In the English template this is 'you'.": "Search text used with pronoun/player replacement logic. In the English template this is 'you'.",
+ "Section note": "セクション説明",
+ "Section-specific editor tools": "セクション別エディタツール",
+ "Sections": "セクション",
+ "Segment export failed": "Segment export failed",
+ "Select UI language": "UI言語を選択",
+ "Select a list item or dictionary key first, or use Raw section JSON for scalar sections.": "Select a list item or dictionary key first, or use Raw section JSON for scalar sections.",
+ "Select a list item or dictionary key first.": "Select a list item or dictionary key first.",
+ "Select a list row or dictionary row, or delete directly in the right-side section editor.": "Select a list row or dictionary row, or delete directly in the right-side section editor.",
+ "Select all": "すべて選択",
+ "Select an item first.": "Select an item first.",
+ "Selected entry / section item": "選択中の項目 / セクション項目",
+ "Set local export folder...": "ローカル保存フォルダを設定...",
+ "Shop description and purchase text. Preserve placeholders such as {base_name}, {price}, {extra_name}, and {player_id}.": "Shop description and purchase text. Preserve placeholders such as {base_name}, {price}, {extra_name}, and {player_id}.",
+ "Shop text table. Placeholders such as {price}, {item}, and {player_id} are highlighted. Dictionary and list values are edited one item at a time.": "ショップテキストテーブルです。{price}、{item}、{player_id} などのプレースホルダを強調表示します。辞書値とリスト値は項目ごとに編集します。",
+ "Shop text専用: {price}, {item}, {player_id} などのplaceholderをハイライトします。辞書/リスト値はJSONとして項目別編集できます。": "Shop text専用: {price}, {item}, {player_id} などのplaceholderをハイライトします。辞書/リスト値はJSONとして項目別編集できます。",
+ "Show/edit metadata fields (ID / box_type)": "Show/edit metadata fields (ID / box_type)",
+ "Single/manual patch export": "単一/手動パッチ書き出し",
+ "Size": "サイズ",
+ "Sort": "並べ替え",
+ "Sort message section by ID": "メッセージをID順に並べ替え",
+ "Source PLAIN_TEXTS is not a list.": "Source PLAIN_TEXTS is not a list.",
+ "Source ROM": "ソースROM",
+ "Special fallback/custom item hint templates. Preserve placeholders such as {area} and {item}.": "Special fallback/custom item hint templates. Preserve placeholders such as {area} and {item}.",
+ "Special fallback/custom location hint templates. Preserve placeholders and dictionary structure.": "Special fallback/custom location hint templates. Preserve placeholders and dictionary structure.",
+ "Start": "開始",
+ "String": "文字列",
+ "String list editor": "文字列リストエディタ",
+ "TEMP": "TEMP",
+ "TEMP JSON": "TEMP JSON",
+ "TEMP save failed": "TEMP save failed",
+ "Text": "テキスト",
+ "Text / Key": "Text / Key",
+ "Text Key": "テキストキー",
+ "Text editor": "テキストエディタ",
+ "Text editor: type control codes directly. Color ranges are painted live: red text. Also supports , , , line breaks, and ▼.": "テキストエディタです。コントロールコードを直接入力できます。赤い文字 のような色範囲はリアルタイムで着色されます。、、、改行、▼にも対応しています。",
+ "Texts consumed by patch logic. Preserve placeholders such as {destination_name}, {item}, {price}, {color}, and player fields.": "Texts consumed by patch logic. Preserve placeholders such as {destination_name}, {item}, {price}, {color}, and player fields.",
+ "The 'property' object is the last applied data. 'draft_text_editor' may contain unapplied right-side edits.": "The 'property' object is the last applied data. 'draft_text_editor' may contain unapplied right-side edits.",
+ "The editor switches by section shape: message entries, list items, dictionary keys, and nested JSON values are handled differently.": "エディタはセクションの形に応じて切り替わります。メッセージ項目、リスト項目、辞書キー、ネストしたJSON値はそれぞれ別の方法で扱われます。",
+ "The final property.json can be exported directly.": "The final property.json can be exported directly.",
+ "The interface language was updated without changing the current property data.": "The interface language was updated without changing the current property data.",
+ "The selected JSON root must be an object/dictionary.": "The selected JSON root must be an object/dictionary.",
+ "The selected range is outside one of the ROM files.": "The selected range is outside one of the ROM files.",
+ "The selected section is not a list.": "The 選択中 セクション is not a リスト.",
+ "The selected segment is outside the ROM file.": "The selected segment is outside the ROM file.",
+ "The text editor stores name/gender/has_map. This checkbox mirrors has_map for easier editing.": "テキストエディタには name / gender / has_map が入ります。このチェックボックスは編集しやすいように has_map と連動します。",
+ "This editor applies the entire currently selected top-level section. It is the fallback editor for every schema: dictionaries, lists, nested tables, strings, numbers, and mixed values.": "このエディタは現在選択中のトップレベルセクション全体に適用されます。辞書、リスト、ネストしたテーブル、文字列、数値、混在値など、すべてのスキーマ向けの保険用エディタです。",
+ "This section is a scalar value. Use Raw section JSON to change it.": "This section is a scalar value. Use Raw section JSON to change it.",
+ "This section is a scalar value. Use Raw section JSON to change its shape first.": "This section is a scalar value. Use Raw section JSON to change its shape first.",
+ "To": "To",
+ "To / As": "To / As",
+ "To / Value": "To / 値",
+ "Tools": "ツール",
+ "Trial name replacements for Ganon's Castle trial text.": "Trial name replacements for Ganon's Castle trial text.",
+ "Type": "型",
+ "Type / Fields": "型 / フィールド",
+ "UI Language": "UI言語",
+ "UI text is loaded from language_editor_ui.json.": "UI text is loaded from language_editor_ui.json.",
+ "UI text is translated only by full exact sentence keys.": "UI文章は完全一致の文章キーだけで翻訳します。",
+ "Uncheck all": "すべて解除",
+ "Undo data edit": "データ編集を元に戻す",
+ "Unsaved changes": "未保存の変更があります",
+ "Use": "使用",
+ "Use Raw section JSON for this scalar section.": "この単一値セクションにはRaw section JSONを使ってください。",
+ "Use key range": "キー範囲を使用",
+ "Vague / Clear": "Vague / Clear",
+ "Vague Name": "Vague Name",
+ "Validate current property": "Validate current property",
+ "Validation": "検証",
+ "Verb normalization map used with multiplayer/player text replacement.": "Verb normalization map used with multiplayer/player text replacement.",
+ "WM_DELETE_WINDOW": "WM_DELETE_WINDOW",
+ "Wide English metrics": "ワイド英語メトリクス",
+ "Width": "幅",
+ "Wrap long UI-only prose without changing JSON data or user-entered strings.": "Wrap long UI-only prose without changing JSON data or user-entered strings.",
+ "Write TEMP now": "TEMPへ今すぐ保存",
+ "Wrote ": "Wrote ",
+ "Wrote TEMP ": "Wrote TEMP ",
+ "Wrote diff patch: ": "Wrote diff patch: ",
+ "Wrote segment: ": "Wrote segment: ",
+ "X": "X",
+ "[C Down]": "[C Down]",
+ "[C Left]": "[C Left]",
+ "[C Right]": "[C Right]",
+ "[C Up]": "[C Up]",
+ "[C-Down]": "[C-Down]",
+ "[C-Left]": "[C-Left]",
+ "[C-Right]": "[C-Right]",
+ "[C-Up]": "[C-Up]",
+ "[Control Stick]": "[Control Stick]",
+ "[L]": "[L]",
+ "[R]": "[R]",
+ "[Triangle]": "[Triangle]",
+ "[Z]": "[Z]",
+ "[field:": "[field:",
+ "\\n...and ": "\\n...and ",
+ "] box_type is not an integer.": "] box_type is not an integer.",
+ "] has no integer id.": "] has no 整数 id.",
+ "] has no string text.": "] has no string text.",
+ "] is not a dictionary.": "] is not a 辞書.",
+ "_ORIG_V47_REFRESH_ALL": "_ORIG_V47_REFRESH_ALL",
+ "_S": "_S",
+ "_V46_CURRENT_APP": "_V46_CURRENT_APP",
+ "_V47_MODE_LABELS": "_V47_MODE_LABELS",
+ "_V47_SCHEMA_LABELS": "_V47_SCHEMA_LABELS",
+ "allow instant text": "allow instant text",
+ "bin_patch entries / editable output filenames": "bin_patch entries / editable output filenames",
+ "bin_patch key": "bin_patch key",
+ "bin_patch load failed": "bin_patch load failed",
+ "bin_patch loaded": "bin_patch loaded",
+ "bin_patch.json": "bin_patch.json",
+ "bin_patch.json not found": "bin_patch.json not found",
+ "boolean": "真偽値",
+ "box_type": "box_type",
+ "box_type:": "box_type:",
+ "case: ": "case: ",
+ "character-width table": "character-width table",
+ "current time": "current time",
+ "delay each character by": "delay each character by",
+ "dictionary": "辞書",
+ "dictionary / mapping": "辞書 / マッピング",
+ "dictionary pairs": "dictionary pairs",
+ "disallow instant text": "disallow instant text",
+ "dungeon table": "dungeon table",
+ "empty list": "empty list",
+ "fade after": "fade after",
+ "fish weight": "fish weight",
+ "function calls are not allowed": "function calls are not allowed",
+ "gender = ": "gender = ",
+ "gender: ": "gender: ",
+ "goal-name table": "goal-name table",
+ "has_map = ": "has_map = ",
+ "hint table": "ヒントテーブル",
+ "idx::": "idx::",
+ "integer": "整数",
+ "keep open": "keep open",
+ "key count": "key count",
+ "key::": "key::",
+ "keyed text item": "keyed text item",
+ "lang_property must be a dictionary.": "lang_property must be a dictionary.",
+ "lang_property.align_text should be Left, Center, or Right.": "lang_property.align_text should be Left, Center, or Right.",
+ "lang_property.base should be 'en' or 'jp'.": "lang_property.base should be 'en' or 'jp'.",
+ "language_editor_ui.json was loaded.": "language_editor_ui.jsonを読み込みました。",
+ "list": "リスト",
+ "list of arrays / tuples": "list of arrays / tuples",
+ "list of dictionaries": "list of dictionaries",
+ "list of strings": "list of strings",
+ "marathon time": "marathon time",
+ "message list: id + box_type + text": "message list: id + box_type + text",
+ "message list: id + text": "message list: id + text",
+ "message: id + box_type + text": "message: id + box_type + text",
+ "message: id + text": "message: id + text",
+ "misc hint table": "misc hint table",
+ "mixed list": "mixed list",
+ "name = ": "name = ",
+ "new item": "new 項目",
+ "null": "Null",
+ "number": "数値",
+ "play SFX": "play SFX",
+ "prefix::": "prefix::",
+ "prefix::case": "prefix::case",
+ "prefix::gender": "prefix::gender",
+ "race time": "race time",
+ "set background to": "set background to",
+ "silver rupee count": "silver rupee count",
+ "skulltula count": "skulltula count",
+ "start three choice": "start three choice",
+ "start two choice": "start two choice",
+ "string": "文字列",
+ "string list": "文字列 リスト",
+ "text is unskippable": "text is unskippable",
+ "unsupported attribute: ": "unsupported attribute: ",
+ "unsupported expression node: ": "unsupported expression node: ",
+ "~/data": "~/data",
+ "~/data/lang": "~/data/lang",
+ "Å": "Å",
+ "Режим": "Режим",
+ "Режим: ": "Режим: ",
+ "Русский": "Русский",
+ "Формат": "Формат",
+ "モード: ": "モード: ",
+ "文字幅指定です。キーは文字そのもの、[C-Up] 等の名前、0x9F、index:143、JPでは0x824Fなどの文字コードを使えます。値は整数または variant別の辞書です。": "文字幅指定です。キーは文字そのもの、[C-Up] 等の名前、0x9F、index:143、JPでは0x824Fなどの文字コードを使えます。値は整数または variant別の辞書です。",
+ "OOTR Language Editor Developer Tool": "OOTR 言語エディタ開発者ツール",
+ "Load default template": "デフォルトテンプレートを読み込み",
+ "Merge missing defaults": "不足デフォルトを統合",
+ "Apply editor": "エディタ内容を適用",
+ "Apply editor JSON": "エディタJSONを適用",
+ "Add list line": "リスト行を追加",
+ "Remove last list line": "最後のリスト行を削除",
+ "Entries": "項目",
+ "Selected section": "選択中セクション",
+ "Selected entry": "選択中項目",
+ "Raw JSON preview": "Raw JSON プレビュー",
+ "Raw write-form JSON preview": "書き込み形式のRaw JSONプレビュー",
+ "Search sections": "セクション検索",
+ "Search entries": "項目検索",
+ "Mode: {mode}": "モード: {mode}",
+ "Format: {format}": "フォーマット: {format}",
+ "Default template loaded.": "デフォルトテンプレートを読み込みました。",
+ "Missing default entries merged.": "不足しているデフォルト項目を統合しました。",
+ "Loaded property.json and merged missing defaults.": "property.json を読み込み、不足デフォルトを統合しました。",
+ "Exported complete property.json": "完全な property.json を出力しました",
+ "No property.json loaded": "property.json は未読み込みです",
+ "File: {path}": "ファイル: {path}",
+ "TEMP saved: {path}": "TEMP保存: {path}",
+ "TEMP save failed: {message}": "TEMP保存失敗: {message}",
+ "Load failed: {message}": "読み込み失敗: {message}",
+ "Export failed: {message}": "出力失敗: {message}",
+ "Apply failed: {message}": "適用失敗: {message}",
+ "Applied editor value": "エディタの値を適用しました",
+ "Entry editor": "項目エディタ",
+ "Section editor": "セクションエディタ",
+ "Message entry": "メッセージ項目",
+ "Hint table entry": "hintTable項目",
+ "Goal name entry": "ゴール名項目",
+ "Patch/shop/hint text entry": "パッチ/ショップ/hint_text項目",
+ "Mapping entry": "マッピング項目",
+ "Dungeon entry": "ダンジョン項目",
+ "Prefix rule section": "prefixルールセクション",
+ "Dictionary entry": "辞書項目",
+ "List entry": "リスト項目",
+ "Scalar entry": "単一値項目",
+ "friendly text": "編集用テキスト",
+ "list text": "リストテキスト",
+ "field text": "フィールドテキスト",
+ "Prefix section for Language-style text such as [prefix.definite.nominative.masculine]. Keep gender, case, and nested prefix rules intact.": "[prefix.definite.nominative.masculine] のような Language 構文用の prefix セクションです。gender、case、ネストされた prefix ルールを維持してください。",
+ "Hint table section. Entries contain vague_hint, clear_hint, and gender. Empty Vague Hint becomes null, one line becomes string, and multiple lines become a list.": "hintTable セクションです。項目には vague_hint、clear_hint、gender が含まれます。Vague Hint は空なら null、1行なら文字列、複数行ならリストになります。",
+ "Boss/reward goal table section. Entries contain vague and clear names. #...# is shown as ... in the editor.": "ボス/報酬ゴールテーブルです。項目には vague と clear が含まれます。#...# はエディタ上では ... と表示されます。",
+ "Patch text section. Placeholder tokens such as {color} are written for patch-time replacement. Control codes are shown as markup in the editor and as JSON escapes in the raw preview.": "PATCH_TEXTS セクションです。{color} などのプレースホルダーはパッチ時置換用です。制御コードはエディタではマークアップ、RawプレビューではJSONエスケープで表示されます。",
+ "Shop text section. Keep placeholder tokens and control characters exactly unless you intend to change game text behavior.": "SHOP_TEXTS セクションです。ゲーム内テキスト挙動を変える意図がない限り、プレースホルダーと制御文字を維持してください。",
+ "Character width overrides. Keys may be visible characters, symbolic names, hex byte strings, or table slots.": "文字幅上書きセクションです。キーには表示文字、シンボル名、16進バイト文字列、テーブルスロットを指定できます。",
+ "General property section. Keep the existing JSON shape unless the loading code requires a different schema.": "一般プロパティセクションです。読み込み側コードが別のスキーマを要求している場合を除き、既存のJSON形状を維持してください。",
+ "Language metadata section. This is exported as-is unless you edit the JSON directly.": "言語メタデータセクションです。JSONを直接編集しない限り、そのまま出力されます。",
+ "Dungeon list section. The editor exposes name, gender, and has_map; has_map is stored as a boolean.": "dungeon_list セクションです。エディタでは name、gender、has_map を編集します。has_map は真偽値として保存されます。",
+ "Mapping section. Each entry is a fixed string-to-string replacement.": "マッピングセクションです。各項目は固定の文字列から文字列への置換です。",
+ "View": "表示",
+ "Quit": "終了",
+ "Reload": "再読み込み",
+ "Toggle Developer Tools": "開発者ツール切替",
+ "Modified ROM": "変更後ROM",
+ "Select ROMs": "ROMを選択",
+ "Output folder": "出力フォルダ",
+ "Select output": "出力先を選択",
+ "Segment start": "セグメント開始位置",
+ "Segment size": "セグメントサイズ",
+ "Segment filename": "セグメントファイル名",
+ "Select original ROM": "元ROMを選択",
+ "Select modified ROM": "変更後ROMを選択",
+ "Select output folder": "出力フォルダを選択",
+ "Generated {count} patch files.": "{count}件のパッチファイルを生成しました。",
+ "Patch generation failed: {message}": "パッチ生成に失敗しました: {message}",
+ "Exported raw segment: {path}": "生セグメントを出力しました: {path}",
+ "Segment export failed: {message}": "セグメント出力に失敗しました: {message}",
+ "No patch generated.": "まだパッチは生成されていません。",
+ "Select ROM": "ROMを選択",
+ "Select folder": "フォルダを選択",
+ "Raw preview": "Rawプレビュー",
+ "Section JSON": "セクションJSON",
+ "Section JSON editor": "セクションJSONエディタ",
+ "Applied section JSON": "セクションJSONを適用しました",
+ "Add entry": "エントリー追加",
+ "Copy entry": "エントリーコピー",
+ "Paste entry": "エントリー貼り付け",
+ "Entry editor type": "エントリー表示タイプ",
+ "Auto": "自動",
+ "String dictionary": "文字列辞書",
+ "Friendly value": "編集用表示",
+ "Editor type: {type}": "エディタ種別: {type}",
+ "Added entry.": "エントリーを追加しました。",
+ "Deleted entry.": "エントリーを削除しました。",
+ "Copied entry to clipboard.": "エントリーをクリップボードにコピーしました。",
+ "Pasted entry.": "エントリーを貼り付けました。",
+ "Cannot add entry to this section.": "このセクションにはエントリーを追加できません。",
+ "Cannot delete this entry.": "このエントリーは削除できません。",
+ "No copied entry to paste.": "貼り付けるコピー済みエントリーがありません。",
+ "Dictionary line must use key => value: {line}": "辞書行は key => value の形式にしてください: {line}",
+ "wide_text_english_metrics": "wide_text_english_metrics",
+ "align_text": "align_text",
+ "base": "base",
+ "display_name": "display_name",
+ "description": "description",
+ "en": "en",
+ "jp": "jp",
+ "true": "true",
+ "false": "false",
+ "Value": "値",
+ "CHAR_WIDTHS table": "CHAR_WIDTHSテーブル",
+ "Cut": "切り取り",
+ "Check both Blue Fire segments": "Blue Fire 2項目をチェック",
+ "Export checked raw segments": "チェックしたRaw segmentを書き出し",
+ "Blue Fire Arrow item name EN": "青炎の矢アイテム名 EN",
+ "ROM and output folder are required.": "ROMと出力フォルダが必要です。",
+ "Exported {count} raw segments.": "Raw segmentを{count}件書き出しました。",
+ "Blue Fire Arrow item name JP": "青炎の矢アイテム名 JP",
+ "Uncheck Blue Fire segments": "Blue Fire項目のチェック解除",
+ "No raw segment presets are selected.": "Raw segmentプリセットが選択されていません。",
+ "Export manual raw segment": "手動Raw segmentを書き出し",
+ "Manual segment size": "手動segmentサイズ",
+ "Ctrl/Cmd+1-4 tabs · Ctrl/Cmd+Enter apply · Ctrl/Cmd+S export · Ctrl/Cmd+Shift+C/V entry copy/paste · Ctrl/Cmd+Alt+R export Blue Fire": "Ctrl/Cmd+1-4 タブ切替 · Ctrl/Cmd+Enter 適用 · Ctrl/Cmd+S 出力 · Ctrl/Cmd+Shift+C/V エントリーコピー/貼り付け · Ctrl/Cmd+Alt+R Blue Fire出力",
+ "Manual segment start": "手動segment開始位置",
+ "Blue Fire raw segment presets": "青炎Raw segmentプリセット",
+ "Select All": "すべて選択",
+ "Manual segment filename": "手動segmentファイル名",
+ "Diff patch uses XOR over bin_patch ranges, then zlib compression.": "差分パッチはbin_patchの範囲に対してXOR差分を取り、zlib圧縮して生成します。",
+ "Created new property data from built-in defaults": "内蔵デフォルトから新しいプロパティデータを作成しました",
+ "New from built-in defaults": "内蔵デフォルトから新規作成",
+ "Ready - default template loaded": "準備完了 - デフォルトテンプレートを読み込みました",
+ "Built-in defaults": "内蔵デフォルト",
+ "Save entry": "エントリーを保存",
+ "Saved entry.": "エントリーを保存しました。",
+ "Save entry failed: {message}": "エントリー保存に失敗しました: {message}",
+ "Duplicate entry": "エントリー複製",
+ "Duplicated entry.": "エントリーを複製しました。",
+ "Cannot duplicate this entry.": "このエントリーは複製できません。",
+ "Entry ID": "エントリーID",
+ "Apply ID": "IDを適用",
+ "Entry ID updated.": "エントリーIDを更新しました。",
+ "This entry has no editable ID.": "このエントリーには編集可能なIDがありません。",
+ "ID update failed: {message}": "ID更新に失敗しました: {message}",
+ "New entry ID": "新しいエントリーID",
+ "Move up": "上へ移動",
+ "Move down": "下へ移動",
+ "Sort by ID": "ID順に並べ替え",
+ "Validate": "検証",
+ "Next ID": "次のID",
+ "Validate entry": "エントリー検証",
+ "Find": "検索",
+ "Replace": "置換",
+ "Find next": "次を検索",
+ "Replace all": "全て置換",
+ "Unsaved entry draft": "未保存のエントリー編集",
+ "The current entry has unsaved editor changes. Save it before continuing?": "現在のエントリーに未保存の編集があります。続行前に保存しますか?",
+ "Discard the unsaved entry draft and continue?": "未保存のエントリー編集を破棄して続行しますか?",
+ "The current property has unsaved changes. Continue?": "現在のpropertyに未保存の変更があります。続行しますか?",
+ "ID {id} already exists. Use it anyway?": "ID {id} は既に存在します。それでも使用しますか?",
+ "Invalid ID: {message}": "無効なIDです: {message}",
+ "Duplicate ID": "ID重複",
+ "Duplicate ID detected: {id}": "ID重複を検出しました: {id}",
+ "ID must be a non-negative integer.": "IDは0以上の整数である必要があります。",
+ "box_type must be between 0x00 and 0xFF.": "box_type は 0x00 から 0xFF の範囲にしてください。",
+ "Replacement table entries must be source => replacement string pairs.": "置換表エントリーは source => replacement の文字列ペアにしてください。",
+ "CHAR_WIDTHS must be a dictionary.": "CHAR_WIDTHS は辞書形式である必要があります。",
+ "Entry validation passed.": "エントリー検証に成功しました。",
+ "Entry validation failed: {message}": "エントリー検証に失敗しました: {message}",
+ "Property validation passed.": "property全体の検証に成功しました。",
+ "Property validation found {count} issue(s).": "property検証で {count} 件の問題を検出しました。",
+ "Export build failed: {message}": "出力データ作成に失敗しました: {message}",
+ "This section cannot be reordered.": "このセクションは並び替えできません。",
+ "Moved entry.": "エントリーを移動しました。",
+ "This section has no sortable IDs.": "このセクションには並び替え可能なIDがありません。",
+ "Sorted entries by ID.": "エントリーをID順に並べ替えました。",
+ "Text not found.": "テキストが見つかりません。",
+ "Replaced {count} occurrence(s).": "{count} 件を置換しました。",
+ "Move entry up": "エントリーを上へ移動",
+ "Move entry down": "エントリーを下へ移動",
+ "Sort entries by ID": "エントリーをID順に並べ替え",
+ "Validate property": "propertyを検証",
+ "replace_table": "replace_table",
+ "Replacement entry": "置換エントリー",
+ "source => replacement": "置換元 => 置換先",
+ "replace_table entries must be {from:string, to:string}.": "replace_tableの各項目は {from:string, to:string} である必要があります。",
+ "replace_table source must not be empty.": "replace_tableの置換元は空にできません。",
+ "replace_table has empty, duplicate, or invalid entries.": "replace_tableに空、重複、または不正な項目があります。",
+ "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to} and edited as source => replacement.": "プレースホルダー解決後に適用される文字置換リストです。制御コードを保護したまま処理します。各項目は {from, to} として保存され、source => replacement 形式で編集します。",
+ "No entry selected.": "No entry selected.",
+ "This section does not support entry paste or duplication.": "This section does not support entry paste or duplication.",
+ "ID already exists. A new ID is required.": "ID already exists. A new ID is required.",
+ "Current entry": "Current entry",
+ "Current section": "Current section",
+ "All text sections": "All text sections",
+ "Find text": "検索文字",
+ "Replacement text": "置換後の文字",
+ "Protect control codes": "コントロールコードを保護",
+ "Apply bulk replace": "Apply bulk replace",
+ "Find text is empty.": "Find text is empty.",
+ "{count} replacement(s).": "{count} replacement(s).",
+ "This section is skipped by bulk replace.": "This section is skipped by bulk replace.",
+ "{count} entry(ies) selected.": "{count} entry(ies) selected.",
+ "{count} selected": "{count} selected",
+ "Copied {count} entry(ies) to clipboard.": "Copied {count} entry(ies) to clipboard.",
+ "Pasted {count} entry(ies).": "Pasted {count} entry(ies).",
+ "Duplicated {count} entry(ies).": "Duplicated {count} entry(ies).",
+ "Delete {count} selected entry(ies)?": "Delete {count} selected entry(ies)?",
+ "Deleted {count} entry(ies).": "Deleted {count} entry(ies).",
+ "Moved {count} entry(ies).": "Moved {count} entry(ies).",
+ "First new entry ID": "First new entry ID",
+ "Invalid ID.": "Invalid ID.",
+ "Replace text in all entries...": "すべてのエントリー内の文字を置換...",
+ "Find text for all entries": "全エントリーで検索する文字",
+ "Replacement text for all entries": "全エントリーで置換後の文字",
+ "Replace {count} occurrence(s) in all entries?": "全エントリー内の {count} 件を置換しますか?",
+ "Replaced {count} occurrence(s) in all entries.": "全エントリー内の {count} 件を置換しました。",
+ "No matching text was found.": "一致する文字は見つかりませんでした。",
+ "Replace text in all entries": "すべてのエントリー内の文字を置換",
+ "Target": "対象",
+ "All editable entries": "編集可能なすべてのエントリー",
+ "Control code arguments will not be changed.": "コントロールコードの引数は変更されません。",
+ "Cancel": "キャンセル",
+ "Undo": "元に戻す",
+ "Redo": "やり直す",
+ "Entry is valid.": "エントリーは有効です。",
+ "Validate failed: {message}": "検証に失敗しました: {message}",
+ "Replace list": "置換リスト",
+ "Save changes before closing?": "閉じる前に変更を保存しますか?",
+ "The property has unsaved changes. Save before closing?": "propertyに未保存の変更があります。閉じる前に保存しますか?",
+ "Don't Save": "保存せず終了",
+ "Save and close": "保存して終了",
+ "Choose Save to write the current property, Don't Save to exit without writing, or Cancel to keep editing.": "「保存して終了」で現在のpropertyを書き出します。「保存せず終了」で書き出さず終了します。「キャンセル」で編集を続けます。",
+ "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to}, edited as source => replacement, and may use Shift-JIS byte tokens such as 0x819F.": "プレースホルダー解決後に、テキスト制御コードを保護したまま適用される文字置換リストです。各項目は {from, to} として保存され、source => replacement 形式で編集します。0x819F のような Shift-JIS バイト値も使用できます。",
+ "invalid Shift-JIS code": "無効なShift-JISコード",
+ "Invalid Shift-JIS code in source: {value}": "置換元に無効なShift-JISコードがあります: {value}",
+ "Invalid Shift-JIS code in replacement: {value}": "置換先に無効なShift-JISコードがあります: {value}",
+ "replace_table has empty, duplicate, control-code, or invalid entries.": "replace_tableに空、重複、制御コード、または不正な項目があります。",
+ "Invalid Shift-JIS code in {label}: {value}": "{label} のShift-JISコードが不正です: {value}",
+ "Control codes are not allowed in replace_table {label}.": "replace_table の {label} に制御コードは使用できません。",
+ "Duplicate replace_table source: {value}": "replace_tableの置換元が重複しています: {value}",
+ "Saved {count} replace_table entry/entries.": "replace_tableエントリーを {count} 件保存しました。",
+ "Replacement table entry": "置換テーブルエントリー",
+ "Replace table": "置換テーブル",
+ "Language properties": "言語プロパティ",
+ "Language base": "言語ベース",
+ "Display name": "表示名",
+ "Text alignment": "テキスト配置",
+ "Use English-like wide text metrics": "英語風のワイドテキストメトリクスを使用",
+ "Apply language properties": "言語プロパティを適用",
+ "Reset language properties": "言語プロパティをリセット",
+ "Language properties updated.": "言語プロパティを更新しました。",
+ "Language property update failed: {message}": "言語プロパティの更新に失敗しました: {message}",
+ "Language properties reset.": "言語プロパティをリセットしました。",
+ "[from] ... [to] ...": "[from] ... [to] ...",
+ "Language base changed. Text control codes were converted.": "Language baseを変更し、テキストのコントロールコードを変換しました。",
+ "Language base conversion failed: {message}": "Language baseの変換に失敗しました: {message}"
+ },
+ "es": {
+ "": "",
+ "\n\nWarnings:\n": "\n\nWarnings:\n",
+ "\n# Add a gender under [gender] or a rule under [prefix]\nnew_rule/no_gender = \n": "\n# Add a gender under [gender] or a rule under [prefix]\nnew_rule/no_gender = \n",
+ "\n- new item\n": "\n- new item\n",
+ "\n- new_search_text\n": "\n- new_search_text\n",
+ "\nFormat : ": "\nFormato : ",
+ "\nFormat: ": "\nFormato: ",
+ "\nFormato: ": "\nFormato: ",
+ "\nJapanese stand-in conversion:\n": "\nJapanese stand-in conversion:\n",
+ "\nnew_key => \"new value\"\n": "\nnew_key => \"new value\"\n",
+ "\nsource text => replacement text\n": "\nsource text => replacement text\n",
+ "\nФормат: ": "\nФормат: ",
+ "\nフォーマット: ": "\nフォーマット: ",
+ " #XX -> color XX\n": " #XX -> color XX\n",
+ " & -> line break\n": " & -> line break\n",
+ " ... \n": " ... \n",
+ " \n": " \n",
+ " \n": " \n",
+ " \n": " \n",
+ " \n": " \n",
+ " or \n\n": " or \n\n",
+ " ★XX -> icon XX\n": " ★XX -> icon XX\n",
+ " ♭XXXX -> sound XXXX\n": " ♭XXXX -> sound XXXX\n",
+ " - 0x": " - 0x",
+ " checked diff patches to ": " checked diff patches to ",
+ " duplicate entries.": " duplicate entries.",
+ " has duplicate id ": " has duplicate id ",
+ " item": " item",
+ " metadata fields.": " metadata fields.",
+ " missing PLAIN_TEXTS entries. Updated ": " missing PLAIN_TEXTS entries. Updated ",
+ " more": " more",
+ " must be a list.": " must be a lista.",
+ " pair": " pair",
+ " patch files:\\n": " parche files:\\n",
+ " patch ranges from ": " parche ranges from ",
+ "# Add/delete lines directly. Empty prefix keys are written as .": "# Add/delete lines directamente. Empty prefix keys are written as .",
+ "# Dictionary editor. One key per line: key => JSON value or text": "# Editor de diccionario. Una clave por línea: key => valor JSON o texto",
+ "# One conversion per line: source => replacement": "# Una conversión por línea: source => replacement",
+ "# One list entry per line. Strings can use control-code markup; objects can be JSON.": "# Una entrada de lista por línea. Las cadenas pueden usar marcado de códigos de control; los objetos pueden ser JSON.",
+ "# One list item per line. Use '- value' or plain lines.": "# Un elemento de lista por línea. Use '- value' o líneas normales.",
+ "# One mapping per line: left => right": "# Un mapeo por línea: left => right",
+ "# One replacement per line: from => to": "# Un reemplazo por línea: from => to",
+ "# Prefix editor. Sections: [gender], [case], [prefix].": "# Editor de prefijos. Secciones: [gender], [case], [prefix].",
+ "# Tipo": "# Tipo",
+ "# Typ": "# Typ",
+ "# Type": "# Tipo",
+ "# Type: ": "# Tipo: ",
+ "# Type: boolean": "# Tipo: booleano",
+ "# Type: dict": "# Tipo: diccionario",
+ "# Type: dict. String values are shown with control-code markup instead of \\u0001 escapes.": "# Tipo: dict. Los valores de cadena se muestran con marcado de códigos de control en lugar de escapes \\u0001.",
+ "# Type: dictionary": "# Tipo: diccionario",
+ "# Type: integer": "# Tipo: entero",
+ "# Type: list": "# Tipo: lista",
+ "# Type: list. One item per line; strings use control-code markup instead of \\u0001 escapes.": "# Tipo: list. Un elemento por línea; las cadenas usan marcado de códigos de control en lugar de escapes \\u0001.",
+ "# Type: mixed values": "# Tipo: valores mixtos",
+ "# Type: null": "# Tipo: null",
+ "# Type: number": "# Tipo: número",
+ "# Type: str\n": "# Tipo: cadena",
+ "# Type: string": "# Tipo: cadena",
+ "# Тип": "# Тип",
+ "# 型": "# 型",
+ "(new file)": "(new file)",
+ "*.py *.json": "*.py *.json",
+ "*.z64 *.n64 *.v64": "*.z64 *.n64 *.v64",
+ ". Format: ": ". Formato: ",
+ ". Save as property.json when ready.": ". Guardar as propiedad.json when ready.",
+ "/": "/",
+ "02X": "02X",
+ "04X": "04X",
+ ": not found or not safely evaluable in ": ": not found or not safely evaluable in ",
+ ": skipped safe evaluation (": ": skipped safe evaluation (",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "A ttk frame whose contents stay reachable when the window is small.": "A ttk frame whose contents stay reachable when the window is small.",
+ "About": "Acerca de",
+ "Add": "Añadir",
+ "Add line / pair": "Añadir línea/par",
+ "Added ": "Añadido: ",
+ "Added item to ": "Elemento añadido a ",
+ "Align": "Alineación",
+ "All": "All",
+ "All UI strings are translated through language_editor_ui.json. English is registered explicitly as key = value.": "Todas las cadenas de la interfaz se traducen mediante language_editor_ui.json. El inglés también está registrado explícitamente como key = value.",
+ "All files": "Todos los archivos",
+ "Append end code on apply": "Añadir código final al aplicar",
+ "Applied ": "Aplicado: ",
+ "Applied JSON to ": "JSON aplicado a ",
+ "Applied language property": "Propiedad de idioma aplicada",
+ "Applied section item": "Elemento de sección aplicado",
+ "Applied whole section editor to ": "Editor de sección completo aplicado a ",
+ "Apply": "Aplicar",
+ "Apply JSON to section": "Aplicar JSON a la sección",
+ "Apply entry": "Aplicar entrada",
+ "Apply failed": "Error al aplicar",
+ "Apply language property": "Aplicar propiedad de idioma",
+ "Apply pair": "Aplicar par",
+ "Apply section JSON": "Aplicar JSON de sección",
+ "Apply section editor": "Aplicar editor de sección",
+ "Apply section editor failed": "Error al aplicar el editor de sección",
+ "Article/prefix rules used by hint and item text generation. Keep the nested gender/case structure consistent with the target language.": "Article/prefix rules used by hint and item text generation. Keep the nested gender/case structure consistent with the target idioma.",
+ "As": "As",
+ "Auto-generated TEMP. property is last applied data; draft_text_editor may contain unapplied right-side edits.": "Auto-generated TEMP. propiedad is last applied data; draft_text_editor may contain unapplied right-side edits.",
+ "Auto-saved TEMP ": "Auto-saved TEMP ",
+ "BOSS_GOAL_TABLE": "BOSS_GOAL_TABLE",
+ "Base": "Base",
+ "Binary patch": "Binary parche",
+ "Boolean": "Booleano",
+ "Boss goal hint labels. Keep boss keys stable; translate clear/vague display strings.": "Boss goal hint labels. Keep boss keys stable; translate clear/vague display strings.",
+ "Box": "Box",
+ "Browse": "Examinar",
+ "CHAR_WIDTHS": "CHAR_WIDTHS",
+ "CHAR_WIDTHS entry needs a character/code key.": "CHAR_WIDTHS entrada needs a character/code key.",
+ "Center": "Center",
+ "Character / Code": "Character / Code",
+ "Character width overrides. Keys may be visible characters, symbolic names such as [C-Up], message bytes such as 0x9F, index:N table slots, or JP hex codepoints such as 0x824F. Values may be integers or variant dictionaries.": "Sobrescrituras de ancho de caracteres. Las claves pueden ser caracteres visibles, nombres simbólicos como [C-Up], bytes de mensaje como 0x9F, ranuras de tabla index:N o puntos de código hexadecimales japoneses como 0x824F. Los valores pueden ser enteros o diccionarios por variante.",
+ "Character width table": "Tabla de ancho de caracteres",
+ "Check all": "Marcar todo",
+ "Checked diff failed": "Error en diferencias seleccionadas",
+ "Checked entries are exported in one run. Edit each filename field to avoid overwriting old cached/downloaded files.": "Checked entries are exported in one run. Edit each filename field to avoid overwriting old cached/downloaded files.",
+ "Choose an export filename or path.": "Elige un nombre de archivo o ruta de exportación.",
+ "Clear": "Limpiar",
+ "Clear Name": "Clear Name",
+ "Clear all": "Clear all",
+ "Color preview:": "Color preview:",
+ "Common examples:\n": "Ejemplos comunes:\n",
+ "Completed property.json files can be loaded directly.": "Los archivos property.json completados se pueden cargar directamente.",
+ "Control code help": "Ayuda de códigos de control",
+ "Control-code tools": "Control-code tools",
+ "Copied selected section item": "Elemento de sección seleccionado copiado",
+ "Copy": "Copiar",
+ "Could not find ~/data/bin_patch.json. Place bin_patch.json there or load another JSON file.": "No se encontró ~/data/bin_patch.json. Coloca bin_patch.json allí o carga otro archivo JSON.",
+ "Ctrl+Y": "Ctrl+Y",
+ "Ctrl+Z": "Ctrl+Z",
+ "Deduplicate": "Eliminar duplicados",
+ "Deduplicate current message IDs": "Deduplicate current message IDs",
+ "Delete": "Eliminar",
+ "Delete dictionary key '": "Delete diccionario key '",
+ "Delete entry": "Eliminar entrada",
+ "Delete key": "Delete key",
+ "Delete the selected list item?": "Delete the selected lista item?",
+ "Description": "Descripción",
+ "Deutsch": "Deutsch",
+ "Dictionary": "Diccionario",
+ "Dictionary / mapping": "Diccionario / mapa",
+ "Dictionary editor": "Editor de diccionario",
+ "Dictionary pair editor": "Editor de pares de diccionario",
+ "Dictionary section: select a key on the left, edit the key in the metadata field, and edit the value as JSON or plain text.": "Sección de diccionario. Selecciona una clave a la izquierda, edita la clave en el campo de metadatos y edita el valor como JSON o texto normal.",
+ "Dictionary専用エディタ: key => JSON value/text 形式で編集します。複雑な値はRaw JSONも使用できます。": "Diccionario専用エディタ: key => JSON value/text 形式で編集します。複雑な値はRaw JSONも使用できます。",
+ "Diff complete": "Diferencia completada",
+ "Diff failed": "Error al crear diferencia",
+ "Diff patch maker: bin_patch checklist + individual export filenames": "Diff patch maker: bin_patch checklist + individual export filenames",
+ "Display": "Nombre visible",
+ "Display paths with ~/ instead of a user-specific absolute home path.": "Display paths with ~/ instead of a user-specific absolute home path.",
+ "Dual-hint templates. Preserve placeholders and nested structure.": "Dual-hint templates. Preserve placeholders and nested structure.",
+ "Dungeon": "Dungeon",
+ "Dungeon display names and grammatical gender. Values are used by generated hints and item messages.": "Dungeon display names and grammatical gender. Values are used by generated hints and item messages.",
+ "Dungeon entry controls": "Dungeon entry controls",
+ "Dungeon table editor": "Editor de tabla de mazmorras",
+ "Dungeon table. Edit name, gender, and has_map. has_map can also be changed with the checkbox on the right.": "Tabla de mazmorras. Edita name, gender y has_map. has_map también puede cambiarse con la casilla de la derecha.",
+ "Dungeon専用: name/gender/has_mapを編集します。has_mapは右側チェックボックスでも変更できます。": "Dungeon専用: name/gender/has_mapを編集します。has_mapは右側チェックボックスでも変更できます。",
+ "Duplicate": "Duplicar",
+ "ERROR: ": "ERROR: ",
+ "Edit": "Editar",
+ "Edit box_type": "Edit box_type",
+ "Edited ROM": "ROM editada",
+ "Empty list": "Lista vacía",
+ "Encode a mapping/list-pair side. JSON quotes preserve leading/trailing spaces.": "Encode a mapping/lista-pair side. JSON quotes preserve leading/trailing spaces.",
+ "End": "End",
+ "English": "English",
+ "Ensure the loaded property has all known top-level sections.": "Ensure the loaded propiedad has all known top-level sections.",
+ "Entry list": "Lista de entradas",
+ "Entry note": "Nota de entrada",
+ "Español": "Español",
+ "Exit": "Salir",
+ "Expand PLAIN_TEXTS from source...": "Expandir PLAIN_TEXTS desde la fuente...",
+ "Expand user-facing local paths such as ~/data without exposing OS usernames.": "Expand user-facing local paths such as ~/data without exposing OS usernames.",
+ "Expansion failed": "Error de expansión",
+ "Export complete": "Exportación completada",
+ "Export filename": "Nombre de archivo de exportación",
+ "Export filename is empty.": "El nombre de archivo de exportación está vacío.",
+ "Export filename/path": "Nombre/ruta de exportación",
+ "Export key": "Clave de exportación",
+ "Export property.json...": "Exportar property.json...",
+ "Export raw segment": "Exportar segmento bruto",
+ "Export selected patches": "Exportar parches seleccionados",
+ "Exported property.json.": "property.json exportado.",
+ "Extra game text for non-English/non-Japanese language builds. Format: {id: int, text: str, box_type: int}. Use the expansion tool to add missing IDs/box types from an older source while keeping translations blank.": "Extra game text for non-English/non-Japanese idioma builds. Formato: {id: int, text: str, box_type: int}. Usar the expansion tool to add missing IDs/box types from an older source while keeping translations blank.",
+ "File": "Archivo",
+ "For prefix/search/mapping/dictionary sections, the large Text editor edits the whole selected section. Message sections still edit one selected entry.": "For prefix/search/mapping/dictionary sections, the large Text editor edits the whole selected section. Message sections still edit one selected entry.",
+ "Format": "Formato",
+ "Format JSON": "Formatear JSON",
+ "Format: ": "Formato: ",
+ "Format: boolean": "Formato: booleano",
+ "Format: dictionary": "Formato: diccionario",
+ "Format: integer": "Formato: entero",
+ "Format: list": "Formato: lista",
+ "Format: mixed values": "Formato: valores mixtos",
+ "Format: null": "Formato: nulo",
+ "Format: number": "Formato: número",
+ "Format: string": "Formato: cadena",
+ "Formato": "Formato",
+ "Français": "Français",
+ "From": "From",
+ "From / Key": "Desde / Clave",
+ "From / To mapping": "Mapa From / To",
+ "From / To string mapping. Use it to replace player-facing phrases, for example when converting text to use the player name.": "Mapa de cadenas From / To. Úsalo para reemplazar frases dirigidas al jugador, por ejemplo al convertir texto para usar el nombre del jugador.",
+ "From / To string mapping. Use it to replace verbs, for example obtained => got.": "Mapa de cadenas From / To. Úsalo para reemplazar verbos, por ejemplo obtained => got.",
+ "From / To 固定のstr:str置換表です。obtained => got のように動詞を置換します。": "De / A 固定のstr:str置換表です。obtained => got のように動詞を置換します。",
+ "From / To 固定のstr:str置換表です。プレイヤー名化など、左の語句を右へ変換します。": "De / A 固定のstr:str置換表です。プレイヤー名化など、左の語句を右へ変換します。",
+ "Full inserted code list:\n": "Full inserted code lista:\n",
+ "Full-sentence UI translation mode is active.": "El modo de traducción por frases completas está activo.",
+ "Gender": "Gender",
+ "General hint text templates. Preserve randomizer placeholders and control-code intent.": "General hint text templates. Preserve randomizer placeholders and control-code intent.",
+ "General property section": "Sección general de propiedades",
+ "General property section. Keep the existing JSON shape unless you know the consumer code expects a different schema.": "Sección general de propiedades. Mantén la forma JSON existente salvo que sepas que el código consumidor espera otro esquema.",
+ "Generate checked diff patches": "Generar parches seleccionados",
+ "Generate single diff patch": "Generate single diff patch",
+ "Goal name table editor": "Editor de tabla de nombres de objetivo",
+ "Goal name table. Edit Vague Name and Clear Name. #...# is a hint color marker and is restored when saving.": "Tabla de nombres de objetivo. Edita Vague Name y Clear Name. #...# es un marcador de color de pista y se restaura al guardar.",
+ "Goal name専用: vague / clear を Vague Name / Clear Name として編集します。#...# は色指定です。": "Goal name専用: vague / clear を Vague Name / Clear Name として編集します。#...# は色指定です。",
+ "Has Map": "Has Map",
+ "Has Map (has_map)": "Has Map (has_map)",
+ "Help": "Ayuda",
+ "Hint Key": "Hint Key",
+ "Hint area display names, prepositions, short names, and grammatical gender. Keep keys and prep fields intact.": "Hint area display names, prepositions, short names, and grammatical gender. Keep keys and prep fields intact.",
+ "Hint table editor": "Editor de tabla de pistas",
+ "Hint table editor. Edit Vague Hint, Clear Hint, and Gender. Vague Hint is saved as None when empty, as a string when it has one line, and as a list of strings when it has multiple lines. #...# is shown as ... while editing.": "Editor de tabla de pistas. Edita Vague Hint, Clear Hint y Gender. Vague Hint se guarda como None si está vacío, como cadena si tiene una línea y como lista de cadenas si tiene varias líneas. #...# se muestra como ... durante la edición.",
+ "Hint table entries. Keep tuple/list shape intact: usually hint aliases, item text, and gender.": "Hint table entries. Keep tuple/lista shape intact: usually hint aliases, item text, and gender.",
+ "Hint text table. Language syntax such as [prefix...] and placeholders such as {item} are preserved.": "Tabla de textos de pistas. Se conservan la sintaxis Language como [prefix...] y marcadores como {item}.",
+ "Hint text専用: Language構文 [prefix...] と placeholder {item} をそのまま扱います。": "Hint text専用: Idioma構文 [prefix...] と placeholder {item} をそのまま扱います。",
+ "Hint専用: vague_hint / clear_hint / gender を編集します。vague_hintは空=None、1件=str、複数=list[str]として保存します。#...# は編集時 ... として表示します。": "Hint専用: vague_hint / clear_hint / gender を編集します。vague_hintは空=None、1件=str、複数=lista[str]として保存します。#...# は編集時 ... として表示します。",
+ "ID": "ID",
+ "ID / index": "ID / índice",
+ "IMPORTANT_ITEM_MESSAGES": "IMPORTANT_ITEM_MESSAGES",
+ "ITEM_MESSAGES": "ITEM_MESSAGES",
+ "Import complete": "Importar complete",
+ "Import failed": "Importar failed",
+ "Imported ": "Importado: ",
+ "Imported literal sections from ": "Secciones literales importadas desde ",
+ "Insert code": "Insert code",
+ "Integer": "Entero",
+ "Invalid diff range. End must be larger than start.": "Invalid diff range. End must be larger than start.",
+ "Invalid segment range. Size must be greater than zero.": "Invalid segment range. Size must be greater than zero.",
+ "Item get messages. Format: {id: int, text: str}. Control codes such as , , line breaks, and box breaks are allowed.": "Mensajes de obtención de objetos. Formato: {id: int, text: str}. Se permiten códigos de control como , , saltos de línea y cortes de caja.",
+ "JSON": "JSON",
+ "JSON parse failed": "Error al analizar JSON",
+ "Japanese stand-in conversion:\n": "Conversión abreviada japonesa:\n",
+ "Key": "Key",
+ "Key / As mapping": "Mapa Key / As",
+ "Key / As mapping with fixed string keys and string values.": "Mapa Key / As con claves de texto y valores de texto fijos.",
+ "Key / As pair list": "Lista de pares Key / As",
+ "Key / As replacement pairs. After Language.format runs, the left value is replaced with the right value.": "Pares de reemplazo Key / As. Después de ejecutar Language.format, el valor izquierdo se reemplaza por el derecho.",
+ "Key / As 固定の str:str 辞書です。": "Clave / Como 固定の str:str 辞書です。",
+ "Key / As 固定の置換ペアです。Language.format後に左から右へ置換されます。": "Clave / Como 固定の置換ペアです。Idioma.format後に左から右へ置換されます。",
+ "Keyed text item": "Elemento de texto con clave",
+ "Language": "Idioma",
+ "Language changed.": "Idioma de la interfaz cambiado.",
+ "Language metadata. base is normally 'en' or 'jp'; align_text should stay Left/Center/Right. wide_text_english_metrics is for JP/wide text using English-like spacing.": "Metadatos del idioma. base normalmente es en o jp. align_text debe mantenerse como Left, Center o Right. wide_text_english_metrics se usa para texto japonés o ancho con espaciado similar al inglés.",
+ "Language property": "Propiedades del idioma",
+ "Language syntax can reference this data with paths such as [prefix.definite.nominative.masculine]. Add or remove gender, case, and prefix layers to match the target language.": "La sintaxis Language puede referirse a estos datos con rutas como [prefix.definite.nominative.masculine]. Añade o elimina capas de género, caso y prefijo para adaptarlas al idioma destino.",
+ "Language構文では [prefix.definite.nominative.masculine] のように参照できます。German版のように gender/case/prefix 階層を増減できます。": "Idioma構文では [prefix.definite.nominative.masculine] のように参照できます。German版のように gender/case/prefix 階層を増減できます。",
+ "Left": "Left",
+ "Line breaks can be typed as real newlines. A visible ▼ line is treated as a box break.\n\n": "Los saltos de línea pueden escribirse como líneas reales. Una línea ▼ visible se trata como un corte de caja.\n\n",
+ "List": "Lista",
+ "List editor": "Editor de lista",
+ "List item / Section item": "List item / Section item",
+ "List of arrays / tuples": "Lista de arreglos / tuplas",
+ "List of dictionaries": "Lista de diccionarios",
+ "List of strings": "Lista de cadenas",
+ "List section: selected items are edited as JSON or plain text. Use Raw section JSON for large nested edits.": "Sección de lista. Los elementos seleccionados se editan como JSON o texto normal. Usa Raw section JSON para ediciones anidadas grandes.",
+ "List専用エディタ: 1行1項目で編集します。辞書や配列はJSONとして書けます。": "Lista専用エディタ: 1行1項目で編集します。辞書や配列はJSONとして書けます。",
+ "List専用エディタ: 右側Text editorで1行1項目として追加・削除します。ID/Box/Text Keyメタ欄は使いません。": "Lista専用エディタ: 右側Editor de textoで1行1項目として追加・削除します。ID/Box/Text Claveメタ欄は使いません。",
+ "Load": "Cargar",
+ "Load TEMP failed": "Cargar TEMP failed",
+ "Load TEMP property...": "Cargar property TEMP...",
+ "Load completed property.json...": "Cargar property.json completo...",
+ "Load default ~/data/bin_patch.json": "Cargar ~/data/bin_patch.json predeterminado",
+ "Load failed": "Error de carga",
+ "Load property.json...": "Cargar property.json...",
+ "Load section JSON": "Cargar JSON de sección",
+ "Loaded": "Cargado",
+ "Loaded ": "Cargado: ",
+ "Loaded TEMP ": "Cargado TEMP ",
+ "Loaded property.json.": "property.json cargado.",
+ "Local export folder": "Carpeta local de exportación",
+ "Local export folder: ": "Local export folder: ",
+ "Local export folder: {path}": "Carpeta local de exportación: {path}",
+ "Local layout: ~/data/lang/ootr_language_editor_gui.py": "Local layout: ~/data/lang/ootr_language_editor_gui.py",
+ "MISC_MESSAGES": "MISC_MESSAGES",
+ "Mapping専用エディタ: source => replacement 形式で左から右への変換を編集します。": "Mapping専用エディタ: source => replacement 形式で左から右への変換を編集します。",
+ "Markup → Raw preview": "Markup → Raw vista previa",
+ "Message editor": "Editor de mensajes",
+ "Message entries": "Entradas de mensaje",
+ "Message entries with box_type": "Entradas de mensaje con box_type",
+ "Message list: id + box_type + text": "Lista de mensajes: id + box_type + text",
+ "Message list: id + text": "Lista de mensajes: id + text",
+ "Message section: entries use id + box_type + text. id/box_type are metadata and text uses OOTR control codes.": "Sección de mensajes. Las entradas usan id + box_type + text. id y box_type son metadatos, y text usa códigos de control de OOTR.",
+ "Message section: entries use id + text. id is metadata and text uses OOTR control codes.": "Sección de mensajes. Las entradas usan id + text. id es metadato, y text usa códigos de control de OOTR.",
+ "Message専用エディタ: 左側で項目を選択し、本文を編集します。ID/box_typeは必要時のみ表示します。": "Mensaje専用エディタ: 左側で項目を選択し、本文を編集します。ID/box_typeは必要時のみ表示します。",
+ "Misc dual hint table. Preserve item_1 and item_2 placeholders while editing.": "Tabla de pistas dobles varias. Conserva los marcadores item_1 e item_2 durante la edición.",
+ "Misc dual hint専用: item_1/item_2系placeholderを保持したまま編集します。": "Misc dual hint専用: item_1/item_2系placeholderを保持したまま編集します。",
+ "Misc hint table editor": "Editor de tabla de pistas varias",
+ "Misc hint専用: 固定キー内の location_text/default_item_text などを項目別に編集します。短縮コントロールコードと#色指定を表示変換します。": "Misc hint専用: 固定キー内の location_text/default_item_text などを項目別に編集します。短縮コントロールコードと#色指定を表示変換します。",
+ "Misc item hint table. Edit fixed fields such as location_text and default_item_text. Short control-code notation and #...# color markers are converted for display.": "Tabla de pistas de objetos varios. Edita campos fijos como location_text y default_item_text. La notación corta de códigos de control y los marcadores de color #...# se convierten para mostrarse.",
+ "Misc location hint table. Edit fixed fields such as location_text and location_fallback.": "Tabla de pistas de ubicaciones varias. Edita campos fijos como location_text y location_fallback.",
+ "Misc location hint専用: 固定キー内の location_text/location_fallbackなどを編集します。": "Misc location hint専用: 固定キー内の location_text/location_fallbackなどを編集します。",
+ "Miscellaneous in-game text. Format: {id: int, text: str, box_type: int}. ID and box_type are metadata; edit them only when intentionally changing the table entry.": "Texto misceláneo del juego. Formato: {id: int, text: str, box_type: int}. ID y box_type son metadatos; edítalos solo si quieres cambiar la entrada de la tabla.",
+ "Missing UI translation key": "Missing UI translation key",
+ "Mixed list": "Lista mixta",
+ "Mode": "Modo",
+ "Mode : ": "Modo : ",
+ "Mode: ": "Modo: ",
+ "Mode: From / To mapping. Format: boolean.": "Modo: mapeo From / To\nFormato: booleano",
+ "Mode: From / To mapping. Format: dictionary.": "Modo: mapeo From / To\nFormato: diccionario",
+ "Mode: From / To mapping. Format: integer.": "Modo: mapeo From / To\nFormato: entero",
+ "Mode: From / To mapping. Format: list.": "Modo: mapeo From / To\nFormato: lista",
+ "Mode: From / To mapping. Format: mixed values.": "Modo: mapeo From / To\nFormato: valores mixtos",
+ "Mode: From / To mapping. Format: null.": "Modo: mapeo From / To\nFormato: nulo",
+ "Mode: From / To mapping. Format: number.": "Modo: mapeo From / To\nFormato: número",
+ "Mode: From / To mapping. Format: string.": "Modo: mapeo From / To\nFormato: cadena",
+ "Mode: Key / As mapping. Format: boolean.": "Modo: mapeo Key / As\nFormato: booleano",
+ "Mode: Key / As mapping. Format: dictionary.": "Modo: mapeo Key / As\nFormato: diccionario",
+ "Mode: Key / As mapping. Format: integer.": "Modo: mapeo Key / As\nFormato: entero",
+ "Mode: Key / As mapping. Format: list.": "Modo: mapeo Key / As\nFormato: lista",
+ "Mode: Key / As mapping. Format: mixed values.": "Modo: mapeo Key / As\nFormato: valores mixtos",
+ "Mode: Key / As mapping. Format: null.": "Modo: mapeo Key / As\nFormato: nulo",
+ "Mode: Key / As mapping. Format: number.": "Modo: mapeo Key / As\nFormato: número",
+ "Mode: Key / As mapping. Format: string.": "Modo: mapeo Key / As\nFormato: cadena",
+ "Mode: Key / As pair list. Format: boolean.": "Modo: lista de pares Key / As\nFormato: booleano",
+ "Mode: Key / As pair list. Format: dictionary.": "Modo: lista de pares Key / As\nFormato: diccionario",
+ "Mode: Key / As pair list. Format: integer.": "Modo: lista de pares Key / As\nFormato: entero",
+ "Mode: Key / As pair list. Format: list.": "Modo: lista de pares Key / As\nFormato: lista",
+ "Mode: Key / As pair list. Format: mixed values.": "Modo: lista de pares Key / As\nFormato: valores mixtos",
+ "Mode: Key / As pair list. Format: null.": "Modo: lista de pares Key / As\nFormato: nulo",
+ "Mode: Key / As pair list. Format: number.": "Modo: lista de pares Key / As\nFormato: número",
+ "Mode: Key / As pair list. Format: string.": "Modo: lista de pares Key / As\nFormato: cadena",
+ "Mode: character-width table. Format: boolean.": "Modo: tabla de anchura de caracteres\nFormato: booleano",
+ "Mode: character-width table. Format: dictionary.": "Modo: tabla de anchura de caracteres\nFormato: diccionario",
+ "Mode: character-width table. Format: integer.": "Modo: tabla de anchura de caracteres\nFormato: entero",
+ "Mode: character-width table. Format: list.": "Modo: tabla de anchura de caracteres\nFormato: lista",
+ "Mode: character-width table. Format: mixed values.": "Modo: tabla de anchura de caracteres\nFormato: valores mixtos",
+ "Mode: character-width table. Format: null.": "Modo: tabla de anchura de caracteres\nFormato: nulo",
+ "Mode: character-width table. Format: number.": "Modo: tabla de anchura de caracteres\nFormato: número",
+ "Mode: character-width table. Format: string.": "Modo: tabla de anchura de caracteres\nFormato: cadena",
+ "Mode: dictionary pairs. Format: boolean.": "Modo: pares de diccionario\nFormato: booleano",
+ "Mode: dictionary pairs. Format: dictionary.": "Modo: pares de diccionario\nFormato: diccionario",
+ "Mode: dictionary pairs. Format: integer.": "Modo: pares de diccionario\nFormato: entero",
+ "Mode: dictionary pairs. Format: list.": "Modo: pares de diccionario\nFormato: lista",
+ "Mode: dictionary pairs. Format: mixed values.": "Modo: pares de diccionario\nFormato: valores mixtos",
+ "Mode: dictionary pairs. Format: null.": "Modo: pares de diccionario\nFormato: nulo",
+ "Mode: dictionary pairs. Format: number.": "Modo: pares de diccionario\nFormato: número",
+ "Mode: dictionary pairs. Format: string.": "Modo: pares de diccionario\nFormato: cadena",
+ "Mode: dictionary. Format: boolean.": "Modo: diccionario\nFormato: booleano",
+ "Mode: dictionary. Format: dictionary.": "Modo: diccionario\nFormato: diccionario",
+ "Mode: dictionary. Format: integer.": "Modo: diccionario\nFormato: entero",
+ "Mode: dictionary. Format: list.": "Modo: diccionario\nFormato: lista",
+ "Mode: dictionary. Format: mixed values.": "Modo: diccionario\nFormato: valores mixtos",
+ "Mode: dictionary. Format: null.": "Modo: diccionario\nFormato: nulo",
+ "Mode: dictionary. Format: number.": "Modo: diccionario\nFormato: número",
+ "Mode: dictionary. Format: string.": "Modo: diccionario\nFormato: cadena",
+ "Mode: dungeon table. Format: boolean.": "Modo: tabla de mazmorras\nFormato: booleano",
+ "Mode: dungeon table. Format: dictionary.": "Modo: tabla de mazmorras\nFormato: diccionario",
+ "Mode: dungeon table. Format: integer.": "Modo: tabla de mazmorras\nFormato: entero",
+ "Mode: dungeon table. Format: list.": "Modo: tabla de mazmorras\nFormato: lista",
+ "Mode: dungeon table. Format: mixed values.": "Modo: tabla de mazmorras\nFormato: valores mixtos",
+ "Mode: dungeon table. Format: null.": "Modo: tabla de mazmorras\nFormato: nulo",
+ "Mode: dungeon table. Format: number.": "Modo: tabla de mazmorras\nFormato: número",
+ "Mode: dungeon table. Format: string.": "Modo: tabla de mazmorras\nFormato: cadena",
+ "Mode: goal-name table. Format: boolean.": "Modo: tabla de nombres de objetivo\nFormato: booleano",
+ "Mode: goal-name table. Format: dictionary.": "Modo: tabla de nombres de objetivo\nFormato: diccionario",
+ "Mode: goal-name table. Format: integer.": "Modo: tabla de nombres de objetivo\nFormato: entero",
+ "Mode: goal-name table. Format: list.": "Modo: tabla de nombres de objetivo\nFormato: lista",
+ "Mode: goal-name table. Format: mixed values.": "Modo: tabla de nombres de objetivo\nFormato: valores mixtos",
+ "Mode: goal-name table. Format: null.": "Modo: tabla de nombres de objetivo\nFormato: nulo",
+ "Mode: goal-name table. Format: number.": "Modo: tabla de nombres de objetivo\nFormato: número",
+ "Mode: goal-name table. Format: string.": "Modo: tabla de nombres de objetivo\nFormato: cadena",
+ "Mode: hint table. Format: boolean.": "Modo: tabla de pistas\nFormato: booleano",
+ "Mode: hint table. Format: dictionary.": "Modo: tabla de pistas\nFormato: diccionario",
+ "Mode: hint table. Format: integer.": "Modo: tabla de pistas\nFormato: entero",
+ "Mode: hint table. Format: list.": "Modo: tabla de pistas\nFormato: lista",
+ "Mode: hint table. Format: mixed values.": "Modo: tabla de pistas\nFormato: valores mixtos",
+ "Mode: hint table. Format: null.": "Modo: tabla de pistas\nFormato: nulo",
+ "Mode: hint table. Format: number.": "Modo: tabla de pistas\nFormato: número",
+ "Mode: hint table. Format: string.": "Modo: tabla de pistas\nFormato: cadena",
+ "Mode: keyed text item. Format: boolean.": "Modo: keyed text item\nFormato: booleano",
+ "Mode: keyed text item. Format: dictionary.": "Modo: keyed text item\nFormato: diccionario",
+ "Mode: keyed text item. Format: integer.": "Modo: keyed text item\nFormato: entero",
+ "Mode: keyed text item. Format: list.": "Modo: keyed text item\nFormato: lista",
+ "Mode: keyed text item. Format: mixed values.": "Modo: keyed text item\nFormato: valores mixtos",
+ "Mode: keyed text item. Format: null.": "Modo: keyed text item\nFormato: nulo",
+ "Mode: keyed text item. Format: number.": "Modo: keyed text item\nFormato: número",
+ "Mode: keyed text item. Format: string.": "Modo: keyed text item\nFormato: cadena",
+ "Mode: list. Format: boolean.": "Modo: lista\nFormato: booleano",
+ "Mode: list. Format: dictionary.": "Modo: lista\nFormato: diccionario",
+ "Mode: list. Format: integer.": "Modo: lista\nFormato: entero",
+ "Mode: list. Format: list.": "Modo: lista\nFormato: lista",
+ "Mode: list. Format: mixed values.": "Modo: lista\nFormato: valores mixtos",
+ "Mode: list. Format: null.": "Modo: lista\nFormato: nulo",
+ "Mode: list. Format: number.": "Modo: lista\nFormato: número",
+ "Mode: list. Format: string.": "Modo: lista\nFormato: cadena",
+ "Mode: message: id + box_type + text. Format: boolean.": "Modo: mensaje: id + box_type + text\nFormato: booleano",
+ "Mode: message: id + box_type + text. Format: dictionary.": "Modo: mensaje: id + box_type + text\nFormato: diccionario",
+ "Mode: message: id + box_type + text. Format: integer.": "Modo: mensaje: id + box_type + text\nFormato: entero",
+ "Mode: message: id + box_type + text. Format: list.": "Modo: mensaje: id + box_type + text\nFormato: lista",
+ "Mode: message: id + box_type + text. Format: mixed values.": "Modo: mensaje: id + box_type + text\nFormato: valores mixtos",
+ "Mode: message: id + box_type + text. Format: null.": "Modo: mensaje: id + box_type + text\nFormato: nulo",
+ "Mode: message: id + box_type + text. Format: number.": "Modo: mensaje: id + box_type + text\nFormato: número",
+ "Mode: message: id + box_type + text. Format: string.": "Modo: mensaje: id + box_type + text\nFormato: cadena",
+ "Mode: message: id + text. Format: boolean.": "Modo: mensaje: id + text\nFormato: booleano",
+ "Mode: message: id + text. Format: dictionary.": "Modo: mensaje: id + text\nFormato: diccionario",
+ "Mode: message: id + text. Format: integer.": "Modo: mensaje: id + text\nFormato: entero",
+ "Mode: message: id + text. Format: list.": "Modo: mensaje: id + text\nFormato: lista",
+ "Mode: message: id + text. Format: mixed values.": "Modo: mensaje: id + text\nFormato: valores mixtos",
+ "Mode: message: id + text. Format: null.": "Modo: mensaje: id + text\nFormato: nulo",
+ "Mode: message: id + text. Format: number.": "Modo: mensaje: id + text\nFormato: número",
+ "Mode: message: id + text. Format: string.": "Modo: mensaje: id + text\nFormato: cadena",
+ "Mode: misc hint table. Format: boolean.": "Modo: tabla de pistas varias\nFormato: booleano",
+ "Mode: misc hint table. Format: dictionary.": "Modo: tabla de pistas varias\nFormato: diccionario",
+ "Mode: misc hint table. Format: integer.": "Modo: tabla de pistas varias\nFormato: entero",
+ "Mode: misc hint table. Format: list.": "Modo: tabla de pistas varias\nFormato: lista",
+ "Mode: misc hint table. Format: mixed values.": "Modo: tabla de pistas varias\nFormato: valores mixtos",
+ "Mode: misc hint table. Format: null.": "Modo: tabla de pistas varias\nFormato: nulo",
+ "Mode: misc hint table. Format: number.": "Modo: tabla de pistas varias\nFormato: número",
+ "Mode: misc hint table. Format: string.": "Modo: tabla de pistas varias\nFormato: cadena",
+ "Mode: scalar. Format: boolean.": "Modo: escalar\nFormato: booleano",
+ "Mode: scalar. Format: dictionary.": "Modo: escalar\nFormato: diccionario",
+ "Mode: scalar. Format: integer.": "Modo: escalar\nFormato: entero",
+ "Mode: scalar. Format: list.": "Modo: escalar\nFormato: lista",
+ "Mode: scalar. Format: mixed values.": "Modo: escalar\nFormato: valores mixtos",
+ "Mode: scalar. Format: null.": "Modo: escalar\nFormato: nulo",
+ "Mode: scalar. Format: number.": "Modo: escalar\nFormato: número",
+ "Mode: scalar. Format: string.": "Modo: escalar\nFormato: cadena",
+ "Mode: string list. Format: boolean.": "Modo: lista de cadenas\nFormato: booleano",
+ "Mode: string list. Format: dictionary.": "Modo: lista de cadenas\nFormato: diccionario",
+ "Mode: string list. Format: integer.": "Modo: lista de cadenas\nFormato: entero",
+ "Mode: string list. Format: list.": "Modo: lista de cadenas\nFormato: lista",
+ "Mode: string list. Format: mixed values.": "Modo: lista de cadenas\nFormato: valores mixtos",
+ "Mode: string list. Format: null.": "Modo: lista de cadenas\nFormato: nulo",
+ "Mode: string list. Format: number.": "Modo: lista de cadenas\nFormato: número",
+ "Mode: string list. Format: string.": "Modo: lista de cadenas\nFormato: cadena",
+ "Mode: {mode}\nFormat: {format}\n{note}": "Modo: {mode}\nFormato: {format}\n{note}",
+ "Modified": "Modified",
+ "Modo": "Modo",
+ "Modo: ": "Modo: ",
+ "Modus": "Modus",
+ "Modus: ": "Modus: ",
+ "Mouse-wheel scrolling is enabled for scrollable panels.": "Mouse-wheel scrolling is enabled for scrollable panels.",
+ "Multiplayer pronoun replacement map. Preserve the outgoing-item filename/player control code when adapting grammar.": "Multiplayer pronoun replacement map. Preserve the outgoing-item filename/player control code when adapting grammar.",
+ "Name / Gender": "Name / Gender",
+ "New Dungeon": "New Dungeon",
+ "New Goal": "New Goal",
+ "New Hint": "New Hint",
+ "New Language": "New Idioma",
+ "No bin_patch entries are checked.": "No bin_patch entries are checked.",
+ "No bin_patch entries loaded. Expected local file: ~/data/bin_patch.json": "No se cargaron entradas bin_patch. Archivo local esperado: ~/data/bin_patch.json",
+ "No copied item.": "No copied item.",
+ "No obvious problems found.": "No obvious problems found.",
+ "No selected row.": "No hay fila seleccionada.",
+ "No word-by-word replacement is used.": "No se usa reemplazo palabra por palabra.",
+ "None": "None",
+ "Normalize sections whose historical type differs between language builds.": "Normalize sections whose historical tipo differs between idioma builds.",
+ "Nothing to redo": "Nothing to redo",
+ "Nothing to undo": "Nothing to undo",
+ "Null": "Nulo",
+ "Number": "Número",
+ "OOTR Language Editor GUI": "OOTR Idioma Editor GUI",
+ "OOTR Language Editor GUI TEMP": "OOTR Idioma Editor GUI TEMP",
+ "Original ROM": "ROM original",
+ "PATCH_TEXTS": "PATCH_TEXTS",
+ "PLAIN_TEXTS": "PLAIN_TEXTS",
+ "PLAIN_TEXTS expanded": "PLAIN_TEXTS expanded",
+ "Pair / mapping editor": "Editor de pares/mapeos",
+ "Parse editor text as JSON when possible; otherwise preserve it as a plain string.": "Parse editor text as JSON when possible; otherwise preserve it as a plain cadena.",
+ "Paste": "Pegar",
+ "Patch maker": "Generador de parches",
+ "Patch text table. Placeholders such as {color} and {destination_name} are patch values. A control code followed by a placeholder, such as \\x05{color}, is displayed as {color} while editing.": "Tabla de texto de parches. Los marcadores como {color} y {destination_name} son valores de parche. Un código de control seguido de un marcador, como \\x05{color}, se muestra como {color} durante la edición.",
+ "Patch text専用: {color}, {destination_name} などはパッチ用placeholderです。\\x05{color} は {color} と表示します。": "Parche text専用: {color}, {destination_name} などはパッチ用placeholderです。\\x05{color} は {color} と表示します。",
+ "Per-language character width overrides. Keys can be visible characters, symbolic names such as [C-Up], message bytes like 0x9F, or index:N table slots.": "Per-idioma character width overrides. Keys can be visible characters, symbolic names such as [C-Up], mensaje bytes like 0x9F, or index:N table slots.",
+ "Post-processing replacement table. Format: [[from, to]]. Use for language-wide spelling or symbol replacements.": "Post-processing replacement table. Formato: [[from, to]]. Usar for idioma-wide spelling or symbol replacements.",
+ "Prefix rule editor": "Editor de reglas de prefijo",
+ "Prefix専用エディタ: [gender]と[case]は追加型リスト、[prefix]は path = value 形式です。German版のような格/case階層も追加・削除できます。": "Prefix専用エディタ: [gender]と[case]は追加型リスト、[prefix]は path = value 形式です。German版のような格/case階層も追加・削除できます。",
+ "Preview": "Vista previa",
+ "Preview error": "Error de vista previa",
+ "Property file": "Archivo property",
+ "Python": "Python",
+ "Python or JSON": "Python or JSON",
+ "REWARD_GOAL_TABLE": "REWARD_GOAL_TABLE",
+ "ROM": "ROM",
+ "Range": "Range",
+ "Raw preview shows the JSON-write form.": "La vista raw muestra la forma escrita en JSON.",
+ "Raw section JSON": "JSON raw de sección",
+ "Raw segment export: source ROM → file": "Raw segment export: source ROM → file",
+ "Raw string preview": "Vista previa de cadena raw",
+ "Raw table preview": "Vista previa de tabla raw",
+ "Raw text / table preview": "Vista previa raw de texto / tabla",
+ "Raw text preview": "Vista previa de texto raw",
+ "Raw → Markup": "Raw → Markup",
+ "Readable control-code markup\n": "Readable control-code markup\n",
+ "Ready": "Listo",
+ "Ready - default bin_patch not loaded: ": "Listo - default bin_patch not loaded: ",
+ "Ready - default template: ": "Listo - default template: ",
+ "Ready - section-specific editors enabled; TEMP: ": "Listo - sección-specific editors enabled; TEMP: ",
+ "Redo data edit": "Rehacer edición de datos",
+ "Refresh checklist": "Refresh checklist",
+ "Refresh colors": "Refresh colors",
+ "Region names used as extra names in shop text and hints.": "Region names used as extra names in shop text and hints.",
+ "Reload current section": "Recargar la sección actual",
+ "Reload section editor": "Recargar editor de sección",
+ "Removed ": "Removed ",
+ "Replacement list専用エディタ: source => replacement 形式で配列ペアを編集します。": "Replacement lista専用エディタ: source => replacement 形式で配列ペアを編集します。",
+ "Return a user-facing schema name for the selected top-level section.": "Return a user-facing schema name for the selected top-level sección.",
+ "Reward goal hint labels. Keep reward keys stable; translate clear/vague display strings.": "Reward goal hint labels. Keep reward keys stable; translate clear/vague display strings.",
+ "Right": "Right",
+ "SHOP_TEXTS": "SHOP_TEXTS",
+ "Save": "Guardar",
+ "Save As...": "Guardar como...",
+ "Save current changes before continuing?": "Guardar current changes before continuing?",
+ "Save failed": "Error al guardar",
+ "Save policy": "Save policy",
+ "Saved": "Guardado",
+ "Saved ": "Guardado: ",
+ "Saving always exports the complete property.json. No section picker is used, because the OOTR language property must keep every required section.": "Guardar siempre exporta un property.json completo. No se usa selector de secciones porque la propiedad de idioma de OOTR debe conservar todas las secciones requeridas.",
+ "Scalar section: edit the whole value from Raw section JSON.": "Sección de valor escalar. Edita el valor completo desde Raw section JSON.",
+ "Scalar value editor": "Editor de valor escalar",
+ "Search": "Buscar",
+ "Search text used with pronoun/player replacement logic. In the English template this is 'you'.": "Buscar text used with pronoun/player replacement logic. In the English template this is 'you'.",
+ "Section note": "Nota de sección",
+ "Section-specific editor tools": "Herramientas por sección",
+ "Sections": "Secciones",
+ "Segment export failed": "Segment export failed",
+ "Select UI language": "Seleccionar idioma de la interfaz",
+ "Select a list item or dictionary key first, or use Raw section JSON for scalar sections.": "Select a lista item or diccionario key first, or use JSON raw de sección for escalar sections.",
+ "Select a list item or dictionary key first.": "Select a lista item or diccionario key first.",
+ "Select a list row or dictionary row, or delete directly in the right-side section editor.": "Select a lista row or diccionario row, or delete directamente in the right-side sección editor.",
+ "Select all": "Select all",
+ "Select an item first.": "Select an item first.",
+ "Selected entry / section item": "Entrada seleccionada / elemento de sección",
+ "Set local export folder...": "Definir carpeta local...",
+ "Shop description and purchase text. Preserve placeholders such as {base_name}, {price}, {extra_name}, and {player_id}.": "Shop description and purchase text. Preserve placeholders such as {base_name}, {price}, {extra_name}, and {player_id}.",
+ "Shop text table. Placeholders such as {price}, {item}, and {player_id} are highlighted. Dictionary and list values are edited one item at a time.": "Tabla de textos de tienda. Se resaltan marcadores como {price}, {item} y {player_id}. Los valores de diccionario y lista se editan elemento por elemento.",
+ "Shop text専用: {price}, {item}, {player_id} などのplaceholderをハイライトします。辞書/リスト値はJSONとして項目別編集できます。": "Shop text専用: {price}, {item}, {player_id} などのplaceholderをハイライトします。辞書/リスト値はJSONとして項目別編集できます。",
+ "Show/edit metadata fields (ID / box_type)": "Show/edit metadata fields (ID / box_type)",
+ "Single/manual patch export": "Single/manual patch export",
+ "Size": "Tamaño",
+ "Sort": "Ordenar",
+ "Sort message section by ID": "Sort message section by ID",
+ "Source PLAIN_TEXTS is not a list.": "Source PLAIN_TEXTS is not a lista.",
+ "Source ROM": "ROM fuente",
+ "Special fallback/custom item hint templates. Preserve placeholders such as {area} and {item}.": "Special fallback/custom item hint templates. Preserve placeholders such as {area} and {item}.",
+ "Special fallback/custom location hint templates. Preserve placeholders and dictionary structure.": "Special fallback/custom location hint templates. Preserve placeholders and diccionario structure.",
+ "Start": "Inicio",
+ "String": "Cadena",
+ "String list editor": "Editor de lista de cadenas",
+ "TEMP": "TEMP",
+ "TEMP JSON": "TEMP JSON",
+ "TEMP save failed": "TEMP save failed",
+ "Text": "Texto",
+ "Text / Key": "Text / Key",
+ "Text Key": "Clave de texto",
+ "Text editor": "Editor de texto",
+ "Text editor: type control codes directly. Color ranges are painted live: red text. Also supports , , , line breaks, and ▼.": "Editor de texto. Puedes escribir códigos de control directamente. Los rangos de color se pintan en vivo, por ejemplo texto rojo. También admite , , , saltos de línea y ▼.",
+ "Texts consumed by patch logic. Preserve placeholders such as {destination_name}, {item}, {price}, {color}, and player fields.": "Texts consumed by parche logic. Preserve placeholders such as {destination_name}, {item}, {price}, {color}, and player fields.",
+ "The 'property' object is the last applied data. 'draft_text_editor' may contain unapplied right-side edits.": "The 'propiedad' object is the last applied data. 'draft_text_editor' may contain unapplied right-side edits.",
+ "The editor switches by section shape: message entries, list items, dictionary keys, and nested JSON values are handled differently.": "El editor cambia según la forma de la sección: las entradas de mensaje, los elementos de lista, las claves de diccionario y los valores JSON anidados se manejan de forma diferente.",
+ "The final property.json can be exported directly.": "The final propiedad.json can be exported directamente.",
+ "The interface language was updated without changing the current property data.": "The interface idioma was updated without changing the current propiedad data.",
+ "The selected JSON root must be an object/dictionary.": "The selected JSON root must be an object/diccionario.",
+ "The selected range is outside one of the ROM files.": "The selected range is outside one of the ROM files.",
+ "The selected section is not a list.": "The selected sección is not a lista.",
+ "The selected segment is outside the ROM file.": "The selected segment is outside the ROM file.",
+ "The text editor stores name/gender/has_map. This checkbox mirrors has_map for easier editing.": "El editor de texto contiene name/gender/has_map. Esta casilla refleja has_map para facilitar la edición.",
+ "This editor applies the entire currently selected top-level section. It is the fallback editor for every schema: dictionaries, lists, nested tables, strings, numbers, and mixed values.": "Este editor aplica toda la sección superior seleccionada. Es el editor de respaldo para cualquier esquema: diccionarios, listas, tablas anidadas, cadenas, números y valores mixtos.",
+ "This section is a scalar value. Use Raw section JSON to change it.": "This sección is a escalar value. Usar JSON raw de sección to change it.",
+ "This section is a scalar value. Use Raw section JSON to change its shape first.": "This sección is a escalar value. Usar JSON raw de sección to change its shape first.",
+ "To": "To",
+ "To / As": "A / Como",
+ "To / Value": "To / Value",
+ "Tools": "Herramientas",
+ "Trial name replacements for Ganon's Castle trial text.": "Trial name replacements for Ganon's Castle trial text.",
+ "Type": "Tipo",
+ "Type / Fields": "Type / Fields",
+ "UI Language": "Idioma de la interfaz",
+ "UI text is loaded from language_editor_ui.json.": "UI text is loaded from language_editor_ui.json.",
+ "UI text is translated only by full exact sentence keys.": "El texto de la interfaz se traduce solo mediante claves de frase exactas.",
+ "Uncheck all": "Desmarcar todo",
+ "Undo data edit": "Deshacer edición de datos",
+ "Unsaved changes": "Cambios sin guardar",
+ "Use": "Use",
+ "Use Raw section JSON for this scalar section.": "Usa Raw section JSON para esta sección escalar.",
+ "Use key range": "Use key range",
+ "Vague / Clear": "Vague / Clear",
+ "Vague Name": "Vague Name",
+ "Validate current property": "Validate current property",
+ "Validation": "Validación",
+ "Verb normalization map used with multiplayer/player text replacement.": "Verb normalization map used with multiplayer/player text replacement.",
+ "WM_DELETE_WINDOW": "WM_DELETE_WINDOW",
+ "Wide English metrics": "Métricas inglesas anchas",
+ "Width": "Width",
+ "Wrap long UI-only prose without changing JSON data or user-entered strings.": "Wrap long UI-only prose without changing JSON data or user-entered strings.",
+ "Write TEMP now": "Escribir TEMP ahora",
+ "Wrote ": "Wrote ",
+ "Wrote TEMP ": "Wrote TEMP ",
+ "Wrote diff patch: ": "Wrote diff parche: ",
+ "Wrote segment: ": "Wrote segment: ",
+ "X": "X",
+ "[C Down]": "[C Down]",
+ "[C Left]": "[C Left]",
+ "[C Right]": "[C Right]",
+ "[C Up]": "[C Up]",
+ "[C-Down]": "[C-Down]",
+ "[C-Left]": "[C-Left]",
+ "[C-Right]": "[C-Right]",
+ "[C-Up]": "[C-Up]",
+ "[Control Stick]": "[Control Stick]",
+ "[L]": "[L]",
+ "[R]": "[R]",
+ "[Triangle]": "[Triangle]",
+ "[Z]": "[Z]",
+ "[field:": "[field:",
+ "\\n...and ": "\\n...and ",
+ "] box_type is not an integer.": "] box_type is not an entero.",
+ "] has no integer id.": "] has no entero id.",
+ "] has no string text.": "] has no cadena text.",
+ "] is not a dictionary.": "] is not a diccionario.",
+ "_ORIG_V47_REFRESH_ALL": "_ORIG_V47_REFRESH_ALL",
+ "_S": "_S",
+ "_V46_CURRENT_APP": "_V46_CURRENT_APP",
+ "_V47_MODE_LABELS": "_V47_MODE_LABELS",
+ "_V47_SCHEMA_LABELS": "_V47_SCHEMA_LABELS",
+ "allow instant text": "allow instant text",
+ "bin_patch entries / editable output filenames": "bin_patch entries / editable output filenames",
+ "bin_patch key": "bin_patch key",
+ "bin_patch load failed": "bin_patch load failed",
+ "bin_patch loaded": "bin_patch loaded",
+ "bin_patch.json": "bin_patch.json",
+ "bin_patch.json not found": "bin_patch.json not found",
+ "boolean": "booleano",
+ "box_type": "box_type",
+ "box_type:": "box_type:",
+ "case: ": "case: ",
+ "character-width table": "character-width table",
+ "current time": "current time",
+ "delay each character by": "delay each character by",
+ "dictionary": "diccionario",
+ "dictionary / mapping": "diccionario / mapping",
+ "dictionary pairs": "diccionario pairs",
+ "disallow instant text": "disallow instant text",
+ "dungeon table": "dungeon table",
+ "empty list": "empty lista",
+ "fade after": "fade after",
+ "fish weight": "fish weight",
+ "function calls are not allowed": "function calls are not allowed",
+ "gender = ": "gender = ",
+ "gender: ": "gender: ",
+ "goal-name table": "goal-name table",
+ "has_map = ": "has_map = ",
+ "hint table": "tabla de pistas",
+ "idx::": "idx::",
+ "integer": "entero",
+ "keep open": "keep open",
+ "key count": "key count",
+ "key::": "key::",
+ "keyed text item": "keyed text item",
+ "lang_property must be a dictionary.": "lang_property must be a diccionario.",
+ "lang_property.align_text should be Left, Center, or Right.": "lang_property.align_text should be Left, Center, or Right.",
+ "lang_property.base should be 'en' or 'jp'.": "lang_property.base should be 'en' or 'jp'.",
+ "language_editor_ui.json was loaded.": "language_editor_ui.json se cargó.",
+ "list": "lista",
+ "list of arrays / tuples": "lista of arrays / tuples",
+ "list of dictionaries": "lista of dictionaries",
+ "list of strings": "lista of strings",
+ "marathon time": "marathon time",
+ "message list: id + box_type + text": "mensaje lista: id + box_type + text",
+ "message list: id + text": "mensaje lista: id + text",
+ "message: id + box_type + text": "mensaje: id + box_type + text",
+ "message: id + text": "mensaje: id + text",
+ "misc hint table": "misc tabla de pistas",
+ "mixed list": "mixed lista",
+ "name = ": "name = ",
+ "new item": "new item",
+ "null": "nulo",
+ "number": "número",
+ "play SFX": "play SFX",
+ "prefix::": "prefix::",
+ "prefix::case": "prefix::case",
+ "prefix::gender": "prefix::gender",
+ "race time": "race time",
+ "set background to": "set background to",
+ "silver rupee count": "silver rupee count",
+ "skulltula count": "skulltula count",
+ "start three choice": "start three choice",
+ "start two choice": "start two choice",
+ "string": "cadena",
+ "string list": "cadena lista",
+ "text is unskippable": "text is unskippable",
+ "unsupported attribute: ": "unsupported attribute: ",
+ "unsupported expression node: ": "unsupported expression node: ",
+ "~/data": "~/data",
+ "~/data/lang": "~/data/lang",
+ "Å": "Å",
+ "Режим": "Режим",
+ "Режим: ": "Режим: ",
+ "Русский": "Русский",
+ "Формат": "Формат",
+ "モード: ": "モード: ",
+ "文字幅指定です。キーは文字そのもの、[C-Up] 等の名前、0x9F、index:143、JPでは0x824Fなどの文字コードを使えます。値は整数または variant別の辞書です。": "文字幅指定です。キーは文字そのもの、[C-Up] 等の名前、0x9F、index:143、JPでは0x824Fなどの文字コードを使えます。値は整数または variant別の辞書です。",
+ "OOTR Language Editor Developer Tool": "Herramienta de desarrollo del editor de idioma de OOTR",
+ "Load default template": "Cargar plantilla predeterminada",
+ "Merge missing defaults": "Fusionar valores predeterminados faltantes",
+ "Apply editor": "Aplicar editor",
+ "Apply editor JSON": "Aplicar JSON del editor",
+ "Add list line": "Añadir línea de lista",
+ "Remove last list line": "Eliminar la última línea de lista",
+ "Entries": "Entradas",
+ "Selected section": "Sección seleccionada",
+ "Selected entry": "Entrada seleccionada",
+ "Raw JSON preview": "Vista previa JSON sin procesar",
+ "Raw write-form JSON preview": "Vista previa JSON en formato de escritura",
+ "Search sections": "Buscar secciones",
+ "Search entries": "Buscar entradas",
+ "Mode: {mode}": "Modo: {mode}",
+ "Format: {format}": "Formato: {format}",
+ "Default template loaded.": "Plantilla predeterminada cargada.",
+ "Missing default entries merged.": "Se fusionaron las entradas predeterminadas faltantes.",
+ "Loaded property.json and merged missing defaults.": "property.json cargado y valores predeterminados faltantes fusionados.",
+ "Exported complete property.json": "property.json completo exportado",
+ "No property.json loaded": "No se ha cargado property.json",
+ "File: {path}": "Archivo: {path}",
+ "TEMP saved: {path}": "TEMP guardado: {path}",
+ "TEMP save failed: {message}": "Error al guardar TEMP: {message}",
+ "Load failed: {message}": "Error al cargar: {message}",
+ "Export failed: {message}": "Error al exportar: {message}",
+ "Apply failed: {message}": "Error al aplicar: {message}",
+ "Applied editor value": "Valor del editor aplicado",
+ "Entry editor": "Editor de entrada",
+ "Section editor": "Editor de sección",
+ "Message entry": "Entrada de mensaje",
+ "Hint table entry": "Entrada de tabla de pistas",
+ "Goal name entry": "Entrada de nombre de objetivo",
+ "Patch/shop/hint text entry": "Entrada de texto patch/tienda/pista",
+ "Mapping entry": "Entrada de asignación",
+ "Dungeon entry": "Entrada de mazmorra",
+ "Prefix rule section": "Sección de reglas de prefijo",
+ "Dictionary entry": "Entrada de diccionario",
+ "List entry": "Entrada de lista",
+ "Scalar entry": "Entrada escalar",
+ "friendly text": "texto editable",
+ "list text": "texto de lista",
+ "field text": "texto de campos",
+ "Prefix section for Language-style text such as [prefix.definite.nominative.masculine]. Keep gender, case, and nested prefix rules intact.": "Prefix section for Language-style text such as [prefix.definite.nominative.masculine]. Keep gender, case, and nested prefix rules intact.",
+ "Hint table section. Entries contain vague_hint, clear_hint, and gender. Empty Vague Hint becomes null, one line becomes string, and multiple lines become a list.": "Hint table section. Entries contain vague_hint, clear_hint, and gender. Empty Vague Hint becomes null, one line becomes string, and multiple lines become a list.",
+ "Boss/reward goal table section. Entries contain vague and clear names. #...# is shown as ... in the editor.": "Boss/reward goal table section. Entries contain vague and clear names. #...# is shown as ... in the editor.",
+ "Patch text section. Placeholder tokens such as {color} are written for patch-time replacement. Control codes are shown as markup in the editor and as JSON escapes in the raw preview.": "Patch text section. Placeholder tokens such as {color} are written for patch-time replacement. Control codes are shown as markup in the editor and as JSON escapes in the raw preview.",
+ "Shop text section. Keep placeholder tokens and control characters exactly unless you intend to change game text behavior.": "Shop text section. Keep placeholder tokens and control characters exactly unless you intend to change game text behavior.",
+ "Character width overrides. Keys may be visible characters, symbolic names, hex byte strings, or table slots.": "Character width overrides. Keys may be visible characters, symbolic names, hex byte strings, or table slots.",
+ "General property section. Keep the existing JSON shape unless the loading code requires a different schema.": "General property section. Keep the existing JSON shape unless the loading code requires a different schema.",
+ "Language metadata section. This is exported as-is unless you edit the JSON directly.": "Language metadata section. This is exported as-is unless you edit the JSON directly.",
+ "Dungeon list section. The editor exposes name, gender, and has_map; has_map is stored as a boolean.": "Dungeon list section. The editor exposes name, gender, and has_map; has_map is stored as a boolean.",
+ "Mapping section. Each entry is a fixed string-to-string replacement.": "Mapping section. Each entry is a fixed string-to-string replacement.",
+ "View": "Vista",
+ "Quit": "Salir",
+ "Reload": "Recargar",
+ "Toggle Developer Tools": "Alternar herramientas de desarrollo",
+ "Modified ROM": "ROM modificada",
+ "Select ROMs": "Seleccionar ROMs",
+ "Output folder": "Carpeta de salida",
+ "Select output": "Seleccionar salida",
+ "Segment start": "Inicio del segmento",
+ "Segment size": "Tamaño del segmento",
+ "Segment filename": "Nombre del segmento",
+ "Select original ROM": "Seleccionar ROM original",
+ "Select modified ROM": "Seleccionar ROM modificada",
+ "Select output folder": "Seleccionar carpeta de salida",
+ "Generated {count} patch files.": "Se generaron {count} archivos de parche.",
+ "Patch generation failed: {message}": "Error al generar el parche: {message}",
+ "Exported raw segment: {path}": "Segmento bruto exportado: {path}",
+ "Segment export failed: {message}": "Error al exportar el segmento: {message}",
+ "No patch generated.": "Aún no se ha generado ningún parche.",
+ "Select ROM": "Seleccionar ROM",
+ "Select folder": "Seleccionar carpeta",
+ "Raw preview": "Vista previa raw",
+ "Section JSON": "JSON de sección",
+ "Section JSON editor": "Editor JSON de sección",
+ "Applied section JSON": "JSON de sección aplicado",
+ "Add entry": "Añadir entrada",
+ "Copy entry": "Copiar entrada",
+ "Paste entry": "Pegar entrada",
+ "Entry editor type": "Tipo de editor de entrada",
+ "Auto": "Automático",
+ "String dictionary": "Diccionario de texto",
+ "Friendly value": "Valor legible",
+ "Editor type: {type}": "Tipo de editor: {type}",
+ "Added entry.": "Entrada añadida.",
+ "Deleted entry.": "Entrada eliminada.",
+ "Copied entry to clipboard.": "Entrada copiada al portapapeles.",
+ "Pasted entry.": "Entrada pegada.",
+ "Cannot add entry to this section.": "No se puede añadir una entrada a esta sección.",
+ "Cannot delete this entry.": "No se puede eliminar esta entrada.",
+ "No copied entry to paste.": "No hay una entrada copiada para pegar.",
+ "Dictionary line must use key => value: {line}": "Dictionary line must use key => value: {line}",
+ "wide_text_english_metrics": "wide_text_english_metrics",
+ "align_text": "align_text",
+ "base": "base",
+ "display_name": "display_name",
+ "description": "description",
+ "en": "en",
+ "jp": "jp",
+ "true": "true",
+ "false": "false",
+ "Value": "Value",
+ "CHAR_WIDTHS table": "CHAR_WIDTHS table",
+ "Cut": "Cut",
+ "Check both Blue Fire segments": "Check both Blue Fire segments",
+ "Export checked raw segments": "Export checked raw segments",
+ "Blue Fire Arrow item name EN": "Blue Fire Arrow item name EN",
+ "ROM and output folder are required.": "ROM and output folder are required.",
+ "Exported {count} raw segments.": "Exported {count} raw segments.",
+ "Blue Fire Arrow item name JP": "Blue Fire Arrow item name JP",
+ "Uncheck Blue Fire segments": "Uncheck Blue Fire segments",
+ "No raw segment presets are selected.": "No raw segment presets are selected.",
+ "Export manual raw segment": "Export manual raw segment",
+ "Manual segment size": "Manual segment size",
+ "Ctrl/Cmd+1-4 tabs · Ctrl/Cmd+Enter apply · Ctrl/Cmd+S export · Ctrl/Cmd+Shift+C/V entry copy/paste · Ctrl/Cmd+Alt+R export Blue Fire": "Ctrl/Cmd+1-4 tabs · Ctrl/Cmd+Enter apply · Ctrl/Cmd+S export · Ctrl/Cmd+Shift+C/V entry copy/paste · Ctrl/Cmd+Alt+R export Blue Fire",
+ "Manual segment start": "Manual segment start",
+ "Blue Fire raw segment presets": "Blue Fire raw segment presets",
+ "Select All": "Select All",
+ "Manual segment filename": "Manual segment filename",
+ "Diff patch uses XOR over bin_patch ranges, then zlib compression.": "El parche de diferencia usa XOR sobre los rangos de bin_patch y luego compresión zlib.",
+ "Created new property data from built-in defaults": "Se crearon nuevos datos de propiedad desde los valores integrados",
+ "New from built-in defaults": "Nuevo desde valores integrados",
+ "Ready - default template loaded": "Listo - plantilla predeterminada cargada",
+ "Built-in defaults": "Valores integrados",
+ "Save entry": "Guardar entrada",
+ "Saved entry.": "Entrada guardada.",
+ "Save entry failed: {message}": "No se pudo guardar la entrada: {message}",
+ "Duplicate entry": "Duplicar entrada",
+ "Duplicated entry.": "Entrada duplicada.",
+ "Cannot duplicate this entry.": "Esta entrada no se puede duplicar.",
+ "Entry ID": "ID de entrada",
+ "Apply ID": "Aplicar ID",
+ "Entry ID updated.": "ID de entrada actualizado.",
+ "This entry has no editable ID.": "Esta entrada no tiene un ID editable.",
+ "ID update failed: {message}": "No se pudo actualizar el ID: {message}",
+ "New entry ID": "Nuevo ID de entrada",
+ "Move up": "Mover arriba",
+ "Move down": "Mover abajo",
+ "Sort by ID": "Ordenar por ID",
+ "Validate": "Validar",
+ "Next ID": "ID siguiente",
+ "Validate entry": "Validar entrada",
+ "Find": "Buscar",
+ "Replace": "Reemplazar",
+ "Find next": "Buscar siguiente",
+ "Replace all": "Reemplazar todo",
+ "Unsaved entry draft": "Borrador de entrada sin guardar",
+ "The current entry has unsaved editor changes. Save it before continuing?": "La entrada actual tiene cambios sin guardar. ¿Guardarla antes de continuar?",
+ "Discard the unsaved entry draft and continue?": "¿Descartar el borrador sin guardar y continuar?",
+ "The current property has unsaved changes. Continue?": "La propiedad actual tiene cambios sin guardar. ¿Continuar?",
+ "ID {id} already exists. Use it anyway?": "El ID {id} ya existe. ¿Usarlo de todos modos?",
+ "Invalid ID: {message}": "ID no válido: {message}",
+ "Duplicate ID": "ID duplicado",
+ "Duplicate ID detected: {id}": "ID duplicado detectado: {id}",
+ "ID must be a non-negative integer.": "El ID debe ser un entero no negativo.",
+ "box_type must be between 0x00 and 0xFF.": "box_type debe estar entre 0x00 y 0xFF.",
+ "Replacement table entries must be source => replacement string pairs.": "Las entradas de reemplazo deben ser pares source => replacement.",
+ "CHAR_WIDTHS must be a dictionary.": "CHAR_WIDTHS debe ser un diccionario.",
+ "Entry validation passed.": "Validación de entrada correcta.",
+ "Entry validation failed: {message}": "Falló la validación de entrada: {message}",
+ "Property validation passed.": "Validación de property correcta.",
+ "Property validation found {count} issue(s).": "La validación encontró {count} problema(s).",
+ "Export build failed: {message}": "Falló la creación de exportación: {message}",
+ "This section cannot be reordered.": "Esta sección no se puede reordenar.",
+ "Moved entry.": "Entrada movida.",
+ "This section has no sortable IDs.": "Esta sección no tiene IDs ordenables.",
+ "Sorted entries by ID.": "Entradas ordenadas por ID.",
+ "Text not found.": "Texto no encontrado.",
+ "Replaced {count} occurrence(s).": "Se reemplazaron {count} coincidencia(s).",
+ "Move entry up": "Mover entrada arriba",
+ "Move entry down": "Mover entrada abajo",
+ "Sort entries by ID": "Ordenar entradas por ID",
+ "Validate property": "Validar property",
+ "replace_table": "replace_table",
+ "Replacement entry": "Replacement entry",
+ "source => replacement": "source => replacement",
+ "replace_table entries must be {from:string, to:string}.": "replace_table entries must be {from:string, to:string}.",
+ "replace_table source must not be empty.": "replace_table source must not be empty.",
+ "replace_table has empty, duplicate, or invalid entries.": "replace_table has empty, duplicate, or invalid entries.",
+ "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to} and edited as source => replacement.": "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to} and edited as source => replacement.",
+ "No entry selected.": "No entry selected.",
+ "This section does not support entry paste or duplication.": "This section does not support entry paste or duplication.",
+ "ID already exists. A new ID is required.": "ID already exists. A new ID is required.",
+ "Current entry": "Current entry",
+ "Current section": "Current section",
+ "All text sections": "All text sections",
+ "Find text": "Texto a buscar",
+ "Replacement text": "Texto de reemplazo",
+ "Protect control codes": "Proteger códigos de control",
+ "Apply bulk replace": "Apply bulk replace",
+ "Find text is empty.": "Find text is empty.",
+ "{count} replacement(s).": "{count} replacement(s).",
+ "This section is skipped by bulk replace.": "This section is skipped by bulk replace.",
+ "{count} entry(ies) selected.": "{count} entry(ies) selected.",
+ "{count} selected": "{count} selected",
+ "Copied {count} entry(ies) to clipboard.": "Copied {count} entry(ies) to clipboard.",
+ "Pasted {count} entry(ies).": "Pasted {count} entry(ies).",
+ "Duplicated {count} entry(ies).": "Duplicated {count} entry(ies).",
+ "Delete {count} selected entry(ies)?": "Delete {count} selected entry(ies)?",
+ "Deleted {count} entry(ies).": "Deleted {count} entry(ies).",
+ "Moved {count} entry(ies).": "Moved {count} entry(ies).",
+ "First new entry ID": "First new entry ID",
+ "Invalid ID.": "Invalid ID.",
+ "Replace text in all entries...": "Reemplazar texto en todas las entradas...",
+ "Find text for all entries": "Texto a buscar en todas las entradas",
+ "Replacement text for all entries": "Texto de reemplazo para todas las entradas",
+ "Replace {count} occurrence(s) in all entries?": "¿Reemplazar {count} coincidencia(s) en todas las entradas?",
+ "Replaced {count} occurrence(s) in all entries.": "Se reemplazaron {count} coincidencia(s) en todas las entradas.",
+ "No matching text was found.": "No se encontró texto coincidente.",
+ "Replace text in all entries": "Reemplazar texto en todas las entradas",
+ "Target": "Objetivo",
+ "All editable entries": "Todas las entradas editables",
+ "Control code arguments will not be changed.": "Los argumentos de los códigos de control no se cambiarán.",
+ "Cancel": "Cancelar",
+ "Undo": "Deshacer",
+ "Redo": "Rehacer",
+ "Entry is valid.": "La entrada es válida.",
+ "Validate failed: {message}": "La validación falló: {message}",
+ "Replace list": "Lista de reemplazos",
+ "Save changes before closing?": "¿Guardar los cambios antes de cerrar?",
+ "The property has unsaved changes. Save before closing?": "La property tiene cambios sin guardar. ¿Quieres guardar antes de cerrar?",
+ "Don't Save": "No guardar",
+ "Save and close": "Guardar y cerrar",
+ "Choose Save to write the current property, Don't Save to exit without writing, or Cancel to keep editing.": "Elige Guardar para escribir la property actual, No guardar para salir sin escribir, o Cancelar para seguir editando.",
+ "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to}, edited as source => replacement, and may use Shift-JIS byte tokens such as 0x819F.": "Lista de reemplazo de caracteres aplicada después de resolver los marcadores, conservando los códigos de control de texto. Cada entrada se guarda como {from, to}, se edita como source => replacement y puede usar tokens de bytes Shift-JIS como 0x819F.",
+ "invalid Shift-JIS code": "código Shift-JIS no válido",
+ "Invalid Shift-JIS code in source: {value}": "Código Shift-JIS no válido en el origen: {value}",
+ "Invalid Shift-JIS code in replacement: {value}": "Código Shift-JIS no válido en el reemplazo: {value}",
+ "replace_table has empty, duplicate, control-code, or invalid entries.": "replace_table has empty, duplicate, control-code, or invalid entries.",
+ "Invalid Shift-JIS code in {label}: {value}": "Invalid Shift-JIS code in {label}: {value}",
+ "Control codes are not allowed in replace_table {label}.": "Control codes are not allowed in replace_table {label}.",
+ "Duplicate replace_table source: {value}": "Duplicate replace_table source: {value}",
+ "Saved {count} replace_table entry/entries.": "Saved {count} replace_table entry/entries.",
+ "Replacement table entry": "Replacement table entry",
+ "Replace table": "Tabla de reemplazo",
+ "Language properties": "Propiedades del idioma",
+ "Language base": "Base del idioma",
+ "Display name": "Nombre visible",
+ "Text alignment": "Alineación del texto",
+ "Use English-like wide text metrics": "Usar métricas anchas similares al inglés",
+ "Apply language properties": "Aplicar propiedades del idioma",
+ "Reset language properties": "Restablecer propiedades del idioma",
+ "Language properties updated.": "Propiedades del idioma actualizadas.",
+ "Language property update failed: {message}": "Error al actualizar propiedades del idioma: {message}",
+ "Language properties reset.": "Propiedades del idioma restablecidas.",
+ "[from] ... [to] ...": "[from] ... [to] ...",
+ "Language base changed. Text control codes were converted.": "Se cambió la base del idioma y se convirtieron los códigos de control del texto.",
+ "Language base conversion failed: {message}": "Error al convertir la base del idioma: {message}"
+ },
+ "fr": {
+ "": "",
+ "\n\nWarnings:\n": "\n\nWarnings:\n",
+ "\n# Add a gender under [gender] or a rule under [prefix]\nnew_rule/no_gender = \n": "\n# Add a gender under [gender] or a rule under [prefix]\nnew_rule/no_gender = \n",
+ "\n- new item\n": "\n- new item\n",
+ "\n- new_search_text\n": "\n- new_search_text\n",
+ "\nFormat : ": "\nFormat : ",
+ "\nFormat: ": "\nFormat: ",
+ "\nFormato: ": "\nFormato: ",
+ "\nJapanese stand-in conversion:\n": "\nJapanese stand-in conversion:\n",
+ "\nnew_key => \"new value\"\n": "\nnew_key => \"new value\"\n",
+ "\nsource text => replacement text\n": "\nsource text => replacement text\n",
+ "\nФормат: ": "\nФормат: ",
+ "\nフォーマット: ": "\nフォーマット: ",
+ " #XX -> color XX\n": " #XX -> color XX\n",
+ " & -> line break\n": " & -> line break\n",
+ " ... \n": " ... \n",
+ " \n": " \n",
+ " \n": " \n",
+ " \n": " \n",
+ " \n": " \n",
+ " or \n\n": " or \n\n",
+ " ★XX -> icon XX\n": " ★XX -> icon XX\n",
+ " ♭XXXX -> sound XXXX\n": " ♭XXXX -> sound XXXX\n",
+ " - 0x": " - 0x",
+ " checked diff patches to ": " checked diff patches to ",
+ " duplicate entries.": " duplicate entries.",
+ " has duplicate id ": " has duplicate id ",
+ " item": " item",
+ " metadata fields.": " metadata fields.",
+ " missing PLAIN_TEXTS entries. Updated ": " missing PLAIN_TEXTS entries. Updated ",
+ " more": " more",
+ " must be a list.": " must be a liste.",
+ " pair": " pair",
+ " patch files:\\n": " patch files:\\n",
+ " patch ranges from ": " patch ranges from ",
+ "# Add/delete lines directly. Empty prefix keys are written as .": "# Add/delete lines directement. Empty prefix keys are written as .",
+ "# Dictionary editor. One key per line: key => JSON value or text": "# Éditeur de dictionnaire. Une clé par ligne : key => valeur JSON ou texte",
+ "# One conversion per line: source => replacement": "# Une conversion par ligne : source => replacement",
+ "# One list entry per line. Strings can use control-code markup; objects can be JSON.": "# Une entrée de liste par ligne. Les chaînes peuvent utiliser le balisage des codes de contrôle ; les objets peuvent être du JSON.",
+ "# One list item per line. Use '- value' or plain lines.": "# Un élément de liste par ligne. Utilisez '- value' ou des lignes simples.",
+ "# One mapping per line: left => right": "# Une correspondance par ligne : left => right",
+ "# One replacement per line: from => to": "# Un remplacement par ligne : from => to",
+ "# Prefix editor. Sections: [gender], [case], [prefix].": "# Éditeur de préfixe. Sections : [gender], [case], [prefix].",
+ "# Tipo": "# Tipo",
+ "# Typ": "# Typ",
+ "# Type": "# Type",
+ "# Type: ": "# Type : ",
+ "# Type: boolean": "# Type : booléen",
+ "# Type: dict": "# Type : dictionnaire",
+ "# Type: dict. String values are shown with control-code markup instead of \\u0001 escapes.": "# Type : dict. Les chaînes sont affichées avec un balisage de codes de contrôle au lieu des échappements \\u0001.",
+ "# Type: dictionary": "# Type : dictionnaire",
+ "# Type: integer": "# Type : entier",
+ "# Type: list": "# Type : liste",
+ "# Type: list. One item per line; strings use control-code markup instead of \\u0001 escapes.": "# Type : list. Un élément par ligne ; les chaînes utilisent un balisage de codes de contrôle au lieu des échappements \\u0001.",
+ "# Type: mixed values": "# Type : valeurs mixtes",
+ "# Type: null": "# Type : null",
+ "# Type: number": "# Type : nombre",
+ "# Type: str\n": "# Type : chaîne",
+ "# Type: string": "# Type : chaîne",
+ "# Тип": "# Тип",
+ "# 型": "# 型",
+ "(new file)": "(new file)",
+ "*.py *.json": "*.py *.json",
+ "*.z64 *.n64 *.v64": "*.z64 *.n64 *.v64",
+ ". Format: ": ". Format: ",
+ ". Save as property.json when ready.": ". Enregistrer as propriété.json when ready.",
+ "/": "/",
+ "02X": "02X",
+ "04X": "04X",
+ ": not found or not safely evaluable in ": ": not found or not safely evaluable in ",
+ ": skipped safe evaluation (": ": skipped safe evaluation (",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "": "",
+ "A ttk frame whose contents stay reachable when the window is small.": "A ttk frame whose contents stay reachable when the window is small.",
+ "About": "À propos",
+ "Add": "Ajouter",
+ "Add line / pair": "Ajouter ligne/paire",
+ "Added ": "Ajouté : ",
+ "Added item to ": "Élément ajouté à ",
+ "Align": "Alignement",
+ "All": "All",
+ "All UI strings are translated through language_editor_ui.json. English is registered explicitly as key = value.": "Toutes les chaînes de l’interface sont traduites via language_editor_ui.json. L’anglais est aussi enregistré explicitement comme key = value.",
+ "All files": "Tous les fichiers",
+ "Append end code on apply": "Ajouter le code de fin à l’application",
+ "Applied ": "Appliqué : ",
+ "Applied JSON to ": "JSON appliqué à ",
+ "Applied language property": "Propriété de langue appliquée",
+ "Applied section item": "Élément de section appliqué",
+ "Applied whole section editor to ": "Éditeur de section complet appliqué à ",
+ "Apply": "Appliquer",
+ "Apply JSON to section": "Appliquer le JSON à la section",
+ "Apply entry": "Appliquer l’entrée",
+ "Apply failed": "Échec de l’application",
+ "Apply language property": "Appliquer la propriété de langue",
+ "Apply pair": "Appliquer la paire",
+ "Apply section JSON": "Appliquer le JSON de section",
+ "Apply section editor": "Appliquer l’éditeur de section",
+ "Apply section editor failed": "Échec de l’application de l’éditeur de section",
+ "Article/prefix rules used by hint and item text generation. Keep the nested gender/case structure consistent with the target language.": "Article/prefix rules used by hint and item text generation. Keep the nested gender/case structure consistent with the target langue.",
+ "As": "As",
+ "Auto-generated TEMP. property is last applied data; draft_text_editor may contain unapplied right-side edits.": "Auto-generated TEMP. propriété is last applied data; draft_text_editor may contain unapplied right-side edits.",
+ "Auto-saved TEMP ": "Auto-saved TEMP ",
+ "BOSS_GOAL_TABLE": "BOSS_GOAL_TABLE",
+ "Base": "Base",
+ "Binary patch": "Binary patch",
+ "Boolean": "Booléen",
+ "Boss goal hint labels. Keep boss keys stable; translate clear/vague display strings.": "Boss goal hint labels. Keep boss keys stable; translate clear/vague display strings.",
+ "Box": "Box",
+ "Browse": "Parcourir",
+ "CHAR_WIDTHS": "CHAR_WIDTHS",
+ "CHAR_WIDTHS entry needs a character/code key.": "CHAR_WIDTHS entrée needs a character/code key.",
+ "Center": "Center",
+ "Character / Code": "Character / Code",
+ "Character width overrides. Keys may be visible characters, symbolic names such as [C-Up], message bytes such as 0x9F, index:N table slots, or JP hex codepoints such as 0x824F. Values may be integers or variant dictionaries.": "Redéfinitions de largeur de caractères. Les clés peuvent être des caractères visibles, des noms symboliques comme [C-Up], des octets de message comme 0x9F, des emplacements de table index:N ou des points de code hexadécimaux japonais comme 0x824F. Les valeurs peuvent être des entiers ou des dictionnaires par variante.",
+ "Character width table": "Table des largeurs de caractères",
+ "Check all": "Tout cocher",
+ "Checked diff failed": "Échec des diffs cochés",
+ "Checked entries are exported in one run. Edit each filename field to avoid overwriting old cached/downloaded files.": "Checked entries are exported in one run. Edit each filename field to avoid overwriting old cached/downloaded files.",
+ "Choose an export filename or path.": "Choisissez un nom de fichier ou un chemin d’exportation.",
+ "Clear": "Effacer",
+ "Clear Name": "Clear Name",
+ "Clear all": "Clear all",
+ "Color preview:": "Color preview:",
+ "Common examples:\n": "Exemples courants :\n",
+ "Completed property.json files can be loaded directly.": "Les fichiers property.json terminés peuvent être chargés directement.",
+ "Control code help": "Aide des codes de contrôle",
+ "Control-code tools": "Control-code tools",
+ "Copied selected section item": "Élément de section sélectionné copié",
+ "Copy": "Copier",
+ "Could not find ~/data/bin_patch.json. Place bin_patch.json there or load another JSON file.": "~/data/bin_patch.json est introuvable. Placez bin_patch.json à cet endroit ou chargez un autre fichier JSON.",
+ "Ctrl+Y": "Ctrl+Y",
+ "Ctrl+Z": "Ctrl+Z",
+ "Deduplicate": "Supprimer les doublons",
+ "Deduplicate current message IDs": "Deduplicate current message IDs",
+ "Delete": "Supprimer",
+ "Delete dictionary key '": "Delete dictionnaire key '",
+ "Delete entry": "Supprimer l’entrée",
+ "Delete key": "Delete key",
+ "Delete the selected list item?": "Delete the selected liste item?",
+ "Description": "Description",
+ "Deutsch": "Deutsch",
+ "Dictionary": "Dictionnaire",
+ "Dictionary / mapping": "Dictionnaire / table",
+ "Dictionary editor": "Éditeur de dictionnaire",
+ "Dictionary pair editor": "Éditeur de paires de dictionnaire",
+ "Dictionary section: select a key on the left, edit the key in the metadata field, and edit the value as JSON or plain text.": "Section de dictionnaire. Sélectionnez une clé à gauche, modifiez-la dans le champ de métadonnées, puis modifiez la valeur en JSON ou en texte simple.",
+ "Dictionary専用エディタ: key => JSON value/text 形式で編集します。複雑な値はRaw JSONも使用できます。": "Dictionnaire専用エディタ: key => JSON value/text 形式で編集します。複雑な値はBrut JSONも使用できます。",
+ "Diff complete": "Diff terminé",
+ "Diff failed": "Échec du diff",
+ "Diff patch maker: bin_patch checklist + individual export filenames": "Diff patch maker: bin_patch checklist + individual export filenames",
+ "Display": "Nom affiché",
+ "Display paths with ~/ instead of a user-specific absolute home path.": "Display paths with ~/ instead of a user-specific absolute home path.",
+ "Dual-hint templates. Preserve placeholders and nested structure.": "Dual-hint templates. Preserve placeholders and nested structure.",
+ "Dungeon": "Dungeon",
+ "Dungeon display names and grammatical gender. Values are used by generated hints and item messages.": "Dungeon display names and grammatical gender. Values are used by generated hints and item messages.",
+ "Dungeon entry controls": "Dungeon entry controls",
+ "Dungeon table editor": "Éditeur de table des donjons",
+ "Dungeon table. Edit name, gender, and has_map. has_map can also be changed with the checkbox on the right.": "Table des donjons. Modifiez name, gender et has_map. has_map peut aussi être modifié avec la case à cocher à droite.",
+ "Dungeon専用: name/gender/has_mapを編集します。has_mapは右側チェックボックスでも変更できます。": "Dungeon専用: name/gender/has_mapを編集します。has_mapは右側チェックボックスでも変更できます。",
+ "Duplicate": "Dupliquer",
+ "ERROR: ": "ERROR: ",
+ "Edit": "Édition",
+ "Edit box_type": "Edit box_type",
+ "Edited ROM": "ROM modifiée",
+ "Empty list": "Liste vide",
+ "Encode a mapping/list-pair side. JSON quotes preserve leading/trailing spaces.": "Encode a mapping/liste-pair side. JSON quotes preserve leading/trailing spaces.",
+ "End": "End",
+ "English": "English",
+ "Ensure the loaded property has all known top-level sections.": "Ensure the loaded propriété has all known top-level sections.",
+ "Entry list": "Liste des entrées",
+ "Entry note": "Note de l’entrée",
+ "Español": "Español",
+ "Exit": "Quitter",
+ "Expand PLAIN_TEXTS from source...": "Étendre PLAIN_TEXTS depuis la source...",
+ "Expand user-facing local paths such as ~/data without exposing OS usernames.": "Expand user-facing local paths such as ~/data without exposing OS usernames.",
+ "Expansion failed": "Échec de l’extension",
+ "Export complete": "Exportation terminée",
+ "Export filename": "Nom du fichier exporté",
+ "Export filename is empty.": "Le nom de fichier d’exportation est vide.",
+ "Export filename/path": "Nom/chemin d’exportation",
+ "Export key": "Clé d’exportation",
+ "Export property.json...": "Exporter property.json...",
+ "Export raw segment": "Exporter le segment brut",
+ "Export selected patches": "Exporter les patchs sélectionnés",
+ "Exported property.json.": "property.json exporté.",
+ "Extra game text for non-English/non-Japanese language builds. Format: {id: int, text: str, box_type: int}. Use the expansion tool to add missing IDs/box types from an older source while keeping translations blank.": "Extra game text for non-English/non-Japanese langue builds. Format: {id: int, text: str, box_type: int}. Utiliser the expansion tool to add missing IDs/box types from an older source while keeping translations blank.",
+ "File": "Fichier",
+ "For prefix/search/mapping/dictionary sections, the large Text editor edits the whole selected section. Message sections still edit one selected entry.": "For prefix/search/mapping/dictionary sections, the large Text editor edits the whole selected section. Message sections still edit one selected entry.",
+ "Format": "Format",
+ "Format JSON": "Formater le JSON",
+ "Format: ": "Format : ",
+ "Format: boolean": "Format : booléen",
+ "Format: dictionary": "Format : dictionnaire",
+ "Format: integer": "Format : entier",
+ "Format: list": "Format : liste",
+ "Format: mixed values": "Format : valeurs mixtes",
+ "Format: null": "Format : nul",
+ "Format: number": "Format : nombre",
+ "Format: string": "Format : chaîne",
+ "Formato": "Formato",
+ "Français": "Français",
+ "From": "From",
+ "From / Key": "De / Clé",
+ "From / To mapping": "Table From / To",
+ "From / To string mapping. Use it to replace player-facing phrases, for example when converting text to use the player name.": "Table de chaînes From / To. Utilisez-la pour remplacer les phrases destinées au joueur, par exemple lors de la conversion du texte pour utiliser le nom du joueur.",
+ "From / To string mapping. Use it to replace verbs, for example obtained => got.": "Table de chaînes From / To. Utilisez-la pour remplacer des verbes, par exemple obtained => got.",
+ "From / To 固定のstr:str置換表です。obtained => got のように動詞を置換します。": "De / Vers 固定のstr:str置換表です。obtained => got のように動詞を置換します。",
+ "From / To 固定のstr:str置換表です。プレイヤー名化など、左の語句を右へ変換します。": "De / Vers 固定のstr:str置換表です。プレイヤー名化など、左の語句を右へ変換します。",
+ "Full inserted code list:\n": "Full inserted code liste:\n",
+ "Full-sentence UI translation mode is active.": "Le mode de traduction par phrases complètes est actif.",
+ "Gender": "Gender",
+ "General hint text templates. Preserve randomizer placeholders and control-code intent.": "General hint text templates. Preserve randomizer placeholders and control-code intent.",
+ "General property section": "Section générale des propriétés",
+ "General property section. Keep the existing JSON shape unless you know the consumer code expects a different schema.": "Section générale des propriétés. Conservez la structure JSON existante sauf si vous savez que le code consommateur attend un autre schéma.",
+ "Generate checked diff patches": "Générer les patchs sélectionnés",
+ "Generate single diff patch": "Generate single diff patch",
+ "Goal name table editor": "Éditeur de table des noms d’objectif",
+ "Goal name table. Edit Vague Name and Clear Name. #...# is a hint color marker and is restored when saving.": "Table des noms d’objectif. Modifiez Vague Name et Clear Name. #...# est un marqueur de couleur d’indice et il est restauré à l’enregistrement.",
+ "Goal name専用: vague / clear を Vague Name / Clear Name として編集します。#...# は色指定です。": "Goal name専用: vague / clear を Vague Name / Clear Name として編集します。#...# は色指定です。",
+ "Has Map": "Has Map",
+ "Has Map (has_map)": "Has Map (has_map)",
+ "Help": "Aide",
+ "Hint Key": "Hint Key",
+ "Hint area display names, prepositions, short names, and grammatical gender. Keep keys and prep fields intact.": "Hint area display names, prepositions, short names, and grammatical gender. Keep keys and prep fields intact.",
+ "Hint table editor": "Éditeur de table d’indices",
+ "Hint table editor. Edit Vague Hint, Clear Hint, and Gender. Vague Hint is saved as None when empty, as a string when it has one line, and as a list of strings when it has multiple lines. #...# is shown as ... while editing.": "Éditeur de table d’indices. Modifiez Vague Hint, Clear Hint et Gender. Vague Hint est enregistré comme None s’il est vide, comme chaîne s’il a une ligne, et comme liste de chaînes s’il a plusieurs lignes. #...# apparaît comme ... pendant l’édition.",
+ "Hint table entries. Keep tuple/list shape intact: usually hint aliases, item text, and gender.": "Hint table entries. Keep tuple/liste shape intact: usually hint aliases, item text, and gender.",
+ "Hint text table. Language syntax such as [prefix...] and placeholders such as {item} are preserved.": "Table des textes d’indices. La syntaxe Language comme [prefix...] et les marqueurs comme {item} sont conservés.",
+ "Hint text専用: Language構文 [prefix...] と placeholder {item} をそのまま扱います。": "Hint text専用: Langue構文 [prefix...] と placeholder {item} をそのまま扱います。",
+ "Hint専用: vague_hint / clear_hint / gender を編集します。vague_hintは空=None、1件=str、複数=list[str]として保存します。#...# は編集時 ... として表示します。": "Hint専用: vague_hint / clear_hint / gender を編集します。vague_hintは空=None、1件=str、複数=liste[str]として保存します。#...# は編集時 ... として表示します。",
+ "ID": "ID",
+ "ID / index": "ID / index",
+ "IMPORTANT_ITEM_MESSAGES": "IMPORTANT_ITEM_MESSAGES",
+ "ITEM_MESSAGES": "ITEM_MESSAGES",
+ "Import complete": "Importer complete",
+ "Import failed": "Importer failed",
+ "Imported ": "Importé : ",
+ "Imported literal sections from ": "Sections littérales importées depuis ",
+ "Insert code": "Insert code",
+ "Integer": "Entier",
+ "Invalid diff range. End must be larger than start.": "Invalid diff range. End must be larger than start.",
+ "Invalid segment range. Size must be greater than zero.": "Invalid segment range. Size must be greater than zero.",
+ "Item get messages. Format: {id: int, text: str}. Control codes such as , , line breaks, and box breaks are allowed.": "Messages d’obtention d’objet. Format : {id: int, text: str}. Les codes de contrôle comme , , les retours à la ligne et les séparations de boîte sont autorisés.",
+ "JSON": "JSON",
+ "JSON parse failed": "Échec de l’analyse JSON",
+ "Japanese stand-in conversion:\n": "Conversion abrégée japonaise :\n",
+ "Key": "Key",
+ "Key / As mapping": "Table Key / As",
+ "Key / As mapping with fixed string keys and string values.": "Table Key / As avec clés et valeurs de chaîne fixes.",
+ "Key / As pair list": "Liste de paires Key / As",
+ "Key / As replacement pairs. After Language.format runs, the left value is replaced with the right value.": "Paires de remplacement Key / As. Après l’exécution de Language.format, la valeur de gauche est remplacée par celle de droite.",
+ "Key / As 固定の str:str 辞書です。": "Clé / Comme 固定の str:str 辞書です。",
+ "Key / As 固定の置換ペアです。Language.format後に左から右へ置換されます。": "Clé / Comme 固定の置換ペアです。Langue.format後に左から右へ置換されます。",
+ "Keyed text item": "Élément de texte avec clé",
+ "Language": "Langue",
+ "Language changed.": "Langue de l’interface modifiée.",
+ "Language metadata. base is normally 'en' or 'jp'; align_text should stay Left/Center/Right. wide_text_english_metrics is for JP/wide text using English-like spacing.": "Métadonnées de langue. base vaut normalement en ou jp. align_text doit rester Left, Center ou Right. wide_text_english_metrics sert au texte japonais ou large avec un espacement proche de l’anglais.",
+ "Language property": "Propriétés de langue",
+ "Language syntax can reference this data with paths such as [prefix.definite.nominative.masculine]. Add or remove gender, case, and prefix layers to match the target language.": "La syntaxe Language peut référencer ces données avec des chemins comme [prefix.definite.nominative.masculine]. Ajoutez ou supprimez les couches de genre, de cas et de préfixe selon la langue cible.",
+ "Language構文では [prefix.definite.nominative.masculine] のように参照できます。German版のように gender/case/prefix 階層を増減できます。": "Langue構文では [prefix.definite.nominative.masculine] のように参照できます。German版のように gender/case/prefix 階層を増減できます。",
+ "Left": "Left",
+ "Line breaks can be typed as real newlines. A visible ▼ line is treated as a box break.\n\n": "Les retours à la ligne peuvent être saisis comme de vrais retours. Une ligne ▼ visible est traitée comme une séparation de boîte.\n\n",
+ "List": "Liste",
+ "List editor": "Éditeur de liste",
+ "List item / Section item": "List item / Section item",
+ "List of arrays / tuples": "Liste de tableaux / tuples",
+ "List of dictionaries": "Liste de dictionnaires",
+ "List of strings": "Liste de chaînes",
+ "List section: selected items are edited as JSON or plain text. Use Raw section JSON for large nested edits.": "Section de liste. Les éléments sélectionnés sont modifiés en JSON ou en texte simple. Utilisez Raw section JSON pour les grandes modifications imbriquées.",
+ "List専用エディタ: 1行1項目で編集します。辞書や配列はJSONとして書けます。": "Liste専用エディタ: 1行1項目で編集します。辞書や配列はJSONとして書けます。",
+ "List専用エディタ: 右側Text editorで1行1項目として追加・削除します。ID/Box/Text Keyメタ欄は使いません。": "Liste専用エディタ: 右側Éditeur de texteで1行1項目として追加・削除します。ID/Box/Text Cléメタ欄は使いません。",
+ "Load": "Charger",
+ "Load TEMP failed": "Charger TEMP failed",
+ "Load TEMP property...": "Charger la propriété TEMP...",
+ "Load completed property.json...": "Charger un property.json terminé...",
+ "Load default ~/data/bin_patch.json": "Charger ~/data/bin_patch.json par défaut",
+ "Load failed": "Échec du chargement",
+ "Load property.json...": "Charger property.json...",
+ "Load section JSON": "Charger le JSON de section",
+ "Loaded": "Chargé",
+ "Loaded ": "Chargé : ",
+ "Loaded TEMP ": "Chargé TEMP ",
+ "Loaded property.json.": "property.json chargé.",
+ "Local export folder": "Dossier local d’exportation",
+ "Local export folder: ": "Local export folder: ",
+ "Local export folder: {path}": "Dossier local d’exportation : {path}",
+ "Local layout: ~/data/lang/ootr_language_editor_gui.py": "Local layout: ~/data/lang/ootr_language_editor_gui.py",
+ "MISC_MESSAGES": "MISC_MESSAGES",
+ "Mapping専用エディタ: source => replacement 形式で左から右への変換を編集します。": "Mapping専用エディタ: source => replacement 形式で左から右への変換を編集します。",
+ "Markup → Raw preview": "Markup → Brut aperçu",
+ "Message editor": "Éditeur de messages",
+ "Message entries": "Entrées de message",
+ "Message entries with box_type": "Entrées de message avec box_type",
+ "Message list: id + box_type + text": "Liste de messages : id + box_type + text",
+ "Message list: id + text": "Liste de messages : id + text",
+ "Message section: entries use id + box_type + text. id/box_type are metadata and text uses OOTR control codes.": "Section de messages. Les entrées utilisent id + box_type + text. id et box_type sont des métadonnées, et text utilise les codes de contrôle OOTR.",
+ "Message section: entries use id + text. id is metadata and text uses OOTR control codes.": "Section de messages. Les entrées utilisent id + text. id est une métadonnée, et text utilise les codes de contrôle OOTR.",
+ "Message専用エディタ: 左側で項目を選択し、本文を編集します。ID/box_typeは必要時のみ表示します。": "Message専用エディタ: 左側で項目を選択し、本文を編集します。ID/box_typeは必要時のみ表示します。",
+ "Misc dual hint table. Preserve item_1 and item_2 placeholders while editing.": "Table d’indices doubles divers. Conservez les marqueurs item_1 et item_2 pendant l’édition.",
+ "Misc dual hint専用: item_1/item_2系placeholderを保持したまま編集します。": "Misc dual hint専用: item_1/item_2系placeholderを保持したまま編集します。",
+ "Misc hint table editor": "Éditeur de table d’indices divers",
+ "Misc hint専用: 固定キー内の location_text/default_item_text などを項目別に編集します。短縮コントロールコードと#色指定を表示変換します。": "Misc hint専用: 固定キー内の location_text/default_item_text などを項目別に編集します。短縮コントロールコードと#色指定を表示変換します。",
+ "Misc item hint table. Edit fixed fields such as location_text and default_item_text. Short control-code notation and #...# color markers are converted for display.": "Table d’indices d’objets divers. Modifiez les champs fixes comme location_text et default_item_text. Les codes de contrôle abrégés et les marqueurs de couleur #...# sont convertis pour l’affichage.",
+ "Misc location hint table. Edit fixed fields such as location_text and location_fallback.": "Table d’indices de lieux divers. Modifiez les champs fixes comme location_text et location_fallback.",
+ "Misc location hint専用: 固定キー内の location_text/location_fallbackなどを編集します。": "Misc location hint専用: 固定キー内の location_text/location_fallbackなどを編集します。",
+ "Miscellaneous in-game text. Format: {id: int, text: str, box_type: int}. ID and box_type are metadata; edit them only when intentionally changing the table entry.": "Texte divers du jeu. Format : {id: int, text: str, box_type: int}. ID et box_type sont des métadonnées ; modifiez-les seulement si vous changez volontairement l’entrée de table.",
+ "Missing UI translation key": "Missing UI translation key",
+ "Mixed list": "Liste mixte",
+ "Mode": "Mode",
+ "Mode : ": "Mode : ",
+ "Mode: ": "Mode: ",
+ "Mode: From / To mapping. Format: boolean.": "Mode : mappage From / To\nFormat : booléen",
+ "Mode: From / To mapping. Format: dictionary.": "Mode : mappage From / To\nFormat : dictionnaire",
+ "Mode: From / To mapping. Format: integer.": "Mode : mappage From / To\nFormat : entier",
+ "Mode: From / To mapping. Format: list.": "Mode : mappage From / To\nFormat : liste",
+ "Mode: From / To mapping. Format: mixed values.": "Mode : mappage From / To\nFormat : valeurs mixtes",
+ "Mode: From / To mapping. Format: null.": "Mode : mappage From / To\nFormat : nul",
+ "Mode: From / To mapping. Format: number.": "Mode : mappage From / To\nFormat : nombre",
+ "Mode: From / To mapping. Format: string.": "Mode : mappage From / To\nFormat : chaîne",
+ "Mode: Key / As mapping. Format: boolean.": "Mode : mappage Key / As\nFormat : booléen",
+ "Mode: Key / As mapping. Format: dictionary.": "Mode : mappage Key / As\nFormat : dictionnaire",
+ "Mode: Key / As mapping. Format: integer.": "Mode : mappage Key / As\nFormat : entier",
+ "Mode: Key / As mapping. Format: list.": "Mode : mappage Key / As\nFormat : liste",
+ "Mode: Key / As mapping. Format: mixed values.": "Mode : mappage Key / As\nFormat : valeurs mixtes",
+ "Mode: Key / As mapping. Format: null.": "Mode : mappage Key / As\nFormat : nul",
+ "Mode: Key / As mapping. Format: number.": "Mode : mappage Key / As\nFormat : nombre",
+ "Mode: Key / As mapping. Format: string.": "Mode : mappage Key / As\nFormat : chaîne",
+ "Mode: Key / As pair list. Format: boolean.": "Mode : liste de paires Key / As\nFormat : booléen",
+ "Mode: Key / As pair list. Format: dictionary.": "Mode : liste de paires Key / As\nFormat : dictionnaire",
+ "Mode: Key / As pair list. Format: integer.": "Mode : liste de paires Key / As\nFormat : entier",
+ "Mode: Key / As pair list. Format: list.": "Mode : liste de paires Key / As\nFormat : liste",
+ "Mode: Key / As pair list. Format: mixed values.": "Mode : liste de paires Key / As\nFormat : valeurs mixtes",
+ "Mode: Key / As pair list. Format: null.": "Mode : liste de paires Key / As\nFormat : nul",
+ "Mode: Key / As pair list. Format: number.": "Mode : liste de paires Key / As\nFormat : nombre",
+ "Mode: Key / As pair list. Format: string.": "Mode : liste de paires Key / As\nFormat : chaîne",
+ "Mode: character-width table. Format: boolean.": "Mode : table des largeurs de caractères\nFormat : booléen",
+ "Mode: character-width table. Format: dictionary.": "Mode : table des largeurs de caractères\nFormat : dictionnaire",
+ "Mode: character-width table. Format: integer.": "Mode : table des largeurs de caractères\nFormat : entier",
+ "Mode: character-width table. Format: list.": "Mode : table des largeurs de caractères\nFormat : liste",
+ "Mode: character-width table. Format: mixed values.": "Mode : table des largeurs de caractères\nFormat : valeurs mixtes",
+ "Mode: character-width table. Format: null.": "Mode : table des largeurs de caractères\nFormat : nul",
+ "Mode: character-width table. Format: number.": "Mode : table des largeurs de caractères\nFormat : nombre",
+ "Mode: character-width table. Format: string.": "Mode : table des largeurs de caractères\nFormat : chaîne",
+ "Mode: dictionary pairs. Format: boolean.": "Mode : paires de dictionnaire\nFormat : booléen",
+ "Mode: dictionary pairs. Format: dictionary.": "Mode : paires de dictionnaire\nFormat : dictionnaire",
+ "Mode: dictionary pairs. Format: integer.": "Mode : paires de dictionnaire\nFormat : entier",
+ "Mode: dictionary pairs. Format: list.": "Mode : paires de dictionnaire\nFormat : liste",
+ "Mode: dictionary pairs. Format: mixed values.": "Mode : paires de dictionnaire\nFormat : valeurs mixtes",
+ "Mode: dictionary pairs. Format: null.": "Mode : paires de dictionnaire\nFormat : nul",
+ "Mode: dictionary pairs. Format: number.": "Mode : paires de dictionnaire\nFormat : nombre",
+ "Mode: dictionary pairs. Format: string.": "Mode : paires de dictionnaire\nFormat : chaîne",
+ "Mode: dictionary. Format: boolean.": "Mode : dictionnaire\nFormat : booléen",
+ "Mode: dictionary. Format: dictionary.": "Mode : dictionnaire\nFormat : dictionnaire",
+ "Mode: dictionary. Format: integer.": "Mode : dictionnaire\nFormat : entier",
+ "Mode: dictionary. Format: list.": "Mode : dictionnaire\nFormat : liste",
+ "Mode: dictionary. Format: mixed values.": "Mode : dictionnaire\nFormat : valeurs mixtes",
+ "Mode: dictionary. Format: null.": "Mode : dictionnaire\nFormat : nul",
+ "Mode: dictionary. Format: number.": "Mode : dictionnaire\nFormat : nombre",
+ "Mode: dictionary. Format: string.": "Mode : dictionnaire\nFormat : chaîne",
+ "Mode: dungeon table. Format: boolean.": "Mode : table des donjons\nFormat : booléen",
+ "Mode: dungeon table. Format: dictionary.": "Mode : table des donjons\nFormat : dictionnaire",
+ "Mode: dungeon table. Format: integer.": "Mode : table des donjons\nFormat : entier",
+ "Mode: dungeon table. Format: list.": "Mode : table des donjons\nFormat : liste",
+ "Mode: dungeon table. Format: mixed values.": "Mode : table des donjons\nFormat : valeurs mixtes",
+ "Mode: dungeon table. Format: null.": "Mode : table des donjons\nFormat : nul",
+ "Mode: dungeon table. Format: number.": "Mode : table des donjons\nFormat : nombre",
+ "Mode: dungeon table. Format: string.": "Mode : table des donjons\nFormat : chaîne",
+ "Mode: goal-name table. Format: boolean.": "Mode : table des noms d’objectifs\nFormat : booléen",
+ "Mode: goal-name table. Format: dictionary.": "Mode : table des noms d’objectifs\nFormat : dictionnaire",
+ "Mode: goal-name table. Format: integer.": "Mode : table des noms d’objectifs\nFormat : entier",
+ "Mode: goal-name table. Format: list.": "Mode : table des noms d’objectifs\nFormat : liste",
+ "Mode: goal-name table. Format: mixed values.": "Mode : table des noms d’objectifs\nFormat : valeurs mixtes",
+ "Mode: goal-name table. Format: null.": "Mode : table des noms d’objectifs\nFormat : nul",
+ "Mode: goal-name table. Format: number.": "Mode : table des noms d’objectifs\nFormat : nombre",
+ "Mode: goal-name table. Format: string.": "Mode : table des noms d’objectifs\nFormat : chaîne",
+ "Mode: hint table. Format: boolean.": "Mode : table des indices\nFormat : booléen",
+ "Mode: hint table. Format: dictionary.": "Mode : table des indices\nFormat : dictionnaire",
+ "Mode: hint table. Format: integer.": "Mode : table des indices\nFormat : entier",
+ "Mode: hint table. Format: list.": "Mode : table des indices\nFormat : liste",
+ "Mode: hint table. Format: mixed values.": "Mode : table des indices\nFormat : valeurs mixtes",
+ "Mode: hint table. Format: null.": "Mode : table des indices\nFormat : nul",
+ "Mode: hint table. Format: number.": "Mode : table des indices\nFormat : nombre",
+ "Mode: hint table. Format: string.": "Mode : table des indices\nFormat : chaîne",
+ "Mode: keyed text item. Format: boolean.": "Mode : keyed text item\nFormat : booléen",
+ "Mode: keyed text item. Format: dictionary.": "Mode : keyed text item\nFormat : dictionnaire",
+ "Mode: keyed text item. Format: integer.": "Mode : keyed text item\nFormat : entier",
+ "Mode: keyed text item. Format: list.": "Mode : keyed text item\nFormat : liste",
+ "Mode: keyed text item. Format: mixed values.": "Mode : keyed text item\nFormat : valeurs mixtes",
+ "Mode: keyed text item. Format: null.": "Mode : keyed text item\nFormat : nul",
+ "Mode: keyed text item. Format: number.": "Mode : keyed text item\nFormat : nombre",
+ "Mode: keyed text item. Format: string.": "Mode : keyed text item\nFormat : chaîne",
+ "Mode: list. Format: boolean.": "Mode : liste\nFormat : booléen",
+ "Mode: list. Format: dictionary.": "Mode : liste\nFormat : dictionnaire",
+ "Mode: list. Format: integer.": "Mode : liste\nFormat : entier",
+ "Mode: list. Format: list.": "Mode : liste\nFormat : liste",
+ "Mode: list. Format: mixed values.": "Mode : liste\nFormat : valeurs mixtes",
+ "Mode: list. Format: null.": "Mode : liste\nFormat : nul",
+ "Mode: list. Format: number.": "Mode : liste\nFormat : nombre",
+ "Mode: list. Format: string.": "Mode : liste\nFormat : chaîne",
+ "Mode: message: id + box_type + text. Format: boolean.": "Mode : message : id + box_type + text\nFormat : booléen",
+ "Mode: message: id + box_type + text. Format: dictionary.": "Mode : message : id + box_type + text\nFormat : dictionnaire",
+ "Mode: message: id + box_type + text. Format: integer.": "Mode : message : id + box_type + text\nFormat : entier",
+ "Mode: message: id + box_type + text. Format: list.": "Mode : message : id + box_type + text\nFormat : liste",
+ "Mode: message: id + box_type + text. Format: mixed values.": "Mode : message : id + box_type + text\nFormat : valeurs mixtes",
+ "Mode: message: id + box_type + text. Format: null.": "Mode : message : id + box_type + text\nFormat : nul",
+ "Mode: message: id + box_type + text. Format: number.": "Mode : message : id + box_type + text\nFormat : nombre",
+ "Mode: message: id + box_type + text. Format: string.": "Mode : message : id + box_type + text\nFormat : chaîne",
+ "Mode: message: id + text. Format: boolean.": "Mode : message : id + text\nFormat : booléen",
+ "Mode: message: id + text. Format: dictionary.": "Mode : message : id + text\nFormat : dictionnaire",
+ "Mode: message: id + text. Format: integer.": "Mode : message : id + text\nFormat : entier",
+ "Mode: message: id + text. Format: list.": "Mode : message : id + text\nFormat : liste",
+ "Mode: message: id + text. Format: mixed values.": "Mode : message : id + text\nFormat : valeurs mixtes",
+ "Mode: message: id + text. Format: null.": "Mode : message : id + text\nFormat : nul",
+ "Mode: message: id + text. Format: number.": "Mode : message : id + text\nFormat : nombre",
+ "Mode: message: id + text. Format: string.": "Mode : message : id + text\nFormat : chaîne",
+ "Mode: misc hint table. Format: boolean.": "Mode : table d’indices divers\nFormat : booléen",
+ "Mode: misc hint table. Format: dictionary.": "Mode : table d’indices divers\nFormat : dictionnaire",
+ "Mode: misc hint table. Format: integer.": "Mode : table d’indices divers\nFormat : entier",
+ "Mode: misc hint table. Format: list.": "Mode : table d’indices divers\nFormat : liste",
+ "Mode: misc hint table. Format: mixed values.": "Mode : table d’indices divers\nFormat : valeurs mixtes",
+ "Mode: misc hint table. Format: null.": "Mode : table d’indices divers\nFormat : nul",
+ "Mode: misc hint table. Format: number.": "Mode : table d’indices divers\nFormat : nombre",
+ "Mode: misc hint table. Format: string.": "Mode : table d’indices divers\nFormat : chaîne",
+ "Mode: scalar. Format: boolean.": "Mode : scalaire\nFormat : booléen",
+ "Mode: scalar. Format: dictionary.": "Mode : scalaire\nFormat : dictionnaire",
+ "Mode: scalar. Format: integer.": "Mode : scalaire\nFormat : entier",
+ "Mode: scalar. Format: list.": "Mode : scalaire\nFormat : liste",
+ "Mode: scalar. Format: mixed values.": "Mode : scalaire\nFormat : valeurs mixtes",
+ "Mode: scalar. Format: null.": "Mode : scalaire\nFormat : nul",
+ "Mode: scalar. Format: number.": "Mode : scalaire\nFormat : nombre",
+ "Mode: scalar. Format: string.": "Mode : scalaire\nFormat : chaîne",
+ "Mode: string list. Format: boolean.": "Mode : liste de chaînes\nFormat : booléen",
+ "Mode: string list. Format: dictionary.": "Mode : liste de chaînes\nFormat : dictionnaire",
+ "Mode: string list. Format: integer.": "Mode : liste de chaînes\nFormat : entier",
+ "Mode: string list. Format: list.": "Mode : liste de chaînes\nFormat : liste",
+ "Mode: string list. Format: mixed values.": "Mode : liste de chaînes\nFormat : valeurs mixtes",
+ "Mode: string list. Format: null.": "Mode : liste de chaînes\nFormat : nul",
+ "Mode: string list. Format: number.": "Mode : liste de chaînes\nFormat : nombre",
+ "Mode: string list. Format: string.": "Mode : liste de chaînes\nFormat : chaîne",
+ "Mode: {mode}\nFormat: {format}\n{note}": "Mode : {mode}\nFormat : {format}\n{note}",
+ "Modified": "Modified",
+ "Modo": "Modo",
+ "Modo: ": "Modo: ",
+ "Modus": "Modus",
+ "Modus: ": "Modus: ",
+ "Mouse-wheel scrolling is enabled for scrollable panels.": "Mouse-wheel scrolling is enabled for scrollable panels.",
+ "Multiplayer pronoun replacement map. Preserve the outgoing-item filename/player control code when adapting grammar.": "Multiplayer pronoun replacement map. Preserve the outgoing-item filename/player control code when adapting grammar.",
+ "Name / Gender": "Name / Gender",
+ "New Dungeon": "New Dungeon",
+ "New Goal": "New Goal",
+ "New Hint": "New Hint",
+ "New Language": "New Langue",
+ "No bin_patch entries are checked.": "No bin_patch entries are checked.",
+ "No bin_patch entries loaded. Expected local file: ~/data/bin_patch.json": "Aucune entrée bin_patch chargée. Fichier local attendu : ~/data/bin_patch.json",
+ "No copied item.": "No copied item.",
+ "No obvious problems found.": "No obvious problems found.",
+ "No selected row.": "Aucune ligne sélectionnée.",
+ "No word-by-word replacement is used.": "Aucun remplacement mot à mot n’est utilisé.",
+ "None": "None",
+ "Normalize sections whose historical type differs between language builds.": "Normalize sections whose historical type differs between langue builds.",
+ "Nothing to redo": "Nothing to redo",
+ "Nothing to undo": "Nothing to undo",
+ "Null": "Null",
+ "Number": "Nombre",
+ "OOTR Language Editor GUI": "OOTR Langue Editor GUI",
+ "OOTR Language Editor GUI TEMP": "OOTR Langue Editor GUI TEMP",
+ "Original ROM": "ROM originale",
+ "PATCH_TEXTS": "PATCH_TEXTS",
+ "PLAIN_TEXTS": "PLAIN_TEXTS",
+ "PLAIN_TEXTS expanded": "PLAIN_TEXTS expanded",
+ "Pair / mapping editor": "Éditeur paires/mappages",
+ "Parse editor text as JSON when possible; otherwise preserve it as a plain string.": "Parse editor text as JSON when possible; otherwise preserve it as a plain chaîne.",
+ "Paste": "Coller",
+ "Patch maker": "Générateur de patchs",
+ "Patch text table. Placeholders such as {color} and {destination_name} are patch values. A control code followed by a placeholder, such as \\x05{color}, is displayed as {color} while editing.": "Table des textes de patch. Les marqueurs comme {color} et {destination_name} sont des valeurs de patch. Un code de contrôle suivi d’un marqueur, comme \\x05{color}, apparaît comme {color} pendant l’édition.",
+ "Patch text専用: {color}, {destination_name} などはパッチ用placeholderです。\\x05{color} は {color} と表示します。": "Patch text専用: {color}, {destination_name} などはパッチ用placeholderです。\\x05{color} は {color} と表示します。",
+ "Per-language character width overrides. Keys can be visible characters, symbolic names such as [C-Up], message bytes like 0x9F, or index:N table slots.": "Per-langue character width overrides. Keys can be visible characters, symbolic names such as [C-Up], message bytes like 0x9F, or index:N table slots.",
+ "Post-processing replacement table. Format: [[from, to]]. Use for language-wide spelling or symbol replacements.": "Post-processing replacement table. Format: [[from, to]]. Utiliser for langue-wide spelling or symbol replacements.",
+ "Prefix rule editor": "Éditeur de règles de préfixe",
+ "Prefix専用エディタ: [gender]と[case]は追加型リスト、[prefix]は path = value 形式です。German版のような格/case階層も追加・削除できます。": "Prefix専用エディタ: [gender]と[case]は追加型リスト、[prefix]は path = value 形式です。German版のような格/case階層も追加・削除できます。",
+ "Preview": "Aperçu",
+ "Preview error": "Erreur d’aperçu",
+ "Property file": "Fichier property",
+ "Python": "Python",
+ "Python or JSON": "Python or JSON",
+ "REWARD_GOAL_TABLE": "REWARD_GOAL_TABLE",
+ "ROM": "ROM",
+ "Range": "Range",
+ "Raw preview shows the JSON-write form.": "L’aperçu raw montre la forme écrite dans le JSON.",
+ "Raw section JSON": "JSON brut de section",
+ "Raw segment export: source ROM → file": "Raw segment export: source ROM → file",
+ "Raw string preview": "Aperçu raw de la chaîne",
+ "Raw table preview": "Aperçu du tableau brut",
+ "Raw text / table preview": "Aperçu raw du texte / tableau",
+ "Raw text preview": "Aperçu du texte brut",
+ "Raw → Markup": "Brut → Markup",
+ "Readable control-code markup\n": "Readable control-code markup\n",
+ "Ready": "Prêt",
+ "Ready - default bin_patch not loaded: ": "Prêt - default bin_patch not loaded: ",
+ "Ready - default template: ": "Prêt - default template: ",
+ "Ready - section-specific editors enabled; TEMP: ": "Prêt - section-specific editors enabled; TEMP: ",
+ "Redo data edit": "Rétablir la modification des données",
+ "Refresh checklist": "Refresh checklist",
+ "Refresh colors": "Refresh colors",
+ "Region names used as extra names in shop text and hints.": "Region names used as extra names in shop text and hints.",
+ "Reload current section": "Recharger la section actuelle",
+ "Reload section editor": "Recharger l’éditeur de section",
+ "Removed ": "Removed ",
+ "Replacement list専用エディタ: source => replacement 形式で配列ペアを編集します。": "Replacement liste専用エディタ: source => replacement 形式で配列ペアを編集します。",
+ "Return a user-facing schema name for the selected top-level section.": "Return a user-facing schema name for the selected top-level section.",
+ "Reward goal hint labels. Keep reward keys stable; translate clear/vague display strings.": "Reward goal hint labels. Keep reward keys stable; translate clear/vague display strings.",
+ "Right": "Right",
+ "SHOP_TEXTS": "SHOP_TEXTS",
+ "Save": "Enregistrer",
+ "Save As...": "Enregistrer sous...",
+ "Save current changes before continuing?": "Enregistrer current changes before continuing?",
+ "Save failed": "Échec de l’enregistrement",
+ "Save policy": "Save policy",
+ "Saved": "Enregistré",
+ "Saved ": "Enregistré : ",
+ "Saving always exports the complete property.json. No section picker is used, because the OOTR language property must keep every required section.": "L’enregistrement exporte toujours un property.json complet. Aucun sélecteur de section n’est utilisé, car la propriété de langue OOTR doit conserver toutes les sections requises.",
+ "Scalar section: edit the whole value from Raw section JSON.": "Section de valeur scalaire. Modifiez toute la valeur depuis Raw section JSON.",
+ "Scalar value editor": "Éditeur de valeur scalaire",
+ "Search": "Rechercher",
+ "Search text used with pronoun/player replacement logic. In the English template this is 'you'.": "Recherche text used with pronoun/player replacement logic. In the English template this is 'you'.",
+ "Section note": "Note de section",
+ "Section-specific editor tools": "Outils par section",
+ "Sections": "Sections",
+ "Segment export failed": "Segment export failed",
+ "Select UI language": "Sélectionner la langue de l’interface",
+ "Select a list item or dictionary key first, or use Raw section JSON for scalar sections.": "Select a liste item or dictionnaire key first, or use JSON brut de section for scalaire sections.",
+ "Select a list item or dictionary key first.": "Select a liste item or dictionnaire key first.",
+ "Select a list row or dictionary row, or delete directly in the right-side section editor.": "Select a liste row or dictionnaire row, or delete directement in the right-side section editor.",
+ "Select all": "Select all",
+ "Select an item first.": "Select an item first.",
+ "Selected entry / section item": "Entrée sélectionnée / élément de section",
+ "Set local export folder...": "Définir le dossier local...",
+ "Shop description and purchase text. Preserve placeholders such as {base_name}, {price}, {extra_name}, and {player_id}.": "Shop description and purchase text. Preserve placeholders such as {base_name}, {price}, {extra_name}, and {player_id}.",
+ "Shop text table. Placeholders such as {price}, {item}, and {player_id} are highlighted. Dictionary and list values are edited one item at a time.": "Table des textes de boutique. Les marqueurs comme {price}, {item} et {player_id} sont surlignés. Les valeurs de dictionnaire et de liste se modifient élément par élément.",
+ "Shop text専用: {price}, {item}, {player_id} などのplaceholderをハイライトします。辞書/リスト値はJSONとして項目別編集できます。": "Shop text専用: {price}, {item}, {player_id} などのplaceholderをハイライトします。辞書/リスト値はJSONとして項目別編集できます。",
+ "Show/edit metadata fields (ID / box_type)": "Show/edit metadata fields (ID / box_type)",
+ "Single/manual patch export": "Single/manual patch export",
+ "Size": "Taille",
+ "Sort": "Trier",
+ "Sort message section by ID": "Sort message section by ID",
+ "Source PLAIN_TEXTS is not a list.": "Source PLAIN_TEXTS is not a liste.",
+ "Source ROM": "ROM source",
+ "Special fallback/custom item hint templates. Preserve placeholders such as {area} and {item}.": "Special fallback/custom item hint templates. Preserve placeholders such as {area} and {item}.",
+ "Special fallback/custom location hint templates. Preserve placeholders and dictionary structure.": "Special fallback/custom location hint templates. Preserve placeholders and dictionnaire structure.",
+ "Start": "Début",
+ "String": "Chaîne",
+ "String list editor": "Éditeur de liste de chaînes",
+ "TEMP": "TEMP",
+ "TEMP JSON": "TEMP JSON",
+ "TEMP save failed": "TEMP save failed",
+ "Text": "Texte",
+ "Text / Key": "Text / Key",
+ "Text Key": "Clé de texte",
+ "Text editor": "Éditeur de texte",
+ "Text editor: type control codes directly. Color ranges are painted live: red text. Also supports , , , line breaks, and ▼.": "Éditeur de texte. Vous pouvez saisir les codes de contrôle directement. Les plages de couleur sont colorées en direct, par exemple texte rouge. Prend aussi en charge , , , les retours à la ligne et ▼.",
+ "Texts consumed by patch logic. Preserve placeholders such as {destination_name}, {item}, {price}, {color}, and player fields.": "Texts consumed by patch logic. Preserve placeholders such as {destination_name}, {item}, {price}, {color}, and player fields.",
+ "The 'property' object is the last applied data. 'draft_text_editor' may contain unapplied right-side edits.": "The 'propriété' object is the last applied data. 'draft_text_editor' may contain unapplied right-side edits.",
+ "The editor switches by section shape: message entries, list items, dictionary keys, and nested JSON values are handled differently.": "L’éditeur change selon la forme de la section : les messages, les éléments de liste, les clés de dictionnaire et les valeurs JSON imbriquées sont traités différemment.",
+ "The final property.json can be exported directly.": "The final propriété.json can be exported directement.",
+ "The interface language was updated without changing the current property data.": "The interface langue was updated without changing the current propriété data.",
+ "The selected JSON root must be an object/dictionary.": "The selected JSON root must be an object/dictionnaire.",
+ "The selected range is outside one of the ROM files.": "The selected range is outside one of the ROM files.",
+ "The selected section is not a list.": "The selected section is not a liste.",
+ "The selected segment is outside the ROM file.": "The selected segment is outside the ROM file.",
+ "The text editor stores name/gender/has_map. This checkbox mirrors has_map for easier editing.": "L’éditeur de texte contient name/gender/has_map. Cette case reflète has_map pour faciliter l’édition.",
+ "This editor applies the entire currently selected top-level section. It is the fallback editor for every schema: dictionaries, lists, nested tables, strings, numbers, and mixed values.": "Cet éditeur applique toute la section de premier niveau sélectionnée. C’est l’éditeur de secours pour tous les schémas : dictionnaires, listes, tables imbriquées, chaînes, nombres et valeurs mixtes.",
+ "This section is a scalar value. Use Raw section JSON to change it.": "This section is a scalaire value. Utiliser JSON brut de section to change it.",
+ "This section is a scalar value. Use Raw section JSON to change its shape first.": "This section is a scalaire value. Utiliser JSON brut de section to change its shape first.",
+ "To": "To",
+ "To / As": "Vers / Comme",
+ "To / Value": "To / Value",
+ "Tools": "Outils",
+ "Trial name replacements for Ganon's Castle trial text.": "Trial name replacements for Ganon's Castle trial text.",
+ "Type": "Type",
+ "Type / Fields": "Type / Fields",
+ "UI Language": "Langue de l’interface",
+ "UI text is loaded from language_editor_ui.json.": "UI text is loaded from language_editor_ui.json.",
+ "UI text is translated only by full exact sentence keys.": "Le texte de l’interface est traduit uniquement par des clés de phrase complètes exactes.",
+ "Uncheck all": "Tout décocher",
+ "Undo data edit": "Annuler la modification des données",
+ "Unsaved changes": "Modifications non enregistrées",
+ "Use": "Use",
+ "Use Raw section JSON for this scalar section.": "Utilisez Raw section JSON pour cette section scalaire.",
+ "Use key range": "Use key range",
+ "Vague / Clear": "Vague / Clear",
+ "Vague Name": "Vague Name",
+ "Validate current property": "Validate current property",
+ "Validation": "Validation",
+ "Verb normalization map used with multiplayer/player text replacement.": "Verb normalization map used with multiplayer/player text replacement.",
+ "WM_DELETE_WINDOW": "WM_DELETE_WINDOW",
+ "Wide English metrics": "Métriques anglaises larges",
+ "Width": "Width",
+ "Wrap long UI-only prose without changing JSON data or user-entered strings.": "Wrap long UI-only prose without changing JSON data or user-entered strings.",
+ "Write TEMP now": "Écrire TEMP maintenant",
+ "Wrote ": "Wrote ",
+ "Wrote TEMP ": "Wrote TEMP ",
+ "Wrote diff patch: ": "Wrote diff patch: ",
+ "Wrote segment: ": "Wrote segment: ",
+ "X": "X",
+ "[C Down]": "[C Down]",
+ "[C Left]": "[C Left]",
+ "[C Right]": "[C Right]",
+ "[C Up]": "[C Up]",
+ "[C-Down]": "[C-Down]",
+ "[C-Left]": "[C-Left]",
+ "[C-Right]": "[C-Right]",
+ "[C-Up]": "[C-Up]",
+ "[Control Stick]": "[Control Stick]",
+ "[L]": "[L]",
+ "[R]": "[R]",
+ "[Triangle]": "[Triangle]",
+ "[Z]": "[Z]",
+ "[field:": "[field:",
+ "\\n...and ": "\\n...and ",
+ "] box_type is not an integer.": "] box_type is not an entier.",
+ "] has no integer id.": "] has no entier id.",
+ "] has no string text.": "] has no chaîne text.",
+ "] is not a dictionary.": "] is not a dictionnaire.",
+ "_ORIG_V47_REFRESH_ALL": "_ORIG_V47_REFRESH_ALL",
+ "_S": "_S",
+ "_V46_CURRENT_APP": "_V46_CURRENT_APP",
+ "_V47_MODE_LABELS": "_V47_MODE_LABELS",
+ "_V47_SCHEMA_LABELS": "_V47_SCHEMA_LABELS",
+ "allow instant text": "allow instant text",
+ "bin_patch entries / editable output filenames": "bin_patch entries / editable output filenames",
+ "bin_patch key": "bin_patch key",
+ "bin_patch load failed": "bin_patch load failed",
+ "bin_patch loaded": "bin_patch loaded",
+ "bin_patch.json": "bin_patch.json",
+ "bin_patch.json not found": "bin_patch.json not found",
+ "boolean": "booléen",
+ "box_type": "box_type",
+ "box_type:": "box_type:",
+ "case: ": "case: ",
+ "character-width table": "character-width table",
+ "current time": "current time",
+ "delay each character by": "delay each character by",
+ "dictionary": "dictionnaire",
+ "dictionary / mapping": "dictionnaire / mapping",
+ "dictionary pairs": "dictionnaire pairs",
+ "disallow instant text": "disallow instant text",
+ "dungeon table": "dungeon table",
+ "empty list": "empty liste",
+ "fade after": "fade after",
+ "fish weight": "fish weight",
+ "function calls are not allowed": "function calls are not allowed",
+ "gender = ": "gender = ",
+ "gender: ": "gender: ",
+ "goal-name table": "goal-name table",
+ "has_map = ": "has_map = ",
+ "hint table": "table des indices",
+ "idx::": "idx::",
+ "integer": "entier",
+ "keep open": "keep open",
+ "key count": "key count",
+ "key::": "key::",
+ "keyed text item": "keyed text item",
+ "lang_property must be a dictionary.": "lang_property must be a dictionnaire.",
+ "lang_property.align_text should be Left, Center, or Right.": "lang_property.align_text should be Left, Center, or Right.",
+ "lang_property.base should be 'en' or 'jp'.": "lang_property.base should be 'en' or 'jp'.",
+ "language_editor_ui.json was loaded.": "language_editor_ui.json a été chargé.",
+ "list": "liste",
+ "list of arrays / tuples": "liste of arrays / tuples",
+ "list of dictionaries": "liste of dictionaries",
+ "list of strings": "liste of strings",
+ "marathon time": "marathon time",
+ "message list: id + box_type + text": "message liste: id + box_type + text",
+ "message list: id + text": "message liste: id + text",
+ "message: id + box_type + text": "message: id + box_type + text",
+ "message: id + text": "message: id + text",
+ "misc hint table": "misc table des indices",
+ "mixed list": "mixed liste",
+ "name = ": "name = ",
+ "new item": "new item",
+ "null": "nul",
+ "number": "nombre",
+ "play SFX": "play SFX",
+ "prefix::": "prefix::",
+ "prefix::case": "prefix::case",
+ "prefix::gender": "prefix::gender",
+ "race time": "race time",
+ "set background to": "set background to",
+ "silver rupee count": "silver rupee count",
+ "skulltula count": "skulltula count",
+ "start three choice": "start three choice",
+ "start two choice": "start two choice",
+ "string": "chaîne",
+ "string list": "chaîne liste",
+ "text is unskippable": "text is unskippable",
+ "unsupported attribute: ": "unsupported attribute: ",
+ "unsupported expression node: ": "unsupported expression node: ",
+ "~/data": "~/data",
+ "~/data/lang": "~/data/lang",
+ "Å": "Å",
+ "Режим": "Режим",
+ "Режим: ": "Режим: ",
+ "Русский": "Русский",
+ "Формат": "Формат",
+ "モード: ": "モード: ",
+ "文字幅指定です。キーは文字そのもの、[C-Up] 等の名前、0x9F、index:143、JPでは0x824Fなどの文字コードを使えます。値は整数または variant別の辞書です。": "文字幅指定です。キーは文字そのもの、[C-Up] 等の名前、0x9F、index:143、JPでは0x824Fなどの文字コードを使えます。値は整数または variant別の辞書です。",
+ "OOTR Language Editor Developer Tool": "Outil de développement de l’éditeur de langue OOTR",
+ "Load default template": "Charger le modèle par défaut",
+ "Merge missing defaults": "Fusionner les valeurs par défaut manquantes",
+ "Apply editor": "Appliquer l’éditeur",
+ "Apply editor JSON": "Appliquer le JSON de l’éditeur",
+ "Add list line": "Ajouter une ligne de liste",
+ "Remove last list line": "Supprimer la dernière ligne de liste",
+ "Entries": "Entrées",
+ "Selected section": "Section sélectionnée",
+ "Selected entry": "Entrée sélectionnée",
+ "Raw JSON preview": "Aperçu JSON brut",
+ "Raw write-form JSON preview": "Aperçu JSON au format d’écriture",
+ "Search sections": "Rechercher des sections",
+ "Search entries": "Rechercher des entrées",
+ "Mode: {mode}": "Mode : {mode}",
+ "Format: {format}": "Format : {format}",
+ "Default template loaded.": "Modèle par défaut chargé.",
+ "Missing default entries merged.": "Les entrées par défaut manquantes ont été fusionnées.",
+ "Loaded property.json and merged missing defaults.": "property.json chargé et valeurs par défaut manquantes fusionnées.",
+ "Exported complete property.json": "property.json complet exporté",
+ "No property.json loaded": "Aucun property.json chargé",
+ "File: {path}": "Fichier : {path}",
+ "TEMP saved: {path}": "TEMP enregistré : {path}",
+ "TEMP save failed: {message}": "Échec de l’enregistrement TEMP : {message}",
+ "Load failed: {message}": "Échec du chargement : {message}",
+ "Export failed: {message}": "Échec de l’exportation : {message}",
+ "Apply failed: {message}": "Échec de l’application : {message}",
+ "Applied editor value": "Valeur de l’éditeur appliquée",
+ "Entry editor": "Éditeur d’entrée",
+ "Section editor": "Éditeur de section",
+ "Message entry": "Entrée de message",
+ "Hint table entry": "Entrée de table d’indices",
+ "Goal name entry": "Entrée de nom d’objectif",
+ "Patch/shop/hint text entry": "Entrée de texte patch/boutique/indice",
+ "Mapping entry": "Entrée de correspondance",
+ "Dungeon entry": "Entrée de donjon",
+ "Prefix rule section": "Section de règles de préfixe",
+ "Dictionary entry": "Entrée de dictionnaire",
+ "List entry": "Entrée de liste",
+ "Scalar entry": "Entrée scalaire",
+ "friendly text": "texte éditable",
+ "list text": "texte de liste",
+ "field text": "texte de champs",
+ "Prefix section for Language-style text such as [prefix.definite.nominative.masculine]. Keep gender, case, and nested prefix rules intact.": "Prefix section for Language-style text such as [prefix.definite.nominative.masculine]. Keep gender, case, and nested prefix rules intact.",
+ "Hint table section. Entries contain vague_hint, clear_hint, and gender. Empty Vague Hint becomes null, one line becomes string, and multiple lines become a list.": "Hint table section. Entries contain vague_hint, clear_hint, and gender. Empty Vague Hint becomes null, one line becomes string, and multiple lines become a list.",
+ "Boss/reward goal table section. Entries contain vague and clear names. #...# is shown as ... in the editor.": "Boss/reward goal table section. Entries contain vague and clear names. #...# is shown as ... in the editor.",
+ "Patch text section. Placeholder tokens such as {color} are written for patch-time replacement. Control codes are shown as markup in the editor and as JSON escapes in the raw preview.": "Patch text section. Placeholder tokens such as {color} are written for patch-time replacement. Control codes are shown as markup in the editor and as JSON escapes in the raw preview.",
+ "Shop text section. Keep placeholder tokens and control characters exactly unless you intend to change game text behavior.": "Shop text section. Keep placeholder tokens and control characters exactly unless you intend to change game text behavior.",
+ "Character width overrides. Keys may be visible characters, symbolic names, hex byte strings, or table slots.": "Character width overrides. Keys may be visible characters, symbolic names, hex byte strings, or table slots.",
+ "General property section. Keep the existing JSON shape unless the loading code requires a different schema.": "General property section. Keep the existing JSON shape unless the loading code requires a different schema.",
+ "Language metadata section. This is exported as-is unless you edit the JSON directly.": "Language metadata section. This is exported as-is unless you edit the JSON directly.",
+ "Dungeon list section. The editor exposes name, gender, and has_map; has_map is stored as a boolean.": "Dungeon list section. The editor exposes name, gender, and has_map; has_map is stored as a boolean.",
+ "Mapping section. Each entry is a fixed string-to-string replacement.": "Mapping section. Each entry is a fixed string-to-string replacement.",
+ "View": "Affichage",
+ "Quit": "Quitter",
+ "Reload": "Recharger",
+ "Toggle Developer Tools": "Basculer les outils de développement",
+ "Modified ROM": "ROM modifiée",
+ "Select ROMs": "Sélectionner les ROM",
+ "Output folder": "Dossier de sortie",
+ "Select output": "Choisir la sortie",
+ "Segment start": "Début du segment",
+ "Segment size": "Taille du segment",
+ "Segment filename": "Nom du segment",
+ "Select original ROM": "Sélectionner la ROM originale",
+ "Select modified ROM": "Sélectionner la ROM modifiée",
+ "Select output folder": "Sélectionner le dossier de sortie",
+ "Generated {count} patch files.": "{count} fichiers de patch générés.",
+ "Patch generation failed: {message}": "Échec de la génération du patch : {message}",
+ "Exported raw segment: {path}": "Segment brut exporté : {path}",
+ "Segment export failed: {message}": "Échec de l’export du segment : {message}",
+ "No patch generated.": "Aucun patch généré pour le moment.",
+ "Select ROM": "Sélectionner une ROM",
+ "Select folder": "Sélectionner un dossier",
+ "Raw preview": "Aperçu brut",
+ "Section JSON": "JSON de section",
+ "Section JSON editor": "Éditeur JSON de section",
+ "Applied section JSON": "JSON de section appliqué",
+ "Add entry": "Ajouter une entrée",
+ "Copy entry": "Copier l’entrée",
+ "Paste entry": "Coller l’entrée",
+ "Entry editor type": "Type d’éditeur d’entrée",
+ "Auto": "Auto",
+ "String dictionary": "Dictionnaire de chaînes",
+ "Friendly value": "Valeur lisible",
+ "Editor type: {type}": "Type d’éditeur : {type}",
+ "Added entry.": "Entrée ajoutée.",
+ "Deleted entry.": "Entrée supprimée.",
+ "Copied entry to clipboard.": "Entrée copiée dans le presse-papiers.",
+ "Pasted entry.": "Entrée collée.",
+ "Cannot add entry to this section.": "Impossible d’ajouter une entrée à cette section.",
+ "Cannot delete this entry.": "Impossible de supprimer cette entrée.",
+ "No copied entry to paste.": "Aucune entrée copiée à coller.",
+ "Dictionary line must use key => value: {line}": "Dictionary line must use key => value: {line}",
+ "wide_text_english_metrics": "wide_text_english_metrics",
+ "align_text": "align_text",
+ "base": "base",
+ "display_name": "display_name",
+ "description": "description",
+ "en": "en",
+ "jp": "jp",
+ "true": "true",
+ "false": "false",
+ "Value": "Value",
+ "CHAR_WIDTHS table": "CHAR_WIDTHS table",
+ "Cut": "Cut",
+ "Check both Blue Fire segments": "Check both Blue Fire segments",
+ "Export checked raw segments": "Export checked raw segments",
+ "Blue Fire Arrow item name EN": "Blue Fire Arrow item name EN",
+ "ROM and output folder are required.": "ROM and output folder are required.",
+ "Exported {count} raw segments.": "Exported {count} raw segments.",
+ "Blue Fire Arrow item name JP": "Blue Fire Arrow item name JP",
+ "Uncheck Blue Fire segments": "Uncheck Blue Fire segments",
+ "No raw segment presets are selected.": "No raw segment presets are selected.",
+ "Export manual raw segment": "Export manual raw segment",
+ "Manual segment size": "Manual segment size",
+ "Ctrl/Cmd+1-4 tabs · Ctrl/Cmd+Enter apply · Ctrl/Cmd+S export · Ctrl/Cmd+Shift+C/V entry copy/paste · Ctrl/Cmd+Alt+R export Blue Fire": "Ctrl/Cmd+1-4 tabs · Ctrl/Cmd+Enter apply · Ctrl/Cmd+S export · Ctrl/Cmd+Shift+C/V entry copy/paste · Ctrl/Cmd+Alt+R export Blue Fire",
+ "Manual segment start": "Manual segment start",
+ "Blue Fire raw segment presets": "Blue Fire raw segment presets",
+ "Select All": "Select All",
+ "Manual segment filename": "Manual segment filename",
+ "Diff patch uses XOR over bin_patch ranges, then zlib compression.": "Le patch différentiel utilise XOR sur les plages bin_patch, puis une compression zlib.",
+ "Created new property data from built-in defaults": "Nouvelles données de propriété créées à partir des valeurs intégrées",
+ "New from built-in defaults": "Nouveau depuis les valeurs intégrées",
+ "Ready - default template loaded": "Prêt - modèle par défaut chargé",
+ "Built-in defaults": "Valeurs intégrées",
+ "Save entry": "Enregistrer l’entrée",
+ "Saved entry.": "Entrée enregistrée.",
+ "Save entry failed: {message}": "Échec de l’enregistrement de l’entrée : {message}",
+ "Duplicate entry": "Dupliquer l’entrée",
+ "Duplicated entry.": "Entrée dupliquée.",
+ "Cannot duplicate this entry.": "Cette entrée ne peut pas être dupliquée.",
+ "Entry ID": "ID de l’entrée",
+ "Apply ID": "Appliquer l’ID",
+ "Entry ID updated.": "ID de l’entrée mis à jour.",
+ "This entry has no editable ID.": "Cette entrée n’a pas d’ID modifiable.",
+ "ID update failed: {message}": "Échec de la mise à jour de l’ID : {message}",
+ "New entry ID": "Nouvel ID d’entrée",
+ "Move up": "Monter",
+ "Move down": "Descendre",
+ "Sort by ID": "Trier par ID",
+ "Validate": "Valider",
+ "Next ID": "ID suivant",
+ "Validate entry": "Valider l’entrée",
+ "Find": "Rechercher",
+ "Replace": "Remplacer",
+ "Find next": "Suivant",
+ "Replace all": "Tout remplacer",
+ "Unsaved entry draft": "Brouillon d’entrée non enregistré",
+ "The current entry has unsaved editor changes. Save it before continuing?": "L’entrée actuelle contient des modifications non enregistrées. Les enregistrer avant de continuer ?",
+ "Discard the unsaved entry draft and continue?": "Ignorer le brouillon non enregistré et continuer ?",
+ "The current property has unsaved changes. Continue?": "Le property actuel contient des modifications non enregistrées. Continuer ?",
+ "ID {id} already exists. Use it anyway?": "L’ID {id} existe déjà. L’utiliser quand même ?",
+ "Invalid ID: {message}": "ID invalide : {message}",
+ "Duplicate ID": "ID dupliqué",
+ "Duplicate ID detected: {id}": "ID dupliqué détecté : {id}",
+ "ID must be a non-negative integer.": "L’ID doit être un entier positif ou nul.",
+ "box_type must be between 0x00 and 0xFF.": "box_type doit être compris entre 0x00 et 0xFF.",
+ "Replacement table entries must be source => replacement string pairs.": "Les entrées de remplacement doivent être des paires source => replacement.",
+ "CHAR_WIDTHS must be a dictionary.": "CHAR_WIDTHS doit être un dictionnaire.",
+ "Entry validation passed.": "Validation de l’entrée réussie.",
+ "Entry validation failed: {message}": "Échec de validation de l’entrée : {message}",
+ "Property validation passed.": "Validation du property réussie.",
+ "Property validation found {count} issue(s).": "La validation a trouvé {count} problème(s).",
+ "Export build failed: {message}": "Échec de création de l’export : {message}",
+ "This section cannot be reordered.": "Cette section ne peut pas être réordonnée.",
+ "Moved entry.": "Entrée déplacée.",
+ "This section has no sortable IDs.": "Cette section n’a pas d’ID triables.",
+ "Sorted entries by ID.": "Entrées triées par ID.",
+ "Text not found.": "Texte introuvable.",
+ "Replaced {count} occurrence(s).": "{count} occurrence(s) remplacée(s).",
+ "Move entry up": "Monter l’entrée",
+ "Move entry down": "Descendre l’entrée",
+ "Sort entries by ID": "Trier les entrées par ID",
+ "Validate property": "Valider le property",
+ "replace_table": "replace_table",
+ "Replacement entry": "Replacement entry",
+ "source => replacement": "source => replacement",
+ "replace_table entries must be {from:string, to:string}.": "replace_table entries must be {from:string, to:string}.",
+ "replace_table source must not be empty.": "replace_table source must not be empty.",
+ "replace_table has empty, duplicate, or invalid entries.": "replace_table has empty, duplicate, or invalid entries.",
+ "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to} and edited as source => replacement.": "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to} and edited as source => replacement.",
+ "No entry selected.": "No entry selected.",
+ "This section does not support entry paste or duplication.": "This section does not support entry paste or duplication.",
+ "ID already exists. A new ID is required.": "ID already exists. A new ID is required.",
+ "Current entry": "Current entry",
+ "Current section": "Current section",
+ "All text sections": "All text sections",
+ "Find text": "Texte à rechercher",
+ "Replacement text": "Texte de remplacement",
+ "Protect control codes": "Protéger les codes de contrôle",
+ "Apply bulk replace": "Apply bulk replace",
+ "Find text is empty.": "Find text is empty.",
+ "{count} replacement(s).": "{count} replacement(s).",
+ "This section is skipped by bulk replace.": "This section is skipped by bulk replace.",
+ "{count} entry(ies) selected.": "{count} entry(ies) selected.",
+ "{count} selected": "{count} selected",
+ "Copied {count} entry(ies) to clipboard.": "Copied {count} entry(ies) to clipboard.",
+ "Pasted {count} entry(ies).": "Pasted {count} entry(ies).",
+ "Duplicated {count} entry(ies).": "Duplicated {count} entry(ies).",
+ "Delete {count} selected entry(ies)?": "Delete {count} selected entry(ies)?",
+ "Deleted {count} entry(ies).": "Deleted {count} entry(ies).",
+ "Moved {count} entry(ies).": "Moved {count} entry(ies).",
+ "First new entry ID": "First new entry ID",
+ "Invalid ID.": "Invalid ID.",
+ "Replace text in all entries...": "Remplacer le texte dans toutes les entrées...",
+ "Find text for all entries": "Texte à rechercher dans toutes les entrées",
+ "Replacement text for all entries": "Texte de remplacement pour toutes les entrées",
+ "Replace {count} occurrence(s) in all entries?": "Remplacer {count} occurrence(s) dans toutes les entrées ?",
+ "Replaced {count} occurrence(s) in all entries.": "{count} occurrence(s) remplacée(s) dans toutes les entrées.",
+ "No matching text was found.": "Aucun texte correspondant trouvé.",
+ "Replace text in all entries": "Remplacer le texte dans toutes les entrées",
+ "Target": "Cible",
+ "All editable entries": "Toutes les entrées modifiables",
+ "Control code arguments will not be changed.": "Les arguments des codes de contrôle ne seront pas modifiés.",
+ "Cancel": "Annuler",
+ "Undo": "Annuler",
+ "Redo": "Rétablir",
+ "Entry is valid.": "L’entrée est valide.",
+ "Validate failed: {message}": "La validation a échoué : {message}",
+ "Replace list": "Liste de remplacements",
+ "Save changes before closing?": "Enregistrer les modifications avant de fermer ?",
+ "The property has unsaved changes. Save before closing?": "La property contient des modifications non enregistrées. Enregistrer avant de fermer ?",
+ "Don't Save": "Ne pas enregistrer",
+ "Save and close": "Enregistrer et fermer",
+ "Choose Save to write the current property, Don't Save to exit without writing, or Cancel to keep editing.": "Choisissez Enregistrer pour écrire la property actuelle, Ne pas enregistrer pour quitter sans écrire, ou Annuler pour continuer l’édition.",
+ "Character replacement list applied after placeholders are resolved while preserving text control codes. Each entry is stored as {from, to}, edited as source => replacement, and may use Shift-JIS byte tokens such as 0x819F.": "Liste de remplacement de caractères appliquée après la résolution des espaces réservés, tout en préservant les codes de contrôle du texte. Chaque entrée est enregistrée sous la forme {from, to}, éditée comme source => replacement, et peut utiliser des jetons d’octets Shift-JIS tels que 0x819F.",
+ "invalid Shift-JIS code": "code Shift-JIS invalide",
+ "Invalid Shift-JIS code in source: {value}": "Code Shift-JIS invalide dans la source : {value}",
+ "Invalid Shift-JIS code in replacement: {value}": "Code Shift-JIS invalide dans le remplacement : {value}",
+ "replace_table has empty, duplicate, control-code, or invalid entries.": "replace_table has empty, duplicate, control-code, or invalid entries.",
+ "Invalid Shift-JIS code in {label}: {value}": "Invalid Shift-JIS code in {label}: {value}",
+ "Control codes are not allowed in replace_table {label}.": "Control codes are not allowed in replace_table {label}.",
+ "Duplicate replace_table source: {value}": "Duplicate replace_table source: {value}",
+ "Saved {count} replace_table entry/entries.": "Saved {count} replace_table entry/entries.",
+ "Replacement table entry": "Replacement table entry",
+ "Replace table": "Table de remplacement",
+ "Language properties": "Propriétés de langue",
+ "Language base": "Base de langue",
+ "Display name": "Nom affiché",
+ "Text alignment": "Alignement du texte",
+ "Use English-like wide text metrics": "Utiliser des métriques larges de type anglais",
+ "Apply language properties": "Appliquer les propriétés de langue",
+ "Reset language properties": "Réinitialiser les propriétés de langue",
+ "Language properties updated.": "Propriétés de langue mises à jour.",
+ "Language property update failed: {message}": "Échec de mise à jour des propriétés de langue : {message}",
+ "Language properties reset.": "Propriétés de langue réinitialisées.",
+ "[from] ... [to] ...": "[from] ... [to] ...",
+ "Language base changed. Text control codes were converted.": "La base de langue a été modifiée et les codes de contrôle du texte ont été convertis.",
+ "Language base conversion failed: {message}": "Échec de la conversion de la base de langue : {message}"
+ },
+ "de": {
+ "": "",
+ "\n\nWarnings:\n": "\n\nWarnings:\n",
+ "\n# Add a gender under [gender] or a rule under [prefix]\nnew_rule/no_gender = \n": "\n# Add a gender under [gender] or a rule under [prefix]\nnew_rule/no_gender = \n",
+ "\n- new item\n": "\n- new item\n",
+ "\n- new_search_text\n": "\n- new_search_text\n",
+ "\nFormat : ": "\nFormat : ",
+ "\nFormat: ": "\nFormat: ",
+ "\nFormato: ": "\nFormato: ",
+ "\nJapanese stand-in conversion:\n": "\nJapanese stand-in conversion:\n",
+ "\nnew_key => \"new value\"\n": "\nnew_key => \"new value\"\n",
+ "\nsource text => replacement text\n": "\nsource text => replacement text\n",
+ "\nФормат: ": "\nФормат: ",
+ "\nフォーマット: ": "\nフォーマット: ",
+ " #XX -> color XX\n": " #XX -> color XX\n",
+ " & -> line break\n": " & -> line break\n",
+ " ... \n": " ... \n",
+ " \n": " \n",
+ " \n": "