# This is a comment
# key = Text
# Each line represents a different translation.
# '\n' can be used for inserting newlines in paragraphs. Leading and trailing spaces of keys and texts are removed.
# " navmenu =  This  is a    test   " becomes "navmenu=This  is a    test", so feel free to align what needs to be aligned

# Utils #

item = Item
end = END
yes = Yes
no = No
mota_00 = Anims 1
mota_01 = Anims 2
mota_02 = Hands 1
mota_03 = Hands 2
mota_04 = Face 1
mota_05 = Face 2
mota_06 = Wings 1
mota_07 = Wings 2
mota_08 = Camera 1
mota_09 = Camera 2
mota_10 = Unknown 1
mota_11 = Unknown 2
close = Close
close_window = Close window
1p = Player 1
2p = Player 2
3p = Player 3
4p = Player 4
select_game = Select a game

# Process #

process.status = Status:
process.game_not_attached = Currently not trying to attach. Please select a game.
process.game_attached = Game is running and attached.
process.game_not_running = Game is not running or could not be found.
process.game_version_mismatch = The current game version is not supported by game_address.txt.
process.game_attach_err = Game found but could not attach. This may be caused by underprivileged rights.
process.game_unexpected_exit = Game exited unexpectedly.

# Moveset #
moveset.origin = Origin
moveset.target_character = Character
moveset.date = Date
moveset.invalid = INVALID7
moveset.size = Size
moveset.size_mb = MB
moveset.size_kb = KB
moveset.import = Import
moveset.edit = Edit
moveset.delete = Delete
moveset.version = Version

## Main ##

# Navmenu #
navmenu.category_moveset = Movesets
navmenu.extraction = Extraction
navmenu.import = Import
navmenu.online = Online play

navmenu.category_tools   = Tools
navmenu.moveset_edit = Moveset Edition
navmenu.camera = Camera

navmenu.category_other   = Other
navmenu.documentation = Documentation
navmenu.about = About

## Submenus ##

# Extraction #
extraction.explanation = Movesets have to first be extracted from the game to be then used. Extracts only movesets : not models or visual effects.\nExtraction is done with the game running (from memory), with the target character(s) loaded and visible on the screen (it doesn't matter what gamemode).
extraction.extraction = Extraction
extraction.extract = Extract
extraction.extract_all = Extract (all)
extraction.extract_from = Extract from:
extraction.overwrite_duplicate = Overwrite moveset with same name
extraction.overwrite_explanation = Enable to overwrite moveset with same names.\nDisable to have name conflicts resolved with number suffixes.\nEx: T7_JIN (2)
extraction.progress = Extracting... (%u%%)
extraction.progress_error = Extracting error (%u%%)
extraction.progress_done = Extracting... Done!
extraction.extracted_movesets = Extracted movesets
extraction.rename = Rename moveset
extraction.cant_extract = Cannot extract because characters aren't loaded.
extraction.error_file_creation = There was an error while creating the moveset file
extraction.error_allocation = There was a memory allocation error while copying the moveset data
extraction.mota_explanation = Additional animations
extraction.settings = Settings

# Importation #
importation.explanation = After movesets are extracted and saved on your computer, they can be loaded into an active game (must not be online) using this submenu. This is a one time only thing: movesets loaded here will be unloaded after you pass through any loading screen, so this is mainly for training mode use.\nFor online play, see the "Online" section.
importation.importation = Importation
importation.select_moveset = Select moveset to import
importation.deallocate_unused = Deallocate unused movesets
importation.cant_import = Cannot import because you are not loaded into an active game (training mode, etc).
importation.import_to = Import to:
importation.progress = Importing... (%u%%)
importation.progress_error = Importing error (%u%%)
importation.progress_done = Importing... Done!
importation.apply_instantly = Apply instantly
importation.apply_instantly_explanation = Turning this to off will let the game wait until the current move ends before switching to the new moveset.\nIn the cases of some moves (like Negan's idle animation), this can take pretty long.
importation.free_unused_movesets = Free unused movesets
importation.free_unused_movesets_explanation = If turned on, movesets that were previously allocated but are now unused will be freed from memory.\nThis helps prevent this tool from using all your RAM.
importation.error = There was an error while importing the moveset
importation.error_file_reading = There was an error while reading the moveset file
importation.error_allocation = There was a memory allocation error while reading the moveset data
importation.error_game_allocation = There was a game memory allocation error while writing the moveset data

# Online #
online.explanation = Online play requires both players to have this tool running.\nYou must each select your moveset before the match's loading screen, the tool will in the background synchronize moveset files without you having to send it to one another.\nCustom movesets will not be loaded if you or the opponent do not have the tool running with a valid moveset selected.
online.select_moveset = Select moveset
online.no_selected_moveset = No moveset selected

# Moveset Edition #
edition.explanation = You can hereedit extracted movesets. Refer to documentation for tutorials and helpful ressources.\nTurn on 'Live edition' for quickly modifying the custom moveset: Simple values changes will be instantly applied in memory with zero loading time.
edition.select_moveset = Chose the moveset to modify
edition.last_saved = Last save:
edition.save = Save
edition.discard_changes = Discard changes?
edition.process_err = Error
edition.live_edition = Live edition
edition.live_edition_explanation = Turn on so that trivial changes such as simple value modifications can be applied directory in the game memory, without requing a new moveset importation.
edition.move_name = Name
edition.move_generic_id = Alias
edition.moves_all = All
edition.moves_attacks = Attacks
edition.moves_generic = Generic
edition.moves_throws = Throws
edition.moves_custom = Custom
edition.moves_char_specific = Character
edition.move_id_hint = Move ID...
edition.move_current = Current
edition.move_current_1p = Current (1P)
edition.move_current_2p = Current (2P)
edition.play_move_1p = Play (1P)
edition.play_move_2p = Play (2P)
edition.window_title = Editor
edition.apply = Apply
edition.window_controls_explanation = Click on a move in the movelist to open its associated window. The new window will replace the previous one opened UNLESS there are unsaved changes in the previous one OR if you were holding CTRL LEFT while clicking the move in the movelist. Windows can be dragged anywhere, be docked together and can form various layouts.
edition.extract_animations = Extract animations
edition.extract_animations_finished = Animation extraction finished!


edition.create_new = Create new
edition.requirement = Requirement list
edition.move = Move
edition.voiceclips = Voiceclips
edition.cancel_list = Cancel list
edition.grouped_cancel_list = Grouped cancel list
edition.cancel_extradata = Cancel extradata
edition.extra_properties = Extra properties
edition.move_begin_properties = Move begin properties
edition.move_end_properties = Move end properties
edition.hit_conditions = Hit Condition list
edition.reactions = Reactions
edition.pushback = Pushback
edition.pushback_extra = Pushback extra
edition.input_sequence = Input sequence
edition.inputs = Inputs
edition.projectile = Projectile

edition.move.window_name = Move
edition.move.category_2 = References
edition.move.category_3 = Extras
edition.move.category_5 = Unnamed fields
edition.move.move_name = Name
edition.move.anim_name = Animation
edition.move.vulnerability = Vuln
edition.move.vulnerability = Vuln
edition.move.hitlevel = Hit level
edition.move.transition = Transition
edition.move.anim_len = Anim length
edition.move.hitbox_location = Hitbox location
edition.move.first_active_frame = First active frame
edition.move.last_active_frame = Last active frame
edition.move.airborne_start = Airborne start
edition.move.airborne_end = Airborne end
edition.move.ground_fall = Ground fall
edition.move.distance = Distance
edition.move.hit_condition_addr = Hit conditions ID
edition.move.extra_properties_addr = Extra properties ID
edition.move.move_start_extraprop_addr = Beginning extra prop ID
edition.move.move_end_extraprop_addr = Ending extra prop ID
edition.move.voiceclip_addr = Voiceclip ID
edition.move.cancel_addr = Cancels ID
edition.move.cancel_addr_2 = Cancels ID (2)
edition.move.cancel_related_id_2 = Cancel ID 2: related
edition.move.cancel_addr_3 = Cancels ID (4)
edition.move.cancel_related_id_3 = Cancel ID 3: related
edition.move.cancel_addr_4 = Cancels ID (4)
edition.move.cancel_related_id_4 = Cancels ID 4: related
edition.move._0xA8_short = Facing/Extras?

edition.voiceclip.window_name = Voiceclip
edition.voiceclip.id = ID
edition.voiceclip.limb_swinging = Limb swinging SFX
edition.voiceclip.hit = Hit SFX
edition.voiceclip.end = END

edition.extraproperty.window_name = Extra property list
edition.extraproperty.starting_frame = Starting frame
edition.extraproperty.id = ID
edition.extraproperty.instant = INSTANT
edition.extraproperty.every_frame = EVERY FRAME
edition.extraproperty.value_unsigned = Value (U32)
edition.extraproperty.value_signed = Value (S32)
edition.extraproperty.value_hex = Value (H32)
edition.extraproperty.value_float = Value (Float)

edition.move_start_extraprop_addr.window_name = Start property list
edition.move_start_extraprop_addr.requirements_addr = Requirements ID
edition.move_start_extraprop_addr.extraprop = Property / Requirement
edition.move_start_extraprop_addr.value = Value

edition.move_end_extraprop_addr.window_name = End property list
edition.move_end_extraprop_addr.requirements_addr = Requirements ID
edition.move_end_extraprop_addr.extraprop =  Property / Requirement
edition.move_end_extraprop_addr.value = Value

edition.cancel.window_name = Cancel list
edition.cancel.command = Command
edition.cancel.requirements_addr = Requirements ID
edition.cancel.extradata_addr = Extradata ID
edition.cancel.detection_start = Detection start
edition.cancel.detection_end = Detection end
edition.cancel.starting_frame = Starting frame
edition.cancel.move_id = Move ID
edition.cancel.group_id = Cancel group ID
edition.cancel.sequence_id = Sequence ID
edition.cancel.cancel_option = Cancel option

edition.grouped_cancel.window_name = Grouped Cancel list
edition.grouped_cancel.command = Command
edition.grouped_cancel.requirements_addr = Requirements ID
edition.grouped_cancel.extradata_addr = Extradata ID
edition.grouped_cancel.detection_start = Detection start
edition.grouped_cancel.detection_end = Detection end
edition.grouped_cancel.starting_frame = Starting frame
edition.grouped_cancel.move_id = Move ID
edition.grouped_cancel.cancel_option = Cancel option

edition.cancel_extra.window_name = Cancel extra
edition.cancel_extra.value = Value

edition.requirement.window_name = Requirement list
edition.requirement.condition = Condition
edition.requirement.param = Parameter

edition.hit_condition.window_name = Hit condition list
edition.hit_condition.requirements_addr = Requirements ID
edition.hit_condition.damage = Damage
edition.hit_condition.reactions_addr = Reactions ID

edition.reactions.window_name = Reactions
edition.reactions.category_1 = Pushback ID
edition.reactions.category_3 = Move IDs
edition.reactions.category_5 = Direction
edition.reactions.category_7 = Other
edition.reactions.front_pushback = Front
edition.reactions.backturned_pushback = Backturned
edition.reactions.left_side_pushback = Left side
edition.reactions.right_side_pushback = Right side
edition.reactions.front_counterhit_pushback = Front CH
edition.reactions.downed_pushback = Downed
edition.reactions.block_pushback = Blocking
edition.reactions.front_direction = Front
edition.reactions.back_direction = Back
edition.reactions.left_side_direction = Left side
edition.reactions.right_side_direction = Right side
edition.reactions.front_counterhit_direction = Front CH
edition.reactions.downed_direction = Downed
edition.reactions.0x44_long = _0x44_long
edition.reactions.vertical_pushback = Vertical pushback
edition.reactions.standing_moveid = Standing
edition.reactions.default_moveid = Default
edition.reactions.crouch_moveid = Crouch
edition.reactions.counterhit_moveid = Counterhit
edition.reactions.crouch_counterhit_moveid = Crouch CH
edition.reactions.left_side_moveid = Left side
edition.reactions.crouch_left_side_moveid = Crouch left side
edition.reactions.right_side_moveid = Right side
edition.reactions.crouch_right_side_moveid = Crouch right side
edition.reactions.backturned_moveid = Backturned
edition.reactions.crouch_backturned_moveid = Crouch backturned
edition.reactions.block_moveid = Blocking
edition.reactions.crouch_block_moveid = Crouch blocking
edition.reactions.wallslump_moveid = Wallslump
edition.reactions.downed_moveid = Downed

edition.input_sequence.window_name = Input sequence
edition.input_sequence.input_window_frames = Timeframe
edition.input_sequence.input_amount = Input amount
edition.input_sequence.input_addr = Input ID

edition.input.window_name = Input
edition.input.direction = Direction
edition.input.button = Buttons
edition.input.inputs = Inputs

edition.projectile.window_name = Projectile
edition.projectile.category_2 = References
edition.projectile.category_3 = Unnamed
edition.projectile.vfx_id = VFX ID
edition.projectile.vfx_variation_id = VFX Variation ID
edition.projectile.delay = Delay
edition.projectile.vertical_velocity = Vertical velocity
edition.projectile.horizontal_velocity = Horizontal velocity
edition.projectile.duration = Duration
edition.projectile.no_collision = No collision
edition.projectile.size = Size
edition.projectile.can_hitbox_connect = Can hitbox connect
edition.projectile.gravity = Gravity
edition.projectile.hit_level = Hit level
edition.projectile.hit_condition_addr = Hit Conditions ID
edition.projectile.cancel_addr = Cancels ID

edition.pushback.window_name = Pushback
edition.pushback.duration = Duration
edition.pushback.num_of_loops = Num of loops
edition.pushback.displacement = Displacmeent
edition.pushback.extradata_addr = Extradata ID

edition.pushback_extradata.window_name = Pushback Extradata
edition.pushback_extradata.horizontal_offset = Horizontal offset

edition.form_list.item = Item
edition.form_list.end = END
edition.form_list.invalid = INVALID
edition.form_list.controls_disabled_explanation =  Only lists with an starting ID above 1 may have access to list controls

adition.animation_list.anim_name = Animation name
adition.animation_list.duration = Duration (frames)
adition.animation_list.size = Size
edition.animation_list.import = Import in move
edition.animation_list.search_animation = Search animation name to import in current move...
edition.animation_list.no_anim = No animation was found in the animation library. Open a character with the editor and click the 'Extract animations' button to add its animations to the library.
edition.animation_list.loading = Loading animation list...
edition.animation_list.clear_filter = Clear filter

edition.suggest_new_name = This moveset appears to be a freshly extracted one. Do you want to give the modified copy a new name?
edition.non_trivial_detected = A non-trivial change was detected and requires re-importation to be applied.
edition.warning_target_change = Changing selected player while live edition is on will turn off live edition for the old player. Continue?

# Documentation #

# About #

about.explanation = TKMovesets is a software made by independant modders who are not legally affiliated in any way with the games this software interacts with.\nThis software is licensed under the GPLv3: It is free software (as in freedom) that you are free to obtain, modify and redistribute as long as you do not change the license.\nIf you paid for this software, you have been scammed.
about.credits = Credits:
about.kilo_explanation = Main developer behind the moveset extractor, responsible for reverse engineering the vast majority of the data structures, establishing the export/import methodology, and writing this moveset export/import/edition softwares.
about.ali_explanation = Among other things helped reverse engineer moveset structures, helped significantly figuring out IDs for moveset editing, created moveset editing tutorials and brought about many features like camera and hand animations
about.fletch_explanation = Brought moveset edition to great lengths by creating documentation of a significant number of moveset editing properties and creating many tutorials for it
about.koenji_explanation = Got on moveset edition early and helped understand its workflow a ton, also contributed to deciphering many moveset properties
about.sadamitsu_explanation = Helped understand a lot more about animations of various kind, how they were structured and where they were stored
about.dennis_stanistan_explanation = Unknowingly helped through a random discord post that then allowed the first moveset extractor to get started
