From ae48ae659b8d4a5c726355f864e1e73ac895ab55 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Mon, 5 Jun 2023 09:07:58 +0200 Subject: [PATCH] impr: Move various settings from settings window to hex editor and pattern data view --- .../include/hex/api/content_registry.hpp | 15 +- .../include/hex/ui/imgui_imhex_extensions.h | 2 +- .../source/ui/imgui_imhex_extensions.cpp | 15 +- plugins/builtin/romfs/lang/base.json | 857 ------------------ plugins/builtin/romfs/lang/de_DE.json | 69 +- plugins/builtin/romfs/lang/en_US.json | 17 +- plugins/builtin/romfs/lang/es_ES.json | 42 +- plugins/builtin/romfs/lang/it_IT.json | 75 +- plugins/builtin/romfs/lang/ja_JP.json | 70 +- plugins/builtin/romfs/lang/ko_KR.json | 70 +- plugins/builtin/romfs/lang/pt_BR.json | 70 +- plugins/builtin/romfs/lang/zh_CN.json | 164 ++-- plugins/builtin/romfs/lang/zh_TW.json | 70 +- .../source/content/data_visualizers.cpp | 20 +- .../source/content/settings_entries.cpp | 82 -- plugins/builtin/source/content/ui_items.cpp | 2 +- plugins/builtin/source/ui/hex_editor.cpp | 163 +++- plugins/builtin/source/ui/pattern_drawer.cpp | 51 +- 18 files changed, 673 insertions(+), 1181 deletions(-) delete mode 100644 plugins/builtin/romfs/lang/base.json diff --git a/lib/libimhex/include/hex/api/content_registry.hpp b/lib/libimhex/include/hex/api/content_registry.hpp index 32a3fe8aa..bf1053a92 100644 --- a/lib/libimhex/include/hex/api/content_registry.hpp +++ b/lib/libimhex/include/hex/api/content_registry.hpp @@ -694,8 +694,10 @@ namespace hex { class DataVisualizer { public: - DataVisualizer(u16 bytesPerCell, u16 maxCharsPerCell) - : m_bytesPerCell(bytesPerCell), m_maxCharsPerCell(maxCharsPerCell) {} + DataVisualizer(std::string unlocalizedName, u16 bytesPerCell, u16 maxCharsPerCell) + : m_unlocalizedName(std::move(unlocalizedName)), + m_bytesPerCell(bytesPerCell), + m_maxCharsPerCell(maxCharsPerCell) { } virtual ~DataVisualizer() = default; @@ -705,12 +707,16 @@ namespace hex { [[nodiscard]] u16 getBytesPerCell() const { return this->m_bytesPerCell; } [[nodiscard]] u16 getMaxCharsPerCell() const { return this->m_maxCharsPerCell; } + [[nodiscard]] const std::string& getUnlocalizedName() const { return this->m_unlocalizedName; } + protected: const static int TextInputFlags; bool drawDefaultScalarEditingTextBox(u64 address, const char *format, ImGuiDataType dataType, u8 *data, ImGuiInputTextFlags flags) const; bool drawDefaultTextEditingTextBox(u64 address, std::string &data, ImGuiInputTextFlags flags) const; + private: + std::string m_unlocalizedName; u16 m_bytesPerCell; u16 m_maxCharsPerCell; }; @@ -730,8 +736,9 @@ namespace hex { * @param args The arguments to pass to the constructor of the data visualizer */ template T, typename... Args> - void addDataVisualizer(const std::string &unlocalizedName, Args &&...args) { - return impl::addDataVisualizer(unlocalizedName, new T(std::forward(args)...)); + void addDataVisualizer(Args &&...args) { + auto visualizer = new T(std::forward(args)...); + return impl::addDataVisualizer(visualizer->getUnlocalizedName(), visualizer); } } diff --git a/lib/libimhex/include/hex/ui/imgui_imhex_extensions.h b/lib/libimhex/include/hex/ui/imgui_imhex_extensions.h index 083aebe36..ecacb2753 100644 --- a/lib/libimhex/include/hex/ui/imgui_imhex_extensions.h +++ b/lib/libimhex/include/hex/ui/imgui_imhex_extensions.h @@ -95,7 +95,7 @@ namespace ImGui { void Header(const char *label, bool firstEntry = false); void HeaderColored(const char *label, ImColor color, bool firstEntry); - void InfoTooltip(const char *text); + bool InfoTooltip(const char *text = ""); bool TitleBarButton(const char *label, ImVec2 size_arg); bool ToolBarButton(const char *symbol, ImVec4 color); diff --git a/lib/libimhex/source/ui/imgui_imhex_extensions.cpp b/lib/libimhex/source/ui/imgui_imhex_extensions.cpp index 907eb4496..61ed4a61f 100644 --- a/lib/libimhex/source/ui/imgui_imhex_extensions.cpp +++ b/lib/libimhex/source/ui/imgui_imhex_extensions.cpp @@ -319,23 +319,30 @@ namespace ImGui { ImGui::Separator(); } - void InfoTooltip(const char *text) { + bool InfoTooltip(const char *text) { static double lastMoveTime; static ImGuiID lastHoveredID; double currTime = ImGui::GetTime(); ImGuiID hoveredID = ImGui::GetHoveredID(); + bool result = false; if (IsItemHovered() && (currTime - lastMoveTime) >= 0.5 && hoveredID == lastHoveredID) { - BeginTooltip(); - TextUnformatted(text); - EndTooltip(); + if (!std::string_view(text).empty()) { + BeginTooltip(); + TextUnformatted(text); + EndTooltip(); + } + + result = true; } if (hoveredID != lastHoveredID) { lastMoveTime = currTime; } lastHoveredID = hoveredID; + + return result; } ImU32 GetCustomColorU32(ImGuiCustomCol idx, float alpha_mul) { diff --git a/plugins/builtin/romfs/lang/base.json b/plugins/builtin/romfs/lang/base.json deleted file mode 100644 index feb7e0e48..000000000 --- a/plugins/builtin/romfs/lang/base.json +++ /dev/null @@ -1,857 +0,0 @@ -[ - "hex.builtin.command.calc.desc", - "hex.builtin.command.cmd.desc", - "hex.builtin.command.cmd.result", - "hex.builtin.command.web.desc", - "hex.builtin.command.web.result", - "hex.builtin.common.address", - "hex.builtin.common.big", - "hex.builtin.common.big_endian", - "hex.builtin.common.browse", - "hex.builtin.common.bytes", - "hex.builtin.common.cancel", - "hex.builtin.common.choose_file", - "hex.builtin.common.close", - "hex.builtin.common.comment", - "hex.builtin.common.count", - "hex.builtin.common.decimal", - "hex.builtin.common.dont_show_again", - "hex.builtin.common.encoding.ascii", - "hex.builtin.common.encoding.utf16be", - "hex.builtin.common.encoding.utf16le", - "hex.builtin.common.encoding.utf8", - "hex.builtin.common.endian", - "hex.builtin.common.error", - "hex.builtin.common.fatal", - "hex.builtin.common.file", - "hex.builtin.common.filter", - "hex.builtin.common.hexadecimal", - "hex.builtin.common.info", - "hex.builtin.common.instruction", - "hex.builtin.common.link", - "hex.builtin.common.little", - "hex.builtin.common.little_endian", - "hex.builtin.common.load", - "hex.builtin.common.match_selection", - "hex.builtin.common.name", - "hex.builtin.common.no", - "hex.builtin.common.number_format", - "hex.builtin.common.octal", - "hex.builtin.common.offset", - "hex.builtin.common.okay", - "hex.builtin.common.open", - "hex.builtin.common.percentage", - "hex.builtin.common.processing", - "hex.builtin.common.question", - "hex.builtin.common.range", - "hex.builtin.common.range.entire_data", - "hex.builtin.common.range.selection", - "hex.builtin.common.region", - "hex.builtin.common.set", - "hex.builtin.common.size", - "hex.builtin.common.type", - "hex.builtin.common.type.f32", - "hex.builtin.common.type.f64", - "hex.builtin.common.type.i16", - "hex.builtin.common.type.i24", - "hex.builtin.common.type.i32", - "hex.builtin.common.type.i48", - "hex.builtin.common.type.i64", - "hex.builtin.common.type.i8", - "hex.builtin.common.type.u16", - "hex.builtin.common.type.u24", - "hex.builtin.common.type.u32", - "hex.builtin.common.type.u48", - "hex.builtin.common.type.u64", - "hex.builtin.common.type.u8", - "hex.builtin.common.value", - "hex.builtin.common.yes", - "hex.builtin.hash.crc.iv", - "hex.builtin.hash.crc.poly", - "hex.builtin.hash.crc.refl_in", - "hex.builtin.hash.crc.refl_out", - "hex.builtin.hash.crc.xor_out", - "hex.builtin.hash.crc16", - "hex.builtin.hash.crc32", - "hex.builtin.hash.crc32c", - "hex.builtin.hash.crc32mpeg", - "hex.builtin.hash.crc32posix", - "hex.builtin.hash.crc8", - "hex.builtin.hash.md5", - "hex.builtin.hash.sha1", - "hex.builtin.hash.sha224", - "hex.builtin.hash.sha256", - "hex.builtin.hash.sha384", - "hex.builtin.hash.sha512", - "hex.builtin.hex_editor.data_size", - "hex.builtin.hex_editor.no_bytes", - "hex.builtin.hex_editor.page", - "hex.builtin.hex_editor.region", - "hex.builtin.hex_editor.selection", - "hex.builtin.hex_editor.selection.none", - "hex.builtin.inspector.ascii", - "hex.builtin.inspector.binary", - "hex.builtin.inspector.bool", - "hex.builtin.inspector.dos_date", - "hex.builtin.inspector.dos_time", - "hex.builtin.inspector.double", - "hex.builtin.inspector.float", - "hex.builtin.inspector.float16", - "hex.builtin.inspector.guid", - "hex.builtin.inspector.i16", - "hex.builtin.inspector.i24", - "hex.builtin.inspector.i32", - "hex.builtin.inspector.i48", - "hex.builtin.inspector.i64", - "hex.builtin.inspector.i8", - "hex.builtin.inspector.long_double", - "hex.builtin.inspector.rgb565", - "hex.builtin.inspector.rgba8", - "hex.builtin.inspector.sleb128", - "hex.builtin.inspector.string", - "hex.builtin.inspector.string16", - "hex.builtin.inspector.time", - "hex.builtin.inspector.time32", - "hex.builtin.inspector.time64", - "hex.builtin.inspector.u16", - "hex.builtin.inspector.u24", - "hex.builtin.inspector.u32", - "hex.builtin.inspector.u48", - "hex.builtin.inspector.u64", - "hex.builtin.inspector.u8", - "hex.builtin.inspector.uleb128", - "hex.builtin.inspector.utf8", - "hex.builtin.inspector.wide", - "hex.builtin.layouts.default", - "hex.builtin.menu.edit", - "hex.builtin.menu.edit.bookmark.create", - "hex.builtin.menu.edit.redo", - "hex.builtin.menu.edit.undo", - "hex.builtin.menu.file", - "hex.builtin.menu.file.bookmark.export", - "hex.builtin.menu.file.bookmark.import", - "hex.builtin.menu.file.clear_recent", - "hex.builtin.menu.file.close", - "hex.builtin.menu.file.create_file", - "hex.builtin.menu.file.export", - "hex.builtin.menu.file.export.base64", - "hex.builtin.menu.file.export.base64.popup.export_error", - "hex.builtin.menu.file.export.ips.popup.export_error", - "hex.builtin.menu.file.export.ips.popup.invalid_patch_header_error", - "hex.builtin.menu.file.export.ips.popup.address_out_of_range_error", - "hex.builtin.menu.file.export.ips.popup.patch_too_large_error", - "hex.builtin.menu.file.export.ips.popup.invalid_patch_format_error", - "hex.builtin.menu.file.export.ips.popup.missing_eof_error", - "hex.builtin.menu.file.export.ips", - "hex.builtin.menu.file.export.ips32", - "hex.builtin.menu.file.export.popup.create", - "hex.builtin.menu.file.export.title", - "hex.builtin.menu.file.import", - "hex.builtin.menu.file.import.base64", - "hex.builtin.menu.file.import.base64.popup.import_error", - "hex.builtin.menu.file.import.base64.popup.open_error", - "hex.builtin.menu.file.import.ips", - "hex.builtin.menu.file.import.ips32", - "hex.builtin.menu.file.open_file", - "hex.builtin.menu.file.open_other", - "hex.builtin.menu.file.open_project", - "hex.builtin.menu.file.open_recent", - "hex.builtin.menu.file.quit", - "hex.builtin.menu.file.reload_provider", - "hex.builtin.menu.file.save_project", - "hex.builtin.menu.file.save_project_as", - "hex.builtin.menu.help", - "hex.builtin.menu.layout", - "hex.builtin.menu.view", - "hex.builtin.menu.view.demo", - "hex.builtin.menu.view.fps", - "hex.builtin.nodes.arithmetic", - "hex.builtin.nodes.arithmetic.add", - "hex.builtin.nodes.arithmetic.add.header", - "hex.builtin.nodes.arithmetic.average", - "hex.builtin.nodes.arithmetic.average.header", - "hex.builtin.nodes.arithmetic.div", - "hex.builtin.nodes.arithmetic.div.header", - "hex.builtin.nodes.arithmetic.median", - "hex.builtin.nodes.arithmetic.median.header", - "hex.builtin.nodes.arithmetic.mod", - "hex.builtin.nodes.arithmetic.mod.header", - "hex.builtin.nodes.arithmetic.mul", - "hex.builtin.nodes.arithmetic.mul.header", - "hex.builtin.nodes.arithmetic.sub", - "hex.builtin.nodes.arithmetic.sub.header", - "hex.builtin.nodes.bitwise", - "hex.builtin.nodes.bitwise.and", - "hex.builtin.nodes.bitwise.and.header", - "hex.builtin.nodes.bitwise.not", - "hex.builtin.nodes.bitwise.not.header", - "hex.builtin.nodes.bitwise.or", - "hex.builtin.nodes.bitwise.or.header", - "hex.builtin.nodes.bitwise.swap", - "hex.builtin.nodes.bitwise.swap.header", - "hex.builtin.nodes.bitwise.xor", - "hex.builtin.nodes.bitwise.xor.header", - "hex.builtin.nodes.buffer", - "hex.builtin.nodes.buffer.byte_swap", - "hex.builtin.nodes.buffer.byte_swap.header", - "hex.builtin.nodes.buffer.combine", - "hex.builtin.nodes.buffer.combine.header", - "hex.builtin.nodes.buffer.patch", - "hex.builtin.nodes.buffer.patch.header", - "hex.builtin.nodes.buffer.patch.input.patch", - "hex.builtin.nodes.buffer.repeat", - "hex.builtin.nodes.buffer.repeat.header", - "hex.builtin.nodes.buffer.repeat.input.buffer", - "hex.builtin.nodes.buffer.repeat.input.count", - "hex.builtin.nodes.buffer.slice", - "hex.builtin.nodes.buffer.slice.header", - "hex.builtin.nodes.buffer.slice.input.buffer", - "hex.builtin.nodes.buffer.slice.input.from", - "hex.builtin.nodes.buffer.slice.input.to", - "hex.builtin.nodes.casting", - "hex.builtin.nodes.casting.buffer_to_float", - "hex.builtin.nodes.casting.buffer_to_float.header", - "hex.builtin.nodes.casting.buffer_to_int", - "hex.builtin.nodes.casting.buffer_to_int.header", - "hex.builtin.nodes.casting.float_to_buffer", - "hex.builtin.nodes.casting.float_to_buffer.header", - "hex.builtin.nodes.casting.int_to_buffer", - "hex.builtin.nodes.casting.int_to_buffer.header", - "hex.builtin.nodes.common.height", - "hex.builtin.nodes.common.input", - "hex.builtin.nodes.common.input.a", - "hex.builtin.nodes.common.input.b", - "hex.builtin.nodes.common.output", - "hex.builtin.nodes.common.width", - "hex.builtin.nodes.constants", - "hex.builtin.nodes.constants.buffer", - "hex.builtin.nodes.constants.buffer.header", - "hex.builtin.nodes.constants.buffer.size", - "hex.builtin.nodes.constants.comment", - "hex.builtin.nodes.constants.comment.header", - "hex.builtin.nodes.constants.float", - "hex.builtin.nodes.constants.float.header", - "hex.builtin.nodes.constants.int", - "hex.builtin.nodes.constants.int.header", - "hex.builtin.nodes.constants.nullptr", - "hex.builtin.nodes.constants.nullptr.header", - "hex.builtin.nodes.constants.rgba8", - "hex.builtin.nodes.constants.rgba8.header", - "hex.builtin.nodes.constants.rgba8.output.a", - "hex.builtin.nodes.constants.rgba8.output.b", - "hex.builtin.nodes.constants.rgba8.output.g", - "hex.builtin.nodes.constants.rgba8.output.r", - "hex.builtin.nodes.constants.string", - "hex.builtin.nodes.constants.string.header", - "hex.builtin.nodes.control_flow", - "hex.builtin.nodes.control_flow.and", - "hex.builtin.nodes.control_flow.and.header", - "hex.builtin.nodes.control_flow.equals", - "hex.builtin.nodes.control_flow.equals.header", - "hex.builtin.nodes.control_flow.gt", - "hex.builtin.nodes.control_flow.gt.header", - "hex.builtin.nodes.control_flow.if", - "hex.builtin.nodes.control_flow.if.condition", - "hex.builtin.nodes.control_flow.if.false", - "hex.builtin.nodes.control_flow.if.header", - "hex.builtin.nodes.control_flow.if.true", - "hex.builtin.nodes.control_flow.lt", - "hex.builtin.nodes.control_flow.lt.header", - "hex.builtin.nodes.control_flow.not", - "hex.builtin.nodes.control_flow.not.header", - "hex.builtin.nodes.control_flow.or", - "hex.builtin.nodes.control_flow.or.header", - "hex.builtin.nodes.crypto", - "hex.builtin.nodes.crypto.aes", - "hex.builtin.nodes.crypto.aes.header", - "hex.builtin.nodes.crypto.aes.iv", - "hex.builtin.nodes.crypto.aes.key", - "hex.builtin.nodes.crypto.aes.key_length", - "hex.builtin.nodes.crypto.aes.mode", - "hex.builtin.nodes.crypto.aes.nonce", - "hex.builtin.nodes.data_access", - "hex.builtin.nodes.data_access.read", - "hex.builtin.nodes.data_access.read.address", - "hex.builtin.nodes.data_access.read.data", - "hex.builtin.nodes.data_access.read.header", - "hex.builtin.nodes.data_access.read.size", - "hex.builtin.nodes.data_access.selection", - "hex.builtin.nodes.data_access.selection.address", - "hex.builtin.nodes.data_access.selection.header", - "hex.builtin.nodes.data_access.selection.size", - "hex.builtin.nodes.data_access.size", - "hex.builtin.nodes.data_access.size.header", - "hex.builtin.nodes.data_access.size.size", - "hex.builtin.nodes.data_access.write", - "hex.builtin.nodes.data_access.write.address", - "hex.builtin.nodes.data_access.write.data", - "hex.builtin.nodes.data_access.write.header", - "hex.builtin.nodes.decoding", - "hex.builtin.nodes.decoding.base64", - "hex.builtin.nodes.decoding.base64.header", - "hex.builtin.nodes.decoding.hex", - "hex.builtin.nodes.decoding.hex.header", - "hex.builtin.nodes.display", - "hex.builtin.nodes.display.buffer", - "hex.builtin.nodes.display.buffer.header", - "hex.builtin.nodes.display.bits", - "hex.builtin.nodes.display.bits.header", - "hex.builtin.nodes.display.float", - "hex.builtin.nodes.display.float.header", - "hex.builtin.nodes.display.int", - "hex.builtin.nodes.display.int.header", - "hex.builtin.nodes.display.string", - "hex.builtin.nodes.display.string.header", - "hex.builtin.nodes.pattern_language", - "hex.builtin.nodes.pattern_language.out_var", - "hex.builtin.nodes.pattern_language.out_var.header", - "hex.builtin.nodes.visualizer", - "hex.builtin.nodes.visualizer.byte_distribution", - "hex.builtin.nodes.visualizer.byte_distribution.header", - "hex.builtin.nodes.visualizer.digram", - "hex.builtin.nodes.visualizer.digram.header", - "hex.builtin.nodes.visualizer.image", - "hex.builtin.nodes.visualizer.image.header", - "hex.builtin.nodes.visualizer.image_rgba", - "hex.builtin.nodes.visualizer.image_rgba.header", - "hex.builtin.nodes.visualizer.layered_dist", - "hex.builtin.nodes.visualizer.layered_dist.header", - "hex.builtin.pattern_drawer.color", - "hex.builtin.pattern_drawer.double_click", - "hex.builtin.pattern_drawer.offset", - "hex.builtin.pattern_drawer.size", - "hex.builtin.pattern_drawer.type", - "hex.builtin.pattern_drawer.value", - "hex.builtin.pattern_drawer.var_name", - "hex.builtin.pattern_drawer.visualizer.unknown", - "hex.builtin.pattern_drawer.visualizer.invalid_parameter_count", - "hex.builtin.popup.close_provider.desc", - "hex.builtin.popup.close_provider.title", - "hex.builtin.popup.error.create", - "hex.builtin.popup.error.file_dialog.common", - "hex.builtin.popup.error.file_dialog.portal", - "hex.builtin.popup.error.open", - "hex.builtin.popup.error.project.load", - "hex.builtin.popup.error.project.save", - "hex.builtin.popup.error.read_only", - "hex.builtin.popup.error.task_exception", - "hex.builtin.popup.exit_application.desc", - "hex.builtin.popup.exit_application.title", - "hex.builtin.popup.waiting_for_tasks.title", - "hex.builtin.popup.waiting_for_tasks.desc", - "hex.builtin.provider.disk", - "hex.builtin.provider.disk.disk_size", - "hex.builtin.provider.disk.reload", - "hex.builtin.provider.disk.sector_size", - "hex.builtin.provider.disk.selected_disk", - "hex.builtin.provider.disk.error.read_ro", - "hex.builtin.provider.disk.error.read_rw", - "hex.builtin.provider.file", - "hex.builtin.provider.file.access", - "hex.builtin.provider.file.creation", - "hex.builtin.provider.file.modification", - "hex.builtin.provider.file.path", - "hex.builtin.provider.file.size", - "hex.builtin.provider.file.menu.open_file", - "hex.builtin.provider.file.menu.open_folder", - "hex.builtin.provider.gdb", - "hex.builtin.provider.gdb.ip", - "hex.builtin.provider.gdb.name", - "hex.builtin.provider.gdb.port", - "hex.builtin.provider.gdb.server", - "hex.builtin.provider.intel_hex", - "hex.builtin.provider.intel_hex.name", - "hex.builtin.provider.mem_file", - "hex.builtin.provider.mem_file.unsaved", - "hex.builtin.provider.motorola_srec", - "hex.builtin.provider.motorola_srec.name", - "hex.builtin.provider.view", - "hex.builtin.setting.folders", - "hex.builtin.setting.folders.add_folder", - "hex.builtin.setting.folders.description", - "hex.builtin.setting.folders.remove_folder", - "hex.builtin.setting.font", - "hex.builtin.setting.font.font_path", - "hex.builtin.setting.font.font_size", - "hex.builtin.setting.general", - "hex.builtin.setting.general.auto_load_patterns", - "hex.builtin.setting.general.check_for_updates", - "hex.builtin.setting.general.enable_unicode", - "hex.builtin.setting.general.show_tips", - "hex.builtin.setting.general.sync_pattern_source", - "hex.builtin.setting.hex_editor", - "hex.builtin.setting.hex_editor.advanced_decoding", - "hex.builtin.setting.hex_editor.ascii", - "hex.builtin.setting.hex_editor.byte_padding", - "hex.builtin.setting.hex_editor.bytes_per_row", - "hex.builtin.setting.hex_editor.char_padding", - "hex.builtin.setting.hex_editor.grey_zeros", - "hex.builtin.setting.hex_editor.highlight_color", - "hex.builtin.setting.hex_editor.sync_scrolling", - "hex.builtin.setting.hex_editor.uppercase_hex", - "hex.builtin.setting.hex_editor.visualizer", - "hex.builtin.setting.imhex", - "hex.builtin.setting.imhex.recent_files", - "hex.builtin.setting.interface", - "hex.builtin.setting.interface.color", - "hex.builtin.setting.interface.fps", - "hex.builtin.setting.interface.fps.unlocked", - "hex.builtin.setting.interface.language", - "hex.builtin.setting.interface.multi_windows", - "hex.builtin.setting.interface.pattern_tree_style", - "hex.builtin.setting.interface.pattern_tree_style.tree", - "hex.builtin.setting.interface.pattern_tree_style.auto_expanded", - "hex.builtin.setting.interface.pattern_tree_style.flattened", - "hex.builtin.setting.interface.scaling", - "hex.builtin.setting.interface.scaling.native", - "hex.builtin.setting.interface.scaling.x0_5", - "hex.builtin.setting.interface.scaling.x1_0", - "hex.builtin.setting.interface.scaling.x1_5", - "hex.builtin.setting.interface.scaling.x2_0", - "hex.builtin.setting.interface.scaling.x3_0", - "hex.builtin.setting.interface.scaling.x4_0", - "hex.builtin.setting.interface.wiki_explain_language", - "hex.builtin.setting.proxy", - "hex.builtin.setting.proxy.description", - "hex.builtin.setting.proxy.enable", - "hex.builtin.setting.proxy.url", - "hex.builtin.setting.proxy.url.tooltip", - "hex.builtin.tools.ascii_table", - "hex.builtin.tools.ascii_table.octal", - "hex.builtin.tools.base_converter", - "hex.builtin.tools.base_converter.bin", - "hex.builtin.tools.base_converter.dec", - "hex.builtin.tools.base_converter.hex", - "hex.builtin.tools.base_converter.oct", - "hex.builtin.tools.calc", - "hex.builtin.tools.color", - "hex.builtin.tools.demangler", - "hex.builtin.tools.demangler.demangled", - "hex.builtin.tools.demangler.mangled", - "hex.builtin.tools.error", - "hex.builtin.tools.file_tools", - "hex.builtin.tools.file_tools.combiner", - "hex.builtin.tools.file_tools.combiner.add", - "hex.builtin.tools.file_tools.combiner.add.picker", - "hex.builtin.tools.file_tools.combiner.clear", - "hex.builtin.tools.file_tools.combiner.combine", - "hex.builtin.tools.file_tools.combiner.combining", - "hex.builtin.tools.file_tools.combiner.delete", - "hex.builtin.tools.file_tools.combiner.error.open_output", - "hex.builtin.tools.file_tools.combiner.open_input", - "hex.builtin.tools.file_tools.combiner.output", - "hex.builtin.tools.file_tools.combiner.output.picker", - "hex.builtin.tools.file_tools.combiner.success", - "hex.builtin.tools.file_tools.shredder", - "hex.builtin.tools.file_tools.shredder.error.open", - "hex.builtin.tools.file_tools.shredder.fast", - "hex.builtin.tools.file_tools.shredder.input", - "hex.builtin.tools.file_tools.shredder.picker", - "hex.builtin.tools.file_tools.shredder.shred", - "hex.builtin.tools.file_tools.shredder.shredding", - "hex.builtin.tools.file_tools.shredder.success", - "hex.builtin.tools.file_tools.shredder.warning", - "hex.builtin.tools.file_tools.splitter", - "hex.builtin.tools.file_tools.splitter.input", - "hex.builtin.tools.file_tools.splitter.output", - "hex.builtin.tools.file_tools.splitter.picker.error.create", - "hex.builtin.tools.file_tools.splitter.picker.error.open", - "hex.builtin.tools.file_tools.splitter.picker.error.size", - "hex.builtin.tools.file_tools.splitter.picker.input", - "hex.builtin.tools.file_tools.splitter.picker.output", - "hex.builtin.tools.file_tools.splitter.picker.split", - "hex.builtin.tools.file_tools.splitter.picker.splitting", - "hex.builtin.tools.file_tools.splitter.picker.success", - "hex.builtin.tools.file_tools.splitter.sizes.3_5_floppy", - "hex.builtin.tools.file_tools.splitter.sizes.5_75_floppy", - "hex.builtin.tools.file_tools.splitter.sizes.cdrom650", - "hex.builtin.tools.file_tools.splitter.sizes.cdrom700", - "hex.builtin.tools.file_tools.splitter.sizes.custom", - "hex.builtin.tools.file_tools.splitter.sizes.fat32", - "hex.builtin.tools.file_tools.splitter.sizes.zip100", - "hex.builtin.tools.file_tools.splitter.sizes.zip200", - "hex.builtin.tools.file_uploader", - "hex.builtin.tools.file_uploader.control", - "hex.builtin.tools.file_uploader.done", - "hex.builtin.tools.file_uploader.error", - "hex.builtin.tools.file_uploader.invalid_response", - "hex.builtin.tools.file_uploader.recent", - "hex.builtin.tools.file_uploader.tooltip", - "hex.builtin.tools.file_uploader.upload", - "hex.builtin.tools.format.engineering", - "hex.builtin.tools.format.programmer", - "hex.builtin.tools.format.scientific", - "hex.builtin.tools.format.standard", - "hex.builtin.tools.history", - "hex.builtin.tools.ieee754", - "hex.builtin.tools.ieee754.clear", - "hex.builtin.tools.ieee754.description", - "hex.builtin.tools.ieee754.double_precision", - "hex.builtin.tools.ieee754.exponent", - "hex.builtin.tools.ieee754.exponent_size", - "hex.builtin.tools.ieee754.formula", - "hex.builtin.tools.ieee754.half_precision", - "hex.builtin.tools.ieee754.mantissa", - "hex.builtin.tools.ieee754.mantissa_size", - "hex.builtin.tools.ieee754.result.float", - "hex.builtin.tools.ieee754.result.hex", - "hex.builtin.tools.ieee754.result.title", - "hex.builtin.tools.ieee754.settings.display_mode.detailed", - "hex.builtin.tools.ieee754.settings.display_mode.simplified", - "hex.builtin.tools.ieee754.sign", - "hex.builtin.tools.ieee754.single_precision", - "hex.builtin.tools.ieee754.type", - "hex.builtin.tools.invariant_multiplication", - "hex.builtin.tools.invariant_multiplication.description", - "hex.builtin.tools.invariant_multiplication.num_bits", - "hex.builtin.tools.input", - "hex.builtin.tools.name", - "hex.builtin.tools.permissions", - "hex.builtin.tools.permissions.absolute", - "hex.builtin.tools.permissions.perm_bits", - "hex.builtin.tools.permissions.setgid_error", - "hex.builtin.tools.permissions.setuid_error", - "hex.builtin.tools.permissions.sticky_error", - "hex.builtin.tools.regex_replacer", - "hex.builtin.tools.regex_replacer.input", - "hex.builtin.tools.regex_replacer.output", - "hex.builtin.tools.regex_replacer.pattern", - "hex.builtin.tools.regex_replacer.replace", - "hex.builtin.tools.value", - "hex.builtin.tools.wiki_explain", - "hex.builtin.tools.wiki_explain.control", - "hex.builtin.tools.wiki_explain.invalid_response", - "hex.builtin.tools.wiki_explain.results", - "hex.builtin.tools.wiki_explain.search", - "hex.builtin.view.bookmarks.address", - "hex.builtin.view.bookmarks.button.jump", - "hex.builtin.view.bookmarks.button.remove", - "hex.builtin.view.bookmarks.default_title", - "hex.builtin.view.bookmarks.header.color", - "hex.builtin.view.bookmarks.header.comment", - "hex.builtin.view.bookmarks.header.name", - "hex.builtin.view.bookmarks.name", - "hex.builtin.view.bookmarks.no_bookmarks", - "hex.builtin.view.bookmarks.title.info", - "hex.builtin.view.command_palette.name", - "hex.builtin.view.constants.name", - "hex.builtin.view.constants.row.category", - "hex.builtin.view.constants.row.desc", - "hex.builtin.view.constants.row.name", - "hex.builtin.view.constants.row.value", - "hex.builtin.view.data_inspector.invert", - "hex.builtin.view.data_inspector.name", - "hex.builtin.view.data_inspector.no_data", - "hex.builtin.view.data_inspector.table.name", - "hex.builtin.view.data_inspector.table.value", - "hex.builtin.view.data_processor.help_text", - "hex.builtin.view.data_processor.menu.file.load_processor", - "hex.builtin.view.data_processor.menu.file.save_processor", - "hex.builtin.view.data_processor.menu.remove_link", - "hex.builtin.view.data_processor.menu.remove_node", - "hex.builtin.view.data_processor.menu.remove_selection", - "hex.builtin.view.data_processor.name", - "hex.builtin.view.diff.name", - "hex.builtin.view.disassembler.16bit", - "hex.builtin.view.disassembler.32bit", - "hex.builtin.view.disassembler.64bit", - "hex.builtin.view.disassembler.arch", - "hex.builtin.view.disassembler.arm.arm", - "hex.builtin.view.disassembler.arm.armv8", - "hex.builtin.view.disassembler.arm.cortex_m", - "hex.builtin.view.disassembler.arm.default", - "hex.builtin.view.disassembler.arm.thumb", - "hex.builtin.view.disassembler.base", - "hex.builtin.view.disassembler.bpf.classic", - "hex.builtin.view.disassembler.bpf.extended", - "hex.builtin.view.disassembler.disassemble", - "hex.builtin.view.disassembler.disassembling", - "hex.builtin.view.disassembler.disassembly.address", - "hex.builtin.view.disassembler.disassembly.bytes", - "hex.builtin.view.disassembler.disassembly.offset", - "hex.builtin.view.disassembler.disassembly.title", - "hex.builtin.view.disassembler.m680x.6301", - "hex.builtin.view.disassembler.m680x.6309", - "hex.builtin.view.disassembler.m680x.6800", - "hex.builtin.view.disassembler.m680x.6801", - "hex.builtin.view.disassembler.m680x.6805", - "hex.builtin.view.disassembler.m680x.6808", - "hex.builtin.view.disassembler.m680x.6809", - "hex.builtin.view.disassembler.m680x.6811", - "hex.builtin.view.disassembler.m680x.cpu12", - "hex.builtin.view.disassembler.m680x.hcs08", - "hex.builtin.view.disassembler.m68k.000", - "hex.builtin.view.disassembler.m68k.010", - "hex.builtin.view.disassembler.m68k.020", - "hex.builtin.view.disassembler.m68k.030", - "hex.builtin.view.disassembler.m68k.040", - "hex.builtin.view.disassembler.m68k.060", - "hex.builtin.view.disassembler.mips.micro", - "hex.builtin.view.disassembler.mips.mips2", - "hex.builtin.view.disassembler.mips.mips3", - "hex.builtin.view.disassembler.mips.mips32", - "hex.builtin.view.disassembler.mips.mips32R6", - "hex.builtin.view.disassembler.mips.mips64", - "hex.builtin.view.disassembler.mos65xx.6502", - "hex.builtin.view.disassembler.mos65xx.65816", - "hex.builtin.view.disassembler.mos65xx.65816_long_m", - "hex.builtin.view.disassembler.mos65xx.65816_long_mx", - "hex.builtin.view.disassembler.mos65xx.65816_long_x", - "hex.builtin.view.disassembler.mos65xx.65c02", - "hex.builtin.view.disassembler.mos65xx.w65c02", - "hex.builtin.view.disassembler.name", - "hex.builtin.view.disassembler.position", - "hex.builtin.view.disassembler.ppc.booke", - "hex.builtin.view.disassembler.ppc.qpx", - "hex.builtin.view.disassembler.ppc.spe", - "hex.builtin.view.disassembler.region", - "hex.builtin.view.disassembler.riscv.compressed", - "hex.builtin.view.disassembler.settings.mode", - "hex.builtin.view.disassembler.sparc.v9", - "hex.builtin.view.find.binary_pattern", - "hex.builtin.view.find.context.copy", - "hex.builtin.view.find.context.copy_demangle", - "hex.builtin.view.find.demangled", - "hex.builtin.view.find.name", - "hex.builtin.view.find.regex", - "hex.builtin.view.find.regex.full_match", - "hex.builtin.view.find.regex.pattern", - "hex.builtin.view.find.search", - "hex.builtin.view.find.search.entries", - "hex.builtin.view.find.search.reset", - "hex.builtin.view.find.searching", - "hex.builtin.view.find.sequences", - "hex.builtin.view.find.strings", - "hex.builtin.view.find.strings.chars", - "hex.builtin.view.find.strings.line_feeds", - "hex.builtin.view.find.strings.lower_case", - "hex.builtin.view.find.strings.match_settings", - "hex.builtin.view.find.strings.min_length", - "hex.builtin.view.find.strings.null_term", - "hex.builtin.view.find.strings.numbers", - "hex.builtin.view.find.strings.spaces", - "hex.builtin.view.find.strings.symbols", - "hex.builtin.view.find.strings.underscores", - "hex.builtin.view.find.strings.upper_case", - "hex.builtin.view.find.value", - "hex.builtin.view.find.value.max", - "hex.builtin.view.find.value.min", - "hex.builtin.view.hashes.function", - "hex.builtin.view.hashes.hash", - "hex.builtin.view.hashes.hover_info", - "hex.builtin.view.hashes.name", - "hex.builtin.view.hashes.no_settings", - "hex.builtin.view.hashes.remove", - "hex.builtin.view.hashes.table.name", - "hex.builtin.view.hashes.table.result", - "hex.builtin.view.hashes.table.type", - "hex.builtin.view.help.about.contributor", - "hex.builtin.view.help.about.donations", - "hex.builtin.view.help.about.libs", - "hex.builtin.view.help.about.license", - "hex.builtin.view.help.about.name", - "hex.builtin.view.help.about.paths", - "hex.builtin.view.help.about.source", - "hex.builtin.view.help.about.thanks", - "hex.builtin.view.help.about.translator", - "hex.builtin.view.help.calc_cheat_sheet", - "hex.builtin.view.help.documentation", - "hex.builtin.view.help.name", - "hex.builtin.view.help.pattern_cheat_sheet", - "hex.builtin.view.hex_editor.copy.address", - "hex.builtin.view.hex_editor.copy.ascii", - "hex.builtin.view.hex_editor.copy.base64", - "hex.builtin.view.hex_editor.copy.c", - "hex.builtin.view.hex_editor.copy.cpp", - "hex.builtin.view.hex_editor.copy.crystal", - "hex.builtin.view.hex_editor.copy.csharp", - "hex.builtin.view.hex_editor.copy.custom_encoding", - "hex.builtin.view.hex_editor.copy.go", - "hex.builtin.view.hex_editor.copy.hex_view", - "hex.builtin.view.hex_editor.copy.html", - "hex.builtin.view.hex_editor.copy.java", - "hex.builtin.view.hex_editor.copy.js", - "hex.builtin.view.hex_editor.copy.lua", - "hex.builtin.view.hex_editor.copy.pascal", - "hex.builtin.view.hex_editor.copy.python", - "hex.builtin.view.hex_editor.copy.rust", - "hex.builtin.view.hex_editor.copy.swift", - "hex.builtin.view.hex_editor.goto.offset.absolute", - "hex.builtin.view.hex_editor.goto.offset.begin", - "hex.builtin.view.hex_editor.goto.offset.end", - "hex.builtin.view.hex_editor.goto.offset.relative", - "hex.builtin.view.hex_editor.menu.edit.copy", - "hex.builtin.view.hex_editor.menu.edit.copy_as", - "hex.builtin.view.hex_editor.menu.edit.insert", - "hex.builtin.view.hex_editor.menu.edit.jump_to", - "hex.builtin.view.hex_editor.menu.edit.open_in_new_provider", - "hex.builtin.view.hex_editor.menu.edit.paste", - "hex.builtin.view.hex_editor.menu.edit.paste_all", - "hex.builtin.view.hex_editor.menu.edit.remove", - "hex.builtin.view.hex_editor.menu.edit.resize", - "hex.builtin.view.hex_editor.menu.edit.select_all", - "hex.builtin.view.hex_editor.menu.edit.set_base", - "hex.builtin.view.hex_editor.menu.file.goto", - "hex.builtin.view.hex_editor.menu.file.load_encoding_file", - "hex.builtin.view.hex_editor.menu.file.save", - "hex.builtin.view.hex_editor.menu.file.save_as", - "hex.builtin.view.hex_editor.menu.file.search", - "hex.builtin.view.hex_editor.menu.file.select", - "hex.builtin.view.hex_editor.name", - "hex.builtin.view.hex_editor.search.find", - "hex.builtin.view.hex_editor.search.hex", - "hex.builtin.view.hex_editor.search.string", - "hex.builtin.view.hex_editor.select.offset.begin", - "hex.builtin.view.hex_editor.select.offset.end", - "hex.builtin.view.hex_editor.select.offset.region", - "hex.builtin.view.hex_editor.select.offset.size", - "hex.builtin.view.hex_editor.select.select", - "hex.builtin.view.information.analyze", - "hex.builtin.view.information.analyzing", - "hex.builtin.view.information.block_size", - "hex.builtin.view.information.block_size.desc", - "hex.builtin.view.information.byte_types", - "hex.builtin.view.information.control", - "hex.builtin.view.information.description", - "hex.builtin.view.information.digram", - "hex.builtin.view.information.distribution", - "hex.builtin.view.information.encrypted", - "hex.builtin.view.information.entropy", - "hex.builtin.view.information.file_entropy", - "hex.builtin.view.information.highest_entropy", - "hex.builtin.view.information.info_analysis", - "hex.builtin.view.information.layered_distribution", - "hex.builtin.view.information.magic", - "hex.builtin.view.information.magic_db_added", - "hex.builtin.view.information.mime", - "hex.builtin.view.information.name", - "hex.builtin.view.information.region", - "hex.builtin.view.information.plain_text", - "hex.builtin.view.information.plain_text_percentage", - "hex.builtin.view.patches.name", - "hex.builtin.view.patches.offset", - "hex.builtin.view.patches.orig", - "hex.builtin.view.patches.patch", - "hex.builtin.view.patches.remove", - "hex.builtin.view.pattern_data.name", - "hex.builtin.view.pattern_editor.accept_pattern", - "hex.builtin.view.pattern_editor.accept_pattern.desc", - "hex.builtin.view.pattern_editor.accept_pattern.pattern_language", - "hex.builtin.view.pattern_editor.accept_pattern.question", - "hex.builtin.view.pattern_editor.auto", - "hex.builtin.view.pattern_editor.console", - "hex.builtin.view.pattern_editor.dangerous_function.desc", - "hex.builtin.view.pattern_editor.dangerous_function.name", - "hex.builtin.view.pattern_editor.env_vars", - "hex.builtin.view.pattern_editor.evaluating", - "hex.builtin.view.pattern_editor.menu.edit.place_pattern", - "hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin", - "hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.array", - "hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.single", - "hex.builtin.view.pattern_editor.menu.edit.place_pattern.custom", - "hex.builtin.view.pattern_editor.menu.file.load_pattern", - "hex.builtin.view.pattern_editor.menu.file.save_pattern", - "hex.builtin.view.pattern_editor.name", - "hex.builtin.view.pattern_editor.no_in_out_vars", - "hex.builtin.view.pattern_editor.open_pattern", - "hex.builtin.view.pattern_editor.section_popup", - "hex.builtin.view.pattern_editor.sections", - "hex.builtin.view.pattern_editor.settings", - "hex.builtin.view.provider_settings.load_error", - "hex.builtin.view.provider_settings.load_error_details", - "hex.builtin.view.provider_settings.load_popup", - "hex.builtin.view.provider_settings.name", - "hex.builtin.view.settings.name", - "hex.builtin.view.settings.restart_question", - "hex.builtin.view.store.desc", - "hex.builtin.view.store.download", - "hex.builtin.view.store.download_error", - "hex.builtin.view.store.loading", - "hex.builtin.view.store.name", - "hex.builtin.view.store.netfailed", - "hex.builtin.view.store.reload", - "hex.builtin.view.store.remove", - "hex.builtin.view.store.row.description", - "hex.builtin.view.store.row.name", - "hex.builtin.view.store.tab.constants", - "hex.builtin.view.store.tab.encodings", - "hex.builtin.view.store.tab.includes", - "hex.builtin.view.store.tab.magic", - "hex.builtin.view.store.tab.patterns", - "hex.builtin.view.store.tab.yara", - "hex.builtin.view.store.update", - "hex.builtin.view.tools.name", - "hex.builtin.view.yara.error", - "hex.builtin.view.yara.header.matches", - "hex.builtin.view.yara.header.rules", - "hex.builtin.view.yara.match", - "hex.builtin.view.yara.matches.identifier", - "hex.builtin.view.yara.matches.variable", - "hex.builtin.view.yara.matching", - "hex.builtin.view.yara.name", - "hex.builtin.view.yara.no_rules", - "hex.builtin.view.yara.reload", - "hex.builtin.view.yara.reset", - "hex.builtin.view.yara.rule_added", - "hex.builtin.view.yara.whole_data", - "hex.builtin.visualizer.decimal.signed.16bit", - "hex.builtin.visualizer.decimal.signed.32bit", - "hex.builtin.visualizer.decimal.signed.64bit", - "hex.builtin.visualizer.decimal.signed.8bit", - "hex.builtin.visualizer.decimal.unsigned.16bit", - "hex.builtin.visualizer.decimal.unsigned.32bit", - "hex.builtin.visualizer.decimal.unsigned.64bit", - "hex.builtin.visualizer.decimal.unsigned.8bit", - "hex.builtin.visualizer.floating_point.16bit", - "hex.builtin.visualizer.floating_point.32bit", - "hex.builtin.visualizer.floating_point.64bit", - "hex.builtin.visualizer.hexadecimal.16bit", - "hex.builtin.visualizer.hexadecimal.32bit", - "hex.builtin.visualizer.hexadecimal.64bit", - "hex.builtin.visualizer.hexadecimal.8bit", - "hex.builtin.visualizer.hexii", - "hex.builtin.visualizer.rgba8", - "hex.builtin.welcome.check_for_updates_text", - "hex.builtin.welcome.customize.settings.desc", - "hex.builtin.welcome.customize.settings.title", - "hex.builtin.welcome.header.customize", - "hex.builtin.welcome.header.help", - "hex.builtin.welcome.header.learn", - "hex.builtin.welcome.header.main", - "hex.builtin.welcome.header.plugins", - "hex.builtin.welcome.header.start", - "hex.builtin.welcome.header.update", - "hex.builtin.welcome.header.various", - "hex.builtin.welcome.help.discord", - "hex.builtin.welcome.help.discord.link", - "hex.builtin.welcome.help.gethelp", - "hex.builtin.welcome.help.gethelp.link", - "hex.builtin.welcome.help.repo", - "hex.builtin.welcome.help.repo.link", - "hex.builtin.welcome.learn.latest.desc", - "hex.builtin.welcome.learn.latest.link", - "hex.builtin.welcome.learn.latest.title", - "hex.builtin.welcome.learn.pattern.desc", - "hex.builtin.welcome.learn.pattern.link", - "hex.builtin.welcome.learn.pattern.title", - "hex.builtin.welcome.learn.plugins.desc", - "hex.builtin.welcome.learn.plugins.link", - "hex.builtin.welcome.learn.plugins.title", - "hex.builtin.welcome.plugins.author", - "hex.builtin.welcome.plugins.desc", - "hex.builtin.welcome.plugins.plugin", - "hex.builtin.popup.safety_backup.delete", - "hex.builtin.popup.safety_backup.desc", - "hex.builtin.popup.safety_backup.log_file", - "hex.builtin.popup.safety_backup.restore", - "hex.builtin.popup.safety_backup.title", - "hex.builtin.welcome.start.create_file", - "hex.builtin.welcome.start.open_file", - "hex.builtin.welcome.start.open_other", - "hex.builtin.welcome.start.open_project", - "hex.builtin.welcome.start.recent", - "hex.builtin.welcome.tip_of_the_day", - "hex.builtin.welcome.update.desc", - "hex.builtin.welcome.update.link", - "hex.builtin.welcome.update.title" -] \ No newline at end of file diff --git a/plugins/builtin/romfs/lang/de_DE.json b/plugins/builtin/romfs/lang/de_DE.json index 5da272cae..fe14a8569 100644 --- a/plugins/builtin/romfs/lang/de_DE.json +++ b/plugins/builtin/romfs/lang/de_DE.json @@ -48,6 +48,7 @@ "hex.builtin.common.open": "Öffnen", "hex.builtin.common.percentage": "Prozent", "hex.builtin.common.processing": "Verarbeiten", + "hex.builtin.common.project": "", "hex.builtin.common.question": "Frage", "hex.builtin.common.range": "Bereich", "hex.builtin.common.range.entire_data": "Gesamte Daten", @@ -81,6 +82,9 @@ "hex.builtin.hash.crc.xor_out": "XOR Out", "hex.builtin.hash.crc16": "CRC16", "hex.builtin.hash.crc32": "CRC32", + "hex.builtin.hash.crc32c": "", + "hex.builtin.hash.crc32mpeg": "", + "hex.builtin.hash.crc32posix": "", "hex.builtin.hash.crc8": "CRC8", "hex.builtin.hash.md5": "MD5", "hex.builtin.hash.sha1": "SHA1", @@ -88,12 +92,17 @@ "hex.builtin.hash.sha256": "SHA256", "hex.builtin.hash.sha384": "SHA384", "hex.builtin.hash.sha512": "SHA512", + "hex.builtin.hex_editor.ascii_view": "ASCII Spalte anzeigen", + "hex.builtin.hex_editor.custom_encoding_view": "Erweiterte Dekodierungsspalte anzeigen", "hex.builtin.hex_editor.data_size": "Datengrösse", + "hex.builtin.hex_editor.gray_out_zero": "Nullen ausgrauen", "hex.builtin.hex_editor.no_bytes": "Keine Bytes verfügbar", "hex.builtin.hex_editor.page": "Seite", "hex.builtin.hex_editor.region": "Region", "hex.builtin.hex_editor.selection": "Auswahl", "hex.builtin.hex_editor.selection.none": "Keine", + "hex.builtin.hex_editor.uppercase_hex": "Hex Zeichen als Grossbuchstaben", + "hex.builtin.hex_editor.visualizer": "Daten Anzeige", "hex.builtin.inspector.ascii": "ASCII Zeichen", "hex.builtin.inspector.binary": "Binär (8 bit)", "hex.builtin.inspector.bool": "bool", @@ -128,10 +137,12 @@ "hex.builtin.inspector.utf8": "UTF-8 code point", "hex.builtin.inspector.wide": "Wide Character", "hex.builtin.layouts.default": "Standard", + "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "Bearbeiten", "hex.builtin.menu.edit.bookmark.create": "Lesezeichen erstellen", "hex.builtin.menu.edit.redo": "Wiederholen", "hex.builtin.menu.edit.undo": "Rückgängig", + "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "Datei", "hex.builtin.menu.file.bookmark.export": "Lesezeichen exportieren", "hex.builtin.menu.file.bookmark.import": "Lesezeichen importieren", @@ -175,6 +186,7 @@ "hex.builtin.menu.file.quit": "ImHex beenden", "hex.builtin.menu.file.reload_provider": "Provider neu laden", "hex.builtin.menu.help": "Hilfe", + "hex.builtin.menu.help.ask_for_help": "", "hex.builtin.menu.layout": "Layout", "hex.builtin.menu.layout.save": "Layout speichern", "hex.builtin.menu.view": "Ansicht", @@ -210,9 +222,13 @@ "hex.builtin.nodes.bitwise.not.header": "Bitweise NICHT", "hex.builtin.nodes.bitwise.or": "ODER", "hex.builtin.nodes.bitwise.or.header": "Bitweise ODER", + "hex.builtin.nodes.bitwise.swap": "", + "hex.builtin.nodes.bitwise.swap.header": "", "hex.builtin.nodes.bitwise.xor": "Exklusiv ODER", "hex.builtin.nodes.bitwise.xor.header": "Bitweise Exklusiv ODER", "hex.builtin.nodes.buffer": "Buffer", + "hex.builtin.nodes.buffer.byte_swap": "", + "hex.builtin.nodes.buffer.byte_swap.header": "", "hex.builtin.nodes.buffer.combine": "Kombinieren", "hex.builtin.nodes.buffer.combine.header": "Buffer kombinieren", "hex.builtin.nodes.buffer.patch": "Patch", @@ -323,6 +339,8 @@ "hex.builtin.nodes.decoding.hex": "Hexadezimal", "hex.builtin.nodes.decoding.hex.header": "Hexadezimal Dekodierer", "hex.builtin.nodes.display": "Anzeigen", + "hex.builtin.nodes.display.bits": "", + "hex.builtin.nodes.display.bits.header": "", "hex.builtin.nodes.display.buffer": "Buffer", "hex.builtin.nodes.display.buffer.header": "Buffer anzeigen", "hex.builtin.nodes.display.float": "Float", @@ -347,8 +365,13 @@ "hex.builtin.nodes.visualizer.layered_dist.header": "Schichtverteilung", "hex.builtin.pattern_drawer.color": "Farbe", "hex.builtin.pattern_drawer.double_click": "Doppelklicken um mehr Einträge zu sehen", + "hex.builtin.pattern_drawer.favorites": "", + "hex.builtin.pattern_drawer.local": "", "hex.builtin.pattern_drawer.offset": "Offset", "hex.builtin.pattern_drawer.size": "Grösse", + "hex.builtin.pattern_drawer.tree_style.auto_expanded": "Automatisch geöffneter Baum", + "hex.builtin.pattern_drawer.tree_style.flattened": "Flach", + "hex.builtin.pattern_drawer.tree_style.tree": "Baum", "hex.builtin.pattern_drawer.type": "Typ", "hex.builtin.pattern_drawer.value": "Wert", "hex.builtin.pattern_drawer.var_name": "Name", @@ -358,26 +381,42 @@ "hex.builtin.pl_visualizer.3d.scale": "", "hex.builtin.popup.close_provider.desc": "Es wurden ungespeicherte Änderungen an diesem Provider vorgenommen.\nBist du sicher, dass du ihn schliessen willst?", "hex.builtin.popup.close_provider.title": "Provider schliessen?", + "hex.builtin.popup.docs_question.no_answer": "", + "hex.builtin.popup.docs_question.prompt": "", + "hex.builtin.popup.docs_question.thinking": "", + "hex.builtin.popup.docs_question.title": "", "hex.builtin.popup.error.create": "Erstellen der neuen Datei fehlgeschlagen!", "hex.builtin.popup.error.file_dialog.common": "Ein Fehler trat beim Öffnen des Dateibrowser auf!", "hex.builtin.popup.error.file_dialog.portal": "Ein Fehler trat beim Öffnen des Dateibrowser auf! Der Grund dafür kann sein, dass dein System kein xdg-desktop-portal Backend korrekt installiert hat.\n\nFür KDE wird xdg-desktop-portal-kde benötigt.\nFür Gnome wird xdg-desktop-portal-gnome benötigt.\nFür wlroots wird xdg-desktop-portal-wlr benötigt.\nAndernfalls kann eventuell xdg-desktop-portal-gtk verwendet werden.\n\nStarte dein System nach der Installation neu.\n\nFalls der Dateibrowser immer noch nicht funktionieren sollte, erstelle ein Issue auf https://github.com/WerWolv/ImHex/issues\n\nIn der Zwischenzeit können Dateien immer noch geöffnet werden, in dem sie auf das ImHex Fenster gezogen werden.", - "hex.builtin.popup.error.open": "Öffnen der Datei fehlgeschlagen!", "hex.builtin.popup.error.project.load": "Laden des Projektes fehlgeschlagen!", "hex.builtin.popup.error.project.save": "Speichern des Projektes fehlgeschlagen!", "hex.builtin.popup.error.read_only": "Fehlende Schreibrechte. Datei wurde im Lesemodus geöffnet.", "hex.builtin.popup.error.task_exception": "Fehler in Task '{}':\n\n{}", "hex.builtin.popup.exit_application.desc": "Es sind nicht gespeicherte Änderungen in diesem Projekt vorhanden.\nBist du sicher, dass du ImHex schliessen willst?", "hex.builtin.popup.exit_application.title": "Applikation verlassen?", + "hex.builtin.popup.safety_backup.delete": "Nein, entfernen", + "hex.builtin.popup.safety_backup.desc": "Oh nein, ImHex ist letztes Mal abgestürzt.\nWillst du das vorherige Projekt wiederherstellen?", + "hex.builtin.popup.safety_backup.log_file": "", + "hex.builtin.popup.safety_backup.restore": "Ja, wiederherstellen", + "hex.builtin.popup.safety_backup.title": "Verlorene Daten wiederherstellen", + "hex.builtin.popup.save_layout.desc": "", + "hex.builtin.popup.save_layout.title": "", "hex.builtin.popup.waiting_for_tasks.desc": "Einige Tasks laufen immer noch im Hintergrund.\nImHex wird geschlossen, nachdem diese Abgeschlossen wurden.", "hex.builtin.popup.waiting_for_tasks.title": "Warten auf Tasks", "hex.builtin.provider.disk": "Datenträger Provider", "hex.builtin.provider.disk.disk_size": "Datenträgergrösse", + "hex.builtin.provider.disk.error.read_ro": "", + "hex.builtin.provider.disk.error.read_rw": "", "hex.builtin.provider.disk.reload": "Neu laden", "hex.builtin.provider.disk.sector_size": "Sektorgrösse", "hex.builtin.provider.disk.selected_disk": "Datenträger", + "hex.builtin.provider.error.open": "", "hex.builtin.provider.file": "Datei Provider", "hex.builtin.provider.file.access": "Letzte Zugriffszeit", "hex.builtin.provider.file.creation": "Erstellungszeit", + "hex.builtin.provider.file.error.open": "", + "hex.builtin.provider.file.menu.open_file": "", + "hex.builtin.provider.file.menu.open_folder": "", "hex.builtin.provider.file.modification": "Letzte Modifikationszeit", "hex.builtin.provider.file.path": "Dateipfad", "hex.builtin.provider.file.size": "Größe", @@ -400,36 +439,30 @@ "hex.builtin.setting.font": "Schriftart", "hex.builtin.setting.font.font_path": "Eigene Schriftart", "hex.builtin.setting.font.font_size": "Schriftgrösse", + "hex.builtin.setting.font.font_size.tooltip": "", "hex.builtin.setting.general": "Allgemein", "hex.builtin.setting.general.auto_load_patterns": "Automatisches Laden unterstützter Pattern", "hex.builtin.setting.general.check_for_updates": "Automatisch nach Updates beim Start suchen", "hex.builtin.setting.general.enable_unicode": "Alle Unicode Zeichen laden", + "hex.builtin.setting.general.network_interface": "", "hex.builtin.setting.general.save_recent_providers": "", "hex.builtin.setting.general.show_tips": "Tipps beim Start anzeigen", "hex.builtin.setting.general.sync_pattern_source": "Pattern Source Code zwischen Providern synchronisieren", "hex.builtin.setting.hex_editor": "Hex Editor", - "hex.builtin.setting.hex_editor.advanced_decoding": "Erweiterte Dekodierungsspalte anzeigen", - "hex.builtin.setting.hex_editor.ascii": "ASCII Spalte anzeigen", "hex.builtin.setting.hex_editor.byte_padding": "Extra Byte-Zellenabstand", "hex.builtin.setting.hex_editor.bytes_per_row": "Bytes pro Zeile", "hex.builtin.setting.hex_editor.char_padding": "Extra Zeichen-Zellenabstand", - "hex.builtin.setting.hex_editor.grey_zeros": "Nullen ausgrauen", "hex.builtin.setting.hex_editor.highlight_color": "Auswahlfarbe", "hex.builtin.setting.hex_editor.sync_scrolling": "Editorposition synchronisieren", - "hex.builtin.setting.hex_editor.uppercase_hex": "Hex Zeichen als Grossbuchstaben", - "hex.builtin.setting.hex_editor.visualizer": "Daten Anzeige", "hex.builtin.setting.imhex": "ImHex", "hex.builtin.setting.imhex.recent_files": "Zuletzt geöffnete Dateien", "hex.builtin.setting.interface": "Aussehen", "hex.builtin.setting.interface.color": "Farbdesign", "hex.builtin.setting.interface.fps": "FPS Limit", + "hex.builtin.setting.interface.fps.native": "", "hex.builtin.setting.interface.fps.unlocked": "Unbegrenzt", "hex.builtin.setting.interface.language": "Sprache", "hex.builtin.setting.interface.multi_windows": "Multi-Window-Unterstützung aktivieren", - "hex.builtin.setting.interface.pattern_tree_style": "Pattern Baum Style", - "hex.builtin.setting.interface.pattern_tree_style.auto_expanded": "Automatisch geöffneter Baum", - "hex.builtin.setting.interface.pattern_tree_style.flattened": "Flach", - "hex.builtin.setting.interface.pattern_tree_style.tree": "Baum", "hex.builtin.setting.interface.scaling": "Skalierung", "hex.builtin.setting.interface.scaling.native": "Nativ", "hex.builtin.setting.interface.scaling.x0_5": "x0.5", @@ -561,6 +594,10 @@ "hex.builtin.view.bookmarks.name": "Lesezeichen", "hex.builtin.view.bookmarks.no_bookmarks": "Noch kein Lesezeichen erstellt. Füge eines hinzu mit Bearbeiten -> Lesezeichen erstellen", "hex.builtin.view.bookmarks.title.info": "Informationen", + "hex.builtin.view.bookmarks.tooltip.jump_to": "", + "hex.builtin.view.bookmarks.tooltip.lock": "", + "hex.builtin.view.bookmarks.tooltip.open_in_view": "", + "hex.builtin.view.bookmarks.tooltip.unlock": "", "hex.builtin.view.command_palette.name": "Befehlspalette", "hex.builtin.view.constants.name": "Konstanten", "hex.builtin.view.constants.row.category": "Kategorie", @@ -643,8 +680,12 @@ "hex.builtin.view.disassembler.settings.mode": "Modus", "hex.builtin.view.disassembler.sparc.v9": "Sparc V9", "hex.builtin.view.find.binary_pattern": "Binärpattern", + "hex.builtin.view.find.binary_pattern.alignment": "", "hex.builtin.view.find.context.copy": "Wert kopieren", "hex.builtin.view.find.context.copy_demangle": "Demangled Wert kopieren", + "hex.builtin.view.find.context.replace": "", + "hex.builtin.view.find.context.replace.ascii": "", + "hex.builtin.view.find.context.replace.hex": "", "hex.builtin.view.find.demangled": "Demangled", "hex.builtin.view.find.name": "Suchen", "hex.builtin.view.find.regex": "Regex", @@ -668,8 +709,10 @@ "hex.builtin.view.find.strings.underscores": "Unterstriche", "hex.builtin.view.find.strings.upper_case": "Grossbuchstaben", "hex.builtin.view.find.value": "Numerischer Wert", + "hex.builtin.view.find.value.aligned": "", "hex.builtin.view.find.value.max": "Maximalwert", "hex.builtin.view.find.value.min": "Minimalwert", + "hex.builtin.view.find.value.range": "", "hex.builtin.view.hashes.function": "Hashfunktion", "hex.builtin.view.hashes.hash": "Hash", "hex.builtin.view.hashes.hover_info": "Bewege die Maus über die ausgewählten Bytes im Hex Editor und halte SHIFT gedrückt, um die Hashes dieser Region anzuzeigen.", @@ -725,6 +768,7 @@ "hex.builtin.view.hex_editor.menu.edit.resize": "Grösse ändern...", "hex.builtin.view.hex_editor.menu.edit.select_all": "Alles auswählen", "hex.builtin.view.hex_editor.menu.edit.set_base": "Basisadresse setzen", + "hex.builtin.view.hex_editor.menu.edit.set_page_size": "", "hex.builtin.view.hex_editor.menu.file.goto": "Gehe zu", "hex.builtin.view.hex_editor.menu.file.load_encoding_file": "Benutzerdefinierte Enkodierung laden...", "hex.builtin.view.hex_editor.menu.file.save": "Speichern", @@ -794,6 +838,7 @@ "hex.builtin.view.pattern_editor.sections": "Sektionen", "hex.builtin.view.pattern_editor.settings": "Einstellungen", "hex.builtin.view.provider_settings.load_error": "Ein Fehler beim Öffnen dieses Providers ist aufgetreten!", + "hex.builtin.view.provider_settings.load_error_details": "", "hex.builtin.view.provider_settings.load_popup": "Provider öffnen", "hex.builtin.view.provider_settings.name": "Provider Einstellungen", "hex.builtin.view.settings.name": "Einstellungen", @@ -884,10 +929,6 @@ "hex.builtin.welcome.plugins.author": "Autor", "hex.builtin.welcome.plugins.desc": "Beschreibung", "hex.builtin.welcome.plugins.plugin": "Plugin", - "hex.builtin.popup.safety_backup.delete": "Nein, entfernen", - "hex.builtin.popup.safety_backup.desc": "Oh nein, ImHex ist letztes Mal abgestürzt.\nWillst du das vorherige Projekt wiederherstellen?", - "hex.builtin.popup.safety_backup.restore": "Ja, wiederherstellen", - "hex.builtin.popup.safety_backup.title": "Verlorene Daten wiederherstellen", "hex.builtin.welcome.start.create_file": "Neue Datei erstellen", "hex.builtin.welcome.start.open_file": "Datei öffnen", "hex.builtin.welcome.start.open_other": "Andere Provider", diff --git a/plugins/builtin/romfs/lang/en_US.json b/plugins/builtin/romfs/lang/en_US.json index 7f1bfc647..a7307e516 100644 --- a/plugins/builtin/romfs/lang/en_US.json +++ b/plugins/builtin/romfs/lang/en_US.json @@ -93,12 +93,17 @@ "hex.builtin.hash.sha256": "SHA256", "hex.builtin.hash.sha384": "SHA384", "hex.builtin.hash.sha512": "SHA512", + "hex.builtin.hex_editor.ascii_view": "Display ASCII column", + "hex.builtin.hex_editor.custom_encoding_view": "Display advanced decoding column", "hex.builtin.hex_editor.data_size": "Data Size", + "hex.builtin.hex_editor.gray_out_zero": "Grey out zeros", "hex.builtin.hex_editor.no_bytes": "No bytes available", "hex.builtin.hex_editor.page": "Page", "hex.builtin.hex_editor.region": "Region", "hex.builtin.hex_editor.selection": "Selection", "hex.builtin.hex_editor.selection.none": "None", + "hex.builtin.hex_editor.uppercase_hex": "Upper case Hex characters", + "hex.builtin.hex_editor.visualizer": "Data visualizer", "hex.builtin.inspector.ascii": "ASCII Character", "hex.builtin.inspector.binary": "Binary (8 bit)", "hex.builtin.inspector.bool": "bool", @@ -365,6 +370,9 @@ "hex.builtin.pattern_drawer.local": "Local", "hex.builtin.pattern_drawer.offset": "Offset", "hex.builtin.pattern_drawer.size": "Size", + "hex.builtin.pattern_drawer.tree_style.tree": "Tree", + "hex.builtin.pattern_drawer.tree_style.auto_expanded": "Auto Expanded Tree", + "hex.builtin.pattern_drawer.tree_style.flattened": "Flattened", "hex.builtin.pattern_drawer.type": "Type", "hex.builtin.pattern_drawer.value": "Value", "hex.builtin.pattern_drawer.var_name": "Name", @@ -437,16 +445,11 @@ "hex.builtin.setting.general.show_tips": "Show tips on startup", "hex.builtin.setting.general.sync_pattern_source": "Sync pattern source code between providers", "hex.builtin.setting.hex_editor": "Hex Editor", - "hex.builtin.setting.hex_editor.advanced_decoding": "Display advanced decoding column", - "hex.builtin.setting.hex_editor.ascii": "Display ASCII column", "hex.builtin.setting.hex_editor.byte_padding": "Extra byte cell padding", "hex.builtin.setting.hex_editor.bytes_per_row": "Bytes per row", "hex.builtin.setting.hex_editor.char_padding": "Extra character cell padding", - "hex.builtin.setting.hex_editor.grey_zeros": "Grey out zeros", "hex.builtin.setting.hex_editor.highlight_color": "Selection highlight color", "hex.builtin.setting.hex_editor.sync_scrolling": "Synchronize editor position", - "hex.builtin.setting.hex_editor.uppercase_hex": "Upper case Hex characters", - "hex.builtin.setting.hex_editor.visualizer": "Data visualizer", "hex.builtin.setting.imhex": "ImHex", "hex.builtin.setting.imhex.recent_files": "Recent Files", "hex.builtin.setting.interface": "Interface", @@ -456,10 +459,6 @@ "hex.builtin.setting.interface.fps.native": "Native", "hex.builtin.setting.interface.language": "Language", "hex.builtin.setting.interface.multi_windows": "Enable Multi Window support", - "hex.builtin.setting.interface.pattern_tree_style": "Pattern Tree Style", - "hex.builtin.setting.interface.pattern_tree_style.tree": "Tree", - "hex.builtin.setting.interface.pattern_tree_style.auto_expanded": "Auto Expanded Tree", - "hex.builtin.setting.interface.pattern_tree_style.flattened": "Flattened", "hex.builtin.setting.interface.scaling": "Scaling", "hex.builtin.setting.interface.scaling.native": "Native", "hex.builtin.setting.interface.scaling.x0_5": "x0.5", diff --git a/plugins/builtin/romfs/lang/es_ES.json b/plugins/builtin/romfs/lang/es_ES.json index 7ca3520b7..e72d94c51 100644 --- a/plugins/builtin/romfs/lang/es_ES.json +++ b/plugins/builtin/romfs/lang/es_ES.json @@ -48,6 +48,7 @@ "hex.builtin.common.open": "Abrir", "hex.builtin.common.percentage": "Porcentaje", "hex.builtin.common.processing": "Procesado", + "hex.builtin.common.project": "", "hex.builtin.common.question": "Pregunta", "hex.builtin.common.range": "Rango", "hex.builtin.common.range.entire_data": "Todos los Datos", @@ -91,12 +92,17 @@ "hex.builtin.hash.sha256": "SHA256", "hex.builtin.hash.sha384": "SHA384", "hex.builtin.hash.sha512": "SHA512", + "hex.builtin.hex_editor.ascii_view": "Mostrar columna ASCII", + "hex.builtin.hex_editor.custom_encoding_view": "Mostrar columna de decodificación avanzada", "hex.builtin.hex_editor.data_size": "Tamaño de Datos", + "hex.builtin.hex_editor.gray_out_zero": "Mostrar ceros en gris", "hex.builtin.hex_editor.no_bytes": "No hay bytes disponibles", "hex.builtin.hex_editor.page": "Página", "hex.builtin.hex_editor.region": "Región", "hex.builtin.hex_editor.selection": "Selección", "hex.builtin.hex_editor.selection.none": "Ninguno", + "hex.builtin.hex_editor.uppercase_hex": "Caracteres hexadecimales mayúscula", + "hex.builtin.hex_editor.visualizer": "Visualizador de datos", "hex.builtin.inspector.ascii": "Carácter ASCII", "hex.builtin.inspector.binary": "Binario (8 bit)", "hex.builtin.inspector.bool": "bool", @@ -131,10 +137,12 @@ "hex.builtin.inspector.utf8": "Código UTF-8", "hex.builtin.inspector.wide": "Carácter (wide)", "hex.builtin.layouts.default": "Por defecto", + "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "Editar", "hex.builtin.menu.edit.bookmark.create": "Crear marcador", "hex.builtin.menu.edit.redo": "Rehacer", "hex.builtin.menu.edit.undo": "Deshacer", + "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "Archivo", "hex.builtin.menu.file.bookmark.export": "Exportar marcadores", "hex.builtin.menu.file.bookmark.import": "Importar marcadores", @@ -180,6 +188,7 @@ "hex.builtin.menu.help": "Ayuda", "hex.builtin.menu.help.ask_for_help": "Preguntar Documentación...", "hex.builtin.menu.layout": "Layout", + "hex.builtin.menu.layout.save": "", "hex.builtin.menu.view": "Vista", "hex.builtin.menu.view.demo": "Mostrar Demo De ImGui", "hex.builtin.menu.view.fps": "Mostrar FPS", @@ -213,9 +222,13 @@ "hex.builtin.nodes.bitwise.not.header": "", "hex.builtin.nodes.bitwise.or": "", "hex.builtin.nodes.bitwise.or.header": "", + "hex.builtin.nodes.bitwise.swap": "", + "hex.builtin.nodes.bitwise.swap.header": "", "hex.builtin.nodes.bitwise.xor": "", "hex.builtin.nodes.bitwise.xor.header": "", "hex.builtin.nodes.buffer": "", + "hex.builtin.nodes.buffer.byte_swap": "", + "hex.builtin.nodes.buffer.byte_swap.header": "", "hex.builtin.nodes.buffer.combine": "Combinar", "hex.builtin.nodes.buffer.combine.header": "Combinar buffers", "hex.builtin.nodes.buffer.patch": "Parchear", @@ -326,6 +339,8 @@ "hex.builtin.nodes.decoding.hex": "Hexadecimal", "hex.builtin.nodes.decoding.hex.header": "Decodificador Hexadecimal", "hex.builtin.nodes.display": "Mostrar", + "hex.builtin.nodes.display.bits": "", + "hex.builtin.nodes.display.bits.header": "", "hex.builtin.nodes.display.buffer": "Buffer", "hex.builtin.nodes.display.buffer.header": "Mostrar buffer", "hex.builtin.nodes.display.float": "Flotante", @@ -350,8 +365,13 @@ "hex.builtin.nodes.visualizer.layered_dist.header": "Distribución en Capas", "hex.builtin.pattern_drawer.color": "Color", "hex.builtin.pattern_drawer.double_click": "Haga doble clic para ver más elementos", + "hex.builtin.pattern_drawer.favorites": "", + "hex.builtin.pattern_drawer.local": "", "hex.builtin.pattern_drawer.offset": "Offset", "hex.builtin.pattern_drawer.size": "Tamaño", + "hex.builtin.pattern_drawer.tree_style.auto_expanded": "Árbol Automáticamente Expandido", + "hex.builtin.pattern_drawer.tree_style.flattened": "Allanado", + "hex.builtin.pattern_drawer.tree_style.tree": "Árbol", "hex.builtin.pattern_drawer.type": "Tipo", "hex.builtin.pattern_drawer.value": "Valor", "hex.builtin.pattern_drawer.var_name": "Nombre", @@ -368,7 +388,6 @@ "hex.builtin.popup.error.create": "¡Fallo al crear nuevo archivo!", "hex.builtin.popup.error.file_dialog.common": "Ocurrió un error al abrir el explorador de archivos: '{}'", "hex.builtin.popup.error.file_dialog.portal": "Ocurrió un error al abrir el explorador de archivos: {}.\nEsto ha podido deberse a que su sistema no tenga un backend de xdg-desktop-portal instalado adecuadamente.\n\nEn KDE es xdg-desktop-portal-kde.\nEn Gnome es xdg-desktop-portal-gnome.\nEn wlroots es xdg-desktop-portal-wlr.\nDe lo contrario, puede intentar utilizar xdg-desktop-portal-gtk.\n\nReinicie el sistema tras instalarlo.\n\nSi tras esto el explorador de archivos sigue sin funcionar, cree un issue en https://github.com/WerWolv/ImHex/issues\n\n¡Mientras tanto, los archivos pueden ser abiertos arrastrándose hacia la ventana de ImHex!", - "hex.builtin.popup.error.open": "¡Fallo al abrir archivo!", "hex.builtin.popup.error.project.load": "¡Fallo al cargar proyecto!", "hex.builtin.popup.error.project.save": "¡Fallo al guardar proyecto!", "hex.builtin.popup.error.read_only": "No se pudo obtener acceso de escritura. Archivo abierto en modo de sólo lectura.", @@ -377,8 +396,11 @@ "hex.builtin.popup.exit_application.title": "¿Cerrar Aplicación?", "hex.builtin.popup.safety_backup.delete": "No, Borrar", "hex.builtin.popup.safety_backup.desc": "Oh no, ImHex se cerró de forma inesperada la última vez.\n¿Le gustaría restaurar su trabajo anterior?", + "hex.builtin.popup.safety_backup.log_file": "", "hex.builtin.popup.safety_backup.restore": "Sí, restaurar", "hex.builtin.popup.safety_backup.title": "Restaurar datos perdidos", + "hex.builtin.popup.save_layout.desc": "", + "hex.builtin.popup.save_layout.title": "", "hex.builtin.popup.waiting_for_tasks.desc": "Aún hay tareas ejecutándose en el fondo.\nImHex se cerrará una vez hayan finalizado.", "hex.builtin.popup.waiting_for_tasks.title": "Esperando a Procesos", "hex.builtin.provider.disk": "Proveedor de Disco en Bruto", @@ -388,9 +410,13 @@ "hex.builtin.provider.disk.reload": "Recargar", "hex.builtin.provider.disk.sector_size": "Tamaño de Sector", "hex.builtin.provider.disk.selected_disk": "Disco", + "hex.builtin.provider.error.open": "", "hex.builtin.provider.file": "Proveedor de Archivos", "hex.builtin.provider.file.access": "Fecha de último acceso", "hex.builtin.provider.file.creation": "Fecha de creación", + "hex.builtin.provider.file.error.open": "", + "hex.builtin.provider.file.menu.open_file": "", + "hex.builtin.provider.file.menu.open_folder": "", "hex.builtin.provider.file.modification": "Fecha de última modificación", "hex.builtin.provider.file.path": "Ruta de archivo", "hex.builtin.provider.file.size": "Tamaño", @@ -418,20 +444,16 @@ "hex.builtin.setting.general.auto_load_patterns": "Cargar automáticamente patterns soportados", "hex.builtin.setting.general.check_for_updates": "Comprobar actualizaciones al inicio", "hex.builtin.setting.general.enable_unicode": "Cargar todos los caracteres unicode", + "hex.builtin.setting.general.network_interface": "", "hex.builtin.setting.general.save_recent_providers": "Guardar proveedores recientemente utilizados", "hex.builtin.setting.general.show_tips": "Mostrar consejos al inicio", "hex.builtin.setting.general.sync_pattern_source": "Sincronizar código fuente de patterns entre proveedores", "hex.builtin.setting.hex_editor": "Editor Hexadecimal", - "hex.builtin.setting.hex_editor.advanced_decoding": "Mostrar columna de decodificación avanzada", - "hex.builtin.setting.hex_editor.ascii": "Mostrar columna ASCII", "hex.builtin.setting.hex_editor.byte_padding": "Relleno adicional en celda de byte", "hex.builtin.setting.hex_editor.bytes_per_row": "Bytes por fila", "hex.builtin.setting.hex_editor.char_padding": "Relleno adicional en celda de carácter", - "hex.builtin.setting.hex_editor.grey_zeros": "Mostrar ceros en gris", "hex.builtin.setting.hex_editor.highlight_color": "Color de destacamiento de selección", "hex.builtin.setting.hex_editor.sync_scrolling": "Sincronizar posición del editor", - "hex.builtin.setting.hex_editor.uppercase_hex": "Caracteres hexadecimales mayúscula", - "hex.builtin.setting.hex_editor.visualizer": "Visualizador de datos", "hex.builtin.setting.imhex": "", "hex.builtin.setting.imhex.recent_files": "Archivos Recientes", "hex.builtin.setting.interface": "Interfaz", @@ -441,10 +463,6 @@ "hex.builtin.setting.interface.fps.unlocked": "Desbloqueado", "hex.builtin.setting.interface.language": "Idioma", "hex.builtin.setting.interface.multi_windows": "Activar soporte de ventanas múltiples", - "hex.builtin.setting.interface.pattern_tree_style": "Estilo de Árbol de Patterns", - "hex.builtin.setting.interface.pattern_tree_style.auto_expanded": "Árbol Automáticamente Expandido", - "hex.builtin.setting.interface.pattern_tree_style.flattened": "Allanado", - "hex.builtin.setting.interface.pattern_tree_style.tree": "Árbol", "hex.builtin.setting.interface.scaling": "Escalado", "hex.builtin.setting.interface.scaling.native": "Nativo", "hex.builtin.setting.interface.scaling.x0_5": "", @@ -665,6 +683,9 @@ "hex.builtin.view.find.binary_pattern.alignment": "Alineado", "hex.builtin.view.find.context.copy": "Copiar Valor", "hex.builtin.view.find.context.copy_demangle": "Copiar valor 'demangle'ado", + "hex.builtin.view.find.context.replace": "", + "hex.builtin.view.find.context.replace.ascii": "", + "hex.builtin.view.find.context.replace.hex": "", "hex.builtin.view.find.demangled": "'Demangle'ado", "hex.builtin.view.find.name": "Buscar", "hex.builtin.view.find.regex": "Expresión regular", @@ -747,6 +768,7 @@ "hex.builtin.view.hex_editor.menu.edit.resize": "Redimensionar...", "hex.builtin.view.hex_editor.menu.edit.select_all": "Seleccionar todo", "hex.builtin.view.hex_editor.menu.edit.set_base": "Establecer dirección base", + "hex.builtin.view.hex_editor.menu.edit.set_page_size": "", "hex.builtin.view.hex_editor.menu.file.goto": "Saltar a", "hex.builtin.view.hex_editor.menu.file.load_encoding_file": "Cargar codificación personalizada...", "hex.builtin.view.hex_editor.menu.file.save": "Guardar", diff --git a/plugins/builtin/romfs/lang/it_IT.json b/plugins/builtin/romfs/lang/it_IT.json index b4b5c98ce..c6244536b 100644 --- a/plugins/builtin/romfs/lang/it_IT.json +++ b/plugins/builtin/romfs/lang/it_IT.json @@ -48,6 +48,7 @@ "hex.builtin.common.open": "Apri", "hex.builtin.common.percentage": "", "hex.builtin.common.processing": "", + "hex.builtin.common.project": "", "hex.builtin.common.question": "", "hex.builtin.common.range": "", "hex.builtin.common.range.entire_data": "", @@ -81,6 +82,9 @@ "hex.builtin.hash.crc.xor_out": "", "hex.builtin.hash.crc16": "CRC16", "hex.builtin.hash.crc32": "CRC32", + "hex.builtin.hash.crc32c": "", + "hex.builtin.hash.crc32mpeg": "", + "hex.builtin.hash.crc32posix": "", "hex.builtin.hash.crc8": "CRC8", "hex.builtin.hash.md5": "MD5", "hex.builtin.hash.sha1": "SHA1", @@ -88,12 +92,17 @@ "hex.builtin.hash.sha256": "SHA256", "hex.builtin.hash.sha384": "SHA384", "hex.builtin.hash.sha512": "SHA512", + "hex.builtin.hex_editor.ascii_view": "Mostra la colonna ASCII", + "hex.builtin.hex_editor.custom_encoding_view": "Mostra la colonna di decodifica avanzata", "hex.builtin.hex_editor.data_size": "", + "hex.builtin.hex_editor.gray_out_zero": "Taglia fuori gli zeri", "hex.builtin.hex_editor.no_bytes": "", "hex.builtin.hex_editor.page": "", "hex.builtin.hex_editor.region": "", "hex.builtin.hex_editor.selection": "", "hex.builtin.hex_editor.selection.none": "", + "hex.builtin.hex_editor.uppercase_hex": "Caratteri esadecimali maiuscoli", + "hex.builtin.hex_editor.visualizer": "", "hex.builtin.inspector.ascii": "ASCII Character", "hex.builtin.inspector.binary": "Binary (8 bit)", "hex.builtin.inspector.bool": "bool", @@ -128,10 +137,12 @@ "hex.builtin.inspector.utf8": "UTF-8 code point", "hex.builtin.inspector.wide": "Wide Character", "hex.builtin.layouts.default": "Default", + "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "Modifica", "hex.builtin.menu.edit.bookmark.create": "Crea segnalibro", "hex.builtin.menu.edit.redo": "Ripeti", "hex.builtin.menu.edit.undo": "Annulla", + "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "File", "hex.builtin.menu.file.bookmark.export": "", "hex.builtin.menu.file.bookmark.import": "", @@ -175,7 +186,9 @@ "hex.builtin.menu.file.quit": "Uscita ImHex", "hex.builtin.menu.file.reload_provider": "", "hex.builtin.menu.help": "Aiuto", + "hex.builtin.menu.help.ask_for_help": "", "hex.builtin.menu.layout": "Layout", + "hex.builtin.menu.layout.save": "", "hex.builtin.menu.view": "Vista", "hex.builtin.menu.view.demo": "Mostra la demo di ImGui", "hex.builtin.menu.view.fps": "Mostra FPS", @@ -209,9 +222,13 @@ "hex.builtin.nodes.bitwise.not.header": "Bitwise NON", "hex.builtin.nodes.bitwise.or": "O", "hex.builtin.nodes.bitwise.or.header": "Bitwise O", + "hex.builtin.nodes.bitwise.swap": "", + "hex.builtin.nodes.bitwise.swap.header": "", "hex.builtin.nodes.bitwise.xor": "XOR", "hex.builtin.nodes.bitwise.xor.header": "Bitwise XOR", "hex.builtin.nodes.buffer": "Buffer", + "hex.builtin.nodes.buffer.byte_swap": "", + "hex.builtin.nodes.buffer.byte_swap.header": "", "hex.builtin.nodes.buffer.combine": "Combina", "hex.builtin.nodes.buffer.combine.header": "Combina buffer", "hex.builtin.nodes.buffer.patch": "", @@ -322,6 +339,8 @@ "hex.builtin.nodes.decoding.hex": "Esadecimale", "hex.builtin.nodes.decoding.hex.header": "Decodificatore Esadecimale", "hex.builtin.nodes.display": "Mostra", + "hex.builtin.nodes.display.bits": "", + "hex.builtin.nodes.display.bits.header": "", "hex.builtin.nodes.display.buffer": "", "hex.builtin.nodes.display.buffer.header": "", "hex.builtin.nodes.display.float": "Float", @@ -346,8 +365,13 @@ "hex.builtin.nodes.visualizer.layered_dist.header": "", "hex.builtin.pattern_drawer.color": "", "hex.builtin.pattern_drawer.double_click": "", + "hex.builtin.pattern_drawer.favorites": "", + "hex.builtin.pattern_drawer.local": "", "hex.builtin.pattern_drawer.offset": "", "hex.builtin.pattern_drawer.size": "", + "hex.builtin.pattern_drawer.tree_style.auto_expanded": "", + "hex.builtin.pattern_drawer.tree_style.flattened": "", + "hex.builtin.pattern_drawer.tree_style.tree": "", "hex.builtin.pattern_drawer.type": "", "hex.builtin.pattern_drawer.value": "", "hex.builtin.pattern_drawer.var_name": "", @@ -357,26 +381,42 @@ "hex.builtin.pl_visualizer.3d.scale": "", "hex.builtin.popup.close_provider.desc": "", "hex.builtin.popup.close_provider.title": "", + "hex.builtin.popup.docs_question.no_answer": "", + "hex.builtin.popup.docs_question.prompt": "", + "hex.builtin.popup.docs_question.thinking": "", + "hex.builtin.popup.docs_question.title": "", "hex.builtin.popup.error.create": "Impossibile creare il nuovo File!", "hex.builtin.popup.error.file_dialog.common": "", "hex.builtin.popup.error.file_dialog.portal": "", - "hex.builtin.popup.error.open": "Impossibile aprire il File!", "hex.builtin.popup.error.project.load": "", "hex.builtin.popup.error.project.save": "", "hex.builtin.popup.error.read_only": "Impossibile scrivere sul File. File aperto solo in modalità lettura", "hex.builtin.popup.error.task_exception": "", "hex.builtin.popup.exit_application.desc": "Hai delle modifiche non salvate nel tuo progetto.\nSei sicuro di voler uscire?", "hex.builtin.popup.exit_application.title": "Uscire dall'applicazione?", + "hex.builtin.popup.safety_backup.delete": "No, Elimina", + "hex.builtin.popup.safety_backup.desc": "Oh no, l'ultima volta ImHex è crashato.\nVuoi ripristinare il tuo lavoro?", + "hex.builtin.popup.safety_backup.log_file": "", + "hex.builtin.popup.safety_backup.restore": "Sì, Ripristina", + "hex.builtin.popup.safety_backup.title": "Ripristina i dati persi", + "hex.builtin.popup.save_layout.desc": "", + "hex.builtin.popup.save_layout.title": "", "hex.builtin.popup.waiting_for_tasks.desc": "", "hex.builtin.popup.waiting_for_tasks.title": "", "hex.builtin.provider.disk": "Provider di dischi raw", "hex.builtin.provider.disk.disk_size": "Dimensione disco", + "hex.builtin.provider.disk.error.read_ro": "", + "hex.builtin.provider.disk.error.read_rw": "", "hex.builtin.provider.disk.reload": "Ricarica", "hex.builtin.provider.disk.sector_size": "Dimensione settore", "hex.builtin.provider.disk.selected_disk": "Disco", + "hex.builtin.provider.error.open": "", "hex.builtin.provider.file": "Provider di file", "hex.builtin.provider.file.access": "Data dell'ultimo accesso", "hex.builtin.provider.file.creation": "Data di creazione", + "hex.builtin.provider.file.error.open": "", + "hex.builtin.provider.file.menu.open_file": "", + "hex.builtin.provider.file.menu.open_folder": "", "hex.builtin.provider.file.modification": "Data dell'ultima modifica", "hex.builtin.provider.file.path": "Percorso del File", "hex.builtin.provider.file.size": "Dimensione", @@ -399,36 +439,30 @@ "hex.builtin.setting.font": "", "hex.builtin.setting.font.font_path": "", "hex.builtin.setting.font.font_size": "", + "hex.builtin.setting.font.font_size.tooltip": "", "hex.builtin.setting.general": "Generali", "hex.builtin.setting.general.auto_load_patterns": "Auto-caricamento del pattern supportato", "hex.builtin.setting.general.check_for_updates": "", "hex.builtin.setting.general.enable_unicode": "", + "hex.builtin.setting.general.network_interface": "", "hex.builtin.setting.general.save_recent_providers": "", "hex.builtin.setting.general.show_tips": "Mostra consigli all'avvio", "hex.builtin.setting.general.sync_pattern_source": "", "hex.builtin.setting.hex_editor": "Hex Editor", - "hex.builtin.setting.hex_editor.advanced_decoding": "Mostra la colonna di decodifica avanzata", - "hex.builtin.setting.hex_editor.ascii": "Mostra la colonna ASCII", "hex.builtin.setting.hex_editor.byte_padding": "", "hex.builtin.setting.hex_editor.bytes_per_row": "", "hex.builtin.setting.hex_editor.char_padding": "", - "hex.builtin.setting.hex_editor.grey_zeros": "Taglia fuori gli zeri", "hex.builtin.setting.hex_editor.highlight_color": "", "hex.builtin.setting.hex_editor.sync_scrolling": "", - "hex.builtin.setting.hex_editor.uppercase_hex": "Caratteri esadecimali maiuscoli", - "hex.builtin.setting.hex_editor.visualizer": "", "hex.builtin.setting.imhex": "ImHex", "hex.builtin.setting.imhex.recent_files": "File recenti", "hex.builtin.setting.interface": "Interfaccia", "hex.builtin.setting.interface.color": "Colore del Tema", "hex.builtin.setting.interface.fps": "Limite FPS", + "hex.builtin.setting.interface.fps.native": "", "hex.builtin.setting.interface.fps.unlocked": "Unblocca", "hex.builtin.setting.interface.language": "Lingua", "hex.builtin.setting.interface.multi_windows": "", - "hex.builtin.setting.interface.pattern_tree_style": "", - "hex.builtin.setting.interface.pattern_tree_style.auto_expanded": "", - "hex.builtin.setting.interface.pattern_tree_style.flattened": "", - "hex.builtin.setting.interface.pattern_tree_style.tree": "", "hex.builtin.setting.interface.scaling": "Scale", "hex.builtin.setting.interface.scaling.native": "Nativo", "hex.builtin.setting.interface.scaling.x0_5": "x0.5", @@ -526,12 +560,13 @@ "hex.builtin.tools.ieee754.settings.display_mode.simplified": "", "hex.builtin.tools.ieee754.sign": "", "hex.builtin.tools.ieee754.single_precision": "", + "hex.builtin.tools.ieee754.type": "", + "hex.builtin.tools.input": "Input", "hex.builtin.tools.invariant_multiplication": "", "hex.builtin.tools.invariant_multiplication.description": "", "hex.builtin.tools.invariant_multiplication.num_bits": "", - "hex.builtin.tools.input": "Input", - "hex.builtin.tools.output": "", "hex.builtin.tools.name": "Nome", + "hex.builtin.tools.output": "", "hex.builtin.tools.permissions": "", "hex.builtin.tools.permissions.absolute": "Notazione assoluta", "hex.builtin.tools.permissions.perm_bits": "Bit di autorizzazione", @@ -559,6 +594,10 @@ "hex.builtin.view.bookmarks.name": "Segnalibri", "hex.builtin.view.bookmarks.no_bookmarks": "Non è stato creato alcun segnalibro. Aggiungine uno andando su Modifica -> Crea Segnalibro", "hex.builtin.view.bookmarks.title.info": "Informazioni", + "hex.builtin.view.bookmarks.tooltip.jump_to": "", + "hex.builtin.view.bookmarks.tooltip.lock": "", + "hex.builtin.view.bookmarks.tooltip.open_in_view": "", + "hex.builtin.view.bookmarks.tooltip.unlock": "", "hex.builtin.view.command_palette.name": "Tavola dei Comandi", "hex.builtin.view.constants.name": "Costanti", "hex.builtin.view.constants.row.category": "Categoria", @@ -641,8 +680,12 @@ "hex.builtin.view.disassembler.settings.mode": "", "hex.builtin.view.disassembler.sparc.v9": "Sparc V9", "hex.builtin.view.find.binary_pattern": "", + "hex.builtin.view.find.binary_pattern.alignment": "", "hex.builtin.view.find.context.copy": "", "hex.builtin.view.find.context.copy_demangle": "", + "hex.builtin.view.find.context.replace": "", + "hex.builtin.view.find.context.replace.ascii": "", + "hex.builtin.view.find.context.replace.hex": "", "hex.builtin.view.find.demangled": "", "hex.builtin.view.find.name": "", "hex.builtin.view.find.regex": "", @@ -666,8 +709,10 @@ "hex.builtin.view.find.strings.underscores": "", "hex.builtin.view.find.strings.upper_case": "", "hex.builtin.view.find.value": "", + "hex.builtin.view.find.value.aligned": "", "hex.builtin.view.find.value.max": "", "hex.builtin.view.find.value.min": "", + "hex.builtin.view.find.value.range": "", "hex.builtin.view.hashes.function": "Funzioni di Hash", "hex.builtin.view.hashes.hash": "Hash", "hex.builtin.view.hashes.hover_info": "", @@ -723,6 +768,7 @@ "hex.builtin.view.hex_editor.menu.edit.resize": "Ridimensiona...", "hex.builtin.view.hex_editor.menu.edit.select_all": "Seleziona tutti", "hex.builtin.view.hex_editor.menu.edit.set_base": "Imposta indirizzo di base", + "hex.builtin.view.hex_editor.menu.edit.set_page_size": "", "hex.builtin.view.hex_editor.menu.file.goto": "Vai a", "hex.builtin.view.hex_editor.menu.file.load_encoding_file": "Carica una codifica personalizzata...", "hex.builtin.view.hex_editor.menu.file.save": "Salva", @@ -792,6 +838,7 @@ "hex.builtin.view.pattern_editor.sections": "", "hex.builtin.view.pattern_editor.settings": "Impostazioni", "hex.builtin.view.provider_settings.load_error": "", + "hex.builtin.view.provider_settings.load_error_details": "", "hex.builtin.view.provider_settings.load_popup": "Apri Provider", "hex.builtin.view.provider_settings.name": "Impostazioni Provider", "hex.builtin.view.settings.name": "Impostazioni", @@ -882,10 +929,6 @@ "hex.builtin.welcome.plugins.author": "Autore", "hex.builtin.welcome.plugins.desc": "Descrizione", "hex.builtin.welcome.plugins.plugin": "Plugin", - "hex.builtin.popup.safety_backup.delete": "No, Elimina", - "hex.builtin.popup.safety_backup.desc": "Oh no, l'ultima volta ImHex è crashato.\nVuoi ripristinare il tuo lavoro?", - "hex.builtin.popup.safety_backup.restore": "Sì, Ripristina", - "hex.builtin.popup.safety_backup.title": "Ripristina i dati persi", "hex.builtin.welcome.start.create_file": "Crea un nuovo File", "hex.builtin.welcome.start.open_file": "Apri un File", "hex.builtin.welcome.start.open_other": "", diff --git a/plugins/builtin/romfs/lang/ja_JP.json b/plugins/builtin/romfs/lang/ja_JP.json index 93375b8bd..23fa8b50d 100644 --- a/plugins/builtin/romfs/lang/ja_JP.json +++ b/plugins/builtin/romfs/lang/ja_JP.json @@ -48,6 +48,7 @@ "hex.builtin.common.open": "開く", "hex.builtin.common.percentage": "", "hex.builtin.common.processing": "", + "hex.builtin.common.project": "", "hex.builtin.common.question": "", "hex.builtin.common.range": "範囲", "hex.builtin.common.range.entire_data": "データ全体", @@ -81,6 +82,9 @@ "hex.builtin.hash.crc.xor_out": "最終XOR値", "hex.builtin.hash.crc16": "CRC16", "hex.builtin.hash.crc32": "CRC32", + "hex.builtin.hash.crc32c": "", + "hex.builtin.hash.crc32mpeg": "", + "hex.builtin.hash.crc32posix": "", "hex.builtin.hash.crc8": "CRC8", "hex.builtin.hash.md5": "MD5", "hex.builtin.hash.sha1": "SHA1", @@ -88,12 +92,17 @@ "hex.builtin.hash.sha256": "SHA256", "hex.builtin.hash.sha384": "SHA384", "hex.builtin.hash.sha512": "SHA512", + "hex.builtin.hex_editor.ascii_view": "ASCIIを表示", + "hex.builtin.hex_editor.custom_encoding_view": "他のデコード列を表示", "hex.builtin.hex_editor.data_size": "ファイルサイズ", + "hex.builtin.hex_editor.gray_out_zero": "ゼロをグレーアウト", "hex.builtin.hex_editor.no_bytes": "", "hex.builtin.hex_editor.page": "ページ", "hex.builtin.hex_editor.region": "ページの領域", "hex.builtin.hex_editor.selection": "選択中", "hex.builtin.hex_editor.selection.none": "なし", + "hex.builtin.hex_editor.uppercase_hex": "16進数を大文字表記", + "hex.builtin.hex_editor.visualizer": "データ表示方式", "hex.builtin.inspector.ascii": "ASCII", "hex.builtin.inspector.binary": "バイナリ (8 bit)", "hex.builtin.inspector.bool": "bool", @@ -128,10 +137,12 @@ "hex.builtin.inspector.utf8": "UTF-8 code point", "hex.builtin.inspector.wide": "Wide Character", "hex.builtin.layouts.default": "標準", + "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "編集", "hex.builtin.menu.edit.bookmark.create": "ブックマークを作成", "hex.builtin.menu.edit.redo": "やり直す", "hex.builtin.menu.edit.undo": "元に戻す", + "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "ファイル", "hex.builtin.menu.file.bookmark.export": "ブックマークをエクスポート…", "hex.builtin.menu.file.bookmark.import": "ブックマークをインポート…", @@ -175,7 +186,9 @@ "hex.builtin.menu.file.quit": "ImHexを終了", "hex.builtin.menu.file.reload_provider": "", "hex.builtin.menu.help": "ヘルプ", + "hex.builtin.menu.help.ask_for_help": "", "hex.builtin.menu.layout": "レイアウト", + "hex.builtin.menu.layout.save": "", "hex.builtin.menu.view": "表示", "hex.builtin.menu.view.demo": "ImGuiデモを表示", "hex.builtin.menu.view.fps": "FPSを表示", @@ -209,9 +222,13 @@ "hex.builtin.nodes.bitwise.not.header": "Bitwise NOT", "hex.builtin.nodes.bitwise.or": "OR", "hex.builtin.nodes.bitwise.or.header": "Bitwise OR", + "hex.builtin.nodes.bitwise.swap": "", + "hex.builtin.nodes.bitwise.swap.header": "", "hex.builtin.nodes.bitwise.xor": "XOR", "hex.builtin.nodes.bitwise.xor.header": "Bitwise XOR", "hex.builtin.nodes.buffer": "バッファ", + "hex.builtin.nodes.buffer.byte_swap": "", + "hex.builtin.nodes.buffer.byte_swap.header": "", "hex.builtin.nodes.buffer.combine": "結合", "hex.builtin.nodes.buffer.combine.header": "バッファを結合", "hex.builtin.nodes.buffer.patch": "", @@ -322,6 +339,8 @@ "hex.builtin.nodes.decoding.hex": "16進法", "hex.builtin.nodes.decoding.hex.header": "16進デコーダ", "hex.builtin.nodes.display": "表示", + "hex.builtin.nodes.display.bits": "", + "hex.builtin.nodes.display.bits.header": "", "hex.builtin.nodes.display.buffer": "バッファ", "hex.builtin.nodes.display.buffer.header": "バッファ表示", "hex.builtin.nodes.display.float": "小数", @@ -346,8 +365,13 @@ "hex.builtin.nodes.visualizer.layered_dist.header": "層状分布", "hex.builtin.pattern_drawer.color": "色", "hex.builtin.pattern_drawer.double_click": "", + "hex.builtin.pattern_drawer.favorites": "", + "hex.builtin.pattern_drawer.local": "", "hex.builtin.pattern_drawer.offset": "オフセット", "hex.builtin.pattern_drawer.size": "サイズ", + "hex.builtin.pattern_drawer.tree_style.auto_expanded": "", + "hex.builtin.pattern_drawer.tree_style.flattened": "", + "hex.builtin.pattern_drawer.tree_style.tree": "", "hex.builtin.pattern_drawer.type": "型", "hex.builtin.pattern_drawer.value": "値", "hex.builtin.pattern_drawer.var_name": "名前", @@ -357,26 +381,42 @@ "hex.builtin.pl_visualizer.3d.scale": "", "hex.builtin.popup.close_provider.desc": "変更がプロジェクトとして保存されていません。\nファイルを閉じてもよろしいですか?", "hex.builtin.popup.close_provider.title": "タブを閉じますか?", + "hex.builtin.popup.docs_question.no_answer": "", + "hex.builtin.popup.docs_question.prompt": "", + "hex.builtin.popup.docs_question.thinking": "", + "hex.builtin.popup.docs_question.title": "", "hex.builtin.popup.error.create": "新しいファイルを作成できませんでした。", "hex.builtin.popup.error.file_dialog.common": "", "hex.builtin.popup.error.file_dialog.portal": "", - "hex.builtin.popup.error.open": "ファイルを開けませんでした。", "hex.builtin.popup.error.project.load": "", "hex.builtin.popup.error.project.save": "", "hex.builtin.popup.error.read_only": "書き込み権限を取得できませんでした。ファイルが読み取り専用で開かれました。", "hex.builtin.popup.error.task_exception": "", "hex.builtin.popup.exit_application.desc": "変更がプロジェクトとして保存されていません。\n終了してもよろしいですか?", "hex.builtin.popup.exit_application.title": "アプリケーションを終了しますか?", + "hex.builtin.popup.safety_backup.delete": "破棄する", + "hex.builtin.popup.safety_backup.desc": "ImHexがクラッシュしました。\n前のデータを復元しますか?", + "hex.builtin.popup.safety_backup.log_file": "", + "hex.builtin.popup.safety_backup.restore": "復元する", + "hex.builtin.popup.safety_backup.title": "セッションの回復", + "hex.builtin.popup.save_layout.desc": "", + "hex.builtin.popup.save_layout.title": "", "hex.builtin.popup.waiting_for_tasks.desc": "", "hex.builtin.popup.waiting_for_tasks.title": "", "hex.builtin.provider.disk": "ディスクイメージ", "hex.builtin.provider.disk.disk_size": "ディスクサイズ", + "hex.builtin.provider.disk.error.read_ro": "", + "hex.builtin.provider.disk.error.read_rw": "", "hex.builtin.provider.disk.reload": "リロード", "hex.builtin.provider.disk.sector_size": "セクタサイズ", "hex.builtin.provider.disk.selected_disk": "ディスク", + "hex.builtin.provider.error.open": "", "hex.builtin.provider.file": "ファイル", "hex.builtin.provider.file.access": "最終アクセス時刻", "hex.builtin.provider.file.creation": "作成時刻", + "hex.builtin.provider.file.error.open": "", + "hex.builtin.provider.file.menu.open_file": "", + "hex.builtin.provider.file.menu.open_folder": "", "hex.builtin.provider.file.modification": "最終編集時刻", "hex.builtin.provider.file.path": "ファイルパス", "hex.builtin.provider.file.size": "サイズ", @@ -399,36 +439,30 @@ "hex.builtin.setting.font": "フォント", "hex.builtin.setting.font.font_path": "フォントファイルのパス", "hex.builtin.setting.font.font_size": "フォントサイズ", + "hex.builtin.setting.font.font_size.tooltip": "", "hex.builtin.setting.general": "基本", "hex.builtin.setting.general.auto_load_patterns": "対応するパターンを自動で読み込む", "hex.builtin.setting.general.check_for_updates": "", "hex.builtin.setting.general.enable_unicode": "", + "hex.builtin.setting.general.network_interface": "", "hex.builtin.setting.general.save_recent_providers": "", "hex.builtin.setting.general.show_tips": "起動時に豆知識を表示", "hex.builtin.setting.general.sync_pattern_source": "ファイル間のパターンソースコードを同期", "hex.builtin.setting.hex_editor": "Hexエディタ", - "hex.builtin.setting.hex_editor.advanced_decoding": "他のデコード列を表示", - "hex.builtin.setting.hex_editor.ascii": "ASCIIを表示", "hex.builtin.setting.hex_editor.byte_padding": "", "hex.builtin.setting.hex_editor.bytes_per_row": "1行のバイト数", "hex.builtin.setting.hex_editor.char_padding": "", - "hex.builtin.setting.hex_editor.grey_zeros": "ゼロをグレーアウト", "hex.builtin.setting.hex_editor.highlight_color": "選択範囲の色", "hex.builtin.setting.hex_editor.sync_scrolling": "", - "hex.builtin.setting.hex_editor.uppercase_hex": "16進数を大文字表記", - "hex.builtin.setting.hex_editor.visualizer": "データ表示方式", "hex.builtin.setting.imhex": "ImHex", "hex.builtin.setting.imhex.recent_files": "最近開いたファイル", "hex.builtin.setting.interface": "UI", "hex.builtin.setting.interface.color": "カラーテーマ", "hex.builtin.setting.interface.fps": "FPS制限", + "hex.builtin.setting.interface.fps.native": "", "hex.builtin.setting.interface.fps.unlocked": "無制限", "hex.builtin.setting.interface.language": "言語", "hex.builtin.setting.interface.multi_windows": "", - "hex.builtin.setting.interface.pattern_tree_style": "", - "hex.builtin.setting.interface.pattern_tree_style.auto_expanded": "", - "hex.builtin.setting.interface.pattern_tree_style.flattened": "", - "hex.builtin.setting.interface.pattern_tree_style.tree": "", "hex.builtin.setting.interface.scaling": "スケーリング", "hex.builtin.setting.interface.scaling.native": "ネイティブ", "hex.builtin.setting.interface.scaling.x0_5": "x0.5", @@ -560,6 +594,10 @@ "hex.builtin.view.bookmarks.name": "ブックマーク", "hex.builtin.view.bookmarks.no_bookmarks": "ブックマークが作成されていません。編集 -> ブックマークを作成 から追加できます。", "hex.builtin.view.bookmarks.title.info": "情報", + "hex.builtin.view.bookmarks.tooltip.jump_to": "", + "hex.builtin.view.bookmarks.tooltip.lock": "", + "hex.builtin.view.bookmarks.tooltip.open_in_view": "", + "hex.builtin.view.bookmarks.tooltip.unlock": "", "hex.builtin.view.command_palette.name": "コマンドパレット", "hex.builtin.view.constants.name": "定数", "hex.builtin.view.constants.row.category": "カテゴリ", @@ -642,8 +680,12 @@ "hex.builtin.view.disassembler.settings.mode": "モード", "hex.builtin.view.disassembler.sparc.v9": "Sparc V9", "hex.builtin.view.find.binary_pattern": "16進数", + "hex.builtin.view.find.binary_pattern.alignment": "", "hex.builtin.view.find.context.copy": "値をコピー", "hex.builtin.view.find.context.copy_demangle": "", + "hex.builtin.view.find.context.replace": "", + "hex.builtin.view.find.context.replace.ascii": "", + "hex.builtin.view.find.context.replace.hex": "", "hex.builtin.view.find.demangled": "", "hex.builtin.view.find.name": "検索", "hex.builtin.view.find.regex": "正規表現", @@ -667,8 +709,10 @@ "hex.builtin.view.find.strings.underscores": "アンダースコア", "hex.builtin.view.find.strings.upper_case": "小文字", "hex.builtin.view.find.value": "数値", + "hex.builtin.view.find.value.aligned": "", "hex.builtin.view.find.value.max": "最大値", "hex.builtin.view.find.value.min": "最小値", + "hex.builtin.view.find.value.range": "", "hex.builtin.view.hashes.function": "ハッシュ関数", "hex.builtin.view.hashes.hash": "", "hex.builtin.view.hashes.hover_info": "", @@ -724,6 +768,7 @@ "hex.builtin.view.hex_editor.menu.edit.resize": "リサイズ…", "hex.builtin.view.hex_editor.menu.edit.select_all": "すべて選択", "hex.builtin.view.hex_editor.menu.edit.set_base": "ベースアドレスをセット", + "hex.builtin.view.hex_editor.menu.edit.set_page_size": "", "hex.builtin.view.hex_editor.menu.file.goto": "移動", "hex.builtin.view.hex_editor.menu.file.load_encoding_file": "カスタムデコードを読み込む…", "hex.builtin.view.hex_editor.menu.file.save": "保存", @@ -793,6 +838,7 @@ "hex.builtin.view.pattern_editor.sections": "", "hex.builtin.view.pattern_editor.settings": "設定", "hex.builtin.view.provider_settings.load_error": "ファイルを開く際にエラーが発生しました。", + "hex.builtin.view.provider_settings.load_error_details": "", "hex.builtin.view.provider_settings.load_popup": "ファイルを開く", "hex.builtin.view.provider_settings.name": "ファイル設定", "hex.builtin.view.settings.name": "設定", @@ -883,10 +929,6 @@ "hex.builtin.welcome.plugins.author": "作者", "hex.builtin.welcome.plugins.desc": "詳細", "hex.builtin.welcome.plugins.plugin": "プラグイン", - "hex.builtin.popup.safety_backup.delete": "破棄する", - "hex.builtin.popup.safety_backup.desc": "ImHexがクラッシュしました。\n前のデータを復元しますか?", - "hex.builtin.popup.safety_backup.restore": "復元する", - "hex.builtin.popup.safety_backup.title": "セッションの回復", "hex.builtin.welcome.start.create_file": "新規ファイルを作成", "hex.builtin.welcome.start.open_file": "ファイルを開く…", "hex.builtin.welcome.start.open_other": "その他のファイル", diff --git a/plugins/builtin/romfs/lang/ko_KR.json b/plugins/builtin/romfs/lang/ko_KR.json index 8da5ba536..016c48534 100644 --- a/plugins/builtin/romfs/lang/ko_KR.json +++ b/plugins/builtin/romfs/lang/ko_KR.json @@ -48,6 +48,7 @@ "hex.builtin.common.open": "열기", "hex.builtin.common.percentage": "", "hex.builtin.common.processing": "작업 중", + "hex.builtin.common.project": "", "hex.builtin.common.question": "질문", "hex.builtin.common.range": "범위", "hex.builtin.common.range.entire_data": "전체 데이터", @@ -81,6 +82,9 @@ "hex.builtin.hash.crc.xor_out": "XOR Out", "hex.builtin.hash.crc16": "CRC16", "hex.builtin.hash.crc32": "CRC32", + "hex.builtin.hash.crc32c": "", + "hex.builtin.hash.crc32mpeg": "", + "hex.builtin.hash.crc32posix": "", "hex.builtin.hash.crc8": "CRC8", "hex.builtin.hash.md5": "MD5", "hex.builtin.hash.sha1": "SHA1", @@ -88,12 +92,17 @@ "hex.builtin.hash.sha256": "SHA256", "hex.builtin.hash.sha384": "SHA384", "hex.builtin.hash.sha512": "SHA512", + "hex.builtin.hex_editor.ascii_view": "ASCII 열 표시", + "hex.builtin.hex_editor.custom_encoding_view": "추가 디코딩 열 표시", "hex.builtin.hex_editor.data_size": "데이터 크기", + "hex.builtin.hex_editor.gray_out_zero": "00을 회색으로 표시", "hex.builtin.hex_editor.no_bytes": "바이트가 존재하지 않습니다", "hex.builtin.hex_editor.page": "페이지", "hex.builtin.hex_editor.region": "지역", "hex.builtin.hex_editor.selection": "선택 영역", "hex.builtin.hex_editor.selection.none": "없음", + "hex.builtin.hex_editor.uppercase_hex": "16진수 값을 대문자로 표시", + "hex.builtin.hex_editor.visualizer": "데이터 표시", "hex.builtin.inspector.ascii": "ASCII Character", "hex.builtin.inspector.binary": "Binary (8 bit)", "hex.builtin.inspector.bool": "bool", @@ -128,10 +137,12 @@ "hex.builtin.inspector.utf8": "UTF-8 code point", "hex.builtin.inspector.wide": "Wide Character", "hex.builtin.layouts.default": "기본 값", + "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "수정", "hex.builtin.menu.edit.bookmark.create": "북마크 생성하기", "hex.builtin.menu.edit.redo": "다시 실행", "hex.builtin.menu.edit.undo": "실행 취소", + "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "파일", "hex.builtin.menu.file.bookmark.export": "북마크 내보내기", "hex.builtin.menu.file.bookmark.import": "북마크 가져오기", @@ -175,7 +186,9 @@ "hex.builtin.menu.file.quit": "ImHex 종료하기", "hex.builtin.menu.file.reload_provider": "", "hex.builtin.menu.help": "도움말", + "hex.builtin.menu.help.ask_for_help": "", "hex.builtin.menu.layout": "레이아웃", + "hex.builtin.menu.layout.save": "", "hex.builtin.menu.view": "뷰", "hex.builtin.menu.view.demo": "ImGui Demo 표시하기", "hex.builtin.menu.view.fps": "", @@ -209,9 +222,13 @@ "hex.builtin.nodes.bitwise.not.header": "논리 NOT", "hex.builtin.nodes.bitwise.or": "OR", "hex.builtin.nodes.bitwise.or.header": "논리 OR", + "hex.builtin.nodes.bitwise.swap": "", + "hex.builtin.nodes.bitwise.swap.header": "", "hex.builtin.nodes.bitwise.xor": "XOR", "hex.builtin.nodes.bitwise.xor.header": "논리 XOR", "hex.builtin.nodes.buffer": "버퍼", + "hex.builtin.nodes.buffer.byte_swap": "", + "hex.builtin.nodes.buffer.byte_swap.header": "", "hex.builtin.nodes.buffer.combine": "합치기", "hex.builtin.nodes.buffer.combine.header": "버퍼 합치기", "hex.builtin.nodes.buffer.patch": "", @@ -322,6 +339,8 @@ "hex.builtin.nodes.decoding.hex": "16진수", "hex.builtin.nodes.decoding.hex.header": "16진수 decoder", "hex.builtin.nodes.display": "디스플레이", + "hex.builtin.nodes.display.bits": "", + "hex.builtin.nodes.display.bits.header": "", "hex.builtin.nodes.display.buffer": "", "hex.builtin.nodes.display.buffer.header": "", "hex.builtin.nodes.display.float": "실수", @@ -346,8 +365,13 @@ "hex.builtin.nodes.visualizer.layered_dist.header": "계층적 분포", "hex.builtin.pattern_drawer.color": "색상", "hex.builtin.pattern_drawer.double_click": "", + "hex.builtin.pattern_drawer.favorites": "", + "hex.builtin.pattern_drawer.local": "", "hex.builtin.pattern_drawer.offset": "오프셋", "hex.builtin.pattern_drawer.size": "크기", + "hex.builtin.pattern_drawer.tree_style.auto_expanded": "", + "hex.builtin.pattern_drawer.tree_style.flattened": "", + "hex.builtin.pattern_drawer.tree_style.tree": "", "hex.builtin.pattern_drawer.type": "타입", "hex.builtin.pattern_drawer.value": "값", "hex.builtin.pattern_drawer.var_name": "이름", @@ -357,26 +381,42 @@ "hex.builtin.pl_visualizer.3d.scale": "", "hex.builtin.popup.close_provider.desc": "공급자에 저장하지 않은 내용이 있습니다.\n정말로 종료하시겠습니까?", "hex.builtin.popup.close_provider.title": "공급자를 종료하시겠습니까?", + "hex.builtin.popup.docs_question.no_answer": "", + "hex.builtin.popup.docs_question.prompt": "", + "hex.builtin.popup.docs_question.thinking": "", + "hex.builtin.popup.docs_question.title": "", "hex.builtin.popup.error.create": "새 파일을 만드는데 실패했습니다!", "hex.builtin.popup.error.file_dialog.common": "", "hex.builtin.popup.error.file_dialog.portal": "", - "hex.builtin.popup.error.open": "파일을 여는데 실패했습니다!", "hex.builtin.popup.error.project.load": "", "hex.builtin.popup.error.project.save": "", "hex.builtin.popup.error.read_only": "쓰기 권한을 가져올 수 없습니다. 파일이 읽기 전용 모드로 열렸습니다.", "hex.builtin.popup.error.task_exception": "", "hex.builtin.popup.exit_application.desc": "프로젝트에 저장하지 않은 내용이 있습니다.\n정말로 종료하시겠습니까?", "hex.builtin.popup.exit_application.title": "프로그램을 종료하시겠습니까?", + "hex.builtin.popup.safety_backup.delete": "아니요, 삭제", + "hex.builtin.popup.safety_backup.desc": "이전에 ImHex가 비 정상적으로 종료된 것 같습니다.\n이전의 작업을 복구할까요?", + "hex.builtin.popup.safety_backup.log_file": "", + "hex.builtin.popup.safety_backup.restore": "네, 복구", + "hex.builtin.popup.safety_backup.title": "손상된 데이터 복구", + "hex.builtin.popup.save_layout.desc": "", + "hex.builtin.popup.save_layout.title": "", "hex.builtin.popup.waiting_for_tasks.desc": "", "hex.builtin.popup.waiting_for_tasks.title": "", "hex.builtin.provider.disk": "Raw 디스크 공급자", "hex.builtin.provider.disk.disk_size": "디스크 크기", + "hex.builtin.provider.disk.error.read_ro": "", + "hex.builtin.provider.disk.error.read_rw": "", "hex.builtin.provider.disk.reload": "새로 고침", "hex.builtin.provider.disk.sector_size": "섹터 크기", "hex.builtin.provider.disk.selected_disk": "디스크", + "hex.builtin.provider.error.open": "", "hex.builtin.provider.file": "파일 공급자", "hex.builtin.provider.file.access": "마지막 접근 시각", "hex.builtin.provider.file.creation": "생성 시각", + "hex.builtin.provider.file.error.open": "", + "hex.builtin.provider.file.menu.open_file": "", + "hex.builtin.provider.file.menu.open_folder": "", "hex.builtin.provider.file.modification": "마지막 수정 시각", "hex.builtin.provider.file.path": "파일 경로", "hex.builtin.provider.file.size": "크기", @@ -399,36 +439,30 @@ "hex.builtin.setting.font": "글꼴", "hex.builtin.setting.font.font_path": "사용자 지정 글꼴 경로", "hex.builtin.setting.font.font_size": "글꼴 크기", + "hex.builtin.setting.font.font_size.tooltip": "", "hex.builtin.setting.general": "일반", "hex.builtin.setting.general.auto_load_patterns": "지원하는 패턴 자동으로 로드", "hex.builtin.setting.general.check_for_updates": "", "hex.builtin.setting.general.enable_unicode": "", + "hex.builtin.setting.general.network_interface": "", "hex.builtin.setting.general.save_recent_providers": "", "hex.builtin.setting.general.show_tips": "시작 시 팁 표시", "hex.builtin.setting.general.sync_pattern_source": "공급자 간 패턴 소스 코드 동기화", "hex.builtin.setting.hex_editor": "헥스 편집기", - "hex.builtin.setting.hex_editor.advanced_decoding": "추가 디코딩 열 표시", - "hex.builtin.setting.hex_editor.ascii": "ASCII 열 표시", "hex.builtin.setting.hex_editor.byte_padding": "", "hex.builtin.setting.hex_editor.bytes_per_row": "한 줄당 바이트 수", "hex.builtin.setting.hex_editor.char_padding": "", - "hex.builtin.setting.hex_editor.grey_zeros": "00을 회색으로 표시", "hex.builtin.setting.hex_editor.highlight_color": "선택 영역 색상 하이라이트", "hex.builtin.setting.hex_editor.sync_scrolling": "", - "hex.builtin.setting.hex_editor.uppercase_hex": "16진수 값을 대문자로 표시", - "hex.builtin.setting.hex_editor.visualizer": "데이터 표시", "hex.builtin.setting.imhex": "ImHex", "hex.builtin.setting.imhex.recent_files": "최근 파일", "hex.builtin.setting.interface": "인터페이스", "hex.builtin.setting.interface.color": "색상 테마", "hex.builtin.setting.interface.fps": "FPS 제한", + "hex.builtin.setting.interface.fps.native": "", "hex.builtin.setting.interface.fps.unlocked": "제한 없음", "hex.builtin.setting.interface.language": "언어", "hex.builtin.setting.interface.multi_windows": "", - "hex.builtin.setting.interface.pattern_tree_style": "", - "hex.builtin.setting.interface.pattern_tree_style.auto_expanded": "", - "hex.builtin.setting.interface.pattern_tree_style.flattened": "", - "hex.builtin.setting.interface.pattern_tree_style.tree": "", "hex.builtin.setting.interface.scaling": "크기", "hex.builtin.setting.interface.scaling.native": "기본", "hex.builtin.setting.interface.scaling.x0_5": "x0.5", @@ -560,6 +594,10 @@ "hex.builtin.view.bookmarks.name": "북마크", "hex.builtin.view.bookmarks.no_bookmarks": "북마크가 없습니다. '수정 -> 북마크 생성하기'로 북마크를 생성하세요", "hex.builtin.view.bookmarks.title.info": "정보", + "hex.builtin.view.bookmarks.tooltip.jump_to": "", + "hex.builtin.view.bookmarks.tooltip.lock": "", + "hex.builtin.view.bookmarks.tooltip.open_in_view": "", + "hex.builtin.view.bookmarks.tooltip.unlock": "", "hex.builtin.view.command_palette.name": "명령 팔레트", "hex.builtin.view.constants.name": "상수", "hex.builtin.view.constants.row.category": "종류", @@ -642,8 +680,12 @@ "hex.builtin.view.disassembler.settings.mode": "모드", "hex.builtin.view.disassembler.sparc.v9": "Sparc V9", "hex.builtin.view.find.binary_pattern": "바이너리 패턴", + "hex.builtin.view.find.binary_pattern.alignment": "", "hex.builtin.view.find.context.copy": "값 복사", "hex.builtin.view.find.context.copy_demangle": "Copy Demangled Value", + "hex.builtin.view.find.context.replace": "", + "hex.builtin.view.find.context.replace.ascii": "", + "hex.builtin.view.find.context.replace.hex": "", "hex.builtin.view.find.demangled": "Demangled", "hex.builtin.view.find.name": "찾기", "hex.builtin.view.find.regex": "정규식", @@ -667,8 +709,10 @@ "hex.builtin.view.find.strings.underscores": "언더스코어", "hex.builtin.view.find.strings.upper_case": "대문자", "hex.builtin.view.find.value": "", + "hex.builtin.view.find.value.aligned": "", "hex.builtin.view.find.value.max": "", "hex.builtin.view.find.value.min": "", + "hex.builtin.view.find.value.range": "", "hex.builtin.view.hashes.function": "해시 함수", "hex.builtin.view.hashes.hash": "해시", "hex.builtin.view.hashes.hover_info": "헥스 편집기에서 영역을 선택 후 쉬프트를 누른 채로 마우스 커서를 올리면 해당 값들의 해시를 알 수 있습니다.", @@ -724,6 +768,7 @@ "hex.builtin.view.hex_editor.menu.edit.resize": "크기 변경...", "hex.builtin.view.hex_editor.menu.edit.select_all": "모두 선택하기", "hex.builtin.view.hex_editor.menu.edit.set_base": "베이스 주소 설정", + "hex.builtin.view.hex_editor.menu.edit.set_page_size": "", "hex.builtin.view.hex_editor.menu.file.goto": "이동하기", "hex.builtin.view.hex_editor.menu.file.load_encoding_file": "커스텀 인코딩 불러오기...", "hex.builtin.view.hex_editor.menu.file.save": "저장", @@ -793,6 +838,7 @@ "hex.builtin.view.pattern_editor.sections": "", "hex.builtin.view.pattern_editor.settings": "설정", "hex.builtin.view.provider_settings.load_error": "이 공급자를 여는 도중 에러가 발생했습니다!", + "hex.builtin.view.provider_settings.load_error_details": "", "hex.builtin.view.provider_settings.load_popup": "공급자 열기", "hex.builtin.view.provider_settings.name": "공급자 설정", "hex.builtin.view.settings.name": "설정", @@ -883,10 +929,6 @@ "hex.builtin.welcome.plugins.author": "작성자", "hex.builtin.welcome.plugins.desc": "설명", "hex.builtin.welcome.plugins.plugin": "플러그인", - "hex.builtin.popup.safety_backup.delete": "아니요, 삭제", - "hex.builtin.popup.safety_backup.desc": "이전에 ImHex가 비 정상적으로 종료된 것 같습니다.\n이전의 작업을 복구할까요?", - "hex.builtin.popup.safety_backup.restore": "네, 복구", - "hex.builtin.popup.safety_backup.title": "손상된 데이터 복구", "hex.builtin.welcome.start.create_file": "새 파일 생성", "hex.builtin.welcome.start.open_file": "파일 열기", "hex.builtin.welcome.start.open_other": "다른 공급자 열기", diff --git a/plugins/builtin/romfs/lang/pt_BR.json b/plugins/builtin/romfs/lang/pt_BR.json index e22f4016f..210bae43e 100644 --- a/plugins/builtin/romfs/lang/pt_BR.json +++ b/plugins/builtin/romfs/lang/pt_BR.json @@ -48,6 +48,7 @@ "hex.builtin.common.open": "Abrir", "hex.builtin.common.percentage": "", "hex.builtin.common.processing": "Processando", + "hex.builtin.common.project": "", "hex.builtin.common.question": "Question", "hex.builtin.common.range": "", "hex.builtin.common.range.entire_data": "", @@ -81,6 +82,9 @@ "hex.builtin.hash.crc.xor_out": "XOR Out", "hex.builtin.hash.crc16": "CRC16", "hex.builtin.hash.crc32": "CRC32", + "hex.builtin.hash.crc32c": "", + "hex.builtin.hash.crc32mpeg": "", + "hex.builtin.hash.crc32posix": "", "hex.builtin.hash.crc8": "CRC8", "hex.builtin.hash.md5": "MD5", "hex.builtin.hash.sha1": "SHA1", @@ -88,12 +92,17 @@ "hex.builtin.hash.sha256": "SHA256", "hex.builtin.hash.sha384": "SHA384", "hex.builtin.hash.sha512": "SHA512", + "hex.builtin.hex_editor.ascii_view": "Exibir coluna ASCII", + "hex.builtin.hex_editor.custom_encoding_view": "", "hex.builtin.hex_editor.data_size": "Tamanho dos Dados", + "hex.builtin.hex_editor.gray_out_zero": "", "hex.builtin.hex_editor.no_bytes": "Nenhum Byte Disponivel", "hex.builtin.hex_editor.page": "Pagina", "hex.builtin.hex_editor.region": "Região", "hex.builtin.hex_editor.selection": "Seleção", "hex.builtin.hex_editor.selection.none": "Nenhum", + "hex.builtin.hex_editor.uppercase_hex": "", + "hex.builtin.hex_editor.visualizer": "Visualizador de Dados", "hex.builtin.inspector.ascii": "ASCII Character", "hex.builtin.inspector.binary": "Binary (8 bit)", "hex.builtin.inspector.bool": "bool", @@ -128,10 +137,12 @@ "hex.builtin.inspector.utf8": "UTF-8 code point", "hex.builtin.inspector.wide": "Wide Character", "hex.builtin.layouts.default": "Default", + "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "Editar", "hex.builtin.menu.edit.bookmark.create": "Criar Marcador", "hex.builtin.menu.edit.redo": "Refazer", "hex.builtin.menu.edit.undo": "Desfazer", + "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "File", "hex.builtin.menu.file.bookmark.export": "", "hex.builtin.menu.file.bookmark.import": "", @@ -175,7 +186,9 @@ "hex.builtin.menu.file.quit": "Sair do ImHex", "hex.builtin.menu.file.reload_provider": "", "hex.builtin.menu.help": "Ajuda", + "hex.builtin.menu.help.ask_for_help": "", "hex.builtin.menu.layout": "Layout", + "hex.builtin.menu.layout.save": "", "hex.builtin.menu.view": "Exibir", "hex.builtin.menu.view.demo": "Mostrar Demo do ImGui", "hex.builtin.menu.view.fps": "Mostrar FPS", @@ -209,9 +222,13 @@ "hex.builtin.nodes.bitwise.not.header": "Bitwise NOT", "hex.builtin.nodes.bitwise.or": "OR", "hex.builtin.nodes.bitwise.or.header": "Bitwise OR", + "hex.builtin.nodes.bitwise.swap": "", + "hex.builtin.nodes.bitwise.swap.header": "", "hex.builtin.nodes.bitwise.xor": "XOR", "hex.builtin.nodes.bitwise.xor.header": "Bitwise XOR", "hex.builtin.nodes.buffer": "Buffer", + "hex.builtin.nodes.buffer.byte_swap": "", + "hex.builtin.nodes.buffer.byte_swap.header": "", "hex.builtin.nodes.buffer.combine": "Combinar", "hex.builtin.nodes.buffer.combine.header": "Combinar buffers", "hex.builtin.nodes.buffer.patch": "", @@ -322,6 +339,8 @@ "hex.builtin.nodes.decoding.hex": "Hexadecimal", "hex.builtin.nodes.decoding.hex.header": "Hexadecimal decoder", "hex.builtin.nodes.display": "Display", + "hex.builtin.nodes.display.bits": "", + "hex.builtin.nodes.display.bits.header": "", "hex.builtin.nodes.display.buffer": "", "hex.builtin.nodes.display.buffer.header": "", "hex.builtin.nodes.display.float": "Float", @@ -346,8 +365,13 @@ "hex.builtin.nodes.visualizer.layered_dist.header": "Layered Distribution", "hex.builtin.pattern_drawer.color": "Cor", "hex.builtin.pattern_drawer.double_click": "", + "hex.builtin.pattern_drawer.favorites": "", + "hex.builtin.pattern_drawer.local": "", "hex.builtin.pattern_drawer.offset": "Offset", "hex.builtin.pattern_drawer.size": "Tamanho", + "hex.builtin.pattern_drawer.tree_style.auto_expanded": "", + "hex.builtin.pattern_drawer.tree_style.flattened": "", + "hex.builtin.pattern_drawer.tree_style.tree": "", "hex.builtin.pattern_drawer.type": "Tipo", "hex.builtin.pattern_drawer.value": "Valor", "hex.builtin.pattern_drawer.var_name": "Nome", @@ -357,26 +381,42 @@ "hex.builtin.pl_visualizer.3d.scale": "", "hex.builtin.popup.close_provider.desc": "", "hex.builtin.popup.close_provider.title": "", + "hex.builtin.popup.docs_question.no_answer": "", + "hex.builtin.popup.docs_question.prompt": "", + "hex.builtin.popup.docs_question.thinking": "", + "hex.builtin.popup.docs_question.title": "", "hex.builtin.popup.error.create": "Falha ao criar um novo arquivo!", "hex.builtin.popup.error.file_dialog.common": "", "hex.builtin.popup.error.file_dialog.portal": "", - "hex.builtin.popup.error.open": "Falha ao abrir o arquivo!", "hex.builtin.popup.error.project.load": "", "hex.builtin.popup.error.project.save": "", "hex.builtin.popup.error.read_only": "Não foi possível obter acesso de gravação. Arquivo aberto no modo somente leitura.", "hex.builtin.popup.error.task_exception": "", "hex.builtin.popup.exit_application.desc": "Você tem alterações não salvas feitas em seu projeto.\nVocê tem certeza que quer sair?", "hex.builtin.popup.exit_application.title": "Sair da aplicação?", + "hex.builtin.popup.safety_backup.delete": "Não, Apagar", + "hex.builtin.popup.safety_backup.desc": "Ah não, ImHex crashou na ultima vez.\nDeseja restaurar seu trabalho anterior?", + "hex.builtin.popup.safety_backup.log_file": "", + "hex.builtin.popup.safety_backup.restore": "Yes, Restaurar", + "hex.builtin.popup.safety_backup.title": "Restaurar dados perdidos", + "hex.builtin.popup.save_layout.desc": "", + "hex.builtin.popup.save_layout.title": "", "hex.builtin.popup.waiting_for_tasks.desc": "", "hex.builtin.popup.waiting_for_tasks.title": "", "hex.builtin.provider.disk": "Provedor de disco bruto", "hex.builtin.provider.disk.disk_size": "Tamanho do Disco", + "hex.builtin.provider.disk.error.read_ro": "", + "hex.builtin.provider.disk.error.read_rw": "", "hex.builtin.provider.disk.reload": "Recarregar", "hex.builtin.provider.disk.sector_size": "Tamanho do Setor", "hex.builtin.provider.disk.selected_disk": "Disco", + "hex.builtin.provider.error.open": "", "hex.builtin.provider.file": "Provedor de arquivo", "hex.builtin.provider.file.access": "Ultima vez acessado", "hex.builtin.provider.file.creation": "Data de Criação", + "hex.builtin.provider.file.error.open": "", + "hex.builtin.provider.file.menu.open_file": "", + "hex.builtin.provider.file.menu.open_folder": "", "hex.builtin.provider.file.modification": "Ultima vez modificado", "hex.builtin.provider.file.path": "Caminho do Arquivo", "hex.builtin.provider.file.size": "Tamanho", @@ -399,36 +439,30 @@ "hex.builtin.setting.font": "Fonte", "hex.builtin.setting.font.font_path": "Caminho da Fonte Customizada", "hex.builtin.setting.font.font_size": "Tamanho da Fonte", + "hex.builtin.setting.font.font_size.tooltip": "", "hex.builtin.setting.general": "General", "hex.builtin.setting.general.auto_load_patterns": "Padrão compatível com carregamento automático", "hex.builtin.setting.general.check_for_updates": "", "hex.builtin.setting.general.enable_unicode": "", + "hex.builtin.setting.general.network_interface": "", "hex.builtin.setting.general.save_recent_providers": "", "hex.builtin.setting.general.show_tips": "Mostrar dicas na inicialização", "hex.builtin.setting.general.sync_pattern_source": "", "hex.builtin.setting.hex_editor": "Hex Editor", - "hex.builtin.setting.hex_editor.advanced_decoding": "", - "hex.builtin.setting.hex_editor.ascii": "Exibir coluna ASCII", "hex.builtin.setting.hex_editor.byte_padding": "", "hex.builtin.setting.hex_editor.bytes_per_row": "Bytes por linha", "hex.builtin.setting.hex_editor.char_padding": "", - "hex.builtin.setting.hex_editor.grey_zeros": "", "hex.builtin.setting.hex_editor.highlight_color": "", "hex.builtin.setting.hex_editor.sync_scrolling": "", - "hex.builtin.setting.hex_editor.uppercase_hex": "", - "hex.builtin.setting.hex_editor.visualizer": "Visualizador de Dados", "hex.builtin.setting.imhex": "ImHex", "hex.builtin.setting.imhex.recent_files": "Arquivos Recentes", "hex.builtin.setting.interface": "Interface", "hex.builtin.setting.interface.color": "Color theme", "hex.builtin.setting.interface.fps": "FPS Limit", + "hex.builtin.setting.interface.fps.native": "", "hex.builtin.setting.interface.fps.unlocked": "Destravado", "hex.builtin.setting.interface.language": "Idioma", "hex.builtin.setting.interface.multi_windows": "", - "hex.builtin.setting.interface.pattern_tree_style": "", - "hex.builtin.setting.interface.pattern_tree_style.auto_expanded": "", - "hex.builtin.setting.interface.pattern_tree_style.flattened": "", - "hex.builtin.setting.interface.pattern_tree_style.tree": "", "hex.builtin.setting.interface.scaling": "Scaling", "hex.builtin.setting.interface.scaling.native": "Nativo", "hex.builtin.setting.interface.scaling.x0_5": "x0.5", @@ -560,6 +594,10 @@ "hex.builtin.view.bookmarks.name": "Favoritos", "hex.builtin.view.bookmarks.no_bookmarks": "Nenhum favorito criado. Adicione-o e Edite -> Criar Favorito", "hex.builtin.view.bookmarks.title.info": "Informação", + "hex.builtin.view.bookmarks.tooltip.jump_to": "", + "hex.builtin.view.bookmarks.tooltip.lock": "", + "hex.builtin.view.bookmarks.tooltip.open_in_view": "", + "hex.builtin.view.bookmarks.tooltip.unlock": "", "hex.builtin.view.command_palette.name": "Paleta de Comandos", "hex.builtin.view.constants.name": "Constantes", "hex.builtin.view.constants.row.category": "Categoria", @@ -642,8 +680,12 @@ "hex.builtin.view.disassembler.settings.mode": "Modo", "hex.builtin.view.disassembler.sparc.v9": "Sparc V9", "hex.builtin.view.find.binary_pattern": "", + "hex.builtin.view.find.binary_pattern.alignment": "", "hex.builtin.view.find.context.copy": "", "hex.builtin.view.find.context.copy_demangle": "", + "hex.builtin.view.find.context.replace": "", + "hex.builtin.view.find.context.replace.ascii": "", + "hex.builtin.view.find.context.replace.hex": "", "hex.builtin.view.find.demangled": "", "hex.builtin.view.find.name": "", "hex.builtin.view.find.regex": "", @@ -667,8 +709,10 @@ "hex.builtin.view.find.strings.underscores": "", "hex.builtin.view.find.strings.upper_case": "", "hex.builtin.view.find.value": "", + "hex.builtin.view.find.value.aligned": "", "hex.builtin.view.find.value.max": "", "hex.builtin.view.find.value.min": "", + "hex.builtin.view.find.value.range": "", "hex.builtin.view.hashes.function": "Função Hash", "hex.builtin.view.hashes.hash": "Hash", "hex.builtin.view.hashes.hover_info": "Passe o mouse sobre a seleção Hex Editor e mantenha pressionada a tecla SHIFT para visualizar os hashes dessa região.", @@ -724,6 +768,7 @@ "hex.builtin.view.hex_editor.menu.edit.resize": "Redimensionar...", "hex.builtin.view.hex_editor.menu.edit.select_all": "Selecionar tudo", "hex.builtin.view.hex_editor.menu.edit.set_base": "Definir endereço base", + "hex.builtin.view.hex_editor.menu.edit.set_page_size": "", "hex.builtin.view.hex_editor.menu.file.goto": "Ir para", "hex.builtin.view.hex_editor.menu.file.load_encoding_file": "Carregar codificação personalizada...", "hex.builtin.view.hex_editor.menu.file.save": "Salvar", @@ -793,6 +838,7 @@ "hex.builtin.view.pattern_editor.sections": "", "hex.builtin.view.pattern_editor.settings": "Configurações", "hex.builtin.view.provider_settings.load_error": "", + "hex.builtin.view.provider_settings.load_error_details": "", "hex.builtin.view.provider_settings.load_popup": "Abrir Provedor", "hex.builtin.view.provider_settings.name": "Configurações do provedor", "hex.builtin.view.settings.name": "Configurações", @@ -883,10 +929,6 @@ "hex.builtin.welcome.plugins.author": "Autor", "hex.builtin.welcome.plugins.desc": "Descrição", "hex.builtin.welcome.plugins.plugin": "Plugin", - "hex.builtin.popup.safety_backup.delete": "Não, Apagar", - "hex.builtin.popup.safety_backup.desc": "Ah não, ImHex crashou na ultima vez.\nDeseja restaurar seu trabalho anterior?", - "hex.builtin.popup.safety_backup.restore": "Yes, Restaurar", - "hex.builtin.popup.safety_backup.title": "Restaurar dados perdidos", "hex.builtin.welcome.start.create_file": "Criar Novo Arquivo", "hex.builtin.welcome.start.open_file": "Abrir Arquivo", "hex.builtin.welcome.start.open_other": "Outros Provedores", diff --git a/plugins/builtin/romfs/lang/zh_CN.json b/plugins/builtin/romfs/lang/zh_CN.json index fadc89a63..9807e2d07 100644 --- a/plugins/builtin/romfs/lang/zh_CN.json +++ b/plugins/builtin/romfs/lang/zh_CN.json @@ -9,6 +9,7 @@ "hex.builtin.command.web.desc": "网站解析", "hex.builtin.command.web.result": "导航到 '{0}'", "hex.builtin.common.address": "地址", + "hex.builtin.common.begin": "起始", "hex.builtin.common.big": "大", "hex.builtin.common.big_endian": "大端序", "hex.builtin.common.browse": "浏览...", @@ -24,6 +25,7 @@ "hex.builtin.common.encoding.utf16be": "UTF-16BE", "hex.builtin.common.encoding.utf16le": "UTF-16LE", "hex.builtin.common.encoding.utf8": "UTF-8", + "hex.builtin.common.end": "末尾", "hex.builtin.common.endian": "端序", "hex.builtin.common.error": "错误", "hex.builtin.common.fatal": "致命错误", @@ -46,11 +48,13 @@ "hex.builtin.common.open": "打开", "hex.builtin.common.percentage": "百分比", "hex.builtin.common.processing": "处理", + "hex.builtin.common.project": "", "hex.builtin.common.question": "问题", "hex.builtin.common.range": "范围", "hex.builtin.common.range.entire_data": "所有数据", "hex.builtin.common.range.selection": "选区", "hex.builtin.common.region": "区域", + "hex.builtin.common.reset": "重置", "hex.builtin.common.set": "设置", "hex.builtin.common.settings": "设置", "hex.builtin.common.size": "大小", @@ -78,6 +82,9 @@ "hex.builtin.hash.crc.xor_out": "结果异或值", "hex.builtin.hash.crc16": "CRC16", "hex.builtin.hash.crc32": "CRC32", + "hex.builtin.hash.crc32c": "", + "hex.builtin.hash.crc32mpeg": "", + "hex.builtin.hash.crc32posix": "", "hex.builtin.hash.crc8": "CRC8", "hex.builtin.hash.md5": "MD5", "hex.builtin.hash.sha1": "SHA1", @@ -85,12 +92,17 @@ "hex.builtin.hash.sha256": "SHA256", "hex.builtin.hash.sha384": "SHA384", "hex.builtin.hash.sha512": "SHA512", + "hex.builtin.hex_editor.ascii_view": "显示 ASCII 栏", + "hex.builtin.hex_editor.custom_encoding_view": "显示高级解码栏", "hex.builtin.hex_editor.data_size": "总大小", + "hex.builtin.hex_editor.gray_out_zero": "显示零字节为灰色", "hex.builtin.hex_editor.no_bytes": "没有可显示的字节", "hex.builtin.hex_editor.page": "分页", "hex.builtin.hex_editor.region": "范围", "hex.builtin.hex_editor.selection": "选区", "hex.builtin.hex_editor.selection.none": "未选中", + "hex.builtin.hex_editor.uppercase_hex": "大写十六进制", + "hex.builtin.hex_editor.visualizer": "数据处理器的数据可视化格式", "hex.builtin.inspector.ascii": "ASCII 字符", "hex.builtin.inspector.binary": "二进制(8 位)", "hex.builtin.inspector.bool": "bool", @@ -125,10 +137,12 @@ "hex.builtin.inspector.utf8": "UTF-8 码位", "hex.builtin.inspector.wide": "宽字符", "hex.builtin.layouts.default": "默认", + "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "编辑", "hex.builtin.menu.edit.bookmark.create": "添加书签", "hex.builtin.menu.edit.redo": "重做", "hex.builtin.menu.edit.undo": "撤销", + "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "文件", "hex.builtin.menu.file.bookmark.export": "导出书签", "hex.builtin.menu.file.bookmark.import": "导入书签", @@ -160,6 +174,7 @@ "hex.builtin.menu.file.import.data_processor": "", "hex.builtin.menu.file.import.ips": "IPS 补丁", "hex.builtin.menu.file.import.ips32": "IPS32 补丁", + "hex.builtin.menu.file.import.modified_file": "已修改", "hex.builtin.menu.file.import.pattern": "", "hex.builtin.menu.file.open_file": "打开文件...", "hex.builtin.menu.file.open_other": "打开其他...", @@ -171,7 +186,9 @@ "hex.builtin.menu.file.quit": "退出 ImHex", "hex.builtin.menu.file.reload_provider": "", "hex.builtin.menu.help": "帮助", + "hex.builtin.menu.help.ask_for_help": "", "hex.builtin.menu.layout": "布局", + "hex.builtin.menu.layout.save": "", "hex.builtin.menu.view": "视图", "hex.builtin.menu.view.demo": "ImGui 演示", "hex.builtin.menu.view.fps": "显示 FPS", @@ -180,26 +197,38 @@ "hex.builtin.nodes.arithmetic.add.header": "加法", "hex.builtin.nodes.arithmetic.average": "平均值", "hex.builtin.nodes.arithmetic.average.header": "平均值", + "hex.builtin.nodes.arithmetic.ceil": "向上取整", + "hex.builtin.nodes.arithmetic.ceil.header": "向上取整", "hex.builtin.nodes.arithmetic.div": "除法", "hex.builtin.nodes.arithmetic.div.header": "除法", + "hex.builtin.nodes.arithmetic.floor": "向下取整", + "hex.builtin.nodes.arithmetic.floor.header": "向下取整", "hex.builtin.nodes.arithmetic.median": "中位数", "hex.builtin.nodes.arithmetic.median.header": "中位数", "hex.builtin.nodes.arithmetic.mod": "取模", "hex.builtin.nodes.arithmetic.mod.header": "取模", "hex.builtin.nodes.arithmetic.mul": "乘法", "hex.builtin.nodes.arithmetic.mul.header": "乘法", + "hex.builtin.nodes.arithmetic.round": "四舍五入", + "hex.builtin.nodes.arithmetic.round.header": "四舍五入", "hex.builtin.nodes.arithmetic.sub": "减法", "hex.builtin.nodes.arithmetic.sub.header": "减法", "hex.builtin.nodes.bitwise": "按位操作", + "hex.builtin.nodes.bitwise.add": "相加", + "hex.builtin.nodes.bitwise.add.header": "按位相加", "hex.builtin.nodes.bitwise.and": "与", "hex.builtin.nodes.bitwise.and.header": "位与", "hex.builtin.nodes.bitwise.not": "取反", "hex.builtin.nodes.bitwise.not.header": "按位取反", "hex.builtin.nodes.bitwise.or": "或", "hex.builtin.nodes.bitwise.or.header": "位或", + "hex.builtin.nodes.bitwise.swap": "", + "hex.builtin.nodes.bitwise.swap.header": "", "hex.builtin.nodes.bitwise.xor": "异或", "hex.builtin.nodes.bitwise.xor.header": "按位异或", "hex.builtin.nodes.buffer": "缓冲区", + "hex.builtin.nodes.buffer.byte_swap": "", + "hex.builtin.nodes.buffer.byte_swap.header": "", "hex.builtin.nodes.buffer.combine": "组合", "hex.builtin.nodes.buffer.combine.header": "缓冲区组合", "hex.builtin.nodes.buffer.patch": "补丁", @@ -209,6 +238,9 @@ "hex.builtin.nodes.buffer.repeat.header": "缓冲区重复", "hex.builtin.nodes.buffer.repeat.input.buffer": "输入", "hex.builtin.nodes.buffer.repeat.input.count": "次数", + "hex.builtin.nodes.buffer.size": "缓冲区大小", + "hex.builtin.nodes.buffer.size.header": "缓冲区大小", + "hex.builtin.nodes.buffer.size.output": "大小", "hex.builtin.nodes.buffer.slice": "切片", "hex.builtin.nodes.buffer.slice.header": "缓冲区切片", "hex.builtin.nodes.buffer.slice.input.buffer": "输入", @@ -275,6 +307,15 @@ "hex.builtin.nodes.crypto.aes.key_length": "密钥长度", "hex.builtin.nodes.crypto.aes.mode": "模式", "hex.builtin.nodes.crypto.aes.nonce": "Nonce", + "hex.builtin.nodes.custom": "自定义", + "hex.builtin.nodes.custom.custom": "新节点", + "hex.builtin.nodes.custom.custom.edit": "编辑", + "hex.builtin.nodes.custom.custom.edit_hint": "按下 SHIFT 以编辑", + "hex.builtin.nodes.custom.custom.header": "自定义节点", + "hex.builtin.nodes.custom.input": "自定义节点输入", + "hex.builtin.nodes.custom.input.header": "节点输入", + "hex.builtin.nodes.custom.output": "自定义节点输出", + "hex.builtin.nodes.custom.output.header": "节点输出", "hex.builtin.nodes.data_access": "数据访问", "hex.builtin.nodes.data_access.read": "读取", "hex.builtin.nodes.data_access.read.address": "地址", @@ -298,6 +339,8 @@ "hex.builtin.nodes.decoding.hex": "十六进制", "hex.builtin.nodes.decoding.hex.header": "十六进制解码", "hex.builtin.nodes.display": "显示", + "hex.builtin.nodes.display.bits": "", + "hex.builtin.nodes.display.bits.header": "", "hex.builtin.nodes.display.buffer": "缓冲区", "hex.builtin.nodes.display.buffer.header": "缓冲区显示", "hex.builtin.nodes.display.float": "浮点数", @@ -322,33 +365,58 @@ "hex.builtin.nodes.visualizer.layered_dist.header": "分层布局", "hex.builtin.pattern_drawer.color": "颜色", "hex.builtin.pattern_drawer.double_click": "双击查看更多", + "hex.builtin.pattern_drawer.favorites": "", + "hex.builtin.pattern_drawer.local": "", "hex.builtin.pattern_drawer.offset": "偏移", "hex.builtin.pattern_drawer.size": "大小", + "hex.builtin.pattern_drawer.tree_style.auto_expanded": "自动展开树", + "hex.builtin.pattern_drawer.tree_style.flattened": "扁平化", + "hex.builtin.pattern_drawer.tree_style.tree": "树", "hex.builtin.pattern_drawer.type": "类型", "hex.builtin.pattern_drawer.value": "值", "hex.builtin.pattern_drawer.var_name": "名称", "hex.builtin.pattern_drawer.visualizer.invalid_parameter_count": "无效参数数", "hex.builtin.pattern_drawer.visualizer.unknown": "未知可视化器", + "hex.builtin.pl_visualizer.3d.rotation": "旋转", + "hex.builtin.pl_visualizer.3d.scale": "缩放", "hex.builtin.popup.close_provider.desc": "有对此提供器做出的未保存的更改。\n你确定要关闭吗?", "hex.builtin.popup.close_provider.title": "关闭提供器?", + "hex.builtin.popup.docs_question.no_answer": "", + "hex.builtin.popup.docs_question.prompt": "", + "hex.builtin.popup.docs_question.thinking": "", + "hex.builtin.popup.docs_question.title": "", "hex.builtin.popup.error.create": "创建新文件失败!", "hex.builtin.popup.error.file_dialog.common": "尝试打开文件浏览器时发生了错误!", "hex.builtin.popup.error.file_dialog.portal": "打开文件浏览器时发生了错误。这可能是由于您的系统没有正确安装 xdg-desktop-portal 后端。\n\n对于 KDE,请使用 xdg-desktop-portal-kde。\n对于 Gnome,请使用 xdg-desktop-portal-gnome。\n对于 wlroots,请使用 xdg-desktop-portal-wlr。\n其他情况,您可以尝试使用 xdg-desktop-portal-gtk。\n\n重启后请重启您的系统。\n\n如果在这之后文件浏览器仍然不能正常工作,请在 https://github.com/WerWolv/ImHex/issues 提交问题。\n\n与此同时,仍然可以通过将文件拖到 ImHex 窗口来打开它们!", - "hex.builtin.popup.error.open": "打开文件失败!", "hex.builtin.popup.error.project.load": "加载工程失败!", "hex.builtin.popup.error.project.save": "保存工程失败!", "hex.builtin.popup.error.read_only": "无法获得写权限,文件以只读方式打开。", "hex.builtin.popup.error.task_exception": "任务 '{}' 异常:\n\n{}", "hex.builtin.popup.exit_application.desc": "工程还有未保存的更改。\n确定要退出吗?", "hex.builtin.popup.exit_application.title": "退出?", + "hex.builtin.popup.safety_backup.delete": "删除", + "hex.builtin.popup.safety_backup.desc": "糟糕,ImHex 上次崩溃了!\n您想从异常转储中恢复之前的数据吗?", + "hex.builtin.popup.safety_backup.log_file": "", + "hex.builtin.popup.safety_backup.restore": "恢复", + "hex.builtin.popup.safety_backup.title": "恢复崩溃数据", + "hex.builtin.popup.save_layout.desc": "", + "hex.builtin.popup.save_layout.title": "", + "hex.builtin.popup.waiting_for_tasks.desc": "仍有任务在后台运行。\nImHex 将在完成后关闭。", + "hex.builtin.popup.waiting_for_tasks.title": "等待任务进行", "hex.builtin.provider.disk": "原始磁盘", "hex.builtin.provider.disk.disk_size": "磁盘大小", + "hex.builtin.provider.disk.error.read_ro": "", + "hex.builtin.provider.disk.error.read_rw": "", "hex.builtin.provider.disk.reload": "刷新", "hex.builtin.provider.disk.sector_size": "扇区大小", "hex.builtin.provider.disk.selected_disk": "磁盘", + "hex.builtin.provider.error.open": "", "hex.builtin.provider.file": "文件", "hex.builtin.provider.file.access": "最后访问时间", "hex.builtin.provider.file.creation": "创建时间", + "hex.builtin.provider.file.error.open": "", + "hex.builtin.provider.file.menu.open_file": "", + "hex.builtin.provider.file.menu.open_folder": "", "hex.builtin.provider.file.modification": "最后更改时间", "hex.builtin.provider.file.path": "路径", "hex.builtin.provider.file.size": "大小", @@ -371,36 +439,30 @@ "hex.builtin.setting.font": "字体", "hex.builtin.setting.font.font_path": "自定义字体路径", "hex.builtin.setting.font.font_size": "字体大小", + "hex.builtin.setting.font.font_size.tooltip": "", "hex.builtin.setting.general": "通用", "hex.builtin.setting.general.auto_load_patterns": "自动加载支持的模式", "hex.builtin.setting.general.check_for_updates": "启动时检查更新", "hex.builtin.setting.general.enable_unicode": "加载所有 Unicode 字符", + "hex.builtin.setting.general.network_interface": "", "hex.builtin.setting.general.save_recent_providers": "", "hex.builtin.setting.general.show_tips": "在启动时显示每日提示", "hex.builtin.setting.general.sync_pattern_source": "在提供器间同步模式源码", "hex.builtin.setting.hex_editor": "Hex 编辑器", - "hex.builtin.setting.hex_editor.advanced_decoding": "显示高级解码栏", - "hex.builtin.setting.hex_editor.ascii": "显示 ASCII 栏", "hex.builtin.setting.hex_editor.byte_padding": "额外的字节列对齐", "hex.builtin.setting.hex_editor.bytes_per_row": "每行显示的字节数", "hex.builtin.setting.hex_editor.char_padding": "额外的字符列对齐", - "hex.builtin.setting.hex_editor.grey_zeros": "显示零字节为灰色", "hex.builtin.setting.hex_editor.highlight_color": "选区高亮色", "hex.builtin.setting.hex_editor.sync_scrolling": "同步编辑器位置", - "hex.builtin.setting.hex_editor.uppercase_hex": "大写十六进制", - "hex.builtin.setting.hex_editor.visualizer": "数据处理器的数据可视化格式", "hex.builtin.setting.imhex": "ImHex", "hex.builtin.setting.imhex.recent_files": "最近文件", "hex.builtin.setting.interface": "界面", "hex.builtin.setting.interface.color": "颜色主题", "hex.builtin.setting.interface.fps": "FPS 限制", + "hex.builtin.setting.interface.fps.native": "", "hex.builtin.setting.interface.fps.unlocked": "无限制", "hex.builtin.setting.interface.language": "语言", "hex.builtin.setting.interface.multi_windows": "启用多窗口支持", - "hex.builtin.setting.interface.pattern_tree_style": "模式树样式", - "hex.builtin.setting.interface.pattern_tree_style.auto_expanded": "自动展开树", - "hex.builtin.setting.interface.pattern_tree_style.flattened": "扁平化", - "hex.builtin.setting.interface.pattern_tree_style.tree": "树", "hex.builtin.setting.interface.scaling": "缩放", "hex.builtin.setting.interface.scaling.native": "本地默认", "hex.builtin.setting.interface.scaling.x0_5": "x0.5", @@ -532,6 +594,10 @@ "hex.builtin.view.bookmarks.name": "书签", "hex.builtin.view.bookmarks.no_bookmarks": "空空如也——您可以使用 '编辑' 菜单来添加书签。", "hex.builtin.view.bookmarks.title.info": "信息", + "hex.builtin.view.bookmarks.tooltip.jump_to": "", + "hex.builtin.view.bookmarks.tooltip.lock": "", + "hex.builtin.view.bookmarks.tooltip.open_in_view": "", + "hex.builtin.view.bookmarks.tooltip.unlock": "", "hex.builtin.view.command_palette.name": "命令栏", "hex.builtin.view.constants.name": "常量", "hex.builtin.view.constants.row.category": "分类", @@ -549,8 +615,14 @@ "hex.builtin.view.data_processor.menu.remove_link": "移除链接", "hex.builtin.view.data_processor.menu.remove_node": "移除节点", "hex.builtin.view.data_processor.menu.remove_selection": "移除已选", + "hex.builtin.view.data_processor.menu.save_node": "保存节点", "hex.builtin.view.data_processor.name": "数据处理器", + "hex.builtin.view.diff.added": "添加", + "hex.builtin.view.diff.modified": "修改", "hex.builtin.view.diff.name": "差异", + "hex.builtin.view.diff.provider_a": "提供者A", + "hex.builtin.view.diff.provider_b": "提供者B", + "hex.builtin.view.diff.removed": "移除", "hex.builtin.view.disassembler.16bit": "16 位", "hex.builtin.view.disassembler.32bit": "32 位", "hex.builtin.view.disassembler.64bit": "64 位", @@ -608,8 +680,12 @@ "hex.builtin.view.disassembler.settings.mode": "模式", "hex.builtin.view.disassembler.sparc.v9": "Sparc V9", "hex.builtin.view.find.binary_pattern": "二进制模式", + "hex.builtin.view.find.binary_pattern.alignment": "", "hex.builtin.view.find.context.copy": "复制值", "hex.builtin.view.find.context.copy_demangle": "复制值的还原名", + "hex.builtin.view.find.context.replace": "", + "hex.builtin.view.find.context.replace.ascii": "", + "hex.builtin.view.find.context.replace.hex": "", "hex.builtin.view.find.demangled": "还原名", "hex.builtin.view.find.name": "查找", "hex.builtin.view.find.regex": "正则表达式", @@ -633,8 +709,10 @@ "hex.builtin.view.find.strings.underscores": "下划线", "hex.builtin.view.find.strings.upper_case": "大写字母", "hex.builtin.view.find.value": "数字值", + "hex.builtin.view.find.value.aligned": "", "hex.builtin.view.find.value.max": "最大值", "hex.builtin.view.find.value.min": "最小值", + "hex.builtin.view.find.value.range": "", "hex.builtin.view.hashes.function": "哈希函数", "hex.builtin.view.hashes.hash": "哈希", "hex.builtin.view.hashes.hover_info": "将鼠标放在 Hex 编辑器的选区上,按住 SHIFT 来查看其哈希。", @@ -664,7 +742,9 @@ "hex.builtin.view.hex_editor.copy.cpp": "C++ 数组", "hex.builtin.view.hex_editor.copy.crystal": "Crystal 数组", "hex.builtin.view.hex_editor.copy.csharp": "C# 数组", + "hex.builtin.view.hex_editor.copy.custom_encoding": "自定义编码", "hex.builtin.view.hex_editor.copy.go": "Go 数组", + "hex.builtin.view.hex_editor.copy.hex_view": "二进制", "hex.builtin.view.hex_editor.copy.html": "HTML", "hex.builtin.view.hex_editor.copy.java": "Java 数组", "hex.builtin.view.hex_editor.copy.js": "JavaScript 数组", @@ -688,6 +768,7 @@ "hex.builtin.view.hex_editor.menu.edit.resize": "修改大小...", "hex.builtin.view.hex_editor.menu.edit.select_all": "全选", "hex.builtin.view.hex_editor.menu.edit.set_base": "设置基地址", + "hex.builtin.view.hex_editor.menu.edit.set_page_size": "", "hex.builtin.view.hex_editor.menu.file.goto": "转到", "hex.builtin.view.hex_editor.menu.file.load_encoding_file": "加载自定义编码...", "hex.builtin.view.hex_editor.menu.file.save": "保存", @@ -757,6 +838,7 @@ "hex.builtin.view.pattern_editor.sections": "段", "hex.builtin.view.pattern_editor.settings": "设置", "hex.builtin.view.provider_settings.load_error": "尝试打开此提供器时出现错误!", + "hex.builtin.view.provider_settings.load_error_details": "", "hex.builtin.view.provider_settings.load_popup": "打开提供器", "hex.builtin.view.provider_settings.name": "提供器设置", "hex.builtin.view.settings.name": "设置", @@ -775,9 +857,17 @@ "hex.builtin.view.store.tab.encodings": "编码", "hex.builtin.view.store.tab.includes": "库", "hex.builtin.view.store.tab.magic": "LibMagic 数据库", + "hex.builtin.view.store.tab.nodes": "节点", "hex.builtin.view.store.tab.patterns": "模式", + "hex.builtin.view.store.tab.themes": "主题", "hex.builtin.view.store.tab.yara": "Yara 规则", "hex.builtin.view.store.update": "更新", + "hex.builtin.view.theme_manager.colors": "颜色", + "hex.builtin.view.theme_manager.export": "导出", + "hex.builtin.view.theme_manager.export.name": "主题名称", + "hex.builtin.view.theme_manager.name": "主题管理器", + "hex.builtin.view.theme_manager.save_theme": "保存主题", + "hex.builtin.view.theme_manager.styles": "样式", "hex.builtin.view.tools.name": "工具", "hex.builtin.view.yara.error": "Yara 编译器错误: {0}", "hex.builtin.view.yara.header.matches": "匹配", @@ -792,6 +882,7 @@ "hex.builtin.view.yara.reset": "重置", "hex.builtin.view.yara.rule_added": "Yara 规则已添加!", "hex.builtin.view.yara.whole_data": "全文件匹配!", + "hex.builtin.visualizer.binary": "二进制", "hex.builtin.visualizer.decimal.signed.16bit": "有符号十进制(16 位)", "hex.builtin.visualizer.decimal.signed.32bit": "有符号十进制(32 位)", "hex.builtin.visualizer.decimal.signed.64bit": "有符号十进制(64 位)", @@ -838,10 +929,6 @@ "hex.builtin.welcome.plugins.author": "作者", "hex.builtin.welcome.plugins.desc": "描述", "hex.builtin.welcome.plugins.plugin": "插件", - "hex.builtin.popup.safety_backup.delete": "删除", - "hex.builtin.popup.safety_backup.desc": "糟糕,ImHex 上次崩溃了!\n您想从异常转储中恢复之前的数据吗?", - "hex.builtin.popup.safety_backup.restore": "恢复", - "hex.builtin.popup.safety_backup.title": "恢复崩溃数据", "hex.builtin.welcome.start.create_file": "创建新文件", "hex.builtin.welcome.start.open_file": "打开文件", "hex.builtin.welcome.start.open_other": "其他提供器", @@ -850,51 +937,6 @@ "hex.builtin.welcome.tip_of_the_day": "每日提示", "hex.builtin.welcome.update.desc": "ImHex {0} 已发布!在这里下载。", "hex.builtin.welcome.update.link": "https://github.com/WerWolv/ImHex/releases/latest", - "hex.builtin.welcome.update.title": "新的更新可用!", - "hex.builtin.common.end": "末尾", - "hex.builtin.menu.file.import.modified_file": "已修改", - "hex.builtin.nodes.arithmetic.ceil.header": "向上取整", - "hex.builtin.nodes.custom": "自定义", - "hex.builtin.nodes.custom.output": "自定义节点输出", - "hex.builtin.nodes.buffer.size": "缓冲区大小", - "hex.builtin.view.theme_manager.name": "主题管理器", - "hex.builtin.view.theme_manager.colors": "颜色", - "hex.builtin.view.theme_manager.export": "导出", - "hex.builtin.view.diff.provider_b": "提供者B", - "hex.builtin.visualizer.binary": "二进制", - "hex.builtin.view.store.tab.nodes": "节点", - "hex.builtin.view.store.tab.themes": "主题", - "hex.builtin.nodes.arithmetic.ceil": "向上取整", - "hex.builtin.common.reset": "重置", - "hex.builtin.nodes.arithmetic.floor.header": "向下取整", - "hex.builtin.nodes.arithmetic.floor": "向下取整", - "hex.builtin.nodes.arithmetic.round": "四舍五入", - "hex.builtin.nodes.arithmetic.round.header": "四舍五入", - "hex.builtin.nodes.bitwise.add": "相加", - "hex.builtin.nodes.bitwise.add.header": "按位相加", - "hex.builtin.nodes.buffer.size.header": "缓冲区大小", - "hex.builtin.nodes.buffer.size.output": "大小", - "hex.builtin.nodes.custom.custom": "新节点", - "hex.builtin.nodes.custom.custom.edit": "编辑", - "hex.builtin.nodes.custom.custom.edit_hint": "按下 SHIFT 以编辑", - "hex.builtin.nodes.custom.custom.header": "自定义节点", - "hex.builtin.nodes.custom.input": "自定义节点输入", - "hex.builtin.nodes.custom.input.header": "节点输入", - "hex.builtin.nodes.custom.output.header": "节点输出", - "hex.builtin.pl_visualizer.3d.rotation": "旋转", - "hex.builtin.pl_visualizer.3d.scale": "缩放", - "hex.builtin.popup.waiting_for_tasks.title": "等待任务进行", - "hex.builtin.popup.waiting_for_tasks.desc": "仍有任务在后台运行。\nImHex 将在完成后关闭。", - "hex.builtin.view.data_processor.menu.save_node": "保存节点", - "hex.builtin.view.diff.added": "添加", - "hex.builtin.view.diff.modified": "修改", - "hex.builtin.view.diff.provider_a": "提供者A", - "hex.builtin.view.diff.removed": "移除", - "hex.builtin.view.hex_editor.copy.custom_encoding": "自定义编码", - "hex.builtin.view.hex_editor.copy.hex_view": "二进制", - "hex.builtin.view.theme_manager.export.name": "主题名称", - "hex.builtin.view.theme_manager.save_theme": "保存主题", - "hex.builtin.view.theme_manager.styles": "样式", - "hex.builtin.common.begin": "起始" + "hex.builtin.welcome.update.title": "新的更新可用!" } -} +} \ No newline at end of file diff --git a/plugins/builtin/romfs/lang/zh_TW.json b/plugins/builtin/romfs/lang/zh_TW.json index 48580ed1c..10217c69e 100644 --- a/plugins/builtin/romfs/lang/zh_TW.json +++ b/plugins/builtin/romfs/lang/zh_TW.json @@ -48,6 +48,7 @@ "hex.builtin.common.open": "開啟", "hex.builtin.common.percentage": "", "hex.builtin.common.processing": "正在處理", + "hex.builtin.common.project": "", "hex.builtin.common.question": "問題", "hex.builtin.common.range": "範圍", "hex.builtin.common.range.entire_data": "整筆資料", @@ -81,6 +82,9 @@ "hex.builtin.hash.crc.xor_out": "XOR Out", "hex.builtin.hash.crc16": "CRC16", "hex.builtin.hash.crc32": "CRC32", + "hex.builtin.hash.crc32c": "", + "hex.builtin.hash.crc32mpeg": "", + "hex.builtin.hash.crc32posix": "", "hex.builtin.hash.crc8": "CRC8", "hex.builtin.hash.md5": "MD5", "hex.builtin.hash.sha1": "SHA1", @@ -88,12 +92,17 @@ "hex.builtin.hash.sha256": "SHA256", "hex.builtin.hash.sha384": "SHA384", "hex.builtin.hash.sha512": "SHA512", + "hex.builtin.hex_editor.ascii_view": "顯示 ASCII 欄", + "hex.builtin.hex_editor.custom_encoding_view": "顯示進階解碼欄", "hex.builtin.hex_editor.data_size": "資料大小", + "hex.builtin.hex_editor.gray_out_zero": "Grey out zeros", "hex.builtin.hex_editor.no_bytes": "無可用位元組", "hex.builtin.hex_editor.page": "頁面", "hex.builtin.hex_editor.region": "區域", "hex.builtin.hex_editor.selection": "選取", "hex.builtin.hex_editor.selection.none": "無", + "hex.builtin.hex_editor.uppercase_hex": "Upper case Hex characters", + "hex.builtin.hex_editor.visualizer": "資料可視化工具", "hex.builtin.inspector.ascii": "ASCII 字元", "hex.builtin.inspector.binary": "二進位 (8 位元)", "hex.builtin.inspector.bool": "bool", @@ -128,10 +137,12 @@ "hex.builtin.inspector.utf8": "UTF-8 code point", "hex.builtin.inspector.wide": "框字元", "hex.builtin.layouts.default": "預設", + "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "編輯", "hex.builtin.menu.edit.bookmark.create": "建立書籤", "hex.builtin.menu.edit.redo": "取消復原", "hex.builtin.menu.edit.undo": "復原", + "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "檔案", "hex.builtin.menu.file.bookmark.export": "匯出書籤", "hex.builtin.menu.file.bookmark.import": "匯入書籤", @@ -175,7 +186,9 @@ "hex.builtin.menu.file.quit": "退出 ImHex", "hex.builtin.menu.file.reload_provider": "", "hex.builtin.menu.help": "幫助", + "hex.builtin.menu.help.ask_for_help": "", "hex.builtin.menu.layout": "版面配置", + "hex.builtin.menu.layout.save": "", "hex.builtin.menu.view": "檢視", "hex.builtin.menu.view.demo": "顯示 ImGui Demo", "hex.builtin.menu.view.fps": "顯示 FPS", @@ -209,9 +222,13 @@ "hex.builtin.nodes.bitwise.not.header": "位元 NOT", "hex.builtin.nodes.bitwise.or": "OR", "hex.builtin.nodes.bitwise.or.header": "位元 OR", + "hex.builtin.nodes.bitwise.swap": "", + "hex.builtin.nodes.bitwise.swap.header": "", "hex.builtin.nodes.bitwise.xor": "XOR", "hex.builtin.nodes.bitwise.xor.header": "位元 XOR", "hex.builtin.nodes.buffer": "緩衝", + "hex.builtin.nodes.buffer.byte_swap": "", + "hex.builtin.nodes.buffer.byte_swap.header": "", "hex.builtin.nodes.buffer.combine": "合併", "hex.builtin.nodes.buffer.combine.header": "合併緩衝", "hex.builtin.nodes.buffer.patch": "Patch", @@ -322,6 +339,8 @@ "hex.builtin.nodes.decoding.hex": "十六進位", "hex.builtin.nodes.decoding.hex.header": "十六進位解碼工具", "hex.builtin.nodes.display": "顯示", + "hex.builtin.nodes.display.bits": "", + "hex.builtin.nodes.display.bits.header": "", "hex.builtin.nodes.display.buffer": "緩衝", "hex.builtin.nodes.display.buffer.header": "緩衝顯示", "hex.builtin.nodes.display.float": "浮點數", @@ -346,8 +365,13 @@ "hex.builtin.nodes.visualizer.layered_dist.header": "Layered Distribution", "hex.builtin.pattern_drawer.color": "顏色", "hex.builtin.pattern_drawer.double_click": "Double-click to see more items", + "hex.builtin.pattern_drawer.favorites": "", + "hex.builtin.pattern_drawer.local": "", "hex.builtin.pattern_drawer.offset": "位移", "hex.builtin.pattern_drawer.size": "大小", + "hex.builtin.pattern_drawer.tree_style.auto_expanded": "", + "hex.builtin.pattern_drawer.tree_style.flattened": "", + "hex.builtin.pattern_drawer.tree_style.tree": "", "hex.builtin.pattern_drawer.type": "類型", "hex.builtin.pattern_drawer.value": "數值", "hex.builtin.pattern_drawer.var_name": "名稱", @@ -357,26 +381,42 @@ "hex.builtin.pl_visualizer.3d.scale": "", "hex.builtin.popup.close_provider.desc": "您對此提供者有未儲存的更動。\n您確定要關閉嗎?", "hex.builtin.popup.close_provider.title": "關閉提供者?", + "hex.builtin.popup.docs_question.no_answer": "", + "hex.builtin.popup.docs_question.prompt": "", + "hex.builtin.popup.docs_question.thinking": "", + "hex.builtin.popup.docs_question.title": "", "hex.builtin.popup.error.create": "無法建立新檔案!", "hex.builtin.popup.error.file_dialog.common": "開啟檔案瀏覽器時發生錯誤!", "hex.builtin.popup.error.file_dialog.portal": "開啟檔案瀏覽器時發生錯誤。可能是因為您的系統未正確安裝 xdg-desktop-portal 後端。\n\nKDE 為 xdg-desktop-portal-kde。\nGnome 為 xdg-desktop-portal-gnome。\nwlroots 為 xdg-desktop-portal-wlr。\n否則您可以嘗試使用 xdg-desktop-portal-gtk。\n\n安裝後,請重新啟動您的系統\n\n若安裝後,檔案管理器仍無法正常運作,請在 https://github.com/WerWolv/ImHex/issues 提交 Issue。\n\n您仍可以將檔案拖曳至 ImHex 視窗來開啟!", - "hex.builtin.popup.error.open": "無法開啟檔案!", "hex.builtin.popup.error.project.load": "無法載入專案!", "hex.builtin.popup.error.project.save": "無法儲存專案!", "hex.builtin.popup.error.read_only": "無法取得寫入權限。檔案已以唯讀模式開啟。", "hex.builtin.popup.error.task_exception": "工作 '{}' 擲回了例外狀況:\n\n{}", "hex.builtin.popup.exit_application.desc": "您的專案有未儲存的更動。\n您確定要離開嗎?", "hex.builtin.popup.exit_application.title": "離開應用程式?", + "hex.builtin.popup.safety_backup.delete": "不用,請刪除", + "hex.builtin.popup.safety_backup.desc": "喔不,ImHex 上次崩潰了。\n您要復原您的工作階段嗎?", + "hex.builtin.popup.safety_backup.log_file": "", + "hex.builtin.popup.safety_backup.restore": "好,請復原", + "hex.builtin.popup.safety_backup.title": "復原遺失資料", + "hex.builtin.popup.save_layout.desc": "", + "hex.builtin.popup.save_layout.title": "", "hex.builtin.popup.waiting_for_tasks.desc": "", "hex.builtin.popup.waiting_for_tasks.title": "", "hex.builtin.provider.disk": "原始磁碟提供者", "hex.builtin.provider.disk.disk_size": "磁碟大小", + "hex.builtin.provider.disk.error.read_ro": "", + "hex.builtin.provider.disk.error.read_rw": "", "hex.builtin.provider.disk.reload": "重新載入", "hex.builtin.provider.disk.sector_size": "磁區大小", "hex.builtin.provider.disk.selected_disk": "磁碟", + "hex.builtin.provider.error.open": "", "hex.builtin.provider.file": "檔案提供者", "hex.builtin.provider.file.access": "最後存取時間", "hex.builtin.provider.file.creation": "建立時間", + "hex.builtin.provider.file.error.open": "", + "hex.builtin.provider.file.menu.open_file": "", + "hex.builtin.provider.file.menu.open_folder": "", "hex.builtin.provider.file.modification": "最後修改時間", "hex.builtin.provider.file.path": "檔案路徑", "hex.builtin.provider.file.size": "大小", @@ -399,36 +439,30 @@ "hex.builtin.setting.font": "字體", "hex.builtin.setting.font.font_path": "自訂字型路徑", "hex.builtin.setting.font.font_size": "字體大小", + "hex.builtin.setting.font.font_size.tooltip": "", "hex.builtin.setting.general": "一般", "hex.builtin.setting.general.auto_load_patterns": "自動載入支援的模式", "hex.builtin.setting.general.check_for_updates": "Check for updates on startup", "hex.builtin.setting.general.enable_unicode": "載入所有 unicode 字元", + "hex.builtin.setting.general.network_interface": "", "hex.builtin.setting.general.save_recent_providers": "", "hex.builtin.setting.general.show_tips": "啟動時顯示提示", "hex.builtin.setting.general.sync_pattern_source": "同步提供者之間的模式原始碼", "hex.builtin.setting.hex_editor": "十六進位編輯器", - "hex.builtin.setting.hex_editor.advanced_decoding": "顯示進階解碼欄", - "hex.builtin.setting.hex_editor.ascii": "顯示 ASCII 欄", "hex.builtin.setting.hex_editor.byte_padding": "Extra byte cell padding", "hex.builtin.setting.hex_editor.bytes_per_row": "Bytes per row 每列位元組", "hex.builtin.setting.hex_editor.char_padding": "Extra character cell padding", - "hex.builtin.setting.hex_editor.grey_zeros": "Grey out zeros", "hex.builtin.setting.hex_editor.highlight_color": "Selection highlight color", "hex.builtin.setting.hex_editor.sync_scrolling": "Synchronize editor position", - "hex.builtin.setting.hex_editor.uppercase_hex": "Upper case Hex characters", - "hex.builtin.setting.hex_editor.visualizer": "資料可視化工具", "hex.builtin.setting.imhex": "ImHex", "hex.builtin.setting.imhex.recent_files": "近期檔案", "hex.builtin.setting.interface": "介面", "hex.builtin.setting.interface.color": "顏色主題", "hex.builtin.setting.interface.fps": "FPS 限制", + "hex.builtin.setting.interface.fps.native": "", "hex.builtin.setting.interface.fps.unlocked": "解鎖", "hex.builtin.setting.interface.language": "語言", "hex.builtin.setting.interface.multi_windows": "啟用多視窗支援", - "hex.builtin.setting.interface.pattern_tree_style": "", - "hex.builtin.setting.interface.pattern_tree_style.auto_expanded": "", - "hex.builtin.setting.interface.pattern_tree_style.flattened": "", - "hex.builtin.setting.interface.pattern_tree_style.tree": "", "hex.builtin.setting.interface.scaling": "縮放", "hex.builtin.setting.interface.scaling.native": "原生", "hex.builtin.setting.interface.scaling.x0_5": "x0.5", @@ -560,6 +594,10 @@ "hex.builtin.view.bookmarks.name": "書籤", "hex.builtin.view.bookmarks.no_bookmarks": "尚未建立書籤。前往編輯 -> 建立書籤來建立。", "hex.builtin.view.bookmarks.title.info": "資訊", + "hex.builtin.view.bookmarks.tooltip.jump_to": "", + "hex.builtin.view.bookmarks.tooltip.lock": "", + "hex.builtin.view.bookmarks.tooltip.open_in_view": "", + "hex.builtin.view.bookmarks.tooltip.unlock": "", "hex.builtin.view.command_palette.name": "命令選擇區", "hex.builtin.view.constants.name": "常數", "hex.builtin.view.constants.row.category": "類別", @@ -642,8 +680,12 @@ "hex.builtin.view.disassembler.settings.mode": "模式", "hex.builtin.view.disassembler.sparc.v9": "Sparc V9", "hex.builtin.view.find.binary_pattern": "Binary Pattern", + "hex.builtin.view.find.binary_pattern.alignment": "", "hex.builtin.view.find.context.copy": "複製數值", "hex.builtin.view.find.context.copy_demangle": "Copy Demangled Value", + "hex.builtin.view.find.context.replace": "", + "hex.builtin.view.find.context.replace.ascii": "", + "hex.builtin.view.find.context.replace.hex": "", "hex.builtin.view.find.demangled": "Demangled", "hex.builtin.view.find.name": "尋找", "hex.builtin.view.find.regex": "Regex", @@ -667,8 +709,10 @@ "hex.builtin.view.find.strings.underscores": "底線", "hex.builtin.view.find.strings.upper_case": "大寫字母", "hex.builtin.view.find.value": "數值", + "hex.builtin.view.find.value.aligned": "", "hex.builtin.view.find.value.max": "最大值", "hex.builtin.view.find.value.min": "最小值", + "hex.builtin.view.find.value.range": "", "hex.builtin.view.hashes.function": "雜湊函式", "hex.builtin.view.hashes.hash": "雜湊", "hex.builtin.view.hashes.hover_info": "懸停在十六進位編輯器的選取範圍上,並按住 Shift 以查看該區域的雜湊。", @@ -724,6 +768,7 @@ "hex.builtin.view.hex_editor.menu.edit.resize": "縮放...", "hex.builtin.view.hex_editor.menu.edit.select_all": "全選", "hex.builtin.view.hex_editor.menu.edit.set_base": "設置基址", + "hex.builtin.view.hex_editor.menu.edit.set_page_size": "", "hex.builtin.view.hex_editor.menu.file.goto": "跳至", "hex.builtin.view.hex_editor.menu.file.load_encoding_file": "載入自訂編碼...", "hex.builtin.view.hex_editor.menu.file.save": "儲存", @@ -793,6 +838,7 @@ "hex.builtin.view.pattern_editor.sections": "Sections", "hex.builtin.view.pattern_editor.settings": "設定", "hex.builtin.view.provider_settings.load_error": "An error occurred while trying to open this provider!", + "hex.builtin.view.provider_settings.load_error_details": "", "hex.builtin.view.provider_settings.load_popup": "開啟提供者", "hex.builtin.view.provider_settings.name": "提供者設定", "hex.builtin.view.settings.name": "設定", @@ -883,10 +929,6 @@ "hex.builtin.welcome.plugins.author": "作者", "hex.builtin.welcome.plugins.desc": "說明", "hex.builtin.welcome.plugins.plugin": "外掛程式", - "hex.builtin.popup.safety_backup.delete": "不用,請刪除", - "hex.builtin.popup.safety_backup.desc": "喔不,ImHex 上次崩潰了。\n您要復原您的工作階段嗎?", - "hex.builtin.popup.safety_backup.restore": "好,請復原", - "hex.builtin.popup.safety_backup.title": "復原遺失資料", "hex.builtin.welcome.start.create_file": "建立新檔案", "hex.builtin.welcome.start.open_file": "開啟檔案", "hex.builtin.welcome.start.open_other": "其他提供者", diff --git a/plugins/builtin/source/content/data_visualizers.cpp b/plugins/builtin/source/content/data_visualizers.cpp index 9c4bc7920..a93faa144 100644 --- a/plugins/builtin/source/content/data_visualizers.cpp +++ b/plugins/builtin/source/content/data_visualizers.cpp @@ -38,7 +38,7 @@ namespace hex::plugin::builtin { template class DataVisualizerHexadecimal : public hex::ContentRegistry::HexEditor::DataVisualizer { public: - DataVisualizerHexadecimal() : DataVisualizer(ByteCount, CharCount) { } + DataVisualizerHexadecimal(const std::string &name) : DataVisualizer(name, ByteCount, CharCount) { } void draw(u64 address, const u8 *data, size_t size, bool upperCase) override { hex::unused(address); @@ -76,7 +76,7 @@ namespace hex::plugin::builtin { class DataVisualizerHexii : public hex::ContentRegistry::HexEditor::DataVisualizer { public: - DataVisualizerHexii() : DataVisualizer(ByteCount, CharCount) { } + DataVisualizerHexii() : DataVisualizer("hex.builtin.visualizer.hexii", ByteCount, CharCount) { } void draw(u64 address, const u8 *data, size_t size, bool upperCase) override { hex::unused(address); @@ -130,7 +130,7 @@ namespace hex::plugin::builtin { template class DataVisualizerDecimal : public hex::ContentRegistry::HexEditor::DataVisualizer { public: - DataVisualizerDecimal() : DataVisualizer(ByteCount, CharCount) { } + DataVisualizerDecimal(const std::string &name) : DataVisualizer(name, ByteCount, CharCount) { } void draw(u64 address, const u8 *data, size_t size, bool upperCase) override { hex::unused(address, upperCase); @@ -171,7 +171,7 @@ namespace hex::plugin::builtin { template class DataVisualizerFloatingPoint : public hex::ContentRegistry::HexEditor::DataVisualizer { public: - DataVisualizerFloatingPoint() : DataVisualizer(ByteCount, CharCount) { } + DataVisualizerFloatingPoint(const std::string &name) : DataVisualizer(name, ByteCount, CharCount) { } void draw(u64 address, const u8 *data, size_t size, bool upperCase) override { hex::unused(address); @@ -210,7 +210,7 @@ namespace hex::plugin::builtin { template<> class DataVisualizerFloatingPoint : public hex::ContentRegistry::HexEditor::DataVisualizer { public: - DataVisualizerFloatingPoint() : DataVisualizer(ByteCount, CharCount) { } + DataVisualizerFloatingPoint(const std::string &name) : DataVisualizer(name, ByteCount, CharCount) { } void draw(u64 address, const u8 *data, size_t size, bool upperCase) override { hex::unused(address); @@ -245,7 +245,7 @@ namespace hex::plugin::builtin { class DataVisualizerRGBA8 : public hex::ContentRegistry::HexEditor::DataVisualizer { public: - DataVisualizerRGBA8() : DataVisualizer(4, 2) { } + DataVisualizerRGBA8() : DataVisualizer("hex.builtin.visualizer.rgba8", 4, 2) { } void draw(u64 address, const u8 *data, size_t size, bool upperCase) override { hex::unused(address, upperCase); @@ -285,7 +285,7 @@ namespace hex::plugin::builtin { class DataVisualizerBinary : public hex::ContentRegistry::HexEditor::DataVisualizer { public: - DataVisualizerBinary() : DataVisualizer(1, 8) { } + DataVisualizerBinary() : DataVisualizer("hex.builtin.visualizer.binary", 1, 8) { } void draw(u64 address, const u8 *data, size_t size, bool) override { hex::unused(address); @@ -335,10 +335,10 @@ namespace hex::plugin::builtin { ContentRegistry::HexEditor::addDataVisualizer>("hex.builtin.visualizer.floating_point.32bit"); ContentRegistry::HexEditor::addDataVisualizer>("hex.builtin.visualizer.floating_point.64bit"); - ContentRegistry::HexEditor::addDataVisualizer("hex.builtin.visualizer.rgba8"); - ContentRegistry::HexEditor::addDataVisualizer("hex.builtin.visualizer.hexii"); + ContentRegistry::HexEditor::addDataVisualizer(); + ContentRegistry::HexEditor::addDataVisualizer(); - ContentRegistry::HexEditor::addDataVisualizer("hex.builtin.visualizer.binary"); + ContentRegistry::HexEditor::addDataVisualizer(); } } \ No newline at end of file diff --git a/plugins/builtin/source/content/settings_entries.cpp b/plugins/builtin/source/content/settings_entries.cpp index 53cf40c25..12f32fbf5 100644 --- a/plugins/builtin/source/content/settings_entries.cpp +++ b/plugins/builtin/source/content/settings_entries.cpp @@ -264,23 +264,6 @@ namespace hex::plugin::builtin { return false; }, true); - ContentRegistry::Settings::add("hex.builtin.setting.interface", "hex.builtin.setting.interface.pattern_tree_style", 0, [](auto name, nlohmann::json &setting) { - static int selection = static_cast(setting); - - const char *style[] = { - "hex.builtin.setting.interface.pattern_tree_style.tree"_lang, - "hex.builtin.setting.interface.pattern_tree_style.auto_expanded"_lang, - "hex.builtin.setting.interface.pattern_tree_style.flattened"_lang, - }; - - if (ImGui::Combo(name.data(), &selection, style, IM_ARRAYSIZE(style))) { - setting = selection; - return true; - } - - return false; - }); - ContentRegistry::Settings::add("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.highlight_color", 0x60C08080, [](auto name, nlohmann::json &setting) { static auto color = static_cast(setting); @@ -317,71 +300,6 @@ namespace hex::plugin::builtin { return false; }); - ContentRegistry::Settings::add("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.ascii", 1, [](auto name, nlohmann::json &setting) { - static bool ascii = static_cast(setting); - - if (ImGui::Checkbox(name.data(), &ascii)) { - setting = static_cast(ascii); - return true; - } - - return false; - }); - - ContentRegistry::Settings::add("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.advanced_decoding", 1, [](auto name, nlohmann::json &setting) { - static bool advancedDecoding = static_cast(setting); - - if (ImGui::Checkbox(name.data(), &advancedDecoding)) { - setting = static_cast(advancedDecoding); - return true; - } - - return false; - }); - - ContentRegistry::Settings::add("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.grey_zeros", 1, [](auto name, nlohmann::json &setting) { - static bool greyZeros = static_cast(setting); - - if (ImGui::Checkbox(name.data(), &greyZeros)) { - setting = static_cast(greyZeros); - return true; - } - - return false; - }); - - ContentRegistry::Settings::add("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.uppercase_hex", 1, [](auto name, nlohmann::json &setting) { - static bool upperCaseHex = static_cast(setting); - - if (ImGui::Checkbox(name.data(), &upperCaseHex)) { - setting = static_cast(upperCaseHex); - return true; - } - - return false; - }); - - ContentRegistry::Settings::add("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.visualizer", "hex.builtin.visualizer.hexadecimal.8bit", [](auto name, nlohmann::json &setting) { - auto &visualizers = ContentRegistry::HexEditor::impl::getVisualizers(); - - auto selectedVisualizer = setting; - - bool result = false; - if (ImGui::BeginCombo(name.data(), LangEntry(selectedVisualizer))) { - - for (const auto &[unlocalizedName, visualizer] : visualizers) { - if (ImGui::Selectable(LangEntry(unlocalizedName))) { - setting = unlocalizedName; - result = true; - } - } - - ImGui::EndCombo(); - } - - return result; - }); - ContentRegistry::Settings::add("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.sync_scrolling", 0, [](auto name, nlohmann::json &setting) { static bool syncScrolling = static_cast(setting); diff --git a/plugins/builtin/source/content/ui_items.cpp b/plugins/builtin/source/content/ui_items.cpp index d4c7ee92a..62b05fff4 100644 --- a/plugins/builtin/source/content/ui_items.cpp +++ b/plugins/builtin/source/content/ui_items.cpp @@ -244,7 +244,7 @@ namespace hex::plugin::builtin { ImGui::EndTabItem(); } - if (ImGui::IsItemHovered()) { + if (ImGui::InfoTooltip()) { ImGui::BeginTooltip(); ImGui::TextFormatted("{}", tabProvider->getName().c_str()); diff --git a/plugins/builtin/source/ui/hex_editor.cpp b/plugins/builtin/source/ui/hex_editor.cpp index 0ef113cce..32c7f2e62 100644 --- a/plugins/builtin/source/ui/hex_editor.cpp +++ b/plugins/builtin/source/ui/hex_editor.cpp @@ -13,7 +13,7 @@ namespace hex::plugin::builtin::ui { class DataVisualizerAscii : public hex::ContentRegistry::HexEditor::DataVisualizer { public: - DataVisualizerAscii() : DataVisualizer(1, 1) { } + DataVisualizerAscii() : DataVisualizer("ASCII", 1, 1) { } void draw(u64 address, const u8 *data, size_t size, bool upperCase) override { hex::unused(address, upperCase); @@ -71,44 +71,12 @@ namespace hex::plugin::builtin::ui { /* Hex Editor */ HexEditor::HexEditor(prv::Provider *provider) : m_provider(provider) { - this->m_currDataVisualizer = ContentRegistry::HexEditor::impl::getVisualizers()["hex.builtin.visualizer.hexadecimal.8bit"]; - - this->m_grayZeroHighlighter = ImHexApi::HexEditor::addForegroundHighlightingProvider([this](u64 address, const u8 *data, size_t size, bool hasColor) -> std::optional { - hex::unused(address); - - if (hasColor) - return std::nullopt; - - if (!this->m_grayOutZero) - return std::nullopt; - - for (u32 i = 0; i < size; i++) - if (data[i] != 0x00) - return std::nullopt; - - return ImGui::GetColorU32(ImGuiCol_TextDisabled); - }); - EventManager::subscribe(this, [this] { { this->m_bytesPerRow = ContentRegistry::Settings::read("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.bytes_per_row", 16); this->m_encodingLineStartAddresses.clear(); } - { - auto &visualizers = ContentRegistry::HexEditor::impl::getVisualizers(); - auto selectedVisualizer = ContentRegistry::Settings::read("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.visualizer", "hex.builtin.visualizer.hexadecimal.8bit"); - - if (visualizers.contains(selectedVisualizer)) - this->m_currDataVisualizer = visualizers[selectedVisualizer]; - else - this->m_currDataVisualizer = visualizers["hex.builtin.visualizer.hexadecimal.8bit"]; - } - - this->m_showAscii = ContentRegistry::Settings::read("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.ascii", 1); - this->m_showCustomEncoding = ContentRegistry::Settings::read("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.advanced_decoding", 1); - this->m_grayOutZero = ContentRegistry::Settings::read("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.grey_zeros", 1); - this->m_upperCaseHex = ContentRegistry::Settings::read("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.uppercase_hex", 1); this->m_selectionColor = ContentRegistry::Settings::read("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.highlight_color", 0x60C08080); this->m_syncScrolling = ContentRegistry::Settings::read("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.sync_scrolling", 0); this->m_byteCellPadding = ContentRegistry::Settings::read("hex.builtin.setting.hex_editor", "hex.builtin.setting.hex_editor.byte_padding", 0); @@ -117,7 +85,6 @@ namespace hex::plugin::builtin::ui { } HexEditor::~HexEditor() { - ImHexApi::HexEditor::removeForegroundHighlightingProvider(this->m_grayZeroHighlighter); EventManager::unsubscribe(this); } @@ -393,8 +360,21 @@ namespace hex::plugin::builtin::ui { // Query cell colors if (x < std::ceil(float(validBytes) / bytesPerCell)) { - const auto foregroundColor = this->m_foregroundColorCallback(byteAddress, &bytes[x * cellBytes], cellBytes); - const auto backgroundColor = this->m_backgroundColorCallback(byteAddress, &bytes[x * cellBytes], cellBytes); + auto foregroundColor = this->m_foregroundColorCallback(byteAddress, &bytes[x * cellBytes], cellBytes); + auto backgroundColor = this->m_backgroundColorCallback(byteAddress, &bytes[x * cellBytes], cellBytes); + + if (this->m_grayOutZero && !foregroundColor.has_value()) { + bool allZero = true; + for (u64 i = 0; i < cellBytes; i++) { + if (bytes[x * cellBytes + i] != 0x00) { + allZero = false; + break; + } + } + + if (allZero) + foregroundColor = ImGui::GetColorU32(ImGuiCol_TextDisabled); + } cellColors.emplace_back( foregroundColor, @@ -728,6 +708,115 @@ namespace hex::plugin::builtin::ui { ); } + ImGui::TableNextRow(); + ImGui::TableNextColumn(); + ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 2_scaled); + + // Upper/lower case hex + { + bool pushed = false; + + if (this->m_upperCaseHex) { + ImGui::PushStyleColor(ImGuiCol_Border, ImGui::GetStyleColorVec4(ImGuiCol_ButtonActive)); + pushed = true; + } + + if (ImGui::DimmedIconButton(ICON_VS_CASE_SENSITIVE, ImGui::GetStyleColorVec4(ImGuiCol_Text))) { + this->m_upperCaseHex = !this->m_upperCaseHex; + } + + if (pushed) + ImGui::PopStyleColor(); + + ImGui::InfoTooltip("hex.builtin.hex_editor.uppercase_hex"_lang); + } + + ImGui::SameLine(); + + // Grayed out zeros + { + bool pushed = false; + + if (this->m_grayOutZero) { + ImGui::PushStyleColor(ImGuiCol_Border, ImGui::GetStyleColorVec4(ImGuiCol_ButtonActive)); + pushed = true; + } + + if (ImGui::DimmedIconButton(ICON_VS_LIGHTBULB, ImGui::GetStyleColorVec4(ImGuiCol_Text))) { + this->m_grayOutZero = !this->m_grayOutZero; + EventManager::post(); + } + + if (pushed) + ImGui::PopStyleColor(); + + ImGui::InfoTooltip("hex.builtin.hex_editor.gray_out_zero"_lang); + } + + ImGui::SameLine(); + + // ASCII view + { + bool pushed = false; + + if (this->m_showAscii) { + ImGui::PushStyleColor(ImGuiCol_Border, ImGui::GetStyleColorVec4(ImGuiCol_ButtonActive)); + pushed = true; + } + + if (ImGui::DimmedIconButton(ICON_VS_SYMBOL_KEY, ImGui::GetStyleColorVec4(ImGuiCol_Text))) { + this->m_showAscii = !this->m_showAscii; + } + + if (pushed) + ImGui::PopStyleColor(); + + ImGui::InfoTooltip("hex.builtin.hex_editor.ascii_view"_lang); + } + + ImGui::SameLine(0, 1_scaled); + + // Custom encoding view + { + bool pushed = false; + + if (this->m_showCustomEncoding) { + ImGui::PushStyleColor(ImGuiCol_Border, ImGui::GetStyleColorVec4(ImGuiCol_ButtonActive)); + pushed = true; + } + + if (ImGui::DimmedIconButton(ICON_VS_WHITESPACE, ImGui::GetStyleColorVec4(ImGuiCol_Text))) { + this->m_showCustomEncoding = !this->m_showCustomEncoding; + } + + if (pushed) + ImGui::PopStyleColor(); + + ImGui::InfoTooltip("hex.builtin.hex_editor.custom_encoding_view"_lang); + } + + ImGui::TableNextColumn(); + + // Visualizer + { + auto &visualizers = ContentRegistry::HexEditor::impl::getVisualizers(); + + ImGui::TextFormatted("{}: ", "hex.builtin.hex_editor.visualizer"_lang); + ImGui::SameLine(0, 0); + ImGui::PushItemWidth(ImGui::GetContentRegionAvail().x); + if (ImGui::BeginCombo("##visualizer", LangEntry(this->m_currDataVisualizer->getUnlocalizedName()))) { + + for (const auto &[unlocalizedName, visualizer] : visualizers) { + if (ImGui::Selectable(LangEntry(unlocalizedName))) { + this->m_currDataVisualizer = visualizer; + } + } + + ImGui::EndCombo(); + } + ImGui::PopItemWidth(); + } + ImGui::EndTable(); } } @@ -760,7 +849,7 @@ namespace hex::plugin::builtin::ui { void HexEditor::draw(float height) { const auto width = ImGui::GetContentRegionAvail().x; - const auto FooterSize = ImVec2(width, ImGui::GetTextLineHeightWithSpacing() * 2.3F); + const auto FooterSize = ImVec2(width, ImGui::GetTextLineHeightWithSpacing() * 3.6F); const auto TableSize = ImVec2(width, height - FooterSize.y); this->drawEditor(TableSize); diff --git a/plugins/builtin/source/ui/pattern_drawer.cpp b/plugins/builtin/source/ui/pattern_drawer.cpp index 12ed98bfc..81e319f13 100644 --- a/plugins/builtin/source/ui/pattern_drawer.cpp +++ b/plugins/builtin/source/ui/pattern_drawer.cpp @@ -89,12 +89,8 @@ namespace hex::plugin::builtin::ui { ImGui::TextFormatted("{}", name); - if (ImGui::IsItemHovered()) { - if (ImGui::CalcTextSize(name.c_str()).x > ImGui::GetColumnWidth()) { - ImGui::BeginTooltip(); - ImGui::TextFormatted(name); - ImGui::EndTooltip(); - } + if (ImGui::CalcTextSize(name.c_str()).x > ImGui::GetColumnWidth()) { + ImGui::InfoTooltip(name.c_str()); } }); @@ -147,12 +143,8 @@ namespace hex::plugin::builtin::ui { } void drawCommentTooltip(const pl::ptrn::Pattern &pattern) { - if (ImGui::IsItemHovered(ImGuiHoveredFlags_AllowWhenBlockedByActiveItem)) { - if (auto comment = pattern.getComment(); !comment.empty()) { - ImGui::BeginTooltip(); - ImGui::TextUnformatted(pattern.getComment().c_str()); - ImGui::EndTooltip(); - } + if (auto comment = pattern.getComment(); !comment.empty()) { + ImGui::InfoTooltip(comment.c_str()); } } @@ -281,12 +273,8 @@ namespace hex::plugin::builtin::ui { ImGui::TextFormatted("{}", value); } - if (ImGui::IsItemHovered()) { - if (ImGui::CalcTextSize(value.c_str()).x > width) { - ImGui::BeginTooltip(); - ImGui::TextFormatted("{}", value); - ImGui::EndTooltip(); - } + if (ImGui::CalcTextSize(value.c_str()).x > width) { + ImGui::InfoTooltip(value.c_str()); } } @@ -1001,16 +989,41 @@ namespace hex::plugin::builtin::ui { } void PatternDrawer::draw(const std::vector> &patterns, float height) { + const auto treeStyleButton = [this](auto icon, TreeStyle style, const char *tooltip) { + bool pushed = false; + + if (this->m_treeStyle == style) { + ImGui::PushStyleColor(ImGuiCol_Border, ImGui::GetStyleColorVec4(ImGuiCol_ButtonActive)); + pushed = true; + } + + if (ImGui::DimmedIconButton(icon, ImGui::GetStyleColorVec4(ImGuiCol_Text))) + this->m_treeStyle = style; + + if (pushed) + ImGui::PopStyleColor(); + + ImGui::InfoTooltip(tooltip); + }; + if (ImGui::IsMouseClicked(ImGuiMouseButton_Left) && !ImGui::IsAnyItemHovered()) { this->resetEditing(); } - ImGui::PushItemWidth(-1); + ImGui::PushItemWidth(ImGui::GetContentRegionAvail().x - ImGui::GetTextLineHeightWithSpacing() * 5.5); if (ImGui::InputTextIcon("##Search", ICON_VS_FILTER, this->m_filterText)) { this->m_filter = parseRValueFilter(this->m_filterText); } ImGui::PopItemWidth(); + ImGui::SameLine(); + + treeStyleButton(ICON_VS_SYMBOL_KEYWORD, TreeStyle::Default, "hex.builtin.pattern_drawer.tree_style.tree"_lang); + ImGui::SameLine(0, 0); + treeStyleButton(ICON_VS_LIST_TREE, TreeStyle::AutoExpanded, "hex.builtin.pattern_drawer.tree_style.auto_expanded"_lang); + ImGui::SameLine(0, 0); + treeStyleButton(ICON_VS_LIST_FLAT, TreeStyle::Flattened, "hex.builtin.pattern_drawer.tree_style.flattened"_lang); + if (!this->m_favoritesUpdated) { this->m_favoritesUpdated = true;