hex-patch 1.12.6

HexPatch is a binary patcher and editor with terminal user interface (TUI), it's capable of disassembling instructions and assembling patches. It supports a variety of architectures and file formats. Also, it can edit remote files via SSH.
Documentation
hexpatch: HexPatch

errors:
  enable_raw_mode: "Failed to enable raw mode"
  setup_commands: "Failed to execute setup commands"
  create_terminal: "Failed to create terminal"
  clear_terminal: "Failed to clear terminal"
  create_app: "Failed to create app"
  disable_raw_mode: "Failed to disable raw mode"
  teardown_commands: "Failed to execute teardown commands"
  show_cursor: "Failed to show cursor"
  detect_terminal_theme: "Could not detect terminal theme: %{e}"
  load_settings: "Error loading settings: %{e}"
  connect_ssh: "Failed to connect to %{ssh}: %{e}"
  load_plugins: "Error loading plugins: %{e}"
  create_comments: "Failed to create comments: %{e}"
  write_comments: "Failed to write comments: %{e}"
  parse_comments: "Failed to parse comments: %{e}"
  read_comments: "Failed to read comments: %{e}"
  no_symbols_found: "No symbols found"
  no_matching_symbols: "No symbols matching the search pattern found"
  no_matching_comments: "No comments matching the search pattern found"
  invalid_address: "Invalid address: %{address}"
  invalid_virtual_address: "Invalid virtual address: %{address}"
  symbol_not_found: "Symbol not found: %{symbol}"
  instruction_no_mnemonic: "Failed to get mnemonic"
  instruction_no_operands: "Failed to get operands"
  virtual_address_not_found: "Virtual address %{address} not found"
  cursor_position: "The scroll should be adequate for the cursor to be visible"
  create_decoder: "Failed to create decoder"
  disassemble: "Failed to disassemble"
  run_command_scroll_out_of_bounds: "Scroll out of bounds for run_command."
  go_to_path_scroll_out_of_bounds: "Scroll out of bounds for go_to_path."
  file_no_parent: "A file should have a parent directory."
  invalid_regex: "Invalid regex."
  get_default_plugin_path: "Could not get default plugin path"
  load_color_settings: "Failed to load color settings: %{e}"
  unknown_field: "Unknown field: %{field}"
  invalid_key_code: "Invalid KeyCode: %{key_code}"
  invalid_key_event_kind: "Invalid KeyEventKind: %{kind}"
  home_not_found: "Home directory not found"
  ssh_dir_not_found: "SSH directory not found"
  no_private_key: "No private key found"
  invalid_connection_string: "Invalid connection string"
  invalid_port: "Invalid port"
  authentication_failed: "Authentication failed"
  create_encoder: "Failed to create encoder: %{e}"
  assemble: "Failed to assemble: %{e}"
  pe_section_table_missing: "PE file should have a section table"
  create_temp_file: "Failed to create a temporary file"
  write_temp_file: "Failed to write to a temporary file"
  u64_too_large_for_i64: "u64 value is too large to fit in an i64"
  invalid_style_add_modifier: "Invalid style add modifier"
  invalid_style_sub_modifier: "Invalid style sub modifier"
  invalid_key_modifiers: "Invalid key modifiers"
  invalid_key_event_state: "Invalid key event state"
  invalid_table_style_or_key_event: "Invalid table, expected style or key event"
  get_default_settings_path: "Could not get default settings path"
  set_skipdata: "Failed to set skipdata"

app:
  address_view_title: "Address"
  hex_view_title: "Hex Editor%{dirty}"
  text_view_title: "Text View"
  assembly_view_title: "Assembly View"
  default_popup_title: "Popup"
  entry_point: "Entry point"
  unknown_section: "Unknown"
  yes: "Yes"
  no: "No"
  patch_preview_title: "Preview"
  cancel: "Cancel"
  messages:
    opening_path: "Opening \"%{path}\"..."
    popup_error: "Filling popup: %{e}"
    comments_saved: "Comments saved."
    comments_loaded: "Comments loaded."
    jump_to_symbol: "Jumping to symbol %{symbol} at %{address}"
    jump_to_comment: "Jumping to comment at %{address}"
    jump_to_address: "Jumping to address: %{address}"
    jump_to_virtual_address: "Jumping to virtual address: %{address}"
    jump_to_section: "Jumping to section %{section} at %{address}"
    removing_instruction: "Removing instruction \"%{instruction}\" at %{address}"
    adding_instruction: "Adding instruction \"%{instruction}\" at %{address}"
    text_not_found: "Text not found"
    saving_and_quitting: "Saving and quitting..."
    quitting_without_saving: "Quitting without saving..."
    quitting: "Quitting..."
    unsaved_changes: "You have unsaved changes."
    nothing_to_undo: "Nothing to undo."
    nothing_to_redo: "Nothing to redo."
    no_file_match: "No files found that matches \"%{path}\""
    file_type: "File type: %{file_type}"
    file_type_custom: "File type: Custom"
    architecture: "Architecture: %{architecture}"
    bitness: "Bitness: %{bitness}"
    entry_point: "Entry point: %{entry_point}"
    section: "Section: %{section}"
    no_header: "No header found. Assuming 64-bit."
    press_for_help: "Press %{key} for a list of commands."
    opening_file: "Opening file: \"%{path}\""
    decoding_binary: "Decoding binary data..."
    disassembling_executable: "Disassembling executable..."
    opening_ui: "Opening UI..."
    saved_to: "Saved to %{path}"
    saved_to_ssh: "Saved to %{path} at %{ssh}"
    plugin_load_error: "Could not load plugin \"%{path}\": %{e}"
    plugin_error: "In plugin: %{e}"
    no_symbols: "No symbols found."
    no_symbol_table: "No symbol table found."
    no_comments: "No comments found."
    file_will_be_saved_and_quit: "The file will be saved and the program will quit."
    file_will_be_saved: "The file will be saved."
    are_you_sure: "Are you sure?"
    file_is_dirty: "The file has been modified."
    do_you_want_to_save_and_quit: "Do you want to save before quitting?"
    settings_not_found: "Settings file not found"
    parse_settings_error: "Could not parse settings file: %{e}"
    load_settings_error: "Could not load settings: %{e}"
    save_default_settings_error: "Could not save default settings: %{e}"

  help:
    up: "Move up"
    down: "Move down"
    left: "Move left"
    right: "Move right"
    next: "Next instruction or block"
    previous: "Previous instruction or block"
    page_up: "Scroll up"
    page_down: "Scroll down"
    goto_start: "Scroll to start"
    goto_end: "Scroll to end"
    run: "Run command"
    save: "Save"
    save_as: "Save as"
    save_and_quit: "Save and quit"
    quit: "Quit"
    open: "Open file"
    change_view: "Switch view from assembly to text or vice versa"
    change_selected_pane: "Switch from the hex pane to assembly/text or vice versa"
    fullscreen: "Toggle the fullscreen for the selected view"
    jump: "Jump to location"
    find_symbol: "Search symbol"
    find_text: "Search text"
    patch_text: "Patch text"
    patch_assembly: "Patch assembly"
    log: "Open log"
    confirm: "Confirm"
    close_popup: "Close popup"
    new_line: "Insert new line (with multiline text)"
    clear_log: "Clear log (with log open)"
    undo: "Undo last change"
    redo: "Redo last change"
    help: "Help"

  commands:
    quit: "Quit the program."
    dquit: "Quit the program without saving."
    xquit: "Save and quit the program."
    save: "Save the current file."
    saveas: "Save the current file as a new file."
    csave: "Save the comments."
    help: "Display the help page."
    open: "Open a file."
    log: "Open the log."
    run: "Run a command."
    ftext: "Find text."
    fsym: "Find symbol."
    fcom: "Find a comment."
    ecom: "Edit a comment."
    text: "Insert text."
    patch: "Patch assembly."
    jump: "Jump to address."
    view: "Switch between text and assembly."
    undo: "Undo the last change."
    redo: "Redo the last change."
  
  log_levels:
    none: "None"
    debug: "Debug"
    info: "Info"
    warn: "Warn"
    error: "Error"
  
  popup_titles:
    open: "Open"
    run: "Run"
    find_text: "Find Text"
    find_symbol: "Find Symbol"
    log: "Log"
    insert_text: "Text"
    patch: "Patch"
    jump: "Jump"
    edit_comment: "Edit Comment"
    find_comment: "Find Comment"
    save_and_quit: "Save and Quit"
    save_as: "Save As"
    save: "Save"
    quit_dirty: "Quit"
    help: "Help"

  placeholders:
    path: "Path"
    command: "Command"
    text: "Text"
    filter: "Filter"
    assembly: "Assembly"
    location: "Location"
    comment: "Comment"

keys:
  mods:
    control: "Ctrl+"
    alt: "Alt+"
    shift: "Shift+"
    super: "Super+"
    hyper: "Hyper+"
    meta: "Meta+"
  space: "Space"
  tab: "Tab"
  enter: "Enter"
  esc: "Esc"
  backspace: "Backspace"
  delete: "Delete"
  home: "Home"
  end: "End"
  page_up: "Page Up"
  page_down: "Page Down"
  insert: "Insert"
  null: "Null"
  caps_lock: "Caps Lock"
  scroll_lock: "Scroll Lock"
  num_lock: "Num Lock"
  print_screen: "Print Screen"
  pause: "Pause"


panic:
  data_offset_out_of_bounds: "Offset %{offset} out of bounds for data of length %{data_len}"
  data_length_mismatch: "Old and new data must be the same length"