mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-03-28 15:57:03 -05:00
Compare commits
103 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c5e91b611 | ||
|
|
e529a79ddb | ||
|
|
45bb9e6706 | ||
|
|
e6d14507e2 | ||
|
|
9a5881fc47 | ||
|
|
f7dd28002e | ||
|
|
496b0ec41d | ||
|
|
02df578939 | ||
|
|
eb4a1e2692 | ||
|
|
e6bec7d2b2 | ||
|
|
80f3bbb0af | ||
|
|
3a117b3bed | ||
|
|
ff91335011 | ||
|
|
01917439dd | ||
|
|
f21c80c48a | ||
|
|
3dc42b711c | ||
|
|
4b2863ca14 | ||
|
|
fe1b4b45b5 | ||
|
|
a20d6aa2b2 | ||
|
|
78e52a0fe3 | ||
|
|
b4b507ecc9 | ||
|
|
d7d19d7594 | ||
|
|
90df4413c3 | ||
|
|
4cd6646cca | ||
|
|
87ed0d31d4 | ||
|
|
921bdd9e3b | ||
|
|
1f51a603f0 | ||
|
|
5fbbdb8e3c | ||
|
|
745da6ba45 | ||
|
|
ad71e612a3 | ||
|
|
85823e8e5d | ||
|
|
b4fa8bebe9 | ||
|
|
7859a9bb1f | ||
|
|
696d8d1d54 | ||
|
|
6e8d3e0d7f | ||
|
|
6a0422fb27 | ||
|
|
26898feb62 | ||
|
|
0311feee9b | ||
|
|
cf601586fc | ||
|
|
f7b988906e | ||
|
|
5777a6d401 | ||
|
|
4807ca0057 | ||
|
|
f1aeec309e | ||
|
|
4b8e275254 | ||
|
|
4b6a75fb60 | ||
|
|
d463491026 | ||
|
|
df3d5e38ce | ||
|
|
4e22d636d3 | ||
|
|
e71841b871 | ||
|
|
e272c5d000 | ||
|
|
0d7740773e | ||
|
|
e4fbb1b640 | ||
|
|
986252d97f | ||
|
|
e0c1fc81e3 | ||
|
|
ee94e9d619 | ||
|
|
264da1ed78 | ||
|
|
ce37c795a7 | ||
|
|
ed2297ab7f | ||
|
|
ae5d8c9aad | ||
|
|
603ff9256c | ||
|
|
a966cab155 | ||
|
|
978dd65528 | ||
|
|
6502920047 | ||
|
|
ed97757dde | ||
|
|
da8ec1565e | ||
|
|
ad85a4a0e3 | ||
|
|
f9a7cdf4dd | ||
|
|
a5296bab95 | ||
|
|
bda7a2b351 | ||
|
|
f23351f11c | ||
|
|
e3f2541fde | ||
|
|
94723dbba3 | ||
|
|
6e0b92a4de | ||
|
|
13a61f5249 | ||
|
|
1347f81236 | ||
|
|
ab93894442 | ||
|
|
8ed6c2094b | ||
|
|
42d7f1ca67 | ||
|
|
cf51e04777 | ||
|
|
8398c12f74 | ||
|
|
2a345e770e | ||
|
|
b3fcf71982 | ||
|
|
3b94a42783 | ||
|
|
453ddaf0d6 | ||
|
|
d4ff36fde0 | ||
|
|
6239858d0a | ||
|
|
1dd873462e | ||
|
|
825c613d64 | ||
|
|
4aa314b3ab | ||
|
|
8e696e3fc4 | ||
|
|
217cf799c2 | ||
|
|
b10a59661e | ||
|
|
0f028db856 | ||
|
|
c194588118 | ||
|
|
398dc8101f | ||
|
|
13cb330711 | ||
|
|
c0740822a3 | ||
|
|
340e627af9 | ||
|
|
3089a710bd | ||
|
|
7d0474335a | ||
|
|
3d5190f51a | ||
|
|
de2de1e1d7 | ||
|
|
91a4f52f67 |
13
.github/workflows/build.yml
vendored
13
.github/workflows/build.yml
vendored
@@ -112,7 +112,7 @@ jobs:
|
||||
shell: bash
|
||||
run: |
|
||||
echo "NoGPU version Powered by Mesa 3D : https://fdossena.com/?p=mesa%2Findex.frag" > build/install/MESA.md
|
||||
curl https://downloads.fdossena.com/geth.php?r=mesa64-latest -L -o mesa.7z
|
||||
curl https://werwolv.net/downloads/mesa/MesaForWindows-x64-latest.7z -L -o mesa.7z
|
||||
7z e mesa.7z
|
||||
mv opengl32.dll build/install
|
||||
|
||||
@@ -269,7 +269,7 @@ jobs:
|
||||
sudo apt install -y python3-pip python3-setuptools desktop-file-utils libgdk-pixbuf2.0-dev fuse
|
||||
sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /usr/local/bin/appimagetool
|
||||
sudo chmod +x /usr/local/bin/appimagetool
|
||||
sudo pip3 install appimage-builder
|
||||
sudo pip3 install git+https://github.com/iTrooz/appimage-builder@dpkg-package-versions
|
||||
|
||||
# Ubuntu cmake build
|
||||
- name: 🛠️ Build
|
||||
@@ -281,9 +281,8 @@ jobs:
|
||||
-DCMAKE_INSTALL_PREFIX="/usr" \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_C_FLAGS="-fuse-ld=lld" \
|
||||
-DCMAKE_CXX_FLAGS="-fuse-ld=lld" \
|
||||
-DIMHEX_PATTERNS_PULL_MASTER=ON \
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
||||
..
|
||||
make -j 4 install DESTDIR=DebDir
|
||||
|
||||
@@ -316,9 +315,8 @@ jobs:
|
||||
-DCMAKE_INSTALL_PREFIX="/usr" \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_C_FLAGS="-fuse-ld=lld" \
|
||||
-DCMAKE_CXX_FLAGS="-fuse-ld=lld" \
|
||||
-DIMHEX_PATTERNS_PULL_MASTER=ON \
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
||||
-DIMHEX_PLUGINS_IN_SHARE=ON \
|
||||
-DIMHEX_USE_BUNDLED_CA=ON \
|
||||
..
|
||||
@@ -405,14 +403,13 @@ jobs:
|
||||
-DCMAKE_INSTALL_PREFIX="/usr" \
|
||||
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DCMAKE_C_FLAGS="-fuse-ld=lld" \
|
||||
-DCMAKE_CXX_FLAGS="-fuse-ld=lld" \
|
||||
-DUSE_SYSTEM_CURL=ON \
|
||||
-DUSE_SYSTEM_FMT=ON \
|
||||
-DUSE_SYSTEM_YARA=ON \
|
||||
-DUSE_SYSTEM_NLOHMANN_JSON=ON \
|
||||
-DUSE_SYSTEM_CAPSTONE=OFF \
|
||||
-DIMHEX_PATTERNS_PULL_MASTER=ON \
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
||||
..
|
||||
make -j 4 install DESTDIR=installDir
|
||||
|
||||
|
||||
6
.gitignore
vendored
6
.gitignore
vendored
@@ -2,13 +2,9 @@
|
||||
.idea/
|
||||
|
||||
cmake-build-*/
|
||||
|
||||
build-linux/
|
||||
build*/
|
||||
venv/
|
||||
|
||||
*.mgc
|
||||
imgui.ini
|
||||
.DS_Store
|
||||
plugins/.rustc_info.json
|
||||
|
||||
**/target
|
||||
|
||||
8
.idea/.gitignore
generated
vendored
8
.idea/.gitignore
generated
vendored
@@ -1,8 +0,0 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
# Datasource local storage ignored files
|
||||
/../../../../../:\_Dev\Cpp\HexEditor\.idea/dataSources/
|
||||
/dataSources.local.xml
|
||||
# Editor-based HTTP Client requests
|
||||
/httpRequests/
|
||||
1
.idea/.name
generated
1
.idea/.name
generated
@@ -1 +0,0 @@
|
||||
imhex
|
||||
14
.idea/deployment.xml
generated
14
.idea/deployment.xml
generated
@@ -1,14 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="PublishConfigData" remoteFilesAllowedToDisappearOnAutoupload="false">
|
||||
<serverData>
|
||||
<paths name="WSL (e494f5fa-cb38-49f1-b2cb-b9524b92ed51)">
|
||||
<serverdata>
|
||||
<mappings>
|
||||
<mapping local="$PROJECT_DIR$" web="/" />
|
||||
</mappings>
|
||||
</serverdata>
|
||||
</paths>
|
||||
</serverData>
|
||||
</component>
|
||||
</project>
|
||||
2
.idea/imhex.iml
generated
2
.idea/imhex.iml
generated
@@ -1,2 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module classpath="CMake" type="CPP_MODULE" version="4" />
|
||||
4
.idea/misc.xml
generated
4
.idea/misc.xml
generated
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CMakeWorkspace" PROJECT_DIR="$PROJECT_DIR$" />
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
8
.idea/modules.xml
generated
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/imhex.iml" filepath="$PROJECT_DIR$/.idea/imhex.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
16
.idea/vcs.xml
generated
16
.idea/vcs.xml
generated
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/lib/external/capstone" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/lib/external/curl" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/lib/external/fmt" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/lib/external/libromfs" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/lib/external/nativefiledialog" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/lib/external/pattern_language" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/lib/external/pattern_language/external/cli11" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/lib/external/pattern_language/external/fmt" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/lib/external/xdgpp" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/lib/external/yara/yara" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -38,6 +38,7 @@ detectArch()
|
||||
addVersionDefines()
|
||||
configurePackingResources()
|
||||
setUninstallTarget()
|
||||
addBundledLibraries()
|
||||
|
||||
# Add ImHex sources
|
||||
add_subdirectory(lib/libimhex)
|
||||
|
||||
67
HACKING.md
Normal file
67
HACKING.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Hacking guide
|
||||
|
||||
## Introduction
|
||||
|
||||
This document is a guide for developers who want to contribute to ImHex in any way. It contains information about the codebase, the build process and the general workflow.
|
||||
|
||||
## Codebase
|
||||
|
||||
ImHex is written in C++ and usually uses the latest compiler and standard library features available in gcc on all supported OSes. At the time of writing this is C++23.
|
||||
|
||||
### Structure
|
||||
|
||||
- `main`: Contains the main application code
|
||||
- Important to understand here is that the main ImHex application is basically just an empty shell.
|
||||
- All it does is create a Window and a OpenGL context using GLFW, load all available plugins, properly configure ImGui and render it to the screen.
|
||||
- Everything else is done inside of plugins. ImHex comes with a few plugins by default, most notably the `builtin` plugin which contains the majority of the application code.
|
||||
- In most cases, this code doesn't need to be modified. Most features should be self-contained inside a plugin.
|
||||
- `lib`
|
||||
- `libimhex`: Contains all helper utilities as well as various APIs for plugins to interact with ImHex.
|
||||
- The library's main purpose is for Dependency Inversion. The ImHex main application as well as libimhex do not know about the existence of plugins at build time. Plugins and the main application instead link against libimhex and use it as a common API to interact with each other.
|
||||
- Since libimhex is a doesn't know about the existence of plugins, it cannot depend on any of them. This includes localizations and things that get registered by plugins after launch.
|
||||
- Even if the builtin plugin is technically always available, it is still a plugin and should be treated that way.
|
||||
- All important APIs can be found in the `hex/api` include directory and are documented in the respective header file.
|
||||
- `external`: All libraries that need custom patches or aren't typically available in package managers go into here.
|
||||
- If you'd like to add new features to the Pattern language, please make a PR to https://github.com/WerWolv/PatternLanguage instead. ImHex usually depends on the latest commit of the master branch of this repo.
|
||||
- `plugins`
|
||||
- `builtin`: The builtin plugin. Contains the majority of the application code.
|
||||
- It's the heart of ImHex's functionality. It contains most of the default views, providers, etc. so if you want to add new functionality to ImHex, this is the place to start.
|
||||
- `tests`: Contains all unit tests for ImHex. These are run automatically by the CI and should be kept up to date, especially when adding new helper functions to libimhex.
|
||||
|
||||
### RomFS
|
||||
|
||||
ImHex uses a custom library called [libromfs](https://github.com/WerWolv/libromfs). It's a simple static library which uses CMake's code generation feature to embed files into the binary at compile time so they can be accessed at runtime.
|
||||
All plugins have a `romfs` folder which contains all files that should be embedded into the binary. Resources that need to be embedded into the main application (this is usually not necessary), go into the `resources/romfs` folder.
|
||||
When adding, changing files or removing files, make sure to re-run CMake to update the generated code. Otherwise, the changes might not be reflected in the binary.
|
||||
|
||||
## Development Environment
|
||||
|
||||
I personally use CLion for development since it makes configuring and building the project very easy on all platforms.
|
||||
|
||||
### Windows
|
||||
- Install MSYS2 from https://www.msys2.org/ and use the `dist/get_deps_msys2.sh` script to install all dependencies.
|
||||
### Linux
|
||||
- Install all dependencies using one of the `dist/get_deps_*.sh` scripts depending on your distribution or install them manually with your package manager.
|
||||
### macOS
|
||||
- Install all dependencies using brew and the `dist/Brewfile` script.
|
||||
|
||||
## Making Changes
|
||||
|
||||
### Adding new features to ImHex
|
||||
|
||||
If you'd like to add new features, the best way to start is by joining our Discord and telling us about your idea. We can then discuss the best way to implement it and how it should be integrated into ImHex or if it should be done in a separate plugin.
|
||||
|
||||
There are standalone plugin templates that use ImHex as a submodule. You can find them here:
|
||||
- https://github.com/WerWolv/ImHex-Cpp-Plugin-Template
|
||||
- https://github.com/WerWolv/ImHex-Rust-Plugin-Template
|
||||
|
||||
### Adding a new language
|
||||
|
||||
If you'd like to support a new language in ImHex, the best way is by using the `dist/langtool.py` tool. It will create the necessary file for you and help you fill them out.
|
||||
First, run the tool with `python3 dist/langtool.py create plugins/builtin/romfs/lang <iso_code>` where `<iso_code>` is the ISO 639-1 code of your language. This will create a new file in the language directory.
|
||||
Afterwards follow the prompts of the program to populate the entire file. Once you're done, rerun cmake and rebuild ImHex. Your language should now be available in the settings.
|
||||
|
||||
### Updating an existing language
|
||||
|
||||
If you'd like to add missing keys to an existing language, you can also use the `dist/langtool.py` tool. Run it with `python3 dist/langtool.py translate plugins/builtin/romfs/lang <iso_code>` where `<iso_code>` is the ISO 639-1 code of the language.
|
||||
This will one by one list all the missing translation keys that are present in the default translation file, and you can fill them in with the correct translation for your language.
|
||||
@@ -1,9 +1,14 @@
|
||||
<a href="https://imhex.werwolv.net"><h1 align="center" ><img height="100px" src="resources/projects/logo_text.svg"></h1></a>
|
||||
<a href="https://imhex.werwolv.net">
|
||||
<h1 align="center">
|
||||
<img height="100px" src="./resources/projects/logo_text_light.svg#gh-dark-mode-only">
|
||||
<img height="100px" src="./resources/projects/logo_text_dark.svg#gh-light-mode-only">
|
||||
</h1>
|
||||
</a>
|
||||
|
||||
<p align="center">A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.</p>
|
||||
|
||||
<p align="center">
|
||||
<a title="'Build' workflow Status" href="https://github.com/WerWolv/ImHex/actions?query=workflow%3ABuild"><img alt="'Build' workflow Status" src="https://img.shields.io/github/workflow/status/WerWolv/ImHex/Build?longCache=true&style=for-the-badge&label=Build&logoColor=fff&logo=GitHub%20Actions"></a>
|
||||
<a title="'Build' workflow Status" href="https://github.com/WerWolv/ImHex/actions?query=workflow%3ABuild"><img alt="'Build' workflow Status" src="https://img.shields.io/github/actions/workflow/status/WerWolv/ImHex/build.yml?longCache=true&style=for-the-badge&label=Build&logoColor=fff&logo=GitHub%20Actions&branch=master"></a>
|
||||
<a title="Discord Server" href="https://discord.gg/X63jZ36xBY"><img alt="Discord Server" src="https://img.shields.io/discord/789833418631675954?label=Discord&logo=Discord&style=for-the-badge"></a>
|
||||
<a title="Total Downloads" href="https://github.com/WerWolv/ImHex/releases/latest"><img alt="Total Downloads" src="https://img.shields.io/github/downloads/WerWolv/ImHex/total?longCache=true&style=for-the-badge&label=Downloads&logoColor=fff&logo=GitHub"></a>
|
||||
</p>
|
||||
|
||||
@@ -41,7 +41,7 @@ macro(addVersionDefines)
|
||||
set(IMHEX_VERSION_STRING ${IMHEX_VERSION_STRING})
|
||||
elseif (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(IMHEX_VERSION_STRING ${IMHEX_VERSION_STRING}-Debug)
|
||||
add_compile_definitions(DEBUG)
|
||||
add_compile_definitions(DEBUG _GLIBCXX_DEBUG)
|
||||
elseif (CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
||||
set(IMHEX_VERSION_STRING ${IMHEX_VERSION_STRING}-RelWithDebInfo)
|
||||
elseif (CMAKE_BUILD_TYPE STREQUAL "MinSizeRel")
|
||||
@@ -52,31 +52,6 @@ macro(addVersionDefines)
|
||||
|
||||
endmacro()
|
||||
|
||||
macro(configurePython)
|
||||
set(CMAKE_FIND_PACKAGE_SORT_ORDER NATURAL)
|
||||
set(CMAKE_FIND_PACKAGE_SORT_DIRECTION DEC)
|
||||
|
||||
# Enforce that we use non system Python 3 on macOS.
|
||||
set(Python_FIND_FRAMEWORK NEVER)
|
||||
|
||||
find_package(Python COMPONENTS Development REQUIRED)
|
||||
if(Python_VERSION LESS 3)
|
||||
message(STATUS ${PYTHON_VERSION_MAJOR_MINOR})
|
||||
message(FATAL_ERROR "No valid version of Python 3 was found.")
|
||||
endif()
|
||||
|
||||
string(REPLACE "." ";" PYTHON_VERSION_MAJOR_MINOR ${Python_VERSION})
|
||||
|
||||
list(LENGTH PYTHON_VERSION_MAJOR_MINOR PYTHON_VERSION_COMPONENT_COUNT)
|
||||
|
||||
if (PYTHON_VERSION_COMPONENT_COUNT EQUAL 3)
|
||||
list(REMOVE_AT PYTHON_VERSION_MAJOR_MINOR 2)
|
||||
endif ()
|
||||
list(JOIN PYTHON_VERSION_MAJOR_MINOR "." PYTHON_VERSION_MAJOR_MINOR)
|
||||
|
||||
add_compile_definitions(PYTHON_VERSION_MAJOR_MINOR="${PYTHON_VERSION_MAJOR_MINOR}")
|
||||
endmacro()
|
||||
|
||||
# Detect current OS / System
|
||||
macro(detectOS)
|
||||
if (WIN32)
|
||||
@@ -135,7 +110,6 @@ macro(configurePackingResources)
|
||||
if (WIN32)
|
||||
set(APPLICATION_TYPE)
|
||||
set(IMHEX_ICON "${IMHEX_BASE_FOLDER}/resources/resource.rc")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--allow-multiple-definition")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-subsystem,windows")
|
||||
|
||||
if (CREATE_PACKAGE)
|
||||
@@ -223,7 +197,6 @@ macro(createPackage)
|
||||
|
||||
# Grab all dynamically linked dependencies.
|
||||
INSTALL(CODE "set(CMAKE_INSTALL_BINDIR \"${CMAKE_INSTALL_BINDIR}\")")
|
||||
INSTALL(CODE "get_filename_component(PY_PARENT \"${Python_LIBRARIES}\" DIRECTORY)")
|
||||
INSTALL(CODE "LIST(APPEND DEP_FOLDERS \${PY_PARENT})")
|
||||
install(CODE [[
|
||||
file(GET_RUNTIME_DEPENDENCIES
|
||||
@@ -334,6 +307,7 @@ function(loadVersion version)
|
||||
set(VERSION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/VERSION")
|
||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${VERSION_FILE})
|
||||
file(READ "${VERSION_FILE}" read_version)
|
||||
string(STRIP ${read_version} read_version)
|
||||
set(${version} ${read_version} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
@@ -390,7 +364,9 @@ function(downloadImHexPatternsFiles dest)
|
||||
GIT_TAG master
|
||||
)
|
||||
|
||||
FetchContent_Populate(imhex_patterns)
|
||||
message(STATUS "Downloading ImHex-Patterns repo branch ${PATTERNS_BRANCH}...")
|
||||
FetchContent_MakeAvailable(imhex_patterns)
|
||||
message(STATUS "Finished downloading ImHex-Patterns")
|
||||
|
||||
else ()
|
||||
# Maybe patterns are cloned to a subdirectory
|
||||
@@ -407,7 +383,7 @@ function(downloadImHexPatternsFiles dest)
|
||||
endfunction()
|
||||
|
||||
macro(setupCompilerWarnings target)
|
||||
set(IMHEX_COMMON_FLAGS "-Wall -Wextra -Werror")
|
||||
set(IMHEX_COMMON_FLAGS "-Wall -Wextra -Wpedantic -Werror")
|
||||
set(IMHEX_C_FLAGS "${IMHEX_COMMON_FLAGS} -Wno-restrict -Wno-stringop-overread -Wno-stringop-overflow")
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${IMHEX_C_FLAGS}")
|
||||
@@ -426,4 +402,102 @@ macro(setUninstallTarget)
|
||||
add_custom_target(uninstall
|
||||
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|
||||
endif()
|
||||
endmacro()
|
||||
endmacro()
|
||||
|
||||
macro(addBundledLibraries)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
|
||||
set(EXTERN_LIBS_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}/lib/external")
|
||||
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/imgui)
|
||||
set_target_properties(imgui PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/microtar EXCLUDE_FROM_ALL)
|
||||
set_target_properties(microtar PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/intervaltree EXCLUDE_FROM_ALL)
|
||||
set_target_properties(intervaltree PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
set(XDGPP_INCLUDE_DIRS "${EXTERN_LIBS_FOLDER}/xdgpp")
|
||||
set(CURL_USE_MBEDTLS ON)
|
||||
set(BUILD_CURL_EXE OFF)
|
||||
set(FPHSA_NAME_MISMATCHED ON CACHE BOOL "")
|
||||
|
||||
if(NOT USE_SYSTEM_FMT)
|
||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/fmt EXCLUDE_FROM_ALL)
|
||||
set_target_properties(fmt PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set(FMT_LIBRARIES fmt::fmt-header-only)
|
||||
else()
|
||||
find_package(fmt 8.0.0 REQUIRED)
|
||||
set(FMT_LIBRARIES fmt::fmt)
|
||||
endif()
|
||||
|
||||
if (NOT USE_SYSTEM_NFD)
|
||||
set(NFD_PORTAL ON CACHE BOOL "Use Portals for Linux file dialogs" FORCE)
|
||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/nativefiledialog EXCLUDE_FROM_ALL)
|
||||
set_target_properties(nfd PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set(NFD_LIBRARIES nfd)
|
||||
else()
|
||||
find_package(nfd)
|
||||
set(NFD_LIBRARIES nfd)
|
||||
endif()
|
||||
|
||||
if(NOT USE_SYSTEM_NLOHMANN_JSON)
|
||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/nlohmann_json EXCLUDE_FROM_ALL)
|
||||
set(NLOHMANN_JSON_LIBRARIES nlohmann_json)
|
||||
else()
|
||||
find_package(nlohmann_json 3.10.2 REQUIRED)
|
||||
set(NLOHMANN_JSON_LIBRARIES nlohmann_json::nlohmann_json)
|
||||
endif()
|
||||
|
||||
if(NOT USE_SYSTEM_CURL)
|
||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/curl EXCLUDE_FROM_ALL)
|
||||
set_target_properties(libcurl PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set(LIBCURL_LIBRARIES libcurl)
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBCURL REQUIRED IMPORTED_TARGET libcurl>=7.76.1)
|
||||
endif()
|
||||
|
||||
if (NOT USE_SYSTEM_LLVM)
|
||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/llvm-demangle EXCLUDE_FROM_ALL)
|
||||
set_target_properties(LLVMDemangle PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
else()
|
||||
find_package(LLVM REQUIRED Demangle)
|
||||
endif()
|
||||
|
||||
if (NOT USE_SYSTEM_YARA)
|
||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/yara EXCLUDE_FROM_ALL)
|
||||
set_target_properties(libyara PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set(YARA_LIBRARIES libyara)
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(YARA REQUIRED IMPORTED_TARGET yara)
|
||||
endif()
|
||||
|
||||
if (NOT USE_SYSTEM_CAPSTONE)
|
||||
set(CAPSTONE_BUILD_STATIC_RUNTIME OFF CACHE BOOL "Disable shared library building")
|
||||
set(CAPSTONE_BUILD_SHARED OFF CACHE BOOL "Disable shared library building")
|
||||
set(CAPSTONE_BUILD_TESTS OFF CACHE BOOL "Disable tests")
|
||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/capstone EXCLUDE_FROM_ALL)
|
||||
set_target_properties(capstone PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set(CAPSTONE_LIBRARIES "capstone")
|
||||
set(CAPSTONE_INCLUDE_DIRS ${EXTERN_LIBS_FOLDER}/capstone/include)
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_search_module(CAPSTONE 4.0.2 REQUIRED capstone)
|
||||
endif()
|
||||
|
||||
add_subdirectory(${EXTERN_LIBS_FOLDER}/pattern_language EXCLUDE_FROM_ALL)
|
||||
set_target_properties(libpl PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
find_package(mbedTLS 2.26.0 REQUIRED)
|
||||
|
||||
pkg_search_module(MAGIC libmagic>=5.39)
|
||||
if(NOT MAGIC_FOUND)
|
||||
find_library(MAGIC 5.39 magic REQUIRED)
|
||||
else()
|
||||
set(MAGIC_INCLUDE_DIRS ${MAGIC_INCLUDEDIR})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
@@ -46,7 +46,7 @@ endfunction()
|
||||
|
||||
include(BundleUtilities)
|
||||
set(BU_CHMOD_BUNDLE_ITEMS ON)
|
||||
fixup_bundle("${BUNDLE_PATH}" "${extra_libs}" "${extra_dirs}" IGNORE_ITEM "Python")
|
||||
fixup_bundle("${BUNDLE_PATH}" "${extra_libs}" "${extra_dirs}")
|
||||
|
||||
if (CODE_SIGN_CERTIFICATE_ID)
|
||||
# Hack around Apple Silicon signing bugs by copying the real app, signing it and moving it back.
|
||||
|
||||
1
dist/AppImageBuilder.yml
vendored
1
dist/AppImageBuilder.yml
vendored
@@ -107,7 +107,6 @@ AppDir:
|
||||
- /lib/x86_64-linux-gnu/libpcre2-8.so.0
|
||||
- /lib/x86_64-linux-gnu/libpixman-1.so.0
|
||||
- /lib/x86_64-linux-gnu/libpng16.so.16
|
||||
- /lib/x86_64-linux-gnu/libpython3.10.so.1.0
|
||||
- /lib/x86_64-linux-gnu/libsasl2.so.2
|
||||
- /lib/x86_64-linux-gnu/libsensors.so.5
|
||||
- /lib/x86_64-linux-gnu/libstdc++.so.6
|
||||
|
||||
2
dist/Arch/PKGBUILD
vendored
2
dist/Arch/PKGBUILD
vendored
@@ -8,7 +8,7 @@ pkgdesc="A Hex Editor for Reverse Engineers, Programmers and people who value th
|
||||
arch=("x86_64")
|
||||
url="https://github.com/WerWolv/ImHex"
|
||||
license=('GPL2')
|
||||
depends=(glfw mbedtls python freetype2 libglvnd dbus xdg-desktop-portal curl fmt yara nlohmann-json)
|
||||
depends=(glfw mbedtls freetype2 libglvnd dbus xdg-desktop-portal curl fmt yara nlohmann-json)
|
||||
makedepends=(git)
|
||||
provides=(imhex)
|
||||
conflicts=(imhex)
|
||||
|
||||
1
dist/Brewfile
vendored
1
dist/Brewfile
vendored
@@ -2,7 +2,6 @@ brew "mbedtls"
|
||||
brew "nlohmann-json"
|
||||
brew "cmake"
|
||||
brew "ccache"
|
||||
brew "python3"
|
||||
brew "freetype2"
|
||||
brew "libmagic"
|
||||
brew "pkg-config"
|
||||
|
||||
2
dist/DEBIAN/control.in
vendored
2
dist/DEBIAN/control.in
vendored
@@ -4,7 +4,7 @@ Section: editors
|
||||
Priority: optional
|
||||
Architecture: amd64
|
||||
License: GNU GPL-2
|
||||
Depends: libglfw3, libmagic1, libmbedtls14, libpython3.10, libfreetype6, libopengl0, libdbus-1-3, xdg-desktop-portal
|
||||
Depends: libglfw3, libmagic1, libmbedtls14, libfreetype6, libopengl0, libdbus-1-3, xdg-desktop-portal
|
||||
Maintainer: WerWolv <hey@werwolv.net>
|
||||
Description: ImHex Hex Editor
|
||||
A Hex Editor for Reverse Engineers, Programmers and
|
||||
|
||||
1
dist/Dockerfile
vendored
1
dist/Dockerfile
vendored
@@ -13,7 +13,6 @@ RUN pacman -S --needed --noconfirm \
|
||||
glfw-x11 \
|
||||
file \
|
||||
mbedtls \
|
||||
python3 \
|
||||
freetype2 \
|
||||
dbus \
|
||||
xdg-desktop-portal
|
||||
|
||||
7
dist/ImHex-9999.ebuild
vendored
7
dist/ImHex-9999.ebuild
vendored
@@ -9,20 +9,15 @@ HOMEPAGE="https://github.com/WerWolv/ImHex"
|
||||
SRC_URI=""
|
||||
EGIT_REPO_URI="https://github.com/WerWolv/ImHex.git"
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8,9} )
|
||||
|
||||
inherit git-r3 python-single-r1 cmake
|
||||
inherit git-r3 cmake
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="${DEPEND}
|
||||
${PYTHON_DEPS}
|
||||
media-libs/glfw
|
||||
sys-apps/file
|
||||
dev-libs/mbedtls
|
||||
|
||||
1
dist/get_deps_archlinux.sh
vendored
1
dist/get_deps_archlinux.sh
vendored
@@ -7,7 +7,6 @@ pacman -S $@ --needed \
|
||||
glfw \
|
||||
file \
|
||||
mbedtls \
|
||||
python3 \
|
||||
freetype2 \
|
||||
dbus \
|
||||
xdg-desktop-portal \
|
||||
|
||||
1
dist/get_deps_debian.sh
vendored
1
dist/get_deps_debian.sh
vendored
@@ -19,7 +19,6 @@ apt install -y \
|
||||
libglm-dev \
|
||||
libmagic-dev \
|
||||
libmbedtls-dev \
|
||||
python3-dev \
|
||||
libfreetype-dev \
|
||||
libdbus-1-dev \
|
||||
xdg-desktop-portal
|
||||
|
||||
3
dist/get_deps_fedora.sh
vendored
3
dist/get_deps_fedora.sh
vendored
@@ -10,5 +10,4 @@ dnf install -y \
|
||||
mesa-libGL-devel \
|
||||
glfw-devel \
|
||||
lld \
|
||||
mbedtls-devel \
|
||||
python3-devel
|
||||
mbedtls-devel
|
||||
1
dist/get_deps_msys2.sh
vendored
1
dist/get_deps_msys2.sh
vendored
@@ -9,6 +9,5 @@ pacman -S --needed --noconfirm \
|
||||
mingw-w64-x86_64-glfw \
|
||||
mingw-w64-x86_64-file \
|
||||
mingw-w64-x86_64-mbedtls \
|
||||
mingw-w64-x86_64-python \
|
||||
mingw-w64-x86_64-freetype \
|
||||
mingw-w64-x86_64-dlfcn
|
||||
|
||||
104
dist/langtool.py
vendored
Normal file
104
dist/langtool.py
vendored
Normal file
@@ -0,0 +1,104 @@
|
||||
from pathlib import Path
|
||||
import sys
|
||||
import json
|
||||
|
||||
DEFAULT_LANG = "en_US"
|
||||
INVALID_TRANSLATION = "***** MISSING TRANSLATION *****"
|
||||
|
||||
|
||||
def handle_missing_key(command, lang_data, key, value):
|
||||
if command == "check":
|
||||
print(f"Error: Translation {lang_data['code']} is missing translation for key '{key}'")
|
||||
exit(2)
|
||||
elif command == "translate" or command == "create":
|
||||
print(f"Key \033[1m'{key}': '{value}'\033[0m is missing in translation '{lang_data['code']}'")
|
||||
new_value = input("Enter translation: ")
|
||||
lang_data["translations"][key] = new_value
|
||||
elif command == "update":
|
||||
lang_data["translations"][key] = INVALID_TRANSLATION
|
||||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 3:
|
||||
print(f"Usage: {Path(sys.argv[0]).name} <check|translate|update|create> <lang folder path> <language>")
|
||||
return 1
|
||||
|
||||
command = sys.argv[1]
|
||||
if command not in ["check", "translate", "update", "create"]:
|
||||
print(f"Unknown command: {command}")
|
||||
return 1
|
||||
|
||||
print(f"Using langtool in {command} mode")
|
||||
|
||||
lang_folder_path = Path(sys.argv[2])
|
||||
if not lang_folder_path.exists():
|
||||
print(f"Error: {lang_folder_path} does not exist")
|
||||
return 1
|
||||
|
||||
if not lang_folder_path.is_dir():
|
||||
print(f"Error: {lang_folder_path} is not a folder")
|
||||
return 1
|
||||
|
||||
lang = sys.argv[3] if len(sys.argv) > 3 else ""
|
||||
|
||||
print(f"Processing language files in {lang_folder_path}...")
|
||||
|
||||
default_lang_file_path = lang_folder_path / Path(DEFAULT_LANG + ".json")
|
||||
if not default_lang_file_path.exists():
|
||||
print(f"Error: Default language file {default_lang_file_path} does not exist")
|
||||
return 1
|
||||
|
||||
print(f"Using file '{default_lang_file_path.name}' as template language file")
|
||||
|
||||
with default_lang_file_path.open("r", encoding="utf-8") as default_lang_file:
|
||||
default_lang_data = json.load(default_lang_file)
|
||||
|
||||
if command == "create" and lang != "":
|
||||
lang_file_path = lang_folder_path / Path(lang + ".json")
|
||||
if lang_file_path.exists():
|
||||
print(f"Error: Language file {lang_file_path} already exists")
|
||||
return 1
|
||||
|
||||
print(f"Creating new language file '{lang_file_path.name}'")
|
||||
|
||||
with lang_file_path.open("w", encoding="utf-8") as new_lang_file:
|
||||
new_lang_data = {
|
||||
"code": lang,
|
||||
"language": input("Enter language: "),
|
||||
"country": input("Enter country: "),
|
||||
"translations": {}
|
||||
}
|
||||
json.dump(new_lang_data, new_lang_file, indent=4, ensure_ascii=False)
|
||||
|
||||
for additional_lang_file_path in lang_folder_path.glob("*.json"):
|
||||
if not lang == "" and not additional_lang_file_path.stem == lang:
|
||||
continue
|
||||
|
||||
if additional_lang_file_path.name.startswith(DEFAULT_LANG):
|
||||
continue
|
||||
|
||||
print(f"\nProcessing file '{additional_lang_file_path.name}'\n----------------------------\n")
|
||||
|
||||
with additional_lang_file_path.open("r+", encoding="utf-8") as additional_lang_file:
|
||||
additional_lang_data = json.load(additional_lang_file)
|
||||
|
||||
for key, value in default_lang_data["translations"].items():
|
||||
if key not in additional_lang_data["translations"] or additional_lang_data["translations"][key] == INVALID_TRANSLATION:
|
||||
handle_missing_key(command, additional_lang_data, key, value)
|
||||
|
||||
keys_to_remove = []
|
||||
for key, value in additional_lang_data["translations"].items():
|
||||
if key not in default_lang_data["translations"]:
|
||||
keys_to_remove.append(key)
|
||||
|
||||
for key in keys_to_remove:
|
||||
additional_lang_data["translations"].pop(key)
|
||||
print(f"Removed unused key '{key}' from translation '{additional_lang_data['code']}'")
|
||||
|
||||
additional_lang_file.seek(0)
|
||||
additional_lang_file.truncate()
|
||||
json.dump(additional_lang_data, additional_lang_file, indent=4, sort_keys=True, ensure_ascii=False)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
exit(main())
|
||||
2
dist/msys2/PKGBUILD
vendored
2
dist/msys2/PKGBUILD
vendored
@@ -7,7 +7,6 @@ pkgdesc="${_realname}: a Hex Editor for Reverse Engineers, Programmers and peopl
|
||||
arch=('any')
|
||||
url="https://github.com/WerWolv/ImHex"
|
||||
license=('GPLv2')
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-python")
|
||||
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
|
||||
"${MINGW_PACKAGE_PREFIX}-lld"
|
||||
"${MINGW_PACKAGE_PREFIX}-cmake"
|
||||
@@ -17,7 +16,6 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
|
||||
"${MINGW_PACKAGE_PREFIX}-file"
|
||||
"${MINGW_PACKAGE_PREFIX}-mbedtls"
|
||||
"${MINGW_PACKAGE_PREFIX}-polly"
|
||||
"${MINGW_PACKAGE_PREFIX}-python"
|
||||
"${MINGW_PACKAGE_PREFIX}-freetype")
|
||||
|
||||
source=()
|
||||
|
||||
4
dist/rpm/imhex.spec
vendored
4
dist/rpm/imhex.spec
vendored
@@ -1,6 +1,3 @@
|
||||
# ftbfs without this
|
||||
%global _lto_cflags %{nil}
|
||||
|
||||
Name: imhex
|
||||
Version: %{_version}
|
||||
Release: 0%{?dist}
|
||||
@@ -22,7 +19,6 @@ BuildRequires: json-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: llvm-devel
|
||||
BuildRequires: mbedtls-devel
|
||||
BuildRequires: python3-devel
|
||||
%if 0%{?fedora} >= 37
|
||||
BuildRequires: yara-devel
|
||||
%endif
|
||||
|
||||
2
lib/external/curl
vendored
2
lib/external/curl
vendored
Submodule lib/external/curl updated: 93d092867f...c12fb3ddaf
6
lib/external/imgui/include/TextEditor.h
vendored
6
lib/external/imgui/include/TextEditor.h
vendored
@@ -188,8 +188,8 @@ public:
|
||||
void SetLanguageDefinition(const LanguageDefinition& aLanguageDef);
|
||||
const LanguageDefinition& GetLanguageDefinition() const { return mLanguageDefinition; }
|
||||
|
||||
const Palette& GetPalette() const { return mPaletteBase; }
|
||||
void SetPalette(const Palette& aValue);
|
||||
static const Palette& GetPalette() { return sPaletteBase; }
|
||||
static void SetPalette(const Palette& aValue);
|
||||
|
||||
void SetErrorMarkers(const ErrorMarkers& aMarkers) { mErrorMarkers = aMarkers; }
|
||||
void SetBreakpoints(const Breakpoints& aMarkers) { mBreakpoints = aMarkers; }
|
||||
@@ -372,7 +372,7 @@ private:
|
||||
bool mIgnoreImGuiChild;
|
||||
bool mShowWhitespaces;
|
||||
|
||||
Palette mPaletteBase;
|
||||
static Palette sPaletteBase;
|
||||
Palette mPalette;
|
||||
LanguageDefinition mLanguageDefinition;
|
||||
RegexList mRegexList;
|
||||
|
||||
11
lib/external/imgui/source/TextEditor.cpp
vendored
11
lib/external/imgui/source/TextEditor.cpp
vendored
@@ -21,9 +21,10 @@ bool equals(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, Bi
|
||||
return first1 == last1 && first2 == last2;
|
||||
}
|
||||
|
||||
TextEditor::Palette TextEditor::sPaletteBase = TextEditor::GetDarkPalette();
|
||||
|
||||
TextEditor::TextEditor()
|
||||
: mLineSpacing(1.0f), mUndoIndex(0), mTabSize(4), mOverwrite(false), mReadOnly(false), mWithinRender(false), mScrollToCursor(false), mScrollToTop(false), mTextChanged(false), mColorizerEnabled(true), mTextStart(20.0f), mLeftMargin(10), mCursorPositionChanged(false), mColorRangeMin(0), mColorRangeMax(0), mSelectionMode(SelectionMode::Normal), mCheckComments(true), mLastClick(-1.0f), mHandleKeyboardInputs(true), mHandleMouseInputs(true), mIgnoreImGuiChild(false), mShowWhitespaces(true), mStartTime(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count()) {
|
||||
SetPalette(GetDarkPalette());
|
||||
SetLanguageDefinition(LanguageDefinition::HLSL());
|
||||
mLines.push_back(Line());
|
||||
}
|
||||
@@ -42,7 +43,7 @@ void TextEditor::SetLanguageDefinition(const LanguageDefinition &aLanguageDef) {
|
||||
}
|
||||
|
||||
void TextEditor::SetPalette(const Palette &aValue) {
|
||||
mPaletteBase = aValue;
|
||||
sPaletteBase = aValue;
|
||||
}
|
||||
|
||||
std::string TextEditor::GetText(const Coordinates &aStart, const Coordinates &aEnd) const {
|
||||
@@ -740,7 +741,7 @@ void TextEditor::Render() {
|
||||
|
||||
/* Update palette with the current alpha from style */
|
||||
for (int i = 0; i < (int)PaletteIndex::Max; ++i) {
|
||||
auto color = ImGui::ColorConvertU32ToFloat4(mPaletteBase[i]);
|
||||
auto color = ImGui::ColorConvertU32ToFloat4(sPaletteBase[i]);
|
||||
color.w *= ImGui::GetStyle().Alpha;
|
||||
mPalette[i] = ImGui::ColorConvertFloat4ToU32(color);
|
||||
}
|
||||
@@ -2040,7 +2041,9 @@ void TextEditor::ColorizeInternal() {
|
||||
}
|
||||
}
|
||||
}
|
||||
line[currentIndex].mPreprocessor = withinPreproc;
|
||||
if (currentIndex < line.size())
|
||||
line[currentIndex].mPreprocessor = withinPreproc;
|
||||
|
||||
currentIndex += UTF8CharLength(c);
|
||||
if (currentIndex >= (int)line.size()) {
|
||||
currentIndex = 0;
|
||||
|
||||
2
lib/external/libromfs
vendored
2
lib/external/libromfs
vendored
Submodule lib/external/libromfs updated: 53a6bf5b7a...beec45afc9
2
lib/external/nativefiledialog
vendored
2
lib/external/nativefiledialog
vendored
Submodule lib/external/nativefiledialog updated: d4df2b6ad5...6efc824070
2
lib/external/pattern_language
vendored
2
lib/external/pattern_language
vendored
Submodule lib/external/pattern_language updated: 239b26b573...b5694bea25
25
lib/external/yara/CMakeLists.txt
vendored
25
lib/external/yara/CMakeLists.txt
vendored
@@ -95,23 +95,24 @@ set(LIBYARA_MODULES
|
||||
${LIBYARA_SOURCE_PATH}/modules/time/time.c
|
||||
)
|
||||
|
||||
# Add mbedtls crypto wrappers
|
||||
add_compile_definitions("HAVE_MBEDTLS")
|
||||
|
||||
add_compile_definitions("USE_NO_PROC")
|
||||
|
||||
add_compile_definitions("HASH_MODULE")
|
||||
add_compile_definitions("DOTNET_MODULE")
|
||||
add_compile_definitions("MAGIC_MODULE")
|
||||
add_compile_definitions("MACHO_MODULE")
|
||||
add_compile_definitions("DEX_MODULE")
|
||||
|
||||
find_package(mbedTLS 2.26.0 REQUIRED)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-shift-count-overflow")
|
||||
add_library(libyara STATIC ${LIBYARA_SOURCE} ${LIBYARA_INCLUDES} ${LIBYARA_MODULES})
|
||||
set_property(TARGET libyara PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
# Add mbedtls crypto wrappers
|
||||
target_compile_definitions(libyara PRIVATE HAVE_MBEDTLS)
|
||||
|
||||
target_compile_definitions(libyara PRIVATE USE_NO_PROC)
|
||||
|
||||
target_compile_definitions(libyara PRIVATE HASH_MODULE)
|
||||
target_compile_definitions(libyara PRIVATE DOTNET_MODULE)
|
||||
target_compile_definitions(libyara PRIVATE MAGIC_MODULE)
|
||||
target_compile_definitions(libyara PRIVATE MACHO_MODULE)
|
||||
target_compile_definitions(libyara PRIVATE DEX_MODULE)
|
||||
|
||||
target_compile_options(libyara PRIVATE "-Wno-shift-count-overflow")
|
||||
|
||||
target_include_directories(
|
||||
libyara
|
||||
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/yara> $<BUILD_INTERFACE:${LIBYARA_SOURCE_PATH}/include> $<INSTALL_INTERFACE:include>
|
||||
|
||||
@@ -1,115 +1,7 @@
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(libimhex)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
|
||||
set(BUILD_SHARED_LIBS OFF)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/imgui ${CMAKE_CURRENT_BINARY_DIR}/external/imgui)
|
||||
set_target_properties(imgui PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/microtar ${CMAKE_CURRENT_BINARY_DIR}/external/microtar EXCLUDE_FROM_ALL)
|
||||
set_target_properties(microtar PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
set(LIBROMFS_RESOURCE_LOCATION ${IMHEX_BASE_FOLDER}/resources/romfs)
|
||||
set(LIBROMFS_PROJECT_NAME imhex)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/libromfs ${CMAKE_CURRENT_BINARY_DIR}/external/libromfs EXCLUDE_FROM_ALL)
|
||||
set_target_properties(${LIBROMFS_LIBRARY} PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/intervaltree ${CMAKE_CURRENT_BINARY_DIR}/external/intervaltree EXCLUDE_FROM_ALL)
|
||||
set_target_properties(intervaltree PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
set(XDGPP_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/../external/xdgpp")
|
||||
set(CURL_USE_MBEDTLS ON)
|
||||
set(BUILD_CURL_EXE OFF)
|
||||
set(FPHSA_NAME_MISMATCHED ON CACHE BOOL "")
|
||||
|
||||
# Find packages
|
||||
find_package(PkgConfig REQUIRED)
|
||||
|
||||
if (NOT USE_SYSTEM_NFD)
|
||||
set(NFD_PORTAL ON CACHE BOOL "Use Portals for Linux file dialogs" FORCE)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/nativefiledialog ${CMAKE_CURRENT_BINARY_DIR}/external/nativefiledialog EXCLUDE_FROM_ALL)
|
||||
set_target_properties(nfd PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set(NFD_LIBRARIES nfd)
|
||||
else()
|
||||
find_package(nfd)
|
||||
set(NFD_LIBRARIES nfd)
|
||||
endif()
|
||||
|
||||
if(NOT USE_SYSTEM_NLOHMANN_JSON)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/nlohmann_json ${CMAKE_CURRENT_BINARY_DIR}/external/nlohmann_json EXCLUDE_FROM_ALL)
|
||||
set(NLOHMANN_JSON_LIBRARIES nlohmann_json)
|
||||
else()
|
||||
find_package(nlohmann_json 3.10.2 REQUIRED)
|
||||
set(NLOHMANN_JSON_LIBRARIES nlohmann_json::nlohmann_json)
|
||||
endif()
|
||||
|
||||
if(NOT USE_SYSTEM_FMT)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/fmt ${CMAKE_CURRENT_BINARY_DIR}/external/fmt EXCLUDE_FROM_ALL)
|
||||
set_target_properties(fmt PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set(FMT_LIBRARIES fmt-header-only)
|
||||
else()
|
||||
find_package(fmt 8.0.0 REQUIRED)
|
||||
set(FMT_LIBRARIES fmt::fmt)
|
||||
endif()
|
||||
|
||||
if(NOT USE_SYSTEM_CURL)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/curl ${CMAKE_CURRENT_BINARY_DIR}/external/curl EXCLUDE_FROM_ALL)
|
||||
set_target_properties(libcurl PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set(LIBCURL_LIBRARIES libcurl)
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBCURL REQUIRED IMPORTED_TARGET libcurl>=7.76.1)
|
||||
endif()
|
||||
|
||||
if (NOT USE_SYSTEM_LLVM)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/llvm-demangle ${CMAKE_CURRENT_BINARY_DIR}/external/llvm-demangle EXCLUDE_FROM_ALL)
|
||||
set_target_properties(LLVMDemangle PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
else()
|
||||
find_package(LLVM REQUIRED Demangle)
|
||||
endif()
|
||||
|
||||
if (NOT USE_SYSTEM_YARA)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/yara ${CMAKE_CURRENT_BINARY_DIR}/external/yara EXCLUDE_FROM_ALL)
|
||||
set_target_properties(libyara PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set(YARA_LIBRARIES libyara)
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(YARA REQUIRED IMPORTED_TARGET yara)
|
||||
endif()
|
||||
|
||||
if (NOT USE_SYSTEM_CAPSTONE)
|
||||
set(CAPSTONE_BUILD_STATIC_RUNTIME OFF CACHE BOOL "Disable shared library building")
|
||||
set(CAPSTONE_BUILD_SHARED OFF CACHE BOOL "Disable shared library building")
|
||||
set(CAPSTONE_BUILD_TESTS OFF CACHE BOOL "Disable tests")
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/capstone ${CMAKE_CURRENT_BINARY_DIR}/external/capstone EXCLUDE_FROM_ALL)
|
||||
set_target_properties(capstone PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
set(CAPSTONE_LIBRARIES "capstone")
|
||||
set(CAPSTONE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../external/capstone/include)
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_search_module(CAPSTONE 4.0.2 REQUIRED capstone)
|
||||
endif()
|
||||
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../external/pattern_language ${CMAKE_CURRENT_BINARY_DIR}/external/pattern_language EXCLUDE_FROM_ALL)
|
||||
set_target_properties(libpl PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
find_package(mbedTLS 2.26.0 REQUIRED)
|
||||
configurePython()
|
||||
|
||||
pkg_search_module(MAGIC libmagic>=5.39)
|
||||
if(NOT MAGIC_FOUND)
|
||||
find_library(MAGIC 5.39 magic REQUIRED)
|
||||
else()
|
||||
set(MAGIC_INCLUDE_DIRS ${MAGIC_INCLUDEDIR})
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||
|
||||
if (WIN32)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--export-all-symbols")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_STANDARD 23)
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX "")
|
||||
|
||||
set(LIBIMHEX_SOURCES
|
||||
@@ -121,6 +13,7 @@ set(LIBIMHEX_SOURCES
|
||||
source/api/plugin_manager.cpp
|
||||
source/api/localization.cpp
|
||||
source/api/project_file_manager.cpp
|
||||
source/api/theme_manager.cpp
|
||||
|
||||
source/data_processor/attribute.cpp
|
||||
source/data_processor/link.cpp
|
||||
@@ -137,7 +30,6 @@ set(LIBIMHEX_SOURCES
|
||||
source/helpers/encoding_file.cpp
|
||||
source/helpers/logger.cpp
|
||||
source/helpers/tar.cpp
|
||||
source/helpers/types.cpp
|
||||
|
||||
source/providers/provider.cpp
|
||||
|
||||
@@ -166,13 +58,16 @@ add_library(libimhex SHARED ${LIBIMHEX_SOURCES})
|
||||
set_target_properties(libimhex PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
setupCompilerWarnings(libimhex)
|
||||
|
||||
target_include_directories(libimhex PUBLIC include ${XDGPP_INCLUDE_DIRS} ${MBEDTLS_INCLUDE_DIRS} ${CAPSTONE_INCLUDE_DIRS} ${MAGIC_INCLUDE_DIRS} ${Python_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${FMT_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} ${YARA_INCLUDE_DIRS})
|
||||
|
||||
target_include_directories(libimhex PUBLIC include ${XDGPP_INCLUDE_DIRS} ${MBEDTLS_INCLUDE_DIRS} ${CAPSTONE_INCLUDE_DIRS} ${MAGIC_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${FMT_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} ${YARA_INCLUDE_DIRS})
|
||||
target_link_directories(libimhex PUBLIC ${MBEDTLS_LIBRARY_DIR} ${CAPSTONE_LIBRARY_DIRS} ${MAGIC_LIBRARY_DIRS})
|
||||
|
||||
if (APPLE)
|
||||
if (WIN32)
|
||||
target_link_options(libimhex PRIVATE -Wl,--export-all-symbols)
|
||||
elseif (APPLE)
|
||||
find_library(FOUNDATION NAMES Foundation)
|
||||
target_link_libraries(libimhex PUBLIC ${FOUNDATION})
|
||||
endif ()
|
||||
|
||||
target_link_libraries(libimhex PUBLIC dl imgui ${NFD_LIBRARIES} magic ${CAPSTONE_LIBRARIES} LLVMDemangle microtar ${NLOHMANN_JSON_LIBRARIES} ${YARA_LIBRARIES} ${LIBCURL_LIBRARIES} ${MBEDTLS_LIBRARIES} ${FMT_LIBRARIES} ${Python_LIBRARIES} libpl intervaltree)
|
||||
target_link_libraries(libimhex PRIVATE libromfs-imhex)
|
||||
target_link_libraries(libimhex PRIVATE ${FMT_LIBRARIES})
|
||||
target_link_libraries(libimhex PUBLIC dl imgui ${NFD_LIBRARIES} magic ${CAPSTONE_LIBRARIES} LLVMDemangle microtar ${NLOHMANN_JSON_LIBRARIES} ${YARA_LIBRARIES} ${LIBCURL_LIBRARIES} ${MBEDTLS_LIBRARIES} libpl intervaltree)
|
||||
|
||||
@@ -254,8 +254,7 @@ namespace hex {
|
||||
|
||||
/* Language Registry. Allows together with the LangEntry class and the _lang user defined literal to add new languages */
|
||||
namespace Language {
|
||||
void registerLanguage(const std::string &name, const std::string &languageCode);
|
||||
void addLocalizations(const std::string &languageCode, const LanguageDefinition &definition);
|
||||
void addLocalization(const nlohmann::json &data);
|
||||
|
||||
std::map<std::string, std::string> &getLanguages();
|
||||
std::map<std::string, std::vector<LanguageDefinition>> &getLanguageDefinitions();
|
||||
|
||||
@@ -80,7 +80,9 @@ namespace hex {
|
||||
|
||||
if (iter != s_tokenStore.end()) {
|
||||
s_events.remove(*iter->second);
|
||||
s_tokenStore.erase(iter);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
template<typename E>
|
||||
@@ -128,7 +130,7 @@ namespace hex {
|
||||
EVENT_DEF(RequestCloseImHex, bool);
|
||||
EVENT_DEF(RequestRestartImHex);
|
||||
EVENT_DEF(RequestOpenFile, std::fs::path);
|
||||
EVENT_DEF(RequestChangeTheme, u32);
|
||||
EVENT_DEF(RequestChangeTheme, std::string);
|
||||
EVENT_DEF(RequestOpenPopup, std::string);
|
||||
EVENT_DEF(RequestCreateProvider, std::string, bool, hex::prv::Provider **);
|
||||
|
||||
|
||||
@@ -191,12 +191,6 @@ namespace hex {
|
||||
char **envp;
|
||||
};
|
||||
|
||||
enum class Theme {
|
||||
Dark = 1,
|
||||
Light = 2,
|
||||
Classic = 3
|
||||
};
|
||||
|
||||
const ProgramArguments &getProgramArguments();
|
||||
std::optional<std::u8string> getProgramArgument(int index);
|
||||
|
||||
@@ -218,9 +212,6 @@ namespace hex {
|
||||
const std::filesystem::path &getCustomFontPath();
|
||||
float getFontSize();
|
||||
|
||||
void setTheme(Theme theme);
|
||||
Theme getTheme();
|
||||
|
||||
void enableSystemThemeDetection(bool enabled);
|
||||
bool usesSystemThemeDetection();
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace hex {
|
||||
|
||||
class LanguageDefinition {
|
||||
public:
|
||||
LanguageDefinition(std::initializer_list<std::pair<std::string, std::string>> entries);
|
||||
explicit LanguageDefinition(std::map<std::string, std::string> &&entries);
|
||||
|
||||
[[nodiscard]] const std::map<std::string, std::string> &getEntries() const;
|
||||
|
||||
|
||||
@@ -33,6 +33,8 @@ namespace hex {
|
||||
static bool load(const std::fs::path &filePath);
|
||||
static bool store(std::optional<std::fs::path> filePath = std::nullopt);
|
||||
|
||||
static bool hasPath();
|
||||
|
||||
static void registerHandler(const Handler &handler) {
|
||||
getHandlers().push_back(handler);
|
||||
}
|
||||
|
||||
@@ -102,16 +102,20 @@ namespace hex {
|
||||
static void collectGarbage();
|
||||
|
||||
static size_t getRunningTaskCount();
|
||||
static size_t getRunningBackgroundTaskCount();
|
||||
static std::list<std::shared_ptr<Task>> &getRunningTasks();
|
||||
|
||||
static void doLater(const std::function<void()> &function);
|
||||
static void runDeferredCalls();
|
||||
|
||||
static void runWhenTasksFinished(const std::function<void()> &function);
|
||||
private:
|
||||
static std::mutex s_deferredCallsMutex;
|
||||
static std::mutex s_deferredCallsMutex, s_tasksFinishedMutex;
|
||||
|
||||
static std::list<std::shared_ptr<Task>> s_tasks;
|
||||
static std::list<std::shared_ptr<Task>> s_taskQueue;
|
||||
static std::list<std::function<void()>> s_deferredCalls;
|
||||
static std::list<std::function<void()>> s_tasksFinishedCallbacks;
|
||||
|
||||
static std::mutex s_queueMutex;
|
||||
static std::condition_variable s_jobCondVar;
|
||||
|
||||
35
lib/libimhex/include/hex/api/theme_manager.hpp
Normal file
35
lib/libimhex/include/hex/api/theme_manager.hpp
Normal file
@@ -0,0 +1,35 @@
|
||||
#pragma once
|
||||
|
||||
#include <hex.hpp>
|
||||
#include <hex/helpers/fs.hpp>
|
||||
|
||||
#include <string>
|
||||
|
||||
#include <nlohmann/json_fwd.hpp>
|
||||
#include <imgui.h>
|
||||
|
||||
namespace hex::api {
|
||||
|
||||
class ThemeManager {
|
||||
public:
|
||||
constexpr static auto NativeTheme = "Native";
|
||||
|
||||
static void changeTheme(std::string name);
|
||||
|
||||
static void addTheme(const std::string &content);
|
||||
static void addThemeHandler(const std::string &name, const std::function<void(std::string, std::string)> &handler);
|
||||
static void addStyleHandler(const std::string &name, const std::function<void(std::string, std::string)> &handler);
|
||||
|
||||
static std::vector<std::string> getThemeNames();
|
||||
static const std::string &getThemeImagePostfix();
|
||||
|
||||
static std::optional<ImColor> parseColorString(const std::string &colorString);
|
||||
private:
|
||||
ThemeManager() = default;
|
||||
|
||||
static std::map<std::string, nlohmann::json> s_themes;
|
||||
static std::map<std::string, std::function<void(std::string, std::string)>> s_themeHandlers, s_styleHandlers;
|
||||
static std::string s_imagePostfix;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -90,7 +90,6 @@ namespace hex::fs {
|
||||
Patterns = 0,
|
||||
PatternsInclude,
|
||||
Magic,
|
||||
Python,
|
||||
Plugins,
|
||||
Yara,
|
||||
Config,
|
||||
@@ -101,6 +100,7 @@ namespace hex::fs {
|
||||
Recent,
|
||||
Scripts,
|
||||
Inspectors,
|
||||
Themes,
|
||||
|
||||
END
|
||||
};
|
||||
|
||||
@@ -17,8 +17,8 @@ namespace hex::magic {
|
||||
|
||||
bool compile();
|
||||
std::string getDescription(const std::vector<u8> &data);
|
||||
std::string getDescription(prv::Provider *provider, size_t size = 5_MiB);
|
||||
std::string getDescription(prv::Provider *provider, size_t size = 100_KiB);
|
||||
std::string getMIMEType(const std::vector<u8> &data);
|
||||
std::string getMIMEType(prv::Provider *provider, size_t size = 5_MiB);
|
||||
std::string getMIMEType(prv::Provider *provider, size_t size = 100_KiB);
|
||||
|
||||
}
|
||||
@@ -10,13 +10,12 @@
|
||||
#include <atomic>
|
||||
|
||||
#include <nlohmann/json_fwd.hpp>
|
||||
#include <curl/curl.h>
|
||||
#include <curl/system.h>
|
||||
#include <mbedtls/ssl.h>
|
||||
|
||||
#include <hex/helpers/fs.hpp>
|
||||
|
||||
using CURL = void;
|
||||
struct curl_slist;
|
||||
|
||||
namespace hex {
|
||||
|
||||
@@ -38,8 +37,10 @@ namespace hex {
|
||||
|
||||
constexpr static u32 DefaultTimeout = 2'000;
|
||||
|
||||
std::future<Response<std::string>> getString(const std::string &url, u32 timeout = DefaultTimeout);
|
||||
std::future<Response<nlohmann::json>> getJson(const std::string &url, u32 timeout = DefaultTimeout);
|
||||
std::future<Response<std::string>> getString(const std::string &url, u32 timeout = DefaultTimeout, const std::map<std::string, std::string> &extraHeaders = {}, const std::string &body = {});
|
||||
std::future<Response<nlohmann::json>> getJson(const std::string &url, u32 timeout = DefaultTimeout, const std::map<std::string, std::string> &extraHeaders = {}, const std::string &body = {});
|
||||
|
||||
std::future<Response<nlohmann::json>> postJson(const std::string &url, u32 timeout = DefaultTimeout, const std::map<std::string, std::string> &extraHeaders = {}, const std::string &body = {});
|
||||
|
||||
std::future<Response<std::string>> uploadFile(const std::string &url, const std::fs::path &filePath, u32 timeout = DefaultTimeout);
|
||||
std::future<Response<void>> downloadFile(const std::string &url, const std::fs::path &filePath, u32 timeout = DefaultTimeout);
|
||||
@@ -52,12 +53,14 @@ namespace hex {
|
||||
void cancel() { this->m_shouldCancel = true; }
|
||||
|
||||
static void setProxy(const std::string &url);
|
||||
static void setCACert(const std::string &content);
|
||||
|
||||
private:
|
||||
void setCommonSettings(std::string &response, const std::string &url, u32 timeout = 2000, const std::map<std::string, std::string> &extraHeaders = {}, const std::string &body = {});
|
||||
std::optional<i32> execute();
|
||||
|
||||
friend int progressCallback(void *contents, curl_off_t dlTotal, curl_off_t dlNow, curl_off_t ulTotal, curl_off_t ulNow);
|
||||
friend CURLcode sslCtxFunction(CURL *ctx, void *sslctx, void *userData);
|
||||
|
||||
private:
|
||||
CURL *m_ctx;
|
||||
@@ -69,6 +72,7 @@ namespace hex {
|
||||
bool m_shouldCancel = false;
|
||||
|
||||
static std::string s_proxyUrl;
|
||||
static std::string s_caCert;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -23,14 +23,33 @@ namespace hex {
|
||||
u64 address;
|
||||
size_t size;
|
||||
|
||||
[[nodiscard]] bool isWithin(const Region &other) const;
|
||||
[[nodiscard]] bool overlaps(const Region &other) const;
|
||||
[[nodiscard]] constexpr bool isWithin(const Region &other) const {
|
||||
if (*this == Invalid() || other == Invalid())
|
||||
return false;
|
||||
|
||||
[[nodiscard]] u64 getStartAddress() const;
|
||||
[[nodiscard]] u64 getEndAddress() const;
|
||||
[[nodiscard]] size_t getSize() const;
|
||||
if (this->getStartAddress() >= other.getStartAddress() && this->getEndAddress() <= other.getEndAddress())
|
||||
return true;
|
||||
|
||||
bool operator==(const Region &other) const;
|
||||
return false;
|
||||
}
|
||||
|
||||
[[nodiscard]] constexpr bool overlaps(const Region &other) const {
|
||||
if (*this == Invalid() || other == Invalid())
|
||||
return false;
|
||||
|
||||
if (this->getEndAddress() >= other.getStartAddress() && this->getStartAddress() <= other.getEndAddress())
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
[[nodiscard]] constexpr u64 getStartAddress() const { return this->address; }
|
||||
[[nodiscard]] constexpr u64 getEndAddress() const { return this->address + this->size - 1;}
|
||||
[[nodiscard]] constexpr size_t getSize() const { return this->size; }
|
||||
|
||||
[[nodiscard]] constexpr bool operator==(const Region &other) const {
|
||||
return this->address == other.address && this->size == other.size;
|
||||
}
|
||||
|
||||
constexpr static Region Invalid() {
|
||||
return { 0, 0 };
|
||||
|
||||
@@ -245,9 +245,15 @@ namespace hex {
|
||||
runtime.reset();
|
||||
|
||||
if (provider != nullptr) {
|
||||
runtime.setDataSource([provider](u64 offset, u8 *buffer, size_t size) {
|
||||
provider->read(offset, buffer, size);
|
||||
}, provider->getBaseAddress(), provider->getActualSize());
|
||||
runtime.setDataSource(provider->getBaseAddress(), provider->getActualSize(),
|
||||
[provider](u64 offset, u8 *buffer, size_t size) {
|
||||
provider->read(offset, buffer, size);
|
||||
},
|
||||
[provider](u64 offset, const u8 *buffer, size_t size) {
|
||||
if (provider->isWritable())
|
||||
provider->write(offset, buffer, size);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
runtime.setIncludePaths(fs::getDefaultPaths(fs::ImHexPath::PatternsInclude) | fs::getDefaultPaths(fs::ImHexPath::Patterns));
|
||||
@@ -393,16 +399,42 @@ namespace hex {
|
||||
|
||||
namespace ContentRegistry::Language {
|
||||
|
||||
void registerLanguage(const std::string &name, const std::string &languageCode) {
|
||||
log::debug("Registered new language: {} ({})", name, languageCode);
|
||||
void addLocalization(const nlohmann::json &data) {
|
||||
if (!data.contains("code") || !data.contains("country") || !data.contains("language") || !data.contains("translations")) {
|
||||
log::error("Localization data is missing required fields!");
|
||||
return;
|
||||
}
|
||||
|
||||
getLanguages().insert({ languageCode, name });
|
||||
}
|
||||
const auto &code = data["code"];
|
||||
const auto &country = data["country"];
|
||||
const auto &language = data["language"];
|
||||
const auto &translations = data["translations"];
|
||||
|
||||
void addLocalizations(const std::string &languageCode, const LanguageDefinition &definition) {
|
||||
log::debug("Registered new localization for language {} with {} entries", languageCode, definition.getEntries().size());
|
||||
if (!code.is_string() || !country.is_string() || !language.is_string() || !translations.is_object()) {
|
||||
log::error("Localization data has invalid fields!");
|
||||
return;
|
||||
}
|
||||
|
||||
getLanguageDefinitions()[languageCode].push_back(definition);
|
||||
if (data.contains("fallback")) {
|
||||
const auto &fallback = data["fallback"];
|
||||
|
||||
if (fallback.is_boolean() && fallback.get<bool>())
|
||||
LangEntry::setFallbackLanguage(code.get<std::string>());
|
||||
}
|
||||
|
||||
getLanguages().insert({ code.get<std::string>(), hex::format("{} ({})", language.get<std::string>(), country.get<std::string>()) });
|
||||
|
||||
std::map<std::string, std::string> translationDefinitions;
|
||||
for (auto &[key, value] : translations.items()) {
|
||||
if (!value.is_string()) {
|
||||
log::error("Localization data has invalid fields!");
|
||||
continue;
|
||||
}
|
||||
|
||||
translationDefinitions[key] = value.get<std::string>();
|
||||
}
|
||||
|
||||
getLanguageDefinitions()[code.get<std::string>()].emplace_back(std::move(translationDefinitions));
|
||||
}
|
||||
|
||||
std::map<std::string, std::string> &getLanguages() {
|
||||
|
||||
@@ -312,17 +312,19 @@ namespace hex {
|
||||
|
||||
EventManager::post<EventProviderDeleted>(provider);
|
||||
|
||||
s_providers.erase(it);
|
||||
if (!s_providers.empty() && it - s_providers.begin() == s_currentProvider)
|
||||
setCurrentProvider(0);
|
||||
|
||||
s_providers.erase(it);
|
||||
if (s_providers.empty())
|
||||
EventManager::post<EventProviderChanged>(provider, nullptr);
|
||||
else if (it - s_providers.begin() == s_currentProvider)
|
||||
setCurrentProvider(0);
|
||||
|
||||
provider->close();
|
||||
EventManager::post<EventProviderClosed>(provider);
|
||||
|
||||
delete provider;
|
||||
TaskManager::runWhenTasksFinished([provider] {
|
||||
delete provider;
|
||||
});
|
||||
}
|
||||
|
||||
prv::Provider* createProvider(const std::string &unlocalizedName, bool skipLoadInterface) {
|
||||
@@ -478,19 +480,8 @@ namespace hex {
|
||||
}
|
||||
|
||||
|
||||
static Theme s_theme;
|
||||
static bool s_systemThemeDetection;
|
||||
|
||||
void setTheme(Theme theme) {
|
||||
s_theme = theme;
|
||||
|
||||
EventManager::post<EventSettingsChanged>();
|
||||
}
|
||||
|
||||
Theme getTheme() {
|
||||
return s_theme;
|
||||
}
|
||||
|
||||
|
||||
void enableSystemThemeDetection(bool enabled) {
|
||||
s_systemThemeDetection = enabled;
|
||||
|
||||
@@ -7,9 +7,14 @@ namespace hex {
|
||||
std::string LangEntry::s_fallbackLanguage;
|
||||
std::map<std::string, std::string> LangEntry::s_currStrings;
|
||||
|
||||
LanguageDefinition::LanguageDefinition(std::initializer_list<std::pair<std::string, std::string>> entries) {
|
||||
for (const auto &pair : entries)
|
||||
this->m_entries.insert(pair);
|
||||
LanguageDefinition::LanguageDefinition(std::map<std::string, std::string> &&entries) {
|
||||
for (const auto &[key, value] : entries) {
|
||||
if (value == "***** MISSING TRANSLATION *****")
|
||||
continue;
|
||||
|
||||
this->m_entries.insert({ key, value });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const std::map<std::string, std::string> &LanguageDefinition::getEntries() const {
|
||||
|
||||
@@ -113,9 +113,15 @@ namespace hex {
|
||||
tar.write(MetadataPath, metadataContent);
|
||||
}
|
||||
|
||||
ProjectFile::s_currProjectPath = filePath.value();
|
||||
|
||||
ImHexApi::Provider::resetDirty();
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
bool ProjectFile::hasPath() {
|
||||
return !ProjectFile::s_currProjectPath.empty();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,10 +8,11 @@
|
||||
|
||||
namespace hex {
|
||||
|
||||
std::mutex TaskManager::s_deferredCallsMutex;
|
||||
std::mutex TaskManager::s_deferredCallsMutex, TaskManager::s_tasksFinishedMutex;
|
||||
|
||||
std::list<std::shared_ptr<Task>> TaskManager::s_tasks, TaskManager::s_taskQueue;
|
||||
std::list<std::function<void()>> TaskManager::s_deferredCalls;
|
||||
std::list<std::function<void()>> TaskManager::s_tasksFinishedCallbacks;
|
||||
|
||||
std::mutex TaskManager::s_queueMutex;
|
||||
std::condition_variable TaskManager::s_jobCondVar;
|
||||
@@ -238,8 +239,16 @@ namespace hex {
|
||||
}
|
||||
|
||||
void TaskManager::collectGarbage() {
|
||||
std::unique_lock lock(s_queueMutex);
|
||||
std::unique_lock lock1(s_queueMutex);
|
||||
std::unique_lock lock2(s_deferredCallsMutex);
|
||||
|
||||
std::erase_if(s_tasks, [](const auto &task) { return task->isFinished() && !task->hadException(); });
|
||||
|
||||
if (s_tasks.empty()) {
|
||||
for (auto &call : s_tasksFinishedCallbacks)
|
||||
call();
|
||||
s_tasksFinishedCallbacks.clear();
|
||||
}
|
||||
}
|
||||
|
||||
std::list<std::shared_ptr<Task>> &TaskManager::getRunningTasks() {
|
||||
@@ -254,6 +263,14 @@ namespace hex {
|
||||
});
|
||||
}
|
||||
|
||||
size_t TaskManager::getRunningBackgroundTaskCount() {
|
||||
std::unique_lock lock(s_queueMutex);
|
||||
|
||||
return std::count_if(s_tasks.begin(), s_tasks.end(), [](const auto &task){
|
||||
return task->isBackgroundTask();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
void TaskManager::doLater(const std::function<void()> &function) {
|
||||
std::scoped_lock lock(s_deferredCallsMutex);
|
||||
@@ -270,4 +287,10 @@ namespace hex {
|
||||
s_deferredCalls.clear();
|
||||
}
|
||||
|
||||
void TaskManager::runWhenTasksFinished(const std::function<void()> &function) {
|
||||
std::scoped_lock lock(s_tasksFinishedMutex);
|
||||
|
||||
s_tasksFinishedCallbacks.push_back(function);
|
||||
}
|
||||
|
||||
}
|
||||
118
lib/libimhex/source/api/theme_manager.cpp
Normal file
118
lib/libimhex/source/api/theme_manager.cpp
Normal file
@@ -0,0 +1,118 @@
|
||||
#include <hex/api/theme_manager.hpp>
|
||||
|
||||
#include <hex/helpers/logger.hpp>
|
||||
#include <hex/helpers/utils.hpp>
|
||||
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
namespace hex::api {
|
||||
|
||||
std::map<std::string, nlohmann::json> ThemeManager::s_themes;
|
||||
std::map<std::string, std::function<void(std::string, std::string)>> ThemeManager::s_themeHandlers, ThemeManager::s_styleHandlers;
|
||||
std::string ThemeManager::s_imagePostfix;
|
||||
|
||||
void ThemeManager::addThemeHandler(const std::string &name, const std::function<void(std::string, std::string)> &handler) {
|
||||
s_themeHandlers[name] = handler;
|
||||
}
|
||||
|
||||
void ThemeManager::addStyleHandler(const std::string &name, const std::function<void(std::string, std::string)> &handler) {
|
||||
s_styleHandlers[name] = handler;
|
||||
}
|
||||
|
||||
void ThemeManager::addTheme(const std::string &content) {
|
||||
auto theme = nlohmann::json::parse(content);
|
||||
if (theme.contains("name") && theme.contains("colors")) {
|
||||
s_themes[theme["name"].get<std::string>()] = theme;
|
||||
} else {
|
||||
hex::log::error("Invalid theme file");
|
||||
}
|
||||
}
|
||||
|
||||
std::optional<ImColor> ThemeManager::parseColorString(const std::string &colorString) {
|
||||
if (colorString.length() != 9 || colorString[0] != '#')
|
||||
return std::nullopt;
|
||||
|
||||
u32 color = 0;
|
||||
|
||||
for (u32 i = 1; i < 9; i++) {
|
||||
color <<= 4;
|
||||
if (colorString[i] >= '0' && colorString[i] <= '9')
|
||||
color |= colorString[i] - '0';
|
||||
else if (colorString[i] >= 'A' && colorString[i] <= 'F')
|
||||
color |= colorString[i] - 'A' + 10;
|
||||
else if (colorString[i] >= 'a' && colorString[i] <= 'f')
|
||||
color |= colorString[i] - 'a' + 10;
|
||||
else
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
return ImColor(hex::changeEndianess(color, std::endian::big));
|
||||
}
|
||||
|
||||
void ThemeManager::changeTheme(std::string name) {
|
||||
if (!s_themes.contains(name)) {
|
||||
if (s_themes.empty()) {
|
||||
hex::log::error("Theme '{}' does not exist and no other themes are available!", name);
|
||||
return;
|
||||
} else {
|
||||
const std::string &defaultTheme = s_themes.begin()->first;
|
||||
hex::log::error("Theme '{}' does not exist, using default theme '{}' instead!", name, defaultTheme);
|
||||
name = defaultTheme;
|
||||
}
|
||||
}
|
||||
|
||||
const auto &theme = s_themes[name];
|
||||
|
||||
if (theme.contains("base")) {
|
||||
if (theme["base"].is_string()) {
|
||||
changeTheme(theme["base"].get<std::string>());
|
||||
} else {
|
||||
hex::log::error("Theme '{}' has invalid base theme!", name);
|
||||
}
|
||||
}
|
||||
|
||||
if (theme.contains("colors")) {
|
||||
for (const auto&[type, content] : theme["colors"].items()) {
|
||||
if (!s_themeHandlers.contains(type)) {
|
||||
log::warn("No theme handler found for '{}'", type);
|
||||
continue;
|
||||
}
|
||||
|
||||
for (const auto &[key, value] : content.items())
|
||||
s_themeHandlers[type](key, value.get<std::string>());
|
||||
}
|
||||
}
|
||||
|
||||
if (theme.contains("styles")) {
|
||||
for (const auto&[key, value] : theme["styles"].items()) {
|
||||
if (!s_styleHandlers.contains(key)) {
|
||||
log::warn("No style handler found for '{}'", key);
|
||||
continue;
|
||||
}
|
||||
|
||||
s_styleHandlers[key](name, value.get<std::string>());
|
||||
}
|
||||
}
|
||||
|
||||
if (theme.contains("image_postfix")) {
|
||||
if (theme["image_postfix"].is_string()) {
|
||||
s_imagePostfix = theme["image_postfix"].get<std::string>();
|
||||
} else {
|
||||
hex::log::error("Theme '{}' has invalid image postfix!", name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const std::string &ThemeManager::getThemeImagePostfix() {
|
||||
return s_imagePostfix;
|
||||
}
|
||||
|
||||
std::vector<std::string> ThemeManager::getThemeNames() {
|
||||
std::vector<std::string> themeNames;
|
||||
for (const auto &[name, theme] : s_themes)
|
||||
themeNames.push_back(name);
|
||||
|
||||
return themeNames;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -69,7 +69,7 @@ namespace hex::fs {
|
||||
std::vector<u8> File::readBytes(size_t numBytes) {
|
||||
if (!isValid()) return {};
|
||||
|
||||
auto size = numBytes ?: getSize();
|
||||
auto size = numBytes == 0 ? getSize() : numBytes;
|
||||
if (size == 0) return {};
|
||||
|
||||
std::vector<u8> bytes(size);
|
||||
|
||||
@@ -189,7 +189,7 @@ namespace hex::fs {
|
||||
#endif
|
||||
}
|
||||
|
||||
constexpr std::vector<std::fs::path> appendPath(std::vector<std::fs::path> paths, const std::fs::path &folder) {
|
||||
std::vector<std::fs::path> appendPath(std::vector<std::fs::path> paths, const std::fs::path &folder) {
|
||||
for (auto &path : paths)
|
||||
path = path / folder;
|
||||
|
||||
@@ -238,9 +238,6 @@ namespace hex::fs {
|
||||
case ImHexPath::PatternsInclude:
|
||||
result = appendPath(getDataPaths(), "includes");
|
||||
break;
|
||||
case ImHexPath::Python:
|
||||
result = appendPath(getDataPaths(), "python");
|
||||
break;
|
||||
case ImHexPath::Yara:
|
||||
result = appendPath(getDataPaths(), "yara");
|
||||
break;
|
||||
@@ -253,6 +250,9 @@ namespace hex::fs {
|
||||
case ImHexPath::Inspectors:
|
||||
result = appendPath(getDefaultPaths(ImHexPath::Scripts), "inspectors");
|
||||
break;
|
||||
case ImHexPath::Themes:
|
||||
result = appendPath(getDataPaths(), "themes");
|
||||
break;
|
||||
}
|
||||
|
||||
if (!listNonExisting) {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <Foundation/Foundation.h>
|
||||
|
||||
char* getMacExecutableDirectoryPath() {
|
||||
char* getMacExecutableDirectoryPath(void) {
|
||||
@autoreleasepool {
|
||||
const char *pathString = [[[[[NSBundle mainBundle] executableURL] URLByDeletingLastPathComponent] path] UTF8String];
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
char* getMacApplicationSupportDirectoryPath() {
|
||||
char* getMacApplicationSupportDirectoryPath(void) {
|
||||
@autoreleasepool {
|
||||
NSError* error = nil;
|
||||
NSURL* dirUrl = [[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory
|
||||
@@ -41,4 +41,4 @@
|
||||
free(ptr);
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -57,8 +57,10 @@ namespace hex::magic {
|
||||
magic_t ctx = magic_open(MAGIC_NONE);
|
||||
ON_SCOPE_EXIT { magic_close(ctx); };
|
||||
|
||||
if (magic_load(ctx, magicFiles->c_str()) == 0)
|
||||
return magic_buffer(ctx, data.data(), data.size()) ?: "";
|
||||
if (magic_load(ctx, magicFiles->c_str()) == 0) {
|
||||
if (auto result = magic_buffer(ctx, data.data(), data.size()); result != nullptr)
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
@@ -78,8 +80,10 @@ namespace hex::magic {
|
||||
magic_t ctx = magic_open(MAGIC_MIME_TYPE);
|
||||
ON_SCOPE_EXIT { magic_close(ctx); };
|
||||
|
||||
if (magic_load(ctx, magicFiles->c_str()) == 0)
|
||||
return magic_buffer(ctx, data.data(), data.size()) ?: "";
|
||||
if (magic_load(ctx, magicFiles->c_str()) == 0) {
|
||||
if (auto result = magic_buffer(ctx, data.data(), data.size()); result != nullptr)
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
return "";
|
||||
|
||||
@@ -9,11 +9,8 @@
|
||||
#include <filesystem>
|
||||
#include <cstdio>
|
||||
|
||||
#include <curl/curl.h>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
#include <romfs/romfs.hpp>
|
||||
|
||||
namespace hex {
|
||||
|
||||
Net::Net() {
|
||||
@@ -45,7 +42,7 @@ namespace hex {
|
||||
}
|
||||
|
||||
[[maybe_unused]]
|
||||
static CURLcode sslCtxFunction(CURL *ctx, void *sslctx, void *userData) {
|
||||
CURLcode sslCtxFunction(CURL *ctx, void *sslctx, void *userData) {
|
||||
hex::unused(ctx, userData);
|
||||
|
||||
auto *cfg = static_cast<mbedtls_ssl_config *>(sslctx);
|
||||
@@ -53,8 +50,7 @@ namespace hex {
|
||||
auto crt = static_cast<mbedtls_x509_crt*>(userData);
|
||||
mbedtls_x509_crt_init(crt);
|
||||
|
||||
auto cacert = romfs::get("cacert.pem").string();
|
||||
mbedtls_x509_crt_parse(crt, reinterpret_cast<const u8 *>(cacert.data()), cacert.size());
|
||||
mbedtls_x509_crt_parse(crt, reinterpret_cast<const u8 *>(Net::s_caCert.data()), Net::s_caCert.size());
|
||||
|
||||
mbedtls_ssl_conf_ca_chain(cfg, crt, nullptr);
|
||||
|
||||
@@ -124,6 +120,9 @@ namespace hex {
|
||||
char *url = nullptr;
|
||||
curl_easy_getinfo(this->m_ctx, CURLINFO_EFFECTIVE_URL, &url);
|
||||
log::error("Net request '{0}' failed with error {1}: '{2}'", url, u32(result), curl_easy_strerror(result));
|
||||
if(!Net::s_proxyUrl.empty()){
|
||||
log::info("A custom proxy '{}' is in use. Is it working correctly?", Net::s_proxyUrl);
|
||||
}
|
||||
}
|
||||
|
||||
long responseCode = 0;
|
||||
@@ -140,7 +139,7 @@ namespace hex {
|
||||
return i32(responseCode);
|
||||
}
|
||||
|
||||
std::future<Response<std::string>> Net::getString(const std::string &url, u32 timeout) {
|
||||
std::future<Response<std::string>> Net::getString(const std::string &url, u32 timeout, const std::map<std::string, std::string> &extraHeaders, const std::string &body) {
|
||||
this->m_transmissionActive.lock();
|
||||
|
||||
return std::async(std::launch::async, [=, this] {
|
||||
@@ -149,7 +148,7 @@ namespace hex {
|
||||
ON_SCOPE_EXIT { this->m_transmissionActive.unlock(); };
|
||||
|
||||
curl_easy_setopt(this->m_ctx, CURLOPT_CUSTOMREQUEST, "GET");
|
||||
setCommonSettings(response, url, timeout);
|
||||
setCommonSettings(response, url, timeout, extraHeaders, body);
|
||||
|
||||
auto responseCode = execute();
|
||||
|
||||
@@ -157,7 +156,7 @@ namespace hex {
|
||||
});
|
||||
}
|
||||
|
||||
std::future<Response<nlohmann::json>> Net::getJson(const std::string &url, u32 timeout) {
|
||||
std::future<Response<nlohmann::json>> Net::getJson(const std::string &url, u32 timeout, const std::map<std::string, std::string> &extraHeaders, const std::string &body) {
|
||||
this->m_transmissionActive.lock();
|
||||
|
||||
return std::async(std::launch::async, [=, this] {
|
||||
@@ -166,7 +165,26 @@ namespace hex {
|
||||
ON_SCOPE_EXIT { this->m_transmissionActive.unlock(); };
|
||||
|
||||
curl_easy_setopt(this->m_ctx, CURLOPT_CUSTOMREQUEST, "GET");
|
||||
setCommonSettings(response, url, timeout);
|
||||
setCommonSettings(response, url, timeout, extraHeaders, body);
|
||||
|
||||
auto responseCode = execute();
|
||||
if (!responseCode.has_value())
|
||||
return Response<nlohmann::json> { 0, { } };
|
||||
else
|
||||
return Response<nlohmann::json> { responseCode.value_or(0), nlohmann::json::parse(response, nullptr, false, true) };
|
||||
});
|
||||
}
|
||||
|
||||
std::future<Response<nlohmann::json>> Net::postJson(const std::string &url, u32 timeout, const std::map<std::string, std::string> &extraHeaders, const std::string &body) {
|
||||
this->m_transmissionActive.lock();
|
||||
|
||||
return std::async(std::launch::async, [=, this] {
|
||||
std::string response;
|
||||
|
||||
ON_SCOPE_EXIT { this->m_transmissionActive.unlock(); };
|
||||
|
||||
curl_easy_setopt(this->m_ctx, CURLOPT_CUSTOMREQUEST, "POST");
|
||||
setCommonSettings(response, url, timeout, extraHeaders, body);
|
||||
|
||||
auto responseCode = execute();
|
||||
if (!responseCode.has_value())
|
||||
@@ -274,9 +292,13 @@ namespace hex {
|
||||
}
|
||||
|
||||
std::string Net::s_proxyUrl;
|
||||
|
||||
void Net::setProxy(const std::string &url) {
|
||||
Net::s_proxyUrl = url;
|
||||
}
|
||||
|
||||
}
|
||||
std::string Net::s_caCert;
|
||||
void Net::setCACert(const std::string &content) {
|
||||
Net::s_caCert = content;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include <hex/helpers/tar.hpp>
|
||||
#include <hex/helpers/literals.hpp>
|
||||
#include <hex/helpers/file.hpp>
|
||||
#include <hex/helpers/fs.hpp>
|
||||
|
||||
namespace hex {
|
||||
|
||||
@@ -9,12 +10,19 @@ namespace hex {
|
||||
Tar::Tar(const std::fs::path &path, Mode mode) {
|
||||
int error = MTAR_ESUCCESS;
|
||||
|
||||
// Explicitly create file so a short path gets generated
|
||||
if (mode == Mode::Create) {
|
||||
fs::File file(path, fs::File::Mode::Create);
|
||||
file.flush();
|
||||
}
|
||||
|
||||
auto shortPath = hex::fs::toShortPath(path);
|
||||
if (mode == Tar::Mode::Read)
|
||||
error = mtar_open(&this->m_ctx, path.string().c_str(), "r");
|
||||
error = mtar_open(&this->m_ctx, shortPath.string().c_str(), "r");
|
||||
else if (mode == Tar::Mode::Write)
|
||||
error = mtar_open(&this->m_ctx, path.string().c_str(), "a");
|
||||
error = mtar_open(&this->m_ctx, shortPath.string().c_str(), "a");
|
||||
else if (mode == Tar::Mode::Create)
|
||||
error = mtar_open(&this->m_ctx, path.string().c_str(), "w");
|
||||
error = mtar_open(&this->m_ctx, shortPath.string().c_str(), "w");
|
||||
else
|
||||
error = MTAR_EFAILURE;
|
||||
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
#include <hex/helpers/types.hpp>
|
||||
|
||||
namespace hex {
|
||||
|
||||
[[nodiscard]] bool Region::isWithin(const Region &other) const {
|
||||
if (*this == Invalid() || other == Invalid())
|
||||
return false;
|
||||
|
||||
if (this->getStartAddress() >= other.getStartAddress() && this->getEndAddress() <= other.getEndAddress())
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
[[nodiscard]] bool Region::overlaps(const Region &other) const {
|
||||
if (*this == Invalid() || other == Invalid())
|
||||
return false;
|
||||
|
||||
if (this->getEndAddress() >= other.getStartAddress() && this->getStartAddress() <= other.getEndAddress())
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
[[nodiscard]] u64 Region::getStartAddress() const {
|
||||
return this->address;
|
||||
}
|
||||
|
||||
[[nodiscard]] u64 Region::getEndAddress() const {
|
||||
return this->address + this->size - 1;
|
||||
}
|
||||
|
||||
[[nodiscard]] size_t Region::getSize() const {
|
||||
return this->size;
|
||||
}
|
||||
|
||||
bool Region::operator==(const Region &other) const {
|
||||
return this->address == other.address && this->size == other.size;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -196,10 +196,11 @@ namespace hex {
|
||||
return "Space";
|
||||
case 127:
|
||||
return "DEL";
|
||||
case 128 ... 255:
|
||||
return " ";
|
||||
default:
|
||||
return std::string() + static_cast<char>(c);
|
||||
if (c >= 128)
|
||||
return " ";
|
||||
else
|
||||
return std::string() + static_cast<char>(c);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
CFRelease(urlRef);
|
||||
}
|
||||
|
||||
bool isMacosSystemDarkModeEnabled() {
|
||||
bool isMacosSystemDarkModeEnabled(void) {
|
||||
NSString * appleInterfaceStyle = [[NSUserDefaults standardUserDefaults] stringForKey:@"AppleInterfaceStyle"];
|
||||
|
||||
if (appleInterfaceStyle && [appleInterfaceStyle length] > 0) {
|
||||
@@ -25,4 +25,4 @@
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -133,7 +133,7 @@ namespace hex::prv {
|
||||
|
||||
|
||||
u32 Provider::getPageCount() const {
|
||||
return std::max(1.0, std::ceil(this->getActualSize() / double(PageSize)));
|
||||
return (this->getActualSize() / PageSize) + (this->getActualSize() % PageSize != 0 ? 1 : 0);
|
||||
}
|
||||
|
||||
u32 Provider::getCurrentPage() const {
|
||||
|
||||
@@ -17,6 +17,11 @@ add_executable(main ${APPLICATION_TYPE}
|
||||
target_include_directories(main PUBLIC include)
|
||||
setupCompilerWarnings(main)
|
||||
|
||||
set(LIBROMFS_RESOURCE_LOCATION ${CMAKE_CURRENT_SOURCE_DIR}/romfs)
|
||||
set(LIBROMFS_PROJECT_NAME imhex)
|
||||
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../lib/external/libromfs ${CMAKE_CURRENT_BINARY_DIR}/main/libromfs EXCLUDE_FROM_ALL)
|
||||
set_target_properties(${LIBROMFS_LIBRARY} PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
set_target_properties(main PROPERTIES
|
||||
OUTPUT_NAME "imhex"
|
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/..
|
||||
@@ -25,10 +30,11 @@ set_target_properties(main PROPERTIES
|
||||
|
||||
add_compile_definitions(IMHEX_PROJECT_NAME="${PROJECT_NAME}")
|
||||
|
||||
target_link_libraries(main PRIVATE libromfs-imhex libimhex ${FMT_LIBRARIES})
|
||||
if (WIN32)
|
||||
target_link_libraries(main PRIVATE usp10 libimhex libromfs-imhex wsock32 ws2_32 Dwmapi.lib)
|
||||
target_link_libraries(main PRIVATE usp10 wsock32 ws2_32 Dwmapi.lib)
|
||||
else ()
|
||||
target_link_libraries(main PRIVATE libimhex libromfs-imhex pthread)
|
||||
target_link_libraries(main PRIVATE pthread)
|
||||
endif ()
|
||||
|
||||
if (APPLE)
|
||||
|
||||
|
Before Width: | Height: | Size: 157 KiB After Width: | Height: | Size: 157 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
@@ -51,16 +51,17 @@ namespace hex::init {
|
||||
this->m_currTaskName = name;
|
||||
}
|
||||
|
||||
ON_SCOPE_EXIT {
|
||||
tasksCompleted++;
|
||||
this->m_progress = float(tasksCompleted) / this->m_tasks.size();
|
||||
};
|
||||
|
||||
auto startTime = std::chrono::high_resolution_clock::now();
|
||||
if (!task())
|
||||
status = false;
|
||||
auto endTime = std::chrono::high_resolution_clock::now();
|
||||
|
||||
log::info("Task '{}' finished in {} ms", name, std::chrono::duration_cast<std::chrono::milliseconds>(endTime-startTime).count());
|
||||
|
||||
tasksCompleted++;
|
||||
|
||||
this->m_progress = float(tasksCompleted) / this->m_tasks.size();
|
||||
};
|
||||
|
||||
try {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
#include <imgui.h>
|
||||
#include <imgui_freetype.h>
|
||||
#include <romfs/romfs.hpp>
|
||||
|
||||
#include <hex/api/content_registry.hpp>
|
||||
#include <hex/api/project_file_manager.hpp>
|
||||
@@ -49,6 +50,14 @@ namespace hex::init {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool setupEnvironment() {
|
||||
hex::log::debug("Using romfs: '{}'", romfs::name());
|
||||
|
||||
Net::setCACert(std::string(romfs::get("cacert.pem").string()));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool createDirectories() {
|
||||
bool result = true;
|
||||
|
||||
@@ -82,7 +91,7 @@ namespace hex::init {
|
||||
return result;
|
||||
}
|
||||
|
||||
bool loadFonts() {
|
||||
static bool loadFontsImpl(bool loadUnicode) {
|
||||
float fontSize = ImHexApi::System::getFontSize();
|
||||
|
||||
const auto &fontFile = ImHexApi::System::getCustomFontPath();
|
||||
@@ -102,19 +111,23 @@ namespace hex::init {
|
||||
glyphRangesBuilder.AddRanges(fonts->GetGlyphRangesKorean());
|
||||
glyphRangesBuilder.AddRanges(fonts->GetGlyphRangesThai());
|
||||
glyphRangesBuilder.AddRanges(fonts->GetGlyphRangesVietnamese());
|
||||
|
||||
{
|
||||
constexpr static ImWchar controlCodeRange[] = { 0x0000, 0x001F, 0 };
|
||||
constexpr static ImWchar extendedAsciiRange[] = { 0x007F, 0x00FF, 0 };
|
||||
glyphRangesBuilder.AddRanges(controlCodeRange);
|
||||
glyphRangesBuilder.AddRanges(extendedAsciiRange);
|
||||
}
|
||||
|
||||
glyphRangesBuilder.BuildRanges(&ranges);
|
||||
}
|
||||
|
||||
ImWchar fontAwesomeRange[] = {
|
||||
ICON_MIN_FA, ICON_MAX_FA, 0
|
||||
ICON_MIN_FA, ICON_MAX_FA, 0
|
||||
};
|
||||
|
||||
ImWchar codiconsRange[] = {
|
||||
ICON_MIN_VS, ICON_MAX_VS, 0
|
||||
};
|
||||
|
||||
ImWchar unifontRange[] = {
|
||||
0x0100, 0xFFF0, 0
|
||||
ICON_MIN_VS, ICON_MAX_VS, 0
|
||||
};
|
||||
|
||||
if (fontFile.empty()) {
|
||||
@@ -124,7 +137,7 @@ namespace hex::init {
|
||||
fonts->AddFontDefault(&cfg);
|
||||
} else {
|
||||
// Load custom font
|
||||
fonts->AddFontFromFileTTF(hex::toUTF8String(fontFile).c_str(), 0, &cfg, ranges.Data); // Needs conversion to char for Windows
|
||||
fonts->AddFontFromFileTTF(hex::toUTF8String(fontFile).c_str(), 0, &cfg, ranges.Data);
|
||||
}
|
||||
|
||||
cfg.MergeMode = true;
|
||||
@@ -132,11 +145,20 @@ namespace hex::init {
|
||||
fonts->AddFontFromMemoryCompressedTTF(font_awesome_compressed_data, font_awesome_compressed_size, 0, &cfg, fontAwesomeRange);
|
||||
fonts->AddFontFromMemoryCompressedTTF(codicons_compressed_data, codicons_compressed_size, 0, &cfg, codiconsRange);
|
||||
|
||||
bool enableUnicode = ContentRegistry::Settings::read("hex.builtin.setting.general", "hex.builtin.setting.general.enable_unicode", true);
|
||||
if (enableUnicode)
|
||||
fonts->AddFontFromMemoryCompressedTTF(unifont_compressed_data, unifont_compressed_size, 0, &cfg, unifontRange);
|
||||
if (loadUnicode)
|
||||
fonts->AddFontFromMemoryCompressedTTF(unifont_compressed_data, unifont_compressed_size, 0, &cfg, ranges.Data);
|
||||
|
||||
fonts->Build();
|
||||
if (!fonts->Build()) {
|
||||
if (loadUnicode) {
|
||||
log::error("Failed to build font atlas! Disabling Unicode support.");
|
||||
ContentRegistry::Settings::write("hex.builtin.setting.general", "hex.builtin.setting.general.enable_unicode", false);
|
||||
IM_DELETE(fonts);
|
||||
return loadFontsImpl(false);
|
||||
} else {
|
||||
log::error("Failed to build font atlas! Check your Graphics driver!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
View::setFontAtlas(fonts);
|
||||
View::setFontConfig(cfg);
|
||||
@@ -144,6 +166,10 @@ namespace hex::init {
|
||||
return true;
|
||||
}
|
||||
|
||||
bool loadFonts() {
|
||||
return loadFontsImpl(ContentRegistry::Settings::read("hex.builtin.setting.general", "hex.builtin.setting.general.enable_unicode", true));
|
||||
}
|
||||
|
||||
bool deleteSharedData() {
|
||||
EventManager::clear();
|
||||
|
||||
@@ -230,10 +256,28 @@ namespace hex::init {
|
||||
return false;
|
||||
}
|
||||
|
||||
const auto shouldLoadPlugin = [executablePath = hex::fs::getExecutablePath()](const Plugin &plugin) {
|
||||
#if !defined(DEBUG)
|
||||
return true;
|
||||
#endif
|
||||
|
||||
if (!executablePath.has_value())
|
||||
return true;
|
||||
|
||||
// In debug builds, ignore all plugins that are not part of the executable directory
|
||||
return !std::fs::relative(plugin.getPath(), executablePath->parent_path()).string().starts_with("..");
|
||||
};
|
||||
|
||||
u32 builtinPlugins = 0;
|
||||
u32 loadErrors = 0;
|
||||
for (const auto &plugin : plugins) {
|
||||
if (!plugin.isBuiltinPlugin()) continue;
|
||||
|
||||
if (!shouldLoadPlugin(plugin)) {
|
||||
log::debug("Skipping built-in plugin {}", plugin.getPath().string());
|
||||
continue;
|
||||
}
|
||||
|
||||
builtinPlugins++;
|
||||
if (builtinPlugins > 1) continue;
|
||||
|
||||
@@ -246,6 +290,11 @@ namespace hex::init {
|
||||
for (const auto &plugin : plugins) {
|
||||
if (plugin.isBuiltinPlugin()) continue;
|
||||
|
||||
if (!shouldLoadPlugin(plugin)) {
|
||||
log::debug("Skipping plugin {}", plugin.getPath().string());
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!plugin.initializePlugin()) {
|
||||
log::error("Failed to initialize plugin {}", hex::toUTF8String(plugin.getPath().filename()));
|
||||
loadErrors++;
|
||||
@@ -304,6 +353,7 @@ namespace hex::init {
|
||||
|
||||
std::vector<Task> getInitTasks() {
|
||||
return {
|
||||
{ "Setting up environment", setupEnvironment, false },
|
||||
{ "Creating directories", createDirectories, false },
|
||||
{ "Loading settings", loadSettings, false },
|
||||
{ "Loading plugins", loadPlugins, false },
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
#include <hex/helpers/utils.hpp>
|
||||
#include <hex/helpers/logger.hpp>
|
||||
#include <hex/api/theme_manager.hpp>
|
||||
|
||||
#include "window.hpp"
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace hex {
|
||||
auto exitCode = WEXITSTATUS(pclose(pipe));
|
||||
if (exitCode != 0) return;
|
||||
|
||||
EventManager::post<RequestChangeTheme>(hex::containsIgnoreCase(result, "light") ? 2 : 1);
|
||||
EventManager::post<RequestChangeTheme>(hex::containsIgnoreCase(result, "light") ? "Light" : "Dark");
|
||||
});
|
||||
|
||||
if (themeFollowSystem)
|
||||
|
||||
@@ -30,9 +30,9 @@ namespace hex {
|
||||
if (!themeFollowSystem) return;
|
||||
|
||||
if (!isMacosSystemDarkModeEnabled())
|
||||
EventManager::post<RequestChangeTheme>(2);
|
||||
EventManager::post<RequestChangeTheme>("Light");
|
||||
else
|
||||
EventManager::post<RequestChangeTheme>(1);
|
||||
EventManager::post<RequestChangeTheme>("Dark");
|
||||
});
|
||||
|
||||
if (themeFollowSystem)
|
||||
|
||||
@@ -106,7 +106,7 @@ namespace hex {
|
||||
this->setupNativeWindow();
|
||||
|
||||
// Initialize default theme
|
||||
EventManager::post<RequestChangeTheme>(1);
|
||||
EventManager::post<RequestChangeTheme>("Dark");
|
||||
|
||||
EventManager::subscribe<RequestCloseImHex>(this, [this](bool noQuestions) {
|
||||
glfwSetWindowShouldClose(this->m_window, GLFW_TRUE);
|
||||
@@ -688,6 +688,8 @@ namespace hex {
|
||||
style.Alpha = 1.0F;
|
||||
style.WindowRounding = 0.0F;
|
||||
|
||||
ImNodes::GetStyle().Flags = ImNodesStyleFlags_NodeOutline | ImNodesStyleFlags_GridLines;
|
||||
|
||||
io.ConfigFlags |= ImGuiConfigFlags_DockingEnable | ImGuiConfigFlags_NavEnableKeyboard;
|
||||
io.ConfigWindowsMoveFromTitleBarOnly = true;
|
||||
io.FontGlobalScale = 1.0F;
|
||||
|
||||
@@ -24,6 +24,8 @@ add_library(${PROJECT_NAME} SHARED
|
||||
source/content/events.cpp
|
||||
source/content/hashes.cpp
|
||||
source/content/shortcuts.cpp
|
||||
source/content/global_actions.cpp
|
||||
source/content/themes.cpp
|
||||
|
||||
source/content/providers/file_provider.cpp
|
||||
source/content/providers/gdb_provider.cpp
|
||||
@@ -57,26 +59,17 @@ add_library(${PROJECT_NAME} SHARED
|
||||
|
||||
source/ui/hex_editor.cpp
|
||||
source/ui/pattern_drawer.cpp
|
||||
|
||||
source/lang/de_DE.cpp
|
||||
source/lang/en_US.cpp
|
||||
source/lang/it_IT.cpp
|
||||
source/lang/ja_JP.cpp
|
||||
source/lang/ko_KR.cpp
|
||||
source/lang/pt_BR.cpp
|
||||
source/lang/zh_CN.cpp
|
||||
source/lang/zh_TW.cpp
|
||||
)
|
||||
|
||||
# Add additional include directories here #
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE include)
|
||||
|
||||
# Add additional libraries here #
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE libimhex)
|
||||
target_link_libraries(${PROJECT_NAME} PRIVATE libimhex ${FMT_LIBRARIES})
|
||||
|
||||
# ---- No need to change anything from here downwards unless you know what you're doing ---- #
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD 23)
|
||||
set(CMAKE_SHARED_LIBRARY_PREFIX "")
|
||||
set(CMAKE_SHARED_LIBRARY_SUFFIX ".hexplug")
|
||||
|
||||
|
||||
7
plugins/builtin/include/content/global_actions.hpp
Normal file
7
plugins/builtin/include/content/global_actions.hpp
Normal file
@@ -0,0 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
namespace hex::plugin::builtin {
|
||||
void openProject();
|
||||
void saveProject();
|
||||
void saveProjectAs();
|
||||
}
|
||||
230
plugins/builtin/include/content/helpers/diagrams.hpp
Normal file
230
plugins/builtin/include/content/helpers/diagrams.hpp
Normal file
@@ -0,0 +1,230 @@
|
||||
#pragma once
|
||||
|
||||
#include <hex.hpp>
|
||||
|
||||
#include <imgui.h>
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
#include <imgui_internal.h>
|
||||
|
||||
#include <random>
|
||||
|
||||
namespace hex {
|
||||
|
||||
namespace {
|
||||
|
||||
std::vector<u8> getSampleSelection(prv::Provider *provider, u64 address, size_t size, size_t sampleSize) {
|
||||
const size_t sequenceCount = std::ceil(std::sqrt(sampleSize));
|
||||
|
||||
std::vector<u8> buffer;
|
||||
|
||||
if (size < sampleSize) {
|
||||
buffer.resize(size);
|
||||
provider->read(address, buffer.data(), size);
|
||||
} else {
|
||||
std::random_device randomDevice;
|
||||
std::mt19937_64 random(randomDevice());
|
||||
|
||||
std::map<u64, std::vector<u8>> orderedData;
|
||||
for (u32 i = 0; i < sequenceCount; i++) {
|
||||
ssize_t offset = random() % size;
|
||||
|
||||
std::vector<u8> sequence;
|
||||
sequence.resize(std::min<size_t>(sequenceCount, size - offset));
|
||||
provider->read(address + offset, sequence.data(), sequence.size());
|
||||
|
||||
orderedData.insert({ offset, sequence });
|
||||
}
|
||||
|
||||
buffer.reserve(sampleSize);
|
||||
|
||||
u64 lastEnd = 0x00;
|
||||
for (const auto &[offset, sequence] : orderedData) {
|
||||
if (offset < lastEnd)
|
||||
buffer.resize(buffer.size() - (lastEnd - offset));
|
||||
|
||||
std::copy(sequence.begin(), sequence.end(), std::back_inserter(buffer));
|
||||
lastEnd = offset + sequence.size();
|
||||
}
|
||||
}
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
std::vector<u8> getSampleSelection(const std::vector<u8> &inputBuffer, size_t sampleSize) {
|
||||
const size_t sequenceCount = std::ceil(std::sqrt(sampleSize));
|
||||
|
||||
std::vector<u8> buffer;
|
||||
|
||||
if (inputBuffer.size() < sampleSize) {
|
||||
buffer = inputBuffer;
|
||||
} else {
|
||||
std::random_device randomDevice;
|
||||
std::mt19937_64 random(randomDevice());
|
||||
|
||||
std::map<u64, std::vector<u8>> orderedData;
|
||||
for (u32 i = 0; i < sequenceCount; i++) {
|
||||
ssize_t offset = random() % inputBuffer.size();
|
||||
|
||||
std::vector<u8> sequence;
|
||||
sequence.reserve(sampleSize);
|
||||
std::copy(inputBuffer.begin() + offset, inputBuffer.begin() + offset + std::min<size_t>(sequenceCount, inputBuffer.size() - offset), std::back_inserter(sequence));
|
||||
|
||||
orderedData.insert({ offset, sequence });
|
||||
}
|
||||
|
||||
buffer.reserve(sampleSize);
|
||||
|
||||
u64 lastEnd = 0x00;
|
||||
for (const auto &[offset, sequence] : orderedData) {
|
||||
if (offset < lastEnd)
|
||||
buffer.resize(buffer.size() - (lastEnd - offset));
|
||||
|
||||
std::copy(sequence.begin(), sequence.end(), std::back_inserter(buffer));
|
||||
lastEnd = offset + sequence.size();
|
||||
}
|
||||
}
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class DiagramDigram {
|
||||
public:
|
||||
DiagramDigram(size_t sampleSize = 0x9000) : m_sampleSize(sampleSize) { }
|
||||
|
||||
void draw(ImVec2 size) {
|
||||
ImGui::PushStyleColor(ImGuiCol_ChildBg, ImU32(ImColor(0, 0, 0)));
|
||||
if (ImGui::BeginChild("##digram", size, true)) {
|
||||
auto drawList = ImGui::GetWindowDrawList();
|
||||
|
||||
float xStep = (size.x * 0.95F) / 0xFF;
|
||||
float yStep = (size.y * 0.95F) / 0xFF;
|
||||
|
||||
if (!this->m_processing)
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size() - 1); i++) {
|
||||
const auto &[x, y] = std::pair { this->m_buffer[i] * xStep, this->m_buffer[i + 1] * yStep };
|
||||
|
||||
auto color = ImLerp(ImColor(0xFF, 0x6D, 0x01).Value, ImColor(0x01, 0x93, 0xFF).Value, float(i) / this->m_buffer.size()) + ImVec4(this->m_glowBuffer[i], this->m_glowBuffer[i], this->m_glowBuffer[i], 0.0F);
|
||||
color.w = this->m_opacity;
|
||||
|
||||
auto pos = ImGui::GetWindowPos() + ImVec2(size.x * 0.025F, size.y * 0.025F) + ImVec2(x, y);
|
||||
drawList->AddRectFilled(pos, pos + ImVec2(xStep, yStep), ImColor(color));
|
||||
}
|
||||
}
|
||||
ImGui::EndChild();
|
||||
ImGui::PopStyleColor();
|
||||
}
|
||||
|
||||
void process(prv::Provider *provider, u64 address, size_t size) {
|
||||
this->m_processing = true;
|
||||
this->m_buffer = getSampleSelection(provider, address, size, this->m_sampleSize);
|
||||
processImpl();
|
||||
this->m_processing = false;
|
||||
}
|
||||
|
||||
void process(const std::vector<u8> &buffer) {
|
||||
this->m_processing = true;
|
||||
this->m_buffer = getSampleSelection(buffer, this->m_sampleSize);
|
||||
processImpl();
|
||||
this->m_processing = false;
|
||||
}
|
||||
|
||||
private:
|
||||
void processImpl() {
|
||||
this->m_glowBuffer.resize(this->m_buffer.size());
|
||||
|
||||
std::map<u64, size_t> heatMap;
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size() - 1); i++) {
|
||||
auto count = ++heatMap[this->m_buffer[i] << 8 | heatMap[i + 1]];
|
||||
|
||||
this->m_highestCount = std::max(this->m_highestCount, count);
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size() - 1); i++) {
|
||||
this->m_glowBuffer[i] = std::min(0.2F + (float(heatMap[this->m_buffer[i] << 8 | this->m_buffer[i + 1]]) / float(this->m_highestCount / 1000)), 1.0F);
|
||||
}
|
||||
|
||||
this->m_opacity = (log10(float(this->m_sampleSize)) / log10(float(m_highestCount))) / 10.0F;
|
||||
}
|
||||
|
||||
private:
|
||||
size_t m_sampleSize;
|
||||
|
||||
std::vector<u8> m_buffer;
|
||||
std::vector<float> m_glowBuffer;
|
||||
float m_opacity = 0.0F;
|
||||
size_t m_highestCount = 0;
|
||||
std::atomic<bool> m_processing = false;
|
||||
};
|
||||
|
||||
|
||||
class DiagramLayeredDistribution {
|
||||
public:
|
||||
DiagramLayeredDistribution(size_t sampleSize = 0x9000) : m_sampleSize(sampleSize) { }
|
||||
|
||||
void draw(ImVec2 size) {
|
||||
ImGui::PushStyleColor(ImGuiCol_ChildBg, ImU32(ImColor(0, 0, 0)));
|
||||
if (ImGui::BeginChild("##layered_distribution", size, true)) {
|
||||
auto drawList = ImGui::GetWindowDrawList();
|
||||
|
||||
float xStep = (size.x * 0.95F) / 0xFF;
|
||||
float yStep = (size.y * 0.95F) / 0xFF;
|
||||
|
||||
if (!this->m_processing)
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size()); i++) {
|
||||
const auto &[x, y] = std::pair { this->m_buffer[i] * xStep, yStep * ((float(i) / this->m_buffer.size()) * 0xFF) };
|
||||
|
||||
auto color = ImLerp(ImColor(0xFF, 0x6D, 0x01).Value, ImColor(0x01, 0x93, 0xFF).Value, float(i) / this->m_buffer.size()) + ImVec4(this->m_glowBuffer[i], this->m_glowBuffer[i], this->m_glowBuffer[i], 0.0F);
|
||||
color.w = this->m_opacity;
|
||||
|
||||
auto pos = ImGui::GetWindowPos() + ImVec2(size.x * 0.025F, size.y * 0.025F) + ImVec2(x, y);
|
||||
drawList->AddRectFilled(pos, pos + ImVec2(xStep, yStep), ImColor(color));
|
||||
}
|
||||
}
|
||||
ImGui::EndChild();
|
||||
ImGui::PopStyleColor();
|
||||
}
|
||||
|
||||
void process(prv::Provider *provider, u64 address, size_t size) {
|
||||
this->m_processing = true;
|
||||
this->m_buffer = getSampleSelection(provider, address, size, this->m_sampleSize);
|
||||
processImpl();
|
||||
this->m_processing = false;
|
||||
}
|
||||
|
||||
void process(const std::vector<u8> &buffer) {
|
||||
this->m_processing = true;
|
||||
this->m_buffer = getSampleSelection(buffer, this->m_sampleSize);
|
||||
processImpl();
|
||||
this->m_processing = false;
|
||||
}
|
||||
|
||||
private:
|
||||
void processImpl() {
|
||||
this->m_glowBuffer.resize(this->m_buffer.size());
|
||||
|
||||
std::map<u64, size_t> heatMap;
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size() - 1); i++) {
|
||||
auto count = ++heatMap[this->m_buffer[i] << 8 | heatMap[i + 1]];
|
||||
|
||||
this->m_highestCount = std::max(this->m_highestCount, count);
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size() - 1); i++) {
|
||||
this->m_glowBuffer[i] = std::min(0.2F + (float(heatMap[this->m_buffer[i] << 8 | this->m_buffer[i + 1]]) / float(this->m_highestCount / 1000)), 1.0F);
|
||||
}
|
||||
|
||||
this->m_opacity = (log10(float(this->m_sampleSize)) / log10(float(m_highestCount))) / 10.0F;
|
||||
}
|
||||
private:
|
||||
size_t m_sampleSize;
|
||||
|
||||
std::vector<u8> m_buffer;
|
||||
std::vector<float> m_glowBuffer;
|
||||
float m_opacity = 0.0F;
|
||||
size_t m_highestCount = 0;
|
||||
std::atomic<bool> m_processing = false;
|
||||
};
|
||||
|
||||
}
|
||||
@@ -119,5 +119,6 @@ namespace hex {
|
||||
|
||||
extern template class MathEvaluator<long double>;
|
||||
extern template class MathEvaluator<i128>;
|
||||
extern template class MathEvaluator<u128>;
|
||||
|
||||
}
|
||||
@@ -45,7 +45,7 @@ namespace hex::plugin::builtin {
|
||||
|
||||
std::string sourceCode;
|
||||
std::mutex runtimeMutex;
|
||||
std::unique_ptr<pl::PatternLanguage> runtime;
|
||||
std::unique_ptr<pl::PatternLanguage> runtime = std::make_unique<pl::PatternLanguage>();
|
||||
std::vector<std::pair<pl::core::LogConsole::Level, std::string>> console;
|
||||
bool executionDone = true;
|
||||
|
||||
|
||||
@@ -9,18 +9,22 @@
|
||||
#if defined(OS_WINDOWS)
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#else
|
||||
#elif defined(OS_MACOS)
|
||||
#include <sys/mman.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/fcntl.h>
|
||||
#else
|
||||
#include <sys/mman.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#endif
|
||||
|
||||
namespace hex::plugin::builtin {
|
||||
|
||||
class FileProvider : public hex::prv::Provider {
|
||||
public:
|
||||
FileProvider() = default;;
|
||||
~FileProvider() override = default;;
|
||||
FileProvider() = default;
|
||||
~FileProvider() override = default;
|
||||
|
||||
[[nodiscard]] bool isAvailable() const override;
|
||||
[[nodiscard]] bool isReadable() const override;
|
||||
@@ -60,7 +64,7 @@ namespace hex::plugin::builtin {
|
||||
return "hex.builtin.provider.file";
|
||||
}
|
||||
|
||||
std::pair<Region, bool> getRegionValidity(u64 address) const override;
|
||||
[[nodiscard]] std::pair<Region, bool> getRegionValidity(u64 address) const override;
|
||||
|
||||
protected:
|
||||
std::fs::path m_path;
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace hex::plugin::builtin {
|
||||
class GDBProvider : public hex::prv::Provider {
|
||||
public:
|
||||
GDBProvider();
|
||||
~GDBProvider() override = default;;
|
||||
~GDBProvider() override = default;
|
||||
|
||||
[[nodiscard]] bool isAvailable() const override;
|
||||
[[nodiscard]] bool isReadable() const override;
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
#include <hex/ui/view.hpp>
|
||||
#include <hex/api/task.hpp>
|
||||
|
||||
#include "content/helpers/diagrams.hpp"
|
||||
|
||||
#include <array>
|
||||
#include <atomic>
|
||||
#include <cstdio>
|
||||
@@ -19,13 +21,16 @@ namespace hex::plugin::builtin {
|
||||
void drawContent() override;
|
||||
|
||||
private:
|
||||
bool m_dataValid = false;
|
||||
u32 m_blockSize = 0;
|
||||
float m_averageEntropy = 0;
|
||||
float m_highestBlockEntropy = 0;
|
||||
std::vector<float> m_blockEntropy;
|
||||
bool m_dataValid = false;
|
||||
u32 m_blockSize = 0;
|
||||
double m_averageEntropy = -1.0;
|
||||
double m_highestBlockEntropy = -1.0;
|
||||
double m_plainTextCharacterPercentage = -1.0;
|
||||
std::vector<double> m_blockEntropy;
|
||||
std::array<std::vector<float>, 12> m_blockTypeDistributions;
|
||||
std::atomic<u64> m_processedBlockCount = 0;
|
||||
|
||||
double m_entropyHandlePosition;
|
||||
double m_diagramHandlePosition = 0.0;
|
||||
|
||||
std::array<ImU64, 256> m_valueCounts = { 0 };
|
||||
TaskHolder m_analyzerTask;
|
||||
@@ -35,6 +40,9 @@ namespace hex::plugin::builtin {
|
||||
std::string m_dataDescription;
|
||||
std::string m_dataMimeType;
|
||||
|
||||
DiagramDigram m_digram;
|
||||
DiagramLayeredDistribution m_layeredDistribution;
|
||||
|
||||
void analyze();
|
||||
};
|
||||
|
||||
|
||||
@@ -197,8 +197,10 @@ namespace hex::plugin::builtin::ui {
|
||||
|
||||
std::optional<EncodingFile> m_currCustomEncoding;
|
||||
|
||||
static std::optional<color_t> defaultColorCallback(u64, const u8 *, size_t) { return std::nullopt; }
|
||||
static void defaultTooltipCallback(u64, const u8 *, size_t) { }
|
||||
std::pair<Region, bool> m_currValidRegion = { Region::Invalid(), false };
|
||||
|
||||
static inline std::optional<color_t> defaultColorCallback(u64, const u8 *, size_t) { return std::nullopt; }
|
||||
static inline void defaultTooltipCallback(u64, const u8 *, size_t) { }
|
||||
std::function<std::optional<color_t>(u64, const u8 *, size_t)> m_foregroundColorCallback = defaultColorCallback, m_backgroundColorCallback = defaultColorCallback;
|
||||
std::function<void(u64, const u8 *, size_t)> m_tooltipCallback = defaultTooltipCallback;
|
||||
};
|
||||
|
||||
@@ -40,9 +40,13 @@ namespace hex::plugin::builtin::ui {
|
||||
|
||||
void drawArray(pl::ptrn::Pattern& pattern, pl::ptrn::Iteratable &iteratable, bool isInlined);
|
||||
u64& getDisplayEnd(const pl::ptrn::Pattern& pattern);
|
||||
void makeSelectable(const pl::ptrn::Pattern &pattern);
|
||||
void createDefaultEntry(pl::ptrn::Pattern &pattern);
|
||||
|
||||
private:
|
||||
std::map<const pl::ptrn::Pattern*, u64> m_displayEnd;
|
||||
std::vector<pl::ptrn::Pattern*> m_sortedPatterns;
|
||||
|
||||
const pl::ptrn::Pattern *m_editingPattern = nullptr;
|
||||
};
|
||||
}
|
||||
823
plugins/builtin/romfs/lang/de_DE.json
Normal file
823
plugins/builtin/romfs/lang/de_DE.json
Normal file
@@ -0,0 +1,823 @@
|
||||
{
|
||||
"code": "de-DE",
|
||||
"country": "Germany",
|
||||
"language": "German",
|
||||
"translations": {
|
||||
"hex.builtin.command.calc.desc": "Rechner",
|
||||
"hex.builtin.command.cmd.desc": "Befehl",
|
||||
"hex.builtin.command.cmd.result": "Befehl '{0}' ausführen",
|
||||
"hex.builtin.command.web.desc": "Webseite nachschlagen",
|
||||
"hex.builtin.command.web.result": "'{0}' nachschlagen",
|
||||
"hex.builtin.common.address": "Adresse",
|
||||
"hex.builtin.common.big": "Big",
|
||||
"hex.builtin.common.big_endian": "Big Endian",
|
||||
"hex.builtin.common.browse": "Durchsuchen...",
|
||||
"hex.builtin.common.cancel": "Abbrechen",
|
||||
"hex.builtin.common.choose_file": "Datei auswählen",
|
||||
"hex.builtin.common.close": "Schliessen",
|
||||
"hex.builtin.common.comment": "Kommentar",
|
||||
"hex.builtin.common.count": "Anzahl",
|
||||
"hex.builtin.common.decimal": "Dezimal",
|
||||
"hex.builtin.common.dont_show_again": "Nicht mehr anzeigen",
|
||||
"hex.builtin.common.encoding.ascii": "ASCII",
|
||||
"hex.builtin.common.encoding.utf16be": "UTF-16BE",
|
||||
"hex.builtin.common.encoding.utf16le": "UTF-16LE",
|
||||
"hex.builtin.common.encoding.utf8": "UTF-8",
|
||||
"hex.builtin.common.endian": "Endian",
|
||||
"hex.builtin.common.error": "Fehler",
|
||||
"hex.builtin.common.fatal": "Fataler Fehler",
|
||||
"hex.builtin.common.file": "Datei",
|
||||
"hex.builtin.common.filter": "Filter",
|
||||
"hex.builtin.common.hexadecimal": "Hexadezimal",
|
||||
"hex.builtin.common.info": "Information",
|
||||
"hex.builtin.common.link": "Link",
|
||||
"hex.builtin.common.little": "Little",
|
||||
"hex.builtin.common.little_endian": "Little Endian",
|
||||
"hex.builtin.common.load": "Laden",
|
||||
"hex.builtin.common.match_selection": "Arbeitsbereich synchronisieren",
|
||||
"hex.builtin.common.name": "Name",
|
||||
"hex.builtin.common.no": "Nein",
|
||||
"hex.builtin.common.number_format": "Format",
|
||||
"hex.builtin.common.octal": "Oktal",
|
||||
"hex.builtin.common.offset": "Offset",
|
||||
"hex.builtin.common.okay": "Okay",
|
||||
"hex.builtin.common.open": "Öffnen",
|
||||
"hex.builtin.common.percentage": "Prozent",
|
||||
"hex.builtin.common.processing": "Verarbeiten",
|
||||
"hex.builtin.common.question": "Frage",
|
||||
"hex.builtin.common.range": "Bereich",
|
||||
"hex.builtin.common.range.entire_data": "Gesamte Daten",
|
||||
"hex.builtin.common.range.selection": "Auswahl",
|
||||
"hex.builtin.common.region": "Region",
|
||||
"hex.builtin.common.set": "Setzen",
|
||||
"hex.builtin.common.size": "Länge",
|
||||
"hex.builtin.common.type": "Typ",
|
||||
"hex.builtin.common.type.f32": "float",
|
||||
"hex.builtin.common.type.f64": "double",
|
||||
"hex.builtin.common.type.i16": "int16_t",
|
||||
"hex.builtin.common.type.i24": "int24_t",
|
||||
"hex.builtin.common.type.i32": "int32_t",
|
||||
"hex.builtin.common.type.i48": "int48_t",
|
||||
"hex.builtin.common.type.i64": "int64_t",
|
||||
"hex.builtin.common.type.i8": "int8_t",
|
||||
"hex.builtin.common.type.u16": "uint16_t",
|
||||
"hex.builtin.common.type.u24": "uint24_t",
|
||||
"hex.builtin.common.type.u32": "uint32_t",
|
||||
"hex.builtin.common.type.u48": "uint48_t",
|
||||
"hex.builtin.common.type.u64": "uint64_t",
|
||||
"hex.builtin.common.type.u8": "uint8_t",
|
||||
"hex.builtin.common.value": "Wert",
|
||||
"hex.builtin.common.yes": "Ja",
|
||||
"hex.builtin.hash.crc.iv": "Initialwert",
|
||||
"hex.builtin.hash.crc.poly": "Polynom",
|
||||
"hex.builtin.hash.crc.refl_in": "Reflect In",
|
||||
"hex.builtin.hash.crc.refl_out": "Reflect Out",
|
||||
"hex.builtin.hash.crc.xor_out": "XOR Out",
|
||||
"hex.builtin.hash.crc16": "CRC16",
|
||||
"hex.builtin.hash.crc32": "CRC32",
|
||||
"hex.builtin.hash.crc8": "CRC8",
|
||||
"hex.builtin.hash.md5": "MD5",
|
||||
"hex.builtin.hash.sha1": "SHA1",
|
||||
"hex.builtin.hash.sha224": "SHA224",
|
||||
"hex.builtin.hash.sha256": "SHA256",
|
||||
"hex.builtin.hash.sha384": "SHA384",
|
||||
"hex.builtin.hash.sha512": "SHA512",
|
||||
"hex.builtin.hex_editor.data_size": "Datengrösse",
|
||||
"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.inspector.ascii": "ASCII Zeichen",
|
||||
"hex.builtin.inspector.binary": "Binär (8 bit)",
|
||||
"hex.builtin.inspector.bool": "bool",
|
||||
"hex.builtin.inspector.dos_date": "DOS Date",
|
||||
"hex.builtin.inspector.dos_time": "DOS Time",
|
||||
"hex.builtin.inspector.double": "double (64 bit)",
|
||||
"hex.builtin.inspector.float": "float (32 bit)",
|
||||
"hex.builtin.inspector.float16": "half float (16 bit)",
|
||||
"hex.builtin.inspector.guid": "GUID",
|
||||
"hex.builtin.inspector.i16": "int16_t",
|
||||
"hex.builtin.inspector.i24": "int24_t",
|
||||
"hex.builtin.inspector.i32": "int32_t",
|
||||
"hex.builtin.inspector.i48": "int48_t",
|
||||
"hex.builtin.inspector.i64": "int64_t",
|
||||
"hex.builtin.inspector.i8": "int8_t",
|
||||
"hex.builtin.inspector.long_double": "long double (128 bit)",
|
||||
"hex.builtin.inspector.rgb565": "RGB565 Farbe",
|
||||
"hex.builtin.inspector.rgba8": "RGBA8 Farbe",
|
||||
"hex.builtin.inspector.sleb128": "Signed LEB128",
|
||||
"hex.builtin.inspector.string": "String",
|
||||
"hex.builtin.inspector.string16": "Wide String",
|
||||
"hex.builtin.inspector.time": "time_t",
|
||||
"hex.builtin.inspector.time32": "time32_t",
|
||||
"hex.builtin.inspector.time64": "time64_t",
|
||||
"hex.builtin.inspector.u16": "uint16_t",
|
||||
"hex.builtin.inspector.u24": "uint24_t",
|
||||
"hex.builtin.inspector.u32": "uint32_t",
|
||||
"hex.builtin.inspector.u48": "uint48_t",
|
||||
"hex.builtin.inspector.u64": "uint64_t",
|
||||
"hex.builtin.inspector.u8": "uint8_t",
|
||||
"hex.builtin.inspector.uleb128": "Unsigned LEB128",
|
||||
"hex.builtin.inspector.utf8": "UTF-8 code point",
|
||||
"hex.builtin.inspector.wide": "Wide Character",
|
||||
"hex.builtin.layouts.default": "Standard",
|
||||
"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.file": "Datei",
|
||||
"hex.builtin.menu.file.bookmark.export": "Lesezeichen exportieren",
|
||||
"hex.builtin.menu.file.bookmark.import": "Lesezeichen importieren",
|
||||
"hex.builtin.menu.file.clear_recent": "Löschen",
|
||||
"hex.builtin.menu.file.close": "Schliessen",
|
||||
"hex.builtin.menu.file.create_file": "Neue Datei...",
|
||||
"hex.builtin.menu.file.export": "Exportieren...",
|
||||
"hex.builtin.menu.file.export.base64.popup.export_error": "Datei hat kein gültiges Base64 Format!",
|
||||
"hex.builtin.menu.file.export.ips": "IPS Patch",
|
||||
"hex.builtin.menu.file.export.ips32": "IPS32 Patch",
|
||||
"hex.builtin.menu.file.export.popup.create": "Daten konnten nicht exportiert werden. Datei konnte nicht erstellt werden!",
|
||||
"hex.builtin.menu.file.export.title": "Datei exportieren",
|
||||
"hex.builtin.menu.file.import": "Importieren...",
|
||||
"hex.builtin.menu.file.import.base64": "Base64 Datei",
|
||||
"hex.builtin.menu.file.import.base64.popup.import_error": "Datei hat kein gültiges Base64 Format!",
|
||||
"hex.builtin.menu.file.import.base64.popup.open_error": "Öffnen der Datei fehlgeschlagen!",
|
||||
"hex.builtin.menu.file.import.ips": "IPS Patch",
|
||||
"hex.builtin.menu.file.import.ips32": "IPS32 Patch",
|
||||
"hex.builtin.menu.file.open_file": "Datei öffnen...",
|
||||
"hex.builtin.menu.file.open_other": "Provider öffnen...",
|
||||
"hex.builtin.menu.file.open_project": "Projekt öffnen...",
|
||||
"hex.builtin.menu.file.open_recent": "Zuletzt geöffnete Dateien",
|
||||
"hex.builtin.menu.file.quit": "ImHex beenden",
|
||||
"hex.builtin.menu.file.reload_file": "Datei neu laden",
|
||||
"hex.builtin.menu.file.save_project": "Projekt speichern",
|
||||
"hex.builtin.menu.file.save_project_as": "Projekt speichern unter...",
|
||||
"hex.builtin.menu.help": "Hilfe",
|
||||
"hex.builtin.menu.layout": "Layout",
|
||||
"hex.builtin.menu.view": "Ansicht",
|
||||
"hex.builtin.menu.view.demo": "ImGui Demo anzeigen",
|
||||
"hex.builtin.menu.view.fps": "FPS anzeigen",
|
||||
"hex.builtin.nodes.arithmetic": "Arithmetik",
|
||||
"hex.builtin.nodes.arithmetic.add": "Addition",
|
||||
"hex.builtin.nodes.arithmetic.add.header": "Plus",
|
||||
"hex.builtin.nodes.arithmetic.average": "Durchschnitt",
|
||||
"hex.builtin.nodes.arithmetic.average.header": "Durchschnitt",
|
||||
"hex.builtin.nodes.arithmetic.div": "Division",
|
||||
"hex.builtin.nodes.arithmetic.div.header": "Durch",
|
||||
"hex.builtin.nodes.arithmetic.median": "Median",
|
||||
"hex.builtin.nodes.arithmetic.median.header": "Median",
|
||||
"hex.builtin.nodes.arithmetic.mod": "Modulus",
|
||||
"hex.builtin.nodes.arithmetic.mod.header": "Modulo",
|
||||
"hex.builtin.nodes.arithmetic.mul": "Multiplikation",
|
||||
"hex.builtin.nodes.arithmetic.mul.header": "Mal",
|
||||
"hex.builtin.nodes.arithmetic.sub": "Subtraktion",
|
||||
"hex.builtin.nodes.arithmetic.sub.header": "Minus",
|
||||
"hex.builtin.nodes.bitwise": "Bitweise Operationen",
|
||||
"hex.builtin.nodes.bitwise.and": "UND",
|
||||
"hex.builtin.nodes.bitwise.and.header": "Bitweise UND",
|
||||
"hex.builtin.nodes.bitwise.not": "NICHT",
|
||||
"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.xor": "Exklusiv ODER",
|
||||
"hex.builtin.nodes.bitwise.xor.header": "Bitweise Exklusiv ODER",
|
||||
"hex.builtin.nodes.buffer": "Buffer",
|
||||
"hex.builtin.nodes.buffer.combine": "Kombinieren",
|
||||
"hex.builtin.nodes.buffer.combine.header": "Buffer kombinieren",
|
||||
"hex.builtin.nodes.buffer.patch": "Patch",
|
||||
"hex.builtin.nodes.buffer.patch.header": "Patch",
|
||||
"hex.builtin.nodes.buffer.patch.input.patch": "Patch",
|
||||
"hex.builtin.nodes.buffer.repeat": "Wiederholen",
|
||||
"hex.builtin.nodes.buffer.repeat.header": "Buffer wiederholen",
|
||||
"hex.builtin.nodes.buffer.repeat.input.buffer": "Input",
|
||||
"hex.builtin.nodes.buffer.repeat.input.count": "Anzahl",
|
||||
"hex.builtin.nodes.buffer.slice": "Zerschneiden",
|
||||
"hex.builtin.nodes.buffer.slice.header": "Buffer zerschneiden",
|
||||
"hex.builtin.nodes.buffer.slice.input.buffer": "Input",
|
||||
"hex.builtin.nodes.buffer.slice.input.from": "Von",
|
||||
"hex.builtin.nodes.buffer.slice.input.to": "Bis",
|
||||
"hex.builtin.nodes.casting": "Datenkonvertierung",
|
||||
"hex.builtin.nodes.casting.buffer_to_float": "Buffer zu Float",
|
||||
"hex.builtin.nodes.casting.buffer_to_float.header": "Buffer zu Float",
|
||||
"hex.builtin.nodes.casting.buffer_to_int": "Buffer zu Integer",
|
||||
"hex.builtin.nodes.casting.buffer_to_int.header": "Buffer zu Integer",
|
||||
"hex.builtin.nodes.casting.float_to_buffer": "Float zu Buffer",
|
||||
"hex.builtin.nodes.casting.float_to_buffer.header": "Float zu Buffer",
|
||||
"hex.builtin.nodes.casting.int_to_buffer": "Integer zu Buffer",
|
||||
"hex.builtin.nodes.casting.int_to_buffer.header": "Integer zu Buffer",
|
||||
"hex.builtin.nodes.common.height": "Höhe",
|
||||
"hex.builtin.nodes.common.input": "Input",
|
||||
"hex.builtin.nodes.common.input.a": "Input A",
|
||||
"hex.builtin.nodes.common.input.b": "Input B",
|
||||
"hex.builtin.nodes.common.output": "Output",
|
||||
"hex.builtin.nodes.common.width": "Breite",
|
||||
"hex.builtin.nodes.constants": "Konstanten",
|
||||
"hex.builtin.nodes.constants.buffer": "Buffer",
|
||||
"hex.builtin.nodes.constants.buffer.header": "Buffer",
|
||||
"hex.builtin.nodes.constants.buffer.size": "Länge",
|
||||
"hex.builtin.nodes.constants.comment": "Kommentar",
|
||||
"hex.builtin.nodes.constants.comment.header": "Kommentar",
|
||||
"hex.builtin.nodes.constants.float": "Float",
|
||||
"hex.builtin.nodes.constants.float.header": "Float",
|
||||
"hex.builtin.nodes.constants.int": "Integer",
|
||||
"hex.builtin.nodes.constants.int.header": "Integer",
|
||||
"hex.builtin.nodes.constants.nullptr": "Nullptr",
|
||||
"hex.builtin.nodes.constants.nullptr.header": "Nullptr",
|
||||
"hex.builtin.nodes.constants.rgba8": "RGBA8 Farbe",
|
||||
"hex.builtin.nodes.constants.rgba8.header": "RGBA8 Farbe",
|
||||
"hex.builtin.nodes.constants.rgba8.output.a": "Alpha",
|
||||
"hex.builtin.nodes.constants.rgba8.output.b": "Blau",
|
||||
"hex.builtin.nodes.constants.rgba8.output.g": "Grün",
|
||||
"hex.builtin.nodes.constants.rgba8.output.r": "Rot",
|
||||
"hex.builtin.nodes.constants.string": "String",
|
||||
"hex.builtin.nodes.constants.string.header": "String",
|
||||
"hex.builtin.nodes.control_flow": "Kontrollfluss",
|
||||
"hex.builtin.nodes.control_flow.and": "UND",
|
||||
"hex.builtin.nodes.control_flow.and.header": "UND Verknüpfung",
|
||||
"hex.builtin.nodes.control_flow.equals": "Gleich",
|
||||
"hex.builtin.nodes.control_flow.equals.header": "Gleich",
|
||||
"hex.builtin.nodes.control_flow.gt": "Grösser als",
|
||||
"hex.builtin.nodes.control_flow.gt.header": "Grösser als",
|
||||
"hex.builtin.nodes.control_flow.if": "If",
|
||||
"hex.builtin.nodes.control_flow.if.condition": "Bedingung",
|
||||
"hex.builtin.nodes.control_flow.if.false": "Falsch",
|
||||
"hex.builtin.nodes.control_flow.if.header": "If",
|
||||
"hex.builtin.nodes.control_flow.if.true": "Wahr",
|
||||
"hex.builtin.nodes.control_flow.lt": "Kleiner als",
|
||||
"hex.builtin.nodes.control_flow.lt.header": "Kleiner als",
|
||||
"hex.builtin.nodes.control_flow.not": "Nicht",
|
||||
"hex.builtin.nodes.control_flow.not.header": "Nicht",
|
||||
"hex.builtin.nodes.control_flow.or": "ODER",
|
||||
"hex.builtin.nodes.control_flow.or.header": "ODER Verknüpfung",
|
||||
"hex.builtin.nodes.crypto": "Kryptographie",
|
||||
"hex.builtin.nodes.crypto.aes": "AES Dekryptor",
|
||||
"hex.builtin.nodes.crypto.aes.header": "AES Dekryptor",
|
||||
"hex.builtin.nodes.crypto.aes.iv": "IV",
|
||||
"hex.builtin.nodes.crypto.aes.key": "Schlüssel",
|
||||
"hex.builtin.nodes.crypto.aes.key_length": "Schlüssellänge",
|
||||
"hex.builtin.nodes.crypto.aes.mode": "Modus",
|
||||
"hex.builtin.nodes.crypto.aes.nonce": "Nonce",
|
||||
"hex.builtin.nodes.data_access": "Datenzugriff",
|
||||
"hex.builtin.nodes.data_access.read": "Lesen",
|
||||
"hex.builtin.nodes.data_access.read.address": "Adresse",
|
||||
"hex.builtin.nodes.data_access.read.data": "Daten",
|
||||
"hex.builtin.nodes.data_access.read.header": "Lesen",
|
||||
"hex.builtin.nodes.data_access.read.size": "Grösse",
|
||||
"hex.builtin.nodes.data_access.selection": "Ausgewählte Region",
|
||||
"hex.builtin.nodes.data_access.selection.address": "Adresse",
|
||||
"hex.builtin.nodes.data_access.selection.header": "Ausgewählte Region",
|
||||
"hex.builtin.nodes.data_access.selection.size": "Grösse",
|
||||
"hex.builtin.nodes.data_access.size": "Datengrösse",
|
||||
"hex.builtin.nodes.data_access.size.header": "Datengrösse",
|
||||
"hex.builtin.nodes.data_access.size.size": "Grösse",
|
||||
"hex.builtin.nodes.data_access.write": "Schreiben",
|
||||
"hex.builtin.nodes.data_access.write.address": "Adresse",
|
||||
"hex.builtin.nodes.data_access.write.data": "Daten",
|
||||
"hex.builtin.nodes.data_access.write.header": "Schreiben",
|
||||
"hex.builtin.nodes.decoding": "Dekodieren",
|
||||
"hex.builtin.nodes.decoding.base64": "Base64",
|
||||
"hex.builtin.nodes.decoding.base64.header": "Base64 Dekodierer",
|
||||
"hex.builtin.nodes.decoding.hex": "Hexadezimal",
|
||||
"hex.builtin.nodes.decoding.hex.header": "Hexadezimal Dekodierer",
|
||||
"hex.builtin.nodes.display": "Anzeigen",
|
||||
"hex.builtin.nodes.display.buffer": "Buffer",
|
||||
"hex.builtin.nodes.display.buffer.header": "Buffer anzeigen",
|
||||
"hex.builtin.nodes.display.float": "Float",
|
||||
"hex.builtin.nodes.display.float.header": "Float anzeigen",
|
||||
"hex.builtin.nodes.display.int": "Integer",
|
||||
"hex.builtin.nodes.display.int.header": "Integer anzeigen",
|
||||
"hex.builtin.nodes.display.string": "String",
|
||||
"hex.builtin.nodes.display.string.header": "String anzeigen",
|
||||
"hex.builtin.nodes.pattern_language": "Pattern Language",
|
||||
"hex.builtin.nodes.pattern_language.out_var": "Out Variable",
|
||||
"hex.builtin.nodes.pattern_language.out_var.header": "Out Variable",
|
||||
"hex.builtin.nodes.visualizer": "Visualisierung",
|
||||
"hex.builtin.nodes.visualizer.byte_distribution": "Byteverteilung",
|
||||
"hex.builtin.nodes.visualizer.byte_distribution.header": "Byteverteilung",
|
||||
"hex.builtin.nodes.visualizer.digram": "Digramm",
|
||||
"hex.builtin.nodes.visualizer.digram.header": "Digramm",
|
||||
"hex.builtin.nodes.visualizer.image": "Bild",
|
||||
"hex.builtin.nodes.visualizer.image.header": "Bild",
|
||||
"hex.builtin.nodes.visualizer.image_rgba": "RGBA8 Bild",
|
||||
"hex.builtin.nodes.visualizer.image_rgba.header": "RGBA8 Bild",
|
||||
"hex.builtin.nodes.visualizer.layered_dist": "Schichtverteilung",
|
||||
"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.offset": "Offset",
|
||||
"hex.builtin.pattern_drawer.size": "Grösse",
|
||||
"hex.builtin.pattern_drawer.type": "Typ",
|
||||
"hex.builtin.pattern_drawer.value": "Wert",
|
||||
"hex.builtin.pattern_drawer.var_name": "Name",
|
||||
"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.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.provider.disk": "Datenträger Provider",
|
||||
"hex.builtin.provider.disk.disk_size": "Datenträgergrösse",
|
||||
"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.file": "Datei Provider",
|
||||
"hex.builtin.provider.file.access": "Letzte Zugriffszeit",
|
||||
"hex.builtin.provider.file.creation": "Erstellungszeit",
|
||||
"hex.builtin.provider.file.modification": "Letzte Modifikationszeit",
|
||||
"hex.builtin.provider.file.path": "Dateipfad",
|
||||
"hex.builtin.provider.file.size": "Größe",
|
||||
"hex.builtin.provider.gdb": "GDB Server Provider",
|
||||
"hex.builtin.provider.gdb.ip": "IP Adresse",
|
||||
"hex.builtin.provider.gdb.name": "GDB Server <{0}:{1}>",
|
||||
"hex.builtin.provider.gdb.port": "Port",
|
||||
"hex.builtin.provider.gdb.server": "Server",
|
||||
"hex.builtin.provider.intel_hex": "Intel Hex Provider",
|
||||
"hex.builtin.provider.intel_hex.name": "Intel Hex {0}",
|
||||
"hex.builtin.provider.mem_file": "RAM Datei",
|
||||
"hex.builtin.provider.mem_file.unsaved": "Ungespeicherte Datei",
|
||||
"hex.builtin.provider.motorola_srec": "Motorola SREC Provider",
|
||||
"hex.builtin.provider.motorola_srec.name": "Motorola SREC {0}",
|
||||
"hex.builtin.provider.view": "Ansicht",
|
||||
"hex.builtin.setting.folders": "Ordner",
|
||||
"hex.builtin.setting.folders.add_folder": "Neuer Ordner hinzufügen",
|
||||
"hex.builtin.setting.folders.description": "Gib zusätzliche Orderpfade an, in welchen Pattern, Scripts, Yara Rules und anderes gesucht wird",
|
||||
"hex.builtin.setting.folders.remove_folder": "Ausgewählter Ordner von Liste entfernen",
|
||||
"hex.builtin.setting.font": "Schriftart",
|
||||
"hex.builtin.setting.font.font_path": "Eigene Schriftart",
|
||||
"hex.builtin.setting.font.font_size": "Schriftgrösse",
|
||||
"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.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.unlocked": "Unbegrenzt",
|
||||
"hex.builtin.setting.interface.language": "Sprache",
|
||||
"hex.builtin.setting.interface.multi_windows": "Multi-Window-Unterstützung aktivieren",
|
||||
"hex.builtin.setting.interface.scaling": "Skalierung",
|
||||
"hex.builtin.setting.interface.scaling.native": "Nativ",
|
||||
"hex.builtin.setting.interface.scaling.x0_5": "x0.5",
|
||||
"hex.builtin.setting.interface.scaling.x1_0": "x1.0",
|
||||
"hex.builtin.setting.interface.scaling.x1_5": "x1.5",
|
||||
"hex.builtin.setting.interface.scaling.x2_0": "x2.0",
|
||||
"hex.builtin.setting.interface.scaling.x3_0": "x3.0",
|
||||
"hex.builtin.setting.interface.scaling.x4_0": "x4.0",
|
||||
"hex.builtin.setting.interface.wiki_explain_language": "Wikipedia Sprache",
|
||||
"hex.builtin.setting.proxy": "Proxy",
|
||||
"hex.builtin.setting.proxy.description": "Proxy wird bei allen Netzwerkverbindungen angewendet.",
|
||||
"hex.builtin.setting.proxy.enable": "Proxy aktivieren",
|
||||
"hex.builtin.setting.proxy.url": "Proxy URL",
|
||||
"hex.builtin.setting.proxy.url.tooltip": "http(s):// oder socks5:// (z.B, http://127.0.0.1:1080)",
|
||||
"hex.builtin.tools.ascii_table": "ASCII Tabelle",
|
||||
"hex.builtin.tools.ascii_table.octal": "Oktal anzeigen",
|
||||
"hex.builtin.tools.base_converter": "Basiskonverter",
|
||||
"hex.builtin.tools.base_converter.bin": "BIN",
|
||||
"hex.builtin.tools.base_converter.dec": "DEC",
|
||||
"hex.builtin.tools.base_converter.hex": "HEX",
|
||||
"hex.builtin.tools.base_converter.oct": "OCT",
|
||||
"hex.builtin.tools.calc": "Rechner",
|
||||
"hex.builtin.tools.color": "Farbwähler",
|
||||
"hex.builtin.tools.demangler": "LLVM Demangler",
|
||||
"hex.builtin.tools.demangler.demangled": "Demangled Name",
|
||||
"hex.builtin.tools.demangler.mangled": "Mangled Name",
|
||||
"hex.builtin.tools.error": "Letzter Fehler: '{0}'",
|
||||
"hex.builtin.tools.file_tools": "File Tools",
|
||||
"hex.builtin.tools.file_tools.combiner": "Kombinierer",
|
||||
"hex.builtin.tools.file_tools.combiner.add": "Hinzufügen...",
|
||||
"hex.builtin.tools.file_tools.combiner.add.picker": "Datei hinzufügen",
|
||||
"hex.builtin.tools.file_tools.combiner.clear": "Alle entfernen",
|
||||
"hex.builtin.tools.file_tools.combiner.combine": "Kombinieren",
|
||||
"hex.builtin.tools.file_tools.combiner.combining": "Kombiniert...",
|
||||
"hex.builtin.tools.file_tools.combiner.delete": "Entfernen",
|
||||
"hex.builtin.tools.file_tools.combiner.error.open_output": "Erstellen der Zieldatei fehlgeschlagen",
|
||||
"hex.builtin.tools.file_tools.combiner.open_input": "Öffnen der Datei {0} fehlgeschlagen",
|
||||
"hex.builtin.tools.file_tools.combiner.output": "Zieldatei ",
|
||||
"hex.builtin.tools.file_tools.combiner.output.picker": "Zielpfad setzen",
|
||||
"hex.builtin.tools.file_tools.combiner.success": "Dateien erfolgreich kombiniert!",
|
||||
"hex.builtin.tools.file_tools.shredder": "Schredder",
|
||||
"hex.builtin.tools.file_tools.shredder.error.open": "Öffnen der ausgewählten Datei fehlgeschlagen",
|
||||
"hex.builtin.tools.file_tools.shredder.fast": "Schneller Modus",
|
||||
"hex.builtin.tools.file_tools.shredder.input": "Datei zum schreddern",
|
||||
"hex.builtin.tools.file_tools.shredder.picker": "Öffne Datei zum schreddern",
|
||||
"hex.builtin.tools.file_tools.shredder.shred": "Schreddern",
|
||||
"hex.builtin.tools.file_tools.shredder.shredding": "Schreddert...",
|
||||
"hex.builtin.tools.file_tools.shredder.success": "Datei erfolgreich geschreddert!",
|
||||
"hex.builtin.tools.file_tools.shredder.warning": "Dieses Tool zerstört eine Datei UNWIDERRUFLICH. Mit Vorsicht verwenden",
|
||||
"hex.builtin.tools.file_tools.splitter": "Splitter",
|
||||
"hex.builtin.tools.file_tools.splitter.input": "Zu splittende Datei ",
|
||||
"hex.builtin.tools.file_tools.splitter.output": "Zielpfad",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.create": "Erstellen der Teildatei {0} fehlgeschlagen",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.open": "Öffnen der ausgewählten Datei fehlgeschlagen",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.size": "Datei ist kleiner aus Zielgrösse",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.input": "Zu splittende Datei öffnen",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.output": "Zielpfad setzen",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.split": "Splitten",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.splitting": "Splitte...",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.success": "Datei erfolgreich gesplittet.",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.3_5_floppy": "3½\" Floppy disk (1400KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.5_75_floppy": "5¼\" Floppy disk (1200KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom650": "CD-ROM (650MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom700": "CD-ROM (700MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.custom": "Benutzerdefiniert",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.fat32": "FAT32 (4GiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip100": "Zip 100 Disk (100MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip200": "Zip 200 Disk (200MiB)",
|
||||
"hex.builtin.tools.file_uploader": "File Uploader",
|
||||
"hex.builtin.tools.file_uploader.control": "Einstellungen",
|
||||
"hex.builtin.tools.file_uploader.done": "Fertig!",
|
||||
"hex.builtin.tools.file_uploader.error": "Dateiupload fehlgeschlagen\n\nError Code: {0}",
|
||||
"hex.builtin.tools.file_uploader.invalid_response": "Ungültige Antwort von Anonfiles!",
|
||||
"hex.builtin.tools.file_uploader.recent": "Letzte Uploads",
|
||||
"hex.builtin.tools.file_uploader.tooltip": "Klicken zum Kopieren\nSTRG + Klicken zum Öffnen",
|
||||
"hex.builtin.tools.file_uploader.upload": "Upload",
|
||||
"hex.builtin.tools.format.engineering": "Ingenieur",
|
||||
"hex.builtin.tools.format.programmer": "Programmierer",
|
||||
"hex.builtin.tools.format.scientific": "Wissenschaftlich",
|
||||
"hex.builtin.tools.format.standard": "Standard",
|
||||
"hex.builtin.tools.history": "Verlauf",
|
||||
"hex.builtin.tools.ieee756": "IEEE 756 Gleitkommazahl Tester",
|
||||
"hex.builtin.tools.ieee756.double_precision": "Doppelte Genauigkeit",
|
||||
"hex.builtin.tools.ieee756.exponent": "Exponent",
|
||||
"hex.builtin.tools.ieee756.exponent_size": "Exponentengrösse",
|
||||
"hex.builtin.tools.ieee756.formula": "Formel",
|
||||
"hex.builtin.tools.ieee756.half_precision": "Halbe Genauigkeit",
|
||||
"hex.builtin.tools.ieee756.mantissa": "Mantisse",
|
||||
"hex.builtin.tools.ieee756.mantissa_size": "Mantissengrösse",
|
||||
"hex.builtin.tools.ieee756.result.float": "Gleitkomma Resultat",
|
||||
"hex.builtin.tools.ieee756.result.hex": "Hexadezimal Resultat",
|
||||
"hex.builtin.tools.ieee756.result.title": "Resultat",
|
||||
"hex.builtin.tools.ieee756.sign": "Vorzeichen",
|
||||
"hex.builtin.tools.ieee756.singe_precision": "Einfache Genauigkeit",
|
||||
"hex.builtin.tools.ieee756.type": "Typ",
|
||||
"hex.builtin.tools.input": "Input",
|
||||
"hex.builtin.tools.name": "Name",
|
||||
"hex.builtin.tools.permissions": "UNIX Berechtigungsrechner",
|
||||
"hex.builtin.tools.permissions.absolute": "Absolute Notation",
|
||||
"hex.builtin.tools.permissions.perm_bits": "Berechtigungsbits",
|
||||
"hex.builtin.tools.permissions.setgid_error": "Group benötigt execute Rechte, damit setgid bit gilt!",
|
||||
"hex.builtin.tools.permissions.setuid_error": "User benötigt execute Rechte, damit setuid bit gilt!",
|
||||
"hex.builtin.tools.permissions.sticky_error": "Other benötigt execute Rechte, damit sticky bit gilt!",
|
||||
"hex.builtin.tools.regex_replacer": "Regex Ersetzung",
|
||||
"hex.builtin.tools.regex_replacer.input": "Input",
|
||||
"hex.builtin.tools.regex_replacer.output": "Output",
|
||||
"hex.builtin.tools.regex_replacer.pattern": "Regex Pattern",
|
||||
"hex.builtin.tools.regex_replacer.replace": "Ersatz Pattern",
|
||||
"hex.builtin.tools.value": "Wert",
|
||||
"hex.builtin.tools.wiki_explain": "Wikipedia Definition",
|
||||
"hex.builtin.tools.wiki_explain.control": "Einstellungen",
|
||||
"hex.builtin.tools.wiki_explain.invalid_response": "Ungültige Antwort von Wikipedia!",
|
||||
"hex.builtin.tools.wiki_explain.results": "Resultate",
|
||||
"hex.builtin.tools.wiki_explain.search": "Suchen",
|
||||
"hex.builtin.view.bookmarks.address": "0x{0:X} : 0x{1:X} ({2} Bytes)",
|
||||
"hex.builtin.view.bookmarks.button.jump": "Gehe zu",
|
||||
"hex.builtin.view.bookmarks.button.remove": "Entfernen",
|
||||
"hex.builtin.view.bookmarks.default_title": "Lesezeichen [0x{0:X} - 0x{1:X}]",
|
||||
"hex.builtin.view.bookmarks.header.color": "Farbe",
|
||||
"hex.builtin.view.bookmarks.header.comment": "Kommentar",
|
||||
"hex.builtin.view.bookmarks.header.name": "Name",
|
||||
"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.command_palette.name": "Befehlspalette",
|
||||
"hex.builtin.view.constants.name": "Konstanten",
|
||||
"hex.builtin.view.constants.row.category": "Kategorie",
|
||||
"hex.builtin.view.constants.row.desc": "Beschreibung",
|
||||
"hex.builtin.view.constants.row.name": "Name",
|
||||
"hex.builtin.view.constants.row.value": "Wert",
|
||||
"hex.builtin.view.data_inspector.invert": "Invertieren",
|
||||
"hex.builtin.view.data_inspector.name": "Dateninspektor",
|
||||
"hex.builtin.view.data_inspector.no_data": "Keine Bytes ausgewählt",
|
||||
"hex.builtin.view.data_inspector.table.name": "Name",
|
||||
"hex.builtin.view.data_inspector.table.value": "Wert",
|
||||
"hex.builtin.view.data_processor.help_text": "Rechtsklicken um neuen Knoten zu erstellen",
|
||||
"hex.builtin.view.data_processor.menu.file.load_processor": "Datenprozessor laden...",
|
||||
"hex.builtin.view.data_processor.menu.file.save_processor": "Datenprozessor speichern...",
|
||||
"hex.builtin.view.data_processor.menu.remove_link": "Link entfernen",
|
||||
"hex.builtin.view.data_processor.menu.remove_node": "Knoten entfernen",
|
||||
"hex.builtin.view.data_processor.menu.remove_selection": "Auswahl entfernen",
|
||||
"hex.builtin.view.data_processor.name": "Datenprozessor",
|
||||
"hex.builtin.view.diff.name": "Diffing",
|
||||
"hex.builtin.view.disassembler.16bit": "16-bit",
|
||||
"hex.builtin.view.disassembler.32bit": "32-bit",
|
||||
"hex.builtin.view.disassembler.64bit": "64-bit",
|
||||
"hex.builtin.view.disassembler.arch": "Architektur",
|
||||
"hex.builtin.view.disassembler.arm.arm": "ARM",
|
||||
"hex.builtin.view.disassembler.arm.armv8": "ARMv8",
|
||||
"hex.builtin.view.disassembler.arm.cortex_m": "Cortex-M",
|
||||
"hex.builtin.view.disassembler.arm.default": "Standard",
|
||||
"hex.builtin.view.disassembler.arm.thumb": "Thumb",
|
||||
"hex.builtin.view.disassembler.base": "Basisadresse",
|
||||
"hex.builtin.view.disassembler.bpf.classic": "Classic",
|
||||
"hex.builtin.view.disassembler.bpf.extended": "Extended",
|
||||
"hex.builtin.view.disassembler.disassemble": "Disassemble",
|
||||
"hex.builtin.view.disassembler.disassembling": "Disassemblen...",
|
||||
"hex.builtin.view.disassembler.disassembly.address": "Adresse",
|
||||
"hex.builtin.view.disassembler.disassembly.bytes": "Byte",
|
||||
"hex.builtin.view.disassembler.disassembly.offset": "Offset",
|
||||
"hex.builtin.view.disassembler.disassembly.title": "Disassembly",
|
||||
"hex.builtin.view.disassembler.m680x.6301": "6301",
|
||||
"hex.builtin.view.disassembler.m680x.6309": "6309",
|
||||
"hex.builtin.view.disassembler.m680x.6800": "6800",
|
||||
"hex.builtin.view.disassembler.m680x.6801": "6801",
|
||||
"hex.builtin.view.disassembler.m680x.6805": "6805",
|
||||
"hex.builtin.view.disassembler.m680x.6808": "6808",
|
||||
"hex.builtin.view.disassembler.m680x.6809": "6809",
|
||||
"hex.builtin.view.disassembler.m680x.6811": "6811",
|
||||
"hex.builtin.view.disassembler.m680x.cpu12": "CPU12",
|
||||
"hex.builtin.view.disassembler.m680x.hcs08": "HCS08",
|
||||
"hex.builtin.view.disassembler.m68k.000": "000",
|
||||
"hex.builtin.view.disassembler.m68k.010": "010",
|
||||
"hex.builtin.view.disassembler.m68k.020": "020",
|
||||
"hex.builtin.view.disassembler.m68k.030": "030",
|
||||
"hex.builtin.view.disassembler.m68k.040": "040",
|
||||
"hex.builtin.view.disassembler.m68k.060": "060",
|
||||
"hex.builtin.view.disassembler.mips.micro": "Micro",
|
||||
"hex.builtin.view.disassembler.mips.mips2": "MIPS II",
|
||||
"hex.builtin.view.disassembler.mips.mips3": "MIPS III",
|
||||
"hex.builtin.view.disassembler.mips.mips32": "MIPS32",
|
||||
"hex.builtin.view.disassembler.mips.mips32R6": "MIPS32R6",
|
||||
"hex.builtin.view.disassembler.mips.mips64": "MIPS64",
|
||||
"hex.builtin.view.disassembler.mos65xx.6502": "6502",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816": "65816",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_m": "65816 Long M",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_mx": "65816 Long MX",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_x": "65816 Long X",
|
||||
"hex.builtin.view.disassembler.mos65xx.65c02": "65C02",
|
||||
"hex.builtin.view.disassembler.mos65xx.w65c02": "W65C02",
|
||||
"hex.builtin.view.disassembler.name": "Disassembler",
|
||||
"hex.builtin.view.disassembler.position": "Position",
|
||||
"hex.builtin.view.disassembler.ppc.booke": "Book-E",
|
||||
"hex.builtin.view.disassembler.ppc.qpx": "Quad Processing Extensions",
|
||||
"hex.builtin.view.disassembler.ppc.spe": "Signal Processing Engine",
|
||||
"hex.builtin.view.disassembler.region": "Code Region",
|
||||
"hex.builtin.view.disassembler.riscv.compressed": "Komprimiert",
|
||||
"hex.builtin.view.disassembler.settings.header": "Einstellungen",
|
||||
"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.context.copy": "Wert kopieren",
|
||||
"hex.builtin.view.find.context.copy_demangle": "Demangled Wert kopieren",
|
||||
"hex.builtin.view.find.demangled": "Demangled",
|
||||
"hex.builtin.view.find.name": "Suchen",
|
||||
"hex.builtin.view.find.regex": "Regex",
|
||||
"hex.builtin.view.find.regex.full_match": "Vollständige Übereinstimmung",
|
||||
"hex.builtin.view.find.regex.pattern": "Pattern",
|
||||
"hex.builtin.view.find.search": "Suchen",
|
||||
"hex.builtin.view.find.search.entries": "{} Einträge gefunden",
|
||||
"hex.builtin.view.find.search.reset": "Zurücksetzen",
|
||||
"hex.builtin.view.find.searching": "Suchen...",
|
||||
"hex.builtin.view.find.sequences": "Sequenzen",
|
||||
"hex.builtin.view.find.strings": "Strings",
|
||||
"hex.builtin.view.find.strings.chars": "Zeichen",
|
||||
"hex.builtin.view.find.strings.line_feeds": "Line Feeds",
|
||||
"hex.builtin.view.find.strings.lower_case": "Kleinbuchstaben",
|
||||
"hex.builtin.view.find.strings.match_settings": "Sucheinstellungen",
|
||||
"hex.builtin.view.find.strings.min_length": "Minimallänge",
|
||||
"hex.builtin.view.find.strings.null_term": "Null-Terminierung",
|
||||
"hex.builtin.view.find.strings.numbers": "Zahlen",
|
||||
"hex.builtin.view.find.strings.spaces": "Leerzeichen",
|
||||
"hex.builtin.view.find.strings.symbols": "Symbole",
|
||||
"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.max": "Maximalwert",
|
||||
"hex.builtin.view.find.value.min": "Minimalwert",
|
||||
"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.",
|
||||
"hex.builtin.view.hashes.name": "Hashes",
|
||||
"hex.builtin.view.hashes.no_settings": "Keine Einstellungen verfügbar",
|
||||
"hex.builtin.view.hashes.remove": "Hash entfernen",
|
||||
"hex.builtin.view.hashes.table.name": "Name",
|
||||
"hex.builtin.view.hashes.table.result": "Resultat",
|
||||
"hex.builtin.view.hashes.table.type": "Typ",
|
||||
"hex.builtin.view.help.about.contributor": "Mitwirkende",
|
||||
"hex.builtin.view.help.about.donations": "Spenden",
|
||||
"hex.builtin.view.help.about.libs": "Benutzte Libraries",
|
||||
"hex.builtin.view.help.about.license": "Lizenz",
|
||||
"hex.builtin.view.help.about.name": "Über ImHex",
|
||||
"hex.builtin.view.help.about.paths": "ImHex Ordner",
|
||||
"hex.builtin.view.help.about.source": "Quellcode auf GitHub verfügbar:",
|
||||
"hex.builtin.view.help.about.thanks": "Wenn dir meine Arbeit gefällt, bitte ziehe eine Spende in Betracht, um das Projekt am Laufen zu halten. Vielen Dank <3",
|
||||
"hex.builtin.view.help.about.translator": "Von WerWolv übersetzt",
|
||||
"hex.builtin.view.help.calc_cheat_sheet": "Rechner Cheat Sheet",
|
||||
"hex.builtin.view.help.documentation": "ImHex Dokumentation",
|
||||
"hex.builtin.view.help.name": "Hilfe",
|
||||
"hex.builtin.view.help.pattern_cheat_sheet": "Pattern Language Cheat Sheet",
|
||||
"hex.builtin.view.hex_editor.copy.address": "Adresse",
|
||||
"hex.builtin.view.hex_editor.copy.ascii": "Text Area",
|
||||
"hex.builtin.view.hex_editor.copy.base64": "Base64",
|
||||
"hex.builtin.view.hex_editor.copy.c": "C Array",
|
||||
"hex.builtin.view.hex_editor.copy.cpp": "C++ Array",
|
||||
"hex.builtin.view.hex_editor.copy.crystal": "Crystal Array",
|
||||
"hex.builtin.view.hex_editor.copy.csharp": "C# Array",
|
||||
"hex.builtin.view.hex_editor.copy.go": "Go Array",
|
||||
"hex.builtin.view.hex_editor.copy.hex": "Hex String",
|
||||
"hex.builtin.view.hex_editor.copy.html": "HTML",
|
||||
"hex.builtin.view.hex_editor.copy.java": "Java Array",
|
||||
"hex.builtin.view.hex_editor.copy.js": "JavaScript Array",
|
||||
"hex.builtin.view.hex_editor.copy.lua": "Lua Array",
|
||||
"hex.builtin.view.hex_editor.copy.pascal": "Pascal Array",
|
||||
"hex.builtin.view.hex_editor.copy.python": "Python Array",
|
||||
"hex.builtin.view.hex_editor.copy.rust": "Rust Array",
|
||||
"hex.builtin.view.hex_editor.copy.swift": "Swift Array",
|
||||
"hex.builtin.view.hex_editor.goto.offset.absolute": "Absolut",
|
||||
"hex.builtin.view.hex_editor.goto.offset.begin": "Beginn",
|
||||
"hex.builtin.view.hex_editor.goto.offset.end": "Ende",
|
||||
"hex.builtin.view.hex_editor.goto.offset.relative": "Relative",
|
||||
"hex.builtin.view.hex_editor.menu.edit.copy": "Kopieren",
|
||||
"hex.builtin.view.hex_editor.menu.edit.copy_as": "Kopieren als...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.insert": "Einsetzen...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.jump_to": "Gehe zu",
|
||||
"hex.builtin.view.hex_editor.menu.edit.open_in_new_provider": "Auswahlansicht öffnen...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste": "Einfügen",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste_all": "Alles einfügen",
|
||||
"hex.builtin.view.hex_editor.menu.edit.remove": "Entfernen...",
|
||||
"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.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",
|
||||
"hex.builtin.view.hex_editor.menu.file.save_as": "Speichern unter...",
|
||||
"hex.builtin.view.hex_editor.menu.file.search": "Suchen",
|
||||
"hex.builtin.view.hex_editor.menu.file.select": "Auswählen",
|
||||
"hex.builtin.view.hex_editor.name": "Hex Editor",
|
||||
"hex.builtin.view.hex_editor.search.find": "Suchen",
|
||||
"hex.builtin.view.hex_editor.search.hex": "Hex",
|
||||
"hex.builtin.view.hex_editor.search.string": "String",
|
||||
"hex.builtin.view.hex_editor.select.offset.begin": "Beginn",
|
||||
"hex.builtin.view.hex_editor.select.offset.end": "Ende",
|
||||
"hex.builtin.view.hex_editor.select.offset.region": "Region",
|
||||
"hex.builtin.view.hex_editor.select.offset.size": "Grösse",
|
||||
"hex.builtin.view.hex_editor.select.select": "Auswählen",
|
||||
"hex.builtin.view.information.analyze": "Seite analysieren",
|
||||
"hex.builtin.view.information.analyzing": "Analysiere...",
|
||||
"hex.builtin.view.information.block_size": "Blockgrösse",
|
||||
"hex.builtin.view.information.block_size.desc": "{0} Blöcke mit {1} Bytes",
|
||||
"hex.builtin.view.information.byte_types": "Byte Typen",
|
||||
"hex.builtin.view.information.control": "Einstellungen",
|
||||
"hex.builtin.view.information.description": "Beschreibung:",
|
||||
"hex.builtin.view.information.digram": "Diagramm",
|
||||
"hex.builtin.view.information.distribution": "Byte Verteilung",
|
||||
"hex.builtin.view.information.encrypted": "Diese Daten sind vermutlich verschlüsselt oder komprimiert!",
|
||||
"hex.builtin.view.information.entropy": "Entropie",
|
||||
"hex.builtin.view.information.file_entropy": "Dateientropie",
|
||||
"hex.builtin.view.information.highest_entropy": "Höchste Blockentropie",
|
||||
"hex.builtin.view.information.info_analysis": "Informationsanalyse",
|
||||
"hex.builtin.view.information.layered_distribution": "Schichtverteilung",
|
||||
"hex.builtin.view.information.magic": "Magic Informationen",
|
||||
"hex.builtin.view.information.magic_db_added": "Magic Datenbank hinzugefügt!",
|
||||
"hex.builtin.view.information.mime": "MIME Typ:",
|
||||
"hex.builtin.view.information.name": "Dateninformationen",
|
||||
"hex.builtin.view.information.region": "Analysierte Region",
|
||||
"hex.builtin.view.information.plain_text": "Diese Daten sind vermutlich einfacher Text.",
|
||||
"hex.builtin.view.information.plain_text_percentage": "Klartext Prozentanteil",
|
||||
"hex.builtin.view.patches.name": "Patches",
|
||||
"hex.builtin.view.patches.offset": "Offset",
|
||||
"hex.builtin.view.patches.orig": "Originalwert",
|
||||
"hex.builtin.view.patches.patch": "Patchwert",
|
||||
"hex.builtin.view.patches.remove": "Patch entfernen",
|
||||
"hex.builtin.view.pattern_data.name": "Pattern Daten",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern": "Pattern akzeptieren",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.desc": "Ein oder mehrere kompatible Pattern wurden für diesen Dateityp gefunden",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.pattern_language": "Pattern",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.question": "Ausgewähltes Pattern anwenden?",
|
||||
"hex.builtin.view.pattern_editor.auto": "Auto evaluieren",
|
||||
"hex.builtin.view.pattern_editor.console": "Konsole",
|
||||
"hex.builtin.view.pattern_editor.dangerous_function.desc": "Dieses Pattern hat versucht eine gefährliche Funktion aufzurufen.\nBist du sicher, dass du diesem Pattern vertraust?",
|
||||
"hex.builtin.view.pattern_editor.dangerous_function.name": "Gefährliche Funktion erlauben?",
|
||||
"hex.builtin.view.pattern_editor.env_vars": "Umgebungsvariablen",
|
||||
"hex.builtin.view.pattern_editor.evaluating": "Evaluiere...",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern": "Pattern platzieren...",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin": "Built-in Type",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.array": "Array",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.single": "Einzeln",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.custom": "Benutzerdefinierter Type",
|
||||
"hex.builtin.view.pattern_editor.menu.file.load_pattern": "Pattern laden...",
|
||||
"hex.builtin.view.pattern_editor.menu.file.save_pattern": "Pattern speichern...",
|
||||
"hex.builtin.view.pattern_editor.name": "Pattern Editor",
|
||||
"hex.builtin.view.pattern_editor.no_in_out_vars": "Definiere globale Variablen mit dem 'in' oder 'out' Spezifikationssymbol damit diese hier auftauchen.",
|
||||
"hex.builtin.view.pattern_editor.open_pattern": "Pattern öffnen",
|
||||
"hex.builtin.view.pattern_editor.section_popup": "Sektion",
|
||||
"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_popup": "Provider öffnen",
|
||||
"hex.builtin.view.provider_settings.name": "Provider Einstellungen",
|
||||
"hex.builtin.view.settings.name": "Einstellungen",
|
||||
"hex.builtin.view.settings.restart_question": "Eine Änderung, die du gemacht hast, benötigt einen Neustart von ImHex. Möchtest du ImHex jetzt neu starten?",
|
||||
"hex.builtin.view.store.desc": "Downloade zusätzlichen Content von ImHex's Online Datenbank",
|
||||
"hex.builtin.view.store.download": "Download",
|
||||
"hex.builtin.view.store.download_error": "Datei konnte nicht heruntergeladen werden! Zielordner konnte nicht gefunden werden.",
|
||||
"hex.builtin.view.store.loading": "Store Inhalt wird geladen...",
|
||||
"hex.builtin.view.store.name": "Content Store",
|
||||
"hex.builtin.view.store.netfailed": "Netzwerkanfrage an Content Store ist fehlgeschlagen!",
|
||||
"hex.builtin.view.store.reload": "Neu laden",
|
||||
"hex.builtin.view.store.remove": "Entfernen",
|
||||
"hex.builtin.view.store.row.description": "Beschreibung",
|
||||
"hex.builtin.view.store.row.name": "Name",
|
||||
"hex.builtin.view.store.tab.constants": "Konstanten",
|
||||
"hex.builtin.view.store.tab.encodings": "Encodings",
|
||||
"hex.builtin.view.store.tab.libraries": "Libraries",
|
||||
"hex.builtin.view.store.tab.magics": "Magic Files",
|
||||
"hex.builtin.view.store.tab.patterns": "Patterns",
|
||||
"hex.builtin.view.store.tab.yara": "Yara Regeln",
|
||||
"hex.builtin.view.store.update": "Update",
|
||||
"hex.builtin.view.tools.name": "Werkzeuge",
|
||||
"hex.builtin.view.yara.error": "Yara Kompilerfehler: ",
|
||||
"hex.builtin.view.yara.header.matches": "Treffer",
|
||||
"hex.builtin.view.yara.header.rules": "Regeln",
|
||||
"hex.builtin.view.yara.match": "Regeln anwenden",
|
||||
"hex.builtin.view.yara.matches.identifier": "Kennung",
|
||||
"hex.builtin.view.yara.matches.variable": "Variable",
|
||||
"hex.builtin.view.yara.matching": "Anwenden...",
|
||||
"hex.builtin.view.yara.name": "Yara Regeln",
|
||||
"hex.builtin.view.yara.no_rules": "Keine Yara Regeln gefunden. Platziere sie in ImHex's 'yara' Ordner",
|
||||
"hex.builtin.view.yara.reload": "Neu laden",
|
||||
"hex.builtin.view.yara.reset": "Zurücksetzen",
|
||||
"hex.builtin.view.yara.rule_added": "Yara Regel hinzugefügt!",
|
||||
"hex.builtin.view.yara.whole_data": "Gesamte Daten Übereinstimmung!",
|
||||
"hex.builtin.visualizer.decimal.signed.16bit": "Dezimal Signed (16 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.32bit": "Dezimal Signed (32 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.64bit": "Dezimal Signed (64 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.8bit": "Dezimal Signed (8 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.16bit": "Dezimal Unsigned (16 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.32bit": "Dezimal Unsigned (32 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.64bit": "Dezimal Unsigned (64 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.8bit": "Dezimal Unsigned (8 bits)",
|
||||
"hex.builtin.visualizer.floating_point.16bit": "Floating Point (16 bits)",
|
||||
"hex.builtin.visualizer.floating_point.32bit": "Floating Point (32 bits)",
|
||||
"hex.builtin.visualizer.floating_point.64bit": "Floating Point (64 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.16bit": "Hexadezimal (16 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.32bit": "Hexadezimal (32 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.64bit": "Hexadezimal (64 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.8bit": "Hexadezimal (8 bits)",
|
||||
"hex.builtin.visualizer.hexii": "HexII",
|
||||
"hex.builtin.visualizer.rgba8": "RGBA8 Farbe",
|
||||
"hex.builtin.welcome.check_for_updates_text": "Möchtest du beim Start automatisch nach Updates suchen?\nMögliche Updates werden auf der Registerkarte 'Update' des Willkommensbildschirms angezeigt.",
|
||||
"hex.builtin.welcome.customize.settings.desc": "Ändere ImHex's Einstellungen",
|
||||
"hex.builtin.welcome.customize.settings.title": "Einstellungen",
|
||||
"hex.builtin.welcome.header.customize": "Anpassen",
|
||||
"hex.builtin.welcome.header.help": "Hilfe",
|
||||
"hex.builtin.welcome.header.learn": "Lernen",
|
||||
"hex.builtin.welcome.header.main": "Willkommen zu ImHex",
|
||||
"hex.builtin.welcome.header.plugins": "Geladene Plugins",
|
||||
"hex.builtin.welcome.header.start": "Start",
|
||||
"hex.builtin.welcome.header.update": "Updates",
|
||||
"hex.builtin.welcome.header.various": "Verschiedenes",
|
||||
"hex.builtin.welcome.help.discord": "Discord Server",
|
||||
"hex.builtin.welcome.help.discord.link": "https://imhex.werwolv.net/discord",
|
||||
"hex.builtin.welcome.help.gethelp": "Hilfe erhalten",
|
||||
"hex.builtin.welcome.help.gethelp.link": "https://github.com/WerWolv/ImHex/discussions/categories/get-help",
|
||||
"hex.builtin.welcome.help.repo": "GitHub Repository",
|
||||
"hex.builtin.welcome.help.repo.link": "https://imhex.werwolv.net/git",
|
||||
"hex.builtin.welcome.learn.latest.desc": "Lies den aktuellen ImHex Changelog",
|
||||
"hex.builtin.welcome.learn.latest.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.learn.latest.title": "Neuster Release",
|
||||
"hex.builtin.welcome.learn.pattern.desc": "Lern ImHex Patterns zu schreiben mit unserer umfangreichen Dokumentation",
|
||||
"hex.builtin.welcome.learn.pattern.link": "https://imhex.werwolv.net/docs",
|
||||
"hex.builtin.welcome.learn.pattern.title": "Pattern Language Dokumentation",
|
||||
"hex.builtin.welcome.learn.plugins.desc": "Erweitere ImHex mit neuen Funktionen mit Plugins",
|
||||
"hex.builtin.welcome.learn.plugins.link": "https://github.com/WerWolv/ImHex/wiki/Plugins-Development-Guide",
|
||||
"hex.builtin.welcome.learn.plugins.title": "Plugins API",
|
||||
"hex.builtin.welcome.plugins.author": "Autor",
|
||||
"hex.builtin.welcome.plugins.desc": "Beschreibung",
|
||||
"hex.builtin.welcome.plugins.plugin": "Plugin",
|
||||
"hex.builtin.welcome.safety_backup.delete": "Nein, entfernen",
|
||||
"hex.builtin.welcome.safety_backup.desc": "Oh nein, ImHex ist letztes Mal abgestürzt.\nWillst du das vorherige Projekt wiederherstellen?",
|
||||
"hex.builtin.welcome.safety_backup.restore": "Ja, wiederherstellen",
|
||||
"hex.builtin.welcome.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",
|
||||
"hex.builtin.welcome.start.open_project": "Projekt öffnen",
|
||||
"hex.builtin.welcome.start.recent": "Zuletzt geöffnete Dateien",
|
||||
"hex.builtin.welcome.tip_of_the_day": "Tipp des Tages",
|
||||
"hex.builtin.welcome.update.desc": "ImHex {0} wurde gerade released! Downloade die neue Version hier",
|
||||
"hex.builtin.welcome.update.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.update.title": "Neues Update verfügbar!"
|
||||
}
|
||||
}
|
||||
825
plugins/builtin/romfs/lang/en_US.json
Normal file
825
plugins/builtin/romfs/lang/en_US.json
Normal file
@@ -0,0 +1,825 @@
|
||||
{
|
||||
"code": "en-US",
|
||||
"language": "English",
|
||||
"country": "United States",
|
||||
"fallback": true,
|
||||
"translations": {
|
||||
"hex.builtin.command.calc.desc": "Calculator",
|
||||
"hex.builtin.command.cmd.desc": "Command",
|
||||
"hex.builtin.command.cmd.result": "Run command '{0}'",
|
||||
"hex.builtin.command.web.desc": "Website lookup",
|
||||
"hex.builtin.command.web.result": "Navigate to '{0}'",
|
||||
"hex.builtin.common.address": "Address",
|
||||
"hex.builtin.common.big": "Big",
|
||||
"hex.builtin.common.big_endian": "Big Endian",
|
||||
"hex.builtin.common.browse": "Browse...",
|
||||
"hex.builtin.common.cancel": "Cancel",
|
||||
"hex.builtin.common.choose_file": "Choose file",
|
||||
"hex.builtin.common.close": "Close",
|
||||
"hex.builtin.common.comment": "Comment",
|
||||
"hex.builtin.common.count": "Count",
|
||||
"hex.builtin.common.decimal": "Decimal",
|
||||
"hex.builtin.common.dont_show_again": "Don't show again",
|
||||
"hex.builtin.common.encoding.ascii": "ASCII",
|
||||
"hex.builtin.common.encoding.utf16be": "UTF-16BE",
|
||||
"hex.builtin.common.encoding.utf16le": "UTF-16LE",
|
||||
"hex.builtin.common.encoding.utf8": "UTF-8",
|
||||
"hex.builtin.common.endian": "Endian",
|
||||
"hex.builtin.common.error": "Error",
|
||||
"hex.builtin.common.fatal": "Fatal Error",
|
||||
"hex.builtin.common.file": "File",
|
||||
"hex.builtin.common.filter": "Filter",
|
||||
"hex.builtin.common.hexadecimal": "Hexadecimal",
|
||||
"hex.builtin.common.info": "Information",
|
||||
"hex.builtin.common.link": "Link",
|
||||
"hex.builtin.common.little": "Little",
|
||||
"hex.builtin.common.little_endian": "Little Endian",
|
||||
"hex.builtin.common.load": "Load",
|
||||
"hex.builtin.common.match_selection": "Match Selection",
|
||||
"hex.builtin.common.name": "Name",
|
||||
"hex.builtin.common.no": "No",
|
||||
"hex.builtin.common.number_format": "Format",
|
||||
"hex.builtin.common.octal": "Octal",
|
||||
"hex.builtin.common.offset": "Offset",
|
||||
"hex.builtin.common.okay": "Okay",
|
||||
"hex.builtin.common.open": "Open",
|
||||
"hex.builtin.common.percentage": "Percentage",
|
||||
"hex.builtin.common.processing": "Processing",
|
||||
"hex.builtin.common.question": "Question",
|
||||
"hex.builtin.common.range": "Range",
|
||||
"hex.builtin.common.range.entire_data": "Entire Data",
|
||||
"hex.builtin.common.range.selection": "Selection",
|
||||
"hex.builtin.common.region": "Region",
|
||||
"hex.builtin.common.set": "Set",
|
||||
"hex.builtin.common.size": "Size",
|
||||
"hex.builtin.common.type": "Type",
|
||||
"hex.builtin.common.type.f32": "float",
|
||||
"hex.builtin.common.type.f64": "double",
|
||||
"hex.builtin.common.type.i16": "int16_t",
|
||||
"hex.builtin.common.type.i24": "int24_t",
|
||||
"hex.builtin.common.type.i32": "int32_t",
|
||||
"hex.builtin.common.type.i48": "int48_t",
|
||||
"hex.builtin.common.type.i64": "int64_t",
|
||||
"hex.builtin.common.type.i8": "int8_t",
|
||||
"hex.builtin.common.type.u16": "uint16_t",
|
||||
"hex.builtin.common.type.u24": "uint24_t",
|
||||
"hex.builtin.common.type.u32": "uint32_t",
|
||||
"hex.builtin.common.type.u48": "uint48_t",
|
||||
"hex.builtin.common.type.u64": "uint64_t",
|
||||
"hex.builtin.common.type.u8": "uint8_t",
|
||||
"hex.builtin.common.value": "Value",
|
||||
"hex.builtin.common.yes": "Yes",
|
||||
"hex.builtin.hash.crc.iv": "Initial Value",
|
||||
"hex.builtin.hash.crc.poly": "Polynomial",
|
||||
"hex.builtin.hash.crc.refl_in": "Reflect In",
|
||||
"hex.builtin.hash.crc.refl_out": "Reflect Out",
|
||||
"hex.builtin.hash.crc.xor_out": "XOR Out",
|
||||
"hex.builtin.hash.crc16": "CRC16",
|
||||
"hex.builtin.hash.crc32": "CRC32",
|
||||
"hex.builtin.hash.crc8": "CRC8",
|
||||
"hex.builtin.hash.md5": "MD5",
|
||||
"hex.builtin.hash.sha1": "SHA1",
|
||||
"hex.builtin.hash.sha224": "SHA224",
|
||||
"hex.builtin.hash.sha256": "SHA256",
|
||||
"hex.builtin.hash.sha384": "SHA384",
|
||||
"hex.builtin.hash.sha512": "SHA512",
|
||||
"hex.builtin.hex_editor.data_size": "Data Size",
|
||||
"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.inspector.ascii": "ASCII Character",
|
||||
"hex.builtin.inspector.binary": "Binary (8 bit)",
|
||||
"hex.builtin.inspector.bool": "bool",
|
||||
"hex.builtin.inspector.dos_date": "DOS Date",
|
||||
"hex.builtin.inspector.dos_time": "DOS Time",
|
||||
"hex.builtin.inspector.double": "double (64 bit)",
|
||||
"hex.builtin.inspector.float": "float (32 bit)",
|
||||
"hex.builtin.inspector.float16": "half float (16 bit)",
|
||||
"hex.builtin.inspector.guid": "GUID",
|
||||
"hex.builtin.inspector.i16": "int16_t",
|
||||
"hex.builtin.inspector.i24": "int24_t",
|
||||
"hex.builtin.inspector.i32": "int32_t",
|
||||
"hex.builtin.inspector.i48": "int48_t",
|
||||
"hex.builtin.inspector.i64": "int64_t",
|
||||
"hex.builtin.inspector.i8": "int8_t",
|
||||
"hex.builtin.inspector.long_double": "long double (128 bit)",
|
||||
"hex.builtin.inspector.rgb565": "RGB565 Color",
|
||||
"hex.builtin.inspector.rgba8": "RGBA8 Color",
|
||||
"hex.builtin.inspector.sleb128": "Signed LEB128",
|
||||
"hex.builtin.inspector.string": "String",
|
||||
"hex.builtin.inspector.string16": "Wide String",
|
||||
"hex.builtin.inspector.time": "time_t",
|
||||
"hex.builtin.inspector.time32": "time32_t",
|
||||
"hex.builtin.inspector.time64": "time64_t",
|
||||
"hex.builtin.inspector.u16": "uint16_t",
|
||||
"hex.builtin.inspector.u24": "uint24_t",
|
||||
"hex.builtin.inspector.u32": "uint32_t",
|
||||
"hex.builtin.inspector.u48": "uint48_t",
|
||||
"hex.builtin.inspector.u64": "uint64_t",
|
||||
"hex.builtin.inspector.u8": "uint8_t",
|
||||
"hex.builtin.inspector.uleb128": "Unsigned LEB128",
|
||||
"hex.builtin.inspector.utf8": "UTF-8 code point",
|
||||
"hex.builtin.inspector.wide": "Wide Character",
|
||||
"hex.builtin.layouts.default": "Default",
|
||||
"hex.builtin.menu.edit": "Edit",
|
||||
"hex.builtin.menu.edit.bookmark.create": "Create bookmark",
|
||||
"hex.builtin.menu.edit.redo": "Redo",
|
||||
"hex.builtin.menu.edit.undo": "Undo",
|
||||
"hex.builtin.menu.file": "File",
|
||||
"hex.builtin.menu.file.bookmark.export": "Export bookmarks",
|
||||
"hex.builtin.menu.file.bookmark.import": "Import bookmarks",
|
||||
"hex.builtin.menu.file.clear_recent": "Clear",
|
||||
"hex.builtin.menu.file.close": "Close",
|
||||
"hex.builtin.menu.file.create_file": "New File...",
|
||||
"hex.builtin.menu.file.export": "Export...",
|
||||
"hex.builtin.menu.file.export.base64.popup.export_error": "File is not in a valid Base64 format!",
|
||||
"hex.builtin.menu.file.export.ips": "IPS Patch",
|
||||
"hex.builtin.menu.file.export.ips32": "IPS32 Patch",
|
||||
"hex.builtin.menu.file.export.popup.create": "Cannot export data. Failed to create file!",
|
||||
"hex.builtin.menu.file.export.title": "Export File",
|
||||
"hex.builtin.menu.file.import": "Import...",
|
||||
"hex.builtin.menu.file.import.base64": "Base64 File",
|
||||
"hex.builtin.menu.file.import.base64.popup.import_error": "File is not in a valid Base64 format!",
|
||||
"hex.builtin.menu.file.import.base64.popup.open_error": "Failed to open file!",
|
||||
"hex.builtin.menu.file.import.ips": "IPS Patch",
|
||||
"hex.builtin.menu.file.import.ips32": "IPS32 Patch",
|
||||
"hex.builtin.menu.file.open_file": "Open File...",
|
||||
"hex.builtin.menu.file.open_other": "Open Other...",
|
||||
"hex.builtin.menu.file.open_project": "Open Project...",
|
||||
"hex.builtin.menu.file.open_recent": "Open Recent",
|
||||
"hex.builtin.menu.file.quit": "Quit ImHex",
|
||||
"hex.builtin.menu.file.reload_file": "Reload File",
|
||||
"hex.builtin.menu.file.save_project": "Save Project",
|
||||
"hex.builtin.menu.file.save_project_as": "Save Project As...",
|
||||
"hex.builtin.menu.help": "Help",
|
||||
"hex.builtin.menu.layout": "Layout",
|
||||
"hex.builtin.menu.view": "View",
|
||||
"hex.builtin.menu.view.demo": "Show ImGui Demo",
|
||||
"hex.builtin.menu.view.fps": "Display FPS",
|
||||
"hex.builtin.nodes.arithmetic": "Arithmetic",
|
||||
"hex.builtin.nodes.arithmetic.add": "Addition",
|
||||
"hex.builtin.nodes.arithmetic.add.header": "Add",
|
||||
"hex.builtin.nodes.arithmetic.average": "Average",
|
||||
"hex.builtin.nodes.arithmetic.average.header": "Average",
|
||||
"hex.builtin.nodes.arithmetic.div": "Division",
|
||||
"hex.builtin.nodes.arithmetic.div.header": "Divide",
|
||||
"hex.builtin.nodes.arithmetic.median": "Median",
|
||||
"hex.builtin.nodes.arithmetic.median.header": "Median",
|
||||
"hex.builtin.nodes.arithmetic.mod": "Modulus",
|
||||
"hex.builtin.nodes.arithmetic.mod.header": "Modulo",
|
||||
"hex.builtin.nodes.arithmetic.mul": "Multiplication",
|
||||
"hex.builtin.nodes.arithmetic.mul.header": "Multiply",
|
||||
"hex.builtin.nodes.arithmetic.sub": "Subtraction",
|
||||
"hex.builtin.nodes.arithmetic.sub.header": "Subtract",
|
||||
"hex.builtin.nodes.bitwise": "Bitwise operations",
|
||||
"hex.builtin.nodes.bitwise.and": "AND",
|
||||
"hex.builtin.nodes.bitwise.and.header": "Bitwise AND",
|
||||
"hex.builtin.nodes.bitwise.not": "NOT",
|
||||
"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.xor": "XOR",
|
||||
"hex.builtin.nodes.bitwise.xor.header": "Bitwise XOR",
|
||||
"hex.builtin.nodes.buffer": "Buffer",
|
||||
"hex.builtin.nodes.buffer.combine": "Combine",
|
||||
"hex.builtin.nodes.buffer.combine.header": "Combine buffers",
|
||||
"hex.builtin.nodes.buffer.patch": "Patch",
|
||||
"hex.builtin.nodes.buffer.patch.header": "Patch",
|
||||
"hex.builtin.nodes.buffer.patch.input.patch": "Patch",
|
||||
"hex.builtin.nodes.buffer.repeat": "Repeat",
|
||||
"hex.builtin.nodes.buffer.repeat.header": "Repeat buffer",
|
||||
"hex.builtin.nodes.buffer.repeat.input.buffer": "Input",
|
||||
"hex.builtin.nodes.buffer.repeat.input.count": "Count",
|
||||
"hex.builtin.nodes.buffer.slice": "Slice",
|
||||
"hex.builtin.nodes.buffer.slice.header": "Slice buffer",
|
||||
"hex.builtin.nodes.buffer.slice.input.buffer": "Input",
|
||||
"hex.builtin.nodes.buffer.slice.input.from": "From",
|
||||
"hex.builtin.nodes.buffer.slice.input.to": "To",
|
||||
"hex.builtin.nodes.casting": "Data conversion",
|
||||
"hex.builtin.nodes.casting.buffer_to_float": "Buffer to Float",
|
||||
"hex.builtin.nodes.casting.buffer_to_float.header": "Buffer to Float",
|
||||
"hex.builtin.nodes.casting.buffer_to_int": "Buffer to Integer",
|
||||
"hex.builtin.nodes.casting.buffer_to_int.header": "Buffer to Integer",
|
||||
"hex.builtin.nodes.casting.float_to_buffer": "Float to Buffer",
|
||||
"hex.builtin.nodes.casting.float_to_buffer.header": "Float to Buffer",
|
||||
"hex.builtin.nodes.casting.int_to_buffer": "Integer to Buffer",
|
||||
"hex.builtin.nodes.casting.int_to_buffer.header": "Integer to Buffer",
|
||||
"hex.builtin.nodes.common.height": "Height",
|
||||
"hex.builtin.nodes.common.input": "Input",
|
||||
"hex.builtin.nodes.common.input.a": "Input A",
|
||||
"hex.builtin.nodes.common.input.b": "Input B",
|
||||
"hex.builtin.nodes.common.output": "Output",
|
||||
"hex.builtin.nodes.common.width": "Width",
|
||||
"hex.builtin.nodes.constants": "Constants",
|
||||
"hex.builtin.nodes.constants.buffer": "Buffer",
|
||||
"hex.builtin.nodes.constants.buffer.header": "Buffer",
|
||||
"hex.builtin.nodes.constants.buffer.size": "Size",
|
||||
"hex.builtin.nodes.constants.comment": "Comment",
|
||||
"hex.builtin.nodes.constants.comment.header": "Comment",
|
||||
"hex.builtin.nodes.constants.float": "Float",
|
||||
"hex.builtin.nodes.constants.float.header": "Float",
|
||||
"hex.builtin.nodes.constants.int": "Integer",
|
||||
"hex.builtin.nodes.constants.int.header": "Integer",
|
||||
"hex.builtin.nodes.constants.nullptr": "Nullptr",
|
||||
"hex.builtin.nodes.constants.nullptr.header": "Nullptr",
|
||||
"hex.builtin.nodes.constants.rgba8": "RGBA8 color",
|
||||
"hex.builtin.nodes.constants.rgba8.header": "RGBA8 color",
|
||||
"hex.builtin.nodes.constants.rgba8.output.a": "Alpha",
|
||||
"hex.builtin.nodes.constants.rgba8.output.b": "Blue",
|
||||
"hex.builtin.nodes.constants.rgba8.output.g": "Green",
|
||||
"hex.builtin.nodes.constants.rgba8.output.r": "Red",
|
||||
"hex.builtin.nodes.constants.string": "String",
|
||||
"hex.builtin.nodes.constants.string.header": "String",
|
||||
"hex.builtin.nodes.control_flow": "Control flow",
|
||||
"hex.builtin.nodes.control_flow.and": "AND",
|
||||
"hex.builtin.nodes.control_flow.and.header": "Boolean AND",
|
||||
"hex.builtin.nodes.control_flow.equals": "Equals",
|
||||
"hex.builtin.nodes.control_flow.equals.header": "Equals",
|
||||
"hex.builtin.nodes.control_flow.gt": "Greater than",
|
||||
"hex.builtin.nodes.control_flow.gt.header": "Greater than",
|
||||
"hex.builtin.nodes.control_flow.if": "If",
|
||||
"hex.builtin.nodes.control_flow.if.condition": "Condition",
|
||||
"hex.builtin.nodes.control_flow.if.false": "False",
|
||||
"hex.builtin.nodes.control_flow.if.header": "If",
|
||||
"hex.builtin.nodes.control_flow.if.true": "True",
|
||||
"hex.builtin.nodes.control_flow.lt": "Less than",
|
||||
"hex.builtin.nodes.control_flow.lt.header": "Less than",
|
||||
"hex.builtin.nodes.control_flow.not": "Not",
|
||||
"hex.builtin.nodes.control_flow.not.header": "Not",
|
||||
"hex.builtin.nodes.control_flow.or": "OR",
|
||||
"hex.builtin.nodes.control_flow.or.header": "Boolean OR",
|
||||
"hex.builtin.nodes.crypto": "Cryptography",
|
||||
"hex.builtin.nodes.crypto.aes": "AES Decrypter",
|
||||
"hex.builtin.nodes.crypto.aes.header": "AES Decrypter",
|
||||
"hex.builtin.nodes.crypto.aes.iv": "IV",
|
||||
"hex.builtin.nodes.crypto.aes.key": "Key",
|
||||
"hex.builtin.nodes.crypto.aes.key_length": "Key length",
|
||||
"hex.builtin.nodes.crypto.aes.mode": "Mode",
|
||||
"hex.builtin.nodes.crypto.aes.nonce": "Nonce",
|
||||
"hex.builtin.nodes.data_access": "Data access",
|
||||
"hex.builtin.nodes.data_access.read": "Read",
|
||||
"hex.builtin.nodes.data_access.read.address": "Address",
|
||||
"hex.builtin.nodes.data_access.read.data": "Data",
|
||||
"hex.builtin.nodes.data_access.read.header": "Read",
|
||||
"hex.builtin.nodes.data_access.read.size": "Size",
|
||||
"hex.builtin.nodes.data_access.selection": "Selected Region",
|
||||
"hex.builtin.nodes.data_access.selection.address": "Address",
|
||||
"hex.builtin.nodes.data_access.selection.header": "Selected Region",
|
||||
"hex.builtin.nodes.data_access.selection.size": "Size",
|
||||
"hex.builtin.nodes.data_access.size": "Data Size",
|
||||
"hex.builtin.nodes.data_access.size.header": "Data Size",
|
||||
"hex.builtin.nodes.data_access.size.size": "Size",
|
||||
"hex.builtin.nodes.data_access.write": "Write",
|
||||
"hex.builtin.nodes.data_access.write.address": "Address",
|
||||
"hex.builtin.nodes.data_access.write.data": "Data",
|
||||
"hex.builtin.nodes.data_access.write.header": "Write",
|
||||
"hex.builtin.nodes.decoding": "Decoding",
|
||||
"hex.builtin.nodes.decoding.base64": "Base64",
|
||||
"hex.builtin.nodes.decoding.base64.header": "Base64 decoder",
|
||||
"hex.builtin.nodes.decoding.hex": "Hexadecimal",
|
||||
"hex.builtin.nodes.decoding.hex.header": "Hexadecimal decoder",
|
||||
"hex.builtin.nodes.display": "Display",
|
||||
"hex.builtin.nodes.display.buffer": "Buffer",
|
||||
"hex.builtin.nodes.display.buffer.header": "Buffer display",
|
||||
"hex.builtin.nodes.display.float": "Float",
|
||||
"hex.builtin.nodes.display.float.header": "Float display",
|
||||
"hex.builtin.nodes.display.int": "Integer",
|
||||
"hex.builtin.nodes.display.int.header": "Integer display",
|
||||
"hex.builtin.nodes.display.string": "String",
|
||||
"hex.builtin.nodes.display.string.header": "String display",
|
||||
"hex.builtin.nodes.pattern_language": "Pattern Language",
|
||||
"hex.builtin.nodes.pattern_language.out_var": "Out Variable",
|
||||
"hex.builtin.nodes.pattern_language.out_var.header": "Out Variable",
|
||||
"hex.builtin.nodes.visualizer": "Visualizers",
|
||||
"hex.builtin.nodes.visualizer.byte_distribution": "Byte Distribution",
|
||||
"hex.builtin.nodes.visualizer.byte_distribution.header": "Byte Distribution",
|
||||
"hex.builtin.nodes.visualizer.digram": "Digram",
|
||||
"hex.builtin.nodes.visualizer.digram.header": "Digram",
|
||||
"hex.builtin.nodes.visualizer.image": "Image",
|
||||
"hex.builtin.nodes.visualizer.image.header": "Image Visualizer",
|
||||
"hex.builtin.nodes.visualizer.image_rgba": "RGBA8 Image",
|
||||
"hex.builtin.nodes.visualizer.image_rgba.header": "RGBA8 Image Visualizer",
|
||||
"hex.builtin.nodes.visualizer.layered_dist": "Layered Distribution",
|
||||
"hex.builtin.nodes.visualizer.layered_dist.header": "Layered Distribution",
|
||||
"hex.builtin.pattern_drawer.color": "Color",
|
||||
"hex.builtin.pattern_drawer.double_click": "Double-click to see more items",
|
||||
"hex.builtin.pattern_drawer.offset": "Offset",
|
||||
"hex.builtin.pattern_drawer.size": "Size",
|
||||
"hex.builtin.pattern_drawer.type": "Type",
|
||||
"hex.builtin.pattern_drawer.value": "Value",
|
||||
"hex.builtin.pattern_drawer.var_name": "Name",
|
||||
"hex.builtin.popup.close_provider.desc": "You have unsaved changes made to this Provider.\nAre you sure you want to close it?",
|
||||
"hex.builtin.popup.close_provider.title": "Close Provider?",
|
||||
"hex.builtin.popup.error.create": "Failed to create new file!",
|
||||
"hex.builtin.popup.error.file_dialog.common": "An error occurred while opening the file browser!",
|
||||
"hex.builtin.popup.error.file_dialog.portal": "There was an error while opening the file browser. This might be caused by your system not having a xdg-desktop-portal backend installed correctly.\n\nOn KDE, it's xdg-desktop-portal-kde.\nOn Gnome it's xdg-desktop-portal-gnome.\nOn wlroots it's xdg-desktop-portal-wlr.\nOtherwise, you can try to use xdg-desktop-portal-gtk.\n\nReboot your system after installing it.\n\nIf the file browser still doesn't work after this, submit an issue at https://github.com/WerWolv/ImHex/issues\n\nIn the meantime files can still be opened by dragging them onto the ImHex window!",
|
||||
"hex.builtin.popup.error.open": "Failed to open file!",
|
||||
"hex.builtin.popup.error.project.load": "Failed to load project!",
|
||||
"hex.builtin.popup.error.project.save": "Failed to save project!",
|
||||
"hex.builtin.popup.error.read_only": "Couldn't get write access. File opened in read-only mode.",
|
||||
"hex.builtin.popup.error.task_exception": "Exception thrown in Task '{}':\n\n{}",
|
||||
"hex.builtin.popup.exit_application.desc": "You have unsaved changes made to your Project.\nAre you sure you want to exit?",
|
||||
"hex.builtin.popup.exit_application.title": "Exit Application?",
|
||||
"hex.builtin.provider.disk": "Raw Disk Provider",
|
||||
"hex.builtin.provider.disk.disk_size": "Disk Size",
|
||||
"hex.builtin.provider.disk.reload": "Reload",
|
||||
"hex.builtin.provider.disk.sector_size": "Sector Size",
|
||||
"hex.builtin.provider.disk.selected_disk": "Disk",
|
||||
"hex.builtin.provider.file": "File Provider",
|
||||
"hex.builtin.provider.file.access": "Last access time",
|
||||
"hex.builtin.provider.file.creation": "Creation time",
|
||||
"hex.builtin.provider.file.modification": "Last modification time",
|
||||
"hex.builtin.provider.file.path": "File path",
|
||||
"hex.builtin.provider.file.size": "Size",
|
||||
"hex.builtin.provider.gdb": "GDB Server Provider",
|
||||
"hex.builtin.provider.gdb.ip": "IP Address",
|
||||
"hex.builtin.provider.gdb.name": "GDB Server <{0}:{1}>",
|
||||
"hex.builtin.provider.gdb.port": "Port",
|
||||
"hex.builtin.provider.gdb.server": "Server",
|
||||
"hex.builtin.provider.intel_hex": "Intel Hex Provider",
|
||||
"hex.builtin.provider.intel_hex.name": "Intel Hex {0}",
|
||||
"hex.builtin.provider.mem_file": "Memory File",
|
||||
"hex.builtin.provider.mem_file.unsaved": "Unsaved File",
|
||||
"hex.builtin.provider.motorola_srec": "Motorola SREC Provider",
|
||||
"hex.builtin.provider.motorola_srec.name": "Motorola SREC {0}",
|
||||
"hex.builtin.provider.view": "View",
|
||||
"hex.builtin.setting.folders": "Folders",
|
||||
"hex.builtin.setting.folders.add_folder": "Add new folder",
|
||||
"hex.builtin.setting.folders.description": "Specify additional search paths for patterns, scripts, Yara rules and more",
|
||||
"hex.builtin.setting.folders.remove_folder": "Remove currently selected folder from list",
|
||||
"hex.builtin.setting.font": "Font",
|
||||
"hex.builtin.setting.font.font_path": "Custom Font Path",
|
||||
"hex.builtin.setting.font.font_size": "Font Size",
|
||||
"hex.builtin.setting.general": "General",
|
||||
"hex.builtin.setting.general.auto_load_patterns": "Auto-load supported pattern",
|
||||
"hex.builtin.setting.general.check_for_updates": "Check for updates on startup",
|
||||
"hex.builtin.setting.general.enable_unicode": "Load all unicode characters",
|
||||
"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",
|
||||
"hex.builtin.setting.interface.color": "Color theme",
|
||||
"hex.builtin.setting.interface.fps": "FPS Limit",
|
||||
"hex.builtin.setting.interface.fps.unlocked": "Unlocked",
|
||||
"hex.builtin.setting.interface.language": "Language",
|
||||
"hex.builtin.setting.interface.multi_windows": "Enable Multi Window support",
|
||||
"hex.builtin.setting.interface.scaling": "Scaling",
|
||||
"hex.builtin.setting.interface.scaling.native": "Native",
|
||||
"hex.builtin.setting.interface.scaling.x0_5": "x0.5",
|
||||
"hex.builtin.setting.interface.scaling.x1_0": "x1.0",
|
||||
"hex.builtin.setting.interface.scaling.x1_5": "x1.5",
|
||||
"hex.builtin.setting.interface.scaling.x2_0": "x2.0",
|
||||
"hex.builtin.setting.interface.scaling.x3_0": "x3.0",
|
||||
"hex.builtin.setting.interface.scaling.x4_0": "x4.0",
|
||||
"hex.builtin.setting.interface.wiki_explain_language": "Wikipedia Language",
|
||||
"hex.builtin.setting.proxy": "Proxy",
|
||||
"hex.builtin.setting.proxy.description": "Proxy will take effect on store, wikipedia or any other plugin immediately.",
|
||||
"hex.builtin.setting.proxy.enable": "Enable Proxy",
|
||||
"hex.builtin.setting.proxy.url": "Proxy URL",
|
||||
"hex.builtin.setting.proxy.url.tooltip": "http(s):// or socks5:// (e.g., http://127.0.0.1:1080)",
|
||||
"hex.builtin.tools.ascii_table": "ASCII table",
|
||||
"hex.builtin.tools.ascii_table.octal": "Show octal",
|
||||
"hex.builtin.tools.base_converter": "Base converter",
|
||||
"hex.builtin.tools.base_converter.bin": "BIN",
|
||||
"hex.builtin.tools.base_converter.dec": "DEC",
|
||||
"hex.builtin.tools.base_converter.hex": "HEX",
|
||||
"hex.builtin.tools.base_converter.oct": "OCT",
|
||||
"hex.builtin.tools.calc": "Calculator",
|
||||
"hex.builtin.tools.color": "Color picker",
|
||||
"hex.builtin.tools.demangler": "LLVM Demangler",
|
||||
"hex.builtin.tools.demangler.demangled": "Demangled name",
|
||||
"hex.builtin.tools.demangler.mangled": "Mangled name",
|
||||
"hex.builtin.tools.error": "Last error: '{0}'",
|
||||
"hex.builtin.tools.file_tools": "File Tools",
|
||||
"hex.builtin.tools.file_tools.combiner": "Combiner",
|
||||
"hex.builtin.tools.file_tools.combiner.add": "Add...",
|
||||
"hex.builtin.tools.file_tools.combiner.add.picker": "Add file",
|
||||
"hex.builtin.tools.file_tools.combiner.clear": "Clear",
|
||||
"hex.builtin.tools.file_tools.combiner.combine": "Combine",
|
||||
"hex.builtin.tools.file_tools.combiner.combining": "Combining...",
|
||||
"hex.builtin.tools.file_tools.combiner.delete": "Delete",
|
||||
"hex.builtin.tools.file_tools.combiner.error.open_output": "Failed to create output file",
|
||||
"hex.builtin.tools.file_tools.combiner.open_input": "Failed to open input file {0}",
|
||||
"hex.builtin.tools.file_tools.combiner.output": "Output file ",
|
||||
"hex.builtin.tools.file_tools.combiner.output.picker": "Set output base path",
|
||||
"hex.builtin.tools.file_tools.combiner.success": "Files combined successfully!",
|
||||
"hex.builtin.tools.file_tools.shredder": "Shredder",
|
||||
"hex.builtin.tools.file_tools.shredder.error.open": "Failed to open selected file!",
|
||||
"hex.builtin.tools.file_tools.shredder.fast": "Fast Mode",
|
||||
"hex.builtin.tools.file_tools.shredder.input": "File to shred ",
|
||||
"hex.builtin.tools.file_tools.shredder.picker": "Open File to Shred",
|
||||
"hex.builtin.tools.file_tools.shredder.shred": "Shred",
|
||||
"hex.builtin.tools.file_tools.shredder.shredding": "Shredding...",
|
||||
"hex.builtin.tools.file_tools.shredder.success": "Shredded successfully!",
|
||||
"hex.builtin.tools.file_tools.shredder.warning": "This tool IRRECOVERABLY destroys a file. Use with caution",
|
||||
"hex.builtin.tools.file_tools.splitter": "Splitter",
|
||||
"hex.builtin.tools.file_tools.splitter.input": "File to split ",
|
||||
"hex.builtin.tools.file_tools.splitter.output": "Output path ",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.create": "Failed to create part file {0}",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.open": "Failed to open selected file!",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.size": "File is smaller than part size",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.input": "Open File to split",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.output": "Set base path",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.split": "Split",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.splitting": "Splitting...",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.success": "File split successfully!",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.3_5_floppy": "3½\" Floppy disk (1400KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.5_75_floppy": "5¼\" Floppy disk (1200KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom650": "CD-ROM (650MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom700": "CD-ROM (700MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.custom": "Custom",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.fat32": "FAT32 (4GiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip100": "Zip 100 Disk (100MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip200": "Zip 200 Disk (200MiB)",
|
||||
"hex.builtin.tools.file_uploader": "File Uploader",
|
||||
"hex.builtin.tools.file_uploader.control": "Control",
|
||||
"hex.builtin.tools.file_uploader.done": "Done!",
|
||||
"hex.builtin.tools.file_uploader.error": "Failed to upload file!\n\nError Code: {0}",
|
||||
"hex.builtin.tools.file_uploader.invalid_response": "Invalid response from Anonfiles!",
|
||||
"hex.builtin.tools.file_uploader.recent": "Recent Uploads",
|
||||
"hex.builtin.tools.file_uploader.tooltip": "Click to copy\nCTRL + Click to open",
|
||||
"hex.builtin.tools.file_uploader.upload": "Upload",
|
||||
"hex.builtin.tools.format.engineering": "Engineering",
|
||||
"hex.builtin.tools.format.programmer": "Programmer",
|
||||
"hex.builtin.tools.format.scientific": "Scientific",
|
||||
"hex.builtin.tools.format.standard": "Standard",
|
||||
"hex.builtin.tools.history": "History",
|
||||
"hex.builtin.tools.ieee756": "IEEE 756 Floating Point Tester",
|
||||
"hex.builtin.tools.ieee756.double_precision": "Double Precision",
|
||||
"hex.builtin.tools.ieee756.exponent": "Exponent",
|
||||
"hex.builtin.tools.ieee756.exponent_size": "Exponent Size",
|
||||
"hex.builtin.tools.ieee756.formula": "Formula",
|
||||
"hex.builtin.tools.ieee756.half_precision": "Half Precision",
|
||||
"hex.builtin.tools.ieee756.mantissa": "Mantissa",
|
||||
"hex.builtin.tools.ieee756.mantissa_size": "Mantissa Size",
|
||||
"hex.builtin.tools.ieee756.result.float": "Floating Point Result",
|
||||
"hex.builtin.tools.ieee756.result.hex": "Hexadecimal Result",
|
||||
"hex.builtin.tools.ieee756.result.title": "Result",
|
||||
"hex.builtin.tools.ieee756.sign": "Sign",
|
||||
"hex.builtin.tools.ieee756.singe_precision": "Single Precision",
|
||||
"hex.builtin.tools.ieee756.type": "Type",
|
||||
"hex.builtin.tools.input": "Input",
|
||||
"hex.builtin.tools.name": "Name",
|
||||
"hex.builtin.tools.permissions": "UNIX Permissions Calculator",
|
||||
"hex.builtin.tools.permissions.absolute": "Absolute Notation",
|
||||
"hex.builtin.tools.permissions.perm_bits": "Permission bits",
|
||||
"hex.builtin.tools.permissions.setgid_error": "Group must have execute rights for setgid bit to apply!",
|
||||
"hex.builtin.tools.permissions.setuid_error": "User must have execute rights for setuid bit to apply!",
|
||||
"hex.builtin.tools.permissions.sticky_error": "Other must have execute rights for sticky bit to apply!",
|
||||
"hex.builtin.tools.regex_replacer": "Regex replacer",
|
||||
"hex.builtin.tools.regex_replacer.input": "Input",
|
||||
"hex.builtin.tools.regex_replacer.output": "Output",
|
||||
"hex.builtin.tools.regex_replacer.pattern": "Regex pattern",
|
||||
"hex.builtin.tools.regex_replacer.replace": "Replace pattern",
|
||||
"hex.builtin.tools.value": "Value",
|
||||
"hex.builtin.tools.wiki_explain": "Wikipedia term definitions",
|
||||
"hex.builtin.tools.wiki_explain.control": "Control",
|
||||
"hex.builtin.tools.wiki_explain.invalid_response": "Invalid response from Wikipedia!",
|
||||
"hex.builtin.tools.wiki_explain.results": "Results",
|
||||
"hex.builtin.tools.wiki_explain.search": "Search",
|
||||
"hex.builtin.view.bookmarks.address": "0x{0:X} : 0x{1:X} ({2} bytes)",
|
||||
"hex.builtin.view.bookmarks.button.jump": "Jump to",
|
||||
"hex.builtin.view.bookmarks.button.remove": "Remove",
|
||||
"hex.builtin.view.bookmarks.default_title": "Bookmark [0x{0:X} - 0x{1:X}]",
|
||||
"hex.builtin.view.bookmarks.header.color": "Color",
|
||||
"hex.builtin.view.bookmarks.header.comment": "Comment",
|
||||
"hex.builtin.view.bookmarks.header.name": "Name",
|
||||
"hex.builtin.view.bookmarks.name": "Bookmarks",
|
||||
"hex.builtin.view.bookmarks.no_bookmarks": "No bookmarks created yet. Add one with Edit -> Create Bookmark",
|
||||
"hex.builtin.view.bookmarks.title.info": "Information",
|
||||
"hex.builtin.view.command_palette.name": "Command Palette",
|
||||
"hex.builtin.view.constants.name": "Constants",
|
||||
"hex.builtin.view.constants.row.category": "Category",
|
||||
"hex.builtin.view.constants.row.desc": "Description",
|
||||
"hex.builtin.view.constants.row.name": "Name",
|
||||
"hex.builtin.view.constants.row.value": "Value",
|
||||
"hex.builtin.view.data_inspector.invert": "Invert",
|
||||
"hex.builtin.view.data_inspector.name": "Data Inspector",
|
||||
"hex.builtin.view.data_inspector.no_data": "No bytes selected",
|
||||
"hex.builtin.view.data_inspector.table.name": "Name",
|
||||
"hex.builtin.view.data_inspector.table.value": "Value",
|
||||
"hex.builtin.view.data_processor.help_text": "Right click to add a new node",
|
||||
"hex.builtin.view.data_processor.menu.file.load_processor": "Load data processor...",
|
||||
"hex.builtin.view.data_processor.menu.file.save_processor": "Save data processor...",
|
||||
"hex.builtin.view.data_processor.menu.remove_link": "Remove Link",
|
||||
"hex.builtin.view.data_processor.menu.remove_node": "Remove Node",
|
||||
"hex.builtin.view.data_processor.menu.remove_selection": "Remove Selected",
|
||||
"hex.builtin.view.data_processor.name": "Data Processor",
|
||||
"hex.builtin.view.diff.name": "Diffing",
|
||||
"hex.builtin.view.disassembler.16bit": "16-bit",
|
||||
"hex.builtin.view.disassembler.32bit": "32-bit",
|
||||
"hex.builtin.view.disassembler.64bit": "64-bit",
|
||||
"hex.builtin.view.disassembler.arch": "Architecture",
|
||||
"hex.builtin.view.disassembler.arm.arm": "ARM",
|
||||
"hex.builtin.view.disassembler.arm.armv8": "ARMv8",
|
||||
"hex.builtin.view.disassembler.arm.cortex_m": "Cortex-M",
|
||||
"hex.builtin.view.disassembler.arm.default": "Default",
|
||||
"hex.builtin.view.disassembler.arm.thumb": "Thumb",
|
||||
"hex.builtin.view.disassembler.base": "Base address",
|
||||
"hex.builtin.view.disassembler.bpf.classic": "Classic",
|
||||
"hex.builtin.view.disassembler.bpf.extended": "Extended",
|
||||
"hex.builtin.view.disassembler.disassemble": "Disassemble",
|
||||
"hex.builtin.view.disassembler.disassembling": "Disassembling...",
|
||||
"hex.builtin.view.disassembler.disassembly.address": "Address",
|
||||
"hex.builtin.view.disassembler.disassembly.bytes": "Byte",
|
||||
"hex.builtin.view.disassembler.disassembly.offset": "Offset",
|
||||
"hex.builtin.view.disassembler.disassembly.title": "Disassembly",
|
||||
"hex.builtin.view.disassembler.m680x.6301": "6301",
|
||||
"hex.builtin.view.disassembler.m680x.6309": "6309",
|
||||
"hex.builtin.view.disassembler.m680x.6800": "6800",
|
||||
"hex.builtin.view.disassembler.m680x.6801": "6801",
|
||||
"hex.builtin.view.disassembler.m680x.6805": "6805",
|
||||
"hex.builtin.view.disassembler.m680x.6808": "6808",
|
||||
"hex.builtin.view.disassembler.m680x.6809": "6809",
|
||||
"hex.builtin.view.disassembler.m680x.6811": "6811",
|
||||
"hex.builtin.view.disassembler.m680x.cpu12": "CPU12",
|
||||
"hex.builtin.view.disassembler.m680x.hcs08": "HCS08",
|
||||
"hex.builtin.view.disassembler.m68k.000": "000",
|
||||
"hex.builtin.view.disassembler.m68k.010": "010",
|
||||
"hex.builtin.view.disassembler.m68k.020": "020",
|
||||
"hex.builtin.view.disassembler.m68k.030": "030",
|
||||
"hex.builtin.view.disassembler.m68k.040": "040",
|
||||
"hex.builtin.view.disassembler.m68k.060": "060",
|
||||
"hex.builtin.view.disassembler.mips.micro": "Micro",
|
||||
"hex.builtin.view.disassembler.mips.mips2": "MIPS II",
|
||||
"hex.builtin.view.disassembler.mips.mips3": "MIPS III",
|
||||
"hex.builtin.view.disassembler.mips.mips32": "MIPS32",
|
||||
"hex.builtin.view.disassembler.mips.mips32R6": "MIPS32R6",
|
||||
"hex.builtin.view.disassembler.mips.mips64": "MIPS64",
|
||||
"hex.builtin.view.disassembler.mos65xx.6502": "6502",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816": "65816",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_m": "65816 Long M",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_mx": "65816 Long MX",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_x": "65816 Long X",
|
||||
"hex.builtin.view.disassembler.mos65xx.65c02": "65C02",
|
||||
"hex.builtin.view.disassembler.mos65xx.w65c02": "W65C02",
|
||||
"hex.builtin.view.disassembler.name": "Disassembler",
|
||||
"hex.builtin.view.disassembler.position": "Position",
|
||||
"hex.builtin.view.disassembler.ppc.booke": "Book-E",
|
||||
"hex.builtin.view.disassembler.ppc.qpx": "Quad Processing Extensions",
|
||||
"hex.builtin.view.disassembler.ppc.spe": "Signal Processing Engine",
|
||||
"hex.builtin.view.disassembler.region": "Code region",
|
||||
"hex.builtin.view.disassembler.riscv.compressed": "Compressed",
|
||||
"hex.builtin.view.disassembler.settings.header": "Settings",
|
||||
"hex.builtin.view.disassembler.settings.mode": "Mode",
|
||||
"hex.builtin.view.disassembler.sparc.v9": "Sparc V9",
|
||||
"hex.builtin.view.find.binary_pattern": "Binary Pattern",
|
||||
"hex.builtin.view.find.context.copy": "Copy Value",
|
||||
"hex.builtin.view.find.context.copy_demangle": "Copy Demangled Value",
|
||||
"hex.builtin.view.find.demangled": "Demangled",
|
||||
"hex.builtin.view.find.name": "Find",
|
||||
"hex.builtin.view.find.regex": "Regex",
|
||||
"hex.builtin.view.find.regex.full_match": "Require full match",
|
||||
"hex.builtin.view.find.regex.pattern": "Pattern",
|
||||
"hex.builtin.view.find.search": "Search",
|
||||
"hex.builtin.view.find.search.entries": "{} entries found",
|
||||
"hex.builtin.view.find.search.reset": "Reset",
|
||||
"hex.builtin.view.find.searching": "Searching...",
|
||||
"hex.builtin.view.find.sequences": "Sequences",
|
||||
"hex.builtin.view.find.strings": "Strings",
|
||||
"hex.builtin.view.find.strings.chars": "Characters",
|
||||
"hex.builtin.view.find.strings.line_feeds": "Line Feeds",
|
||||
"hex.builtin.view.find.strings.lower_case": "Lower case letters",
|
||||
"hex.builtin.view.find.strings.match_settings": "Match Settings",
|
||||
"hex.builtin.view.find.strings.min_length": "Minimum length",
|
||||
"hex.builtin.view.find.strings.null_term": "Require Null Termination",
|
||||
"hex.builtin.view.find.strings.numbers": "Numbers",
|
||||
"hex.builtin.view.find.strings.spaces": "Spaces",
|
||||
"hex.builtin.view.find.strings.symbols": "Symbols",
|
||||
"hex.builtin.view.find.strings.underscores": "Underscores",
|
||||
"hex.builtin.view.find.strings.upper_case": "Upper case letters",
|
||||
"hex.builtin.view.find.value": "Numeric Value",
|
||||
"hex.builtin.view.find.value.max": "Maximum Value",
|
||||
"hex.builtin.view.find.value.min": "Minimum Value",
|
||||
"hex.builtin.view.hashes.function": "Hash function",
|
||||
"hex.builtin.view.hashes.hash": "Hash",
|
||||
"hex.builtin.view.hashes.hover_info": "Hover over the Hex Editor selection and hold down SHIFT to view the hashes of that region.",
|
||||
"hex.builtin.view.hashes.name": "Hashes",
|
||||
"hex.builtin.view.hashes.no_settings": "No settings available",
|
||||
"hex.builtin.view.hashes.remove": "Remove hash",
|
||||
"hex.builtin.view.hashes.table.name": "Name",
|
||||
"hex.builtin.view.hashes.table.result": "Result",
|
||||
"hex.builtin.view.hashes.table.type": "Type",
|
||||
"hex.builtin.view.help.about.contributor": "Contributors",
|
||||
"hex.builtin.view.help.about.donations": "Donations",
|
||||
"hex.builtin.view.help.about.libs": "Libraries used",
|
||||
"hex.builtin.view.help.about.license": "License",
|
||||
"hex.builtin.view.help.about.name": "About",
|
||||
"hex.builtin.view.help.about.paths": "ImHex Directories",
|
||||
"hex.builtin.view.help.about.source": "Source code available on GitHub:",
|
||||
"hex.builtin.view.help.about.thanks": "If you like my work, please consider donating to keep the project going. Thanks a lot <3",
|
||||
"hex.builtin.view.help.about.translator": "Translated by WerWolv",
|
||||
"hex.builtin.view.help.calc_cheat_sheet": "Calculator Cheat Sheet",
|
||||
"hex.builtin.view.help.documentation": "ImHex Documentation",
|
||||
"hex.builtin.view.help.name": "Help",
|
||||
"hex.builtin.view.help.pattern_cheat_sheet": "Pattern Language Cheat Sheet",
|
||||
"hex.builtin.view.hex_editor.copy.address": "Address",
|
||||
"hex.builtin.view.hex_editor.copy.ascii": "Text Area",
|
||||
"hex.builtin.view.hex_editor.copy.base64": "Base64",
|
||||
"hex.builtin.view.hex_editor.copy.c": "C Array",
|
||||
"hex.builtin.view.hex_editor.copy.cpp": "C++ Array",
|
||||
"hex.builtin.view.hex_editor.copy.crystal": "Crystal Array",
|
||||
"hex.builtin.view.hex_editor.copy.csharp": "C# Array",
|
||||
"hex.builtin.view.hex_editor.copy.go": "Go Array",
|
||||
"hex.builtin.view.hex_editor.copy.hex": "Hex String",
|
||||
"hex.builtin.view.hex_editor.copy.html": "HTML",
|
||||
"hex.builtin.view.hex_editor.copy.java": "Java Array",
|
||||
"hex.builtin.view.hex_editor.copy.js": "JavaScript Array",
|
||||
"hex.builtin.view.hex_editor.copy.lua": "Lua Array",
|
||||
"hex.builtin.view.hex_editor.copy.pascal": "Pascal Array",
|
||||
"hex.builtin.view.hex_editor.copy.python": "Python Array",
|
||||
"hex.builtin.view.hex_editor.copy.rust": "Rust Array",
|
||||
"hex.builtin.view.hex_editor.copy.swift": "Swift Array",
|
||||
"hex.builtin.view.hex_editor.goto.offset.absolute": "Absolute",
|
||||
"hex.builtin.view.hex_editor.goto.offset.begin": "Begin",
|
||||
"hex.builtin.view.hex_editor.goto.offset.end": "End",
|
||||
"hex.builtin.view.hex_editor.goto.offset.relative": "Relative",
|
||||
"hex.builtin.view.hex_editor.menu.edit.copy": "Copy",
|
||||
"hex.builtin.view.hex_editor.menu.edit.copy_as": "Copy as...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.insert": "Insert...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.jump_to": "Jump to",
|
||||
"hex.builtin.view.hex_editor.menu.edit.open_in_new_provider": "Open selection view...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste": "Paste",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste_all": "Paste all",
|
||||
"hex.builtin.view.hex_editor.menu.edit.remove": "Remove...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.resize": "Resize...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.select_all": "Select all",
|
||||
"hex.builtin.view.hex_editor.menu.edit.set_base": "Set base address",
|
||||
"hex.builtin.view.hex_editor.menu.file.goto": "Goto",
|
||||
"hex.builtin.view.hex_editor.menu.file.load_encoding_file": "Load custom encoding...",
|
||||
"hex.builtin.view.hex_editor.menu.file.save": "Save",
|
||||
"hex.builtin.view.hex_editor.menu.file.save_as": "Save As...",
|
||||
"hex.builtin.view.hex_editor.menu.file.search": "Search",
|
||||
"hex.builtin.view.hex_editor.menu.file.select": "Select",
|
||||
"hex.builtin.view.hex_editor.name": "Hex editor",
|
||||
"hex.builtin.view.hex_editor.search.find": "Find",
|
||||
"hex.builtin.view.hex_editor.search.hex": "Hex",
|
||||
"hex.builtin.view.hex_editor.search.string": "String",
|
||||
"hex.builtin.view.hex_editor.select.offset.begin": "Begin",
|
||||
"hex.builtin.view.hex_editor.select.offset.end": "End",
|
||||
"hex.builtin.view.hex_editor.select.offset.region": "Region",
|
||||
"hex.builtin.view.hex_editor.select.offset.size": "Size",
|
||||
"hex.builtin.view.hex_editor.select.select": "Select",
|
||||
"hex.builtin.view.information.analyze": "Analyze page",
|
||||
"hex.builtin.view.information.analyzing": "Analyzing...",
|
||||
"hex.builtin.view.information.block_size": "Block size",
|
||||
"hex.builtin.view.information.block_size.desc": "{0} blocks of {1} bytes",
|
||||
"hex.builtin.view.information.byte_types": "Byte types",
|
||||
"hex.builtin.view.information.control": "Control",
|
||||
"hex.builtin.view.information.description": "Description:",
|
||||
"hex.builtin.view.information.digram": "Digram",
|
||||
"hex.builtin.view.information.distribution": "Byte distribution",
|
||||
"hex.builtin.view.information.encrypted": "This data is most likely encrypted or compressed!",
|
||||
"hex.builtin.view.information.entropy": "Entropy",
|
||||
"hex.builtin.view.information.file_entropy": "File entropy",
|
||||
"hex.builtin.view.information.highest_entropy": "Highest entropy block",
|
||||
"hex.builtin.view.information.info_analysis": "Information analysis",
|
||||
"hex.builtin.view.information.layered_distribution": "Layered distribution",
|
||||
"hex.builtin.view.information.magic": "Magic information",
|
||||
"hex.builtin.view.information.magic_db_added": "Magic database added!",
|
||||
"hex.builtin.view.information.mime": "MIME Type:",
|
||||
"hex.builtin.view.information.name": "Data Information",
|
||||
"hex.builtin.view.information.region": "Analyzed region",
|
||||
"hex.builtin.view.information.plain_text": "This data is most likely plain text.",
|
||||
"hex.builtin.view.information.plain_text_percentage": "Plain text percentage",
|
||||
|
||||
"hex.builtin.view.patches.name": "Patches",
|
||||
"hex.builtin.view.patches.offset": "Offset",
|
||||
"hex.builtin.view.patches.orig": "Original value",
|
||||
"hex.builtin.view.patches.patch": "Patched value",
|
||||
"hex.builtin.view.patches.remove": "Remove patch",
|
||||
"hex.builtin.view.pattern_data.name": "Pattern Data",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern": "Accept pattern",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.desc": "One or more pattern_language compatible with this data type has been found",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.pattern_language": "Patterns",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.question": "Do you want to apply the selected pattern?",
|
||||
"hex.builtin.view.pattern_editor.auto": "Auto evaluate",
|
||||
"hex.builtin.view.pattern_editor.console": "Console",
|
||||
"hex.builtin.view.pattern_editor.dangerous_function.desc": "This pattern tried to call a dangerous function.\nAre you sure you want to trust this pattern?",
|
||||
"hex.builtin.view.pattern_editor.dangerous_function.name": "Allow dangerous function?",
|
||||
"hex.builtin.view.pattern_editor.env_vars": "Environment Variables",
|
||||
"hex.builtin.view.pattern_editor.evaluating": "Evaluating...",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern": "Place pattern...",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin": "Built-in Type",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.array": "Array",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.single": "Single",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.custom": "Custom Type",
|
||||
"hex.builtin.view.pattern_editor.menu.file.load_pattern": "Load pattern...",
|
||||
"hex.builtin.view.pattern_editor.menu.file.save_pattern": "Save pattern...",
|
||||
"hex.builtin.view.pattern_editor.name": "Pattern editor",
|
||||
"hex.builtin.view.pattern_editor.no_in_out_vars": "Define some global variables with the 'in' or 'out' specifier for them to appear here.",
|
||||
"hex.builtin.view.pattern_editor.open_pattern": "Open pattern",
|
||||
"hex.builtin.view.pattern_editor.section_popup": "Section",
|
||||
"hex.builtin.view.pattern_editor.sections": "Sections",
|
||||
"hex.builtin.view.pattern_editor.settings": "Settings",
|
||||
"hex.builtin.view.provider_settings.load_error": "An error occurred while trying to open this provider!",
|
||||
"hex.builtin.view.provider_settings.load_popup": "Open Provider",
|
||||
"hex.builtin.view.provider_settings.name": "Provider Settings",
|
||||
"hex.builtin.view.settings.name": "Settings",
|
||||
"hex.builtin.view.settings.restart_question": "A change you made requires a restart of ImHex to take effect. Would you like to restart it now?",
|
||||
"hex.builtin.view.store.desc": "Download new content from ImHex's online database",
|
||||
"hex.builtin.view.store.download": "Download",
|
||||
"hex.builtin.view.store.download_error": "Failed to download file! Destination folder does not exist.",
|
||||
"hex.builtin.view.store.loading": "Loading store content...",
|
||||
"hex.builtin.view.store.name": "Content Store",
|
||||
"hex.builtin.view.store.netfailed": "Net request to load store content failed!",
|
||||
"hex.builtin.view.store.reload": "Reload",
|
||||
"hex.builtin.view.store.remove": "Remove",
|
||||
"hex.builtin.view.store.row.description": "Description",
|
||||
"hex.builtin.view.store.row.name": "Name",
|
||||
"hex.builtin.view.store.tab.constants": "Constants",
|
||||
"hex.builtin.view.store.tab.encodings": "Encodings",
|
||||
"hex.builtin.view.store.tab.libraries": "Libraries",
|
||||
"hex.builtin.view.store.tab.magics": "Magic Files",
|
||||
"hex.builtin.view.store.tab.patterns": "Patterns",
|
||||
"hex.builtin.view.store.tab.yara": "Yara Rules",
|
||||
"hex.builtin.view.store.update": "Update",
|
||||
"hex.builtin.view.tools.name": "Tools",
|
||||
"hex.builtin.view.yara.error": "Yara Compiler error: ",
|
||||
"hex.builtin.view.yara.header.matches": "Matches",
|
||||
"hex.builtin.view.yara.header.rules": "Rules",
|
||||
"hex.builtin.view.yara.match": "Match Rules",
|
||||
"hex.builtin.view.yara.matches.identifier": "Identifier",
|
||||
"hex.builtin.view.yara.matches.variable": "Variable",
|
||||
"hex.builtin.view.yara.matching": "Matching...",
|
||||
"hex.builtin.view.yara.name": "Yara Rules",
|
||||
"hex.builtin.view.yara.no_rules": "No YARA rules found. Put them in ImHex's 'yara' folder",
|
||||
"hex.builtin.view.yara.reload": "Reload",
|
||||
"hex.builtin.view.yara.reset": "Reset",
|
||||
"hex.builtin.view.yara.rule_added": "Yara rule added!",
|
||||
"hex.builtin.view.yara.whole_data": "Whole file matches!",
|
||||
"hex.builtin.visualizer.decimal.signed.16bit": "Decimal Signed (16 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.32bit": "Decimal Signed (32 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.64bit": "Decimal Signed (64 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.8bit": "Decimal Signed (8 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.16bit": "Decimal Unsigned (16 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.32bit": "Decimal Unsigned (32 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.64bit": "Decimal Unsigned (64 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.8bit": "Decimal Unsigned (8 bits)",
|
||||
"hex.builtin.visualizer.floating_point.16bit": "Floating Point (16 bits)",
|
||||
"hex.builtin.visualizer.floating_point.32bit": "Floating Point (32 bits)",
|
||||
"hex.builtin.visualizer.floating_point.64bit": "Floating Point (64 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.16bit": "Hexadecimal (16 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.32bit": "Hexadecimal (32 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.64bit": "Hexadecimal (64 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.8bit": "Hexadecimal (8 bits)",
|
||||
"hex.builtin.visualizer.hexii": "HexII",
|
||||
"hex.builtin.visualizer.rgba8": "RGBA8 Color",
|
||||
"hex.builtin.welcome.check_for_updates_text": "Do you want to automatically check for updates on startup?\n Possible updates will be shown in the 'Update' tab of the welcome screen",
|
||||
"hex.builtin.welcome.customize.settings.desc": "Change preferences of ImHex",
|
||||
"hex.builtin.welcome.customize.settings.title": "Settings",
|
||||
"hex.builtin.welcome.header.customize": "Customize",
|
||||
"hex.builtin.welcome.header.help": "Help",
|
||||
"hex.builtin.welcome.header.learn": "Learn",
|
||||
"hex.builtin.welcome.header.main": "Welcome to ImHex",
|
||||
"hex.builtin.welcome.header.plugins": "Loaded Plugins",
|
||||
"hex.builtin.welcome.header.start": "Start",
|
||||
"hex.builtin.welcome.header.update": "Updates",
|
||||
"hex.builtin.welcome.header.various": "Various",
|
||||
"hex.builtin.welcome.help.discord": "Discord Server",
|
||||
"hex.builtin.welcome.help.discord.link": "https://imhex.werwolv.net/discord",
|
||||
"hex.builtin.welcome.help.gethelp": "Get Help",
|
||||
"hex.builtin.welcome.help.gethelp.link": "https://github.com/WerWolv/ImHex/discussions/categories/get-help",
|
||||
"hex.builtin.welcome.help.repo": "GitHub Repository",
|
||||
"hex.builtin.welcome.help.repo.link": "https://imhex.werwolv.net/git",
|
||||
"hex.builtin.welcome.learn.latest.desc": "Read ImHex's current changelog",
|
||||
"hex.builtin.welcome.learn.latest.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.learn.latest.title": "Latest Release",
|
||||
"hex.builtin.welcome.learn.pattern.desc": "Learn how to write ImHex patterns with our extensive documentation",
|
||||
"hex.builtin.welcome.learn.pattern.link": "https://imhex.werwolv.net/docs",
|
||||
"hex.builtin.welcome.learn.pattern.title": "Pattern Language Documentation",
|
||||
"hex.builtin.welcome.learn.plugins.desc": "Extend ImHex with additional features using plugins",
|
||||
"hex.builtin.welcome.learn.plugins.link": "https://github.com/WerWolv/ImHex/wiki/Plugins-Development-Guide",
|
||||
"hex.builtin.welcome.learn.plugins.title": "Plugins API",
|
||||
"hex.builtin.welcome.plugins.author": "Author",
|
||||
"hex.builtin.welcome.plugins.desc": "Description",
|
||||
"hex.builtin.welcome.plugins.plugin": "Plugin",
|
||||
"hex.builtin.welcome.safety_backup.delete": "No, Delete",
|
||||
"hex.builtin.welcome.safety_backup.desc": "Oh no, ImHex crashed last time.\nDo you want to restore your past work?",
|
||||
"hex.builtin.welcome.safety_backup.restore": "Yes, Restore",
|
||||
"hex.builtin.welcome.safety_backup.title": "Restore lost data",
|
||||
"hex.builtin.welcome.start.create_file": "Create New File",
|
||||
"hex.builtin.welcome.start.open_file": "Open File",
|
||||
"hex.builtin.welcome.start.open_other": "Other Providers",
|
||||
"hex.builtin.welcome.start.open_project": "Open Project",
|
||||
"hex.builtin.welcome.start.recent": "Recent Files",
|
||||
"hex.builtin.welcome.tip_of_the_day": "Tip of the Day",
|
||||
"hex.builtin.welcome.update.desc": "ImHex {0} just released! Download it here.",
|
||||
"hex.builtin.welcome.update.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.update.title": "New Update available!"
|
||||
}
|
||||
}
|
||||
817
plugins/builtin/romfs/lang/it_IT.json
Normal file
817
plugins/builtin/romfs/lang/it_IT.json
Normal file
@@ -0,0 +1,817 @@
|
||||
{
|
||||
"code": "it-IT",
|
||||
"country": "Italy",
|
||||
"language": "Italian",
|
||||
"translations": {
|
||||
"hex.builtin.command.calc.desc": "Calcolatrice",
|
||||
"hex.builtin.command.cmd.desc": "Comando",
|
||||
"hex.builtin.command.cmd.result": "Esegui comando '{0}'",
|
||||
"hex.builtin.command.web.desc": "Consulta il Web",
|
||||
"hex.builtin.command.web.result": "Naviga a '{0}'",
|
||||
"hex.builtin.common.address": "Indirizzo",
|
||||
"hex.builtin.common.big": "Big",
|
||||
"hex.builtin.common.big_endian": "Big Endian",
|
||||
"hex.builtin.common.browse": "Esplora...",
|
||||
"hex.builtin.common.cancel": "Cancella",
|
||||
"hex.builtin.common.choose_file": "Scegli file",
|
||||
"hex.builtin.common.close": "Chiudi",
|
||||
"hex.builtin.common.comment": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.count": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.decimal": "Decimale",
|
||||
"hex.builtin.common.dont_show_again": "Non mostrare di nuovo",
|
||||
"hex.builtin.common.encoding.ascii": "ASCII",
|
||||
"hex.builtin.common.encoding.utf16be": "UTF-16BE",
|
||||
"hex.builtin.common.encoding.utf16le": "UTF-16LE",
|
||||
"hex.builtin.common.encoding.utf8": "UTF-8",
|
||||
"hex.builtin.common.endian": "Endian",
|
||||
"hex.builtin.common.error": "Errore",
|
||||
"hex.builtin.common.fatal": "Errore Fatale",
|
||||
"hex.builtin.common.file": "File",
|
||||
"hex.builtin.common.filter": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.hexadecimal": "Esadecimale",
|
||||
"hex.builtin.common.info": "Informazioni",
|
||||
"hex.builtin.common.link": "Link",
|
||||
"hex.builtin.common.little": "Little",
|
||||
"hex.builtin.common.little_endian": "Little Endian",
|
||||
"hex.builtin.common.load": "Carica",
|
||||
"hex.builtin.common.match_selection": "Seleziona abbinamento",
|
||||
"hex.builtin.common.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.no": "No",
|
||||
"hex.builtin.common.number_format": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.octal": "Ottale",
|
||||
"hex.builtin.common.offset": "Offset",
|
||||
"hex.builtin.common.okay": "Okay",
|
||||
"hex.builtin.common.open": "Apri",
|
||||
"hex.builtin.common.processing": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.question": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.range": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.range.entire_data": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.range.selection": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.region": "Regione",
|
||||
"hex.builtin.common.set": "Imposta",
|
||||
"hex.builtin.common.size": "Dimensione",
|
||||
"hex.builtin.common.type": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.type.f32": "float",
|
||||
"hex.builtin.common.type.f64": "double",
|
||||
"hex.builtin.common.type.i16": "int16_t",
|
||||
"hex.builtin.common.type.i24": "int24_t",
|
||||
"hex.builtin.common.type.i32": "int32_t",
|
||||
"hex.builtin.common.type.i48": "int48_t",
|
||||
"hex.builtin.common.type.i64": "int64_t",
|
||||
"hex.builtin.common.type.i8": "int8_t",
|
||||
"hex.builtin.common.type.u16": "uint16_t",
|
||||
"hex.builtin.common.type.u24": "uint24_t",
|
||||
"hex.builtin.common.type.u32": "uint32_t",
|
||||
"hex.builtin.common.type.u48": "uint48_t",
|
||||
"hex.builtin.common.type.u64": "uint64_t",
|
||||
"hex.builtin.common.type.u8": "uint8_t",
|
||||
"hex.builtin.common.value": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.yes": "Sì",
|
||||
"hex.builtin.hash.crc.iv": "Valore Iniziale",
|
||||
"hex.builtin.hash.crc.poly": "Polinomio",
|
||||
"hex.builtin.hash.crc.refl_in": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.hash.crc.refl_out": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.hash.crc.xor_out": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.hash.crc16": "CRC16",
|
||||
"hex.builtin.hash.crc32": "CRC32",
|
||||
"hex.builtin.hash.crc8": "CRC8",
|
||||
"hex.builtin.hash.md5": "MD5",
|
||||
"hex.builtin.hash.sha1": "SHA1",
|
||||
"hex.builtin.hash.sha224": "SHA224",
|
||||
"hex.builtin.hash.sha256": "SHA256",
|
||||
"hex.builtin.hash.sha384": "SHA384",
|
||||
"hex.builtin.hash.sha512": "SHA512",
|
||||
"hex.builtin.hex_editor.data_size": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.hex_editor.no_bytes": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.hex_editor.page": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.hex_editor.region": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.hex_editor.selection": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.hex_editor.selection.none": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.inspector.ascii": "ASCII Character",
|
||||
"hex.builtin.inspector.binary": "Binary (8 bit)",
|
||||
"hex.builtin.inspector.bool": "bool",
|
||||
"hex.builtin.inspector.dos_date": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.inspector.dos_time": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.inspector.double": "double (64 bit)",
|
||||
"hex.builtin.inspector.float": "float (32 bit)",
|
||||
"hex.builtin.inspector.float16": "half float (16 bit)",
|
||||
"hex.builtin.inspector.guid": "GUID",
|
||||
"hex.builtin.inspector.i16": "int16_t",
|
||||
"hex.builtin.inspector.i24": "int24_t",
|
||||
"hex.builtin.inspector.i32": "int32_t",
|
||||
"hex.builtin.inspector.i48": "int48_t",
|
||||
"hex.builtin.inspector.i64": "int64_t",
|
||||
"hex.builtin.inspector.i8": "int8_t",
|
||||
"hex.builtin.inspector.long_double": "long double (128 bit)",
|
||||
"hex.builtin.inspector.rgb565": "Colori RGB565",
|
||||
"hex.builtin.inspector.rgba8": "Colori RGBA8",
|
||||
"hex.builtin.inspector.sleb128": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.inspector.string": "String",
|
||||
"hex.builtin.inspector.string16": "Wide String",
|
||||
"hex.builtin.inspector.time": "time_t",
|
||||
"hex.builtin.inspector.time32": "time32_t",
|
||||
"hex.builtin.inspector.time64": "time64_t",
|
||||
"hex.builtin.inspector.u16": "uint16_t",
|
||||
"hex.builtin.inspector.u24": "uint24_t",
|
||||
"hex.builtin.inspector.u32": "uint32_t",
|
||||
"hex.builtin.inspector.u48": "uint48_t",
|
||||
"hex.builtin.inspector.u64": "uint64_t",
|
||||
"hex.builtin.inspector.u8": "uint8_t",
|
||||
"hex.builtin.inspector.uleb128": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.inspector.utf8": "UTF-8 code point",
|
||||
"hex.builtin.inspector.wide": "Wide Character",
|
||||
"hex.builtin.layouts.default": "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.file": "File",
|
||||
"hex.builtin.menu.file.bookmark.export": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.bookmark.import": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.clear_recent": "Pulisci",
|
||||
"hex.builtin.menu.file.close": "Chiudi",
|
||||
"hex.builtin.menu.file.create_file": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.export": "Esporta...",
|
||||
"hex.builtin.menu.file.export.base64.popup.export_error": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.export.ips": "IPS Patch",
|
||||
"hex.builtin.menu.file.export.ips32": "IPS32 Patch",
|
||||
"hex.builtin.menu.file.export.popup.create": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.export.title": "Esporta File",
|
||||
"hex.builtin.menu.file.import": "Importa...",
|
||||
"hex.builtin.menu.file.import.base64": "Base64 File",
|
||||
"hex.builtin.menu.file.import.base64.popup.import_error": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.import.base64.popup.open_error": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.import.ips": "IPS Patch",
|
||||
"hex.builtin.menu.file.import.ips32": "IPS32 Patch",
|
||||
"hex.builtin.menu.file.open_file": "Apri File...",
|
||||
"hex.builtin.menu.file.open_other": "Apri altro...",
|
||||
"hex.builtin.menu.file.open_project": "Apri un Progetto...",
|
||||
"hex.builtin.menu.file.open_recent": "File recenti",
|
||||
"hex.builtin.menu.file.quit": "Uscita ImHex",
|
||||
"hex.builtin.menu.file.reload_file": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.save_project": "Salva Progetto",
|
||||
"hex.builtin.menu.file.save_project_as": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.help": "Aiuto",
|
||||
"hex.builtin.menu.layout": "Layout",
|
||||
"hex.builtin.menu.view": "Vista",
|
||||
"hex.builtin.menu.view.demo": "Mostra la demo di ImGui",
|
||||
"hex.builtin.menu.view.fps": "Mostra FPS",
|
||||
"hex.builtin.nodes.arithmetic": "Aritmetica",
|
||||
"hex.builtin.nodes.arithmetic.add": "Addizione",
|
||||
"hex.builtin.nodes.arithmetic.add.header": "Aggiungi",
|
||||
"hex.builtin.nodes.arithmetic.average": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.average.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.div": "Divisione",
|
||||
"hex.builtin.nodes.arithmetic.div.header": "Dividi",
|
||||
"hex.builtin.nodes.arithmetic.median": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.median.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.mod": "Modulo",
|
||||
"hex.builtin.nodes.arithmetic.mod.header": "Modulo",
|
||||
"hex.builtin.nodes.arithmetic.mul": "Moltiplicazione",
|
||||
"hex.builtin.nodes.arithmetic.mul.header": "Moltiplica",
|
||||
"hex.builtin.nodes.arithmetic.sub": "Sottrazione",
|
||||
"hex.builtin.nodes.arithmetic.sub.header": "Sottrai",
|
||||
"hex.builtin.nodes.bitwise": "Operazioni di Bitwise",
|
||||
"hex.builtin.nodes.bitwise.and": "E",
|
||||
"hex.builtin.nodes.bitwise.and.header": "Bitwise E",
|
||||
"hex.builtin.nodes.bitwise.not": "NON",
|
||||
"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.xor": "XOR",
|
||||
"hex.builtin.nodes.bitwise.xor.header": "Bitwise XOR",
|
||||
"hex.builtin.nodes.buffer": "Buffer",
|
||||
"hex.builtin.nodes.buffer.combine": "Combina",
|
||||
"hex.builtin.nodes.buffer.combine.header": "Combina buffer",
|
||||
"hex.builtin.nodes.buffer.patch": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.patch.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.patch.input.patch": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.repeat": "Ripeti",
|
||||
"hex.builtin.nodes.buffer.repeat.header": "Ripeti buffer",
|
||||
"hex.builtin.nodes.buffer.repeat.input.buffer": "Input",
|
||||
"hex.builtin.nodes.buffer.repeat.input.count": "Conta",
|
||||
"hex.builtin.nodes.buffer.slice": "Affetta",
|
||||
"hex.builtin.nodes.buffer.slice.header": "Affetta buffer",
|
||||
"hex.builtin.nodes.buffer.slice.input.buffer": "Input",
|
||||
"hex.builtin.nodes.buffer.slice.input.from": "Inizio",
|
||||
"hex.builtin.nodes.buffer.slice.input.to": "Fine",
|
||||
"hex.builtin.nodes.casting": "Conversione Dati",
|
||||
"hex.builtin.nodes.casting.buffer_to_float": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.buffer_to_float.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.buffer_to_int": "Da Buffer a Intero",
|
||||
"hex.builtin.nodes.casting.buffer_to_int.header": "Da Buffer a Integer",
|
||||
"hex.builtin.nodes.casting.float_to_buffer": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.float_to_buffer.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.int_to_buffer": "Da Intero a Buffer",
|
||||
"hex.builtin.nodes.casting.int_to_buffer.header": "Da Intero a Buffer",
|
||||
"hex.builtin.nodes.common.height": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.common.input": "Input",
|
||||
"hex.builtin.nodes.common.input.a": "Input A",
|
||||
"hex.builtin.nodes.common.input.b": "Input B",
|
||||
"hex.builtin.nodes.common.output": "Output",
|
||||
"hex.builtin.nodes.common.width": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.constants": "Costanti",
|
||||
"hex.builtin.nodes.constants.buffer": "Buffer",
|
||||
"hex.builtin.nodes.constants.buffer.header": "Buffer",
|
||||
"hex.builtin.nodes.constants.buffer.size": "Dimensione",
|
||||
"hex.builtin.nodes.constants.comment": "Comment",
|
||||
"hex.builtin.nodes.constants.comment.header": "Commento",
|
||||
"hex.builtin.nodes.constants.float": "Float",
|
||||
"hex.builtin.nodes.constants.float.header": "Float",
|
||||
"hex.builtin.nodes.constants.int": "Intero",
|
||||
"hex.builtin.nodes.constants.int.header": "Intero",
|
||||
"hex.builtin.nodes.constants.nullptr": "Nullptr",
|
||||
"hex.builtin.nodes.constants.nullptr.header": "Nullptr",
|
||||
"hex.builtin.nodes.constants.rgba8": "Colore RGBA8",
|
||||
"hex.builtin.nodes.constants.rgba8.header": "Colore RGBA8",
|
||||
"hex.builtin.nodes.constants.rgba8.output.a": "Alpha",
|
||||
"hex.builtin.nodes.constants.rgba8.output.b": "Blu",
|
||||
"hex.builtin.nodes.constants.rgba8.output.g": "Verde",
|
||||
"hex.builtin.nodes.constants.rgba8.output.r": "Rosso",
|
||||
"hex.builtin.nodes.constants.string": "Stringa",
|
||||
"hex.builtin.nodes.constants.string.header": "Stringa",
|
||||
"hex.builtin.nodes.control_flow": "Controlla Flusso",
|
||||
"hex.builtin.nodes.control_flow.and": "E",
|
||||
"hex.builtin.nodes.control_flow.and.header": "Boolean E",
|
||||
"hex.builtin.nodes.control_flow.equals": "Uguale a",
|
||||
"hex.builtin.nodes.control_flow.equals.header": "Uguale a",
|
||||
"hex.builtin.nodes.control_flow.gt": "Maggiore di",
|
||||
"hex.builtin.nodes.control_flow.gt.header": "Maggiore di",
|
||||
"hex.builtin.nodes.control_flow.if": "Se",
|
||||
"hex.builtin.nodes.control_flow.if.condition": "Condizione",
|
||||
"hex.builtin.nodes.control_flow.if.false": "Falso",
|
||||
"hex.builtin.nodes.control_flow.if.header": "Se",
|
||||
"hex.builtin.nodes.control_flow.if.true": "Vero",
|
||||
"hex.builtin.nodes.control_flow.lt": "Minore di",
|
||||
"hex.builtin.nodes.control_flow.lt.header": "Minore di",
|
||||
"hex.builtin.nodes.control_flow.not": "Non",
|
||||
"hex.builtin.nodes.control_flow.not.header": "Non",
|
||||
"hex.builtin.nodes.control_flow.or": "O",
|
||||
"hex.builtin.nodes.control_flow.or.header": "Boolean O",
|
||||
"hex.builtin.nodes.crypto": "Cryptografia",
|
||||
"hex.builtin.nodes.crypto.aes": "Decriptatore AES",
|
||||
"hex.builtin.nodes.crypto.aes.header": "Decriptatore AES",
|
||||
"hex.builtin.nodes.crypto.aes.iv": "IV",
|
||||
"hex.builtin.nodes.crypto.aes.key": "Chiave",
|
||||
"hex.builtin.nodes.crypto.aes.key_length": "Lunghezza Chiave",
|
||||
"hex.builtin.nodes.crypto.aes.mode": "Modalità",
|
||||
"hex.builtin.nodes.crypto.aes.nonce": "Nonce",
|
||||
"hex.builtin.nodes.data_access": "Accesso ai Dati",
|
||||
"hex.builtin.nodes.data_access.read": "Leggi",
|
||||
"hex.builtin.nodes.data_access.read.address": "Indirizzo",
|
||||
"hex.builtin.nodes.data_access.read.data": "Dati",
|
||||
"hex.builtin.nodes.data_access.read.header": "Leggi",
|
||||
"hex.builtin.nodes.data_access.read.size": "Dimensione",
|
||||
"hex.builtin.nodes.data_access.selection": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.data_access.selection.address": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.data_access.selection.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.data_access.selection.size": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.data_access.size": "Dati Dimensione",
|
||||
"hex.builtin.nodes.data_access.size.header": "Dati Dimensione",
|
||||
"hex.builtin.nodes.data_access.size.size": "Dimensione",
|
||||
"hex.builtin.nodes.data_access.write": "Scrivi",
|
||||
"hex.builtin.nodes.data_access.write.address": "Indirizzo",
|
||||
"hex.builtin.nodes.data_access.write.data": "Dati",
|
||||
"hex.builtin.nodes.data_access.write.header": "Scrivi",
|
||||
"hex.builtin.nodes.decoding": "Decodifica",
|
||||
"hex.builtin.nodes.decoding.base64": "Base64",
|
||||
"hex.builtin.nodes.decoding.base64.header": "Decodificatore Base64",
|
||||
"hex.builtin.nodes.decoding.hex": "Esadecimale",
|
||||
"hex.builtin.nodes.decoding.hex.header": "Decodificatore Esadecimale",
|
||||
"hex.builtin.nodes.display": "Mostra",
|
||||
"hex.builtin.nodes.display.buffer": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.display.buffer.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.display.float": "Float",
|
||||
"hex.builtin.nodes.display.float.header": "Mostra Float",
|
||||
"hex.builtin.nodes.display.int": "Intero",
|
||||
"hex.builtin.nodes.display.int.header": "Mostra Intero",
|
||||
"hex.builtin.nodes.display.string": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.display.string.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language.out_var": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language.out_var.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.byte_distribution": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.byte_distribution.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.digram": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.digram.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.image": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.image.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.image_rgba": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.image_rgba.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.layered_dist": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.layered_dist.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.pattern_drawer.color": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.pattern_drawer.double_click": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.pattern_drawer.offset": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.pattern_drawer.size": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.pattern_drawer.type": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.pattern_drawer.value": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.pattern_drawer.var_name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.close_provider.desc": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.close_provider.title": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.create": "Impossibile creare il nuovo File!",
|
||||
"hex.builtin.popup.error.file_dialog.common": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.file_dialog.portal": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.open": "Impossibile aprire il File!",
|
||||
"hex.builtin.popup.error.project.load": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.project.save": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.read_only": "Impossibile scrivere sul File. File aperto solo in modalità lettura",
|
||||
"hex.builtin.popup.error.task_exception": "***** MISSING TRANSLATION *****",
|
||||
"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.provider.disk": "Provider di dischi raw",
|
||||
"hex.builtin.provider.disk.disk_size": "Dimensione disco",
|
||||
"hex.builtin.provider.disk.reload": "Ricarica",
|
||||
"hex.builtin.provider.disk.sector_size": "Dimensione settore",
|
||||
"hex.builtin.provider.disk.selected_disk": "Disco",
|
||||
"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.modification": "Data dell'ultima modifica",
|
||||
"hex.builtin.provider.file.path": "Percorso del File",
|
||||
"hex.builtin.provider.file.size": "Dimensione",
|
||||
"hex.builtin.provider.gdb": "Server GDB Provider",
|
||||
"hex.builtin.provider.gdb.ip": "Indirizzo IP",
|
||||
"hex.builtin.provider.gdb.name": "Server GDB <{0}:{1}>",
|
||||
"hex.builtin.provider.gdb.port": "Porta",
|
||||
"hex.builtin.provider.gdb.server": "Server",
|
||||
"hex.builtin.provider.intel_hex": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.intel_hex.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.mem_file": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.mem_file.unsaved": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.motorola_srec": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.motorola_srec.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.view": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.folders": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.folders.add_folder": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.folders.description": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.folders.remove_folder": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.font": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.font.font_path": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.font.font_size": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.general": "Generali",
|
||||
"hex.builtin.setting.general.auto_load_patterns": "Auto-caricamento del pattern supportato",
|
||||
"hex.builtin.setting.general.check_for_updates": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.general.enable_unicode": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.general.show_tips": "Mostra consigli all'avvio",
|
||||
"hex.builtin.setting.general.sync_pattern_source": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.bytes_per_row": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.char_padding": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.grey_zeros": "Taglia fuori gli zeri",
|
||||
"hex.builtin.setting.hex_editor.highlight_color": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.sync_scrolling": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.uppercase_hex": "Caratteri esadecimali maiuscoli",
|
||||
"hex.builtin.setting.hex_editor.visualizer": "***** MISSING TRANSLATION *****",
|
||||
"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.unlocked": "Unblocca",
|
||||
"hex.builtin.setting.interface.language": "Lingua",
|
||||
"hex.builtin.setting.interface.multi_windows": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.interface.scaling": "Scale",
|
||||
"hex.builtin.setting.interface.scaling.native": "Nativo",
|
||||
"hex.builtin.setting.interface.scaling.x0_5": "x0.5",
|
||||
"hex.builtin.setting.interface.scaling.x1_0": "x1.0",
|
||||
"hex.builtin.setting.interface.scaling.x1_5": "x1.5",
|
||||
"hex.builtin.setting.interface.scaling.x2_0": "x2.0",
|
||||
"hex.builtin.setting.interface.scaling.x3_0": "x3.0",
|
||||
"hex.builtin.setting.interface.scaling.x4_0": "x4.0",
|
||||
"hex.builtin.setting.interface.wiki_explain_language": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.proxy": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.proxy.description": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.proxy.enable": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.proxy.url": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.proxy.url.tooltip": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ascii_table": "Tavola ASCII",
|
||||
"hex.builtin.tools.ascii_table.octal": "Mostra ottale",
|
||||
"hex.builtin.tools.base_converter": "Convertitore di Base",
|
||||
"hex.builtin.tools.base_converter.bin": "BIN",
|
||||
"hex.builtin.tools.base_converter.dec": "DEC",
|
||||
"hex.builtin.tools.base_converter.hex": "HEX",
|
||||
"hex.builtin.tools.base_converter.oct": "OCT",
|
||||
"hex.builtin.tools.calc": "Calcolatrice",
|
||||
"hex.builtin.tools.color": "Selettore di Colore",
|
||||
"hex.builtin.tools.demangler": "LLVM Demangler",
|
||||
"hex.builtin.tools.demangler.demangled": "Nome Demangled",
|
||||
"hex.builtin.tools.demangler.mangled": "Nome Mangled",
|
||||
"hex.builtin.tools.error": "Ultimo Errore: '{0}'",
|
||||
"hex.builtin.tools.file_tools": "Strumenti per i file",
|
||||
"hex.builtin.tools.file_tools.combiner": "Combina",
|
||||
"hex.builtin.tools.file_tools.combiner.add": "Aggiungi...",
|
||||
"hex.builtin.tools.file_tools.combiner.add.picker": "Aggiungi file",
|
||||
"hex.builtin.tools.file_tools.combiner.clear": "Pulisci",
|
||||
"hex.builtin.tools.file_tools.combiner.combine": "Combina",
|
||||
"hex.builtin.tools.file_tools.combiner.combining": "Sto combinando...",
|
||||
"hex.builtin.tools.file_tools.combiner.delete": "Elimina",
|
||||
"hex.builtin.tools.file_tools.combiner.error.open_output": "Impossibile creare file di output",
|
||||
"hex.builtin.tools.file_tools.combiner.open_input": "Impossibile aprire file di input {0}",
|
||||
"hex.builtin.tools.file_tools.combiner.output": "Fil di output ",
|
||||
"hex.builtin.tools.file_tools.combiner.output.picker": "Imposta il percorso base",
|
||||
"hex.builtin.tools.file_tools.combiner.success": "File combinato con successo!",
|
||||
"hex.builtin.tools.file_tools.shredder": "Tritatutto",
|
||||
"hex.builtin.tools.file_tools.shredder.error.open": "Impossibile aprire il file selezionato!",
|
||||
"hex.builtin.tools.file_tools.shredder.fast": "Modalità veloce",
|
||||
"hex.builtin.tools.file_tools.shredder.input": "File da distruggere",
|
||||
"hex.builtin.tools.file_tools.shredder.picker": "Apri file da distruggere",
|
||||
"hex.builtin.tools.file_tools.shredder.shred": "Distruggi",
|
||||
"hex.builtin.tools.file_tools.shredder.shredding": "Lo sto distruggendo...",
|
||||
"hex.builtin.tools.file_tools.shredder.success": "Distrutto con successo!",
|
||||
"hex.builtin.tools.file_tools.shredder.warning": "Questo strumento distrugge IRRECOVERABILMENTE un file. Usalo con attenzione",
|
||||
"hex.builtin.tools.file_tools.splitter": "Divisore",
|
||||
"hex.builtin.tools.file_tools.splitter.input": "File da dividere ",
|
||||
"hex.builtin.tools.file_tools.splitter.output": "Cartella di output ",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.create": "Impossibile creare file {0}",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.open": "Impossibile aprire il file selezionato!",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.size": "Il file è più piccolo della dimensione del file",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.input": "Apri file da dividere",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.output": "Imposta il percorso base",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.split": "Dividi",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.splitting": "Sto dividendo...",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.success": "File diviso con successo!",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.3_5_floppy": "3½\" disco Floppy (1400KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.5_75_floppy": "5¼\" disco Floppy (1200KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom650": "CD-ROM (650MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom700": "CD-ROM (700MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.custom": "Personalizzato",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.fat32": "FAT32 (4GiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip100": "Disco Zip 100 (100MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip200": "Disco Zip 200 (200MiB)",
|
||||
"hex.builtin.tools.file_uploader": "Uploader dei file",
|
||||
"hex.builtin.tools.file_uploader.control": "Controllo",
|
||||
"hex.builtin.tools.file_uploader.done": "Fatto!",
|
||||
"hex.builtin.tools.file_uploader.error": "Impossibile caricare file!\n\nCodice di errore: {0}",
|
||||
"hex.builtin.tools.file_uploader.invalid_response": "Risposta non valida da parte di Anonfiles!",
|
||||
"hex.builtin.tools.file_uploader.recent": "Caricamenti Recenti",
|
||||
"hex.builtin.tools.file_uploader.tooltip": "Clicca per copiare\nCTRL + Click per aprire",
|
||||
"hex.builtin.tools.file_uploader.upload": "Carica",
|
||||
"hex.builtin.tools.format.engineering": "Ingegnere",
|
||||
"hex.builtin.tools.format.programmer": "Programmatore",
|
||||
"hex.builtin.tools.format.scientific": "Scientifica",
|
||||
"hex.builtin.tools.format.standard": "Standard",
|
||||
"hex.builtin.tools.history": "Storia",
|
||||
"hex.builtin.tools.ieee756": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.double_precision": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.exponent": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.exponent_size": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.formula": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.half_precision": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.mantissa": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.mantissa_size": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.result.float": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.result.hex": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.result.title": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.sign": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.singe_precision": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.type": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.input": "Input",
|
||||
"hex.builtin.tools.name": "Nome",
|
||||
"hex.builtin.tools.permissions": "Calcolatrice dei permessi UNIX",
|
||||
"hex.builtin.tools.permissions.absolute": "Notazione assoluta",
|
||||
"hex.builtin.tools.permissions.perm_bits": "Bit di autorizzazione",
|
||||
"hex.builtin.tools.permissions.setgid_error": "Il gruppo deve avere diritti di esecuzione per applicare il bit setgid!",
|
||||
"hex.builtin.tools.permissions.setuid_error": "L'utente deve avere i diritti di esecuzione per applicare il bit setuid!",
|
||||
"hex.builtin.tools.permissions.sticky_error": "Altri devono avere i diritti di esecuzione per il bit appiccicoso da applicare!",
|
||||
"hex.builtin.tools.regex_replacer": "Sostituzione Regex",
|
||||
"hex.builtin.tools.regex_replacer.input": "Input",
|
||||
"hex.builtin.tools.regex_replacer.output": "Output",
|
||||
"hex.builtin.tools.regex_replacer.pattern": "Regex pattern",
|
||||
"hex.builtin.tools.regex_replacer.replace": "Replace pattern",
|
||||
"hex.builtin.tools.value": "Valore",
|
||||
"hex.builtin.tools.wiki_explain": "Definizioni dei termini da Wikipedia",
|
||||
"hex.builtin.tools.wiki_explain.control": "Controllo",
|
||||
"hex.builtin.tools.wiki_explain.invalid_response": "Risposta non valida da Wikipedia!",
|
||||
"hex.builtin.tools.wiki_explain.results": "Risultati",
|
||||
"hex.builtin.tools.wiki_explain.search": "Cerca",
|
||||
"hex.builtin.view.bookmarks.address": "0x{0:X} : 0x{1:X} ({2} bytes)",
|
||||
"hex.builtin.view.bookmarks.button.jump": "Vai a",
|
||||
"hex.builtin.view.bookmarks.button.remove": "Rimuovi",
|
||||
"hex.builtin.view.bookmarks.default_title": "Segnalibro [0x{0:X} - 0x{1:X}]",
|
||||
"hex.builtin.view.bookmarks.header.color": "Colore",
|
||||
"hex.builtin.view.bookmarks.header.comment": "Commento",
|
||||
"hex.builtin.view.bookmarks.header.name": "Nome",
|
||||
"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.command_palette.name": "Tavola dei Comandi",
|
||||
"hex.builtin.view.constants.name": "Costanti",
|
||||
"hex.builtin.view.constants.row.category": "Categoria",
|
||||
"hex.builtin.view.constants.row.desc": "Descrizione",
|
||||
"hex.builtin.view.constants.row.name": "Nome",
|
||||
"hex.builtin.view.constants.row.value": "Valore",
|
||||
"hex.builtin.view.data_inspector.invert": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.data_inspector.name": "Ispezione Dati",
|
||||
"hex.builtin.view.data_inspector.no_data": "Nessun byte selezionato",
|
||||
"hex.builtin.view.data_inspector.table.name": "Nome",
|
||||
"hex.builtin.view.data_inspector.table.value": "Valore",
|
||||
"hex.builtin.view.data_processor.help_text": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.data_processor.menu.file.load_processor": "Caricare processore di dati...",
|
||||
"hex.builtin.view.data_processor.menu.file.save_processor": "Salva processore di dati...",
|
||||
"hex.builtin.view.data_processor.menu.remove_link": "Rimuovi Link",
|
||||
"hex.builtin.view.data_processor.menu.remove_node": "Rimuovi Nodo",
|
||||
"hex.builtin.view.data_processor.menu.remove_selection": "Rimuovi i selezionati",
|
||||
"hex.builtin.view.data_processor.name": "Processa Dati",
|
||||
"hex.builtin.view.diff.name": "Diffing",
|
||||
"hex.builtin.view.disassembler.16bit": "16-bit",
|
||||
"hex.builtin.view.disassembler.32bit": "32-bit",
|
||||
"hex.builtin.view.disassembler.64bit": "64-bit",
|
||||
"hex.builtin.view.disassembler.arch": "Architettura",
|
||||
"hex.builtin.view.disassembler.arm.arm": "ARM",
|
||||
"hex.builtin.view.disassembler.arm.armv8": "ARMv8",
|
||||
"hex.builtin.view.disassembler.arm.cortex_m": "Cortex-M",
|
||||
"hex.builtin.view.disassembler.arm.default": "Default",
|
||||
"hex.builtin.view.disassembler.arm.thumb": "Thumb",
|
||||
"hex.builtin.view.disassembler.base": "Indirizzo di base",
|
||||
"hex.builtin.view.disassembler.bpf.classic": "Classico",
|
||||
"hex.builtin.view.disassembler.bpf.extended": "Esteso",
|
||||
"hex.builtin.view.disassembler.disassemble": "Disassembla",
|
||||
"hex.builtin.view.disassembler.disassembling": "Disassemblaggio...",
|
||||
"hex.builtin.view.disassembler.disassembly.address": "Indirizzo",
|
||||
"hex.builtin.view.disassembler.disassembly.bytes": "Byte",
|
||||
"hex.builtin.view.disassembler.disassembly.offset": "Offset",
|
||||
"hex.builtin.view.disassembler.disassembly.title": "Disassembla",
|
||||
"hex.builtin.view.disassembler.m680x.6301": "6301",
|
||||
"hex.builtin.view.disassembler.m680x.6309": "6309",
|
||||
"hex.builtin.view.disassembler.m680x.6800": "6800",
|
||||
"hex.builtin.view.disassembler.m680x.6801": "6801",
|
||||
"hex.builtin.view.disassembler.m680x.6805": "6805",
|
||||
"hex.builtin.view.disassembler.m680x.6808": "6808",
|
||||
"hex.builtin.view.disassembler.m680x.6809": "6809",
|
||||
"hex.builtin.view.disassembler.m680x.6811": "6811",
|
||||
"hex.builtin.view.disassembler.m680x.cpu12": "CPU12",
|
||||
"hex.builtin.view.disassembler.m680x.hcs08": "HCS08",
|
||||
"hex.builtin.view.disassembler.m68k.000": "000",
|
||||
"hex.builtin.view.disassembler.m68k.010": "010",
|
||||
"hex.builtin.view.disassembler.m68k.020": "020",
|
||||
"hex.builtin.view.disassembler.m68k.030": "030",
|
||||
"hex.builtin.view.disassembler.m68k.040": "040",
|
||||
"hex.builtin.view.disassembler.m68k.060": "060",
|
||||
"hex.builtin.view.disassembler.mips.micro": "Micro",
|
||||
"hex.builtin.view.disassembler.mips.mips2": "MIPS II",
|
||||
"hex.builtin.view.disassembler.mips.mips3": "MIPS III",
|
||||
"hex.builtin.view.disassembler.mips.mips32": "MIPS32",
|
||||
"hex.builtin.view.disassembler.mips.mips32R6": "MIPS32R6",
|
||||
"hex.builtin.view.disassembler.mips.mips64": "MIPS64",
|
||||
"hex.builtin.view.disassembler.mos65xx.6502": "6502",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816": "65816",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_m": "65816 Long M",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_mx": "65816 Long MX",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_x": "65816 Long X",
|
||||
"hex.builtin.view.disassembler.mos65xx.65c02": "65C02",
|
||||
"hex.builtin.view.disassembler.mos65xx.w65c02": "W65C02",
|
||||
"hex.builtin.view.disassembler.name": "Disassembla",
|
||||
"hex.builtin.view.disassembler.position": "Posiziona",
|
||||
"hex.builtin.view.disassembler.ppc.booke": "Book-E",
|
||||
"hex.builtin.view.disassembler.ppc.qpx": "Quad Processing Extensions",
|
||||
"hex.builtin.view.disassembler.ppc.spe": "Signal Processing Engine",
|
||||
"hex.builtin.view.disassembler.region": "Regione del Codice",
|
||||
"hex.builtin.view.disassembler.riscv.compressed": "Compresso",
|
||||
"hex.builtin.view.disassembler.settings.header": "Impostazioni",
|
||||
"hex.builtin.view.disassembler.settings.mode": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.disassembler.sparc.v9": "Sparc V9",
|
||||
"hex.builtin.view.find.binary_pattern": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.context.copy": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.context.copy_demangle": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.demangled": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.regex": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.regex.full_match": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.regex.pattern": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.search": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.search.entries": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.search.reset": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.searching": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.sequences": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.chars": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.line_feeds": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.lower_case": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.match_settings": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.min_length": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.null_term": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.numbers": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.spaces": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.symbols": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.underscores": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.upper_case": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.value": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.value.max": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.value.min": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hashes.function": "Funzioni di Hash",
|
||||
"hex.builtin.view.hashes.hash": "Hash",
|
||||
"hex.builtin.view.hashes.hover_info": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hashes.name": "Hash",
|
||||
"hex.builtin.view.hashes.no_settings": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hashes.remove": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hashes.table.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hashes.table.result": "Risultato",
|
||||
"hex.builtin.view.hashes.table.type": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.help.about.contributor": "Collaboratori",
|
||||
"hex.builtin.view.help.about.donations": "Donazioni",
|
||||
"hex.builtin.view.help.about.libs": "Librerie usate",
|
||||
"hex.builtin.view.help.about.license": "Licenza",
|
||||
"hex.builtin.view.help.about.name": "Riguardo ImHex",
|
||||
"hex.builtin.view.help.about.paths": "ImHex cartelle",
|
||||
"hex.builtin.view.help.about.source": "Codice Sorgente disponibile su GitHub:",
|
||||
"hex.builtin.view.help.about.thanks": "Se ti piace il mio lavoro, per favore considera di fare una donazione. Grazie mille <3",
|
||||
"hex.builtin.view.help.about.translator": "Tradotto da CrustySeanPro",
|
||||
"hex.builtin.view.help.calc_cheat_sheet": "Calcolatrice Cheat Sheet",
|
||||
"hex.builtin.view.help.documentation": "Documentazione di ImHex",
|
||||
"hex.builtin.view.help.name": "Aiuto",
|
||||
"hex.builtin.view.help.pattern_cheat_sheet": "Pattern Language Cheat Sheet",
|
||||
"hex.builtin.view.hex_editor.copy.address": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.copy.ascii": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.copy.base64": "Base64",
|
||||
"hex.builtin.view.hex_editor.copy.c": "C Array",
|
||||
"hex.builtin.view.hex_editor.copy.cpp": "C++ Array",
|
||||
"hex.builtin.view.hex_editor.copy.crystal": "Crystal Array",
|
||||
"hex.builtin.view.hex_editor.copy.csharp": "C# Array",
|
||||
"hex.builtin.view.hex_editor.copy.go": "Go Array",
|
||||
"hex.builtin.view.hex_editor.copy.hex": "Hex Stringa",
|
||||
"hex.builtin.view.hex_editor.copy.html": "HTML",
|
||||
"hex.builtin.view.hex_editor.copy.java": "Java Array",
|
||||
"hex.builtin.view.hex_editor.copy.js": "JavaScript Array",
|
||||
"hex.builtin.view.hex_editor.copy.lua": "Lua Array",
|
||||
"hex.builtin.view.hex_editor.copy.pascal": "Pascal Array",
|
||||
"hex.builtin.view.hex_editor.copy.python": "Python Array",
|
||||
"hex.builtin.view.hex_editor.copy.rust": "Rust Array",
|
||||
"hex.builtin.view.hex_editor.copy.swift": "Swift Array",
|
||||
"hex.builtin.view.hex_editor.goto.offset.absolute": "Assoluto",
|
||||
"hex.builtin.view.hex_editor.goto.offset.begin": "Inizo",
|
||||
"hex.builtin.view.hex_editor.goto.offset.end": "Fine",
|
||||
"hex.builtin.view.hex_editor.goto.offset.relative": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.copy": "Copia",
|
||||
"hex.builtin.view.hex_editor.menu.edit.copy_as": "Copia come...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.insert": "Inserisci...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.jump_to": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.open_in_new_provider": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste": "Incolla",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste_all": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.remove": "***** MISSING TRANSLATION *****",
|
||||
"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.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",
|
||||
"hex.builtin.view.hex_editor.menu.file.save_as": "Salva come...",
|
||||
"hex.builtin.view.hex_editor.menu.file.search": "Cerca",
|
||||
"hex.builtin.view.hex_editor.menu.file.select": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.name": "Hex editor",
|
||||
"hex.builtin.view.hex_editor.search.find": "Cerca",
|
||||
"hex.builtin.view.hex_editor.search.hex": "Hex",
|
||||
"hex.builtin.view.hex_editor.search.string": "Stringa",
|
||||
"hex.builtin.view.hex_editor.select.offset.begin": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.offset.end": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.offset.region": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.offset.size": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.select": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.information.analyze": "Analizza Pagina",
|
||||
"hex.builtin.view.information.analyzing": "Sto analizzando...",
|
||||
"hex.builtin.view.information.block_size": "Dimensione del Blocco",
|
||||
"hex.builtin.view.information.block_size.desc": "{0} blocchi di {1} bytes",
|
||||
"hex.builtin.view.information.control": "Controllo",
|
||||
"hex.builtin.view.information.description": "Descrizione:",
|
||||
"hex.builtin.view.information.distribution": "Distribuzione dei Byte",
|
||||
"hex.builtin.view.information.encrypted": "Questi dati sono probabilmente codificati o compressi!",
|
||||
"hex.builtin.view.information.entropy": "Entropia",
|
||||
"hex.builtin.view.information.file_entropy": "Entropia dei File",
|
||||
"hex.builtin.view.information.highest_entropy": "Highest entropy block",
|
||||
"hex.builtin.view.information.info_analysis": "Informazioni dell'analisi",
|
||||
"hex.builtin.view.information.magic": "Informazione Magica",
|
||||
"hex.builtin.view.information.magic_db_added": "Database magico aggiunto!",
|
||||
"hex.builtin.view.information.mime": "Tipo di MIME:",
|
||||
"hex.builtin.view.information.name": "Informazione sui Dati",
|
||||
"hex.builtin.view.information.region": "Regione Analizzata",
|
||||
"hex.builtin.view.patches.name": "Patches",
|
||||
"hex.builtin.view.patches.offset": "Offset",
|
||||
"hex.builtin.view.patches.orig": "Valore Originale",
|
||||
"hex.builtin.view.patches.patch": "Valore patchato",
|
||||
"hex.builtin.view.patches.remove": "Rimuovi patch",
|
||||
"hex.builtin.view.pattern_data.name": "Dati dei Pattern",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern": "Accetta pattern",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.desc": "Uno o più pattern compatibili con questo tipo di dati sono stati trovati!",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.pattern_language": "Pattern",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.question": "Vuoi applicare i patter selezionati",
|
||||
"hex.builtin.view.pattern_editor.auto": "Auto valutazione",
|
||||
"hex.builtin.view.pattern_editor.console": "Console",
|
||||
"hex.builtin.view.pattern_editor.dangerous_function.desc": "Questo pattern ha cercato di chiamare una funzione pericolosa.\nSei sicuro di volerti fidare?",
|
||||
"hex.builtin.view.pattern_editor.dangerous_function.name": "Vuoi consentire funzioni pericolose?",
|
||||
"hex.builtin.view.pattern_editor.env_vars": "Variabili d'ambiente",
|
||||
"hex.builtin.view.pattern_editor.evaluating": "Valutazione...",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.array": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.single": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.custom": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.file.load_pattern": "Caricamento dei pattern...",
|
||||
"hex.builtin.view.pattern_editor.menu.file.save_pattern": "Salva pattern...",
|
||||
"hex.builtin.view.pattern_editor.name": "Editor dei Pattern",
|
||||
"hex.builtin.view.pattern_editor.no_in_out_vars": "Definisci alcune variabili globali con 'in' o 'out' per farle apparire qui.",
|
||||
"hex.builtin.view.pattern_editor.open_pattern": "Apri pattern",
|
||||
"hex.builtin.view.pattern_editor.section_popup": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.sections": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.settings": "Impostazioni",
|
||||
"hex.builtin.view.provider_settings.load_error": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.provider_settings.load_popup": "Apri Provider",
|
||||
"hex.builtin.view.provider_settings.name": "Impostazioni Provider",
|
||||
"hex.builtin.view.settings.name": "Impostazioni",
|
||||
"hex.builtin.view.settings.restart_question": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.store.desc": "Scarica nuovi contenuti dal database online di ImHex",
|
||||
"hex.builtin.view.store.download": "Download",
|
||||
"hex.builtin.view.store.download_error": "Impossibile scaricare file! La cartella di destinazione non esiste.",
|
||||
"hex.builtin.view.store.loading": "Caricamento del content store...",
|
||||
"hex.builtin.view.store.name": "Content Store",
|
||||
"hex.builtin.view.store.netfailed": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.store.reload": "Ricarica",
|
||||
"hex.builtin.view.store.remove": "Rimuovi",
|
||||
"hex.builtin.view.store.row.description": "Descrizione",
|
||||
"hex.builtin.view.store.row.name": "Nome",
|
||||
"hex.builtin.view.store.tab.constants": "Costanti",
|
||||
"hex.builtin.view.store.tab.encodings": "Encodings",
|
||||
"hex.builtin.view.store.tab.libraries": "Librerie",
|
||||
"hex.builtin.view.store.tab.magics": "File Magici",
|
||||
"hex.builtin.view.store.tab.patterns": "Modelli",
|
||||
"hex.builtin.view.store.tab.yara": "Regole di Yara",
|
||||
"hex.builtin.view.store.update": "Aggiorna",
|
||||
"hex.builtin.view.tools.name": "Strumenti",
|
||||
"hex.builtin.view.yara.error": "Errore compilazione Yara: ",
|
||||
"hex.builtin.view.yara.header.matches": "Abbinamenti",
|
||||
"hex.builtin.view.yara.header.rules": "Regola",
|
||||
"hex.builtin.view.yara.match": "Abbina Regole",
|
||||
"hex.builtin.view.yara.matches.identifier": "Identificatore",
|
||||
"hex.builtin.view.yara.matches.variable": "Variabile",
|
||||
"hex.builtin.view.yara.matching": "Abbinamento...",
|
||||
"hex.builtin.view.yara.name": "Regole di Yara",
|
||||
"hex.builtin.view.yara.no_rules": "Nessuna regola di YARA. Aggiungile in nella cartella 'yara' di 'ImHex'",
|
||||
"hex.builtin.view.yara.reload": "Ricarica",
|
||||
"hex.builtin.view.yara.reset": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.yara.rule_added": "Regola di Yara aggiunta!",
|
||||
"hex.builtin.view.yara.whole_data": "Tutti i file combaciano!",
|
||||
"hex.builtin.visualizer.decimal.signed.16bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.decimal.signed.32bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.decimal.signed.64bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.decimal.signed.8bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.decimal.unsigned.16bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.decimal.unsigned.32bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.decimal.unsigned.64bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.decimal.unsigned.8bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.floating_point.16bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.floating_point.32bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.floating_point.64bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.hexadecimal.16bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.hexadecimal.32bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.hexadecimal.64bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.hexadecimal.8bit": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.hexii": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.rgba8": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.welcome.check_for_updates_text": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.welcome.customize.settings.desc": "Cambia le preferenze di ImHex",
|
||||
"hex.builtin.welcome.customize.settings.title": "Impostazioni",
|
||||
"hex.builtin.welcome.header.customize": "Personalizza",
|
||||
"hex.builtin.welcome.header.help": "Aiuto",
|
||||
"hex.builtin.welcome.header.learn": "Scopri",
|
||||
"hex.builtin.welcome.header.main": "Benvenuto in ImHex",
|
||||
"hex.builtin.welcome.header.plugins": "Plugins caricati",
|
||||
"hex.builtin.welcome.header.start": "Inizia",
|
||||
"hex.builtin.welcome.header.update": "Aggiornamenti",
|
||||
"hex.builtin.welcome.header.various": "Varie",
|
||||
"hex.builtin.welcome.help.discord": "Server Discord",
|
||||
"hex.builtin.welcome.help.discord.link": "https://imhex.werwolv.net/discord",
|
||||
"hex.builtin.welcome.help.gethelp": "Chiedi aiuto",
|
||||
"hex.builtin.welcome.help.gethelp.link": "https://github.com/WerWolv/ImHex/discussions/categories/get-help",
|
||||
"hex.builtin.welcome.help.repo": "Repo GitHub",
|
||||
"hex.builtin.welcome.help.repo.link": "https://imhex.werwolv.net/git",
|
||||
"hex.builtin.welcome.learn.latest.desc": "Leggi il nuovo changelog di ImHex'",
|
||||
"hex.builtin.welcome.learn.latest.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.learn.latest.title": "Ultima Versione",
|
||||
"hex.builtin.welcome.learn.pattern.desc": "Scopri come scrivere pattern per ImHex con la nostra dettagliata documentazione",
|
||||
"hex.builtin.welcome.learn.pattern.link": "https://imhex.werwolv.net/docs",
|
||||
"hex.builtin.welcome.learn.pattern.title": "Documentazione dei Pattern",
|
||||
"hex.builtin.welcome.learn.plugins.desc": "Espandi l'utilizzo di ImHex con i Plugin",
|
||||
"hex.builtin.welcome.learn.plugins.link": "https://github.com/WerWolv/ImHex/wiki/Plugins-Development-Guide",
|
||||
"hex.builtin.welcome.learn.plugins.title": "Plugins API",
|
||||
"hex.builtin.welcome.plugins.author": "Autore",
|
||||
"hex.builtin.welcome.plugins.desc": "Descrizione",
|
||||
"hex.builtin.welcome.plugins.plugin": "Plugin",
|
||||
"hex.builtin.welcome.safety_backup.delete": "No, Elimina",
|
||||
"hex.builtin.welcome.safety_backup.desc": "Oh no, l'ultima volta ImHex è crashato.\nVuoi ripristinare il tuo lavoro?",
|
||||
"hex.builtin.welcome.safety_backup.restore": "Sì, Ripristina",
|
||||
"hex.builtin.welcome.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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.welcome.start.open_project": "Apri un Progetto",
|
||||
"hex.builtin.welcome.start.recent": "File recenti",
|
||||
"hex.builtin.welcome.tip_of_the_day": "Consiglio del giorno",
|
||||
"hex.builtin.welcome.update.desc": "ImHex {0} è appena stato rilasciato! Scaricalo qua",
|
||||
"hex.builtin.welcome.update.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.update.title": "Nuovo aggiornamento disponibile!"
|
||||
}
|
||||
}
|
||||
817
plugins/builtin/romfs/lang/ja_JP.json
Normal file
817
plugins/builtin/romfs/lang/ja_JP.json
Normal file
@@ -0,0 +1,817 @@
|
||||
{
|
||||
"code": "ja-JP",
|
||||
"country": "Japan",
|
||||
"language": "Japanese",
|
||||
"translations": {
|
||||
"hex.builtin.command.calc.desc": "電卓",
|
||||
"hex.builtin.command.cmd.desc": "コマンド",
|
||||
"hex.builtin.command.cmd.result": "コマンド '{0}' を実行",
|
||||
"hex.builtin.command.web.desc": "ウェブサイト参照",
|
||||
"hex.builtin.command.web.result": "'{0}' を開く",
|
||||
"hex.builtin.common.address": "アドレス",
|
||||
"hex.builtin.common.big": "ビッグ",
|
||||
"hex.builtin.common.big_endian": "ビッグエンディアン",
|
||||
"hex.builtin.common.browse": "ファイルを参照…",
|
||||
"hex.builtin.common.cancel": "キャンセル",
|
||||
"hex.builtin.common.choose_file": "ファイルを選択",
|
||||
"hex.builtin.common.close": "閉じる",
|
||||
"hex.builtin.common.comment": "コメント",
|
||||
"hex.builtin.common.count": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.decimal": "10進数",
|
||||
"hex.builtin.common.dont_show_again": "再度表示しない",
|
||||
"hex.builtin.common.encoding.ascii": "ASCII",
|
||||
"hex.builtin.common.encoding.utf16be": "UTF-16BE",
|
||||
"hex.builtin.common.encoding.utf16le": "UTF-16LE",
|
||||
"hex.builtin.common.encoding.utf8": "UTF-8",
|
||||
"hex.builtin.common.endian": "エンディアン",
|
||||
"hex.builtin.common.error": "エラー",
|
||||
"hex.builtin.common.fatal": "深刻なエラー",
|
||||
"hex.builtin.common.file": "ファイル",
|
||||
"hex.builtin.common.filter": "フィルタ",
|
||||
"hex.builtin.common.hexadecimal": "16進数",
|
||||
"hex.builtin.common.info": "情報",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.no": "いいえ",
|
||||
"hex.builtin.common.number_format": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.octal": "8進数",
|
||||
"hex.builtin.common.offset": "オフセット",
|
||||
"hex.builtin.common.okay": "OK",
|
||||
"hex.builtin.common.open": "開く",
|
||||
"hex.builtin.common.processing": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.question": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.type.f32": "float",
|
||||
"hex.builtin.common.type.f64": "double",
|
||||
"hex.builtin.common.type.i16": "int16_t",
|
||||
"hex.builtin.common.type.i24": "int24_t",
|
||||
"hex.builtin.common.type.i32": "int32_t",
|
||||
"hex.builtin.common.type.i48": "int48_t",
|
||||
"hex.builtin.common.type.i64": "int64_t",
|
||||
"hex.builtin.common.type.i8": "int8_t",
|
||||
"hex.builtin.common.type.u16": "uint16_t",
|
||||
"hex.builtin.common.type.u24": "uint24_t",
|
||||
"hex.builtin.common.type.u32": "uint32_t",
|
||||
"hex.builtin.common.type.u48": "uint48_t",
|
||||
"hex.builtin.common.type.u64": "uint64_t",
|
||||
"hex.builtin.common.type.u8": "uint8_t",
|
||||
"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": "最終XOR値",
|
||||
"hex.builtin.hash.crc16": "CRC16",
|
||||
"hex.builtin.hash.crc32": "CRC32",
|
||||
"hex.builtin.hash.crc8": "CRC8",
|
||||
"hex.builtin.hash.md5": "MD5",
|
||||
"hex.builtin.hash.sha1": "SHA1",
|
||||
"hex.builtin.hash.sha224": "SHA224",
|
||||
"hex.builtin.hash.sha256": "SHA256",
|
||||
"hex.builtin.hash.sha384": "SHA384",
|
||||
"hex.builtin.hash.sha512": "SHA512",
|
||||
"hex.builtin.hex_editor.data_size": "ファイルサイズ",
|
||||
"hex.builtin.hex_editor.no_bytes": "***** MISSING TRANSLATION *****",
|
||||
"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": "ASCII",
|
||||
"hex.builtin.inspector.binary": "バイナリ (8 bit)",
|
||||
"hex.builtin.inspector.bool": "bool",
|
||||
"hex.builtin.inspector.dos_date": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.inspector.dos_time": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.inspector.double": "double (64 bit)",
|
||||
"hex.builtin.inspector.float": "float (32 bit)",
|
||||
"hex.builtin.inspector.float16": "half float (16 bit)",
|
||||
"hex.builtin.inspector.guid": "GUID",
|
||||
"hex.builtin.inspector.i16": "int16_t",
|
||||
"hex.builtin.inspector.i24": "int24_t",
|
||||
"hex.builtin.inspector.i32": "int32_t",
|
||||
"hex.builtin.inspector.i48": "int48_t",
|
||||
"hex.builtin.inspector.i64": "int64_t",
|
||||
"hex.builtin.inspector.i8": "int8_t",
|
||||
"hex.builtin.inspector.long_double": "long double (128 bit)",
|
||||
"hex.builtin.inspector.rgb565": "RGB565 Color",
|
||||
"hex.builtin.inspector.rgba8": "RGBA8 Color",
|
||||
"hex.builtin.inspector.sleb128": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.inspector.string": "String",
|
||||
"hex.builtin.inspector.string16": "Wide String",
|
||||
"hex.builtin.inspector.time": "time_t",
|
||||
"hex.builtin.inspector.time32": "time32_t",
|
||||
"hex.builtin.inspector.time64": "time64_t",
|
||||
"hex.builtin.inspector.u16": "uint16_t",
|
||||
"hex.builtin.inspector.u24": "uint24_t",
|
||||
"hex.builtin.inspector.u32": "uint32_t",
|
||||
"hex.builtin.inspector.u48": "uint48_t",
|
||||
"hex.builtin.inspector.u64": "uint64_t",
|
||||
"hex.builtin.inspector.u8": "uint8_t",
|
||||
"hex.builtin.inspector.uleb128": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.inspector.utf8": "UTF-8 code point",
|
||||
"hex.builtin.inspector.wide": "Wide Character",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.export": "エクスポート…",
|
||||
"hex.builtin.menu.file.export.base64.popup.export_error": "有効なBase64形式ではありません。",
|
||||
"hex.builtin.menu.file.export.ips": "IPSパッチ",
|
||||
"hex.builtin.menu.file.export.ips32": "IPS32パッチ",
|
||||
"hex.builtin.menu.file.export.popup.create": "データをエクスポートできません。\nファイルの作成に失敗しました。",
|
||||
"hex.builtin.menu.file.export.title": "ファイルをエクスポート",
|
||||
"hex.builtin.menu.file.import": "インポート…",
|
||||
"hex.builtin.menu.file.import.base64": "Base64ファイル",
|
||||
"hex.builtin.menu.file.import.base64.popup.import_error": "有効なBase64形式ではありません。",
|
||||
"hex.builtin.menu.file.import.base64.popup.open_error": "ファイルを開けません。",
|
||||
"hex.builtin.menu.file.import.ips": "IPSパッチ",
|
||||
"hex.builtin.menu.file.import.ips32": "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": "ImHexを終了",
|
||||
"hex.builtin.menu.file.reload_file": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.save_project": "プロジェクトを保存",
|
||||
"hex.builtin.menu.file.save_project_as": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.help": "ヘルプ",
|
||||
"hex.builtin.menu.layout": "レイアウト",
|
||||
"hex.builtin.menu.view": "表示",
|
||||
"hex.builtin.menu.view.demo": "ImGuiデモを表示",
|
||||
"hex.builtin.menu.view.fps": "FPSを表示",
|
||||
"hex.builtin.nodes.arithmetic": "演算",
|
||||
"hex.builtin.nodes.arithmetic.add": "加算+",
|
||||
"hex.builtin.nodes.arithmetic.add.header": "加算",
|
||||
"hex.builtin.nodes.arithmetic.average": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.average.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.div": "除算÷",
|
||||
"hex.builtin.nodes.arithmetic.div.header": "除算",
|
||||
"hex.builtin.nodes.arithmetic.median": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.median.header": "***** MISSING TRANSLATION *****",
|
||||
"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": "Bitwise operations",
|
||||
"hex.builtin.nodes.bitwise.and": "AND",
|
||||
"hex.builtin.nodes.bitwise.and.header": "Bitwise AND",
|
||||
"hex.builtin.nodes.bitwise.not": "NOT",
|
||||
"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.xor": "XOR",
|
||||
"hex.builtin.nodes.bitwise.xor.header": "Bitwise XOR",
|
||||
"hex.builtin.nodes.buffer": "バッファ",
|
||||
"hex.builtin.nodes.buffer.combine": "結合",
|
||||
"hex.builtin.nodes.buffer.combine.header": "バッファを結合",
|
||||
"hex.builtin.nodes.buffer.patch": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.patch.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.patch.input.patch": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.repeat": "繰り返し",
|
||||
"hex.builtin.nodes.buffer.repeat.header": "バッファを繰り返し",
|
||||
"hex.builtin.nodes.buffer.repeat.input.buffer": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.slice.input.from": "From",
|
||||
"hex.builtin.nodes.buffer.slice.input.to": "To",
|
||||
"hex.builtin.nodes.casting": "データ変換",
|
||||
"hex.builtin.nodes.casting.buffer_to_float": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.buffer_to_float.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.buffer_to_int": "バッファ→整数",
|
||||
"hex.builtin.nodes.casting.buffer_to_int.header": "バッファ→整数",
|
||||
"hex.builtin.nodes.casting.float_to_buffer": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.float_to_buffer.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.int_to_buffer": "整数→バッファ",
|
||||
"hex.builtin.nodes.casting.int_to_buffer.header": "整数→バッファ",
|
||||
"hex.builtin.nodes.common.height": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.common.input": "入力",
|
||||
"hex.builtin.nodes.common.input.a": "入力 A",
|
||||
"hex.builtin.nodes.common.input.b": "入力 B",
|
||||
"hex.builtin.nodes.common.output": "出力",
|
||||
"hex.builtin.nodes.common.width": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.constants.nullptr.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.constants.rgba8": "RGBA8",
|
||||
"hex.builtin.nodes.constants.rgba8.header": "RGBA8",
|
||||
"hex.builtin.nodes.constants.rgba8.output.a": "A",
|
||||
"hex.builtin.nodes.constants.rgba8.output.b": "B",
|
||||
"hex.builtin.nodes.constants.rgba8.output.g": "G",
|
||||
"hex.builtin.nodes.constants.rgba8.output.r": "R",
|
||||
"hex.builtin.nodes.constants.string": "文字列",
|
||||
"hex.builtin.nodes.constants.string.header": "文字列",
|
||||
"hex.builtin.nodes.control_flow": "制御フロー",
|
||||
"hex.builtin.nodes.control_flow.and": "AND",
|
||||
"hex.builtin.nodes.control_flow.and.header": "Boolean AND",
|
||||
"hex.builtin.nodes.control_flow.equals": "Equals",
|
||||
"hex.builtin.nodes.control_flow.equals.header": "Equals",
|
||||
"hex.builtin.nodes.control_flow.gt": "Greater than",
|
||||
"hex.builtin.nodes.control_flow.gt.header": "Greater than",
|
||||
"hex.builtin.nodes.control_flow.if": "If",
|
||||
"hex.builtin.nodes.control_flow.if.condition": "Condition",
|
||||
"hex.builtin.nodes.control_flow.if.false": "False",
|
||||
"hex.builtin.nodes.control_flow.if.header": "If",
|
||||
"hex.builtin.nodes.control_flow.if.true": "True",
|
||||
"hex.builtin.nodes.control_flow.lt": "Less than",
|
||||
"hex.builtin.nodes.control_flow.lt.header": "Less than",
|
||||
"hex.builtin.nodes.control_flow.not": "Not",
|
||||
"hex.builtin.nodes.control_flow.not.header": "Not",
|
||||
"hex.builtin.nodes.control_flow.or": "OR",
|
||||
"hex.builtin.nodes.control_flow.or.header": "Boolean OR",
|
||||
"hex.builtin.nodes.crypto": "暗号化",
|
||||
"hex.builtin.nodes.crypto.aes": "AES復号化",
|
||||
"hex.builtin.nodes.crypto.aes.header": "AES復号化",
|
||||
"hex.builtin.nodes.crypto.aes.iv": "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": "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": "Base64",
|
||||
"hex.builtin.nodes.decoding.base64.header": "Base64デコーダ",
|
||||
"hex.builtin.nodes.decoding.hex": "16進法",
|
||||
"hex.builtin.nodes.decoding.hex.header": "16進デコーダ",
|
||||
"hex.builtin.nodes.display": "表示",
|
||||
"hex.builtin.nodes.display.buffer": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.display.buffer.header": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.display.string.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language.out_var": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language.out_var.header": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.image_rgba.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.layered_dist": "層状分布",
|
||||
"hex.builtin.nodes.visualizer.layered_dist.header": "層状分布",
|
||||
"hex.builtin.pattern_drawer.color": "色",
|
||||
"hex.builtin.pattern_drawer.double_click": "***** MISSING TRANSLATION *****",
|
||||
"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.popup.close_provider.desc": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.close_provider.title": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.create": "新しいファイルを作成できませんでした。",
|
||||
"hex.builtin.popup.error.file_dialog.common": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.file_dialog.portal": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.open": "ファイルを開けませんでした。",
|
||||
"hex.builtin.popup.error.project.load": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.project.save": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.read_only": "書き込み権限を取得できませんでした。ファイルが読み取り専用で開かれました。",
|
||||
"hex.builtin.popup.error.task_exception": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.exit_application.desc": "プロジェクトに保存されていない変更があります。\n終了してもよろしいですか?",
|
||||
"hex.builtin.popup.exit_application.title": "アプリケーションを終了しますか?",
|
||||
"hex.builtin.provider.disk": "Rawディスクプロバイダ",
|
||||
"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.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.gdb": "GDBサーバープロバイダ",
|
||||
"hex.builtin.provider.gdb.ip": "IPアドレス",
|
||||
"hex.builtin.provider.gdb.name": "GDBサーバー <{0}:{1}>",
|
||||
"hex.builtin.provider.gdb.port": "ポート",
|
||||
"hex.builtin.provider.gdb.server": "サーバー",
|
||||
"hex.builtin.provider.intel_hex": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.intel_hex.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.mem_file": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.mem_file.unsaved": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.motorola_srec": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.motorola_srec.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.view": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.general.enable_unicode": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.bytes_per_row": "1行のバイト数",
|
||||
"hex.builtin.setting.hex_editor.char_padding": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.grey_zeros": "ゼロをグレーアウト",
|
||||
"hex.builtin.setting.hex_editor.highlight_color": "選択範囲の色",
|
||||
"hex.builtin.setting.hex_editor.sync_scrolling": "***** MISSING TRANSLATION *****",
|
||||
"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.unlocked": "無制限",
|
||||
"hex.builtin.setting.interface.language": "言語",
|
||||
"hex.builtin.setting.interface.multi_windows": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.interface.scaling": "スケーリング",
|
||||
"hex.builtin.setting.interface.scaling.native": "ネイティブ",
|
||||
"hex.builtin.setting.interface.scaling.x0_5": "x0.5",
|
||||
"hex.builtin.setting.interface.scaling.x1_0": "x1.0",
|
||||
"hex.builtin.setting.interface.scaling.x1_5": "x1.5",
|
||||
"hex.builtin.setting.interface.scaling.x2_0": "x2.0",
|
||||
"hex.builtin.setting.interface.scaling.x3_0": "x3.0",
|
||||
"hex.builtin.setting.interface.scaling.x4_0": "x4.0",
|
||||
"hex.builtin.setting.interface.wiki_explain_language": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.proxy": "プロキシ",
|
||||
"hex.builtin.setting.proxy.description": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.proxy.enable": "プロキシを有効化",
|
||||
"hex.builtin.setting.proxy.url": "プロキシURL",
|
||||
"hex.builtin.setting.proxy.url.tooltip": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ascii_table": "ASCIIテーブル",
|
||||
"hex.builtin.tools.ascii_table.octal": "8進数表示",
|
||||
"hex.builtin.tools.base_converter": "単位変換",
|
||||
"hex.builtin.tools.base_converter.bin": "2進法",
|
||||
"hex.builtin.tools.base_converter.dec": "10進法",
|
||||
"hex.builtin.tools.base_converter.hex": "16進法",
|
||||
"hex.builtin.tools.base_converter.oct": "8進法",
|
||||
"hex.builtin.tools.calc": "電卓",
|
||||
"hex.builtin.tools.color": "カラーピッカー",
|
||||
"hex.builtin.tools.demangler": "LLVMデマングラー",
|
||||
"hex.builtin.tools.demangler.demangled": "デマングリング名",
|
||||
"hex.builtin.tools.demangler.mangled": "マングリング名",
|
||||
"hex.builtin.tools.error": "最終エラー: '{0}'",
|
||||
"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": "入力ファイル {0} を開けませんでした",
|
||||
"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": "パートファイル {0} を作成できませんでした",
|
||||
"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": "3½\" フロッピーディスク (1400KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.5_75_floppy": "5¼\" フロッピーディスク (1200KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom650": "CD-ROM (650MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom700": "CD-ROM (700MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.custom": "カスタム",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.fat32": "FAT32 (4GiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip100": "Zip 100 ディスク (100MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip200": "Zip 200 ディスク (200MiB)",
|
||||
"hex.builtin.tools.file_uploader": "ファイルアップローダ",
|
||||
"hex.builtin.tools.file_uploader.control": "コントロール",
|
||||
"hex.builtin.tools.file_uploader.done": "完了",
|
||||
"hex.builtin.tools.file_uploader.error": "アップロードに失敗しました。\n\nエラーコード: {0}",
|
||||
"hex.builtin.tools.file_uploader.invalid_response": "Anonfilesからのレスポンスが無効です。",
|
||||
"hex.builtin.tools.file_uploader.recent": "最近のアップロード",
|
||||
"hex.builtin.tools.file_uploader.tooltip": "クリックしてコピー\nCTRL + クリックで開く",
|
||||
"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.ieee756": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.double_precision": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.exponent": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.exponent_size": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.formula": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.half_precision": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.mantissa": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.mantissa_size": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.result.float": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.result.hex": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.result.title": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.sign": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.singe_precision": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ieee756.type": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.input": "入力",
|
||||
"hex.builtin.tools.name": "名前",
|
||||
"hex.builtin.tools.permissions": "UNIXパーミッション計算機",
|
||||
"hex.builtin.tools.permissions.absolute": "数値表記",
|
||||
"hex.builtin.tools.permissions.perm_bits": "アクセス権",
|
||||
"hex.builtin.tools.permissions.setgid_error": "setgidを適用するには、グループに実行権限が必要です。",
|
||||
"hex.builtin.tools.permissions.setuid_error": "setuidを適用するには、ユーザーに実行権限が必要です。",
|
||||
"hex.builtin.tools.permissions.sticky_error": "stickyを適用するには、その他に実行権限が必要です。",
|
||||
"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": "Wikipediaの用語定義",
|
||||
"hex.builtin.tools.wiki_explain.control": "コントロール",
|
||||
"hex.builtin.tools.wiki_explain.invalid_response": "Wikipediaからのレスポンスが無効です。",
|
||||
"hex.builtin.tools.wiki_explain.results": "結果",
|
||||
"hex.builtin.tools.wiki_explain.search": "検索",
|
||||
"hex.builtin.view.bookmarks.address": "0x{0:X} : 0x{1:X} ({2} バイト)",
|
||||
"hex.builtin.view.bookmarks.button.jump": "移動",
|
||||
"hex.builtin.view.bookmarks.button.remove": "削除",
|
||||
"hex.builtin.view.bookmarks.default_title": "ブックマーク [0x{0:X} - 0x{1:X}]",
|
||||
"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": "16-bit",
|
||||
"hex.builtin.view.disassembler.32bit": "32-bit",
|
||||
"hex.builtin.view.disassembler.64bit": "64-bit",
|
||||
"hex.builtin.view.disassembler.arch": "アーキテクチャ",
|
||||
"hex.builtin.view.disassembler.arm.arm": "ARM",
|
||||
"hex.builtin.view.disassembler.arm.armv8": "ARMv8",
|
||||
"hex.builtin.view.disassembler.arm.cortex_m": "Cortex-M",
|
||||
"hex.builtin.view.disassembler.arm.default": "デフォルト",
|
||||
"hex.builtin.view.disassembler.arm.thumb": "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": "6301",
|
||||
"hex.builtin.view.disassembler.m680x.6309": "6309",
|
||||
"hex.builtin.view.disassembler.m680x.6800": "6800",
|
||||
"hex.builtin.view.disassembler.m680x.6801": "6801",
|
||||
"hex.builtin.view.disassembler.m680x.6805": "6805",
|
||||
"hex.builtin.view.disassembler.m680x.6808": "6808",
|
||||
"hex.builtin.view.disassembler.m680x.6809": "6809",
|
||||
"hex.builtin.view.disassembler.m680x.6811": "6811",
|
||||
"hex.builtin.view.disassembler.m680x.cpu12": "CPU12",
|
||||
"hex.builtin.view.disassembler.m680x.hcs08": "HCS08",
|
||||
"hex.builtin.view.disassembler.m68k.000": "000",
|
||||
"hex.builtin.view.disassembler.m68k.010": "010",
|
||||
"hex.builtin.view.disassembler.m68k.020": "020",
|
||||
"hex.builtin.view.disassembler.m68k.030": "030",
|
||||
"hex.builtin.view.disassembler.m68k.040": "040",
|
||||
"hex.builtin.view.disassembler.m68k.060": "060",
|
||||
"hex.builtin.view.disassembler.mips.micro": "Micro",
|
||||
"hex.builtin.view.disassembler.mips.mips2": "MIPS II",
|
||||
"hex.builtin.view.disassembler.mips.mips3": "MIPS III",
|
||||
"hex.builtin.view.disassembler.mips.mips32": "MIPS32",
|
||||
"hex.builtin.view.disassembler.mips.mips32R6": "MIPS32R6",
|
||||
"hex.builtin.view.disassembler.mips.mips64": "MIPS64",
|
||||
"hex.builtin.view.disassembler.mos65xx.6502": "6502",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816": "65816",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_m": "65816 Long M",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_mx": "65816 Long MX",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_x": "65816 Long X",
|
||||
"hex.builtin.view.disassembler.mos65xx.65c02": "65C02",
|
||||
"hex.builtin.view.disassembler.mos65xx.w65c02": "W65C02",
|
||||
"hex.builtin.view.disassembler.name": "逆アセンブラ",
|
||||
"hex.builtin.view.disassembler.position": "位置",
|
||||
"hex.builtin.view.disassembler.ppc.booke": "Book-E",
|
||||
"hex.builtin.view.disassembler.ppc.qpx": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.disassembler.ppc.spe": "信号処理エンジン",
|
||||
"hex.builtin.view.disassembler.region": "コード領域",
|
||||
"hex.builtin.view.disassembler.riscv.compressed": "圧縮済み",
|
||||
"hex.builtin.view.disassembler.settings.header": "設定",
|
||||
"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.context.copy": "値をコピー",
|
||||
"hex.builtin.view.find.context.copy_demangle": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.demangled": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.name": "検索",
|
||||
"hex.builtin.view.find.regex": "正規表現",
|
||||
"hex.builtin.view.find.regex.full_match": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.regex.pattern": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.search": "検索を実行",
|
||||
"hex.builtin.view.find.search.entries": "一致件数: {0}",
|
||||
"hex.builtin.view.find.search.reset": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.searching": "検索中…",
|
||||
"hex.builtin.view.find.sequences": "通常検索",
|
||||
"hex.builtin.view.find.strings": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.chars": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.value.max": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.value.min": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hashes.function": "ハッシュ関数",
|
||||
"hex.builtin.view.hashes.hash": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hashes.hover_info": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hashes.name": "ハッシュ",
|
||||
"hex.builtin.view.hashes.no_settings": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hashes.remove": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hashes.table.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hashes.table.result": "結果",
|
||||
"hex.builtin.view.hashes.table.type": "***** MISSING TRANSLATION *****",
|
||||
"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": "ImHexのディレクトリ",
|
||||
"hex.builtin.view.help.about.source": "GitHubからソースコードを入手できます:",
|
||||
"hex.builtin.view.help.about.thanks": "ご使用いただきありがとうございます。もし気に入って頂けたなら、プロジェクトを継続するための寄付をご検討ください。",
|
||||
"hex.builtin.view.help.about.translator": "Translated by gnuhead-chieb",
|
||||
"hex.builtin.view.help.calc_cheat_sheet": "計算機チートシート",
|
||||
"hex.builtin.view.help.documentation": "ImHexドキュメント",
|
||||
"hex.builtin.view.help.name": "ヘルプ",
|
||||
"hex.builtin.view.help.pattern_cheat_sheet": "パターン言語リファレンス",
|
||||
"hex.builtin.view.hex_editor.copy.address": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.copy.ascii": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.copy.base64": "Base64",
|
||||
"hex.builtin.view.hex_editor.copy.c": "C 配列",
|
||||
"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.go": "Go 配列",
|
||||
"hex.builtin.view.hex_editor.copy.hex": "文字列",
|
||||
"hex.builtin.view.hex_editor.copy.html": "HTML",
|
||||
"hex.builtin.view.hex_editor.copy.java": "Java 配列",
|
||||
"hex.builtin.view.hex_editor.copy.js": "JavaScript 配列",
|
||||
"hex.builtin.view.hex_editor.copy.lua": "Lua 配列",
|
||||
"hex.builtin.view.hex_editor.copy.pascal": "Pascal 配列",
|
||||
"hex.builtin.view.hex_editor.copy.python": "Python 配列",
|
||||
"hex.builtin.view.hex_editor.copy.rust": "Rust 配列",
|
||||
"hex.builtin.view.hex_editor.copy.swift": "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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.open_in_new_provider": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste": "貼り付け",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste_all": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.remove": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.name": "Hexエディタ",
|
||||
"hex.builtin.view.hex_editor.search.find": "検索",
|
||||
"hex.builtin.view.hex_editor.search.hex": "16進数",
|
||||
"hex.builtin.view.hex_editor.search.string": "文字列",
|
||||
"hex.builtin.view.hex_editor.select.offset.begin": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.offset.end": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.offset.region": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.offset.size": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.select": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.information.analyze": "表示中のページを解析する",
|
||||
"hex.builtin.view.information.analyzing": "解析中…",
|
||||
"hex.builtin.view.information.block_size": "ブロックサイズ",
|
||||
"hex.builtin.view.information.block_size.desc": "{0} ブロック/ {1} バイト",
|
||||
"hex.builtin.view.information.control": "コントロール",
|
||||
"hex.builtin.view.information.description": "詳細:",
|
||||
"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.magic": "Magic情報",
|
||||
"hex.builtin.view.information.magic_db_added": "Magicデータベースが追加されました。",
|
||||
"hex.builtin.view.information.mime": "MIMEタイプ:",
|
||||
"hex.builtin.view.information.name": "データ解析",
|
||||
"hex.builtin.view.information.region": "解析する領域",
|
||||
"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": "このデータ型と互換性のある pattern_language が1つ以上見つかりました",
|
||||
"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": "このパターンは危険な関数を呼び出そうとしました。\n本当にこのパターンを信頼しても宜しいですか?",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.array": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.single": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.custom": "***** MISSING TRANSLATION *****",
|
||||
"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": "グローバル変数に 'in' または 'out' を指定して、ここに表示されるように定義してください。",
|
||||
"hex.builtin.view.pattern_editor.open_pattern": "パターンを開く",
|
||||
"hex.builtin.view.pattern_editor.section_popup": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.sections": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.settings": "設定",
|
||||
"hex.builtin.view.provider_settings.load_error": "プロバイダを開く際にエラーが発生しました。",
|
||||
"hex.builtin.view.provider_settings.load_popup": "プロバイダを開く",
|
||||
"hex.builtin.view.provider_settings.name": "プロバイダ設定",
|
||||
"hex.builtin.view.settings.name": "設定",
|
||||
"hex.builtin.view.settings.restart_question": "変更を反映させるには、ImHexの再起動が必要です。今すぐ再起動しますか?",
|
||||
"hex.builtin.view.store.desc": "ImHexのオンラインデータベースから新しいコンテンツをダウンロードする",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"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.libraries": "ライブラリ",
|
||||
"hex.builtin.view.store.tab.magics": "Magicファイル",
|
||||
"hex.builtin.view.store.tab.patterns": "パターン",
|
||||
"hex.builtin.view.store.tab.yara": "Yaraルール",
|
||||
"hex.builtin.view.store.update": "アップデート",
|
||||
"hex.builtin.view.tools.name": "ツール",
|
||||
"hex.builtin.view.yara.error": "Yaraコンパイルエラー: ",
|
||||
"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": "Yaraルール",
|
||||
"hex.builtin.view.yara.no_rules": "YARAルールが見つかりませんでした。ImHexの'yara'フォルダ内に入れてください",
|
||||
"hex.builtin.view.yara.reload": "リロード",
|
||||
"hex.builtin.view.yara.reset": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.yara.rule_added": "Yaraルールが追加されました。",
|
||||
"hex.builtin.view.yara.whole_data": "ファイル全体が一致します。",
|
||||
"hex.builtin.visualizer.decimal.signed.16bit": "符号付き整数型 (16 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.32bit": "符号付き整数型 (32 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.64bit": "符号付き整数型 (64 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.8bit": "符号付き整数型 ( 8 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.16bit": "符号なし整数型 (16 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.32bit": "符号なし整数型 (32 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.64bit": "符号なし整数型 (64 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.8bit": "符号なし整数型 ( 8 bits)",
|
||||
"hex.builtin.visualizer.floating_point.16bit": "浮動小数点数 (16 bits)",
|
||||
"hex.builtin.visualizer.floating_point.32bit": "浮動小数点数 (32 bits)",
|
||||
"hex.builtin.visualizer.floating_point.64bit": "浮動小数点数 (64 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.16bit": "16進数 (16 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.32bit": "16進数 (32 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.64bit": "16進数 (64 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.8bit": "16進数 ( 8 bits)",
|
||||
"hex.builtin.visualizer.hexii": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.visualizer.rgba8": "RGBA8",
|
||||
"hex.builtin.welcome.check_for_updates_text": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.welcome.customize.settings.desc": "ImHexの設定を変更します",
|
||||
"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": "ImHexへようこそ",
|
||||
"hex.builtin.welcome.header.plugins": "読み込んだプラグイン",
|
||||
"hex.builtin.welcome.header.start": "はじめる",
|
||||
"hex.builtin.welcome.header.update": "アップデート",
|
||||
"hex.builtin.welcome.header.various": "Various",
|
||||
"hex.builtin.welcome.help.discord": "Discordサーバー",
|
||||
"hex.builtin.welcome.help.discord.link": "https://imhex.werwolv.net/discord",
|
||||
"hex.builtin.welcome.help.gethelp": "助けを得る",
|
||||
"hex.builtin.welcome.help.gethelp.link": "https://github.com/WerWolv/ImHex/discussions/categories/get-help",
|
||||
"hex.builtin.welcome.help.repo": "GitHubリポジトリ",
|
||||
"hex.builtin.welcome.help.repo.link": "https://imhex.werwolv.net/git",
|
||||
"hex.builtin.welcome.learn.latest.desc": "ImHexの更新履歴を見る",
|
||||
"hex.builtin.welcome.learn.latest.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.learn.latest.title": "最新のリリース",
|
||||
"hex.builtin.welcome.learn.pattern.desc": "公式ドキュメントを読む",
|
||||
"hex.builtin.welcome.learn.pattern.link": "https://imhex.werwolv.net/docs",
|
||||
"hex.builtin.welcome.learn.pattern.title": "ImHexオリジナル言語について",
|
||||
"hex.builtin.welcome.learn.plugins.desc": "ImHexの機能を拡張する",
|
||||
"hex.builtin.welcome.learn.plugins.link": "https://github.com/WerWolv/ImHex/wiki/Plugins-Development-Guide",
|
||||
"hex.builtin.welcome.learn.plugins.title": "プラグインAPI",
|
||||
"hex.builtin.welcome.plugins.author": "作者",
|
||||
"hex.builtin.welcome.plugins.desc": "詳細",
|
||||
"hex.builtin.welcome.plugins.plugin": "プラグイン",
|
||||
"hex.builtin.welcome.safety_backup.delete": "破棄する",
|
||||
"hex.builtin.welcome.safety_backup.desc": "ImHexがクラッシュしました。\n前のデータを復元しますか?",
|
||||
"hex.builtin.welcome.safety_backup.restore": "復元する",
|
||||
"hex.builtin.welcome.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": "ImHex {0} がリリースされました。ここからダウンロードできます。",
|
||||
"hex.builtin.welcome.update.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.update.title": "新しいアップデートが利用可能です。"
|
||||
}
|
||||
}
|
||||
817
plugins/builtin/romfs/lang/ko_KR.json
Normal file
817
plugins/builtin/romfs/lang/ko_KR.json
Normal file
@@ -0,0 +1,817 @@
|
||||
{
|
||||
"code": "ko-KR",
|
||||
"country": "Korea",
|
||||
"language": "Korean",
|
||||
"translations": {
|
||||
"hex.builtin.command.calc.desc": "계산기",
|
||||
"hex.builtin.command.cmd.desc": "명령",
|
||||
"hex.builtin.command.cmd.result": "명령 실행 '{0}'",
|
||||
"hex.builtin.command.web.desc": "웹사이트 탐색",
|
||||
"hex.builtin.command.web.result": "웹사이트 이동 '{0}'",
|
||||
"hex.builtin.common.address": "주소",
|
||||
"hex.builtin.common.big": "빅",
|
||||
"hex.builtin.common.big_endian": "빅 엔디안",
|
||||
"hex.builtin.common.browse": "찾아보기...",
|
||||
"hex.builtin.common.cancel": "취소",
|
||||
"hex.builtin.common.choose_file": "파일 선택",
|
||||
"hex.builtin.common.close": "닫기",
|
||||
"hex.builtin.common.comment": "주석",
|
||||
"hex.builtin.common.count": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.decimal": "10진수",
|
||||
"hex.builtin.common.dont_show_again": "다시 보이지 않기",
|
||||
"hex.builtin.common.encoding.ascii": "ASCII",
|
||||
"hex.builtin.common.encoding.utf16be": "UTF-16BE",
|
||||
"hex.builtin.common.encoding.utf16le": "UTF-16LE",
|
||||
"hex.builtin.common.encoding.utf8": "UTF-8",
|
||||
"hex.builtin.common.endian": "엔디안",
|
||||
"hex.builtin.common.error": "에러",
|
||||
"hex.builtin.common.fatal": "치명적 에러",
|
||||
"hex.builtin.common.file": "파일",
|
||||
"hex.builtin.common.filter": "필터",
|
||||
"hex.builtin.common.hexadecimal": "16진수",
|
||||
"hex.builtin.common.info": "정보",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.no": "아니오",
|
||||
"hex.builtin.common.number_format": "포맷",
|
||||
"hex.builtin.common.octal": "8진수",
|
||||
"hex.builtin.common.offset": "오프셋",
|
||||
"hex.builtin.common.okay": "네",
|
||||
"hex.builtin.common.open": "열기",
|
||||
"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": "float",
|
||||
"hex.builtin.common.type.f64": "double",
|
||||
"hex.builtin.common.type.i16": "int16_t",
|
||||
"hex.builtin.common.type.i24": "int24_t",
|
||||
"hex.builtin.common.type.i32": "int32_t",
|
||||
"hex.builtin.common.type.i48": "int48_t",
|
||||
"hex.builtin.common.type.i64": "int64_t",
|
||||
"hex.builtin.common.type.i8": "int8_t",
|
||||
"hex.builtin.common.type.u16": "uint16_t",
|
||||
"hex.builtin.common.type.u24": "uint24_t",
|
||||
"hex.builtin.common.type.u32": "uint32_t",
|
||||
"hex.builtin.common.type.u48": "uint48_t",
|
||||
"hex.builtin.common.type.u64": "uint64_t",
|
||||
"hex.builtin.common.type.u8": "uint8_t",
|
||||
"hex.builtin.common.value": "값",
|
||||
"hex.builtin.common.yes": "네",
|
||||
"hex.builtin.hash.crc.iv": "Initial Value",
|
||||
"hex.builtin.hash.crc.poly": "Polynomial",
|
||||
"hex.builtin.hash.crc.refl_in": "Reflect In",
|
||||
"hex.builtin.hash.crc.refl_out": "Reflect Out",
|
||||
"hex.builtin.hash.crc.xor_out": "XOR Out",
|
||||
"hex.builtin.hash.crc16": "CRC16",
|
||||
"hex.builtin.hash.crc32": "CRC32",
|
||||
"hex.builtin.hash.crc8": "CRC8",
|
||||
"hex.builtin.hash.md5": "MD5",
|
||||
"hex.builtin.hash.sha1": "SHA1",
|
||||
"hex.builtin.hash.sha224": "SHA224",
|
||||
"hex.builtin.hash.sha256": "SHA256",
|
||||
"hex.builtin.hash.sha384": "SHA384",
|
||||
"hex.builtin.hash.sha512": "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": "ASCII Character",
|
||||
"hex.builtin.inspector.binary": "Binary (8 bit)",
|
||||
"hex.builtin.inspector.bool": "bool",
|
||||
"hex.builtin.inspector.dos_date": "DOS Date",
|
||||
"hex.builtin.inspector.dos_time": "DOS Time",
|
||||
"hex.builtin.inspector.double": "double (64 bit)",
|
||||
"hex.builtin.inspector.float": "float (32 bit)",
|
||||
"hex.builtin.inspector.float16": "half float (16 bit)",
|
||||
"hex.builtin.inspector.guid": "GUID",
|
||||
"hex.builtin.inspector.i16": "int16_t",
|
||||
"hex.builtin.inspector.i24": "int24_t",
|
||||
"hex.builtin.inspector.i32": "int32_t",
|
||||
"hex.builtin.inspector.i48": "int48_t",
|
||||
"hex.builtin.inspector.i64": "int64_t",
|
||||
"hex.builtin.inspector.i8": "int8_t",
|
||||
"hex.builtin.inspector.long_double": "long double (128 bit)",
|
||||
"hex.builtin.inspector.rgb565": "RGB565 Color",
|
||||
"hex.builtin.inspector.rgba8": "RGBA8 Color",
|
||||
"hex.builtin.inspector.sleb128": "Signed LEB128",
|
||||
"hex.builtin.inspector.string": "String",
|
||||
"hex.builtin.inspector.string16": "Wide String",
|
||||
"hex.builtin.inspector.time": "time_t",
|
||||
"hex.builtin.inspector.time32": "time32_t",
|
||||
"hex.builtin.inspector.time64": "time64_t",
|
||||
"hex.builtin.inspector.u16": "uint16_t",
|
||||
"hex.builtin.inspector.u24": "uint24_t",
|
||||
"hex.builtin.inspector.u32": "uint32_t",
|
||||
"hex.builtin.inspector.u48": "uint48_t",
|
||||
"hex.builtin.inspector.u64": "uint64_t",
|
||||
"hex.builtin.inspector.u8": "uint8_t",
|
||||
"hex.builtin.inspector.uleb128": "Unsigned LEB128",
|
||||
"hex.builtin.inspector.utf8": "UTF-8 code point",
|
||||
"hex.builtin.inspector.wide": "Wide Character",
|
||||
"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.popup.export_error": "파일이 올바른 Base64 형식이 아닙니다!",
|
||||
"hex.builtin.menu.file.export.ips": "IPS 패치",
|
||||
"hex.builtin.menu.file.export.ips32": "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": "Base64 파일",
|
||||
"hex.builtin.menu.file.import.base64.popup.import_error": "파일이 올바른 Base64 형식이 아닙니다!",
|
||||
"hex.builtin.menu.file.import.base64.popup.open_error": "파일을 여는 데 실패했습니다!",
|
||||
"hex.builtin.menu.file.import.ips": "IPS 패치",
|
||||
"hex.builtin.menu.file.import.ips32": "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": "ImHex 종료하기",
|
||||
"hex.builtin.menu.file.reload_file": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.save_project": "프로젝트 저장",
|
||||
"hex.builtin.menu.file.save_project_as": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.help": "도움말",
|
||||
"hex.builtin.menu.layout": "레이아웃",
|
||||
"hex.builtin.menu.view": "뷰",
|
||||
"hex.builtin.menu.view.demo": "ImGui Demo 표시하기",
|
||||
"hex.builtin.menu.view.fps": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic": "수학",
|
||||
"hex.builtin.nodes.arithmetic.add": "덧셈",
|
||||
"hex.builtin.nodes.arithmetic.add.header": "덧셈",
|
||||
"hex.builtin.nodes.arithmetic.average": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.average.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.div": "나눗셈",
|
||||
"hex.builtin.nodes.arithmetic.div.header": "나눗셈",
|
||||
"hex.builtin.nodes.arithmetic.median": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.median.header": "***** MISSING TRANSLATION *****",
|
||||
"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": "AND",
|
||||
"hex.builtin.nodes.bitwise.and.header": "논리 AND",
|
||||
"hex.builtin.nodes.bitwise.not": "NOT",
|
||||
"hex.builtin.nodes.bitwise.not.header": "논리 NOT",
|
||||
"hex.builtin.nodes.bitwise.or": "OR",
|
||||
"hex.builtin.nodes.bitwise.or.header": "논리 OR",
|
||||
"hex.builtin.nodes.bitwise.xor": "XOR",
|
||||
"hex.builtin.nodes.bitwise.xor.header": "논리 XOR",
|
||||
"hex.builtin.nodes.buffer": "버퍼",
|
||||
"hex.builtin.nodes.buffer.combine": "합치기",
|
||||
"hex.builtin.nodes.buffer.combine.header": "버퍼 합치기",
|
||||
"hex.builtin.nodes.buffer.patch": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.patch.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.patch.input.patch": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.repeat": "출력",
|
||||
"hex.builtin.nodes.buffer.repeat.header": "버퍼 반복",
|
||||
"hex.builtin.nodes.buffer.repeat.input.buffer": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.buffer_to_float.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.buffer_to_int": "버퍼에서 정수로",
|
||||
"hex.builtin.nodes.casting.buffer_to_int.header": "버퍼에서 정수로",
|
||||
"hex.builtin.nodes.casting.float_to_buffer": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.float_to_buffer.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.int_to_buffer": "정수에서 버퍼로",
|
||||
"hex.builtin.nodes.casting.int_to_buffer.header": "정수에서 버퍼로",
|
||||
"hex.builtin.nodes.common.height": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.common.input": "Input",
|
||||
"hex.builtin.nodes.common.input.a": "Input A",
|
||||
"hex.builtin.nodes.common.input.b": "Input B",
|
||||
"hex.builtin.nodes.common.output": "Output",
|
||||
"hex.builtin.nodes.common.width": "***** MISSING TRANSLATION *****",
|
||||
"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": "Nullptr",
|
||||
"hex.builtin.nodes.constants.nullptr.header": "Nullptr",
|
||||
"hex.builtin.nodes.constants.rgba8": "RGBA8 색상",
|
||||
"hex.builtin.nodes.constants.rgba8.header": "RGBA8 색상",
|
||||
"hex.builtin.nodes.constants.rgba8.output.a": "Alpha",
|
||||
"hex.builtin.nodes.constants.rgba8.output.b": "Blue",
|
||||
"hex.builtin.nodes.constants.rgba8.output.g": "Green",
|
||||
"hex.builtin.nodes.constants.rgba8.output.r": "Red",
|
||||
"hex.builtin.nodes.constants.string": "문자열",
|
||||
"hex.builtin.nodes.constants.string.header": "문자열",
|
||||
"hex.builtin.nodes.control_flow": "데이터 플로우",
|
||||
"hex.builtin.nodes.control_flow.and": "AND",
|
||||
"hex.builtin.nodes.control_flow.and.header": "Boolean AND",
|
||||
"hex.builtin.nodes.control_flow.equals": "Equals",
|
||||
"hex.builtin.nodes.control_flow.equals.header": "Equals",
|
||||
"hex.builtin.nodes.control_flow.gt": "Greater than",
|
||||
"hex.builtin.nodes.control_flow.gt.header": "Greater than",
|
||||
"hex.builtin.nodes.control_flow.if": "If",
|
||||
"hex.builtin.nodes.control_flow.if.condition": "조건",
|
||||
"hex.builtin.nodes.control_flow.if.false": "False",
|
||||
"hex.builtin.nodes.control_flow.if.header": "If",
|
||||
"hex.builtin.nodes.control_flow.if.true": "True",
|
||||
"hex.builtin.nodes.control_flow.lt": "Less than",
|
||||
"hex.builtin.nodes.control_flow.lt.header": "Less than",
|
||||
"hex.builtin.nodes.control_flow.not": "Not",
|
||||
"hex.builtin.nodes.control_flow.not.header": "Not",
|
||||
"hex.builtin.nodes.control_flow.or": "OR",
|
||||
"hex.builtin.nodes.control_flow.or.header": "Boolean OR",
|
||||
"hex.builtin.nodes.crypto": "암호학",
|
||||
"hex.builtin.nodes.crypto.aes": "AES 복호화",
|
||||
"hex.builtin.nodes.crypto.aes.header": "AES 복호화",
|
||||
"hex.builtin.nodes.crypto.aes.iv": "IV",
|
||||
"hex.builtin.nodes.crypto.aes.key": "키",
|
||||
"hex.builtin.nodes.crypto.aes.key_length": "Key 길이",
|
||||
"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": "Base64",
|
||||
"hex.builtin.nodes.decoding.base64.header": "Base64 디코더",
|
||||
"hex.builtin.nodes.decoding.hex": "16진수",
|
||||
"hex.builtin.nodes.decoding.hex.header": "16진수 decoder",
|
||||
"hex.builtin.nodes.display": "디스플레이",
|
||||
"hex.builtin.nodes.display.buffer": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.display.buffer.header": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.display.string.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language.out_var": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language.out_var.header": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.image_rgba.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.layered_dist": "계층적 분포",
|
||||
"hex.builtin.nodes.visualizer.layered_dist.header": "계층적 분포",
|
||||
"hex.builtin.pattern_drawer.color": "색상",
|
||||
"hex.builtin.pattern_drawer.double_click": "***** MISSING TRANSLATION *****",
|
||||
"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.popup.close_provider.desc": "공급자에 저장하지 않은 내용이 있습니다.\n정말로 종료하시겠습니까?",
|
||||
"hex.builtin.popup.close_provider.title": "공급자를 종료하시겠습니까?",
|
||||
"hex.builtin.popup.error.create": "새 파일을 만드는데 실패했습니다!",
|
||||
"hex.builtin.popup.error.file_dialog.common": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.file_dialog.portal": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.open": "파일을 여는데 실패했습니다!",
|
||||
"hex.builtin.popup.error.project.load": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.project.save": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.read_only": "쓰기 권한을 가져올 수 없습니다. 파일이 읽기 전용 모드로 열렸습니다.",
|
||||
"hex.builtin.popup.error.task_exception": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.exit_application.desc": "프로젝트에 저장하지 않은 내용이 있습니다.\n정말로 종료하시겠습니까?",
|
||||
"hex.builtin.popup.exit_application.title": "프로그램을 종료하시겠습니까?",
|
||||
"hex.builtin.provider.disk": "Raw 디스크 공급자",
|
||||
"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.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.gdb": "GDB 서버 공급자",
|
||||
"hex.builtin.provider.gdb.ip": "IP 주소",
|
||||
"hex.builtin.provider.gdb.name": "GDB 서버 <{0}:{1}>",
|
||||
"hex.builtin.provider.gdb.port": "포트",
|
||||
"hex.builtin.provider.gdb.server": "서버",
|
||||
"hex.builtin.provider.intel_hex": "Intel Hex 공급자",
|
||||
"hex.builtin.provider.intel_hex.name": "Intel Hex {0}",
|
||||
"hex.builtin.provider.mem_file": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.mem_file.unsaved": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.motorola_srec": "Motorola SREC 공급자",
|
||||
"hex.builtin.provider.motorola_srec.name": "Motorola SREC {0}",
|
||||
"hex.builtin.provider.view": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.folders": "폴더",
|
||||
"hex.builtin.setting.folders.add_folder": "새 폴더 추가",
|
||||
"hex.builtin.setting.folders.description": "패턴, 스크립트, YARA 규칙 등을 찾아볼 추가적인 폴더 경로를 지정하세요",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.general.enable_unicode": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.bytes_per_row": "한 줄당 바이트 수",
|
||||
"hex.builtin.setting.hex_editor.char_padding": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.grey_zeros": "00을 회색으로 표시",
|
||||
"hex.builtin.setting.hex_editor.highlight_color": "선택 영역 색상 하이라이트",
|
||||
"hex.builtin.setting.hex_editor.sync_scrolling": "***** MISSING TRANSLATION *****",
|
||||
"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.unlocked": "제한 없음",
|
||||
"hex.builtin.setting.interface.language": "언어",
|
||||
"hex.builtin.setting.interface.multi_windows": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.interface.scaling": "크기",
|
||||
"hex.builtin.setting.interface.scaling.native": "기본",
|
||||
"hex.builtin.setting.interface.scaling.x0_5": "x0.5",
|
||||
"hex.builtin.setting.interface.scaling.x1_0": "x1.0",
|
||||
"hex.builtin.setting.interface.scaling.x1_5": "x1.5",
|
||||
"hex.builtin.setting.interface.scaling.x2_0": "x2.0",
|
||||
"hex.builtin.setting.interface.scaling.x3_0": "x3.0",
|
||||
"hex.builtin.setting.interface.scaling.x4_0": "x4.0",
|
||||
"hex.builtin.setting.interface.wiki_explain_language": "Wikipedia 언어",
|
||||
"hex.builtin.setting.proxy": "프록시",
|
||||
"hex.builtin.setting.proxy.description": "프록시는 스토어, wikipedia, 그리고 추가적인 플러그인에 즉시 적용이 됩니다.",
|
||||
"hex.builtin.setting.proxy.enable": "Proxy 활성화",
|
||||
"hex.builtin.setting.proxy.url": "Proxy 경로",
|
||||
"hex.builtin.setting.proxy.url.tooltip": "http(s):// 혹은 socks5:// (예., http://127.0.0.1:1080)",
|
||||
"hex.builtin.tools.ascii_table": "ASCII 테이블",
|
||||
"hex.builtin.tools.ascii_table.octal": "8진수 표시",
|
||||
"hex.builtin.tools.base_converter": "진수 변환기",
|
||||
"hex.builtin.tools.base_converter.bin": "BIN",
|
||||
"hex.builtin.tools.base_converter.dec": "DEC",
|
||||
"hex.builtin.tools.base_converter.hex": "HEX",
|
||||
"hex.builtin.tools.base_converter.oct": "OCT",
|
||||
"hex.builtin.tools.calc": "계산기",
|
||||
"hex.builtin.tools.color": "컬러 피커",
|
||||
"hex.builtin.tools.demangler": "LLVM Demangler",
|
||||
"hex.builtin.tools.demangler.demangled": "Demangled name",
|
||||
"hex.builtin.tools.demangler.mangled": "Mangled name",
|
||||
"hex.builtin.tools.error": "마지막 에러: '{0}'",
|
||||
"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": "입력 파일 {0}을 열지 못했습니다",
|
||||
"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": "파일 조각 {0}를 만드는 데 실패했습니다",
|
||||
"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": "3½\" 플로피 디스크 (1400KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.5_75_floppy": "5¼\" 플로피 디스크 (1200KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom650": "CD-ROM (650MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom700": "CD-ROM (700MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.custom": "Custom",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.fat32": "FAT32 (4GiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip100": "Zip 100 디스크 (100MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip200": "Zip 200 디스크 (200MiB)",
|
||||
"hex.builtin.tools.file_uploader": "파일 업로더",
|
||||
"hex.builtin.tools.file_uploader.control": "컨트롤",
|
||||
"hex.builtin.tools.file_uploader.done": "완료!",
|
||||
"hex.builtin.tools.file_uploader.error": "파일 업로드 실패!\n\n에러 코드: {0}",
|
||||
"hex.builtin.tools.file_uploader.invalid_response": "Anonfiles에서 잘못된 응답이 왔습니다!",
|
||||
"hex.builtin.tools.file_uploader.recent": "최근 업로드",
|
||||
"hex.builtin.tools.file_uploader.tooltip": "클릭해 복사,\nCTRL + 클릭으로 열기",
|
||||
"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.ieee756": "IEEE 756 부동 소수점 테스트",
|
||||
"hex.builtin.tools.ieee756.double_precision": "Double Precision",
|
||||
"hex.builtin.tools.ieee756.exponent": "지수부",
|
||||
"hex.builtin.tools.ieee756.exponent_size": "지수부 크기",
|
||||
"hex.builtin.tools.ieee756.formula": "공식",
|
||||
"hex.builtin.tools.ieee756.half_precision": "Half Precision",
|
||||
"hex.builtin.tools.ieee756.mantissa": "가수부",
|
||||
"hex.builtin.tools.ieee756.mantissa_size": "가수부 크기",
|
||||
"hex.builtin.tools.ieee756.result.float": "부동 소수점 결과",
|
||||
"hex.builtin.tools.ieee756.result.hex": "16진수 결과",
|
||||
"hex.builtin.tools.ieee756.result.title": "결과",
|
||||
"hex.builtin.tools.ieee756.sign": "부포",
|
||||
"hex.builtin.tools.ieee756.singe_precision": "Single Precision",
|
||||
"hex.builtin.tools.ieee756.type": "종류",
|
||||
"hex.builtin.tools.input": "입력",
|
||||
"hex.builtin.tools.name": "이름",
|
||||
"hex.builtin.tools.permissions": "UNIX 권한 계산기",
|
||||
"hex.builtin.tools.permissions.absolute": "절대값",
|
||||
"hex.builtin.tools.permissions.perm_bits": "권한 비트",
|
||||
"hex.builtin.tools.permissions.setgid_error": "Setgid bit를 적용하기 위한 올바른 그룹 권한이 필요합니다!",
|
||||
"hex.builtin.tools.permissions.setuid_error": "Setuid bit를 적용하기 위한 올바른 유저 권한이 필요합니다!",
|
||||
"hex.builtin.tools.permissions.sticky_error": "Sticky bit를 적용하기 위한 올바른 기타 권한이 필요합니다!",
|
||||
"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": "Wikipedia 용어 정의",
|
||||
"hex.builtin.tools.wiki_explain.control": "컨트롤",
|
||||
"hex.builtin.tools.wiki_explain.invalid_response": "Wikipedia에서 잘못된 응답이 왔습니다!",
|
||||
"hex.builtin.tools.wiki_explain.results": "결과",
|
||||
"hex.builtin.tools.wiki_explain.search": "검색",
|
||||
"hex.builtin.view.bookmarks.address": "0x{0:X} : 0x{1:X} ({2} bytes)",
|
||||
"hex.builtin.view.bookmarks.button.jump": "이동하기",
|
||||
"hex.builtin.view.bookmarks.button.remove": "지우기",
|
||||
"hex.builtin.view.bookmarks.default_title": "북마크 [0x{0:X} - 0x{1:X}]",
|
||||
"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": "16-bit",
|
||||
"hex.builtin.view.disassembler.32bit": "32-bit",
|
||||
"hex.builtin.view.disassembler.64bit": "64-bit",
|
||||
"hex.builtin.view.disassembler.arch": "아키텍쳐",
|
||||
"hex.builtin.view.disassembler.arm.arm": "ARM",
|
||||
"hex.builtin.view.disassembler.arm.armv8": "ARMv8",
|
||||
"hex.builtin.view.disassembler.arm.cortex_m": "Cortex-M",
|
||||
"hex.builtin.view.disassembler.arm.default": "Default",
|
||||
"hex.builtin.view.disassembler.arm.thumb": "Thumb",
|
||||
"hex.builtin.view.disassembler.base": "베이스 주소",
|
||||
"hex.builtin.view.disassembler.bpf.classic": "Classic",
|
||||
"hex.builtin.view.disassembler.bpf.extended": "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": "6301",
|
||||
"hex.builtin.view.disassembler.m680x.6309": "6309",
|
||||
"hex.builtin.view.disassembler.m680x.6800": "6800",
|
||||
"hex.builtin.view.disassembler.m680x.6801": "6801",
|
||||
"hex.builtin.view.disassembler.m680x.6805": "6805",
|
||||
"hex.builtin.view.disassembler.m680x.6808": "6808",
|
||||
"hex.builtin.view.disassembler.m680x.6809": "6809",
|
||||
"hex.builtin.view.disassembler.m680x.6811": "6811",
|
||||
"hex.builtin.view.disassembler.m680x.cpu12": "CPU12",
|
||||
"hex.builtin.view.disassembler.m680x.hcs08": "HCS08",
|
||||
"hex.builtin.view.disassembler.m68k.000": "000",
|
||||
"hex.builtin.view.disassembler.m68k.010": "010",
|
||||
"hex.builtin.view.disassembler.m68k.020": "020",
|
||||
"hex.builtin.view.disassembler.m68k.030": "030",
|
||||
"hex.builtin.view.disassembler.m68k.040": "040",
|
||||
"hex.builtin.view.disassembler.m68k.060": "060",
|
||||
"hex.builtin.view.disassembler.mips.micro": "Micro",
|
||||
"hex.builtin.view.disassembler.mips.mips2": "MIPS II",
|
||||
"hex.builtin.view.disassembler.mips.mips3": "MIPS III",
|
||||
"hex.builtin.view.disassembler.mips.mips32": "MIPS32",
|
||||
"hex.builtin.view.disassembler.mips.mips32R6": "MIPS32R6",
|
||||
"hex.builtin.view.disassembler.mips.mips64": "MIPS64",
|
||||
"hex.builtin.view.disassembler.mos65xx.6502": "6502",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816": "65816",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_m": "65816 Long M",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_mx": "65816 Long MX",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_x": "65816 Long X",
|
||||
"hex.builtin.view.disassembler.mos65xx.65c02": "65C02",
|
||||
"hex.builtin.view.disassembler.mos65xx.w65c02": "W65C02",
|
||||
"hex.builtin.view.disassembler.name": "디스어셈블러",
|
||||
"hex.builtin.view.disassembler.position": "위치",
|
||||
"hex.builtin.view.disassembler.ppc.booke": "Book-E",
|
||||
"hex.builtin.view.disassembler.ppc.qpx": "Quad Processing Extensions",
|
||||
"hex.builtin.view.disassembler.ppc.spe": "Signal Processing Engine",
|
||||
"hex.builtin.view.disassembler.region": "코드 영역",
|
||||
"hex.builtin.view.disassembler.riscv.compressed": "Compressed",
|
||||
"hex.builtin.view.disassembler.settings.header": "설정",
|
||||
"hex.builtin.view.disassembler.settings.mode": "모드",
|
||||
"hex.builtin.view.disassembler.sparc.v9": "Sparc V9",
|
||||
"hex.builtin.view.find.binary_pattern": "바이너리 패턴",
|
||||
"hex.builtin.view.find.context.copy": "값 복사",
|
||||
"hex.builtin.view.find.context.copy_demangle": "Copy Demangled Value",
|
||||
"hex.builtin.view.find.demangled": "Demangled",
|
||||
"hex.builtin.view.find.name": "찾기",
|
||||
"hex.builtin.view.find.regex": "정규식",
|
||||
"hex.builtin.view.find.regex.full_match": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.regex.pattern": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.search": "검색",
|
||||
"hex.builtin.view.find.search.entries": "{} 개 검색됨",
|
||||
"hex.builtin.view.find.search.reset": "***** MISSING TRANSLATION *****",
|
||||
"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": "Null로 끝난 글자만 검색",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.value.max": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.value.min": "***** MISSING TRANSLATION *****",
|
||||
"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": "ImHex 주소",
|
||||
"hex.builtin.view.help.about.source": "소스 코드는 GitHub에 존재합니다.",
|
||||
"hex.builtin.view.help.about.thanks": "이 작업물이 마음에 든다면, 프로젝트가 계속되도록 프로젝트에 후원해주세요. 감사합니다 <3",
|
||||
"hex.builtin.view.help.about.translator": "Translated by mirusu400",
|
||||
"hex.builtin.view.help.calc_cheat_sheet": "치트시트 계산기",
|
||||
"hex.builtin.view.help.documentation": "ImHex 문서",
|
||||
"hex.builtin.view.help.name": "도움말",
|
||||
"hex.builtin.view.help.pattern_cheat_sheet": "패턴 언어 치트시트",
|
||||
"hex.builtin.view.hex_editor.copy.address": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.copy.ascii": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.copy.base64": "Base64",
|
||||
"hex.builtin.view.hex_editor.copy.c": "C 배열",
|
||||
"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.go": "Go 배열",
|
||||
"hex.builtin.view.hex_editor.copy.hex": "문자열",
|
||||
"hex.builtin.view.hex_editor.copy.html": "HTML",
|
||||
"hex.builtin.view.hex_editor.copy.java": "Java 배열",
|
||||
"hex.builtin.view.hex_editor.copy.js": "JavaScript 배열",
|
||||
"hex.builtin.view.hex_editor.copy.lua": "Lua 배열",
|
||||
"hex.builtin.view.hex_editor.copy.pascal": "Pascal 배열",
|
||||
"hex.builtin.view.hex_editor.copy.python": "Python 배열",
|
||||
"hex.builtin.view.hex_editor.copy.rust": "Rust 배열",
|
||||
"hex.builtin.view.hex_editor.copy.swift": "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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.open_in_new_provider": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste": "붙여넣기",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste_all": "***** MISSING TRANSLATION *****",
|
||||
"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": "{1} 바이트 중 {0} 블록 ",
|
||||
"hex.builtin.view.information.control": "컨트롤",
|
||||
"hex.builtin.view.information.description": "설명:",
|
||||
"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.magic": "Magic 정보",
|
||||
"hex.builtin.view.information.magic_db_added": "Magic 데이터베이스 추가됨!",
|
||||
"hex.builtin.view.information.mime": "MIME 타입:",
|
||||
"hex.builtin.view.information.name": "데이터 정보",
|
||||
"hex.builtin.view.information.region": "분석한 영역",
|
||||
"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": "이 패턴은 위험한 함수를 실행하려 합니다.\n정말로 이 패턴을 신뢰하시겠습니?",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.array": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.single": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.custom": "***** MISSING TRANSLATION *****",
|
||||
"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": "'in' 또는 'out' 지정자를 이용해 여기에 나타날 전역 변수를 선언합니다.",
|
||||
"hex.builtin.view.pattern_editor.open_pattern": "패턴 열기",
|
||||
"hex.builtin.view.pattern_editor.section_popup": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.sections": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.settings": "설정",
|
||||
"hex.builtin.view.provider_settings.load_error": "이 공급자를 여는 도중 에러가 발생했습니다!",
|
||||
"hex.builtin.view.provider_settings.load_popup": "공급자 열기",
|
||||
"hex.builtin.view.provider_settings.name": "공급자 설정",
|
||||
"hex.builtin.view.settings.name": "설정",
|
||||
"hex.builtin.view.settings.restart_question": "변경 사항을 적용할려면 ImHex를 재시작 해야 합니다. 지금 바로 재시작하시겠습니까?",
|
||||
"hex.builtin.view.store.desc": "ImHex의 온라인 데이터베이스에서 새로운 컨텐츠를 다운로드 받으세요.",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"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.libraries": "라이브러리",
|
||||
"hex.builtin.view.store.tab.magics": "Magic 파일",
|
||||
"hex.builtin.view.store.tab.patterns": "패턴",
|
||||
"hex.builtin.view.store.tab.yara": "Yara 규칙",
|
||||
"hex.builtin.view.store.update": "업데이트",
|
||||
"hex.builtin.view.tools.name": "도구",
|
||||
"hex.builtin.view.yara.error": "Yara 컴파일러 에러: ",
|
||||
"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": "Yara 규칙",
|
||||
"hex.builtin.view.yara.no_rules": "YARA 규칙이 없습니다. ImHex의 'yara' 폴더에 YARA 규칙을 넣으세요.",
|
||||
"hex.builtin.view.yara.reload": "재검사",
|
||||
"hex.builtin.view.yara.reset": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.yara.rule_added": "Yara 규칙 추가됨!",
|
||||
"hex.builtin.view.yara.whole_data": "모든 파일을 검색했습니다!",
|
||||
"hex.builtin.visualizer.decimal.signed.16bit": "부호 있는 10진수 (16 비트)",
|
||||
"hex.builtin.visualizer.decimal.signed.32bit": "부호 있는 10진수 (32 비트)",
|
||||
"hex.builtin.visualizer.decimal.signed.64bit": "부호 있는 10진수 (64 비트)",
|
||||
"hex.builtin.visualizer.decimal.signed.8bit": "부호 있는 10진수 (8 비트)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.16bit": "부호 없는 10진수 (16 비트)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.32bit": "부호 없는 10진수 (32 비트)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.64bit": "부호 없는 10진수 (64 비트)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.8bit": "부호 없는 10진수 (8 비트)",
|
||||
"hex.builtin.visualizer.floating_point.16bit": "부동소수점 (16 비트)",
|
||||
"hex.builtin.visualizer.floating_point.32bit": "부동소수점 (32 비트)",
|
||||
"hex.builtin.visualizer.floating_point.64bit": "부동소수점 (64 비트)",
|
||||
"hex.builtin.visualizer.hexadecimal.16bit": "16진수 (16 비트)",
|
||||
"hex.builtin.visualizer.hexadecimal.32bit": "16진수 (32 비트)",
|
||||
"hex.builtin.visualizer.hexadecimal.64bit": "16진수 (64 비트)",
|
||||
"hex.builtin.visualizer.hexadecimal.8bit": "16진수 (8 비트)",
|
||||
"hex.builtin.visualizer.hexii": "HexII",
|
||||
"hex.builtin.visualizer.rgba8": "RGBA8 색상",
|
||||
"hex.builtin.welcome.check_for_updates_text": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.welcome.customize.settings.desc": "ImHex의 설정을 변경합니다",
|
||||
"hex.builtin.welcome.customize.settings.title": "설정",
|
||||
"hex.builtin.welcome.header.customize": "커스터마이즈",
|
||||
"hex.builtin.welcome.header.help": "도움말",
|
||||
"hex.builtin.welcome.header.learn": "Learn",
|
||||
"hex.builtin.welcome.header.main": "Welcome to ImHex",
|
||||
"hex.builtin.welcome.header.plugins": "로딩된 플러그인",
|
||||
"hex.builtin.welcome.header.start": "시작하기",
|
||||
"hex.builtin.welcome.header.update": "업데이트",
|
||||
"hex.builtin.welcome.header.various": "Various",
|
||||
"hex.builtin.welcome.help.discord": "디스코드 서버",
|
||||
"hex.builtin.welcome.help.discord.link": "https://imhex.werwolv.net/discord",
|
||||
"hex.builtin.welcome.help.gethelp": "도움 얻기",
|
||||
"hex.builtin.welcome.help.gethelp.link": "https://github.com/WerWolv/ImHex/discussions/categories/get-help",
|
||||
"hex.builtin.welcome.help.repo": "GitHub 저장소",
|
||||
"hex.builtin.welcome.help.repo.link": "https://imhex.werwolv.net/git",
|
||||
"hex.builtin.welcome.learn.latest.desc": "ImHex의 최신 변경사항 읽기",
|
||||
"hex.builtin.welcome.learn.latest.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.learn.latest.title": "최신 릴리즈",
|
||||
"hex.builtin.welcome.learn.pattern.desc": "ImHex 패턴을 작성하는 방법을 배워 봅시다.",
|
||||
"hex.builtin.welcome.learn.pattern.link": "https://imhex.werwolv.net/docs",
|
||||
"hex.builtin.welcome.learn.pattern.title": "패턴 언어 작성 방법 문서",
|
||||
"hex.builtin.welcome.learn.plugins.desc": "플러그인을 이용해 ImHex의 기능을 확장해 봅시다.",
|
||||
"hex.builtin.welcome.learn.plugins.link": "https://github.com/WerWolv/ImHex/wiki/Plugins-Development-Guide",
|
||||
"hex.builtin.welcome.learn.plugins.title": "플러그인 API",
|
||||
"hex.builtin.welcome.plugins.author": "작성자",
|
||||
"hex.builtin.welcome.plugins.desc": "설명",
|
||||
"hex.builtin.welcome.plugins.plugin": "플러그인",
|
||||
"hex.builtin.welcome.safety_backup.delete": "아니요, 삭제",
|
||||
"hex.builtin.welcome.safety_backup.desc": "이전에 ImHex가 비 정상적으로 종료된 것 같습니다.\n이전의 작업을 복구할까요?",
|
||||
"hex.builtin.welcome.safety_backup.restore": "네, 복구",
|
||||
"hex.builtin.welcome.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": "ImHex {0} 가 업데이트 되었습니다! 여기서 다운로드하세요.",
|
||||
"hex.builtin.welcome.update.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.update.title": "새로운 업데이트가 존재합니다!"
|
||||
}
|
||||
}
|
||||
817
plugins/builtin/romfs/lang/pt_BR.json
Normal file
817
plugins/builtin/romfs/lang/pt_BR.json
Normal file
@@ -0,0 +1,817 @@
|
||||
{
|
||||
"code": "pt-BR",
|
||||
"country": "Brazil",
|
||||
"language": "Portuguese",
|
||||
"translations": {
|
||||
"hex.builtin.command.calc.desc": "Calculadora",
|
||||
"hex.builtin.command.cmd.desc": "Comando",
|
||||
"hex.builtin.command.cmd.result": "Iniciar Comando '{0}'",
|
||||
"hex.builtin.command.web.desc": "Website lookup",
|
||||
"hex.builtin.command.web.result": "Navegar para '{0}'",
|
||||
"hex.builtin.common.address": "Address",
|
||||
"hex.builtin.common.big": "Big",
|
||||
"hex.builtin.common.big_endian": "Big Endian",
|
||||
"hex.builtin.common.browse": "Navegar...",
|
||||
"hex.builtin.common.cancel": "Cancelar",
|
||||
"hex.builtin.common.choose_file": "Escolher arquivo",
|
||||
"hex.builtin.common.close": "Fechar",
|
||||
"hex.builtin.common.comment": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.count": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.decimal": "Decimal",
|
||||
"hex.builtin.common.dont_show_again": "Não Mostrar Novamente",
|
||||
"hex.builtin.common.encoding.ascii": "ASCII",
|
||||
"hex.builtin.common.encoding.utf16be": "UTF-16BE",
|
||||
"hex.builtin.common.encoding.utf16le": "UTF-16LE",
|
||||
"hex.builtin.common.encoding.utf8": "UTF-8",
|
||||
"hex.builtin.common.endian": "Endian",
|
||||
"hex.builtin.common.error": "Erro",
|
||||
"hex.builtin.common.fatal": "Erro Fatal",
|
||||
"hex.builtin.common.file": "Arquivo",
|
||||
"hex.builtin.common.filter": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.hexadecimal": "Hexadecimal",
|
||||
"hex.builtin.common.info": "Informação",
|
||||
"hex.builtin.common.link": "Link",
|
||||
"hex.builtin.common.little": "Little",
|
||||
"hex.builtin.common.little_endian": "Little Endian",
|
||||
"hex.builtin.common.load": "Carregar",
|
||||
"hex.builtin.common.match_selection": "Seleção de correspondência",
|
||||
"hex.builtin.common.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.no": "Não",
|
||||
"hex.builtin.common.number_format": "Format",
|
||||
"hex.builtin.common.octal": "Octal",
|
||||
"hex.builtin.common.offset": "Offset",
|
||||
"hex.builtin.common.okay": "OK",
|
||||
"hex.builtin.common.open": "Abrir",
|
||||
"hex.builtin.common.processing": "Processando",
|
||||
"hex.builtin.common.question": "Question",
|
||||
"hex.builtin.common.range": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.range.entire_data": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.range.selection": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.region": "Region",
|
||||
"hex.builtin.common.set": "Colocar",
|
||||
"hex.builtin.common.size": "Tamanho",
|
||||
"hex.builtin.common.type": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.type.f32": "float",
|
||||
"hex.builtin.common.type.f64": "double",
|
||||
"hex.builtin.common.type.i16": "int16_t",
|
||||
"hex.builtin.common.type.i24": "int24_t",
|
||||
"hex.builtin.common.type.i32": "int32_t",
|
||||
"hex.builtin.common.type.i48": "int48_t",
|
||||
"hex.builtin.common.type.i64": "int64_t",
|
||||
"hex.builtin.common.type.i8": "int8_t",
|
||||
"hex.builtin.common.type.u16": "uint16_t",
|
||||
"hex.builtin.common.type.u24": "uint24_t",
|
||||
"hex.builtin.common.type.u32": "uint32_t",
|
||||
"hex.builtin.common.type.u48": "uint48_t",
|
||||
"hex.builtin.common.type.u64": "uint64_t",
|
||||
"hex.builtin.common.type.u8": "uint8_t",
|
||||
"hex.builtin.common.value": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.common.yes": "Sim",
|
||||
"hex.builtin.hash.crc.iv": "Initial Value",
|
||||
"hex.builtin.hash.crc.poly": "Polynomial",
|
||||
"hex.builtin.hash.crc.refl_in": "Reflect In",
|
||||
"hex.builtin.hash.crc.refl_out": "Reflect Out",
|
||||
"hex.builtin.hash.crc.xor_out": "XOR Out",
|
||||
"hex.builtin.hash.crc16": "CRC16",
|
||||
"hex.builtin.hash.crc32": "CRC32",
|
||||
"hex.builtin.hash.crc8": "CRC8",
|
||||
"hex.builtin.hash.md5": "MD5",
|
||||
"hex.builtin.hash.sha1": "SHA1",
|
||||
"hex.builtin.hash.sha224": "SHA224",
|
||||
"hex.builtin.hash.sha256": "SHA256",
|
||||
"hex.builtin.hash.sha384": "SHA384",
|
||||
"hex.builtin.hash.sha512": "SHA512",
|
||||
"hex.builtin.hex_editor.data_size": "Tamanho dos Dados",
|
||||
"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.inspector.ascii": "ASCII Character",
|
||||
"hex.builtin.inspector.binary": "Binary (8 bit)",
|
||||
"hex.builtin.inspector.bool": "bool",
|
||||
"hex.builtin.inspector.dos_date": "DOS Date",
|
||||
"hex.builtin.inspector.dos_time": "DOS Time",
|
||||
"hex.builtin.inspector.double": "double (64 bit)",
|
||||
"hex.builtin.inspector.float": "float (32 bit)",
|
||||
"hex.builtin.inspector.float16": "half float (16 bit)",
|
||||
"hex.builtin.inspector.guid": "GUID",
|
||||
"hex.builtin.inspector.i16": "int16_t",
|
||||
"hex.builtin.inspector.i24": "int24_t",
|
||||
"hex.builtin.inspector.i32": "int32_t",
|
||||
"hex.builtin.inspector.i48": "int48_t",
|
||||
"hex.builtin.inspector.i64": "int64_t",
|
||||
"hex.builtin.inspector.i8": "int8_t",
|
||||
"hex.builtin.inspector.long_double": "long double (128 bit)",
|
||||
"hex.builtin.inspector.rgb565": "RGB565 Color",
|
||||
"hex.builtin.inspector.rgba8": "RGBA8 Color",
|
||||
"hex.builtin.inspector.sleb128": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.inspector.string": "String",
|
||||
"hex.builtin.inspector.string16": "Wide String",
|
||||
"hex.builtin.inspector.time": "time_t",
|
||||
"hex.builtin.inspector.time32": "time32_t",
|
||||
"hex.builtin.inspector.time64": "time64_t",
|
||||
"hex.builtin.inspector.u16": "uint16_t",
|
||||
"hex.builtin.inspector.u24": "uint24_t",
|
||||
"hex.builtin.inspector.u32": "uint32_t",
|
||||
"hex.builtin.inspector.u48": "uint48_t",
|
||||
"hex.builtin.inspector.u64": "uint64_t",
|
||||
"hex.builtin.inspector.u8": "uint8_t",
|
||||
"hex.builtin.inspector.uleb128": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.inspector.utf8": "UTF-8 code point",
|
||||
"hex.builtin.inspector.wide": "Wide Character",
|
||||
"hex.builtin.layouts.default": "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.file": "File",
|
||||
"hex.builtin.menu.file.bookmark.export": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.bookmark.import": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.clear_recent": "Limpar",
|
||||
"hex.builtin.menu.file.close": "Fechar",
|
||||
"hex.builtin.menu.file.create_file": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.export": "Exportar...",
|
||||
"hex.builtin.menu.file.export.base64.popup.export_error": "Esse arquivo não é baseado em um formato Base64 valido!",
|
||||
"hex.builtin.menu.file.export.ips": "IPS Patch",
|
||||
"hex.builtin.menu.file.export.ips32": "IPS32 Patch",
|
||||
"hex.builtin.menu.file.export.popup.create": "Não é possível exportar os dados. Falha ao criar arquivo!",
|
||||
"hex.builtin.menu.file.export.title": "Exportar Arquivo",
|
||||
"hex.builtin.menu.file.import": "Importar...",
|
||||
"hex.builtin.menu.file.import.base64": "Arquivo Base64",
|
||||
"hex.builtin.menu.file.import.base64.popup.import_error": "Esse arquivo não é baseado em um formato Base64 valido!",
|
||||
"hex.builtin.menu.file.import.base64.popup.open_error": "Falha ao abrir o arquivo!",
|
||||
"hex.builtin.menu.file.import.ips": "IPS Patch",
|
||||
"hex.builtin.menu.file.import.ips32": "IPS32 Patch",
|
||||
"hex.builtin.menu.file.open_file": "Abrir Arquivo...",
|
||||
"hex.builtin.menu.file.open_other": "Abrir outro...",
|
||||
"hex.builtin.menu.file.open_project": "Abrir Projeto...",
|
||||
"hex.builtin.menu.file.open_recent": "Abrir Recentes",
|
||||
"hex.builtin.menu.file.quit": "Sair do ImHex",
|
||||
"hex.builtin.menu.file.reload_file": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.file.save_project": "Salvar Projeto",
|
||||
"hex.builtin.menu.file.save_project_as": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.menu.help": "Ajuda",
|
||||
"hex.builtin.menu.layout": "Layout",
|
||||
"hex.builtin.menu.view": "Exibir",
|
||||
"hex.builtin.menu.view.demo": "Mostrar Demo do ImGui",
|
||||
"hex.builtin.menu.view.fps": "Mostrar FPS",
|
||||
"hex.builtin.nodes.arithmetic": "Aritmética",
|
||||
"hex.builtin.nodes.arithmetic.add": "Adição",
|
||||
"hex.builtin.nodes.arithmetic.add.header": "Adicionar",
|
||||
"hex.builtin.nodes.arithmetic.average": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.average.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.div": "Divisão",
|
||||
"hex.builtin.nodes.arithmetic.div.header": "Dividir",
|
||||
"hex.builtin.nodes.arithmetic.median": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.median.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.arithmetic.mod": "Módulos",
|
||||
"hex.builtin.nodes.arithmetic.mod.header": "Módulo",
|
||||
"hex.builtin.nodes.arithmetic.mul": "Multiplição",
|
||||
"hex.builtin.nodes.arithmetic.mul.header": "Multiplicar",
|
||||
"hex.builtin.nodes.arithmetic.sub": "Subtração",
|
||||
"hex.builtin.nodes.arithmetic.sub.header": "Subtrair",
|
||||
"hex.builtin.nodes.bitwise": "Bitwise operations",
|
||||
"hex.builtin.nodes.bitwise.and": "AND",
|
||||
"hex.builtin.nodes.bitwise.and.header": "Bitwise AND",
|
||||
"hex.builtin.nodes.bitwise.not": "NOT",
|
||||
"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.xor": "XOR",
|
||||
"hex.builtin.nodes.bitwise.xor.header": "Bitwise XOR",
|
||||
"hex.builtin.nodes.buffer": "Buffer",
|
||||
"hex.builtin.nodes.buffer.combine": "Combinar",
|
||||
"hex.builtin.nodes.buffer.combine.header": "Combinar buffers",
|
||||
"hex.builtin.nodes.buffer.patch": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.patch.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.patch.input.patch": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.repeat": "Repetir",
|
||||
"hex.builtin.nodes.buffer.repeat.header": "Repetir buffer",
|
||||
"hex.builtin.nodes.buffer.repeat.input.buffer": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.buffer.repeat.input.count": "Contar",
|
||||
"hex.builtin.nodes.buffer.slice": "Slice",
|
||||
"hex.builtin.nodes.buffer.slice.header": "Slice buffer",
|
||||
"hex.builtin.nodes.buffer.slice.input.buffer": "Entrada",
|
||||
"hex.builtin.nodes.buffer.slice.input.from": "Do",
|
||||
"hex.builtin.nodes.buffer.slice.input.to": "Para",
|
||||
"hex.builtin.nodes.casting": "Conversão de Dados",
|
||||
"hex.builtin.nodes.casting.buffer_to_float": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.buffer_to_float.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.buffer_to_int": "Buffer to Integer",
|
||||
"hex.builtin.nodes.casting.buffer_to_int.header": "Buffer to Integer",
|
||||
"hex.builtin.nodes.casting.float_to_buffer": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.float_to_buffer.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.casting.int_to_buffer": "Integer to Buffer",
|
||||
"hex.builtin.nodes.casting.int_to_buffer.header": "Integer to Buffer",
|
||||
"hex.builtin.nodes.common.height": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.common.input": "Input",
|
||||
"hex.builtin.nodes.common.input.a": "Input A",
|
||||
"hex.builtin.nodes.common.input.b": "Input B",
|
||||
"hex.builtin.nodes.common.output": "Output",
|
||||
"hex.builtin.nodes.common.width": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.constants": "Constants",
|
||||
"hex.builtin.nodes.constants.buffer": "Buffer",
|
||||
"hex.builtin.nodes.constants.buffer.header": "Buffer",
|
||||
"hex.builtin.nodes.constants.buffer.size": "Size",
|
||||
"hex.builtin.nodes.constants.comment": "Comment",
|
||||
"hex.builtin.nodes.constants.comment.header": "Comment",
|
||||
"hex.builtin.nodes.constants.float": "Float",
|
||||
"hex.builtin.nodes.constants.float.header": "Float",
|
||||
"hex.builtin.nodes.constants.int": "Integer",
|
||||
"hex.builtin.nodes.constants.int.header": "Integer",
|
||||
"hex.builtin.nodes.constants.nullptr": "Nullptr",
|
||||
"hex.builtin.nodes.constants.nullptr.header": "Nullptr",
|
||||
"hex.builtin.nodes.constants.rgba8": "RGBA8 color",
|
||||
"hex.builtin.nodes.constants.rgba8.header": "RGBA8 color",
|
||||
"hex.builtin.nodes.constants.rgba8.output.a": "Alpha",
|
||||
"hex.builtin.nodes.constants.rgba8.output.b": "Blue",
|
||||
"hex.builtin.nodes.constants.rgba8.output.g": "Green",
|
||||
"hex.builtin.nodes.constants.rgba8.output.r": "Red",
|
||||
"hex.builtin.nodes.constants.string": "String",
|
||||
"hex.builtin.nodes.constants.string.header": "String",
|
||||
"hex.builtin.nodes.control_flow": "Control flow",
|
||||
"hex.builtin.nodes.control_flow.and": "AND",
|
||||
"hex.builtin.nodes.control_flow.and.header": "Boolean AND",
|
||||
"hex.builtin.nodes.control_flow.equals": "Equals",
|
||||
"hex.builtin.nodes.control_flow.equals.header": "Equals",
|
||||
"hex.builtin.nodes.control_flow.gt": "Greater than",
|
||||
"hex.builtin.nodes.control_flow.gt.header": "Greater than",
|
||||
"hex.builtin.nodes.control_flow.if": "If",
|
||||
"hex.builtin.nodes.control_flow.if.condition": "Condition",
|
||||
"hex.builtin.nodes.control_flow.if.false": "False",
|
||||
"hex.builtin.nodes.control_flow.if.header": "If",
|
||||
"hex.builtin.nodes.control_flow.if.true": "True",
|
||||
"hex.builtin.nodes.control_flow.lt": "Less than",
|
||||
"hex.builtin.nodes.control_flow.lt.header": "Less than",
|
||||
"hex.builtin.nodes.control_flow.not": "Not",
|
||||
"hex.builtin.nodes.control_flow.not.header": "Not",
|
||||
"hex.builtin.nodes.control_flow.or": "OR",
|
||||
"hex.builtin.nodes.control_flow.or.header": "Boolean OR",
|
||||
"hex.builtin.nodes.crypto": "Cryptography",
|
||||
"hex.builtin.nodes.crypto.aes": "AES Decryptor",
|
||||
"hex.builtin.nodes.crypto.aes.header": "AES Decryptor",
|
||||
"hex.builtin.nodes.crypto.aes.iv": "IV",
|
||||
"hex.builtin.nodes.crypto.aes.key": "Key",
|
||||
"hex.builtin.nodes.crypto.aes.key_length": "Key length",
|
||||
"hex.builtin.nodes.crypto.aes.mode": "Mode",
|
||||
"hex.builtin.nodes.crypto.aes.nonce": "Nonce",
|
||||
"hex.builtin.nodes.data_access": "Acesso de dados",
|
||||
"hex.builtin.nodes.data_access.read": "Ler",
|
||||
"hex.builtin.nodes.data_access.read.address": "Caminho",
|
||||
"hex.builtin.nodes.data_access.read.data": "Dados",
|
||||
"hex.builtin.nodes.data_access.read.header": "Ler",
|
||||
"hex.builtin.nodes.data_access.read.size": "Tamanho",
|
||||
"hex.builtin.nodes.data_access.selection": "Região Selecionada",
|
||||
"hex.builtin.nodes.data_access.selection.address": "Caminho",
|
||||
"hex.builtin.nodes.data_access.selection.header": "Região Selecionada",
|
||||
"hex.builtin.nodes.data_access.selection.size": "Tamanho",
|
||||
"hex.builtin.nodes.data_access.size": "Tamanho dos Dados",
|
||||
"hex.builtin.nodes.data_access.size.header": "Tamanho dos Dados",
|
||||
"hex.builtin.nodes.data_access.size.size": "Tamanho",
|
||||
"hex.builtin.nodes.data_access.write": "Escrever",
|
||||
"hex.builtin.nodes.data_access.write.address": "Caminho",
|
||||
"hex.builtin.nodes.data_access.write.data": "Dados",
|
||||
"hex.builtin.nodes.data_access.write.header": "Escrever",
|
||||
"hex.builtin.nodes.decoding": "Decoding",
|
||||
"hex.builtin.nodes.decoding.base64": "Base64",
|
||||
"hex.builtin.nodes.decoding.base64.header": "Base64 decoder",
|
||||
"hex.builtin.nodes.decoding.hex": "Hexadecimal",
|
||||
"hex.builtin.nodes.decoding.hex.header": "Hexadecimal decoder",
|
||||
"hex.builtin.nodes.display": "Display",
|
||||
"hex.builtin.nodes.display.buffer": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.display.buffer.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.display.float": "Float",
|
||||
"hex.builtin.nodes.display.float.header": "Float display",
|
||||
"hex.builtin.nodes.display.int": "Integer",
|
||||
"hex.builtin.nodes.display.int.header": "Integer display",
|
||||
"hex.builtin.nodes.display.string": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.display.string.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language.out_var": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.pattern_language.out_var.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer": "Visualizers",
|
||||
"hex.builtin.nodes.visualizer.byte_distribution": "Byte Distribution",
|
||||
"hex.builtin.nodes.visualizer.byte_distribution.header": "Byte Distribution",
|
||||
"hex.builtin.nodes.visualizer.digram": "Digram",
|
||||
"hex.builtin.nodes.visualizer.digram.header": "Digram",
|
||||
"hex.builtin.nodes.visualizer.image": "Image",
|
||||
"hex.builtin.nodes.visualizer.image.header": "Image Visualizer",
|
||||
"hex.builtin.nodes.visualizer.image_rgba": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.image_rgba.header": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.nodes.visualizer.layered_dist": "Layered Distribution",
|
||||
"hex.builtin.nodes.visualizer.layered_dist.header": "Layered Distribution",
|
||||
"hex.builtin.pattern_drawer.color": "Cor",
|
||||
"hex.builtin.pattern_drawer.double_click": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.pattern_drawer.offset": "Offset",
|
||||
"hex.builtin.pattern_drawer.size": "Tamanho",
|
||||
"hex.builtin.pattern_drawer.type": "Tipo",
|
||||
"hex.builtin.pattern_drawer.value": "Valor",
|
||||
"hex.builtin.pattern_drawer.var_name": "Nome",
|
||||
"hex.builtin.popup.close_provider.desc": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.close_provider.title": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.create": "Falha ao criar um novo arquivo!",
|
||||
"hex.builtin.popup.error.file_dialog.common": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.file_dialog.portal": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.open": "Falha ao abrir o arquivo!",
|
||||
"hex.builtin.popup.error.project.load": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.popup.error.project.save": "***** MISSING TRANSLATION *****",
|
||||
"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": "***** MISSING TRANSLATION *****",
|
||||
"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.provider.disk": "Provedor de disco bruto",
|
||||
"hex.builtin.provider.disk.disk_size": "Tamanho do Disco",
|
||||
"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.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.modification": "Ultima vez modificado",
|
||||
"hex.builtin.provider.file.path": "Caminho do Arquivo",
|
||||
"hex.builtin.provider.file.size": "Tamanho",
|
||||
"hex.builtin.provider.gdb": "GDB Server Provider",
|
||||
"hex.builtin.provider.gdb.ip": "Endereço de IP",
|
||||
"hex.builtin.provider.gdb.name": "GDB Server <{0}:{1}>",
|
||||
"hex.builtin.provider.gdb.port": "Porta",
|
||||
"hex.builtin.provider.gdb.server": "Servidor",
|
||||
"hex.builtin.provider.intel_hex": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.intel_hex.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.mem_file": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.mem_file.unsaved": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.motorola_srec": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.motorola_srec.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.provider.view": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.folders": "Pastas",
|
||||
"hex.builtin.setting.folders.add_folder": "Adicionar nova pasta",
|
||||
"hex.builtin.setting.folders.description": "Especifique caminhos de pesquisa adicionais para padrões, scripts, regras Yara e muito mais",
|
||||
"hex.builtin.setting.folders.remove_folder": "Remover a pasta atualmente selecionada da lista",
|
||||
"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.general": "General",
|
||||
"hex.builtin.setting.general.auto_load_patterns": "Padrão compatível com carregamento automático",
|
||||
"hex.builtin.setting.general.check_for_updates": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.general.enable_unicode": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.general.show_tips": "Mostrar dicas na inicialização",
|
||||
"hex.builtin.setting.general.sync_pattern_source": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor": "Hex Editor",
|
||||
"hex.builtin.setting.hex_editor.advanced_decoding": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.ascii": "Exibir coluna ASCII",
|
||||
"hex.builtin.setting.hex_editor.byte_padding": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.bytes_per_row": "Bytes por linha",
|
||||
"hex.builtin.setting.hex_editor.char_padding": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.grey_zeros": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.highlight_color": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.sync_scrolling": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.hex_editor.uppercase_hex": "***** MISSING TRANSLATION *****",
|
||||
"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.unlocked": "Destravado",
|
||||
"hex.builtin.setting.interface.language": "Idioma",
|
||||
"hex.builtin.setting.interface.multi_windows": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.interface.scaling": "Scaling",
|
||||
"hex.builtin.setting.interface.scaling.native": "Nativo",
|
||||
"hex.builtin.setting.interface.scaling.x0_5": "x0.5",
|
||||
"hex.builtin.setting.interface.scaling.x1_0": "x1.0",
|
||||
"hex.builtin.setting.interface.scaling.x1_5": "x1.5",
|
||||
"hex.builtin.setting.interface.scaling.x2_0": "x2.0",
|
||||
"hex.builtin.setting.interface.scaling.x3_0": "x3.0",
|
||||
"hex.builtin.setting.interface.scaling.x4_0": "x4.0",
|
||||
"hex.builtin.setting.interface.wiki_explain_language": "Idioma do Wikipedia",
|
||||
"hex.builtin.setting.proxy": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.proxy.description": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.proxy.enable": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.proxy.url": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.setting.proxy.url.tooltip": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.tools.ascii_table": "ASCII table",
|
||||
"hex.builtin.tools.ascii_table.octal": "Mostrar octal",
|
||||
"hex.builtin.tools.base_converter": "Base converter",
|
||||
"hex.builtin.tools.base_converter.bin": "BIN",
|
||||
"hex.builtin.tools.base_converter.dec": "DEC",
|
||||
"hex.builtin.tools.base_converter.hex": "HEX",
|
||||
"hex.builtin.tools.base_converter.oct": "OCT",
|
||||
"hex.builtin.tools.calc": "Calculadora",
|
||||
"hex.builtin.tools.color": "Color picker",
|
||||
"hex.builtin.tools.demangler": "LLVM Demangler",
|
||||
"hex.builtin.tools.demangler.demangled": "Demangled name",
|
||||
"hex.builtin.tools.demangler.mangled": "Mangled name",
|
||||
"hex.builtin.tools.error": "Last error: '{0}'",
|
||||
"hex.builtin.tools.file_tools": "Ferramentas de Arquivo",
|
||||
"hex.builtin.tools.file_tools.combiner": "Combinador",
|
||||
"hex.builtin.tools.file_tools.combiner.add": "Adicionar...",
|
||||
"hex.builtin.tools.file_tools.combiner.add.picker": "Adicionar Arquivo",
|
||||
"hex.builtin.tools.file_tools.combiner.clear": "Limpar",
|
||||
"hex.builtin.tools.file_tools.combiner.combine": "Combinar",
|
||||
"hex.builtin.tools.file_tools.combiner.combining": "Combinando...",
|
||||
"hex.builtin.tools.file_tools.combiner.delete": "Apagar",
|
||||
"hex.builtin.tools.file_tools.combiner.error.open_output": "Falha ao criar um Arquivo de saída",
|
||||
"hex.builtin.tools.file_tools.combiner.open_input": "Falha ao abrir o Arquivo de saída {0}",
|
||||
"hex.builtin.tools.file_tools.combiner.output": "Arquivo de saída",
|
||||
"hex.builtin.tools.file_tools.combiner.output.picker": "Definir caminho base de saída",
|
||||
"hex.builtin.tools.file_tools.combiner.success": "Arquivos combinados com sucesso!",
|
||||
"hex.builtin.tools.file_tools.shredder": "Triturador",
|
||||
"hex.builtin.tools.file_tools.shredder.error.open": "Falha ao abrir o arquivo selecionado!",
|
||||
"hex.builtin.tools.file_tools.shredder.fast": "Modo Rápido",
|
||||
"hex.builtin.tools.file_tools.shredder.input": "Arquivo para triturar ",
|
||||
"hex.builtin.tools.file_tools.shredder.picker": "Abrir arquivo para triturar",
|
||||
"hex.builtin.tools.file_tools.shredder.shred": "Triturado",
|
||||
"hex.builtin.tools.file_tools.shredder.shredding": "Triturando...",
|
||||
"hex.builtin.tools.file_tools.shredder.success": "Triturado com sucesso!",
|
||||
"hex.builtin.tools.file_tools.shredder.warning": "Esta ferramenta destrói IRRECUPERAVELMENTE um arquivo. Use com cuidado",
|
||||
"hex.builtin.tools.file_tools.splitter": "Divisor",
|
||||
"hex.builtin.tools.file_tools.splitter.input": "Arquivo para dividir ",
|
||||
"hex.builtin.tools.file_tools.splitter.output": "Caminho de Saída ",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.create": "Falha ao criar arquivo de peça {0}",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.open": "Falha ao abrir o arquivo selecionado!",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.error.size": "O arquivo é menor que o tamanho da peça",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.input": "Abrir arquivo para dividir",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.output": "Definir caminho base",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.split": "Dividir",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.splitting": "Dividindo...",
|
||||
"hex.builtin.tools.file_tools.splitter.picker.success": "Arquivo dividido com sucesso!",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.3_5_floppy": "3½\" Floppy disk (1400KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.5_75_floppy": "5¼\" Floppy disk (1200KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom650": "CD-ROM (650MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom700": "CD-ROM (700MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.custom": "Customizado",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.fat32": "FAT32 (4GiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip100": "Zip 100 Disk (100MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip200": "Zip 200 Disk (200MiB)",
|
||||
"hex.builtin.tools.file_uploader": "Carregador de Arquivo",
|
||||
"hex.builtin.tools.file_uploader.control": "Controle",
|
||||
"hex.builtin.tools.file_uploader.done": "Feito!",
|
||||
"hex.builtin.tools.file_uploader.error": "Failed to upload file!\n\nError Code: {0}",
|
||||
"hex.builtin.tools.file_uploader.invalid_response": "Invalid response from Anonfiles!",
|
||||
"hex.builtin.tools.file_uploader.recent": "Recent Uploads",
|
||||
"hex.builtin.tools.file_uploader.tooltip": "Clique para copiar\nCTRL + Click para abrir",
|
||||
"hex.builtin.tools.file_uploader.upload": "Enviar",
|
||||
"hex.builtin.tools.format.engineering": "Engineering",
|
||||
"hex.builtin.tools.format.programmer": "Programmer",
|
||||
"hex.builtin.tools.format.scientific": "Scientific",
|
||||
"hex.builtin.tools.format.standard": "Standard",
|
||||
"hex.builtin.tools.history": "History",
|
||||
"hex.builtin.tools.ieee756": "IEEE 756 Floating Point Tester",
|
||||
"hex.builtin.tools.ieee756.double_precision": "Double Precision",
|
||||
"hex.builtin.tools.ieee756.exponent": "Exponent",
|
||||
"hex.builtin.tools.ieee756.exponent_size": "Exponent Size",
|
||||
"hex.builtin.tools.ieee756.formula": "Formula",
|
||||
"hex.builtin.tools.ieee756.half_precision": "Half Precision",
|
||||
"hex.builtin.tools.ieee756.mantissa": "Mantissa",
|
||||
"hex.builtin.tools.ieee756.mantissa_size": "Mantissa Size",
|
||||
"hex.builtin.tools.ieee756.result.float": "Resultado de ponto flutuante",
|
||||
"hex.builtin.tools.ieee756.result.hex": "Resultado Hexadecimal",
|
||||
"hex.builtin.tools.ieee756.result.title": "Resultado",
|
||||
"hex.builtin.tools.ieee756.sign": "Sign",
|
||||
"hex.builtin.tools.ieee756.singe_precision": "Single Precision",
|
||||
"hex.builtin.tools.ieee756.type": "Tipo",
|
||||
"hex.builtin.tools.input": "Input",
|
||||
"hex.builtin.tools.name": "Nome",
|
||||
"hex.builtin.tools.permissions": "Calculadora de Permissões UNIX",
|
||||
"hex.builtin.tools.permissions.absolute": "Absolute Notation",
|
||||
"hex.builtin.tools.permissions.perm_bits": "Permission bits",
|
||||
"hex.builtin.tools.permissions.setgid_error": "O grupo deve ter direitos de execução para que o bit setgid seja aplicado!",
|
||||
"hex.builtin.tools.permissions.setuid_error": "O usuário deve ter direitos de execução para que o bit setuid seja aplicado!",
|
||||
"hex.builtin.tools.permissions.sticky_error": "Outros devem ter direitos de execução para que o sticky bit seja aplicado!",
|
||||
"hex.builtin.tools.regex_replacer": "Regex replacer",
|
||||
"hex.builtin.tools.regex_replacer.input": "Entrada",
|
||||
"hex.builtin.tools.regex_replacer.output": "Saida",
|
||||
"hex.builtin.tools.regex_replacer.pattern": "Regex pattern",
|
||||
"hex.builtin.tools.regex_replacer.replace": "Replace pattern",
|
||||
"hex.builtin.tools.value": "Valor",
|
||||
"hex.builtin.tools.wiki_explain": "Definições de termos da Wikipédia",
|
||||
"hex.builtin.tools.wiki_explain.control": "Control",
|
||||
"hex.builtin.tools.wiki_explain.invalid_response": "Resposta inválida da Wikipedia!",
|
||||
"hex.builtin.tools.wiki_explain.results": "Resultados",
|
||||
"hex.builtin.tools.wiki_explain.search": "Procurar",
|
||||
"hex.builtin.view.bookmarks.address": "0x{0:X} : 0x{1:X} ({2} bytes)",
|
||||
"hex.builtin.view.bookmarks.button.jump": "Pular para",
|
||||
"hex.builtin.view.bookmarks.button.remove": "Remover",
|
||||
"hex.builtin.view.bookmarks.default_title": "Favorito [0x{0:X} - 0x{1:X}]",
|
||||
"hex.builtin.view.bookmarks.header.color": "Cor",
|
||||
"hex.builtin.view.bookmarks.header.comment": "Comentar",
|
||||
"hex.builtin.view.bookmarks.header.name": "Nome",
|
||||
"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.command_palette.name": "Paleta de Comandos",
|
||||
"hex.builtin.view.constants.name": "Constantes",
|
||||
"hex.builtin.view.constants.row.category": "Categoria",
|
||||
"hex.builtin.view.constants.row.desc": "Descrição",
|
||||
"hex.builtin.view.constants.row.name": "Nome",
|
||||
"hex.builtin.view.constants.row.value": "Valor",
|
||||
"hex.builtin.view.data_inspector.invert": "Inverter",
|
||||
"hex.builtin.view.data_inspector.name": "Inspecionador de Dados",
|
||||
"hex.builtin.view.data_inspector.no_data": "Nenhum Byte Selecionado",
|
||||
"hex.builtin.view.data_inspector.table.name": "Nome",
|
||||
"hex.builtin.view.data_inspector.table.value": "Valor",
|
||||
"hex.builtin.view.data_processor.help_text": "Botão direito para adicionar um novo Node",
|
||||
"hex.builtin.view.data_processor.menu.file.load_processor": "Load data processor...",
|
||||
"hex.builtin.view.data_processor.menu.file.save_processor": "Save data processor...",
|
||||
"hex.builtin.view.data_processor.menu.remove_link": "Remover Link",
|
||||
"hex.builtin.view.data_processor.menu.remove_node": "Remover Node",
|
||||
"hex.builtin.view.data_processor.menu.remove_selection": "Remover Selecionado",
|
||||
"hex.builtin.view.data_processor.name": "Data Processor",
|
||||
"hex.builtin.view.diff.name": "Diferenciando",
|
||||
"hex.builtin.view.disassembler.16bit": "16-bit",
|
||||
"hex.builtin.view.disassembler.32bit": "32-bit",
|
||||
"hex.builtin.view.disassembler.64bit": "64-bit",
|
||||
"hex.builtin.view.disassembler.arch": "Arquitetura",
|
||||
"hex.builtin.view.disassembler.arm.arm": "ARM",
|
||||
"hex.builtin.view.disassembler.arm.armv8": "ARMv8",
|
||||
"hex.builtin.view.disassembler.arm.cortex_m": "Cortex-M",
|
||||
"hex.builtin.view.disassembler.arm.default": "Default",
|
||||
"hex.builtin.view.disassembler.arm.thumb": "Thumb",
|
||||
"hex.builtin.view.disassembler.base": "Endereço base",
|
||||
"hex.builtin.view.disassembler.bpf.classic": "Classico",
|
||||
"hex.builtin.view.disassembler.bpf.extended": "Extendido",
|
||||
"hex.builtin.view.disassembler.disassemble": "Desmontar",
|
||||
"hex.builtin.view.disassembler.disassembling": "Desmontando...",
|
||||
"hex.builtin.view.disassembler.disassembly.address": "Address",
|
||||
"hex.builtin.view.disassembler.disassembly.bytes": "Byte",
|
||||
"hex.builtin.view.disassembler.disassembly.offset": "Offset",
|
||||
"hex.builtin.view.disassembler.disassembly.title": "Disassembly",
|
||||
"hex.builtin.view.disassembler.m680x.6301": "6301",
|
||||
"hex.builtin.view.disassembler.m680x.6309": "6309",
|
||||
"hex.builtin.view.disassembler.m680x.6800": "6800",
|
||||
"hex.builtin.view.disassembler.m680x.6801": "6801",
|
||||
"hex.builtin.view.disassembler.m680x.6805": "6805",
|
||||
"hex.builtin.view.disassembler.m680x.6808": "6808",
|
||||
"hex.builtin.view.disassembler.m680x.6809": "6809",
|
||||
"hex.builtin.view.disassembler.m680x.6811": "6811",
|
||||
"hex.builtin.view.disassembler.m680x.cpu12": "CPU12",
|
||||
"hex.builtin.view.disassembler.m680x.hcs08": "HCS08",
|
||||
"hex.builtin.view.disassembler.m68k.000": "000",
|
||||
"hex.builtin.view.disassembler.m68k.010": "010",
|
||||
"hex.builtin.view.disassembler.m68k.020": "020",
|
||||
"hex.builtin.view.disassembler.m68k.030": "030",
|
||||
"hex.builtin.view.disassembler.m68k.040": "040",
|
||||
"hex.builtin.view.disassembler.m68k.060": "060",
|
||||
"hex.builtin.view.disassembler.mips.micro": "Micro",
|
||||
"hex.builtin.view.disassembler.mips.mips2": "MIPS II",
|
||||
"hex.builtin.view.disassembler.mips.mips3": "MIPS III",
|
||||
"hex.builtin.view.disassembler.mips.mips32": "MIPS32",
|
||||
"hex.builtin.view.disassembler.mips.mips32R6": "MIPS32R6",
|
||||
"hex.builtin.view.disassembler.mips.mips64": "MIPS64",
|
||||
"hex.builtin.view.disassembler.mos65xx.6502": "6502",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816": "65816",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_m": "65816 Long M",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_mx": "65816 Long MX",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_x": "65816 Long X",
|
||||
"hex.builtin.view.disassembler.mos65xx.65c02": "65C02",
|
||||
"hex.builtin.view.disassembler.mos65xx.w65c02": "W65C02",
|
||||
"hex.builtin.view.disassembler.name": "Desmontador",
|
||||
"hex.builtin.view.disassembler.position": "Posição",
|
||||
"hex.builtin.view.disassembler.ppc.booke": "Book-E",
|
||||
"hex.builtin.view.disassembler.ppc.qpx": "Quad Processing Extensions",
|
||||
"hex.builtin.view.disassembler.ppc.spe": "Signal Processing Engine",
|
||||
"hex.builtin.view.disassembler.region": "Região do código",
|
||||
"hex.builtin.view.disassembler.riscv.compressed": "Compressed",
|
||||
"hex.builtin.view.disassembler.settings.header": "Configurações",
|
||||
"hex.builtin.view.disassembler.settings.mode": "Modo",
|
||||
"hex.builtin.view.disassembler.sparc.v9": "Sparc V9",
|
||||
"hex.builtin.view.find.binary_pattern": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.context.copy": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.context.copy_demangle": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.demangled": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.name": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.regex": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.regex.full_match": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.regex.pattern": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.search": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.search.entries": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.search.reset": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.searching": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.sequences": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.chars": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.line_feeds": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.lower_case": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.match_settings": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.min_length": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.null_term": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.numbers": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.spaces": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.symbols": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.underscores": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.strings.upper_case": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.value": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.value.max": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.find.value.min": "***** MISSING TRANSLATION *****",
|
||||
"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.",
|
||||
"hex.builtin.view.hashes.name": "Hashes",
|
||||
"hex.builtin.view.hashes.no_settings": "Nenhuma configuração disponivel",
|
||||
"hex.builtin.view.hashes.remove": "Remover hash",
|
||||
"hex.builtin.view.hashes.table.name": "Nome",
|
||||
"hex.builtin.view.hashes.table.result": "Resultado",
|
||||
"hex.builtin.view.hashes.table.type": "Tipo",
|
||||
"hex.builtin.view.help.about.contributor": "Contribuidores",
|
||||
"hex.builtin.view.help.about.donations": "Doações",
|
||||
"hex.builtin.view.help.about.libs": "Bibliotecas usadas",
|
||||
"hex.builtin.view.help.about.license": "Licença",
|
||||
"hex.builtin.view.help.about.name": "Sobre",
|
||||
"hex.builtin.view.help.about.paths": "Diretórios do ImHex",
|
||||
"hex.builtin.view.help.about.source": "Código Fonte disponível no GitHub:",
|
||||
"hex.builtin.view.help.about.thanks": "Se você gosta do meu trabalho, considere doar para manter o projeto em andamento. Muito obrigado <3",
|
||||
"hex.builtin.view.help.about.translator": "Traduzido por Douglas Vianna",
|
||||
"hex.builtin.view.help.calc_cheat_sheet": "Calculator Cheat Sheet",
|
||||
"hex.builtin.view.help.documentation": "Documentação do ImHex",
|
||||
"hex.builtin.view.help.name": "Ajuda",
|
||||
"hex.builtin.view.help.pattern_cheat_sheet": "Pattern Language Cheat Sheet",
|
||||
"hex.builtin.view.hex_editor.copy.address": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.copy.ascii": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.copy.base64": "Base64",
|
||||
"hex.builtin.view.hex_editor.copy.c": "C Array",
|
||||
"hex.builtin.view.hex_editor.copy.cpp": "C++ Array",
|
||||
"hex.builtin.view.hex_editor.copy.crystal": "Crystal Array",
|
||||
"hex.builtin.view.hex_editor.copy.csharp": "C# Array",
|
||||
"hex.builtin.view.hex_editor.copy.go": "Go Array",
|
||||
"hex.builtin.view.hex_editor.copy.hex": "String",
|
||||
"hex.builtin.view.hex_editor.copy.html": "HTML",
|
||||
"hex.builtin.view.hex_editor.copy.java": "Java Array",
|
||||
"hex.builtin.view.hex_editor.copy.js": "JavaScript Array",
|
||||
"hex.builtin.view.hex_editor.copy.lua": "Lua Array",
|
||||
"hex.builtin.view.hex_editor.copy.pascal": "Pascal Array",
|
||||
"hex.builtin.view.hex_editor.copy.python": "Python Array",
|
||||
"hex.builtin.view.hex_editor.copy.rust": "Rust Array",
|
||||
"hex.builtin.view.hex_editor.copy.swift": "Swift Array",
|
||||
"hex.builtin.view.hex_editor.goto.offset.absolute": "Absoluto",
|
||||
"hex.builtin.view.hex_editor.goto.offset.begin": "Começo",
|
||||
"hex.builtin.view.hex_editor.goto.offset.end": "Fim",
|
||||
"hex.builtin.view.hex_editor.goto.offset.relative": "Relativo",
|
||||
"hex.builtin.view.hex_editor.menu.edit.copy": "Copiar",
|
||||
"hex.builtin.view.hex_editor.menu.edit.copy_as": "Copiar como...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.insert": "Inserir...",
|
||||
"hex.builtin.view.hex_editor.menu.edit.jump_to": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.open_in_new_provider": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste": "Colar",
|
||||
"hex.builtin.view.hex_editor.menu.edit.paste_all": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.menu.edit.remove": "***** MISSING TRANSLATION *****",
|
||||
"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.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",
|
||||
"hex.builtin.view.hex_editor.menu.file.save_as": "Salvar como...",
|
||||
"hex.builtin.view.hex_editor.menu.file.search": "Procurar",
|
||||
"hex.builtin.view.hex_editor.menu.file.select": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.name": "Editor Hex",
|
||||
"hex.builtin.view.hex_editor.search.find": "Buscar",
|
||||
"hex.builtin.view.hex_editor.search.hex": "Hex",
|
||||
"hex.builtin.view.hex_editor.search.string": "String",
|
||||
"hex.builtin.view.hex_editor.select.offset.begin": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.offset.end": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.offset.region": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.offset.size": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.hex_editor.select.select": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.information.analyze": "Analisar Pagina",
|
||||
"hex.builtin.view.information.analyzing": "Analizando...",
|
||||
"hex.builtin.view.information.block_size": "Block size",
|
||||
"hex.builtin.view.information.block_size.desc": "{0} blocks of {1} bytes",
|
||||
"hex.builtin.view.information.control": "Controle",
|
||||
"hex.builtin.view.information.description": "Descrição:",
|
||||
"hex.builtin.view.information.distribution": "Byte distribution",
|
||||
"hex.builtin.view.information.encrypted": "Esses dados provavelmente estão criptografados ou compactados!",
|
||||
"hex.builtin.view.information.entropy": "Entropy",
|
||||
"hex.builtin.view.information.file_entropy": "File entropy",
|
||||
"hex.builtin.view.information.highest_entropy": "Highest entropy block",
|
||||
"hex.builtin.view.information.info_analysis": "Análise de Informações",
|
||||
"hex.builtin.view.information.magic": "Informação Mágica",
|
||||
"hex.builtin.view.information.magic_db_added": "Magic database added!",
|
||||
"hex.builtin.view.information.mime": "MIME Type:",
|
||||
"hex.builtin.view.information.name": "Data Information",
|
||||
"hex.builtin.view.information.region": "Região analizada",
|
||||
"hex.builtin.view.patches.name": "Patches",
|
||||
"hex.builtin.view.patches.offset": "Desvio",
|
||||
"hex.builtin.view.patches.orig": "Valor Original",
|
||||
"hex.builtin.view.patches.patch": "Valor Atualizado",
|
||||
"hex.builtin.view.patches.remove": "Remover Atualização",
|
||||
"hex.builtin.view.pattern_data.name": "Padrão de Dados",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern": "Aceitar padrão",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.desc": "Um ou mais padrão_linguagem compatível com este tipo de dados foi encontrado",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.pattern_language": "Padrões",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.question": "Deseja aplicar o padrão selecionado?",
|
||||
"hex.builtin.view.pattern_editor.auto": "Auto Avaliar",
|
||||
"hex.builtin.view.pattern_editor.console": "Console",
|
||||
"hex.builtin.view.pattern_editor.dangerous_function.desc": "Este padrão tentou chamar uma função perigosa.\nTem certeza de que deseja confiar neste padrão?",
|
||||
"hex.builtin.view.pattern_editor.dangerous_function.name": "Permitir função perigosa?",
|
||||
"hex.builtin.view.pattern_editor.env_vars": "Variáveis de Ambiente",
|
||||
"hex.builtin.view.pattern_editor.evaluating": "Avaliando...",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.array": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.builtin.single": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.edit.place_pattern.custom": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.menu.file.load_pattern": "Carregando padrão...",
|
||||
"hex.builtin.view.pattern_editor.menu.file.save_pattern": "Salvando padrão...",
|
||||
"hex.builtin.view.pattern_editor.name": "Editor de padrões",
|
||||
"hex.builtin.view.pattern_editor.no_in_out_vars": "Defina algumas variáveis globais com o especificador 'in' ou 'out' para que elas apareçam aqui.",
|
||||
"hex.builtin.view.pattern_editor.open_pattern": "Abrir padrão",
|
||||
"hex.builtin.view.pattern_editor.section_popup": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.sections": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.pattern_editor.settings": "Configurações",
|
||||
"hex.builtin.view.provider_settings.load_error": "***** MISSING TRANSLATION *****",
|
||||
"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",
|
||||
"hex.builtin.view.settings.restart_question": "Uma alteração que você fez requer uma reinicialização do ImHex para entrar em vigor. Deseja reiniciar agora?",
|
||||
"hex.builtin.view.store.desc": "Baixe novos conteúdos do banco de dados online da ImHex",
|
||||
"hex.builtin.view.store.download": "Baixar",
|
||||
"hex.builtin.view.store.download_error": "Falha ao baixar o arquivo! A pasta de destino não existe.",
|
||||
"hex.builtin.view.store.loading": "Carregando conteúdo da loja...",
|
||||
"hex.builtin.view.store.name": "Loja de Conteúdo",
|
||||
"hex.builtin.view.store.netfailed": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.store.reload": "Recarregar",
|
||||
"hex.builtin.view.store.remove": "Remover",
|
||||
"hex.builtin.view.store.row.description": "Descrição",
|
||||
"hex.builtin.view.store.row.name": "Nome",
|
||||
"hex.builtin.view.store.tab.constants": "Constantes",
|
||||
"hex.builtin.view.store.tab.encodings": "Codificações",
|
||||
"hex.builtin.view.store.tab.libraries": "Bibliotecas",
|
||||
"hex.builtin.view.store.tab.magics": "Arquivos Mágicos",
|
||||
"hex.builtin.view.store.tab.patterns": "Padrões",
|
||||
"hex.builtin.view.store.tab.yara": "Regras Yara",
|
||||
"hex.builtin.view.store.update": "Atualizar",
|
||||
"hex.builtin.view.tools.name": "Ferramentas",
|
||||
"hex.builtin.view.yara.error": "Erro do compilador Yara: ",
|
||||
"hex.builtin.view.yara.header.matches": "Combinações",
|
||||
"hex.builtin.view.yara.header.rules": "Regras",
|
||||
"hex.builtin.view.yara.match": "Combinar Regras",
|
||||
"hex.builtin.view.yara.matches.identifier": "Identificador",
|
||||
"hex.builtin.view.yara.matches.variable": "Variável",
|
||||
"hex.builtin.view.yara.matching": "Combinando...",
|
||||
"hex.builtin.view.yara.name": "Regras Yara",
|
||||
"hex.builtin.view.yara.no_rules": "Nenhuma regra YARA encontrada. Coloque-os na pasta 'yara' do ImHex",
|
||||
"hex.builtin.view.yara.reload": "Recarregar",
|
||||
"hex.builtin.view.yara.reset": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.view.yara.rule_added": "Regra Yara Adicionada!",
|
||||
"hex.builtin.view.yara.whole_data": "O arquivo inteiro corresponde!",
|
||||
"hex.builtin.visualizer.decimal.signed.16bit": "Decimal Signed (16 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.32bit": "Decimal Signed (32 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.64bit": "Decimal Signed (64 bits)",
|
||||
"hex.builtin.visualizer.decimal.signed.8bit": "Decimal Signed (8 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.16bit": "Decimal Unsigned (16 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.32bit": "Decimal Unsigned (32 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.64bit": "Decimal Unsigned (64 bits)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.8bit": "Decimal Unsigned (8 bits)",
|
||||
"hex.builtin.visualizer.floating_point.16bit": "Floating Point (16 bits)",
|
||||
"hex.builtin.visualizer.floating_point.32bit": "Floating Point (32 bits)",
|
||||
"hex.builtin.visualizer.floating_point.64bit": "Floating Point (64 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.16bit": "Hexadecimal (16 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.32bit": "Hexadecimal (32 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.64bit": "Hexadecimal (64 bits)",
|
||||
"hex.builtin.visualizer.hexadecimal.8bit": "Hexadecimal (8 bits)",
|
||||
"hex.builtin.visualizer.hexii": "HexII",
|
||||
"hex.builtin.visualizer.rgba8": "RGBA8 Color",
|
||||
"hex.builtin.welcome.check_for_updates_text": "***** MISSING TRANSLATION *****",
|
||||
"hex.builtin.welcome.customize.settings.desc": "Mudar preferencias do ImHex",
|
||||
"hex.builtin.welcome.customize.settings.title": "Configurações",
|
||||
"hex.builtin.welcome.header.customize": "Customizar",
|
||||
"hex.builtin.welcome.header.help": "Ajuda",
|
||||
"hex.builtin.welcome.header.learn": "Aprender",
|
||||
"hex.builtin.welcome.header.main": "Bem-vindo ao ImHex",
|
||||
"hex.builtin.welcome.header.plugins": "Plugins Carregados",
|
||||
"hex.builtin.welcome.header.start": "Iniciar",
|
||||
"hex.builtin.welcome.header.update": "Atualizações",
|
||||
"hex.builtin.welcome.header.various": "Vários",
|
||||
"hex.builtin.welcome.help.discord": "Servidor do Discord",
|
||||
"hex.builtin.welcome.help.discord.link": "https://imhex.werwolv.net/discord",
|
||||
"hex.builtin.welcome.help.gethelp": "Obter Ajuda",
|
||||
"hex.builtin.welcome.help.gethelp.link": "https://github.com/WerWolv/ImHex/discussions/categories/get-help",
|
||||
"hex.builtin.welcome.help.repo": "Repositório do GitHub",
|
||||
"hex.builtin.welcome.help.repo.link": "https://imhex.werwolv.net/git",
|
||||
"hex.builtin.welcome.learn.latest.desc": "Leia o changelog atual do ImHex",
|
||||
"hex.builtin.welcome.learn.latest.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.learn.latest.title": "Último lançamento",
|
||||
"hex.builtin.welcome.learn.pattern.desc": "Aprenda a escrever padrões ImHex com nossa extensa documentação",
|
||||
"hex.builtin.welcome.learn.pattern.link": "https://imhex.werwolv.net/docs",
|
||||
"hex.builtin.welcome.learn.pattern.title": "Documentação da linguagem padrão",
|
||||
"hex.builtin.welcome.learn.plugins.desc": "Estenda o ImHex com recursos adicionais usando plugins",
|
||||
"hex.builtin.welcome.learn.plugins.link": "https://github.com/WerWolv/ImHex/wiki/Plugins-Development-Guide",
|
||||
"hex.builtin.welcome.learn.plugins.title": "Plugins API",
|
||||
"hex.builtin.welcome.plugins.author": "Autor",
|
||||
"hex.builtin.welcome.plugins.desc": "Descrição",
|
||||
"hex.builtin.welcome.plugins.plugin": "Plugin",
|
||||
"hex.builtin.welcome.safety_backup.delete": "Não, Apagar",
|
||||
"hex.builtin.welcome.safety_backup.desc": "Ah não, ImHex crashou na ultima vez.\nDeseja restaurar seu trabalho anterior?",
|
||||
"hex.builtin.welcome.safety_backup.restore": "Yes, Restaurar",
|
||||
"hex.builtin.welcome.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",
|
||||
"hex.builtin.welcome.start.open_project": "Abrir Projeto",
|
||||
"hex.builtin.welcome.start.recent": "Arquivos Recentes",
|
||||
"hex.builtin.welcome.tip_of_the_day": "Dica do Dia",
|
||||
"hex.builtin.welcome.update.desc": "ImHex {0} acabou de lançar! Baixe aqui.",
|
||||
"hex.builtin.welcome.update.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.update.title": "Nova atualização disponivel!"
|
||||
}
|
||||
}
|
||||
816
plugins/builtin/romfs/lang/zh_CN.json
Normal file
816
plugins/builtin/romfs/lang/zh_CN.json
Normal file
@@ -0,0 +1,816 @@
|
||||
{
|
||||
"code": "zh-CN",
|
||||
"country": "China",
|
||||
"language": "Chinese (Simplified)",
|
||||
"translations": {
|
||||
"hex.builtin.command.calc.desc": "计算器",
|
||||
"hex.builtin.command.cmd.desc": "指令",
|
||||
"hex.builtin.command.cmd.result": "运行指令 '{0}'",
|
||||
"hex.builtin.command.web.desc": "网站解析",
|
||||
"hex.builtin.command.web.result": "导航到 '{0}'",
|
||||
"hex.builtin.common.address": "地址",
|
||||
"hex.builtin.common.big": "大",
|
||||
"hex.builtin.common.big_endian": "大端序",
|
||||
"hex.builtin.common.browse": "浏览...",
|
||||
"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": "ASCII",
|
||||
"hex.builtin.common.encoding.utf16be": "UTF-16BE",
|
||||
"hex.builtin.common.encoding.utf16le": "UTF-16LE",
|
||||
"hex.builtin.common.encoding.utf8": "UTF-8",
|
||||
"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.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.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": "float",
|
||||
"hex.builtin.common.type.f64": "double",
|
||||
"hex.builtin.common.type.i16": "int16_t",
|
||||
"hex.builtin.common.type.i24": "int24_t",
|
||||
"hex.builtin.common.type.i32": "int32_t",
|
||||
"hex.builtin.common.type.i48": "int48_t",
|
||||
"hex.builtin.common.type.i64": "int64_t",
|
||||
"hex.builtin.common.type.i8": "int8_t",
|
||||
"hex.builtin.common.type.u16": "uint16_t",
|
||||
"hex.builtin.common.type.u24": "uint24_t",
|
||||
"hex.builtin.common.type.u32": "uint32_t",
|
||||
"hex.builtin.common.type.u48": "uint48_t",
|
||||
"hex.builtin.common.type.u64": "uint64_t",
|
||||
"hex.builtin.common.type.u8": "uint8_t",
|
||||
"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": "CRC16",
|
||||
"hex.builtin.hash.crc32": "CRC32",
|
||||
"hex.builtin.hash.crc8": "CRC8",
|
||||
"hex.builtin.hash.md5": "MD5",
|
||||
"hex.builtin.hash.sha1": "SHA1",
|
||||
"hex.builtin.hash.sha224": "SHA224",
|
||||
"hex.builtin.hash.sha256": "SHA256",
|
||||
"hex.builtin.hash.sha384": "SHA384",
|
||||
"hex.builtin.hash.sha512": "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": "ASCII 字符",
|
||||
"hex.builtin.inspector.binary": "二进制(8 位)",
|
||||
"hex.builtin.inspector.bool": "bool",
|
||||
"hex.builtin.inspector.dos_date": "DOS 日期",
|
||||
"hex.builtin.inspector.dos_time": "DOS 时间",
|
||||
"hex.builtin.inspector.double": "double(64 位)",
|
||||
"hex.builtin.inspector.float": "float(32 位)",
|
||||
"hex.builtin.inspector.float16": "half float(16 位)",
|
||||
"hex.builtin.inspector.guid": "GUID",
|
||||
"hex.builtin.inspector.i16": "int16_t",
|
||||
"hex.builtin.inspector.i24": "int24_t",
|
||||
"hex.builtin.inspector.i32": "int32_t",
|
||||
"hex.builtin.inspector.i48": "int48_t",
|
||||
"hex.builtin.inspector.i64": "int64_t",
|
||||
"hex.builtin.inspector.i8": "int8_t",
|
||||
"hex.builtin.inspector.long_double": "long double(128 位)",
|
||||
"hex.builtin.inspector.rgb565": "RGB565 颜色",
|
||||
"hex.builtin.inspector.rgba8": "RGBA8 颜色",
|
||||
"hex.builtin.inspector.sleb128": "有符号LEB128",
|
||||
"hex.builtin.inspector.string": "字符串",
|
||||
"hex.builtin.inspector.string16": "宽字符串",
|
||||
"hex.builtin.inspector.time": "time_t",
|
||||
"hex.builtin.inspector.time32": "time32_t",
|
||||
"hex.builtin.inspector.time64": "time64_t",
|
||||
"hex.builtin.inspector.u16": "uint16_t",
|
||||
"hex.builtin.inspector.u24": "uint24_t",
|
||||
"hex.builtin.inspector.u32": "uint32_t",
|
||||
"hex.builtin.inspector.u48": "uint48_t",
|
||||
"hex.builtin.inspector.u64": "uint64_t",
|
||||
"hex.builtin.inspector.u8": "uint8_t",
|
||||
"hex.builtin.inspector.uleb128": "无符号LEB128",
|
||||
"hex.builtin.inspector.utf8": "UTF-8 码位",
|
||||
"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.popup.export_error": "文件不是有效的 Base64 格式!",
|
||||
"hex.builtin.menu.file.export.ips": "IPS 补丁",
|
||||
"hex.builtin.menu.file.export.ips32": "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": "Base64 文件",
|
||||
"hex.builtin.menu.file.import.base64.popup.import_error": "文件不是有效的 Base64 格式!",
|
||||
"hex.builtin.menu.file.import.base64.popup.open_error": "打开文件失败!",
|
||||
"hex.builtin.menu.file.import.ips": "IPS 补丁",
|
||||
"hex.builtin.menu.file.import.ips32": "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": "退出 ImHex",
|
||||
"hex.builtin.menu.file.reload_file": "重新加载文件",
|
||||
"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": "ImGui 演示",
|
||||
"hex.builtin.menu.view.fps": "显示 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.xor": "异或",
|
||||
"hex.builtin.nodes.bitwise.xor.header": "按位异或",
|
||||
"hex.builtin.nodes.buffer": "缓冲区",
|
||||
"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": "输入 A",
|
||||
"hex.builtin.nodes.common.input.b": "输入 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": "RGBA8 颜色",
|
||||
"hex.builtin.nodes.constants.rgba8.header": "RGBA8 颜色",
|
||||
"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": "False",
|
||||
"hex.builtin.nodes.control_flow.if.header": "如果",
|
||||
"hex.builtin.nodes.control_flow.if.true": "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": "AES 解密",
|
||||
"hex.builtin.nodes.crypto.aes.header": "AES 解密",
|
||||
"hex.builtin.nodes.crypto.aes.iv": "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": "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": "Base64",
|
||||
"hex.builtin.nodes.decoding.base64.header": "Base64 解码",
|
||||
"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.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": "RGBA8 图像",
|
||||
"hex.builtin.nodes.visualizer.image_rgba.header": "RGBA8 图像可视化",
|
||||
"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.popup.close_provider.desc": "有对此提供器做出的未保存的更改。\n你确定要关闭吗?",
|
||||
"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": "打开文件浏览器时发生了错误。这可能是由于您的系统没有正确安装 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.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.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.gdb": "GDB 服务器",
|
||||
"hex.builtin.provider.gdb.ip": "IP 地址",
|
||||
"hex.builtin.provider.gdb.name": "GDB 服务器 <{0}:{1}>",
|
||||
"hex.builtin.provider.gdb.port": "端口",
|
||||
"hex.builtin.provider.gdb.server": "服务器",
|
||||
"hex.builtin.provider.intel_hex": "Intel Hex",
|
||||
"hex.builtin.provider.intel_hex.name": "Intel Hex {0}",
|
||||
"hex.builtin.provider.mem_file": "临时文件",
|
||||
"hex.builtin.provider.mem_file.unsaved": "未保存的文件",
|
||||
"hex.builtin.provider.motorola_srec": "Motorola SREC",
|
||||
"hex.builtin.provider.motorola_srec.name": "Motorola SREC {0}",
|
||||
"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": "加载所有 Unicode 字符",
|
||||
"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.fps": "FPS 限制",
|
||||
"hex.builtin.setting.interface.fps.unlocked": "无限制",
|
||||
"hex.builtin.setting.interface.language": "语言",
|
||||
"hex.builtin.setting.interface.multi_windows": "启用多窗口支持",
|
||||
"hex.builtin.setting.interface.scaling": "缩放",
|
||||
"hex.builtin.setting.interface.scaling.native": "本地默认",
|
||||
"hex.builtin.setting.interface.scaling.x0_5": "x0.5",
|
||||
"hex.builtin.setting.interface.scaling.x1_0": "x1.0",
|
||||
"hex.builtin.setting.interface.scaling.x1_5": "x1.5",
|
||||
"hex.builtin.setting.interface.scaling.x2_0": "x2.0",
|
||||
"hex.builtin.setting.interface.scaling.x3_0": "x3.0",
|
||||
"hex.builtin.setting.interface.scaling.x4_0": "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": "代理 URL",
|
||||
"hex.builtin.setting.proxy.url.tooltip": "http(s):// 或 socks5://(如 http://127.0.0.1:1080)",
|
||||
"hex.builtin.tools.ascii_table": "ASCII 表",
|
||||
"hex.builtin.tools.ascii_table.octal": "显示八进制",
|
||||
"hex.builtin.tools.base_converter": "基本进制转换",
|
||||
"hex.builtin.tools.base_converter.bin": "BIN",
|
||||
"hex.builtin.tools.base_converter.dec": "DEC",
|
||||
"hex.builtin.tools.base_converter.hex": "HEX",
|
||||
"hex.builtin.tools.base_converter.oct": "OCT",
|
||||
"hex.builtin.tools.calc": "计算器",
|
||||
"hex.builtin.tools.color": "颜色选择器",
|
||||
"hex.builtin.tools.demangler": "LLVM 名还原",
|
||||
"hex.builtin.tools.demangler.demangled": "还原名",
|
||||
"hex.builtin.tools.demangler.mangled": "修饰名",
|
||||
"hex.builtin.tools.error": "最后错误: '{0}'",
|
||||
"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": "打开输入文件 {0} 失败",
|
||||
"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": "创建分块文件 {0} 失败!",
|
||||
"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": "3 寸软盘(1400KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.5_75_floppy": "5 寸软盘(1200KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom650": "CD-ROM(650MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom700": "CD-ROM(700MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.custom": "自定义",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.fat32": "FAT32(4GiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip100": "Zip 100 磁盘(100MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip200": "Zip 200 磁盘(200MiB)",
|
||||
"hex.builtin.tools.file_uploader": "文件上传",
|
||||
"hex.builtin.tools.file_uploader.control": "控制",
|
||||
"hex.builtin.tools.file_uploader.done": "完成!",
|
||||
"hex.builtin.tools.file_uploader.error": "上传文件失败!\n\n错误代码:{0}",
|
||||
"hex.builtin.tools.file_uploader.invalid_response": "接收到来自 Anonfiles 的无效响应!",
|
||||
"hex.builtin.tools.file_uploader.recent": "最近上传",
|
||||
"hex.builtin.tools.file_uploader.tooltip": "点击复制\n按住 CTRL 并点击以打开",
|
||||
"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.ieee756": "IEEE 756 浮点数测试器",
|
||||
"hex.builtin.tools.ieee756.double_precision": "双精度浮点数",
|
||||
"hex.builtin.tools.ieee756.exponent": "指数",
|
||||
"hex.builtin.tools.ieee756.exponent_size": "指数位数",
|
||||
"hex.builtin.tools.ieee756.formula": "计算式",
|
||||
"hex.builtin.tools.ieee756.half_precision": "半精度浮点数",
|
||||
"hex.builtin.tools.ieee756.mantissa": "尾数",
|
||||
"hex.builtin.tools.ieee756.mantissa_size": "尾数位数",
|
||||
"hex.builtin.tools.ieee756.result.float": "十进制小数表示",
|
||||
"hex.builtin.tools.ieee756.result.hex": "十六进制小数表示",
|
||||
"hex.builtin.tools.ieee756.result.title": "结果",
|
||||
"hex.builtin.tools.ieee756.sign": "符号",
|
||||
"hex.builtin.tools.ieee756.singe_precision": "单精度浮点数",
|
||||
"hex.builtin.tools.ieee756.type": "部分",
|
||||
"hex.builtin.tools.input": "输入",
|
||||
"hex.builtin.tools.name": "名称",
|
||||
"hex.builtin.tools.permissions": "UNIX 权限计算器",
|
||||
"hex.builtin.tools.permissions.absolute": "绝对符号",
|
||||
"hex.builtin.tools.permissions.perm_bits": "权限位",
|
||||
"hex.builtin.tools.permissions.setgid_error": "组必须具有 setgid 位的执行权限才能应用!",
|
||||
"hex.builtin.tools.permissions.setuid_error": "用户必须具有 setuid 位的执行权限才能应用!",
|
||||
"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": "接收到来自 Wikipedia 的无效响应!",
|
||||
"hex.builtin.tools.wiki_explain.results": "结果",
|
||||
"hex.builtin.tools.wiki_explain.search": "搜索",
|
||||
"hex.builtin.view.bookmarks.address": "0x{0:X} : 0x{1:X} ({2} 字节)",
|
||||
"hex.builtin.view.bookmarks.button.jump": "转到",
|
||||
"hex.builtin.view.bookmarks.button.remove": "移除",
|
||||
"hex.builtin.view.bookmarks.default_title": "书签 [0x{0:X} - 0x{1:X}]",
|
||||
"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": "16 位",
|
||||
"hex.builtin.view.disassembler.32bit": "32 位",
|
||||
"hex.builtin.view.disassembler.64bit": "64 位",
|
||||
"hex.builtin.view.disassembler.arch": "架构",
|
||||
"hex.builtin.view.disassembler.arm.arm": "ARM",
|
||||
"hex.builtin.view.disassembler.arm.armv8": "ARMv8",
|
||||
"hex.builtin.view.disassembler.arm.cortex_m": "Cortex-M",
|
||||
"hex.builtin.view.disassembler.arm.default": "默认",
|
||||
"hex.builtin.view.disassembler.arm.thumb": "Thumb",
|
||||
"hex.builtin.view.disassembler.base": "基地址",
|
||||
"hex.builtin.view.disassembler.bpf.classic": "传统 BPF(cBPF)",
|
||||
"hex.builtin.view.disassembler.bpf.extended": "扩展 BPF(eBPF)",
|
||||
"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": "6301",
|
||||
"hex.builtin.view.disassembler.m680x.6309": "6309",
|
||||
"hex.builtin.view.disassembler.m680x.6800": "6800",
|
||||
"hex.builtin.view.disassembler.m680x.6801": "6801",
|
||||
"hex.builtin.view.disassembler.m680x.6805": "6805",
|
||||
"hex.builtin.view.disassembler.m680x.6808": "6808",
|
||||
"hex.builtin.view.disassembler.m680x.6809": "6809",
|
||||
"hex.builtin.view.disassembler.m680x.6811": "6811",
|
||||
"hex.builtin.view.disassembler.m680x.cpu12": "CPU12",
|
||||
"hex.builtin.view.disassembler.m680x.hcs08": "HCS08",
|
||||
"hex.builtin.view.disassembler.m68k.000": "000",
|
||||
"hex.builtin.view.disassembler.m68k.010": "010",
|
||||
"hex.builtin.view.disassembler.m68k.020": "020",
|
||||
"hex.builtin.view.disassembler.m68k.030": "030",
|
||||
"hex.builtin.view.disassembler.m68k.040": "040",
|
||||
"hex.builtin.view.disassembler.m68k.060": "060",
|
||||
"hex.builtin.view.disassembler.mips.micro": "Micro MIPS",
|
||||
"hex.builtin.view.disassembler.mips.mips2": "MIPS II",
|
||||
"hex.builtin.view.disassembler.mips.mips3": "MIPS III",
|
||||
"hex.builtin.view.disassembler.mips.mips32": "MIPS32",
|
||||
"hex.builtin.view.disassembler.mips.mips32R6": "MIPS32R6",
|
||||
"hex.builtin.view.disassembler.mips.mips64": "MIPS64",
|
||||
"hex.builtin.view.disassembler.mos65xx.6502": "6502",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816": "65816",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_m": "65816 Long M",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_mx": "65816 Long MX",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_x": "65816 Long X",
|
||||
"hex.builtin.view.disassembler.mos65xx.65c02": "65C02",
|
||||
"hex.builtin.view.disassembler.mos65xx.w65c02": "W65C02",
|
||||
"hex.builtin.view.disassembler.name": "反汇编",
|
||||
"hex.builtin.view.disassembler.position": "位置",
|
||||
"hex.builtin.view.disassembler.ppc.booke": "PowerPC Book-E",
|
||||
"hex.builtin.view.disassembler.ppc.qpx": "PowerPC 四核处理扩展(QPX)",
|
||||
"hex.builtin.view.disassembler.ppc.spe": "PowerPC 单核引擎(SPE)",
|
||||
"hex.builtin.view.disassembler.region": "代码范围",
|
||||
"hex.builtin.view.disassembler.riscv.compressed": "压缩的 RISC-V",
|
||||
"hex.builtin.view.disassembler.settings.header": "设置",
|
||||
"hex.builtin.view.disassembler.settings.mode": "模式",
|
||||
"hex.builtin.view.disassembler.sparc.v9": "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": "需要NULL终止",
|
||||
"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 编辑器的选区上,按住 SHIFT 来查看其哈希。",
|
||||
"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": "ImHex 目录",
|
||||
"hex.builtin.view.help.about.source": "源代码位于 GitHub:",
|
||||
"hex.builtin.view.help.about.thanks": "如果您喜欢我的工作,请赞助以帮助此项目继续前进。非常感谢 <3",
|
||||
"hex.builtin.view.help.about.translator": "由 xtexChooser 翻译",
|
||||
"hex.builtin.view.help.calc_cheat_sheet": "计算器帮助",
|
||||
"hex.builtin.view.help.documentation": "ImHex 文档",
|
||||
"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": "ASCII 文本",
|
||||
"hex.builtin.view.hex_editor.copy.base64": "Base64",
|
||||
"hex.builtin.view.hex_editor.copy.c": "C 数组",
|
||||
"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.go": "Go 数组",
|
||||
"hex.builtin.view.hex_editor.copy.hex": "字符串",
|
||||
"hex.builtin.view.hex_editor.copy.html": "HTML",
|
||||
"hex.builtin.view.hex_editor.copy.java": "Java 数组",
|
||||
"hex.builtin.view.hex_editor.copy.js": "JavaScript 数组",
|
||||
"hex.builtin.view.hex_editor.copy.lua": "Lua 数组",
|
||||
"hex.builtin.view.hex_editor.copy.pascal": "Pascal 数组",
|
||||
"hex.builtin.view.hex_editor.copy.python": "Python 数组",
|
||||
"hex.builtin.view.hex_editor.copy.rust": "Rust 数组",
|
||||
"hex.builtin.view.hex_editor.copy.swift": "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 编辑器",
|
||||
"hex.builtin.view.hex_editor.search.find": "查找",
|
||||
"hex.builtin.view.hex_editor.search.hex": "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": "{0} 块 × {1} 字节",
|
||||
"hex.builtin.view.information.control": "控制",
|
||||
"hex.builtin.view.information.description": "描述:",
|
||||
"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.magic": "LibMagic 信息",
|
||||
"hex.builtin.view.information.magic_db_added": "LibMagic 数据库已添加!",
|
||||
"hex.builtin.view.information.mime": "MIME 类型:",
|
||||
"hex.builtin.view.information.name": "数据信息",
|
||||
"hex.builtin.view.information.region": "已分析区域",
|
||||
"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": "此模式试图调用一个危险的函数。\n您确定要信任此模式吗?",
|
||||
"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": "使用 'in' 或 'out' 修饰符定义一些全局变量,以使它们出现在这里。",
|
||||
"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_popup": "打开提供器",
|
||||
"hex.builtin.view.provider_settings.name": "提供器设置",
|
||||
"hex.builtin.view.settings.name": "设置",
|
||||
"hex.builtin.view.settings.restart_question": "一项更改需要重启 ImHex 以生效,您想要现在重启吗?",
|
||||
"hex.builtin.view.store.desc": "从 ImHex 仓库下载新内容",
|
||||
"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.libraries": "库",
|
||||
"hex.builtin.view.store.tab.magics": "LibMagic 数据库",
|
||||
"hex.builtin.view.store.tab.patterns": "模式",
|
||||
"hex.builtin.view.store.tab.yara": "Yara 规则",
|
||||
"hex.builtin.view.store.update": "更新",
|
||||
"hex.builtin.view.tools.name": "工具",
|
||||
"hex.builtin.view.yara.error": "Yara 编译器错误: ",
|
||||
"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": "Yara 规则",
|
||||
"hex.builtin.view.yara.no_rules": "没有找到 Yara 规则。请将规则放到 ImHex 的 'yara' 目录下。",
|
||||
"hex.builtin.view.yara.reload": "重新加载",
|
||||
"hex.builtin.view.yara.reset": "重置",
|
||||
"hex.builtin.view.yara.rule_added": "Yara 规则已添加!",
|
||||
"hex.builtin.view.yara.whole_data": "全文件匹配!",
|
||||
"hex.builtin.visualizer.decimal.signed.16bit": "有符号十进制(16 位)",
|
||||
"hex.builtin.visualizer.decimal.signed.32bit": "有符号十进制(32 位)",
|
||||
"hex.builtin.visualizer.decimal.signed.64bit": "有符号十进制(64 位)",
|
||||
"hex.builtin.visualizer.decimal.signed.8bit": "有符号十进制(8 位)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.16bit": "无符号十进制(16 位)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.32bit": "无符号十进制(32 位)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.64bit": "无符号十进制(64 位)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.8bit": "无符号十进制(8 位)",
|
||||
"hex.builtin.visualizer.floating_point.16bit": "单精度浮点(16 位)",
|
||||
"hex.builtin.visualizer.floating_point.32bit": "单精度浮点(32 位)",
|
||||
"hex.builtin.visualizer.floating_point.64bit": "双精度浮点(64 位)",
|
||||
"hex.builtin.visualizer.hexadecimal.16bit": "十六进制(16 位)",
|
||||
"hex.builtin.visualizer.hexadecimal.32bit": "十六进制(32 位)",
|
||||
"hex.builtin.visualizer.hexadecimal.64bit": "十六进制(64 位)",
|
||||
"hex.builtin.visualizer.hexadecimal.8bit": "十六进制(8 位)",
|
||||
"hex.builtin.visualizer.hexii": "HexII",
|
||||
"hex.builtin.visualizer.rgba8": "RGBA8 颜色",
|
||||
"hex.builtin.welcome.check_for_updates_text": "你想要在启动时自动检查更新吗?\n 可用的更新会在欢迎屏幕的“更新”中显示",
|
||||
"hex.builtin.welcome.customize.settings.desc": "更改 ImHex 的设置",
|
||||
"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": "欢迎来到 ImHex",
|
||||
"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": "Discord 服务器",
|
||||
"hex.builtin.welcome.help.discord.link": "https://imhex.werwolv.net/discord",
|
||||
"hex.builtin.welcome.help.gethelp": "获得帮助",
|
||||
"hex.builtin.welcome.help.gethelp.link": "https://github.com/WerWolv/ImHex/discussions/categories/get-help",
|
||||
"hex.builtin.welcome.help.repo": "GitHub 仓库",
|
||||
"hex.builtin.welcome.help.repo.link": "https://imhex.werwolv.net/git",
|
||||
"hex.builtin.welcome.learn.latest.desc": "阅读 ImHex 最新版本的更改日志",
|
||||
"hex.builtin.welcome.learn.latest.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.learn.latest.title": "最新版本",
|
||||
"hex.builtin.welcome.learn.pattern.desc": "如何基于我们完善的文档编写 ImHex 模式",
|
||||
"hex.builtin.welcome.learn.pattern.link": "https://imhex.werwolv.net/docs",
|
||||
"hex.builtin.welcome.learn.pattern.title": "模式文档",
|
||||
"hex.builtin.welcome.learn.plugins.desc": "通过插件扩展 ImHex 获得更多功能",
|
||||
"hex.builtin.welcome.learn.plugins.link": "https://github.com/WerWolv/ImHex/wiki/Plugins-Development-Guide",
|
||||
"hex.builtin.welcome.learn.plugins.title": "插件 API",
|
||||
"hex.builtin.welcome.plugins.author": "作者",
|
||||
"hex.builtin.welcome.plugins.desc": "描述",
|
||||
"hex.builtin.welcome.plugins.plugin": "插件",
|
||||
"hex.builtin.welcome.safety_backup.delete": "删除",
|
||||
"hex.builtin.welcome.safety_backup.desc": "糟糕,ImHex 上次崩溃了!\n您想从异常转储中恢复之前的数据吗?",
|
||||
"hex.builtin.welcome.safety_backup.restore": "恢复",
|
||||
"hex.builtin.welcome.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": "ImHex {0} 已发布!在这里下载。",
|
||||
"hex.builtin.welcome.update.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.update.title": "新的更新可用!"
|
||||
}
|
||||
}
|
||||
817
plugins/builtin/romfs/lang/zh_TW.json
Normal file
817
plugins/builtin/romfs/lang/zh_TW.json
Normal file
@@ -0,0 +1,817 @@
|
||||
{
|
||||
"code": "zh-TW",
|
||||
"country": "Taiwan",
|
||||
"language": "Chinese (Traditional)",
|
||||
"translations": {
|
||||
"hex.builtin.command.calc.desc": "計算機",
|
||||
"hex.builtin.command.cmd.desc": "命令",
|
||||
"hex.builtin.command.cmd.result": "執行命令 '{0}'",
|
||||
"hex.builtin.command.web.desc": "網站查詢",
|
||||
"hex.builtin.command.web.result": "前往 '{0}'",
|
||||
"hex.builtin.common.address": "位址",
|
||||
"hex.builtin.common.big": "大",
|
||||
"hex.builtin.common.big_endian": "大端序",
|
||||
"hex.builtin.common.browse": "瀏覽...",
|
||||
"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": "ASCII",
|
||||
"hex.builtin.common.encoding.utf8": "UTF-8",
|
||||
"hex.builtin.common.encoding.utf16be": "UTF-16BE",
|
||||
"hex.builtin.common.encoding.utf16le": "UTF-16LE",
|
||||
"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.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.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": "float",
|
||||
"hex.builtin.common.type.f64": "double",
|
||||
"hex.builtin.common.type.i8": "int8_t",
|
||||
"hex.builtin.common.type.i16": "int16_t",
|
||||
"hex.builtin.common.type.i24": "int24_t",
|
||||
"hex.builtin.common.type.i32": "int32_t",
|
||||
"hex.builtin.common.type.i48": "int48_t",
|
||||
"hex.builtin.common.type.i64": "int64_t",
|
||||
"hex.builtin.common.type.u8": "uint8_t",
|
||||
"hex.builtin.common.type.u16": "uint16_t",
|
||||
"hex.builtin.common.type.u24": "uint24_t",
|
||||
"hex.builtin.common.type.u32": "uint32_t",
|
||||
"hex.builtin.common.type.u48": "uint48_t",
|
||||
"hex.builtin.common.type.u64": "uint64_t",
|
||||
"hex.builtin.common.value": "數值",
|
||||
"hex.builtin.common.yes": "是",
|
||||
"hex.builtin.hash.crc.iv": "初始數值",
|
||||
"hex.builtin.hash.crc.poly": "多項式",
|
||||
"hex.builtin.hash.crc.refl_in": "Reflect In",
|
||||
"hex.builtin.hash.crc.refl_out": "Reflect Out",
|
||||
"hex.builtin.hash.crc.xor_out": "XOR Out",
|
||||
"hex.builtin.hash.crc8": "CRC8",
|
||||
"hex.builtin.hash.crc16": "CRC16",
|
||||
"hex.builtin.hash.crc32": "CRC32",
|
||||
"hex.builtin.hash.md5": "MD5",
|
||||
"hex.builtin.hash.sha1": "SHA1",
|
||||
"hex.builtin.hash.sha224": "SHA224",
|
||||
"hex.builtin.hash.sha256": "SHA256",
|
||||
"hex.builtin.hash.sha384": "SHA384",
|
||||
"hex.builtin.hash.sha512": "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": "ASCII 字元",
|
||||
"hex.builtin.inspector.binary": "二進位 (8 位元)",
|
||||
"hex.builtin.inspector.bool": "bool",
|
||||
"hex.builtin.inspector.dos_date": "DOS 日期",
|
||||
"hex.builtin.inspector.dos_time": "DOS 時間",
|
||||
"hex.builtin.inspector.double": "double (64 位元)",
|
||||
"hex.builtin.inspector.float": "float (32 位元)",
|
||||
"hex.builtin.inspector.float16": "half float (16 位元)",
|
||||
"hex.builtin.inspector.guid": "GUID",
|
||||
"hex.builtin.inspector.i8": "int8_t",
|
||||
"hex.builtin.inspector.i16": "int16_t",
|
||||
"hex.builtin.inspector.i24": "int24_t",
|
||||
"hex.builtin.inspector.i32": "int32_t",
|
||||
"hex.builtin.inspector.i48": "int48_t",
|
||||
"hex.builtin.inspector.i64": "int64_t",
|
||||
"hex.builtin.inspector.long_double": "long double (128 位元)",
|
||||
"hex.builtin.inspector.rgb565": "RGB565 顏色",
|
||||
"hex.builtin.inspector.rgba8": "RGBA8 顏色",
|
||||
"hex.builtin.inspector.sleb128": "有號數 LEB128",
|
||||
"hex.builtin.inspector.string": "字串",
|
||||
"hex.builtin.inspector.string16": "寬字串",
|
||||
"hex.builtin.inspector.time": "time_t",
|
||||
"hex.builtin.inspector.time32": "time32_t",
|
||||
"hex.builtin.inspector.time64": "time64_t",
|
||||
"hex.builtin.inspector.u8": "uint8_t",
|
||||
"hex.builtin.inspector.u16": "uint16_t",
|
||||
"hex.builtin.inspector.u24": "uint24_t",
|
||||
"hex.builtin.inspector.u32": "uint32_t",
|
||||
"hex.builtin.inspector.u48": "uint48_t",
|
||||
"hex.builtin.inspector.u64": "uint64_t",
|
||||
"hex.builtin.inspector.uleb128": "無號數 LEB128",
|
||||
"hex.builtin.inspector.utf8": "UTF-8 code point",
|
||||
"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.popup.export_error": "檔案並非有效的 Base64 格式!",
|
||||
"hex.builtin.menu.file.export.ips": "IPS 修補檔案",
|
||||
"hex.builtin.menu.file.export.ips32": "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": "Base64 檔案",
|
||||
"hex.builtin.menu.file.import.base64.popup.import_error": "檔案並非有效的 Base64 格式!",
|
||||
"hex.builtin.menu.file.import.base64.popup.open_error": "無法開啟檔案!",
|
||||
"hex.builtin.menu.file.import.ips": "IPS 修補檔案",
|
||||
"hex.builtin.menu.file.import.ips32": "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": "退出 ImHex",
|
||||
"hex.builtin.menu.file.reload_file": "重新載入檔案",
|
||||
"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": "顯示 ImGui Demo",
|
||||
"hex.builtin.menu.view.fps": "顯示 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": "AND",
|
||||
"hex.builtin.nodes.bitwise.and.header": "位元 AND",
|
||||
"hex.builtin.nodes.bitwise.not": "NOT",
|
||||
"hex.builtin.nodes.bitwise.not.header": "位元 NOT",
|
||||
"hex.builtin.nodes.bitwise.or": "OR",
|
||||
"hex.builtin.nodes.bitwise.or.header": "位元 OR",
|
||||
"hex.builtin.nodes.bitwise.xor": "XOR",
|
||||
"hex.builtin.nodes.bitwise.xor.header": "位元 XOR",
|
||||
"hex.builtin.nodes.buffer": "緩衝",
|
||||
"hex.builtin.nodes.buffer.combine": "合併",
|
||||
"hex.builtin.nodes.buffer.combine.header": "合併緩衝",
|
||||
"hex.builtin.nodes.buffer.patch": "Patch",
|
||||
"hex.builtin.nodes.buffer.patch.header": "Patch",
|
||||
"hex.builtin.nodes.buffer.patch.input.patch": "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": "輸入 A",
|
||||
"hex.builtin.nodes.common.input.b": "輸入 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": "RGBA8 顏色",
|
||||
"hex.builtin.nodes.constants.rgba8.header": "RGBA8 顏色",
|
||||
"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": "AND",
|
||||
"hex.builtin.nodes.control_flow.and.header": "布林 AND",
|
||||
"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": "False",
|
||||
"hex.builtin.nodes.control_flow.if.header": "如果",
|
||||
"hex.builtin.nodes.control_flow.if.true": "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": "OR",
|
||||
"hex.builtin.nodes.control_flow.or.header": "布林 OR",
|
||||
"hex.builtin.nodes.crypto": "加密",
|
||||
"hex.builtin.nodes.crypto.aes": "AES 解碼工具",
|
||||
"hex.builtin.nodes.crypto.aes.header": "AES 解碼工具",
|
||||
"hex.builtin.nodes.crypto.aes.iv": "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": "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": "Selected Region",
|
||||
"hex.builtin.nodes.data_access.selection.address": "位址",
|
||||
"hex.builtin.nodes.data_access.selection.header": "Selected Region",
|
||||
"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": "Base64",
|
||||
"hex.builtin.nodes.decoding.base64.header": "Base64 解碼工具",
|
||||
"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.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": "Pattern Language",
|
||||
"hex.builtin.nodes.pattern_language.out_var": "Out Variable",
|
||||
"hex.builtin.nodes.pattern_language.out_var.header": "Out Variable",
|
||||
"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_rgba": "RGBA8 圖片",
|
||||
"hex.builtin.nodes.visualizer.image_rgba.header": "RGBA8 圖片視覺化工具",
|
||||
"hex.builtin.nodes.visualizer.image.header": "圖片視覺化工具",
|
||||
"hex.builtin.nodes.visualizer.layered_dist": "Layered Distribution",
|
||||
"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.offset": "位移",
|
||||
"hex.builtin.pattern_drawer.size": "大小",
|
||||
"hex.builtin.pattern_drawer.type": "類型",
|
||||
"hex.builtin.pattern_drawer.value": "數值",
|
||||
"hex.builtin.pattern_drawer.var_name": "名稱",
|
||||
"hex.builtin.popup.close_provider.desc": "您對此提供者有未儲存的更動。\n您確定要關閉嗎?",
|
||||
"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": "開啟檔案瀏覽器時發生錯誤。可能是因為您的系統未正確安裝 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.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.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.gdb": "GDB 伺服器提供者",
|
||||
"hex.builtin.provider.gdb.ip": "IP 位址",
|
||||
"hex.builtin.provider.gdb.name": "GDB 伺服器 <{0}:{1}>",
|
||||
"hex.builtin.provider.gdb.port": "連接埠",
|
||||
"hex.builtin.provider.gdb.server": "伺服器",
|
||||
"hex.builtin.provider.intel_hex": "Intel Hex 提供者",
|
||||
"hex.builtin.provider.intel_hex.name": "Intel Hex {0}",
|
||||
"hex.builtin.provider.mem_file": "Memory File",
|
||||
"hex.builtin.provider.mem_file.unsaved": "Unsaved File",
|
||||
"hex.builtin.provider.motorola_srec": "Motorola SREC 提供者",
|
||||
"hex.builtin.provider.motorola_srec.name": "Motorola SREC {0}",
|
||||
"hex.builtin.provider.view": "View",
|
||||
"hex.builtin.setting.folders": "資料夾",
|
||||
"hex.builtin.setting.folders.add_folder": "新增資料夾",
|
||||
"hex.builtin.setting.folders.description": "Specify additional search paths for patterns, scripts, Yara rules and more",
|
||||
"hex.builtin.setting.folders.remove_folder": "Remove currently selected folder from list",
|
||||
"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": "Check for updates on startup",
|
||||
"hex.builtin.setting.general.enable_unicode": "載入所有 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": "顯示 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.unlocked": "解鎖",
|
||||
"hex.builtin.setting.interface.language": "語言",
|
||||
"hex.builtin.setting.interface.multi_windows": "啟用多視窗支援",
|
||||
"hex.builtin.setting.interface.scaling": "縮放",
|
||||
"hex.builtin.setting.interface.scaling.native": "原生",
|
||||
"hex.builtin.setting.interface.scaling.x0_5": "x0.5",
|
||||
"hex.builtin.setting.interface.scaling.x1_0": "x1.0",
|
||||
"hex.builtin.setting.interface.scaling.x1_5": "x1.5",
|
||||
"hex.builtin.setting.interface.scaling.x2_0": "x2.0",
|
||||
"hex.builtin.setting.interface.scaling.x3_0": "x3.0",
|
||||
"hex.builtin.setting.interface.scaling.x4_0": "x4.0",
|
||||
"hex.builtin.setting.interface.wiki_explain_language": "維基百科語言",
|
||||
"hex.builtin.setting.proxy": "Proxy",
|
||||
"hex.builtin.setting.proxy.description": "Proxy 將立即在儲存、查詢維基百科,或使用任何外掛程式時生效。",
|
||||
"hex.builtin.setting.proxy.enable": "啟用 Proxy",
|
||||
"hex.builtin.setting.proxy.url": "Proxy 網址",
|
||||
"hex.builtin.setting.proxy.url.tooltip": "http(s):// 或 socks5:// (例如 http:127.0.0.1:1080)",
|
||||
"hex.builtin.tools.ascii_table": "ASCII 表",
|
||||
"hex.builtin.tools.ascii_table.octal": "Show octal",
|
||||
"hex.builtin.tools.base_converter": "進位轉換工具",
|
||||
"hex.builtin.tools.base_converter.bin": "BIN",
|
||||
"hex.builtin.tools.base_converter.dec": "DEC",
|
||||
"hex.builtin.tools.base_converter.hex": "HEX",
|
||||
"hex.builtin.tools.base_converter.oct": "OCT",
|
||||
"hex.builtin.tools.calc": "計算機",
|
||||
"hex.builtin.tools.color": "Color picker",
|
||||
"hex.builtin.tools.demangler": "LLVM Demangler",
|
||||
"hex.builtin.tools.demangler.demangled": "Demangled name",
|
||||
"hex.builtin.tools.demangler.mangled": "Mangled name",
|
||||
"hex.builtin.tools.error": "Last error: '{0}'",
|
||||
"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": "無法開啟輸入檔 {0}",
|
||||
"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": "無法建立分割檔 {0}",
|
||||
"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": "3½\" 磁碟片 (1400KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.5_75_floppy": "5¼\" 磁碟片 (1200KiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom650": "CD-ROM (650MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.cdrom700": "CD-ROM (700MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.custom": "自訂",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.fat32": "FAT32 (4GiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip100": "Zip 100 碟片 (100MiB)",
|
||||
"hex.builtin.tools.file_tools.splitter.sizes.zip200": "Zip 200 碟片 (200MiB)",
|
||||
"hex.builtin.tools.file_uploader": "檔案上傳工具",
|
||||
"hex.builtin.tools.file_uploader.control": "控制",
|
||||
"hex.builtin.tools.file_uploader.done": "完成!",
|
||||
"hex.builtin.tools.file_uploader.error": "無法上傳檔案!\n\n錯誤代碼:{0}",
|
||||
"hex.builtin.tools.file_uploader.invalid_response": "Anonfiles 回應無效!",
|
||||
"hex.builtin.tools.file_uploader.recent": "近期上傳",
|
||||
"hex.builtin.tools.file_uploader.tooltip": "點擊以複製\nCTRL + 點擊以開啟",
|
||||
"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.ieee756": "IEEE 756 浮點數測試工具",
|
||||
"hex.builtin.tools.ieee756.double_precision": "雙精度",
|
||||
"hex.builtin.tools.ieee756.exponent": "指數",
|
||||
"hex.builtin.tools.ieee756.exponent_size": "指數大小",
|
||||
"hex.builtin.tools.ieee756.formula": "Formula",
|
||||
"hex.builtin.tools.ieee756.half_precision": "半精度",
|
||||
"hex.builtin.tools.ieee756.mantissa": "尾數",
|
||||
"hex.builtin.tools.ieee756.mantissa_size": "尾數大小",
|
||||
"hex.builtin.tools.ieee756.result.float": "浮點數結果",
|
||||
"hex.builtin.tools.ieee756.result.hex": "十六進位結果",
|
||||
"hex.builtin.tools.ieee756.result.title": "結果",
|
||||
"hex.builtin.tools.ieee756.sign": "符號",
|
||||
"hex.builtin.tools.ieee756.singe_precision": "單精度",
|
||||
"hex.builtin.tools.ieee756.type": "類型",
|
||||
"hex.builtin.tools.input": "輸入",
|
||||
"hex.builtin.tools.name": "名稱",
|
||||
"hex.builtin.tools.permissions": "UNIX 權限計算機",
|
||||
"hex.builtin.tools.permissions.absolute": "Absolute Notation",
|
||||
"hex.builtin.tools.permissions.perm_bits": "權限位元",
|
||||
"hex.builtin.tools.permissions.setgid_error": "Group must have execute rights for setgid bit to apply!",
|
||||
"hex.builtin.tools.permissions.setuid_error": "User must have execute rights for setuid bit to apply!",
|
||||
"hex.builtin.tools.permissions.sticky_error": "Other must have execute rights for sticky bit to apply!",
|
||||
"hex.builtin.tools.regex_replacer": "Regex 取代工具",
|
||||
"hex.builtin.tools.regex_replacer.input": "輸入",
|
||||
"hex.builtin.tools.regex_replacer.output": "輸出",
|
||||
"hex.builtin.tools.regex_replacer.pattern": "Regex 模式",
|
||||
"hex.builtin.tools.regex_replacer.replace": "取代模式",
|
||||
"hex.builtin.tools.value": "數值",
|
||||
"hex.builtin.tools.wiki_explain": "Wikipedia term definitions",
|
||||
"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": "0x0:{X} : 0x1:{X} ({2} 位元組)",
|
||||
"hex.builtin.view.bookmarks.button.jump": "跳至",
|
||||
"hex.builtin.view.bookmarks.button.remove": "移除",
|
||||
"hex.builtin.view.bookmarks.default_title": "書籤 [0x0:{X} - 0x1:{X}]",
|
||||
"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": "Diffing",
|
||||
"hex.builtin.view.disassembler.16bit": "16 位元",
|
||||
"hex.builtin.view.disassembler.32bit": "32 位元",
|
||||
"hex.builtin.view.disassembler.64bit": "64 位元",
|
||||
"hex.builtin.view.disassembler.arch": "架構",
|
||||
"hex.builtin.view.disassembler.arm.arm": "ARM",
|
||||
"hex.builtin.view.disassembler.arm.armv8": "ARMv8",
|
||||
"hex.builtin.view.disassembler.arm.cortex_m": "Cortex-M",
|
||||
"hex.builtin.view.disassembler.arm.default": "預設",
|
||||
"hex.builtin.view.disassembler.arm.thumb": "Thumb",
|
||||
"hex.builtin.view.disassembler.base": "基址",
|
||||
"hex.builtin.view.disassembler.bpf.classic": "Classic",
|
||||
"hex.builtin.view.disassembler.bpf.extended": "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.m68k.000": "000",
|
||||
"hex.builtin.view.disassembler.m68k.010": "010",
|
||||
"hex.builtin.view.disassembler.m68k.020": "020",
|
||||
"hex.builtin.view.disassembler.m68k.030": "030",
|
||||
"hex.builtin.view.disassembler.m68k.040": "040",
|
||||
"hex.builtin.view.disassembler.m68k.060": "060",
|
||||
"hex.builtin.view.disassembler.m680x.6301": "6301",
|
||||
"hex.builtin.view.disassembler.m680x.6309": "6309",
|
||||
"hex.builtin.view.disassembler.m680x.6800": "6800",
|
||||
"hex.builtin.view.disassembler.m680x.6801": "6801",
|
||||
"hex.builtin.view.disassembler.m680x.6805": "6805",
|
||||
"hex.builtin.view.disassembler.m680x.6808": "6808",
|
||||
"hex.builtin.view.disassembler.m680x.6809": "6809",
|
||||
"hex.builtin.view.disassembler.m680x.6811": "6811",
|
||||
"hex.builtin.view.disassembler.m680x.cpu12": "CPU12",
|
||||
"hex.builtin.view.disassembler.m680x.hcs08": "HCS08",
|
||||
"hex.builtin.view.disassembler.mips.micro": "Micro",
|
||||
"hex.builtin.view.disassembler.mips.mips2": "MIPS II",
|
||||
"hex.builtin.view.disassembler.mips.mips3": "MIPS III",
|
||||
"hex.builtin.view.disassembler.mips.mips32": "MIPS32",
|
||||
"hex.builtin.view.disassembler.mips.mips32R6": "MIPS32R6",
|
||||
"hex.builtin.view.disassembler.mips.mips64": "MIPS64",
|
||||
"hex.builtin.view.disassembler.mos65xx.65c02": "65C02",
|
||||
"hex.builtin.view.disassembler.mos65xx.6502": "6502",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816": "65816",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_m": "65816 Long M",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_mx": "65816 Long MX",
|
||||
"hex.builtin.view.disassembler.mos65xx.65816_long_x": "65816 Long X",
|
||||
"hex.builtin.view.disassembler.mos65xx.w65c02": "W65C02",
|
||||
"hex.builtin.view.disassembler.name": "反組譯器",
|
||||
"hex.builtin.view.disassembler.position": "位置",
|
||||
"hex.builtin.view.disassembler.ppc.booke": "Book-E",
|
||||
"hex.builtin.view.disassembler.ppc.qpx": "Quad Processing Extensions",
|
||||
"hex.builtin.view.disassembler.ppc.spe": "訊號處理引擎",
|
||||
"hex.builtin.view.disassembler.region": "程式碼區域",
|
||||
"hex.builtin.view.disassembler.riscv.compressed": "Compressed",
|
||||
"hex.builtin.view.disassembler.settings.header": "設定",
|
||||
"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.context.copy": "複製數值",
|
||||
"hex.builtin.view.find.context.copy_demangle": "Copy Demangled Value",
|
||||
"hex.builtin.view.find.demangled": "Demangled",
|
||||
"hex.builtin.view.find.name": "尋找",
|
||||
"hex.builtin.view.find.regex": "Regex",
|
||||
"hex.builtin.view.find.regex.full_match": "Require 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": "Sequences",
|
||||
"hex.builtin.view.find.strings": "字串",
|
||||
"hex.builtin.view.find.strings.chars": "字元",
|
||||
"hex.builtin.view.find.strings.line_feeds": "Line Feeds",
|
||||
"hex.builtin.view.find.strings.lower_case": "小寫字母",
|
||||
"hex.builtin.view.find.strings.match_settings": "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": "懸停在十六進位編輯器的選取範圍上,並按住 Shift 以查看該區域的雜湊。",
|
||||
"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": "ImHex 目錄",
|
||||
"hex.builtin.view.help.about.source": "原始碼存放於 GitHub:",
|
||||
"hex.builtin.view.help.about.thanks": "如果您喜歡 ImHex,請考慮贊助使專案能夠永續運營。感謝您 <3",
|
||||
"hex.builtin.view.help.about.translator": "由 5idereal 翻譯",
|
||||
"hex.builtin.view.help.calc_cheat_sheet": "計算機小抄",
|
||||
"hex.builtin.view.help.documentation": "ImHex 說明文件",
|
||||
"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": "Base64",
|
||||
"hex.builtin.view.hex_editor.copy.c": "C 陣列",
|
||||
"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.go": "Go 陣列",
|
||||
"hex.builtin.view.hex_editor.copy.hex": "字串",
|
||||
"hex.builtin.view.hex_editor.copy.html": "HTML",
|
||||
"hex.builtin.view.hex_editor.copy.java": "Java 陣列",
|
||||
"hex.builtin.view.hex_editor.copy.js": "JavaScript 陣列",
|
||||
"hex.builtin.view.hex_editor.copy.lua": "Lua 陣列",
|
||||
"hex.builtin.view.hex_editor.copy.pascal": "Pascal 陣列",
|
||||
"hex.builtin.view.hex_editor.copy.python": "Python 陣列",
|
||||
"hex.builtin.view.hex_editor.copy.rust": "Rust 陣列",
|
||||
"hex.builtin.view.hex_editor.copy.swift": "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": "Open selection view...",
|
||||
"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": "{0} blocks of {1} bytes",
|
||||
"hex.builtin.view.information.control": "控制",
|
||||
"hex.builtin.view.information.description": "說明:",
|
||||
"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": "Highest entropy block",
|
||||
"hex.builtin.view.information.info_analysis": "資訊分析",
|
||||
"hex.builtin.view.information.magic": "Magic information",
|
||||
"hex.builtin.view.information.magic_db_added": "Magic database added!",
|
||||
"hex.builtin.view.information.mime": "MIME 類型:",
|
||||
"hex.builtin.view.information.name": "資料資訊",
|
||||
"hex.builtin.view.information.region": "Analyzed region",
|
||||
"hex.builtin.view.patches.name": "Patches",
|
||||
"hex.builtin.view.patches.offset": "位移",
|
||||
"hex.builtin.view.patches.orig": "原始數值",
|
||||
"hex.builtin.view.patches.patch": "Patched value",
|
||||
"hex.builtin.view.patches.remove": "Remove patch",
|
||||
"hex.builtin.view.pattern_data.name": "模式資料",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern": "接受模式",
|
||||
"hex.builtin.view.pattern_editor.accept_pattern.desc": "已找到一或多個與此資料類型相容的 pattern_language",
|
||||
"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": "此模式嘗試呼叫具危險性的函數。\n您確定要信任此模式嗎?",
|
||||
"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": "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": "Define some global variables with the 'in' or 'out' specifier for them to appear here.",
|
||||
"hex.builtin.view.pattern_editor.open_pattern": "開啟模式",
|
||||
"hex.builtin.view.pattern_editor.section_popup": "Section",
|
||||
"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_popup": "開啟提供者",
|
||||
"hex.builtin.view.provider_settings.name": "提供者設定",
|
||||
"hex.builtin.view.settings.name": "設定",
|
||||
"hex.builtin.view.settings.restart_question": "需要重啟 ImHex 方能使您所做的更動生效。您要現在重新啟動嗎?",
|
||||
"hex.builtin.view.store.desc": "從 ImHex 的線上資料庫下載新內容",
|
||||
"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": "Net request to load store content failed!",
|
||||
"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.libraries": "程式庫",
|
||||
"hex.builtin.view.store.tab.magics": "Magic Files",
|
||||
"hex.builtin.view.store.tab.patterns": "模式",
|
||||
"hex.builtin.view.store.tab.yara": "Yara 規則",
|
||||
"hex.builtin.view.store.update": "更新",
|
||||
"hex.builtin.view.tools.name": "工具",
|
||||
"hex.builtin.view.yara.error": "Yara 編譯器錯誤:",
|
||||
"hex.builtin.view.yara.header.matches": "Matches",
|
||||
"hex.builtin.view.yara.header.rules": "規則",
|
||||
"hex.builtin.view.yara.match": "Match Rules",
|
||||
"hex.builtin.view.yara.matches.identifier": "識別碼",
|
||||
"hex.builtin.view.yara.matches.variable": "變數",
|
||||
"hex.builtin.view.yara.matching": "Matching...",
|
||||
"hex.builtin.view.yara.name": "Yara 規則",
|
||||
"hex.builtin.view.yara.no_rules": "找不到 YARA 規則。請放進 ImHex 的 'yara' 資料夾中",
|
||||
"hex.builtin.view.yara.reload": "重新載入",
|
||||
"hex.builtin.view.yara.reset": "Reset",
|
||||
"hex.builtin.view.yara.rule_added": " Yara 規則已新增!",
|
||||
"hex.builtin.view.yara.whole_data": "Whole file matches!",
|
||||
"hex.builtin.visualizer.decimal.signed.8bit": "十進位有號數 (8 位元)",
|
||||
"hex.builtin.visualizer.decimal.signed.16bit": "十進位有號數 (16 位元)",
|
||||
"hex.builtin.visualizer.decimal.signed.32bit": "十進位有號數 (32 位元)",
|
||||
"hex.builtin.visualizer.decimal.signed.64bit": "十進位有號數 (64 位元)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.8bit": "十進位無號數 (8 位元)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.16bit": "十進位無號數 (16 位元)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.32bit": "十進位無號數 (32 位元)",
|
||||
"hex.builtin.visualizer.decimal.unsigned.64bit": "十進位無號數 (64 位元)",
|
||||
"hex.builtin.visualizer.floating_point.16bit": "浮點數 (16 位元)",
|
||||
"hex.builtin.visualizer.floating_point.32bit": "浮點數 (32 位元)",
|
||||
"hex.builtin.visualizer.floating_point.64bit": "浮點數 (64 位元)",
|
||||
"hex.builtin.visualizer.hexadecimal.8bit": "十六進位 (8 位元)",
|
||||
"hex.builtin.visualizer.hexadecimal.16bit": "十六進位 (16 位元)",
|
||||
"hex.builtin.visualizer.hexadecimal.32bit": "十六進位 (32 位元)",
|
||||
"hex.builtin.visualizer.hexadecimal.64bit": "十六進位 (64 位元)",
|
||||
"hex.builtin.visualizer.hexii": "HexII",
|
||||
"hex.builtin.visualizer.rgba8": "RGBA8 顏色",
|
||||
"hex.builtin.welcome.check_for_updates_text": "您要在啟動時自動檢查更新嗎?\n 可用更新將在歡迎畫面的「更新」分頁顯示。",
|
||||
"hex.builtin.welcome.customize.settings.desc": "更改 ImHex 的設定",
|
||||
"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": "歡迎使用 ImHex",
|
||||
"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": "Discord 伺服器",
|
||||
"hex.builtin.welcome.help.discord.link": "https://imhex.werwolv.net/discord",
|
||||
"hex.builtin.welcome.help.gethelp": "取得協助",
|
||||
"hex.builtin.welcome.help.gethelp.link": "https://github.com/WerWolv/ImHex/discussions/categories/get-help",
|
||||
"hex.builtin.welcome.help.repo": "GitHub 儲存庫",
|
||||
"hex.builtin.welcome.help.repo.link": "https:imhex.werwolv.net/git",
|
||||
"hex.builtin.welcome.learn.latest.desc": "閱讀 ImHex 的更新日誌",
|
||||
"hex.builtin.welcome.learn.latest.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.learn.latest.title": "最新版本",
|
||||
"hex.builtin.welcome.learn.pattern.desc": " 閱覽我們詳盡的說明文件來學習如何編寫 ImHex 的模式",
|
||||
"hex.builtin.welcome.learn.pattern.link": "https://imhex.werwolv.net/docs",
|
||||
"hex.builtin.welcome.learn.pattern.title": "模式語言說明文件",
|
||||
"hex.builtin.welcome.learn.plugins.desc": " 使用外掛程式來拓展 ImHex 的功能",
|
||||
"hex.builtin.welcome.learn.plugins.link": "https://github.com/WerWolv/ImHex/wiki/Plugins-Development-Guide",
|
||||
"hex.builtin.welcome.learn.plugins.title": "外掛程式 API",
|
||||
"hex.builtin.welcome.plugins.author": "作者",
|
||||
"hex.builtin.welcome.plugins.desc": "說明",
|
||||
"hex.builtin.welcome.plugins.plugin": "外掛程式",
|
||||
"hex.builtin.welcome.safety_backup.delete": "不用,請刪除",
|
||||
"hex.builtin.welcome.safety_backup.desc": "喔不,ImHex 上次崩潰了。\n您要復原您的工作階段嗎?",
|
||||
"hex.builtin.welcome.safety_backup.restore": "好,請復原",
|
||||
"hex.builtin.welcome.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": "ImHex {0} 發布了!點此下載。",
|
||||
"hex.builtin.welcome.update.link": "https://github.com/WerWolv/ImHex/releases/latest",
|
||||
"hex.builtin.welcome.update.title": "有可用更新!"
|
||||
}
|
||||
}
|
||||
145
plugins/builtin/romfs/themes/classic.json
Normal file
145
plugins/builtin/romfs/themes/classic.json
Normal file
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"name": "Classic",
|
||||
"image_postfix": "_dark",
|
||||
"colors": {
|
||||
"imgui": {
|
||||
"border": "#7F7F7F7F",
|
||||
"border-shadow": "#00000000",
|
||||
"button": "#59669B9E",
|
||||
"button-active": "#7589CCFF",
|
||||
"button-hovered": "#667AB5C9",
|
||||
"check-mark": "#E5E5E57F",
|
||||
"child-background": "#00000000",
|
||||
"docking-empty-background": "#000000D8",
|
||||
"docking-preview": "#6666E550",
|
||||
"drag-drop-target": "#FFFF00E5",
|
||||
"frame-background": "#6D6D6D63",
|
||||
"frame-background-active": "#6B68A3AF",
|
||||
"frame-background-hovered": "#7777AF66",
|
||||
"header": "#6666E572",
|
||||
"header-active": "#8787DDCC",
|
||||
"header-hovered": "#7272E5CC",
|
||||
"menu-bar-background": "#66668CCC",
|
||||
"modal-window-dim-background": "#33333359",
|
||||
"nav-highlight": "#7272E5CC",
|
||||
"nav-windowing-background": "#CCCCCC33",
|
||||
"nav-windowing-highlight": "#FFFFFFB2",
|
||||
"plot-histogram": "#E5B200FF",
|
||||
"plot-histogram-hovered": "#FF9900FF",
|
||||
"plot-lines": "#FFFFFFFF",
|
||||
"plot-lines-hovered": "#E5B200FF",
|
||||
"popup-background": "#1C1C23EA",
|
||||
"resize-grip": "#FFFFFF19",
|
||||
"resize-grip-active": "#C6D1FFE5",
|
||||
"resize-grip-hovered": "#C6D1FF99",
|
||||
"scrollbar-background": "#333F4C99",
|
||||
"scrollbar-grab": "#6666CC4C",
|
||||
"scrollbar-grab-active": "#6863CC99",
|
||||
"scrollbar-grab-hovered": "#6666CC66",
|
||||
"separator": "#7F7F7F99",
|
||||
"separator-active": "#B2B2E5FF",
|
||||
"separator-hovered": "#9999B2FF",
|
||||
"slider-grab": "#FFFFFF4C",
|
||||
"slider-grab-active": "#6863CC99",
|
||||
"tab": "#5555AEC8",
|
||||
"tab-active": "#6767B9D6",
|
||||
"tab-hovered": "#7272E5CC",
|
||||
"tab-unfocused": "#484891D1",
|
||||
"tab-unfocused-active": "#5959A6D5",
|
||||
"table-border-light": "#424247FF",
|
||||
"table-border-strong": "#4F4F72FF",
|
||||
"table-header-background": "#444460FF",
|
||||
"table-row-background": "#00000000",
|
||||
"table-row-background-alt": "#FFFFFF11",
|
||||
"text": "#E5E5E5FF",
|
||||
"text-disabled": "#999999FF",
|
||||
"text-selected-background": "#0000FF59",
|
||||
"title-background": "#66668CCC",
|
||||
"title-background-active": "#66668CCC",
|
||||
"title-background-collapse": "#66668CCC",
|
||||
"window-background": "#000000D8"
|
||||
},
|
||||
"implot": {
|
||||
"axis-grid": "#E5E5E53F",
|
||||
"axis-text": "#E5E5E5FF",
|
||||
"crosshairs": "#7F7F7FBF",
|
||||
"error-bar": "#E5E5E5FF",
|
||||
"frame-bg": "#6D6D6D63",
|
||||
"inlay-text": "#E5E5E5FF",
|
||||
"legend-bg": "#1C1C23EA",
|
||||
"legend-border": "#7F7F7F7F",
|
||||
"legend-text": "#E5E5E5FF",
|
||||
"plot-bg": "#00000059",
|
||||
"plot-border": "#7F7F7F7F",
|
||||
"selection": "#F7F763FF",
|
||||
"title-text": "#E5E5E5FF"
|
||||
},
|
||||
"imnodes": {
|
||||
"box-selector": "#5252A164",
|
||||
"box-selector-outline": "#5252A1FF",
|
||||
"grid-background": "#282832C8",
|
||||
"grid-line": "#C8C8C828",
|
||||
"grid-line-primary": "#F0F0F03C",
|
||||
"link": "#FFFFFF64",
|
||||
"link-hovered": "#6963CC99",
|
||||
"link-selected": "#6963CC99",
|
||||
"mini-map-background": "#19191964",
|
||||
"mini-map-background-hovered": "#191919C8",
|
||||
"mini-map-canvas": "#C8C8C819",
|
||||
"mini-map-canvas-outline": "#C8C8C8C8",
|
||||
"mini-map-link": "#FFFFFF64",
|
||||
"mini-map-link-selected": "#6963CC99",
|
||||
"mini-map-node-background": "#C8C8C864",
|
||||
"mini-map-node-background-hovered": "#C8C8C8FF",
|
||||
"mini-map-node-background-selected": "#C8C8F0FF",
|
||||
"mini-map-node-outline": "#C8C8C864",
|
||||
"mini-map-outline": "#96969664",
|
||||
"mini-map-outline-hovered": "#969696C8",
|
||||
"node-background": "#323232FF",
|
||||
"node-background-hovered": "#4B4B4BFF",
|
||||
"node-background-selected": "#4B4B4BFF",
|
||||
"node-outline": "#646464FF",
|
||||
"pin": "#59669CAA",
|
||||
"pin-hovered": "#667AB3C8",
|
||||
"title-bar": "#45458AFF",
|
||||
"title-bar-hovered": "#5252A1FF",
|
||||
"title-bar-selected": "#5252A1FF"
|
||||
},
|
||||
"imhex": {
|
||||
"desc-button": "#282850FF",
|
||||
"desc-button-active": "#505078FF",
|
||||
"desc-button-hovered": "#3C3C64FF",
|
||||
"highlight": "#4DC69BFF",
|
||||
"toolbar-blue": "#06539BFF",
|
||||
"toolbar-brown": "#DBB377FF",
|
||||
"toolbar-gray": "#E6E6E6FF",
|
||||
"toolbar-green": "#388B42FF",
|
||||
"toolbar-purple": "#672A78FF",
|
||||
"toolbar-red": "#E74C3CFF",
|
||||
"toolbar-yellow": "#F1C40FFF"
|
||||
},
|
||||
"text-editor": {
|
||||
"background": "#000080FF",
|
||||
"breakpoint": "#0080FF80",
|
||||
"char-literal": "#008080FF",
|
||||
"comment": "#808080FF",
|
||||
"current-line-edge": "#00000040",
|
||||
"current-line-fill": "#00000040",
|
||||
"current-line-fill-inactive": "#80808040",
|
||||
"cursor": "#FF8000FF",
|
||||
"default": "#FFFF00FF",
|
||||
"error-marker": "#FF0000A0",
|
||||
"identifier": "#FFFF00FF",
|
||||
"keyword": "#00FFFFFF",
|
||||
"known-identifier": "#FFFFFFFF",
|
||||
"line-number": "#008080FF",
|
||||
"multi-line-comment": "#404040FF",
|
||||
"number": "#00FF00FF",
|
||||
"preproc-identifier": "#FF00FFFF",
|
||||
"preprocessor": "#008000FF",
|
||||
"punctuation": "#FFFFFFFF",
|
||||
"selection": "#00FFFF80",
|
||||
"string": "#008080FF"
|
||||
}
|
||||
}
|
||||
}
|
||||
144
plugins/builtin/romfs/themes/dark.json
Normal file
144
plugins/builtin/romfs/themes/dark.json
Normal file
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"name": "Dark",
|
||||
"image_postfix": "_dark",
|
||||
"colors": {
|
||||
"imgui": {
|
||||
"border": "#6D6D7F7F",
|
||||
"border-shadow": "#00000000",
|
||||
"button": "#4296F966",
|
||||
"button-active": "#0F87F9FF",
|
||||
"button-hovered": "#4296F9FF",
|
||||
"check-mark": "#4296F9FF",
|
||||
"child-background": "#00000000",
|
||||
"docking-empty-background": "#0F0F0FEF",
|
||||
"docking-preview": "#4296F9B2",
|
||||
"drag-drop-target": "#FFFF00E5",
|
||||
"frame-background": "#28497A89",
|
||||
"frame-background-active": "#4296F9AA",
|
||||
"frame-background-hovered": "#4296F966",
|
||||
"header": "#4296F94F",
|
||||
"header-active": "#4296F9FF",
|
||||
"header-hovered": "#4296F9CC",
|
||||
"menu-bar-background": "#232323FF",
|
||||
"modal-window-dim-background": "#CCCCCC59",
|
||||
"nav-highlight": "#4296F9FF",
|
||||
"nav-windowing-background": "#CCCCCC33",
|
||||
"nav-windowing-highlight": "#FFFFFFB2",
|
||||
"plot-histogram": "#E5B200FF",
|
||||
"plot-histogram-hovered": "#FF9900FF",
|
||||
"plot-lines": "#9B9B9BFF",
|
||||
"plot-lines-hovered": "#FF6D59FF",
|
||||
"popup-background": "#141414EF",
|
||||
"resize-grip": "#4296F933",
|
||||
"resize-grip-active": "#4296F9F2",
|
||||
"resize-grip-hovered": "#4296F9AA",
|
||||
"scrollbar-background": "#05050587",
|
||||
"scrollbar-grab": "#4F4F4FFF",
|
||||
"scrollbar-grab-active": "#828282FF",
|
||||
"scrollbar-grab-hovered": "#686868FF",
|
||||
"separator": "#6D6D7F7F",
|
||||
"separator-active": "#1966BFFF",
|
||||
"separator-hovered": "#1966BFC6",
|
||||
"slider-grab": "#3D84E0FF",
|
||||
"slider-grab-active": "#4296F9FF",
|
||||
"tab": "#2D5993DB",
|
||||
"tab-active": "#3268ADFF",
|
||||
"tab-hovered": "#4296F9CC",
|
||||
"tab-unfocused": "#111A25F7",
|
||||
"tab-unfocused-active": "#22426CFF",
|
||||
"table-border-light": "#3A3A3FFF",
|
||||
"table-border-strong": "#4F4F59FF",
|
||||
"table-header-background": "#303033FF",
|
||||
"table-row-background": "#00000000",
|
||||
"table-row-background-alt": "#FFFFFF0F",
|
||||
"text": "#FFFFFFFF",
|
||||
"text-disabled": "#7F7F7FFF",
|
||||
"text-selected-background": "#4296F959",
|
||||
"title-background": "#232323FF",
|
||||
"title-background-active": "#232323FF",
|
||||
"title-background-collapse": "#232323FF",
|
||||
"window-background": "#0F0F0FEF"
|
||||
},
|
||||
"implot": {
|
||||
"axis-grid": "#FFFFFF3F",
|
||||
"axis-text": "#FFFFFFFF",
|
||||
"crosshairs": "#FFFFFF7F",
|
||||
"frame-bg": "#FFFFFF11",
|
||||
"inlay-text": "#FFFFFFFF",
|
||||
"legend-bg": "#141414EF",
|
||||
"legend-border": "#6D6D7F7F",
|
||||
"legend-text": "#FFFFFFFF",
|
||||
"plot-bg": "#0000007F",
|
||||
"plot-border": "#6D6D7F7F",
|
||||
"selection": "#FF9900FF",
|
||||
"title-text": "#FFFFFFFF"
|
||||
},
|
||||
"imnodes": {
|
||||
"box-selector": "#3D85E01E",
|
||||
"box-selector-outline": "#3D85E096",
|
||||
"grid-background": "#282832C8",
|
||||
"grid-line": "#C8C8C828",
|
||||
"grid-line-primary": "#F0F0F03C",
|
||||
"link": "#3D85E0C8",
|
||||
"link-hovered": "#4296FAFF",
|
||||
"link-selected": "#4296FAFF",
|
||||
"mini-map-background": "#19191996",
|
||||
"mini-map-background-hovered": "#191919C8",
|
||||
"mini-map-canvas": "#C8C8C819",
|
||||
"mini-map-canvas-outline": "#C8C8C8C8",
|
||||
"mini-map-link": "#3D85E0C8",
|
||||
"mini-map-link-selected": "#4296FAFF",
|
||||
"mini-map-node-background": "#C8C8C864",
|
||||
"mini-map-node-background-hovered": "#C8C8C8FF",
|
||||
"mini-map-node-background-selected": "#C8C8C8FF",
|
||||
"mini-map-node-outline": "#C8C8C864",
|
||||
"mini-map-outline": "#96969664",
|
||||
"mini-map-outline-hovered": "#969696C8",
|
||||
"node-background": "#323232FF",
|
||||
"node-background-hovered": "#4B4B4BFF",
|
||||
"node-background-selected": "#4B4B4BFF",
|
||||
"node-outline": "#646464FF",
|
||||
"pin": "#3596FAB4",
|
||||
"pin-hovered": "#3596FAFF",
|
||||
"title-bar": "#294A7AFF",
|
||||
"title-bar-hovered": "#4296FAFF",
|
||||
"title-bar-selected": "#4296FAFF"
|
||||
},
|
||||
"imhex": {
|
||||
"desc-button": "#141414FF",
|
||||
"desc-button-active": "#3C3C3CFF",
|
||||
"desc-button-hovered": "#282828FF",
|
||||
"highlight": "#4DC69BFF",
|
||||
"toolbar-blue": "#06539BFF",
|
||||
"toolbar-brown": "#DBB377FF",
|
||||
"toolbar-gray": "#E6E6E6FF",
|
||||
"toolbar-green": "#388B42FF",
|
||||
"toolbar-purple": "#672A78FF",
|
||||
"toolbar-red": "#E74C3CFF",
|
||||
"toolbar-yellow": "#F1C40FFF"
|
||||
},
|
||||
"text-editor": {
|
||||
"background": "#101010FF",
|
||||
"breakpoint": "#0080F040",
|
||||
"char-literal": "#E0A070FF",
|
||||
"comment": "#206020FF",
|
||||
"current-line-edge": "#A0A0A040",
|
||||
"current-line-fill": "#00000040",
|
||||
"current-line-fill-inactive": "#80808040",
|
||||
"cursor": "#E0E0E0FF",
|
||||
"default": "#7F7F7FFF",
|
||||
"error-marker": "#FF200080",
|
||||
"identifier": "#AAAAAAFF",
|
||||
"keyword": "#569CD6FF",
|
||||
"known-identifier": "#4DC69BFF",
|
||||
"line-number": "#007070FF",
|
||||
"multi-line-comment": "#206040FF",
|
||||
"number": "#00FF00FF",
|
||||
"preproc-identifier": "#A040C0FF",
|
||||
"preprocessor": "#808040FF",
|
||||
"punctuation": "#FFFFFFFF",
|
||||
"selection": "#2060A080",
|
||||
"string": "#E07070FF"
|
||||
}
|
||||
}
|
||||
}
|
||||
145
plugins/builtin/romfs/themes/light.json
Normal file
145
plugins/builtin/romfs/themes/light.json
Normal file
@@ -0,0 +1,145 @@
|
||||
{
|
||||
"name": "Light",
|
||||
"image_postfix": "_light",
|
||||
"colors": {
|
||||
"imgui": {
|
||||
"border": "#0000004C",
|
||||
"border-shadow": "#00000000",
|
||||
"button": "#4296F966",
|
||||
"button-active": "#0F87F9FF",
|
||||
"button-hovered": "#4296F9FF",
|
||||
"check-mark": "#4296F9FF",
|
||||
"child-background": "#00000000",
|
||||
"docking-empty-background": "#EFEFEFFF",
|
||||
"docking-preview": "#4296F937",
|
||||
"drag-drop-target": "#4296F9F2",
|
||||
"frame-background": "#FFFFFFFF",
|
||||
"frame-background-active": "#4296F9AA",
|
||||
"frame-background-hovered": "#4296F966",
|
||||
"header": "#4296F94F",
|
||||
"header-active": "#4296F9FF",
|
||||
"header-hovered": "#4296F9CC",
|
||||
"menu-bar-background": "#DBDBDBFF",
|
||||
"modal-window-dim-background": "#33333359",
|
||||
"nav-highlight": "#4296F9CC",
|
||||
"nav-windowing-background": "#33333333",
|
||||
"nav-windowing-highlight": "#B2B2B2B2",
|
||||
"plot-histogram": "#E5B200FF",
|
||||
"plot-histogram-hovered": "#FF7200FF",
|
||||
"plot-lines": "#636363FF",
|
||||
"plot-lines-hovered": "#FF6D59FF",
|
||||
"popup-background": "#FFFFFFF9",
|
||||
"resize-grip": "#5959592B",
|
||||
"resize-grip-active": "#4296F9F2",
|
||||
"resize-grip-hovered": "#4296F9AA",
|
||||
"scrollbar-background": "#F9F9F987",
|
||||
"scrollbar-grab": "#AFAFAFCC",
|
||||
"scrollbar-grab-active": "#7C7C7CFF",
|
||||
"scrollbar-grab-hovered": "#7C7C7CCC",
|
||||
"separator": "#6363639E",
|
||||
"separator-active": "#2370CCFF",
|
||||
"separator-hovered": "#2370CCC6",
|
||||
"slider-grab": "#4296F9C6",
|
||||
"slider-grab-active": "#7589CC99",
|
||||
"tab": "#C2CBD5ED",
|
||||
"tab-active": "#97B9E1FF",
|
||||
"tab-hovered": "#4296F9CC",
|
||||
"tab-unfocused": "#EAECEEFB",
|
||||
"tab-unfocused-active": "#BDD1E9FF",
|
||||
"table-border-light": "#ADADBCFF",
|
||||
"table-border-strong": "#9191A3FF",
|
||||
"table-header-background": "#C6DDF9FF",
|
||||
"table-row-background": "#00000000",
|
||||
"table-row-background-alt": "#4C4C4C16",
|
||||
"text": "#000000FF",
|
||||
"text-disabled": "#999999FF",
|
||||
"text-selected-background": "#4296F959",
|
||||
"title-background": "#DBDBDBFF",
|
||||
"title-background-active": "#DBDBDBFF",
|
||||
"title-background-collapse": "#DBDBDBFF",
|
||||
"window-background": "#EFEFEFFF"
|
||||
},
|
||||
"implot": {
|
||||
"axis-grid": "#FFFFFFFF",
|
||||
"axis-text": "#000000FF",
|
||||
"axis-tick": "#0000003F",
|
||||
"crosshairs": "#0000007F",
|
||||
"frame-bg": "#FFFFFFFF",
|
||||
"inlay-text": "#000000FF",
|
||||
"legend-bg": "#FFFFFFF9",
|
||||
"legend-border": "#D1D1D1CC",
|
||||
"legend-text": "#000000FF",
|
||||
"plot-bg": "#6B91FF21",
|
||||
"plot-border": "#00000000",
|
||||
"selection": "#D1A307FF",
|
||||
"title-text": "#000000FF"
|
||||
},
|
||||
"imnodes": {
|
||||
"box-selector": "#5AAAFA1E",
|
||||
"box-selector-outline": "#5AAAFA96",
|
||||
"grid-background": "#E1E1E1FF",
|
||||
"grid-line": "#B4B4B464",
|
||||
"grid-line-primary": "#78787864",
|
||||
"link": "#4296FA64",
|
||||
"link-hovered": "#4296FAF2",
|
||||
"link-selected": "#4296FAF2",
|
||||
"mini-map-background": "#19191964",
|
||||
"mini-map-background-hovered": "#191919C8",
|
||||
"mini-map-canvas": "#C8C8C819",
|
||||
"mini-map-canvas-outline": "#C8C8C8C8",
|
||||
"mini-map-link": "#4296FA64",
|
||||
"mini-map-link-selected": "#4296FAF2",
|
||||
"mini-map-node-background": "#C8C8C864",
|
||||
"mini-map-node-background-hovered": "#C8C8C8FF",
|
||||
"mini-map-node-background-selected": "#C8C8F0FF",
|
||||
"mini-map-node-outline": "#C8C8C864",
|
||||
"mini-map-outline": "#96969664",
|
||||
"mini-map-outline-hovered": "#969696C8",
|
||||
"node-background": "#F0F0F0FF",
|
||||
"node-background-hovered": "#F0F0F0FF",
|
||||
"node-background-selected": "#F0F0F0FF",
|
||||
"node-outline": "#646464FF",
|
||||
"pin": "#4296FAA0",
|
||||
"pin-hovered": "#4296FAFF",
|
||||
"title-bar": "#F8F8F8FF",
|
||||
"title-bar-hovered": "#D1D1D1FF",
|
||||
"title-bar-selected": "#D1D1D1FF"
|
||||
},
|
||||
"imhex": {
|
||||
"desc-button": "#E6E6E6FF",
|
||||
"desc-button-active": "#BEBEBEFF",
|
||||
"desc-button-hovered": "#D2D2D2FF",
|
||||
"highlight": "#299770FF",
|
||||
"toolbar-blue": "#06539BFF",
|
||||
"toolbar-brown": "#DBB377FF",
|
||||
"toolbar-gray": "#191919FF",
|
||||
"toolbar-green": "#388B42FF",
|
||||
"toolbar-purple": "#672A78FF",
|
||||
"toolbar-red": "#E74C3CFF",
|
||||
"toolbar-yellow": "#F1C40FFF"
|
||||
},
|
||||
"text-editor": {
|
||||
"background": "#FFFFFFFF",
|
||||
"breakpoint": "#0080F080",
|
||||
"char-literal": "#704030FF",
|
||||
"comment": "#205020FF",
|
||||
"current-line-edge": "#00000040",
|
||||
"current-line-fill": "#00000040",
|
||||
"current-line-fill-inactive": "#80808040",
|
||||
"cursor": "#000000FF",
|
||||
"default": "#7F7F7FFF",
|
||||
"error-marker": "#FF1000A0",
|
||||
"identifier": "#404040FF",
|
||||
"keyword": "#060CFFFF",
|
||||
"known-identifier": "#106060FF",
|
||||
"line-number": "#005050FF",
|
||||
"multi-line-comment": "#205040FF",
|
||||
"number": "#008000FF",
|
||||
"preproc-identifier": "#A040C0FF",
|
||||
"preprocessor": "#606040FF",
|
||||
"punctuation": "#000000FF",
|
||||
"selection": "#00006080",
|
||||
"string": "#A02020FF"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,8 @@
|
||||
"The data processor allows pre-processing of the binary input data before it's displayed without modifying the original data.",
|
||||
"Take a closer look at the Splash screen :)",
|
||||
"Check out the WerWolv/ImHex-Patterns repository for pre-made patterns and more!",
|
||||
"ImHex can be easily extended with plugins through its API."
|
||||
"ImHex can be easily extended with plugins through its API.",
|
||||
"If you don't need to display non-ASCII unicode symbols, you can disable them in the settings. This will make ImHex start faster!"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <hex/providers/provider.hpp>
|
||||
|
||||
#include <content/helpers/provider_extra_data.hpp>
|
||||
#include <content/helpers/diagrams.hpp>
|
||||
|
||||
#include <cctype>
|
||||
#include <random>
|
||||
@@ -951,91 +952,21 @@ namespace hex::plugin::builtin {
|
||||
NodeVisualizerDigram() : Node("hex.builtin.nodes.visualizer.digram.header", { dp::Attribute(dp::Attribute::IOType::In, dp::Attribute::Type::Buffer, "hex.builtin.nodes.common.input") }) { }
|
||||
|
||||
void drawNode() override {
|
||||
drawDigram(scaled({ 200, 200 }));
|
||||
this->m_digram.draw(scaled({ 200, 200 }));
|
||||
|
||||
if (ImGui::IsItemHovered() && ImGui::IsKeyDown(ImGuiKey_LeftShift)) {
|
||||
ImGui::BeginTooltip();
|
||||
drawDigram(scaled({ 600, 600 }));
|
||||
this->m_digram.draw(scaled({ 600, 600 }));
|
||||
ImGui::EndTooltip();
|
||||
}
|
||||
}
|
||||
|
||||
void drawDigram(const ImVec2 &viewSize) {
|
||||
ImGui::PushStyleColor(ImGuiCol_ChildBg, ImU32(ImColor(0, 0, 0)));
|
||||
if (ImGui::BeginChild("##visualizer", viewSize, true)) {
|
||||
auto drawList = ImGui::GetWindowDrawList();
|
||||
|
||||
float xStep = (viewSize.x * 0.95F) / 0xFF;
|
||||
float yStep = (viewSize.y * 0.95F) / 0xFF;
|
||||
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size() - 1); i++) {
|
||||
const auto &[x, y] = std::pair { this->m_buffer[i] * xStep, this->m_buffer[i + 1] * yStep };
|
||||
|
||||
auto color = ImLerp(ImColor(0xFF, 0x6D, 0x01).Value, ImColor(0x01, 0x93, 0xFF).Value, float(i) / this->m_buffer.size());
|
||||
color.w = this->m_opacityBuffer[i];
|
||||
|
||||
auto pos = ImGui::GetWindowPos() + ImVec2(viewSize.x * 0.025F, viewSize.y * 0.025F) + ImVec2(x, y);
|
||||
drawList->AddRectFilled(pos, pos + ImVec2(xStep, yStep), ImColor(color));
|
||||
}
|
||||
}
|
||||
ImGui::EndChild();
|
||||
ImGui::PopStyleColor();
|
||||
}
|
||||
|
||||
void process() override {
|
||||
constexpr static auto SampleSize = 0x9000;
|
||||
const static size_t SequenceCount = std::ceil(std::sqrt(SampleSize));
|
||||
|
||||
this->m_buffer.clear();
|
||||
|
||||
auto buffer = this->getBufferOnInput(0);
|
||||
if (buffer.size() < SampleSize)
|
||||
this->m_buffer = buffer;
|
||||
else {
|
||||
std::random_device randomDevice;
|
||||
std::mt19937_64 random(randomDevice());
|
||||
|
||||
std::map<u64, std::vector<u8>> orderedData;
|
||||
for (u32 i = 0; i < SequenceCount; i++) {
|
||||
ssize_t offset = random() % buffer.size();
|
||||
|
||||
std::vector<u8> sequence;
|
||||
sequence.reserve(SampleSize);
|
||||
std::copy(buffer.begin() + offset, buffer.begin() + offset + std::min<size_t>(SequenceCount, buffer.size() - offset), std::back_inserter(sequence));
|
||||
|
||||
orderedData.insert({ offset, sequence });
|
||||
}
|
||||
|
||||
this->m_buffer.reserve(SampleSize);
|
||||
|
||||
u64 lastEnd = 0x00;
|
||||
for (const auto &[offset, sequence] : orderedData) {
|
||||
if (offset < lastEnd)
|
||||
this->m_buffer.resize(this->m_buffer.size() - (lastEnd - offset));
|
||||
|
||||
std::copy(sequence.begin(), sequence.end(), std::back_inserter(this->m_buffer));
|
||||
lastEnd = offset + sequence.size();
|
||||
}
|
||||
}
|
||||
|
||||
this->m_opacityBuffer.resize(this->m_buffer.size());
|
||||
|
||||
std::map<u64, size_t> heatMap;
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size() - 1); i++) {
|
||||
auto count = ++heatMap[this->m_buffer[i] << 8 | heatMap[i + 1]];
|
||||
|
||||
this->m_highestCount = std::max(this->m_highestCount, count);
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size() - 1); i++) {
|
||||
this->m_opacityBuffer[i] = std::min(0.2F + (float(heatMap[this->m_buffer[i] << 8 | this->m_buffer[i + 1]]) / float(this->m_highestCount / 1000)), 1.0F);
|
||||
}
|
||||
this->m_digram.process(this->getBufferOnInput(0));
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<u8> m_buffer;
|
||||
std::vector<float> m_opacityBuffer;
|
||||
size_t m_highestCount = 0;
|
||||
DiagramDigram m_digram;
|
||||
};
|
||||
|
||||
class NodeVisualizerLayeredDistribution : public dp::Node {
|
||||
@@ -1043,90 +974,20 @@ namespace hex::plugin::builtin {
|
||||
NodeVisualizerLayeredDistribution() : Node("hex.builtin.nodes.visualizer.layered_dist.header", { dp::Attribute(dp::Attribute::IOType::In, dp::Attribute::Type::Buffer, "hex.builtin.nodes.common.input") }) { }
|
||||
|
||||
void drawNode() override {
|
||||
drawLayeredDistribution(scaled({ 200, 200 }));
|
||||
this->m_layeredDistribution.draw(scaled({ 200, 200 }));
|
||||
if (ImGui::IsItemHovered() && ImGui::IsKeyDown(ImGuiKey_LeftShift)) {
|
||||
ImGui::BeginTooltip();
|
||||
drawLayeredDistribution(scaled({ 600, 600 }));
|
||||
this->m_layeredDistribution.draw(scaled({ 600, 600 }));
|
||||
ImGui::EndTooltip();
|
||||
}
|
||||
}
|
||||
|
||||
void drawLayeredDistribution(const ImVec2 &viewSize) {
|
||||
ImGui::PushStyleColor(ImGuiCol_ChildBg, ImU32(ImColor(0, 0, 0)));
|
||||
if (ImGui::BeginChild("##visualizer", viewSize, true)) {
|
||||
auto drawList = ImGui::GetWindowDrawList();
|
||||
|
||||
float xStep = (viewSize.x * 0.95F) / 0xFF;
|
||||
float yStep = (viewSize.y * 0.95F) / 0xFF;
|
||||
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size()); i++) {
|
||||
const auto &[x, y] = std::pair { this->m_buffer[i] * xStep, yStep * ((float(i) / this->m_buffer.size()) * 0xFF) };
|
||||
|
||||
auto color = ImLerp(ImColor(0xFF, 0x6D, 0x01).Value, ImColor(0x01, 0x93, 0xFF).Value, float(i) / this->m_buffer.size());
|
||||
color.w = this->m_opacityBuffer[i];
|
||||
|
||||
auto pos = ImGui::GetWindowPos() + ImVec2(viewSize.x * 0.025F, viewSize.y * 0.025F) + ImVec2(x, y);
|
||||
drawList->AddRectFilled(pos, pos + ImVec2(xStep, yStep), ImColor(color));
|
||||
}
|
||||
}
|
||||
ImGui::EndChild();
|
||||
ImGui::PopStyleColor();
|
||||
}
|
||||
|
||||
void process() override {
|
||||
constexpr static auto SampleSize = 0x9000;
|
||||
const static size_t SequenceCount = std::ceil(std::sqrt(SampleSize));
|
||||
|
||||
this->m_buffer.clear();
|
||||
|
||||
auto buffer = this->getBufferOnInput(0);
|
||||
if (buffer.size() < SampleSize)
|
||||
this->m_buffer = buffer;
|
||||
else {
|
||||
std::random_device randomDevice;
|
||||
std::mt19937_64 random(randomDevice());
|
||||
|
||||
std::map<u64, std::vector<u8>> orderedData;
|
||||
for (u32 i = 0; i < SequenceCount; i++) {
|
||||
ssize_t offset = random() % buffer.size();
|
||||
|
||||
std::vector<u8> sequence;
|
||||
sequence.reserve(SampleSize);
|
||||
std::copy(buffer.begin() + offset, buffer.begin() + offset + std::min<size_t>(SequenceCount, buffer.size() - offset), std::back_inserter(sequence));
|
||||
|
||||
orderedData.insert({ offset, sequence });
|
||||
}
|
||||
|
||||
this->m_buffer.reserve(SampleSize);
|
||||
|
||||
u64 lastEnd = 0x00;
|
||||
for (const auto &[offset, sequence] : orderedData) {
|
||||
if (offset < lastEnd)
|
||||
this->m_buffer.resize(this->m_buffer.size() - (lastEnd - offset));
|
||||
|
||||
std::copy(sequence.begin(), sequence.end(), std::back_inserter(this->m_buffer));
|
||||
lastEnd = offset + sequence.size();
|
||||
}
|
||||
}
|
||||
|
||||
this->m_opacityBuffer.resize(this->m_buffer.size());
|
||||
|
||||
std::map<u64, size_t> heatMap;
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size() - 1); i++) {
|
||||
auto count = ++heatMap[this->m_buffer[i] << 8 | heatMap[i + 1]];
|
||||
|
||||
this->m_highestCount = std::max(this->m_highestCount, count);
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < (this->m_buffer.empty() ? 0 : this->m_buffer.size() - 1); i++) {
|
||||
this->m_opacityBuffer[i] = std::min(0.2F + (float(heatMap[this->m_buffer[i] << 8 | this->m_buffer[i + 1]]) / float(this->m_highestCount / 1000)), 1.0F);
|
||||
}
|
||||
this->m_layeredDistribution.process(this->getBufferOnInput(0));
|
||||
}
|
||||
|
||||
private:
|
||||
std::vector<u8> m_buffer;
|
||||
std::vector<float> m_opacityBuffer;
|
||||
size_t m_highestCount = 0;
|
||||
DiagramLayeredDistribution m_layeredDistribution;
|
||||
};
|
||||
|
||||
class NodeVisualizerImage : public dp::Node {
|
||||
|
||||
@@ -91,11 +91,11 @@ namespace hex::plugin::builtin {
|
||||
case 0xFF:
|
||||
ImGui::TextDisabled("##");
|
||||
break;
|
||||
case ' ' ... '~':
|
||||
ImGui::Text(".%c", c);
|
||||
break;
|
||||
default:
|
||||
ImGui::Text(getFormatString(upperCase), c);
|
||||
if (c >= ' ' && c <= '~')
|
||||
ImGui::Text(".%c", c);
|
||||
else
|
||||
ImGui::Text(getFormatString(upperCase), c);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
35
plugins/builtin/source/content/global_actions.cpp
Normal file
35
plugins/builtin/source/content/global_actions.cpp
Normal file
@@ -0,0 +1,35 @@
|
||||
|
||||
#include <hex/ui/view.hpp>
|
||||
#include <hex/api/project_file_manager.hpp>
|
||||
|
||||
|
||||
namespace hex::plugin::builtin {
|
||||
|
||||
void openProject() {
|
||||
fs::openFileBrowser(fs::DialogMode::Open, { {"Project File", "hexproj"} },
|
||||
[](const auto &path) {
|
||||
if (!ProjectFile::load(path)) {
|
||||
View::showErrorPopup("hex.builtin.popup.error.project.load"_lang);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void saveProject() {
|
||||
if (!ProjectFile::store()) {
|
||||
View::showErrorPopup("hex.builtin.popup.error.project.save"_lang);
|
||||
}
|
||||
}
|
||||
|
||||
void saveProjectAs() {
|
||||
fs::openFileBrowser(fs::DialogMode::Save, { {"Project File", "hexproj"} },
|
||||
[](std::fs::path path) {
|
||||
if (path.extension() != ".hexproj") {
|
||||
path.replace_extension(".hexproj");
|
||||
}
|
||||
|
||||
if (!ProjectFile::store(path)) {
|
||||
View::showErrorPopup("hex.builtin.popup.error.project.save"_lang);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -24,30 +24,30 @@ namespace hex {
|
||||
|
||||
template<typename T>
|
||||
std::pair<typename MathEvaluator<T>::Operator, size_t> MathEvaluator<T>::toOperator(const std::string &input) {
|
||||
if (input.starts_with("##")) return { Operator::Combine, 2 };
|
||||
if (input.starts_with("==")) return { Operator::Equals, 2 };
|
||||
if (input.starts_with("!=")) return { Operator::NotEquals, 2 };
|
||||
if (input.starts_with(">=")) return { Operator::GreaterThanOrEquals, 2 };
|
||||
if (input.starts_with("<=")) return { Operator::LessThanOrEquals, 2 };
|
||||
if (input.starts_with(">>")) return { Operator::ShiftRight, 2 };
|
||||
if (input.starts_with("<<")) return { Operator::ShiftLeft, 2 };
|
||||
if (input.starts_with("||")) return { Operator::Or, 2 };
|
||||
if (input.starts_with("^^")) return { Operator::Xor, 2 };
|
||||
if (input.starts_with("&&")) return { Operator::And, 2 };
|
||||
if (input.starts_with("**")) return { Operator::Exponentiation, 2 };
|
||||
if (input.starts_with(">")) return { Operator::GreaterThan, 1 };
|
||||
if (input.starts_with("<")) return { Operator::LessThan, 1 };
|
||||
if (input.starts_with("!")) return { Operator::Not, 1 };
|
||||
if (input.starts_with("|")) return { Operator::BitwiseOr, 1 };
|
||||
if (input.starts_with("^")) return { Operator::BitwiseXor, 1 };
|
||||
if (input.starts_with("&")) return { Operator::BitwiseAnd, 1 };
|
||||
if (input.starts_with("~")) return { Operator::BitwiseNot, 1 };
|
||||
if (input.starts_with("+")) return { Operator::Addition, 1 };
|
||||
if (input.starts_with("-")) return { Operator::Subtraction, 1 };
|
||||
if (input.starts_with("*")) return { Operator::Multiplication, 1 };
|
||||
if (input.starts_with("/")) return { Operator::Division, 1 };
|
||||
if (input.starts_with("%")) return { Operator::Modulus, 1 };
|
||||
if (input.starts_with("=")) return { Operator::Assign, 1 };
|
||||
if (input.starts_with("##")) return { Operator::Combine, 2 };
|
||||
if (input.starts_with("==")) return { Operator::Equals, 2 };
|
||||
if (input.starts_with("!=")) return { Operator::NotEquals, 2 };
|
||||
if (input.starts_with(">=")) return { Operator::GreaterThanOrEquals, 2 };
|
||||
if (input.starts_with("<=")) return { Operator::LessThanOrEquals, 2 };
|
||||
if (input.starts_with(">>")) return { Operator::ShiftRight, 2 };
|
||||
if (input.starts_with("<<")) return { Operator::ShiftLeft, 2 };
|
||||
if (input.starts_with("||")) return { Operator::Or, 2 };
|
||||
if (input.starts_with("^^")) return { Operator::Xor, 2 };
|
||||
if (input.starts_with("&&")) return { Operator::And, 2 };
|
||||
if (input.starts_with("**")) return { Operator::Exponentiation, 2 };
|
||||
if (input.starts_with(">")) return { Operator::GreaterThan, 1 };
|
||||
if (input.starts_with("<")) return { Operator::LessThan, 1 };
|
||||
if (input.starts_with("!")) return { Operator::Not, 1 };
|
||||
if (input.starts_with("|")) return { Operator::BitwiseOr, 1 };
|
||||
if (input.starts_with("^")) return { Operator::BitwiseXor, 1 };
|
||||
if (input.starts_with("&")) return { Operator::BitwiseAnd, 1 };
|
||||
if (input.starts_with("~")) return { Operator::BitwiseNot, 1 };
|
||||
if (input.starts_with("+")) return { Operator::Addition, 1 };
|
||||
if (input.starts_with("-")) return { Operator::Subtraction, 1 };
|
||||
if (input.starts_with("*")) return { Operator::Multiplication, 1 };
|
||||
if (input.starts_with("/")) return { Operator::Division, 1 };
|
||||
if (input.starts_with("%")) return { Operator::Modulus, 1 };
|
||||
if (input.starts_with("=")) return { Operator::Assign, 1 };
|
||||
|
||||
return { Operator::Invalid, 0 };
|
||||
}
|
||||
@@ -455,8 +455,7 @@ namespace hex {
|
||||
this->setFunction(
|
||||
"floor", [](auto args) { return std::floor(args[0]); }, 1, 1);
|
||||
this->setFunction(
|
||||
"sign", [](auto args) { return (args[0] > 0) ? 1 : (args[0] == 0) ? 0
|
||||
: -1; }, 1, 1);
|
||||
"sign", [](auto args) { return (args[0] > 0) ? 1 : (args[0] == 0) ? 0 : -1; }, 1, 1);
|
||||
this->setFunction(
|
||||
"abs", [](auto args) { return std::abs(args[0]); }, 1, 1);
|
||||
this->setFunction(
|
||||
@@ -470,5 +469,6 @@ namespace hex {
|
||||
|
||||
template class MathEvaluator<long double>;
|
||||
template class MathEvaluator<i128>;
|
||||
template class MathEvaluator<u128>;
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <hex/helpers/file.hpp>
|
||||
#include <hex/helpers/crypto.hpp>
|
||||
#include <hex/helpers/patches.hpp>
|
||||
#include "content/global_actions.hpp"
|
||||
|
||||
namespace hex::plugin::builtin {
|
||||
|
||||
@@ -73,26 +74,15 @@ namespace hex::plugin::builtin {
|
||||
bool taskRunning = TaskManager::getRunningTaskCount() > 0;
|
||||
|
||||
if (ImGui::MenuItem("hex.builtin.menu.file.open_project"_lang, "", false, !taskRunning)) {
|
||||
fs::openFileBrowser(fs::DialogMode::Open, { {"Project File", "hexproj"}
|
||||
},
|
||||
[](const auto &path) {
|
||||
if (!ProjectFile::load(path)) {
|
||||
View::showErrorPopup("hex.builtin.popup.error.project.load"_lang);
|
||||
}
|
||||
});
|
||||
openProject();
|
||||
}
|
||||
|
||||
if (ImGui::MenuItem("hex.builtin.menu.file.save_project"_lang, "", false, providerValid && provider->isWritable())) {
|
||||
fs::openFileBrowser(fs::DialogMode::Save, { {"Project File", "hexproj"} },
|
||||
[](std::fs::path path) {
|
||||
if (path.extension() != ".hexproj") {
|
||||
path.replace_extension(".hexproj");
|
||||
}
|
||||
if (ImGui::MenuItem("hex.builtin.menu.file.save_project"_lang, "ALT + S", false, providerValid && provider->isWritable() && ProjectFile::hasPath())) {
|
||||
saveProject();
|
||||
}
|
||||
|
||||
if (!ProjectFile::store(path)) {
|
||||
View::showErrorPopup("hex.builtin.popup.error.project.save"_lang);
|
||||
}
|
||||
});
|
||||
if (ImGui::MenuItem("hex.builtin.menu.file.save_project_as"_lang, "ALT + SHIFT + S", false, providerValid && provider->isWritable())) {
|
||||
saveProjectAs();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user