summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Android.mk19
-rw-r--r--adbbu/Android.mk7
-rw-r--r--adbbu/twadbstream.h5
-rw-r--r--adbbu/twrpback.cpp67
-rw-r--r--applypatch/Android.mk12
-rw-r--r--data.cpp14
-rw-r--r--gui/pages.cpp2
-rw-r--r--gui/theme/common/landscape.xml21
-rw-r--r--gui/theme/common/languages/cz.xml36
-rw-r--r--gui/theme/common/languages/de.xml38
-rw-r--r--gui/theme/common/languages/el.xml38
-rw-r--r--gui/theme/common/languages/en.xml40
-rw-r--r--gui/theme/common/languages/es.xml36
-rw-r--r--gui/theme/common/languages/fr.xml38
-rw-r--r--gui/theme/common/languages/hu.xml38
-rw-r--r--gui/theme/common/languages/it.xml38
-rw-r--r--gui/theme/common/languages/nl.xml38
-rw-r--r--gui/theme/common/languages/pl.xml40
-rw-r--r--gui/theme/common/languages/pt_BR.xml36
-rw-r--r--gui/theme/common/languages/ru.xml38
-rw-r--r--gui/theme/common/languages/sk.xml1280
-rw-r--r--gui/theme/common/languages/sl.xml36
-rw-r--r--gui/theme/common/languages/sv.xml10
-rw-r--r--gui/theme/common/languages/tr.xml20
-rw-r--r--gui/theme/common/languages/uk.xml1351
-rw-r--r--gui/theme/common/portrait.xml21
-rw-r--r--gui/theme/common/watch.xml29
-rw-r--r--gui/theme/extra-languages/languages/ja.xml38
-rw-r--r--gui/theme/extra-languages/languages/zh_CN.xml38
-rw-r--r--gui/theme/extra-languages/languages/zh_TW.xml38
-rw-r--r--gui/theme/landscape_hdpi/splash.xml2
-rw-r--r--gui/theme/landscape_hdpi/ui.xml2
-rw-r--r--gui/theme/landscape_mdpi/splash.xml2
-rw-r--r--gui/theme/landscape_mdpi/ui.xml2
-rw-r--r--gui/theme/portrait_hdpi/splash.xml2
-rw-r--r--gui/theme/portrait_hdpi/ui.xml2
-rw-r--r--gui/theme/portrait_mdpi/splash.xml2
-rw-r--r--gui/theme/portrait_mdpi/ui.xml2
-rw-r--r--gui/theme/watch_mdpi/splash.xml2
-rw-r--r--gui/theme/watch_mdpi/ui.xml2
-rw-r--r--libtar/block.c8
-rw-r--r--minui/Android.mk5
-rw-r--r--minui/graphics.cpp18
-rw-r--r--minui/minui.h2
-rw-r--r--openrecoveryscript.cpp16
-rw-r--r--orscmd/orscmd.cpp14
-rw-r--r--otafault/Android.mk10
-rw-r--r--partition.cpp49
-rw-r--r--partitionmanager.cpp152
-rw-r--r--partitions.hpp3
-rw-r--r--prebuilt/Android.mk1
-rw-r--r--tests/Android.mk10
-rw-r--r--twinstall.cpp50
-rw-r--r--twrp-functions.cpp1
-rw-r--r--twrp-functions.hpp2
-rw-r--r--twrpDigest.cpp161
-rw-r--r--twrpDigest.hpp52
-rw-r--r--twrpDigest/Android.mk29
-rw-r--r--twrpDigest/digest/md5/md5.c (renamed from digest/md5.c)0
-rw-r--r--twrpDigest/digest/md5/md5.h (renamed from digest/md5.h)0
-rw-r--r--twrpDigest/twrpDigest.cpp33
-rw-r--r--twrpDigest/twrpDigest.hpp35
-rw-r--r--twrpDigest/twrpMD5.cpp47
-rw-r--r--twrpDigest/twrpMD5.hpp42
-rw-r--r--twrpDigest/twrpSHA.cpp69
-rw-r--r--twrpDigest/twrpSHA.hpp54
-rw-r--r--twrpDigestDriver.cpp218
-rw-r--r--twrpDigestDriver.hpp33
-rw-r--r--twrpTar.cpp1
-rw-r--r--variables.h12
70 files changed, 2459 insertions, 2150 deletions
diff --git a/Android.mk b/Android.mk
index 3d3428fa9..85cdd325b 100644
--- a/Android.mk
+++ b/Android.mk
@@ -51,18 +51,15 @@ LOCAL_SRC_FILES := \
fixContexts.cpp \
twrpTar.cpp \
exclude.cpp \
- twrpDigest.cpp \
- digest/md5.c \
find_file.cpp \
- infomanager.cpp
-
-LOCAL_SRC_FILES += \
+ infomanager.cpp \
data.cpp \
partition.cpp \
partitionmanager.cpp \
progresstracking.cpp \
twinstall.cpp \
twrp-functions.cpp \
+ twrpDigestDriver.cpp \
openrecoveryscript.cpp \
tarWrite.c
@@ -112,9 +109,11 @@ LOCAL_C_INCLUDES += \
system/core/libsparse \
external/zlib
-LOCAL_C_INCLUDES += bionic external/openssl/include
+LOCAL_C_INCLUDES += bionic
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0)
- LOCAL_C_INCLUDES += external/stlport/stlport
+ LOCAL_C_INCLUDES += external/stlport/stlport external/openssl/include
+else
+ LOCAL_C_INCLUDES += external/boringssl/include
endif
LOCAL_STATIC_LIBRARIES :=
@@ -122,10 +121,11 @@ LOCAL_SHARED_LIBRARIES :=
LOCAL_STATIC_LIBRARIES += libguitwrp
LOCAL_SHARED_LIBRARIES += libaosprecovery libz libc libcutils libstdc++ libtar libblkid libminuitwrp libminadbd libmtdutils libminzip libtwadbbu libbootloader_message
-LOCAL_SHARED_LIBRARIES += libcrecovery
+LOCAL_SHARED_LIBRARIES += libcrecovery libtwadbbu libtwrpdigest
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0)
LOCAL_SHARED_LIBRARIES += libstlport
+ LOCAL_CFLAGS += -DTW_NO_SHA2_LIBRARY
endif
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 24; echo $$?),0)
LOCAL_SHARED_LIBRARIES += libmincrypttwrp
@@ -159,10 +159,8 @@ ifeq ($(TARGET_USERIMAGES_USE_EXT4), true)
#LOCAL_STATIC_LIBRARIES += liblz4
endif
endif
-
LOCAL_C_INCLUDES += external/libselinux/include
LOCAL_SHARED_LIBRARIES += libselinux
-LOCAL_CFLAGS += -g
ifneq ($(TARGET_USERIMAGES_USE_EXT4), true)
LOCAL_CFLAGS += -DUSE_EXT4
LOCAL_C_INCLUDES += system/extras/ext4_utils
@@ -682,6 +680,7 @@ include $(commands_recovery_local_path)/injecttwrp/Android.mk \
$(commands_recovery_local_path)/simg2img/Android.mk \
$(commands_recovery_local_path)/adbbu/Android.mk \
$(commands_recovery_local_path)/libpixelflinger/Android.mk \
+ $(commands_recovery_local_path)/twrpDigest/Android.mk \
$(commands_recovery_local_path)/attr/Android.mk
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 24; echo $$?),0)
diff --git a/adbbu/Android.mk b/adbbu/Android.mk
index 10faf6f65..33d3ad7d3 100644
--- a/adbbu/Android.mk
+++ b/adbbu/Android.mk
@@ -2,10 +2,9 @@ LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
- twrpback.cpp \
- ../twrpDigest.cpp \
- ../digest/md5.c
-LOCAL_SHARED_LIBRARIES += libstdc++ libz libselinux
+ twrpback.cpp
+
+LOCAL_SHARED_LIBRARIES += libstdc++ libz libtwrpdigest
ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0)
LOCAL_C_INCLUDES += external/stlport/stlport
LOCAL_SHARED_LIBRARIES += libstlport
diff --git a/adbbu/twadbstream.h b/adbbu/twadbstream.h
index 23d4a1fea..5fa6bde5d 100644
--- a/adbbu/twadbstream.h
+++ b/adbbu/twadbstream.h
@@ -65,6 +65,11 @@ struct AdbBackupControlType {
char type[16]; //stores the type of command, TWENDADB, TWCNT, TWEOF, TWMD5, TWDATA and TWERROR
uint32_t crc; //stores the zlib 32 bit crc of the AdbBackupControlType struct to allow for making sure we are processing metadata
char space[484]; //stores space to align the struct to 512 bytes
+
+ //return a C++ string while not reading outside the type char array
+ std::string get_type() {
+ return std::string(type, strnlen(type, sizeof(type)-1));
+ }
};
//general info for file metadata stored in adb backup header
diff --git a/adbbu/twrpback.cpp b/adbbu/twrpback.cpp
index c59fd1cda..8652de2ac 100644
--- a/adbbu/twrpback.cpp
+++ b/adbbu/twrpback.cpp
@@ -34,9 +34,8 @@
#include "twadbstream.h"
#include "twrpback.hpp"
-#include "../variables.h"
-#include "../twcommon.h"
-#include "../twrpDigest.hpp"
+#include "../twrpDigest/twrpDigest.hpp"
+#include "../twrpDigest/twrpMD5.hpp"
twrpback::twrpback(void) {
read_fd = 0;
@@ -94,7 +93,7 @@ void twrpback::close_restore_fds() {
}
int twrpback::backup(std::string command) {
- twrpDigest adb_md5;
+ twrpMD5 digest;
bool breakloop = false;
int bytes = 0, errctr = 0;
char result[MAX_ADB_READ];
@@ -133,7 +132,12 @@ int twrpback::backup(std::string command) {
}
}
- sprintf(operation, "adbbackup %s", command.c_str());
+ memset(operation, 0, sizeof(operation));
+ if (snprintf(operation, sizeof(operation), "adbbackup %s", command.c_str()) >= sizeof(operation)) {
+ adblogwrite("Operation too big to write to ORS_INPUT_FILE\n");
+ close_backup_fds();
+ return -1;
+ }
if (write(write_fd, operation, sizeof(operation)) != sizeof(operation)) {
adblogwrite("Unable to write to ORS_INPUT_FILE\n");
close_backup_fds();
@@ -173,8 +177,7 @@ int twrpback::backup(std::string command) {
struct AdbBackupControlType structcmd;
memcpy(&structcmd, cmd, sizeof(cmd));
- std::string cmdstr(structcmd.type);
- std::string cmdtype = cmdstr.substr(0, sizeof(structcmd.type) - 1);
+ std::string cmdtype = structcmd.get_type();
//we received an error, exit and unlink
if (cmdtype == TWERROR) {
@@ -211,8 +214,7 @@ int twrpback::backup(std::string command) {
struct twfilehdr twimghdr;
adblogwrite("Writing TWIMG\n");
- adb_md5.initMD5();
-
+ digest.init();
memset(&twimghdr, 0, sizeof(twimghdr));
memcpy(&twimghdr, cmd, sizeof(cmd));
md5fnsize = twimghdr.size;
@@ -230,7 +232,7 @@ int twrpback::backup(std::string command) {
struct twfilehdr twfilehdr;
adblogwrite("Writing TWFN\n");
- adb_md5.initMD5();
+ digest.init();
ADBSTRUCT_STATIC_ASSERT(sizeof(twfilehdr) == MAX_ADB_READ);
@@ -265,8 +267,7 @@ int twrpback::backup(std::string command) {
totalbytes += bytes;
char *writeresult = new char [bytes];
memcpy(writeresult, result, bytes);
- if (adb_md5.updateMD5stream((unsigned char *) writeresult, bytes) == -1)
- adblogwrite("failed to update md5 stream\n");
+ digest.update((unsigned char *) writeresult, bytes);
if (fwrite(writeresult, 1, bytes, adbd_fp) != bytes) {
adblogwrite("Error writing backup data to adbd\n");
close_backup_fds();
@@ -286,8 +287,7 @@ int twrpback::backup(std::string command) {
close_backup_fds();
return -1;
}
- if (adb_md5.updateMD5stream((unsigned char *) padding, sizeof(padding)) == -1)
- adblogwrite("failed to update md5 stream\n");
+ digest.update((unsigned char *) padding, sizeof(padding));
fflush(adbd_fp);
totalbytes = 0;
}
@@ -295,9 +295,8 @@ int twrpback::backup(std::string command) {
AdbBackupFileTrailer md5trailer;
memset(&md5trailer, 0, sizeof(md5trailer));
- adb_md5.finalizeMD5stream();
- std::string md5string = adb_md5.createMD5string();
+ std::string md5string = digest.return_digest_string();
strncpy(md5trailer.start_of_trailer, TWRP, sizeof(md5trailer.start_of_trailer));
strncpy(md5trailer.type, MD5TRAILER, sizeof(md5trailer.type));
@@ -326,7 +325,7 @@ int twrpback::backup(std::string command) {
//to the adb stream.
//If the stream is compressed, we need to always write the data.
if (writedata || compressed) {
- while ((bytes = read(adb_read_fd, &result, sizeof(result))) == MAX_ADB_READ) {
+ while ((bytes = read(adb_read_fd, &result, sizeof(result))) > 0) {
if (firstDataPacket) {
struct AdbBackupControlType data_block;
@@ -346,8 +345,7 @@ int twrpback::backup(std::string command) {
char *writeresult = new char [bytes];
memcpy(writeresult, result, bytes);
- if (adb_md5.updateMD5stream((unsigned char *) writeresult, bytes) == -1)
- adblogwrite("failed to update md5 stream\n");
+ digest.update((unsigned char *) writeresult, bytes);
totalbytes += bytes;
dataChunkBytes += bytes;
@@ -395,7 +393,7 @@ int twrpback::backup(std::string command) {
}
int twrpback::restore(void) {
- twrpDigest adb_md5;
+ twrpMD5 digest;
char cmd[MAX_ADB_READ];
char result[MAX_ADB_READ];
struct AdbBackupControlType structcmd;
@@ -436,6 +434,7 @@ int twrpback::restore(void) {
}
}
+ memset(operation, 0, sizeof(operation));
sprintf(operation, "adbrestore");
if (write(write_fd, operation, sizeof(operation)) != sizeof(operation)) {
adblogwrite("Unable to write to ORS_INPUT_FILE\n");
@@ -489,8 +488,7 @@ int twrpback::restore(void) {
if (read(adb_control_bu_fd, &cmd, sizeof(cmd)) > 0) {
struct AdbBackupControlType structcmd;
memcpy(&structcmd, cmd, sizeof(cmd));
- std::string cmdstr(structcmd.type);
- std::string cmdtype = cmdstr.substr(0, sizeof(structcmd.type) - 1);
+ std::string cmdtype = structcmd.get_type();
//If we receive TWEOF from TWRP close adb data fifo
if (cmdtype == TWEOF) {
@@ -516,13 +514,11 @@ int twrpback::restore(void) {
}
//If we should read from the adb stream, write commands and data to TWRP
if (read_from_adb) {
- std::string cmdstr;
int readbytes;
if ((readbytes = fread(result, 1, sizeof(result), adbd_fp)) == sizeof(result)) {
totalbytes += readbytes;
memcpy(&structcmd, result, sizeof(result));
- cmdstr = structcmd.type;
- std::string cmdtype = cmdstr.substr(0, sizeof(structcmd.type) - 1);
+ std::string cmdtype = structcmd.get_type();
//Tell TWRP we have read the entire adb stream
if (cmdtype == TWENDADB) {
@@ -590,8 +586,8 @@ int twrpback::restore(void) {
struct twfilehdr twimghdr;
uint32_t crc, twimghdrcrc;
+ digest.init();
totalbytes -= sizeof(result);
- adb_md5.initMD5();
adblogwrite("Restoring TWIMG\n");
memset(&twimghdr, 0, sizeof(twimghdr));
memcpy(&twimghdr, result, sizeof(result));
@@ -622,9 +618,9 @@ int twrpback::restore(void) {
else if (cmdtype == TWFN) {
struct twfilehdr twfilehdr;
uint32_t crc, twfilehdrcrc;
+ digest.init();
totalbytes -= sizeof(result);
- adb_md5.initMD5();
adblogwrite("Restoring TWFN\n");
memset(&twfilehdr, 0, sizeof(twfilehdr));
memcpy(&twfilehdr, result, sizeof(result));
@@ -663,9 +659,9 @@ int twrpback::restore(void) {
}
totalbytes += readbytes;
memcpy(&structcmd, result, sizeof(result));
- cmdstr = structcmd.type;
+ std::string cmdtype = structcmd.get_type();
- if (cmdstr.substr(0, sizeof(MD5TRAILER) - 1) == MD5TRAILER) {
+ if (cmdtype.substr(0, sizeof(MD5TRAILER) - 1) == MD5TRAILER) {
struct AdbBackupFileTrailer md5tr;
uint32_t crc, md5trcrc, md5ident, md5identmatch;
@@ -702,15 +698,13 @@ int twrpback::restore(void) {
close_restore_fds();
return -1;
}
- adblogwrite("md5 finalize stream\n");
- adb_md5.finalizeMD5stream();
AdbBackupFileTrailer md5;
memset(&md5, 0, sizeof(md5));
strncpy(md5.start_of_trailer, TWRP, sizeof(md5.start_of_trailer));
strncpy(md5.type, TWMD5, sizeof(md5.type));
- std::string md5string = adb_md5.createMD5string();
+ std::string md5string = digest.return_digest_string();
strncpy(md5.md5, md5string.c_str(), sizeof(md5.md5));
adblogwrite("Sending MD5Check\n");
@@ -725,8 +719,7 @@ int twrpback::restore(void) {
break;
}
}
- if (adb_md5.updateMD5stream((unsigned char*)result, sizeof(result)) == -1)
- adblogwrite("failed to update md5 stream\n");
+ digest.update((unsigned char*)result, sizeof(result));
dataChunkBytes += readbytes;
if (write(adb_write_fd, result, sizeof(result)) < 0) {
@@ -778,6 +771,12 @@ int main(int argc, char **argv) {
return -1;
}
+ if (argc <= 1) {
+ tw.adblogwrite("No parameters given, exiting...\n");
+ tw.close_restore_fds();
+ return -1;
+ }
+
command = argv[1];
for (index = 2; index < argc; index++) {
command = command + " " + argv[index];
diff --git a/applypatch/Android.mk b/applypatch/Android.mk
index 581e53aa1..2f96f0ab7 100644
--- a/applypatch/Android.mk
+++ b/applypatch/Android.mk
@@ -14,6 +14,12 @@
LOCAL_PATH := $(call my-dir)
+ifdef project-path-for
+ RECOVERY_PATH := $(call project-path-for,recovery)
+else
+ RECOVERY_PATH := bootable/recovery
+endif
+
include $(CLEAR_VARS)
BOARD_RECOVERY_DEFINES := BOARD_BML_BOOT BOARD_BML_RECOVERY
@@ -33,7 +39,7 @@ LOCAL_CLANG := true
LOCAL_SRC_FILES := applypatch.cpp bspatch.cpp freecache.cpp imgpatch.cpp utils.cpp
LOCAL_MODULE := libapplypatch
LOCAL_MODULE_TAGS := eng
-LOCAL_C_INCLUDES += bootable/recovery
+LOCAL_C_INCLUDES += $(RECOVERY_PATH)
LOCAL_STATIC_LIBRARIES += libbase libotafault libmtdutils libcrypto_static libbz libz
include $(BUILD_STATIC_LIBRARY)
@@ -46,7 +52,7 @@ include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_SRC_FILES := bspatch.cpp imgpatch.cpp utils.cpp
LOCAL_MODULE := libimgpatch
-LOCAL_C_INCLUDES += bootable/recovery
+LOCAL_C_INCLUDES += $(RECOVERY_PATH)
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
LOCAL_STATIC_LIBRARIES += libcrypto_static libbz libz
@@ -58,7 +64,7 @@ include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_SRC_FILES := main.cpp
LOCAL_MODULE := applypatch
-LOCAL_C_INCLUDES += bootable/recovery
+LOCAL_C_INCLUDES += $(RECOVERY_PATH)
LOCAL_STATIC_LIBRARIES += libapplypatch libbase libotafault libmtdutils libcrypto_static libbz \
libedify \
diff --git a/data.cpp b/data.cpp
index 20b608918..5d05d2bad 100644
--- a/data.cpp
+++ b/data.cpp
@@ -679,14 +679,14 @@ void DataManager::SetDefaultValues()
mPersist.SetValue(TW_INSTALL_REBOOT_VAR, "0");
mPersist.SetValue(TW_SIGNED_ZIP_VERIFY_VAR, "0");
- mPersist.SetValue(TW_FORCE_MD5_CHECK_VAR, "0");
mPersist.SetValue(TW_DISABLE_FREE_SPACE_VAR, "0");
+ mPersist.SetValue(TW_FORCE_DIGEST_CHECK_VAR, "0");
mPersist.SetValue(TW_USE_COMPRESSION_VAR, "0");
mPersist.SetValue(TW_TIME_ZONE_VAR, "CST6CDT,M3.2.0,M11.1.0");
mPersist.SetValue(TW_GUI_SORT_ORDER, "1");
mPersist.SetValue(TW_RM_RF_VAR, "0");
- mPersist.SetValue(TW_SKIP_MD5_CHECK_VAR, "0");
- mPersist.SetValue(TW_SKIP_MD5_GENERATE_VAR, "0");
+ mPersist.SetValue(TW_SKIP_DIGEST_CHECK_VAR, "0");
+ mPersist.SetValue(TW_SKIP_DIGEST_GENERATE_VAR, "0");
mPersist.SetValue(TW_SDEXT_SIZE, "0");
mPersist.SetValue(TW_SWAP_SIZE, "0");
mPersist.SetValue(TW_SDPART_FILE_SYSTEM, "ext3");
@@ -708,6 +708,14 @@ void DataManager::SetDefaultValues()
mData.SetValue("tw_background_thread_running", "0");
mData.SetValue(TW_RESTORE_FILE_DATE, "0");
mPersist.SetValue("tw_military_time", "0");
+
+#ifdef TW_INCLUDE_CRYPTO
+ mConst.SetValue(TW_USE_SHA2, "1");
+ mConst.SetValue(TW_NO_SHA2, "0");
+#else
+ mConst.SetValue(TW_NO_SHA2, "1");
+#endif
+
#ifdef TW_NO_SCREEN_TIMEOUT
mConst.SetValue("tw_screen_timeout_secs", "0");
mConst.SetValue("tw_no_screen_timeout", "1");
diff --git a/gui/pages.cpp b/gui/pages.cpp
index bf6c6921c..b901526ff 100644
--- a/gui/pages.cpp
+++ b/gui/pages.cpp
@@ -52,7 +52,7 @@ extern "C" {
#include "blanktimer.hpp"
// version 2 requires theme to handle power button as action togglebacklight
-#define TW_THEME_VERSION 2
+#define TW_THEME_VERSION 3
#define TW_THEME_VER_ERR -2
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
index 3039252b2..c3d89fe2d 100644
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -139,6 +139,7 @@
<style name="scrolllist">
<background color="%background_color%"/>
<font resource="font_m" spacing="%fileselector_spacing%" color="%text_color%"/>
+ <fastscroll linecolor="%fileselector_linecolor%" rectcolor="%accent_color%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%"/>
</style>
<style name="partitionlist">
@@ -1676,8 +1677,8 @@
<checkbox>
<placement x="%col1_x_right%" y="%row7a_y%"/>
- <text>{@skip_md5_backup_chk=Skip MD5 generation during backup}</text>
- <data variable="tw_skip_md5_generate"/>
+ <text>{@skip_digest_backup_chk=Skip Digest generation during backup}</text>
+ <data variable="tw_skip_digest_generate"/>
</checkbox>
<checkbox>
@@ -2272,8 +2273,8 @@
<checkbox>
<placement x="%col1_x_right%" y="%row6_y%"/>
- <text>{@restore_enable_md5_chk=Enable MD5 Verification of Backup Files}</text>
- <data variable="tw_skip_md5_check"/>
+ <text>{@restore_enable_digest_chk=Enable Digest Verification of Backup Files}</text>
+ <data variable="tw_skip_digest_check"/>
</checkbox>
<button style="main_button_half_width">
@@ -2866,11 +2867,11 @@
<listitem name="{@disable_backup_space_chk=Disable free space check before backup}">
<data variable="tw_disable_free_space"/>
</listitem>
- <listitem name="{@skip_md5_backup_chk=Skip MD5 generation during backup}">
- <data variable="tw_skip_md5_generate"/>
+ <listitem name="{@skip_digest_backup_chk=Skip Digest generation during backup}">
+ <data variable="tw_skip_digest_generate"/>
</listitem>
- <listitem name="{@restore_enable_md5_chk=Enable MD5 verification of backup files}">
- <data variable="tw_skip_md5_check"/>
+ <listitem name="{@restore_enable_digest_chk=Enable Digest verification of backup files}">
+ <data variable="tw_skip_digest_check"/>
</listitem>
<listitem name="{@use24clock_chk=Use 24-hour clock}">
<data variable="tw_military_time"/>
@@ -2885,6 +2886,10 @@
<condition var1="tw_simulate_actions" var2="1"/>
<data variable="tw_simulate_fail"/>
</listitem>
+ <listitem name="{@sha2_chk=Use SHA2 for hashing}">
+ <condition var1="tw_no_sha2" var2="0"/>
+ <data variable="tw_use_sha2"/>
+ </listitem>
</listbox>
<checkbox>
diff --git a/gui/theme/common/languages/cz.xml b/gui/theme/common/languages/cz.xml
index 83cd0b2cf..bb9fff930 100644
--- a/gui/theme/common/languages/cz.xml
+++ b/gui/theme/common/languages/cz.xml
@@ -199,7 +199,7 @@
<string name="enc_disabled">zakázané - pro povolení zadejte heslo</string>
<string name="enc_enabled">povolené</string>
<string name="enable_backup_comp_chk">Povolit kompresi</string>
- <string name="skip_md5_backup_chk">Vynechat generovaní MD5 během zálohy</string>
+ <string name="skip_digest_backup_chk" version="2">Vynechat generovaní Digest během zálohy</string>
<string name="disable_backup_space_chk">Nekontrolovat volné místo</string>
<string name="refresh_sizes_btn">Obnovit velikosti</string>
<string name="swipe_backup">Potáhnout pro zálohu</string>
@@ -232,7 +232,7 @@
<string name="restore_try_decrypt_s">Pokus o dešifrovaní</string>
<string name="restore_backup_date">Záloha hotová %tw_restore_file_date%</string>
<string name="restore_sel_part">Vybrat oddíl pro obnovu:</string>
- <string name="restore_enable_md5_chk">Povolit kontrolu MD5 na zálohovaných souborech</string>
+ <string name="restore_enable_digest_chk" version="2">Povolit kontrolu Digest na zálohovaných souborech</string>
<string name="restore_complete">Obnova dokočená</string>
<string name="swipe_restore">Potáhnout pro obnovu</string>
<string name="swipe_restore_s"> Obnovit</string>
@@ -458,11 +458,11 @@
<string name="mtp_crash">MTP selhalo, MTP nebude spuštěné při startu.</string>
<string name="decrypt_success">Úspešně dešifrované s přednastaveným heslem.</string>
<string name="unable_to_decrypt">Nelze dešifrovat s přednastaveným heslem. Možná budete muset naformátovat Data.</string>
- <string name="generating_md51">Generuje se MD5</string>
- <string name="generating_md52"> *Generuje se Md5...</string>
- <string name="md5_created"> *MD5 vygenerované.</string>
- <string name="md5_error"> * chyba MD5!</string>
- <string name="md5_compute_error"> * chyba při výpočtu MD5.</string>
+ <string name="generating_digest1" version="2">Generuje se Digest</string>
+ <string name="generating_digest2" version="2"> *Generuje se Digest...</string>
+ <string name="digest_created" version="2"> *Digest vygenerované.</string>
+ <string name="digest_error" version="2"> * chyba Digest!</string>
+ <string name="digest_compute_error" version="2"> * chyba při výpočtu Digest.</string>
<string name="current_date">(Aktuální datum)</string>
<string name="auto_generate">(Generovat automaticky)</string>
<string name="unable_to_locate_partition">Nelze najít oddíl \'{1}\' pro výpočet zálohy.</string>
@@ -481,8 +481,8 @@
<string name="backup_completed">[ZÁLOHA DOKONČENÁ ZA {1} SEKUND]</string>
<string name="restore_started">[ZAČÁTEK OBNOVY]</string>
<string name="restore_folder">Obnovit adresář: \'{1}\'</string>
- <string name="verifying_md5">Kontrolování MD5</string>
- <string name="skip_md5">Vynechání kontroly MD5 na základě uživatelského nastavení.</string>
+ <string name="verifying_digest" version="2">Kontrolování Digest</string>
+ <string name="skip_digest" version="2">Vynechání kontroly Digest na základě uživatelského nastavení.</string>
<string name="calc_restore">Počítání detailů obnovy...</string>
<string name="restore_read_only">Nelze obnovit {1} -- připojené jen na čtení.</string>
<string name="restore_unable_locate">Nelze najít oddíl \'{1}\' pro obnovu.</string>
@@ -540,9 +540,9 @@
<string name="cannot_resize">Nelze natáhnout {1}.</string>
<string name="repair_resize">Opravování {1} před natáhnutím.</string>
<string name="unable_resize">Nelze natáhnout {1}.</string>
- <string name="no_md5_found">Soubor MD5 se nenašel pro \'{1}\'. Prosím zvolte Vypnout kontrolu MD5 během obnovy.</string>
- <string name="md5_fail_match">MD5 neodpovídá souboru \'{1}\'.</string>
- <string name="md5_matched">MD5 matched for '{1}'.</string>
+ <string name="no_digest_found" version="2">Soubor Digest se nenašel pro \'{1}\'. Prosím zvolte Vypnout kontrolu Digest během obnovy.</string>
+ <string name="digest_fail_match" version="2">Digest neodpovídá souboru \'{1}\'.</string>
+ <string name="digest_matched" version="2">Digest matched for '{1}'.</string>
<string name="fail_decrypt_tar">Nelze dešifrovat soubor tar \'{1}\'</string>
<string name="format_data_msg">Měli by jste restartovat recovery aby jste mohli znova používat /data.</string>
<string name="format_data_err">Nelze formátovat pro zrušení šifrování.</string>
@@ -563,7 +563,7 @@
<string name="backup_folder_set">Adresář záloh nastavený na: \'{1}\'</string>
<string name="locate_backup_err">Zálohu \'{1}\' nelze najít</string>
<string name="set_restore_opt">Nastavení možností obnovy: \'{1}\':</string>
- <string name="md5_check_skip">Vynechání kontroly MD5 zapnuté</string>
+ <string name="digest_check_skip" version="2">Vynechání kontroly Digest zapnuté</string>
<string name="ors_encrypt_restore_err">Nelze použít OpenRecoveryScript na obnovu zašifrované zálohy.</string>
<string name="mounting">Připojení</string>
<string name="unmounting">Odpojení</string>
@@ -584,7 +584,7 @@
<string name="installing_zip">Instalace zip souboru \'{1}\'</string>
<string name="select_backup_opt">Nastavení možností zálohy:</string>
<string name="comprossion_on">Komprese zapnutá</string>
- <string name="md5_off">Generovaní MD5 vypnuté</string>
+ <string name="digest_off" version="2">Generovaní Digest vypnuté</string>
<string name="backup_fail">Zálohování selhalo</string>
<string name="backup_clean">Zálohování selhalo. Čistění adresáře záloh.</string>
<string name="running_recovery_commands">Spouštění příkazů recovery</string>
@@ -592,15 +592,15 @@
<string name="running_ors">Spouštění OpenRecoveryScript</string>
<string name="ors_complete">OpenRecoveryScript dokončený</string>
<string name="no_updater_binary">Nelze nájít \'{1}\' v souboru zip.</string>
- <string name="check_for_md5">Kontrola MD5 souboru...</string>
+ <string name="check_for_digest" version="2">Kontrola Digest souboru...</string>
<string name="fail_sysmap">Nelze namapovat soubor \'{1}\'</string>
<string name="verify_zip_sig">Ověřování podpisu zip souboru...</string>
<string name="verify_zip_fail">Ověřování podpisu zip souboru selhalo!</string>
<string name="verify_zip_done">Podpis souboru zip úspešně ověřený.</string>
<string name="zip_corrupt">Soubor zip je poškozený!</string>
- <string name="no_md5">Vynechání kontroly MD5: soubor s MD5 nenalezen</string>
- <string name="md5_fail">MD5 nesedí</string>
- <string name="md5_match">MD5 sedí</string>
+ <string name="no_digest" version="2">Vynechání kontroly Digest: soubor s Digest nenalezen</string>
+ <string name="digest_fail" version="2">Digest nesedí</string>
+ <string name="digest_match" version="2">Digest sedí</string>
<string name="pid_signal">Proces {1} skončil se signálem: {2}</string>
<string name="pid_error">Proces {1} skončil s CHYBOU: {2}</string>
<string name="install_dumlock">Instalování HTC Dumlock do systému...</string>
diff --git a/gui/theme/common/languages/de.xml b/gui/theme/common/languages/de.xml
index df985bf30..9d953a784 100644
--- a/gui/theme/common/languages/de.xml
+++ b/gui/theme/common/languages/de.xml
@@ -215,7 +215,7 @@
<string name="enc_disabled">deaktiviert - Passwort festlegen um zu aktivieren</string>
<string name="enc_enabled">aktiviert</string>
<string name="enable_backup_comp_chk">Komprimierung aktivieren</string>
- <string name="skip_md5_backup_chk">MD5-Erstellung für die Sicherung überspringen</string>
+ <string name="skip_digest_backup_chk" version="2">Digest-Erstellung für die Sicherung überspringen</string>
<string name="disable_backup_space_chk">Prüfung auf freien Speicher deaktivieren</string>
<string name="current_boot_slot">Aktiver Slot: %tw_active_slot%</string>
<string name="boot_slot_a">Slot A</string>
@@ -253,7 +253,7 @@
<string name="restore_try_decrypt_s">Versuche Entschlüsselung</string>
<string name="restore_backup_date">Sicherung am %tw_restore_file_date% erstellt</string>
<string name="restore_sel_part">Wiederherzustellende Partitionen:</string>
- <string name="restore_enable_md5_chk">MD5-Prüfung von Sicherungs-Dateien aktivieren</string>
+ <string name="restore_enable_digest_chk" version="2">Digest-Prüfung von Sicherungs-Dateien aktivieren</string>
<string name="restore_complete">Wiederherstellen abgeschlossen</string>
<string name="swipe_restore">Sicherung wiederherstellen</string>
<string name="swipe_restore_s">Wiederherstellen</string>
@@ -494,12 +494,12 @@
<string name="mtp_crash">MTP abgestürzt, MTP wird künftig während Bootvorgang nicht gestartet.</string>
<string name="decrypt_success">Erfolgreich mit dem Standardpasswort entschlüsselt.</string>
<string name="unable_to_decrypt">Entschlüsselung mit Standardpasswort nicht möglich. Eventuell muss die Daten-Partition formatiert werden.</string>
- <string name="generating_md51">Generiere MD5</string>
- <!-- Message displayed during a backup if we are generating an MD5, ideally, leave the leading " * " to help align and separate this text from other console text -->
- <string name="generating_md52"> * generiere MD5...</string>
- <string name="md5_created"> * MD5 erstellt.</string>
- <string name="md5_error"> * MD5-Fehler!</string>
- <string name="md5_compute_error"> * Fehler bei MD5-Berechnung.</string>
+ <string name="generating_digest1" version="2">Generiere Digest</string>
+ <!-- Message displayed during a backup if we are generating an Digest, ideally, leave the leading " * " to help align and separate this text from other console text -->
+ <string name="generating_digest2" version="2"> * generiere Digest...</string>
+ <string name="digest_created" version="2"> * Digest erstellt.</string>
+ <string name="digest_error" version="2"> * Digest-Fehler!</string>
+ <string name="digest_compute_error" version="2"> * Fehler bei Digest-Berechnung.</string>
<string name="current_date">(Aktuelles Datum)</string>
<string name="auto_generate">(Automatisch generiert)</string>
<string name="unable_to_locate_partition">Kann '{1}' Partition für Sicherungsberechnungen nicht finden.</string>
@@ -520,8 +520,8 @@
<string name="restore_folder">Wiederherstellen aus Ordner: '{1}'</string>
<!-- {1} is the partition display name and {2} is the number of seconds -->
<string name="restore_part_done">[{1} fertiggestellt ({2} Sekunden)]</string>
- <string name="verifying_md5">Überprüfe MD5</string>
- <string name="skip_md5">Überspringe MD5-Prüfung aufgrund Benutzereinstellungen.</string>
+ <string name="verifying_digest" version="2">Überprüfe Digest</string>
+ <string name="skip_digest" version="2">Überspringe Digest-Prüfung aufgrund Benutzereinstellungen.</string>
<string name="calc_restore">Berechne Wiederherstellungsinformationen...</string>
<string name="restore_read_only">Kann {1} nicht wiederherstellen -- Partition schreibgeschützt.</string>
<string name="restore_unable_locate">Kann wiederherzustellende '{1}'-Partition nicht finden.</string>
@@ -584,9 +584,9 @@
<string name="cannot_resize">Größe von {1} kann nicht geändert werden.</string>
<string name="repair_resize">{1} wird repariert. Danach wird die Größe geändert.</string>
<string name="unable_resize">Größe von {1} kann nicht geändert werden.</string>
- <string name="no_md5_found">Keine MD5-Datei für '{1}' gefunden. Bitte MD5-Prüfung für Wiederherstellung deaktivieren.</string>
- <string name="md5_fail_match">MD5-Prüfung für '{1}' fehlgeschlagen.</string>
- <string name="md5_matched">MD5 matched for '{1}'.</string>
+ <string name="no_digest_found" version="2">Keine Digest-Datei für '{1}' gefunden. Bitte Digest-Prüfung für Wiederherstellung deaktivieren.</string>
+ <string name="digest_fail_match" version="2">Digest-Prüfung für '{1}' fehlgeschlagen.</string>
+ <string name="digest_matched" version="2">Digest matched for '{1}'.</string>
<string name="fail_decrypt_tar">TAR-Datei '{1}' konnte nicht entschlüsselt werden.</string>
<string name="format_data_msg">Ein Neustart von TWRP kann notwendig sein, damit /data wieder verwendet werden kann.</string>
<string name="format_data_err">Formatierung zum Entfernen der Verschlüsselung kann nicht durchgeführt werden.</string>
@@ -608,7 +608,7 @@
<string name="backup_folder_set"> * Ordner für Sicherung: {1}</string>
<string name="locate_backup_err">Sicherung '{1}' nicht gefunden</string>
<string name="set_restore_opt">Setze Wiederherstellungs-Optionen: '{1}':</string>
- <string name="md5_check_skip">MD5-Prüfung ist deaktiviert</string>
+ <string name="digest_check_skip" version="2">Digest-Prüfung ist deaktiviert</string>
<string name="ors_encrypt_restore_err">Eine verschlüsselte Sicherung kann nicht per OpenRecoveryScript wiederhergestellt werden.</string>
<string name="mounting">Einhängen</string>
<string name="unmounting">Auswerfen</string>
@@ -629,7 +629,7 @@
<string name="installing_zip">Installiere Zip '{1}'</string>
<string name="select_backup_opt">Setze Sicherungs-Optionen:</string>
<string name="compression_on">Komprimierung ist aktiviert</string>
- <string name="md5_off">MD5-Generierung ist deaktiviert</string>
+ <string name="digest_off" version="2">Digest-Generierung ist deaktiviert</string>
<string name="backup_fail">Sicherung fehlgeschlagen</string>
<string name="backup_clean">Sicherung fehlgeschlagen, bereinige Sicherungs-Verzeichnis</string>
<string name="running_recovery_commands">Führe Recovery-Befehle aus</string>
@@ -637,15 +637,15 @@
<string name="running_ors">Führe OpenRecoveryScript aus</string>
<string name="ors_complete">OpenRecoveryScript ausgeführt</string>
<string name="invalid_zip_format">Invalid zip file format!</string>
- <string name="check_for_md5">Suche nach MD5-Datei...</string>
+ <string name="check_for_digest" version="2">Suche nach Digest-Datei...</string>
<string name="fail_sysmap">'{1}' kann nicht zugeordnet werden</string>
<string name="verify_zip_sig">Überprüfe ZIP-Signatur...</string>
<string name="verify_zip_fail">Prüfung der ZIP-Signatur fehlgeschlagen!</string>
<string name="verify_zip_done">Prüfung der ZIP-Signatur erfolgreich.</string>
<string name="zip_corrupt">ZIP-Datei ist beschädigt!</string>
- <string name="no_md5">MD5-Prüfung übersprungen: keine MD5-Datei gefunden</string>
- <string name="md5_fail">MD5 stimmt nicht überein</string>
- <string name="md5_match">MD5 stimmt überein</string>
+ <string name="no_digest" version="2">Digest-Prüfung übersprungen: keine Digest-Datei gefunden</string>
+ <string name="digest_fail" version="2">Digest stimmt nicht überein</string>
+ <string name="digest_match" version="2">Digest stimmt überein</string>
<string name="pid_signal">Prozess {1} endete mit Meldung: {2}</string>
<string name="pid_error">Prozess {1} endete mit FEHLER: {2}</string>
<string name="install_dumlock">Installiere HTC Dumlock in System-Partition...</string>
diff --git a/gui/theme/common/languages/el.xml b/gui/theme/common/languages/el.xml
index 7ec4d15a7..328c365c2 100644
--- a/gui/theme/common/languages/el.xml
+++ b/gui/theme/common/languages/el.xml
@@ -197,7 +197,7 @@
<string name="enc_disabled">απενεργοποιημένο - ορίσετε έναν κωδικό για να ενεργοποιήσετε</string>
<string name="enc_enabled">ενεργοποιημένο</string>
<string name="enable_backup_comp_chk">Ενεργοποιήσετε τη συμπίεση</string>
- <string name="skip_md5_backup_chk">Παράλ. δημιουργ. MD5 κατά την δημ. αντιγρ. ασφ.</string>
+ <string name="skip_digest_backup_chk" version="2">Παράλ. δημιουργ. Digest κατά την δημ. αντιγρ. ασφ.</string>
<string name="disable_backup_space_chk">Απενεργοποίηση Ελέγχου Ελεύθερου Χώρου</string>
<string name="refresh_sizes_btn">Ανανέωση Μεγεθών</string>
<string name="swipe_backup">Σύρετε για δημιουργ. Αντιγρ. Ασφαλ.</string>
@@ -230,7 +230,7 @@
<string name="restore_try_decrypt_s">Προσπάθεια αποκρυπτογράφησης</string>
<string name="restore_backup_date">Το Αντίγραφο ασφαλείας δημιουργήθηκε στο %tw_restore_file_date%</string>
<string name="restore_sel_part">Επιλέξτε Τομείς για Επαναφορά:</string>
- <string name="restore_enable_md5_chk">Ενεργ. την επαλήθευση MD5 στα αντίγρ. ασφαλ.</string>
+ <string name="restore_enable_digest_chk" version="2">Ενεργ. την επαλήθευση Digest στα αντίγρ. ασφαλ.</string>
<string name="restore_complete">Η Eπαναφορά ολοκληρώθηκε</string>
<string name="swipe_restore">Σύρετε για Eπαναφορά</string>
<string name="swipe_restore_s"> Επαναφορά</string>
@@ -467,11 +467,11 @@
<string name="mtp_crash">MTP συνετρίβη, δεν αρχίζει το MTP κατά την εκκίνηση.</string>
<string name="decrypt_success">Αποκρυπτογραφήθηκε με επιτυχία με τον προεπιλεγμένο κωδικό.</string>
<string name="unable_to_decrypt">Δεν είναι δυνατή η αποκρυπτογράφηση με τον προεπιλεγμένο κωδικός. Ίσως χρειαστεί να εκτελέσετε εκκαθάριση δεδομένων.</string>
- <string name="generating_md51">Δημιουργία MD5</string>
- <string name="generating_md52"> * Δημιουργία md5...</string>
- <string name="md5_created"> * MD5 δημιουργήθηκε.</string>
- <string name="md5_error"> * Σφάλμα MD5!</string>
- <string name="md5_compute_error"> * Σφάλμα υπολογισμού MD5.</string>
+ <string name="generating_digest1" version="2">Δημιουργία Digest</string>
+ <string name="generating_digest2" version="2"> * Δημιουργία Digest...</string>
+ <string name="digest_created" version="2"> * Digest δημιουργήθηκε.</string>
+ <string name="digest_error" version="2"> * Σφάλμα Digest!</string>
+ <string name="digest_compute_error" version="2"> * Σφάλμα υπολογισμού Digest.</string>
<string name="current_date">(Τρέχουσα ημερομηνία)</string>
<string name="auto_generate">(Αυτόματη δημιουργία)</string>
<string name="unable_to_locate_partition">Δεν μπορεί να εντοπιστεί ο '{1}' τομέας για υπολογισμούς αντ. ασφαλ.</string>
@@ -491,8 +491,8 @@
<string name="restore_started">[ΕΠΑΝΑΦΟΡΑ ΞΕΚΙΗΣΕ]</string>
<string name="restore_folder">Επαναφορά φακέλου: '{1}'</string>
<string name="restore_part_done">[{1} ολοκληρώθηκαν ({2} δευτερόλεπτα)]</string>
- <string name="verifying_md5">Επαλήθευση MD5</string>
- <string name="skip_md5">Παράλειψη ελέγχου MD5 βάση τις ρυθμίσεις χρήστη.</string>
+ <string name="verifying_digest" version="2">Επαλήθευση Digest</string>
+ <string name="skip_digest" version="2">Παράλειψη ελέγχου Digest βάση τις ρυθμίσεις χρήστη.</string>
<string name="calc_restore">Υπολογισμός λεπτομερειών επαναφοράς...</string>
<string name="restore_read_only">Δεν είναι δυνατό να επαναφέρετε {1} -- τοποθέτηση μόνο για ανάγνωση.</string>
<string name="restore_unable_locate">Δεν εντοπίζετε το διαμέρισμα «{1}» για αποκατάσταση.</string>
@@ -550,9 +550,9 @@
<string name="cannot_resize">Δεν μπορεί να αλλαχθεί το μέγεθος {1}.</string>
<string name="repair_resize">Επιδιόρθωση {1} πριν την αλλαγή μεγέθους.</string>
<string name="unable_resize">Δεν είναι δυνατή η αλλαγή μεγέθους {1}.</string>
- <string name="no_md5_found">Δεν βρέθηκε MD5 αρχείο για το '{1}'. Παρακαλώ απεπηλέξτε την επαλήθευση MD5 για επαναφορά.</string>
- <string name="md5_fail_match">Το MD5 απέτυχε να ταυτίσει με το '{1}'.</string>
- <string name="md5_matched">MD5 matched for '{1}'.</string>
+ <string name="no_digest_found" version="2">Δεν βρέθηκε Digest αρχείο για το '{1}'. Παρακαλώ απεπηλέξτε την επαλήθευση Digest για επαναφορά.</string>
+ <string name="digest_fail_match" version="2">Το Digest απέτυχε να ταυτίσει με το '{1}'.</string>
+ <string name="digest_matched" version="2">Digest matched for '{1}'.</string>
<string name="fail_decrypt_tar">Αποτυχία αποκρυπτογράφησης του αρχείου tar '{1}'</string>
<string name="format_data_msg">Ίσως χρειαστεί να επανεκκινήσετε στο recovery για να ξαναχρησιμοποιήσετε το /data.</string>
<string name="format_data_err">Αδύνατη η διαμόρφωση για να καταργήσετε την κρυπτογράφηση.</string>
@@ -573,7 +573,7 @@
<string name="backup_folder_set">Φάκελος αντιγρ. ασφ. ορίστηκε το '{1}'</string>
<string name="locate_backup_err">Δεν μπόρεσενα εντοπιστεί το αντιγρ. ασφ. '{1}'</string>
<string name="set_restore_opt">Ρύθμιση επιλογών επαναφοράς: '{1}':</string>
- <string name="md5_check_skip">Η παράλειψη ελέγχου MD5 είναι ενεργή</string>
+ <string name="digest_check_skip" version="2">Η παράλειψη ελέγχου Digest είναι ενεργή</string>
<string name="ors_encrypt_restore_err">Δεν μπορεί να χρησιμοποιηθεί το OpenRecoveryScript για να επαναφέρετε ένα κρυπτογραφημένο αντίγραφο ασφαλείας.</string>
<string name="mounting">Προσάρτηση</string>
<string name="unmounting">Αποπροσάρτηση</string>
@@ -594,7 +594,7 @@
<string name="installing_zip">Εγκατάσταση αρχείου zip '{1}'</string>
<string name="select_backup_opt">Ρύθμιση της δημιουργίας αντιγράφων ασφαλείας:</string>
<string name="compression_on">Η συμπίεση είναι ενεργή</string>
- <string name="md5_off">Η δημιουργία MD5 είναι απενεργοποιημένη</string>
+ <string name="digest_off" version="2">Η δημιουργία Digest είναι απενεργοποιημένη</string>
<string name="backup_fail">Η δημιουργία Αντίγραφου Ασφαλείας απέτυχε</string>
<string name="backup_clean">Η δημιουργία Αντίγρ. Ασφαλ. απέτυχε. Εκκαθάριση φακέλου.</string>
<string name="running_recovery_commands">Εκτέλεση Eντολών Recovery</string>
@@ -602,15 +602,15 @@
<string name="running_ors">Εκτέλεση OpenRecoveryScript</string>
<string name="ors_complete">OpenRecoveryScript Ολοκληρώθηκε</string>
<string name="no_updater_binary">Δεν βρέθηκε το '{1}' στο αρχείο zip.</string>
- <string name="check_for_md5">Έλεγχος για MD5 αρχείο...</string>
+ <string name="check_for_digest" version="2">Έλεγχος για Digest αρχείο...</string>
<string name="fail_sysmap">Αποτυχία αντιστ. αρχείου '{1}'</string>
<string name="verify_zip_sig">Επαλήθευση υπογραφής zip...</string>
<string name="verify_zip_fail">Η επαλήθευση της υπογραφής zip απέτυχε!</string>
<string name="verify_zip_done">Η επαλήθευση της υπογραφής zip ολοκληρώθηκε.</string>
<string name="zip_corrupt">Το αρχείο zip είναι κατεστραμμένο!</string>
- <string name="no_md5">Παράλειψη ελέγχου MD5: δεν βρέθηκε αρχείο MD5</string>
- <string name="md5_fail">Τα MD5 δεν ταυτίζονται</string>
- <string name="md5_match">Τα MD5 ταυτίζονται</string>
+ <string name="no_digest" version="2">Παράλειψη ελέγχου Digest: δεν βρέθηκε αρχείο Digest</string>
+ <string name="digest_fail" version="2">Τα Digest δεν ταυτίζονται</string>
+ <string name="digest_match" version="2">Τα Digest ταυτίζονται</string>
<string name="pid_signal">{1} διαδικασία τερματίστηκε με σήμα: {2}</string>
<string name="pid_error">{1} διαδικασία τερματίστηκε με ΣΦΑΛΜΑ: {2}</string>
<string name="install_dumlock">Εγκατάσταση HTC Dumlock στο σύστημα...</string>
@@ -649,4 +649,4 @@
<string name="up_a_level">(προηγ. επίπεδο)</string>
<string name="install_reboot">Επανεκκίνηση σε 5 δευτ.</string>
</resources>
-</language> \ No newline at end of file
+</language>
diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
index c14c3466e..5c208316c 100644
--- a/gui/theme/common/languages/en.xml
+++ b/gui/theme/common/languages/en.xml
@@ -215,7 +215,8 @@
<string name="enc_disabled">disabled - set a password to enable</string>
<string name="enc_enabled">enabled</string>
<string name="enable_backup_comp_chk">Enable compression</string>
- <string name="skip_md5_backup_chk">Skip MD5 generation during backup</string>
+ <string name="disable_backup_space_chk" version="2">Disable free space check before backup</string>
+ <string name="skip_digest_backup_chk" version="2">Skip Digest generation during backup</string>
<string name="disable_backup_space_chk" version="2">Disable free space check before backup</string>
<string name="current_boot_slot">Current Slot: %tw_active_slot%</string>
<string name="boot_slot_a">Slot A</string>
@@ -253,7 +254,7 @@
<string name="restore_try_decrypt_s">Trying Decryption</string>
<string name="restore_backup_date">Backup made on %tw_restore_file_date%</string>
<string name="restore_sel_part">Select Partitions to Restore:</string>
- <string name="restore_enable_md5_chk">Enable MD5 Verification of Backup Files</string>
+ <string name="restore_enable_digest_chk" version="2">Enable Digest Verification of Backup Files</string>
<string name="restore_complete">Restore Complete</string>
<string name="swipe_restore">Swipe to Restore</string>
<string name="swipe_restore_s"> Restore</string>
@@ -495,12 +496,12 @@
<string name="mtp_crash">MTP Crashed, not starting MTP on boot.</string>
<string name="decrypt_success">Successfully decrypted with default password.</string>
<string name="unable_to_decrypt">Unable to decrypt with default password. You may need to perform a Format Data.</string>
- <string name="generating_md51">Generating MD5</string>
- <!-- Message displayed during a backup if we are generating an MD5, ideally, leave the leading " * " to help align and separate this text from other console text -->
- <string name="generating_md52"> * Generating md5...</string>
- <string name="md5_created"> * MD5 Created.</string>
- <string name="md5_error"> * MD5 Error!</string>
- <string name="md5_compute_error"> * Error computing MD5.</string>
+ <string name="generating_digest1" version="2">Generating Digest</string>
+ <!-- Message displayed during a backup if we are generating an Digest, ideally, leave the leading " * " to help align and separate this text from other console text -->
+ <string name="generating_digest2" version="2"> * Generating digest...</string>
+ <string name="digest_created" version="2"> * Digest Created.</string>
+ <string name="digest_error" version="2"> * Digest Error!</string>
+ <string name="digest_compute_error" version="2"> * Error computing Digest.</string>
<string name="current_date">(Current Date)</string>
<string name="auto_generate">(Auto Generate)</string>
<string name="unable_to_locate_partition">Unable to locate '{1}' partition for backup calculations.</string>
@@ -521,8 +522,8 @@
<string name="restore_folder">Restore folder: '{1}'</string>
<!-- {1} is the partition display name and {2} is the number of seconds -->
<string name="restore_part_done">[{1} done ({2} seconds)]</string>
- <string name="verifying_md5">Verifying MD5</string>
- <string name="skip_md5">Skipping MD5 check based on user setting.</string>
+ <string name="verifying_digest" version="2">Verifying Digest</string>
+ <string name="skip_digest" version="2">Skipping Digest check based on user setting.</string>
<string name="calc_restore">Calculating restore details...</string>
<string name="restore_read_only">Cannot restore {1} -- mounted read only.</string>
<string name="restore_unable_locate">Unable to locate '{1}' partition for restoring.</string>
@@ -585,9 +586,9 @@
<string name="cannot_resize">Cannot resize {1}.</string>
<string name="repair_resize">Repairing {1} before resizing.</string>
<string name="unable_resize">Unable to resize {1}.</string>
- <string name="no_md5_found">No md5 file found for '{1}'. Please unselect Enable MD5 verification to restore.</string>
- <string name="md5_fail_match">MD5 failed to match on '{1}'.</string>
- <string name="md5_matched">MD5 matched for '{1}'.</string>
+ <string name="no_digest_found" version="2">No digest file found for '{1}'. Please unselect Enable Digest verification to restore.</string>
+ <string name="digest_fail_match" version="2">Digest failed to match on '{1}'.</string>
+ <string name="digest_matched" version="2">Digest matched for '{1}'.</string>
<string name="fail_decrypt_tar">Failed to decrypt tar file '{1}'</string>
<string name="format_data_msg">You may need to reboot recovery to be able to use /data again.</string>
<string name="format_data_err">Unable to format to remove encryption.</string>
@@ -609,7 +610,7 @@
<string name="backup_folder_set">Backup folder set to '{1}'</string>
<string name="locate_backup_err">Unable to locate backup '{1}'</string>
<string name="set_restore_opt">Setting restore options: '{1}':</string>
- <string name="md5_check_skip">MD5 check skip is on</string>
+ <string name="digest_check_skip" version="2">Digest check skip is on</string>
<string name="ors_encrypt_restore_err">Unable to use OpenRecoveryScript to restore an encrypted backup.</string>
<string name="mounting">Mounting</string>
<string name="unmounting">Unmounting</string>
@@ -630,23 +631,23 @@
<string name="installing_zip">Installing zip file '{1}'</string>
<string name="select_backup_opt">Setting backup options:</string>
<string name="compression_on">Compression is on</string>
- <string name="md5_off">MD5 Generation is off</string>
+ <string name="digest_off" version="2">Digest Generation is off</string>
<string name="backup_fail">Backup Failed</string>
<string name="backup_clean">Backup Failed. Cleaning Backup Folder.</string>
<string name="running_recovery_commands">Running Recovery Commands</string>
<string name="recovery_commands_complete">Recovery Commands Complete</string>
<string name="running_ors">Running OpenRecoveryScript</string>
<string name="ors_complete">OpenRecoveryScript Complete</string>
+ <string name="check_for_digest" version="2">Checking for Digest file...</string>
<string name="invalid_zip_format">Invalid zip file format!</string>
- <string name="check_for_md5">Checking for MD5 file...</string>
<string name="fail_sysmap">Failed to map file '{1}'</string>
<string name="verify_zip_sig">Verifying zip signature...</string>
<string name="verify_zip_fail">Zip signature verification failed!</string>
<string name="verify_zip_done">Zip signature verified successfully.</string>
<string name="zip_corrupt">Zip file is corrupt!</string>
- <string name="no_md5">Skipping MD5 check: no MD5 file found</string>
- <string name="md5_fail">MD5 does not match</string>
- <string name="md5_match">MD5 matched</string>
+ <string name="no_digest" version="2">Skipping Digest check: no Digest file found</string>
+ <string name="digest_fail" version="2">Digest does not match</string>
+ <string name="digest_match" version="2">Digest matched</string>
<string name="pid_signal">{1} process ended with signal: {2}</string>
<string name="pid_error">{1} process ended with ERROR: {2}</string>
<string name="install_dumlock">Installing HTC Dumlock to system...</string>
@@ -691,6 +692,7 @@
<string name="partition_not_found">path: {1} not found in partititon list</string>
<string name="copy_kernel_log">Copied kernel log to {1}</string>
<string name="include_kernel_log">Include Kernel Log</string>
+ <string name="sha2_chk">Use SHA2 for hashing</string>
<string name="unable_set_boot_slot">Error changing bootloader boot slot to {1}</string>
</resources>
</language>
diff --git a/gui/theme/common/languages/es.xml b/gui/theme/common/languages/es.xml
index 6fd693906..ffb3a8dcd 100644
--- a/gui/theme/common/languages/es.xml
+++ b/gui/theme/common/languages/es.xml
@@ -200,7 +200,7 @@
<string name="enc_disabled">desactivado - establezca una contraseña para activar</string>
<string name="enc_enabled">activado</string>
<string name="enable_backup_comp_chk">Habilitar compresión</string>
- <string name="skip_md5_backup_chk">Saltar generación MD5 durante respaldo</string>
+ <string name="skip_digest_backup_chk" version="2">Saltar generación Digest durante respaldo</string>
<string name="disable_backup_space_chk">Desactivar comprobación de Espacio Libre</string>
<string name="refresh_sizes_btn">Refrescar Tamaños</string>
<string name="swipe_backup">Desliza para Respaldar</string>
@@ -233,7 +233,7 @@
<string name="restore_try_decrypt_s">Intentando Desencriptarla</string>
<string name="restore_backup_date">Copia de seguridad creada en %tw_restore_file_date%</string>
<string name="restore_sel_part">Selecciona las Particiones para Restaurar:</string>
- <string name="restore_enable_md5_chk">Activar Verificación MD5 de la copia de seguridad</string>
+ <string name="restore_enable_digest_chk" version="2">Activar Verificación Digest de la copia de seguridad</string>
<string name="restore_complete">Restauración Completa</string>
<string name="swipe_restore">Desliza para Restaurar</string>
<string name="swipe_restore_s"> Restaurar</string>
@@ -470,11 +470,11 @@
<string name="mtp_crash">MTP falló, no se iniciará MTP en el arranque.</string>
<string name="decrypt_success">Datos descifrados exitosamente, nuevo dispositivo de bloque: \'{1}\'</string>
<string name="unable_to_decrypt">Incapaz de descifrar con la contraseña actual. Quizás necesites realizar un Formateo de Datos.</string>
- <string name="generating_md51">Generando MD5</string>
- <string name="generating_md52"> * Generando md5...</string>
- <string name="md5_created"> * MD5 Creado.</string>
- <string name="md5_error"> * ¡MD5 Error!</string>
- <string name="md5_compute_error"> * Error creando MD5.</string>
+ <string name="generating_digest1" version="2">Generando Digest</string>
+ <string name="generating_digest2" version="2"> * Generando Digest...</string>
+ <string name="digest_created" version="2"> * Digest Creado.</string>
+ <string name="digest_error" version="2"> * ¡Digest Error!</string>
+ <string name="digest_compute_error" version="2"> * Error creando Digest.</string>
<string name="current_date">(Fecha Actual)</string>
<string name="auto_generate">(Autogenerar)</string>
<string name="unable_to_locate_partition">Incapaz de localizar la partición’{1}’ para los cálculos de la copia de seguridad.</string>
@@ -494,8 +494,8 @@
<string name="restore_started">[RESTAURACIÓN COMENZADA]</string>
<string name="restore_folder">Restaurar carpeta: \'{1}\'</string>
<string name="restore_part_done">[{1} completado ({2} segundos)]</string>
- <string name="verifying_md5">Verificando MD5</string>
- <string name="skip_md5">Saltando checkeo de MD5 basado en ajustes del usuario.</string>
+ <string name="verifying_digest" version="2">Verificando Digest</string>
+ <string name="skip_digest" version="2">Saltando checkeo de Digest basado en ajustes del usuario.</string>
<string name="calc_restore">Calculando detalles de la restauración...</string>
<string name="restore_read_only">No se puede restaurar {1} -- montado en modo leer.</string>
<string name="restore_unable_locate">Incapaz de localizar la partición \'{1}\' para la restauración.</string>
@@ -553,9 +553,9 @@
<string name="cannot_resize">No se puede cambiar el tamaño de {1}.</string>
<string name="repair_resize">Reparando {1} antes de cambiar de tamaño.</string>
<string name="unable_resize">Incapaz de cambiar el tamaño de archivo de {1}.</string>
- <string name="no_md5_found">No se encuentra archivo md5 para \'{1}\'. Por favor, deselecciona Activar verificación de MD5 para restaurar.</string>
- <string name="md5_fail_match">MD5 no coincide en \'{1}\'.</string>
- <string name="md5_matched">MD5 matched for '{1}'.</string>
+ <string name="no_digest_found" version="2">No se encuentra archivo Digest para \'{1}\'. Por favor, deselecciona Activar verificación de Digest para restaurar.</string>
+ <string name="digest_fail_match" version="2">Digest no coincide en \'{1}\'.</string>
+ <string name="digest_matched" version="2">Digest matched for '{1}'.</string>
<string name="fail_decrypt_tar">Fallo al desencriptar el archivo tar '{1}'</string>
<string name="format_data_msg">Quizás necesites reiniciar el recovery para ser capaz de usar /data de nuevo.</string>
<string name="format_data_err">Incapaz de formatear para remover encriptación.</string>
@@ -576,7 +576,7 @@
<string name="backup_folder_set">Copia de Seguridad establecida en '{1}'</string>
<string name="locate_backup_err">Incapaz de localizar copia de seguridad \'{1}\'</string>
<string name="set_restore_opt">Ajustando opciones de restauración: \'{1}\':</string>
- <string name="md5_check_skip">El salto de checkeo de MD5 está activado</string>
+ <string name="digest_check_skip" version="2">El salto de checkeo de Digest está activado</string>
<string name="ors_encrypt_restore_err">Incapaz de usar OpenRecoveryScript para restaurar una copia de seguridad encriptada.</string>
<string name="mounting">Montando</string>
<string name="unmounting">Desmontando</string>
@@ -597,7 +597,7 @@
<string name="installing_zip">Instalando archivo zip '{1}'</string>
<string name="select_backup_opt">Ajustando opciones de copia de seguridad:</string>
<string name="compression_on">La compresión está activada</string>
- <string name="md5_off">La generación de MD5 está desactivada</string>
+ <string name="digest_off" version="2">La generación de Digest está desactivada</string>
<string name="backup_fail">Copia de seguridad fallida</string>
<string name="backup_clean">La copia de seguridad falló. Limpiando carpeta de la copia de seguridad.</string>
<string name="running_recovery_commands">Corriendo Comandos de Recovery</string>
@@ -605,15 +605,15 @@
<string name="running_ors">Corriendo OpenRecoveryScript</string>
<string name="ors_complete">OpenRecoveryScript Completo</string>
<string name="no_updater_binary">No fue posible encontrar \'{1}\' en el archivo zip.</string>
- <string name="check_for_md5">Buscando archivo MD5...</string>
+ <string name="check_for_digest" version="2">Buscando archivo Digest...</string>
<string name="fail_sysmap">Error al mapear archivo \'{1}\'</string>
<string name="verify_zip_sig">Verificando firma de zip…</string>
<string name="verify_zip_fail">¡Verificación de firma de Zip fallida!</string>
<string name="verify_zip_done">Firma de Zip verificada exitosamente.</string>
<string name="zip_corrupt">¡Este archivo Zip es corrupto!</string>
- <string name="no_md5">Saltando verificación de MD5: no se ha encontrado archivo MD5</string>
- <string name="md5_fail">MD5 no coincide</string>
- <string name="md5_match">MD5 coincide</string>
+ <string name="no_digest" version="2">Saltando verificación de Digest: no se ha encontrado archivo Digest</string>
+ <string name="digest_fail" version="2">Digest no coincide</string>
+ <string name="digest_match" version="2">Digest coincide</string>
<string name="pid_signal">Proceso {1} terminó con señal: {2}</string>
<string name="pid_error">Proceso {1} terminó con ERROR: {2}</string>
<string name="install_dumlock">Instalando HTC Dumlock en el sistema…</string>
diff --git a/gui/theme/common/languages/fr.xml b/gui/theme/common/languages/fr.xml
index f38446110..9768a6ab2 100644
--- a/gui/theme/common/languages/fr.xml
+++ b/gui/theme/common/languages/fr.xml
@@ -194,7 +194,7 @@
<string name="enc_disabled">désactivé - définir un mot de passe pour activer</string>
<string name="enc_enabled">activé</string>
<string name="enable_backup_comp_chk">Activer la compression</string>
- <string name="skip_md5_backup_chk">Ne pas générer de MD5 pendant la sauvegarde</string>
+ <string name="skip_digest_backup_chk" version="2">Ne pas générer de Digest pendant la sauvegarde</string>
<string name="disable_backup_space_chk">Désactiver la vérification de l'espace libre</string>
<string name="refresh_sizes_btn">Actualiser l'espace disponible</string>
<string name="swipe_backup">Glisser pour Sauvegarder</string>
@@ -228,7 +228,7 @@
<string name="restore_try_decrypt_s">Tentative de décryptage</string>
<string name="restore_backup_date">Sauvegarde effectuée sur %tw_restore_file_date%</string>
<string name="restore_sel_part">Sélectionner les Partitions à restaurer :</string>
- <string name="restore_enable_md5_chk">Activer la vérification MD5 des fichiers de sauvegarde</string>
+ <string name="restore_enable_digest_chk" version="2">Activer la vérification Digest des fichiers de sauvegarde</string>
<string name="restore_completed">Restauration terminée</string>
<string name="swipe_restore">Glisser pour Restaurer</string>
<string name="swipe_restore_s">Restaurer</string>
@@ -468,12 +468,12 @@
<string name="rebooting">Redémarrage...</string>
<string name="decrypt_success">Décryption réussie avec le mot de passe par défaut.</string>
<string name="unable_to_decrypt">Incapable de décrypter avec le mot de passe par défaut. Vous devrez peut-être formater la partition Données.</string>
- <string name="generating_md51">Génération du MD5</string>
- <string name="generating_md52">* Génération du MD5...</string>
- <string name="md5_created">* MD5 créé.</string>
- <string name="md5_error">* Erreur MD5 !</string>
- <string name="md5_compute_error">* Erreur dans le calcul du MD5.</string>
- <string name="md5_created">* MD5 créé.</string>
+ <string name="generating_digest1" version="2">Génération du Digest</string>
+ <string name="generating_digest2" version="2">* Génération du Digest...</string>
+ <string name="digest_created" version="2">* Digest créé.</string>
+ <string name="digest_error" version="2">* Erreur Digest !</string>
+ <string name="digest_compute_error" version="2">* Erreur dans le calcul du Digest.</string>
+ <string name="digest_created" version="2">* Digest créé.</string>
<string name="current_date">(Date du jour)</string>
<string name="auto_generate">(Génération automatisée)</string>
<string name="unable_to_locate_partition">Impossible de localiser la partition '{1}' pour le calcul de la sauvegarde.</string>
@@ -493,8 +493,8 @@
<string name="restore_started">[RESTAURATION COMMENCÉE]</string>
<string name="restore_folder">Restauration du dossier: '{1}'</string>
<string name="restore_part_done">[{1} complété ({2} secondes)]</string>
- <string name="verifying_md5">Vérification du MD5</string>
- <string name="skip_md5">Omission de la vérification des MD5 selon le réglage utilisateur.</string>
+ <string name="verifying_digest" version="2">Vérification du Digest</string>
+ <string name="skip_digest" version="2">Omission de la vérification des Digest selon le réglage utilisateur.</string>
<string name="calc_restore">Calcul des détails de la restauration...</string>
<string name="restore_read_only">Impossible de restaurer {1} -- monté en lecture seule.</string>
<string name="restore_unable_locate">Impossible de localiser la partition '{1}' pour la restauration.</string>
@@ -552,9 +552,9 @@
<string name="cannot_resize">Incapable de redimensionner {1}.</string>
<string name="repair_resize">Réparation de {1} avant de redimensionner.</string>
<string name="unable_resize">Incapable de redimensionner {1}.</string>
- <string name="no_md5_found">Pas de fichier md5 trouvé pour '{1}'. Veuillez désactiver la vérification MD5 pour effectuer la restauration.</string>
- <string name="md5_fail_match">Le MD5 ne correspond pas pour '{1}'.</string>
- <string name="md5_matched">Le MD5 correspond pour '{1}'.</string>
+ <string name="no_digest_found" version="2">Pas de fichier Digest trouvé pour '{1}'. Veuillez désactiver la vérification Digest pour effectuer la restauration.</string>
+ <string name="digest_fail_match" version="2">Le Digest ne corresponds pas pour '{1}'.</string>
+ <string name="digest_matched" version="2">Le Digest correspond pour '{1}'.</string>
<string name="restoring">Restauration en cours</string>
<string name="format_data_msg">Vous aurez peut-être à redémarrer pour pouvoir utiliser /data à nouveau.</string>
<string name="format_data_err">Incapable de formater pour enlever l'encryption.</string>
@@ -574,7 +574,7 @@
<string name="backup_folder">Dossier de sauvegarde à '{1}'</string>
<string name="locate_backup_err">Impossible de localiser la sauvegarde '{1}'</string>
<string name="set_restore_opt">Définition des options de restauration: '{1}':</string>
- <string name="md5_check_skip">La vérification MD5 est omise</string>
+ <string name="digest_check_skip" version="2">La vérification Digest est omise</string>
<string name="ors_encrypt_restore_err">Impossible d'utiliser OpenRecoveryScript pour restaurer une sauvegarde chiffrée.</string>
<string name="mounting">Montage</string>
<string name="unmounting">Démontage</string>
@@ -595,7 +595,7 @@
<string name="installing_zip">Installation du fichier zip '{1}'</string>
<string name="select_backup_opt">Définition des options de sauvegarde:</string>
<string name="compression_on">Compression activée</string>
- <string name="md5_off">La génération de MD5 est désactivée</string>
+ <string name="digest_off" version="2">La génération de Digest est désactivée</string>
<string name="backup_fail">Échec de la sauvegarde</string>
<string name="backup_complete">Sauvegarde terminée!</string>
<string name="running_recovery_commands">Exécution des commandes de récupération</string>
@@ -603,15 +603,15 @@
<string name="running_ors">OpenRecoveryScript en cours d'exécution</string>
<string name="ors_complete">OpenRecoveryScript complété</string>
<string name="no_updater_binary">'{1}' introuvable dans le fichier zip.</string>
- <string name="check_for_md5">Vérification des fichiers MD5...</string>
+ <string name="check_for_digest" version="2">Vérification des fichiers Digest...</string>
<string name="fail_sysmap">Impossible de mapper le fichier '{1}'</string>
<string name="verify_zip_sig">Vérification de la signature du zip...</string>
<string name="verify_zip_fail">Échec de la vérification des signatures du zip!</string>
<string name="verify_zip_done">Signature du zip vérifiée correctement.</string>
<string name="zip_corrupt">Le fichier zip est corrompu!</string>
- <string name="no_md5">Pas de vérification MD5: aucun fichier MD5 trouvé</string>
- <string name="md5_fail">Le MD5 ne correspond pas</string>
- <string name="md5_match">Le MD5 correspond</string>
+ <string name="no_digest" version="2">Pas de vérification Digest: aucun fichier Digest trouvé</string>
+ <string name="digest_fail" version="2">Le Digest ne correspond pas</string>
+ <string name="digest_match" version="2">Le Digest correspond</string>
<string name="pid_signal">Le processus {1} s'est terminé avec le signal: {2}</string>
<string name="pid_error">Le processus {1} s'est terminé avec ERREUR: {2}</string>
<string name="install_dumlock">Installation de HTC Dumlock...</string>
diff --git a/gui/theme/common/languages/hu.xml b/gui/theme/common/languages/hu.xml
index 77b1ba46d..da60bbbd5 100644
--- a/gui/theme/common/languages/hu.xml
+++ b/gui/theme/common/languages/hu.xml
@@ -215,7 +215,7 @@
<string name="enc_disabled">letiltva - állítson be jelszót az engedélyezéshez</string>
<string name="enc_enabled">engedélyezve</string>
<string name="enable_backup_comp_chk">Tömörítés engedélyezése</string>
- <string name="skip_md5_backup_chk">Mentés közbeni MD5 generálás kihagyása</string>
+ <string name="skip_digest_backup_chk" version="2">Mentés közbeni Digest generálás kihagyása</string>
<string name="disable_backup_space_chk" version="2">Szabad hely ellenőrzésének letiltása</string>
<string name="current_boot_slot">Jelenlegi Slot: %tw_active_slot%</string>
<string name="boot_slot_a">Slot A</string>
@@ -253,7 +253,7 @@
<string name="restore_try_decrypt_s">Dekódolás megpróbálása</string>
<string name="restore_backup_date">Biztonsági mentés ideje: %tw_restore_file_date%</string>
<string name="restore_sel_part">Válassza ki a visszaállítandó partíciókat:</string>
- <string name="restore_enable_md5_chk">A biztonsági mentési fájlok MD5 ellenőrzésének engedélyezése</string>
+ <string name="restore_enable_digest_chk" version="3">A biztonsági mentési fájlok Digest ellenőrzésének engedélyezése</string>
<string name="restore_complete">Mentés helyreállítása kész</string>
<string name="swipe_restore">Csúsztasson a visszaállításhoz</string>
<string name="swipe_restore_s"> Visszaállítás</string>
@@ -494,12 +494,12 @@
<string name="mtp_crash">MTP összeomlott, MTP nem indul bootoláskor.</string>
<string name="decrypt_success">Sikeresen visszafejtve az alapértelmezett jelszóval.</string>
<string name="unable_to_decrypt">Visszafejtés sikertelen az alapértelmezett jelszóval. Szükség lehet az adatok formázására.</string>
- <string name="generating_md51">MD5 generálása</string>
- <!-- Message displayed during a backup if we are generating an MD5, ideally, leave the leading " * " to help align and separate this text from other console text -->
- <string name="generating_md52"> * MD5 generálása...</string>
- <string name="md5_created"> * MD5 létrehozva.</string>
- <string name="md5_error"> * MD5 hiba!</string>
- <string name="md5_compute_error"> * MD5 számítási hiba.</string>
+ <string name="generating_digest1" version="3">Digest generálása</string>
+ <!-- Message displayed during a backup if we are generating an Digest, ideally, leave the leading " * " to help align and separate this text from other console text -->
+ <string name="generating_digest2" version="3"> * Digest generálása...</string>
+ <string name="digest_created" version="3"> * Digest létrehozva.</string>
+ <string name="digest_error" version="3"> * Digest hiba!</string>
+ <string name="digest_compute_error" version="3"> * Digest számítási hiba.</string>
<string name="current_date">(Aktuális dátum)</string>
<string name="auto_generate">(Automatikus létrehozás)</string>
<string name="unable_to_locate_partition">'{1}' partíció nem található a biztonsági mentési számításokhoz.</string>
@@ -520,8 +520,8 @@
<string name="restore_folder">Mappa visszaállítása: '{1}'</string>
<!-- {1} is the partition display name and {2} is the number of seconds -->
<string name="restore_part_done">[{1} kész ({2} másodperc)]</string>
- <string name="verifying_md5">MD5 ellenőrzése</string>
- <string name="skip_md5">MD5 ellenőrzés átugrása felhasználói beállítás alapján.</string>
+ <string name="verifying_digest" version="3">Digest ellenőrzése</string>
+ <string name="skip_digest" version="3">Digest ellenőrzés átugrása felhasználói beállítás alapján.</string>
<string name="calc_restore">Visszaállítási részletek számítása...</string>
<string name="restore_read_only">{1} nem állítható vissza -- csak olvashatóként csatolva.</string>
<string name="restore_unable_locate">Nem található a(z) '{1}' partíció a visszaállításhoz.</string>
@@ -584,9 +584,9 @@
<string name="cannot_resize">{1} átméretezése sikertelen.</string>
<string name="repair_resize">{1} javítása az átméretezés előtt.</string>
<string name="unable_resize">Nem lehet átméretezni: {1}.</string>
- <string name="no_md5_found">Nem található MD5 fájl ehhez: '{1}'. Kérjük, a visszaállításhoz szüntesse meg a kijelölést: \"MD5 ellenőrzés engedélyezése\".</string>
- <string name="md5_fail_match">MD5 nem egyezik ezzel: '{1}'.</string>
- <string name="md5_matched">MD5 egyezik ezzel: '{1}'.</string>
+ <string name="no_digest_found" version="2">Nem található Digest fájl ehhez: '{1}'. Kérjük, a visszaállításhoz szüntesse meg a kijelölést: \"MD5 ellenőrzés engedélyezése\".</string>
+ <string name="digest_fail_match" version="2">Digest nem egyezik ezzel: '{1}'.</string>
+ <string name="digest_matched" version="2">Digest egyezik ezzel: '{1}'.</string>
<string name="fail_decrypt_tar">Nem sikerült visszafejteni a(z) '{1}' tar fájlt</string>
<string name="format_data_msg">Lehet, hogy a recovery-be kell újraindítania ahhoz, hogy képes legyen használni az /adat partíciót.</string>
<string name="format_data_err">Nem sikerült formázni a titkosítás eltávolításához.</string>
@@ -608,7 +608,7 @@
<string name="backup_folder_set">Biztonsági mentés mappája beállítva erre: '{1}'</string>
<string name="locate_backup_err">Nem található a(z) '{1}' biztonsági mentés</string>
<string name="set_restore_opt">Visszaállítási beállítások beállítása: '{1}':</string>
- <string name="md5_check_skip">MD5 ellenőrzés kihagyása bekapcsolva</string>
+ <string name="digest_check_skip" version="2">Digest ellenőrzés kihagyása bekapcsolva</string>
<string name="ors_encrypt_restore_err">Nem sikerült az OpenRecoveryScript futtatása egy titkosított biztonsági mentés visszaállításához.</string>
<string name="mounting">Csatolás</string>
<string name="unmounting">Leválasztás</string>
@@ -629,7 +629,7 @@
<string name="installing_zip">'{1}' zip fájl telepítése</string>
<string name="select_backup_opt">Biztonsági mentési beállítások:</string>
<string name="compression_on">Tömörítés bekapcsolva</string>
- <string name="md5_off">MD5 generálás kikapcsolva</string>
+ <string name="digest_off" version="3">Digest generálás kikapcsolva</string>
<string name="backup_fail">Biztonsági mentés készítése sikertelen</string>
<string name="backup_clean">Biztonsági mentés nem sikerült. Mentési mappa tisztítása.</string>
<string name="running_recovery_commands">Recovery parancsok futtatása</string>
@@ -637,15 +637,15 @@
<string name="running_ors">OpenRecoveryScript futtatása</string>
<string name="ors_complete">OpenRecoveryScript kész</string>
<string name="invalid_zip_format">Érvénytelen zip fájlformátum!</string>
- <string name="check_for_md5">MD5 fájl ellenőrzése...</string>
+ <string name="check_for_digest" version="2">Digest fájl ellenőrzése...</string>
<string name="fail_sysmap">'{1}' fájl feltérképezése sikertelen</string>
<string name="verify_zip_sig">Zip aláírás ellenőrzése...</string>
<string name="verify_zip_fail">Zip aláírás ellenőrzése nem sikerült!</string>
<string name="verify_zip_done">Zip aláírás ellenőrzése sikeres.</string>
<string name="zip_corrupt">Zip fájl sérült!</string>
- <string name="no_md5">MD5 ellenőrzés kihagyása: nem található MD5 fájl</string>
- <string name="md5_fail">MD5 nem egyezik meg</string>
- <string name="md5_match">MD5 egyezik</string>
+ <string name="no_digest" version="3">Digest ellenőrzés kihagyása: nem található Digest fájl</string>
+ <string name="digest_fail" version="3">Digest nem egyezik meg</string>
+ <string name="digest_match" version="3">Digest egyezik</string>
<string name="pid_signal">{1} folyamat véget ért a következő jellel: {2}</string>
<string name="pid_error">{1} folyamat véget ért a következő HIBÁVAL: {2}</string>
<string name="install_dumlock">HTC Dumlock telepítése a rendszerbe...</string>
diff --git a/gui/theme/common/languages/it.xml b/gui/theme/common/languages/it.xml
index b89528328..57cbe9ae0 100644
--- a/gui/theme/common/languages/it.xml
+++ b/gui/theme/common/languages/it.xml
@@ -215,7 +215,7 @@
<string name="enc_disabled">disabilitata - imposta una password per abilitarla</string>
<string name="enc_enabled">abilitata</string>
<string name="enable_backup_comp_chk">Abilita compressione</string>
- <string name="skip_md5_backup_chk">Salta la generazione di MD5 durante il backup</string>
+ <string name="skip_digest_backup_chk" version="2">Salta la generazione di Digest durante il backup</string>
<string name="disable_backup_space_chk" version="2">Disabilita controllo dello spazio libero prima del backup</string>
<string name="current_boot_slot">Slot attuale: %tw_active_slot%</string>
<string name="boot_slot_a">Slot A</string>
@@ -253,7 +253,7 @@
<string name="restore_try_decrypt_s">Tentativo di decriptazione</string>
<string name="restore_backup_date">Backup creato il %tw_restore_file_date%</string>
<string name="restore_sel_part">Seleziona le partizioni da ripristinare:</string>
- <string name="restore_enable_md5_chk">Abilita verifica MD5</string>
+ <string name="restore_enable_digest_chk" version="2">Abilita verifica Digest</string>
<string name="restore_complete">Ripristino completato</string>
<string name="swipe_restore">Scorri per ripristinare</string>
<string name="swipe_restore_s"> Ripristina</string>
@@ -494,12 +494,12 @@
<string name="mtp_crash">MTP si è arrestato. Non sarà più inizializzato all'avvio.</string>
<string name="decrypt_success">Decriptazione con password predefinita avvenuta con successo.</string>
<string name="unable_to_decrypt">Impossibile decriptare con password predefinita. Potresti dover formattare Data.</string>
- <string name="generating_md51">Generazione MD5 in corso...</string>
- <!-- Message displayed during a backup if we are generating an MD5, ideally, leave the leading " * " to help align and separate this text from other console text -->
- <string name="generating_md52"> * Generazione MD5 in corso...</string>
- <string name="md5_created"> * MD5 creato.</string>
- <string name="md5_error"> * Errore nell'MD5!</string>
- <string name="md5_compute_error"> * Errore nel calcolo dell'MD5.</string>
+ <string name="generating_digest1" version="2">Generazione Digest in corso...</string>
+ <!-- Message displayed during a backup if we are generating an Digest, ideally, leave the leading " * " to help align and separate this text from other console text -->
+ <string name="generating_digest2" version="2"> * Generazione Digest in corso...</string>
+ <string name="digest_created" version="2"> * Digest creato.</string>
+ <string name="digest_error" version="2"> * Errore nell'Digest!</string>
+ <string name="digest_compute_error" version="2"> * Errore nel calcolo dell'Digest.</string>
<string name="current_date">(Data attuale)</string>
<string name="auto_generate">(Genera automaticamente)</string>
<string name="unable_to_locate_partition">Impossibile localizzare la partizione '{1}' per il calcolo delle dimensioni del backup.</string>
@@ -520,8 +520,8 @@
<string name="restore_folder">Cartella da cui ripristinare: '{1}'</string>
<!-- {1} is the partition display name and {2} is the number of seconds -->
<string name="restore_part_done">[Partizione {1} ripristinata ({2} secondi)]</string>
- <string name="verifying_md5">Verifica MD5 in corso...</string>
- <string name="skip_md5">Saltando la verifica del MD5 in base alle impostazioni stabilite.</string>
+ <string name="verifying_digest" version="2">Verifica Digest in corso...</string>
+ <string name="skip_digest" version="2">Saltando la verifica del Digest in base alle impostazioni stabilite.</string>
<string name="calc_restore">Calcolo dei dettagli del ripristino in corso...</string>
<string name="restore_read_only">Impossibile ripristinare {1} -- partizione montata in sola lettura.</string>
<string name="restore_unable_locate">Impossibile localizzare la partizione '{1}' per il ripristino.</string>
@@ -584,9 +584,9 @@
<string name="cannot_resize">Impossibile ridimensionare {1}.</string>
<string name="repair_resize">Riparazione di {1} prima del ridimensionamento.</string>
<string name="unable_resize">Impossibile ridimensionare {1}.</string>
- <string name="no_md5_found">Nessun MD5 trovato per '{1}'. Deseleziona "Abilita verifica MD5" per procedere con il ripristino.</string>
- <string name="md5_fail_match">Il valore MD5 non corrisponde per '{1}'.</string>
- <string name="md5_matched">MD5 trovato per '{1}'.</string>
+ <string name="no_digest_found" version="2">Nessun Digest trovato per '{1}'. Deseleziona "Abilita verifica Digest" per procedere con il ripristino.</string>
+ <string name="digest_fail_match" version="2">Il valore Digest non corrisponde per '{1}'.</string>
+ <string name="digest_matched" version="2">Digest trovato per '{1}'.</string>
<string name="fail_decrypt_tar">Decriptazione fallita per il file Tar '{1}'</string>
<string name="format_data_msg">Potresti dover riavviare la Recovery per accedere nuovamente a Data.</string>
<string name="format_data_err">Impossibile formattare al fine di rimuovere la crittografia.</string>
@@ -608,7 +608,7 @@
<string name="backup_folder_set">Cartella dei backup impostata in '{1}'</string>
<string name="locate_backup_err">Impossibile localizzare il backup '{1}'</string>
<string name="set_restore_opt">Impostazione opzioni di ripristino: '{1}':</string>
- <string name="md5_check_skip">Tralascia controllo MD5: attivo</string>
+ <string name="digest_check_skip" version="2">Tralascia controllo Digest: attivo</string>
<string name="ors_encrypt_restore_err">Impossibile utilizzare OpenRecoveryScript per ripristinare un backup criptato.</string>
<string name="mounting">Montaggio</string>
<string name="unmounting">Smontaggio</string>
@@ -629,7 +629,7 @@
<string name="installing_zip">Installazione dello Zip '{1}' in corso...</string>
<string name="select_backup_opt">Impostazione opzioni di backup:</string>
<string name="compression_on">La compressione è attiva</string>
- <string name="md5_off">La generazione di MD5 è disattiva</string>
+ <string name="digest_off" version="2">La generazione di Digest è disattiva</string>
<string name="backup_fail">Backup non riuscito</string>
<string name="backup_clean">Backup non riuscito. Pulizia della cartella dei backup in corso...</string>
<string name="running_recovery_commands">Esecuzione dei comandi di ripristino...</string>
@@ -637,15 +637,15 @@
<string name="running_ors">Esecuzione di OpenRecoveryScript...</string>
<string name="ors_complete">Esecuzione di OpenRecoveryScript completata</string>
<string name="invalid_zip_format">File zip non valido!</string>
- <string name="check_for_md5">Controllo sull'MD5 in corso...</string>
+ <string name="check_for_digest" version="2">Controllo sull'Digest in corso...</string>
<string name="fail_sysmap">Impossibile mappare '{1}'</string>
<string name="verify_zip_sig">Verifica della firma dello Zip in corso...</string>
<string name="verify_zip_fail">Verifica della firma non riuscita!</string>
<string name="verify_zip_done">Verifica della firma completata con successo.</string>
<string name="zip_corrupt">Il file Zip è corrotto!</string>
- <string name="no_md5">Nessun MD5 trovato: la verifica non sarà eseguita</string>
- <string name="md5_fail">L'MD5 non corrisponde</string>
- <string name="md5_match">L'MD5 corrisponde</string>
+ <string name="no_digest" version="2">Nessun Digest trovato: la verifica non sarà eseguita</string>
+ <string name="digest_fail" version="2">L'Digest non corrisponde</string>
+ <string name="digest_match" version="2">L'Digest corrisponde</string>
<string name="pid_signal">Il processo {1} è terminato con segnale: {2}</string>
<string name="pid_error">Il processo {1} è terminato con ERRORE: {2}</string>
<string name="install_dumlock">Installazione di HTC Dumlock in System...</string>
diff --git a/gui/theme/common/languages/nl.xml b/gui/theme/common/languages/nl.xml
index 340ce6d24..d4dd7bfee 100644
--- a/gui/theme/common/languages/nl.xml
+++ b/gui/theme/common/languages/nl.xml
@@ -207,7 +207,7 @@
<string name="enc_disabled">uitgeschakeld - stel een wachtwoord in om in te schakelen</string>
<string name="enc_enabled">ingeschakeld</string>
<string name="enable_backup_comp_chk">Compressie inschakelen</string>
- <string name="skip_md5_backup_chk">MD5 generatie tijdens back-up overslaan</string>
+ <string name="skip_digest_backup_chk" version="2">Digest generatie tijdens back-up overslaan</string>
<string name="disable_backup_space_chk">Vrije ruimte controle uitschakelen</string>
<string name="refresh_sizes_btn">Grootte vernieuwen</string>
<string name="swipe_backup">Veeg voor back-up</string>
@@ -240,7 +240,7 @@
<string name="restore_try_decrypt_s">Decodering proberen</string>
<string name="restore_backup_date">Back-up gemaakt op %tw_restore_file_date%</string>
<string name="restore_sel_part">Selecteer partities om te herstellen:</string>
- <string name="restore_enable_md5_chk">MD5 controle van back-up bestanden Inschakelen</string>
+ <string name="restore_enable_digest_chk" version="2">Digest controle van back-up bestanden Inschakelen</string>
<string name="restore_complete">Herstellen voltooid</string>
<string name="swipe_restore">Veeg om te herstellen</string>
<string name="swipe_restore_s"> Herstellen</string>
@@ -481,12 +481,12 @@
<string name="mtp_crash">MTP crashte, MTP niet starten tijdens boot.</string>
<string name="decrypt_success">Succesvol gedecodeerd met standaardwachtwoord.</string>
<string name="unable_to_decrypt">Kan niet decoderen met het standaardwachtwoord. U zal wellicht een Data format moeten uitvoeren.</string>
- <string name="generating_md51">MD5 genereren</string>
- <!-- Message displayed during a backup if we are generating an MD5, ideally, leave the leading " * " to help align and separate this text from other console text -->
- <string name="generating_md52"> * md5 genereren...</string>
- <string name="md5_created"> * MD5 gemaakt.</string>
- <string name="md5_error"> * MD5 fout!</string>
- <string name="md5_compute_error"> * Fout tijdens het genereren van de MD5.</string>
+ <string name="generating_digest1" version="2">Digest genereren</string>
+ <!-- Message displayed during a backup if we are generating an Digest, ideally, leave the leading " * " to help align and separate this text from other console text -->
+ <string name="generating_digest2" version="2"> * Digest genereren...</string>
+ <string name="digest_created" version="2"> * Digest gemaakt.</string>
+ <string name="digest_error" version="2"> * Digest fout!</string>
+ <string name="digest_compute_error" version="2"> * Fout tijdens het genereren van de Digest.</string>
<string name="current_date">(Huidige datum)</string>
<string name="auto_generate">(Automatisch genereren)</string>
<string name="unable_to_locate_partition">Kan partitie \'{1}\' niet vinden voor back-up berekeningen.</string>
@@ -507,8 +507,8 @@
<string name="restore_folder">Herstel map: \'{1}\'</string>
<!-- {1} is the partition display name and {2} is the number of seconds -->
<string name="restore_part_done">[{1} gereed ({2} seconden)]</string>
- <string name="verifying_md5">MD5 Controleren</string>
- <string name="skip_md5">MD5 controle op basis van gebruikersinstelling overslaan.</string>
+ <string name="verifying_digest" version="2">Digest Controleren</string>
+ <string name="skip_digest" version="2">Digest controle op basis van gebruikersinstelling overslaan.</string>
<string name="calc_restore">Herstel details berekenen...</string>
<string name="restore_read_only">Kan {1} niet herstellen -- Als alleen lezen gekoppeld.</string>
<string name="restore_unable_locate">Kan \'{1}\' niet vinden voor herstellen.</string>
@@ -570,9 +570,9 @@
<string name="cannot_resize">Kan het formaat van {1} niet wijzigen.</string>
<string name="repair_resize">Herstellen van {1} vóór het vergroten/verkleinen.</string>
<string name="unable_resize">Kan de grootte van {1} niet wijzigen.</string>
- <string name="no_md5_found">Geen md5 bestand gevonden voor \'{1}\'. Gelieve MD5 controle inschakelen uitzetten om te herstellen.</string>
- <string name="md5_fail_match">MD5 vergelijken mislukt op \'{1}\'.</string>
- <string name="md5_matched">MD5 matched for '{1}'.</string>
+ <string name="no_digest_found" version="2">Geen Digest bestand gevonden voor \'{1}\'. Gelieve Digest controle inschakelen uitzetten om te herstellen.</string>
+ <string name="digest_fail_match" version="2">Digest vergelijken mislukt op \'{1}\'.</string>
+ <string name="digest_matched" version="2">Digest matched for '{1}'.</string>
<string name="fail_decrypt_tar">Het decoderen van tar bestand \'{1}\' is mislukt</string>
<string name="format_data_msg">U zou in recovery moeten herstarten om /data opnieuw te kunnen gebruiken.</string>
<string name="format_data_err">Kan niet formatteren om encryptie te verwijderen.</string>
@@ -593,7 +593,7 @@
<string name="backup_folder_set">Back-up map ingesteld op \'{1}\'</string>
<string name="locate_backup_err">Kan de back-up niet vinden \'{1}\'</string>
<string name="set_restore_opt">Opties voor terugzetten instellen: \'{1}\':</string>
- <string name="md5_check_skip">MD5 controle overslaan staat aan</string>
+ <string name="digest_check_skip" version="2">Digest controle overslaan staat aan</string>
<string name="ors_encrypt_restore_err">Kan OpenRecoveryScript niet gebruiken om een versleutelde back-up te herstellen.</string>
<string name="mounting">Koppelen</string>
<string name="unmounting">Ontkoppelen</string>
@@ -614,7 +614,7 @@
<string name="installing_zip">Installeren van zip-bestand \'{1}\'</string>
<string name="select_backup_opt">Back-up opties instellen:</string>
<string name="compression_on">Compressie staat aan</string>
- <string name="md5_off">MD5 Generatie is uitgeschakeld</string>
+ <string name="digest_off" version="2">Digest Generatie is uitgeschakeld</string>
<string name="backup_fail">Back-up mislukt</string>
<string name="backup_clean">Back-up mislukt. Back-up map schoonmaken.</string>
<string name="running_recovery_commands">Herstel commando\'s uitvoeren</string>
@@ -622,15 +622,15 @@
<string name="running_ors">OpenRecoveryScript is bezig</string>
<string name="ors_complete">OpenRecoveryScript is voltooid</string>
<string name="no_updater_binary">Kan \'{1}\' niet vinden in het zip-bestand.</string>
- <string name="check_for_md5">Controle voor een MD5 bestand...</string>
+ <string name="check_for_digest" version="2">Controle voor een Digest bestand...</string>
<string name="fail_sysmap">Toewijzen van bestand \'{1}\' is mislukt</string>
<string name="verify_zip_sig">Zip handtekening controleren...</string>
<string name="verify_zip_fail">Zip handtekeningverificatie is mislukt!</string>
<string name="verify_zip_done">De handtekening van de zip met succes geverifieerd.</string>
<string name="zip_corrupt">Zip-bestand is beschadigd!</string>
- <string name="no_md5">MD5 controle overslaan: geen MD5 bestand gevonden</string>
- <string name="md5_fail">MD5 komt niet overeen</string>
- <string name="md5_match">MD5 komt overeen</string>
+ <string name="no_digest" version="2">Digest controle overslaan: geen Digest bestand gevonden</string>
+ <string name="digest_fail" version="2">Digest komt niet overeen</string>
+ <string name="digest_match" version="2">Digest komt overeen</string>
<string name="pid_signal">{1} proces eindigde met signaal: {2}</string>
<string name="pid_error">{1} proces beëindigd met fout: {2}</string>
<string name="install_dumlock">HTC Dumlock installeren op het systeem...</string>
diff --git a/gui/theme/common/languages/pl.xml b/gui/theme/common/languages/pl.xml
index 7721421a4..46fe43de2 100644
--- a/gui/theme/common/languages/pl.xml
+++ b/gui/theme/common/languages/pl.xml
@@ -207,7 +207,7 @@
<string name="enc_disabled">wyłączone - ustaw hasło, aby włączyć</string>
<string name="enc_enabled">włączone</string>
<string name="enable_backup_comp_chk">Włącz kompresję</string>
- <string name="skip_md5_backup_chk">Pomiń generowanie MD5 kopii zapasowej</string>
+ <string name="skip_digest_backup_chk" version="2">Pomiń generowanie Digest kopii zapasowej</string>
<string name="disable_backup_space_chk">Wyłącz sprawdzanie wolnego miejsca</string>
<string name="refresh_sizes_btn">Odśwież rozmiary</string>
<string name="swipe_backup">Przesuń, aby wykonać kopię</string>
@@ -240,7 +240,7 @@
<string name="restore_try_decrypt_s">Spróbuj rozszyfrować</string>
<string name="restore_backup_date">Kopia zapasowa utworzona %tw_restore_file_date%</string>
<string name="restore_sel_part">Wybierz partycje do przywrócenia:</string>
- <string name="restore_enable_md5_chk">Włącz weryfikację MD5 kopii zapasowych</string>
+ <string name="restore_enable_digest_chk" version="2">Włącz weryfikację Digest kopii zapasowych</string>
<string name="restore_complete">Przywracanie zakończone</string>
<string name="swipe_restore">Przesuń, aby przywrócić</string>
<string name="swipe_restore_s"> Przywróć</string>
@@ -481,12 +481,12 @@
<string name="mtp_crash">MTP uległo awarii, wyłączczam MTP przy starcie.</string>
<string name="decrypt_success">Pomyślnie rozszyfrowano z domyślnym hasłem.</string>
<string name="unable_to_decrypt">Nie można odszyfrować z domyślnym hasłem. Może trzeba będzie wykonać Format Data.</string>
- <string name="generating_md51">Generowanie MD5</string>
- <!-- Message displayed during a backup if we are generating an MD5, ideally, leave the leading " * " to help align and separate this text from other console text -->
- <string name="generating_md52"> * Generowanie md5...</string>
- <string name="md5_created"> * MD5 utworzone.</string>
- <string name="md5_error"> * Błąd MD5!</string>
- <string name="md5_compute_error"> * Błąd przetwarzania MD5.</string>
+ <string name="generating_digest1" version="2">Generowanie Digest</string>
+ <!-- Message displayed during a backup if we are generating an Digest, ideally, leave the leading " * " to help align and separate this text from other console text -->
+ <string name="generating_digest2" version="2"> * Generowanie Digest...</string>
+ <string name="digest_created" version="2"> * Digest utworzone.</string>
+ <string name="digest_error" version="2"> * Błąd Digest!</string>
+ <string name="digest_compute_error" version="2"> * Błąd przetwarzania Digest.</string>
<string name="current_date">(Obecna data)</string>
<string name="auto_generate">(Generuj automatycznie)</string>
<string name="unable_to_locate_partition">Nie można zlokalizować partycji '{1}' do obliczenia kopii zapasowej.</string>
@@ -507,8 +507,8 @@
<string name="restore_folder">Folder przywracania: '{1}'</string>
<!-- {1} is the partition display name and {2} is the number of seconds -->
<string name="restore_part_done">[{1} zakończono ({2} sekund)]</string>
- <string name="verifying_md5">Weryfikowanie MD5</string>
- <string name="skip_md5">Pomijanie sprawdzania MD5 włączone przez użytkownika.</string>
+ <string name="verifying_digest" version="2">Weryfikowanie Digest</string>
+ <string name="skip_digest" version="2">Pomijanie sprawdzania Digest włączone przez użytkownika.</string>
<string name="calc_restore">Obliczanie danych przywracania...</string>
<string name="restore_read_only">Nie można przywrócić {1} -- zamontowane tylko do odczytu.</string>
<string name="restore_unable_locate">Nie można zlokalizować partycji '{1}' do przywrócenia.</string>
@@ -570,9 +570,9 @@
<string name="cannot_resize">Nie można zmienić rozmiaru {1}.</string>
<string name="repair_resize">Naprawianie {1} przed zmianą rozmiaru.</string>
<string name="unable_resize">Nie można zmienić rozmiaru {1}.</string>
- <string name="no_md5_found">Nie znaleziono pliku MD5 '{1}'. Proszę wyłączyć weryfikację MD5, aby przywrócić.</string>
- <string name="md5_fail_match">MD5 nie pasuje do '{1}'.</string>
- <string name="md5_matched">MD5 matched for '{1}'.</string>
+ <string name="no_digest_found" version="2">Nie znaleziono pliku Digest '{1}'. Proszę wyłączyć weryfikację Digest, aby przywrócić.</string>
+ <string name="digest_fail_match" version="2">Digest nie pasuje do '{1}'.</string>
+ <string name="digest_matched" version="2">Digest matched for '{1}'.</string>
<string name="fail_decrypt_tar">Nie udało się odszyfrować pliku tar '{1}'</string>
<string name="format_data_msg">Może być konieczne ponowne uruchomienie recovery, aby móc ponownie użyć /date.</string>
<string name="format_data_err">Nie można sformatować, aby usunąć szyfrowanie.</string>
@@ -593,7 +593,7 @@
<string name="backup_folder_set">'{1}' ustawiony jako folder kopii zapasowych</string>
<string name="locate_backup_err">Nie udało się zlokalizować kopii '{1}'</string>
<string name="set_restore_opt">Ustawienia przywracania: '{1}':</string>
- <string name="md5_check_skip">Sprawdzanie MD5 jest włączone</string>
+ <string name="digest_check_skip" version="2">Sprawdzanie Digest jest włączone</string>
<string name="ors_encrypt_restore_err">Nie można użyć OpenRecoveryScript do przywrócenia zaszyfrowanej kopii zapasowej.</string>
<string name="mounting">Montowanie</string>
<string name="unmounting">Odmontowywanie</string>
@@ -614,7 +614,7 @@
<string name="installing_zip">Instalowanie pliku zip '{1}'</string>
<string name="select_backup_opt">Ustawienia kopii zapasowych:</string>
<string name="compression_on">Kompresja jest włączona</string>
- <string name="md5_off">Generowanie MD5 jest wyłączone</string>
+ <string name="digest_off" version="2">Generowanie Digest jest wyłączone</string>
<string name="backup_fail">Niepowodzenie wykonywania kopii zapasowej</string>
<string name="backup_clean">Niepowodzenie wykonywania kopii zapasowej. Oczyszczanie folderu kopii zapasowej.</string>
<string name="running_recovery_commands">Wykonywanie komend trybu odzyskiwania</string>
@@ -622,15 +622,15 @@
<string name="running_ors">Wykonywanie Skryptu OpenRecovery</string>
<string name="ors_complete">Ukończono Skrypt OpenRecovery</string>
<string name="no_updater_binary">Nie można znaleźć '{1}' w pliku zip.</string>
- <string name="check_for_md5">Sprawdzanie pliku MD5...</string>
+ <string name="check_for_digest" version="2">Sprawdzanie pliku Digest...</string>
<string name="fail_sysmap">Nieudane mapowanie pliku '{1}'</string>
<string name="verify_zip_sig">Weryfikowanie sygnatury pliku zip...</string>
<string name="verify_zip_fail">Niewłaściwa sygnatura pliku zip!</string>
<string name="verify_zip_done">Sygnatura pliku zip zweryfikowana pomyślnie.</string>
<string name="zip_corrupt">Plik zip uszkodzony!</string>
- <string name="no_md5">Pomijanie sprawdzania MD5: brak pliku MD5</string>
- <string name="md5_fail">MD5 niezgodne</string>
- <string name="md5_match">MD5 zgodne</string>
+ <string name="no_digest" version="2">Pomijanie sprawdzania Digest: brak pliku Digest</string>
+ <string name="digest_fail" version="2">Digest niezgodne</string>
+ <string name="digest_match" version="2">Digest zgodne</string>
<string name="pid_signal">Proces {1} zakończony z sygnałem: {2}</string>
<string name="pid_error">Proces {1} zakończony z błędem: {2}</string>
<string name="install_dumlock">Instalowanie HTC Dumlock do systemu...</string>
@@ -670,4 +670,4 @@
<string name="up_a_level">(Cofnij)</string>
<string name="install_reboot">Ponowne uruchomienie za 5 sekund</string>
</resources>
-</language> \ No newline at end of file
+</language>
diff --git a/gui/theme/common/languages/pt_BR.xml b/gui/theme/common/languages/pt_BR.xml
index f747631cb..7e301f157 100644
--- a/gui/theme/common/languages/pt_BR.xml
+++ b/gui/theme/common/languages/pt_BR.xml
@@ -199,7 +199,7 @@
<string name="enc_disabled">desativado - definir uma senha para habilitar</string>
<string name="enc_enabled">ativado</string>
<string name="enable_backup_comp_chk">Habilitar a compactação</string>
- <string name="skip_md5_backup_chk">Geração de Skip MD5 durante a cópia de segurança</string>
+ <string name="skip_digest_backup_chk" version="2">Geração de Skip Digest durante a cópia de segurança</string>
<string name="disable_backup_space_chk">Desativar a verificação de espaço livre</string>
<string name="refresh_sizes_btn">Atualizar os tamanhos</string>
<string name="swipe_backup">Deslize para a Cópia de Segurança</string>
@@ -232,7 +232,7 @@
<string name="restore_try_decrypt_s">Tentando a descriptografia</string>
<string name="restore_backup_date">Cópia de Segurança feita em %tw_restore_file_date%</string>
<string name="restore_sel_part">Selecione partições a restaurar:</string>
- <string name="restore_enable_md5_chk">Habilitar verificação de MD5 dos arquivos de Cópia de Segurança</string>
+ <string name="restore_enable_digest_chk" version="2">Habilitar verificação de Digest dos arquivos de Cópia de Segurança</string>
<string name="restore_complete">Restauração completa</string>
<string name="swipe_restore">Deslize para restaurar</string>
<string name="swipe_restore_s"> Restauração</string>
@@ -458,11 +458,11 @@
<string name="mtp_crash">MTP caiu, não começando MTP na inicialização.</string>
<string name="decrypt_success">Com êxito descriptografada com a senha padrão.</string>
<string name="unable_to_decrypt">Não é possível descriptografar com senha padrão. Você pode precisar executar um formato de dados.</string>
- <string name="generating_md51">Gerar o MD5</string>
- <string name="generating_md52"> * Gerar o md5...</string>
- <string name="md5_created"> * MD5 criado.</string>
- <string name="md5_error"> * MD5 erro!</string>
- <string name="md5_compute_error"> * Erro MD5 de computação.</string>
+ <string name="generating_digest1" version="2">Gerar o Digest</string>
+ <string name="generating_digest2" version="2"> * Gerar o Digest...</string>
+ <string name="digest_created" version="2"> * Digest criado.</string>
+ <string name="digest_error" version="2"> * Digest erro!</string>
+ <string name="digest_compute_error" version="2"> * Erro Digest de computação.</string>
<string name="current_date">(Data atual)</string>
<string name="auto_generate">(Auto gerar)</string>
<string name="unable_to_locate_partition">Não é possível localizar a partição \'{1}\' para cálculos de cópia de segurança.</string>
@@ -481,8 +481,8 @@
<string name="backup_completed">[CÓPIA DE SEGURANÇA CONCLUÍDO EM {1} SEGUNDOS]</string>
<string name="restore_started">[RESTAURAÇÃO COMEÇADA]</string>
<string name="restore_folder">Restaurar a pasta: \'{1}\'</string>
- <string name="verifying_md5">Verificando o MD5</string>
- <string name="skip_md5">Saltando de verificação MD5 com base na configuração de usuário.</string>
+ <string name="verifying_digest" version="2">Verificando o Digest</string>
+ <string name="skip_digest" version="2">Saltando de verificação Digest com base na configuração de usuário.</string>
<string name="calc_restore">Cálculo de restauração de detalhes...</string>
<string name="restore_read_only">Não é possível restaurar {1}..--montada somente leitura.</string>
<string name="restore_unable_locate">Não é possível localizar a partição \'{1}\' para restaurar.</string>
@@ -540,9 +540,9 @@
<string name="cannot_resize">Não é possível redimensionar {1}.</string>
<string name="repair_resize">Reparação de {1} antes de redimensionamento.</string>
<string name="unable_resize">Não é possível redimensionar {1}.</string>
- <string name="no_md5_found">Nenhum arquivo md5 foi encontrado para \'{1}\'. Por favor, cancelar a seleção de verificação MD5 habilitar para restaurar.</string>
- <string name="md5_fail_match">MD5 não conseguiram corresponder na \'{1}\'.</string>
- <string name="md5_matched">MD5 matched for '{1}'.</string>
+ <string name="no_digest_found" version="2">Nenhum arquivo Digest foi encontrado para \'{1}\'. Por favor, cancelar a seleção de verificação Digest habilitar para restaurar.</string>
+ <string name="digest_fail_match" version="2">Digest não conseguiram corresponder na \'{1}\'.</string>
+ <string name="digest_matched" version="2">Digest matched for '{1}'.</string>
<string name="fail_decrypt_tar">Falha ao descriptografar arquivo tar \'{1}\'</string>
<string name="format_data_msg">Você pode precisar reiniciar recuperação para ser capaz de usar /data novamente.</string>
<string name="format_data_err">Não é possível formatar para remover a criptografia.</string>
@@ -563,7 +563,7 @@
<string name="backup_folder_set">Pasta da cópia de segurança definida como \'{1}\'</string>
<string name="locate_backup_err">Não é possível localizar a cópia de segurança \'{1}\'</string>
<string name="set_restore_opt">Definir opções de restauração: \'{1}\':</string>
- <string name="md5_check_skip">Ignorar verificação de MD5 é na</string>
+ <string name="digest_check_skip" version="2">Ignorar verificação de Digest é na</string>
<string name="ors_encrypt_restore_err">Não é possível usar OpenRecoveryScript para restaurar uma cópia de segurança criptografada.</string>
<string name="mounting">Montando</string>
<string name="unmounting">Desmontando</string>
@@ -584,7 +584,7 @@
<string name="installing_zip">Instalando o arquivo zip \'{1}\'</string>
<string name="select_backup_opt">Definir opções da cópia de segurança:</string>
<string name="compression_on">Compressão é na</string>
- <string name="md5_off">Geração de MD5 está fora</string>
+ <string name="digest_off" version="2">Geração de Digest está fora</string>
<string name="backup_fail">Cópia de segurança falhou</string>
<string name="backup_clean">Falha de backup. Limpar a pasta de Backup.</string>
<string name="running_recovery_commands">Executando comandos de recuperação</string>
@@ -592,15 +592,15 @@
<string name="running_ors">OpenRecoveryScript em execução</string>
<string name="ors_complete">OpenRecoveryScript completa</string>
<string name="no_updater_binary">Não foi possível encontrar \'{1}\' no arquivo zip.</string>
- <string name="check_for_md5">Verificação de arquivo MD5...</string>
+ <string name="check_for_digest" version="2">Verificação de arquivo Digest...</string>
<string name="fail_sysmap">Falha ao mapear o arquivo \'{1}\'</string>
<string name="verify_zip_sig">Verificar a assinatura do zip...</string>
<string name="verify_zip_fail">Falha de verificação de assinatura do arquivo zip!</string>
<string name="verify_zip_done">Assinatura zip é verificada com êxito.</string>
<string name="zip_corrupt">O arquivo zip está corrompido!</string>
- <string name="no_md5">Saltando de verificação MD5: nenhum arquivo MD5 encontrado</string>
- <string name="md5_fail">Não coincide com MD5</string>
- <string name="md5_match">Correspondência de MD5</string>
+ <string name="no_digest" version="2">Saltando de verificação Digest: nenhum arquivo Digest encontrado</string>
+ <string name="digest_fail" version="2">Não coincide com Digest</string>
+ <string name="digest_match" version="2">Correspondência de Digest</string>
<string name="pid_signal">{1} processo terminou com sinal: {2}</string>
<string name="pid_error">{1} processo terminou com erro: {2}</string>
<string name="install_dumlock">Instalação HTC Dumlock sistema...</string>
diff --git a/gui/theme/common/languages/ru.xml b/gui/theme/common/languages/ru.xml
index 4de1ea811..76eff8844 100644
--- a/gui/theme/common/languages/ru.xml
+++ b/gui/theme/common/languages/ru.xml
@@ -212,7 +212,7 @@
<string name="enc_disabled">выключено - установите пароль для включения</string>
<string name="enc_enabled">включено</string>
<string name="enable_backup_comp_chk">Использовать сжатие</string>
- <string name="skip_md5_backup_chk">Пропустить вычисление MD5</string>
+ <string name="skip_digest_backup_chk" version="2">Пропустить вычисление MD5</string>
<string name="disable_backup_space_chk" version="2">Отключить проверку свободного места</string>
<string name="current_boot_slot">Текущий слот: %tw_active_slot%</string>
<string name="boot_slot_a">Слот A</string>
@@ -250,7 +250,7 @@
<string name="restore_try_decrypt_s">Попытка расшифровки</string>
<string name="restore_backup_date">Резервная копия создана: %tw_restore_file_date%</string>
<string name="restore_sel_part">Выбор раздела для восстановления:</string>
- <string name="restore_enable_md5_chk">Включить проверку MD5 файлов резервной копии</string>
+ <string name="restore_enable_digest_chk" version="2">Включить проверку Digest файлов резервной копии</string>
<string name="restore_complete">Восстановление завершено</string>
<string name="swipe_restore">Свайп для восстановления</string>
<string name="swipe_restore_s"> Восстановление</string>
@@ -490,12 +490,12 @@
<string name="mtp_crash">Сбой MTP: MTP не запущен при загрузке.</string>
<string name="decrypt_success">Расшифровка выполнена успешно с паролем по умолчанию.</string>
<string name="unable_to_decrypt">Невозможно расшифровать с паролем по умолчанию. Возможно потребуется выполнить форматирование Data.</string>
- <string name="generating_md51">Вычисление MD5</string>
- <!-- Message displayed during a backup if we are generating an MD5, ideally, leave the leading " * " to help align and separate this text from other console text -->
- <string name="generating_md52"> * Вычисление md5...</string>
- <string name="md5_created"> * MD5 создана.</string>
- <string name="md5_error"> * Ошибка MD5!</string>
- <string name="md5_compute_error"> * Ошибка вычисления MD5.</string>
+ <string name="generating_digest1" version="2">Вычисление Digest</string>
+ <!-- Message displayed during a backup if we are generating an Digest, ideally, leave the leading " * " to help align and separate this text from other console text -->
+ <string name="generating_digest2" version="2"> * Вычисление Digest...</string>
+ <string name="digest_created" version="2"> * Digest создана.</string>
+ <string name="digest_error" version="2"> * Ошибка Digest!</string>
+ <string name="digest_compute_error" version="2"> * Ошибка вычисления Digest.</string>
<string name="current_date">(Текущая дата)</string>
<string name="auto_generate">(Создать автоматически)</string>
<string name="unable_to_locate_partition">Не удается найти '{1}' раздел для расчета копирования.</string>
@@ -516,8 +516,8 @@
<string name="restore_folder">Папка для восстановления: '{1}'</string>
<!-- {1} is the partition display name and {2} is the number of seconds -->
<string name="restore_part_done">[{1} выполнено за {2} секунд(ы)]</string>
- <string name="verifying_md5">Проверка MD5</string>
- <string name="skip_md5">Пропуск проверки MD5 согласно настройкам.</string>
+ <string name="verifying_digest" version="2">Проверка Digest</string>
+ <string name="skip_digest" version="2">Пропуск проверки Digest согласно настройкам.</string>
<string name="calc_restore">Вычисление информации о восстановлении...</string>
<string name="restore_read_only">Невозможно восстановить {1} -- смонтировано только для чтения.</string>
<string name="restore_unable_locate">Не удается найти '{1}' раздел для восстановления.</string>
@@ -580,9 +580,9 @@
<string name="cannot_resize">Невозможно изменить размер {1}.</string>
<string name="repair_resize">Восстановление {1} перед изменением размера.</string>
<string name="unable_resize">Не удается изменить размер {1}.</string>
- <string name="no_md5_found">Отсутствует файл md5 для '{1}'. Пожалуйста отмените выбор проверки MD5 при восстановлении.</string>
- <string name="md5_fail_match">MD5 не соответствует '{1}'.</string>
- <string name="md5_matched">MD5 соответствует '{1}'.</string>
+ <string name="no_digest_found" version="2">Отсутствует файл digest для '{1}'. Пожалуйста отмените выбор проверки Digest при восстановлении.</string>
+ <string name="digest_fail_match" version="2">Digest не соответствует '{1}'.</string>
+ <string name="digest_matched" version="2">Digest соответствует '{1}'.</string>
<string name="fail_decrypt_tar">Не удается расшифровать tar-файл '{1}'</string>
<string name="format_data_msg">Вам, возможно, потребуется перезагрузись рекавери, чтобы иметь возможность использовать /data снова.</string>
<string name="format_data_err">Невозможно отформатировать и удалить шифрование.</string>
@@ -604,7 +604,7 @@
<string name="backup_folder_set">Папка для резервной копии установлена в '{1}'</string>
<string name="locate_backup_err">Не удается найти резервную копию '{1}'</string>
<string name="set_restore_opt">Установки опций восстановления: '{1}':</string>
- <string name="md5_check_skip">Пропуск проверки MD5 включен</string>
+ <string name="digest_check_skip" version="2">Пропуск проверки Digest включен</string>
<string name="ors_encrypt_restore_err">Не удается использовать OpenRecoveryScript для восстановления зашифрованной резервной копии.</string>
<string name="mounting">Монтирование</string>
<string name="unmounting">Размонтирование</string>
@@ -625,7 +625,7 @@
<string name="installing_zip">Установка zip файла '{1}'</string>
<string name="select_backup_opt">Установка опций резервного копирования:</string>
<string name="compression_on">Сжатие включено</string>
- <string name="md5_off">Вычисление MD5 выключено</string>
+ <string name="digest_off" version="2">Вычисление Digest выключено</string>
<string name="backup_fail">Ошибка резервного копирования</string>
<string name="backup_clean">Ошибка резервного копирования. Очистка папки с резервной копией.</string>
<string name="running_recovery_commands">Выполнение команд рекавери</string>
@@ -633,15 +633,15 @@
<string name="running_ors">Выполнение OpenRecoveryScript</string>
<string name="ors_complete">OpenRecoveryScript выполнен</string>
<string name="invalid_zip_format">Неверный формат zip файла!</string>
- <string name="check_for_md5">Проверка MD5-файлов...</string>
+ <string name="check_for_digest" version="2">Проверка Digest-файлов...</string>
<string name="fail_sysmap">Не удалось отобразить в память файл '{1}'</string>
<string name="verify_zip_sig">Проверка подписи zip...</string>
<string name="verify_zip_fail">Подпись Zip не прошла проверку!</string>
<string name="verify_zip_done">Подпись Zip проверена успешно.</string>
<string name="zip_corrupt">Zip-файл поврежден!</string>
- <string name="no_md5">Пропуск проверки MD5: не найден MD5-файл</string>
- <string name="md5_fail">MD5 не соответствует</string>
- <string name="md5_match">MD5 соответствует</string>
+ <string name="no_digest" version="2">Пропуск проверки Digest: не найден Digest-файл</string>
+ <string name="digest_fail" version="2">Digest не соответствует</string>
+ <string name="digest_match" version="2">Digest соответствует</string>
<string name="pid_signal">Процесс {1} завершился с кодом {2}</string>
<string name="pid_error">Процесс {1} завершился с ОШИБКОЙ: {2}</string>
<string name="install_dumlock">Установка HTC Dumlock в систему...</string>
diff --git a/gui/theme/common/languages/sk.xml b/gui/theme/common/languages/sk.xml
index 42f713ba7..e216e740b 100644
--- a/gui/theme/common/languages/sk.xml
+++ b/gui/theme/common/languages/sk.xml
@@ -1,640 +1,640 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-<language>
- <display>Slovak</display>
- <resources>
- <!-- Font overrides - only change these if your language requires special characters -->
- <resource name="font_l" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
- <resource name="font_m" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
- <resource name="font_s" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
- <resource name="fixed" type="fontoverride" filename="DroidSansMono.ttf" scale="100" />
-
- <string name="system">Systém</string>
- <string name="system_image">Image systému</string>
- <string name="vendor">Dodávateľ</string>
- <string name="vendor_image">Logo dodávateľa</string>
- <string name="boot">Boot</string>
- <string name="recovery">Recovery</string>
- <string name="cache">Cache</string>
- <string name="data">Data</string>
- <string name="sdcard">SD karta</string>
- <string name="internal">Interné úložisko</string>
- <string name="microsd">Mikro SD karta</string>
- <string name="usbotg">USB OTG</string>
- <string name="android_secure">Android Secure</string>
- <string name="dalvik">Dalvik / ART Cache</string>
- <string name="sdext">SD-EXT</string>
- <string name="adopted_data">Prijaté dáta</string>
- <string name="adopted_storage">Prijaté úložisko</string>
- <string name="twrp_header">Team Win Recovery Project</string>
- <string name="twrp_watch_header">TWRP %tw_version%</string>
- <string name="cpu_temp">CPU: %tw_cpu_temp% °C</string>
- <string name="battery_pct">Batéria: %tw_battery%</string>
- <string name="sort_by_name">Zoradiť podľa názvu</string>
- <string name="sort_by_date">Zoradiť podľa dátumu</string>
- <string name="sort_by_size">Zoradiť podľa veľkosti</string>
- <string name="sort_by_name_only">Názov</string>
- <string name="sort_by_date_only">Dátum</string>
- <string name="sort_by_size_only">Veľkosť</string>
- <string name="tab_general">VŠEOBECNÉ</string>
- <string name="tab_options">MOŽNOSTI</string>
- <string name="tab_backup">ZÁLOHOVANIE</string>
- <string name="tab_time_zone">ČASOVÉ PÁSMO</string>
- <string name="tab_screen">OBRAZOVKA</string>
- <string name="tab_vibration">VIBRÁCIE</string>
- <string name="tab_language">JAZYK</string>
- <string name="install_btn">Inštalovať</string>
- <string name="wipe_btn">Vymazať</string>
- <string name="backup_btn">Zálohovať</string>
- <string name="restore_btn">Obnoviť</string>
- <string name="mount_btn">Pripojiť</string>
- <string name="settings_btn">Nastavenia</string>
- <string name="advanced_btn">Rozšírené</string>
- <string name="reboot_btn">Reštartovať</string>
- <string name="files_btn">Súbory</string>
- <string name="copy_log_btn">Kopírovať log</string>
- <string name="select_type_hdr">Vyberte typ</string>
- <string name="install_zip_hdr">Inštalovať Zip</string>
- <string name="install_zip_btn">Inštalovať Zip</string>
- <string name="install_image_hdr">Inštalovať image</string>
- <string name="install_image_btn">Inštalovať image</string>
- <string name="install_select_file_hdr">Vybrať súbor</string>
- <string name="file_selector_folders_hdr">Priečinky</string>
- <string name="select_file_from_storage">Vyberte súbor z: %tw_storage_display_name% (%tw_storage_free_size% MB)</string>
- <string name="adb_sideload_btn">ADB Sideload</string>
- <string name="install_hdr">Inštalovať</string>
- <string name="select_storage_hdr">Vyberte úložisko</string>
- <string name="select_storage_btn">Vyberte úložisko</string>
- <string name="queue_hdr">Poradie</string>
- <string name="zip_queue_count">%tw_zip_queue_count% / max 10 súborov v poradí</string>
- <string name="zip_queue_count_s">Súbor %tw_zip_queue_count% z 10:</string>
- <string name="zip_warn1">Táto operácia môže nainštalovať nekompatibilný</string>
- <string name="zip_warn2">softvér a znefunkčniť zariadenie.</string>
- <string name="zip_back_cancel">Stlačte Naspäť pre zrušenie pridania zip.</string>
- <string name="zip_back_clear">Stlačte Naspäť pre vyčistenie zoznamu.</string>
- <string name="folder">Zložka:</string>
- <string name="file">Súbor:</string>
- <string name="zip_sig_chk">Overenie podpisu zip</string>
- <string name="inject_twrp_chk">Nainštalovať TWRP po inštalácií</string>
- <string name="options_hdr">Nastavenia</string>
- <string name="confirm_flash_hdr">Potvrdiť inštaláciu</string>
- <string name="zip_queue">Poradie:</string>
- <string name="options">Nastavenia:</string>
- <string name="swipe_confirm"> Potvrdiť</string>
- <string name="zip_add_btn">Pridať viac Zip</string>
- <string name="zip_clear_btn">Vyčistiť zoznam Zip</string>
- <string name="install_zip_count_hdr">Nainštalovať Zip %tw_zip_index% z %tw_zip_queue_count%</string>
- <string name="installing_zip_xml">Inštalácia Zip: %tw_file%</string>
- <string name="failed">Neúspešné</string>
- <string name="successful">Úspešné</string>
- <string name="install_failed">Inštalácia zlyhala</string>
- <string name="install_successful">Inštalácia dokončená</string>
- <string name="wipe_cache_dalvik_btn">Vymazať cache/dalvik</string>
- <string name="reboot_system_btn">Reštartovať systém</string>
- <string name="install_sel_target">Vyberte cieľovú partíciu</string>
- <string name="flash_image_select">Vyberte cieľovú partíciu pre zápis image:</string>
- <string name="target_partition">Cieľová partícia:</string>
- <string name="flashing_image">Zapisovanie image...</string>
- <string name="image_flashed">Image nainštalovaný</string>
- <string name="wipe_cache_dalvik_confirm">Vymazať cache &amp; dalvik?</string>
- <string name="wiping_cache_dalvik">Mazanie cache &amp; dalvik...</string>
- <string name="wipe_cache_dalvik_complete">Vymazanie cache &amp; dalvik dokončené</string>
- <string name="swipe_wipe">Potiahnite pre vymazanie</string>
- <string name="swipe_wipe_s"> Vymazanie</string>
- <string name="no_os1">Nie je nainštalovaný OS! Ste</string>
- <string name="no_osrb">si istý, že chcete reštartovať?</string>
- <string name="no_ospo">si istý, že chcete vypnúť zariadenie?</string>
- <string name="rebooting">Reštartovanie...</string>
- <string name="swipe_reboot">Potiahnite pre reštart</string>
- <string name="swipe_reboot_s"> Reštart</string>
- <string name="swipe_flash">Potiahnite pre potvrdenie</string>
- <string name="confirm_action">Potvrdiť akciu</string>
- <string name="back_cancel">Pre zrušenie stlačte tlačidlo naspäť.</string>
- <string name="cancel_btn">Zrušiť</string>
- <string name="wipe_hdr">Vymazať</string>
- <string name="factory_reset_hdr">Továrne nastavenia</string>
- <string name="factory_reset_btn">Továrne nastavenia</string>
- <string name="factory_reset1">Vymazať Dáta, Cache a Dalvik</string>
- <string name="factory_reset2">(nezahŕňa vnútornú pamäť)</string>
- <string name="factory_reset3">Väčšinou je</string>
- <string name="factory_reset4">potrebné len vymazanie.</string>
- <string name="factory_resetting">Továrne nastavenia...</string>
- <string name="advanced_wipe_hdr">Rozšírené vymazanie</string>
- <string name="advanced_wipe_btn">Rozšírené vymazanie</string>
- <string name="wipe_enc_confirm">Vymazať šifrovanie z Data?</string>
- <string name="formatting_data">Formátovanie Data partície...</string>
- <string name="swipe_format_data">Potiahnite pre voľbu Formátovať Data</string>
- <string name="swipe_format_data_s"> Formátovať Data</string>
- <string name="factory_reset_complete">Továrne nastavenia ukončené</string>
- <string name="sel_part_hdr">Vyberte partície</string>
- <string name="wipe_sel_confirm">Vymazať vybrané partície?</string>
- <string name="wiping_part">Mazanie partícií...</string>
- <string name="wipe_complete">Mazanie dokončené</string>
- <string name="sel_part_wipe">Vyberte partície na vymazanie:</string>
- <string name="invalid_part_sel">Neplatný výber partície</string>
- <string name="format_data_hdr">Formátovať Data</string>
- <string name="format_data_btn">Formátovať Data</string>
- <string name="format_data_ptr1">Formátovanie Data vymaže všetky aplikácie,</string>
- <string name="format_data_ptr2">zálohy, fotky, videá, hudbu</string>
- <string name="format_data_ptr3">a vymaže šifrovanie interného úložiska.</string>
- <string name="format_data_adopted">Zahŕňa adoptovanú pamäť</string>
- <string name="format_data_lcp1">Formátovanie Data vymaže všetky aplikácie, zálohy, fotografie, videá, hudbu</string>
- <string name="format_data_lcp2">a vymaže šifrovanie interného úložiska.</string>
- <string name="format_data_wtc1">Formátovanie Data vymaže všetky aplikácie,</string>
- <string name="format_data_wtc2">zálohy a hudbu. Tento proces je nezvratný.</string>
- <string name="format_data_undo">Toto je nezvratné.</string>
- <string name="format_data_complete">Formátovanie Data je hotové</string>
- <string name="yes_continue">Napíšte \"yes\" pre pokračovanie. Stlačte naspäť pre zrušenie.</string>
- <string name="part_opt_hdr">Možnosti pre: %tw_partition_name%</string>
- <string name="sel_act_hdr">Vyberte akciu</string>
- <string name="file_sys_opt">Nastavenia súborového systému</string>
- <string name="partition">Partície: %tw_partition_name%</string>
- <string name="part_mount_point">Mount point: %tw_partition_mount_point%</string>
- <string name="part_curr_fs">Súborový systém: %tw_partition_file_system%</string>
- <string name="part_present_yes">Prítomný: Áno</string>
- <string name="part_present_no">Prítomný: Nie</string>
- <string name="part_removable_yes">Vymeniteľný: Áno</string>
- <string name="part_removable_no">Vymeniteľný: Nie</string>
- <string name="part_size">Veľkosť: %tw_partition_size%MB</string>
- <string name="part_used">Použité: %tw_partition_used%MB</string>
- <string name="part_free">Voľné: %tw_partition_free%MB</string>
- <string name="part_backup_size">Veľkosť zálohy: %tw_partition_backup_size%MB</string>
- <string name="resize_btn">Zväčšiť súborový systém</string>
- <string name="resize_btn_s">Zväčšiť</string>
- <string name="resize_confirm">Zväčšiť %tw_partition_name%?</string>
- <string name="resizing">Zväčšenie...</string>
- <string name="resize_complete">Zväčšenie dokončené</string>
- <string name="swipe_resize">Potiahnite pre zväčšenie</string>
- <string name="swipe_resize_s"> Zväčšenie</string>
- <string name="repair_btn">Opraviť súborový systém</string>
- <string name="repair_btn_s">Oprava</string>
- <string name="repair_confirm">Opraviť %tw_partition_name%?</string>
- <string name="repairing">Opravovanie...</string>
- <string name="repair_complete">Oprava dokončená</string>
- <string name="swipe_repair">Potiahnite pre opravu</string>
- <string name="swipe_repair_s"> Oprava</string>
- <string name="change_fs_btn">Zmeniť súborový systém</string>
- <string name="change_fs_btn_s">Zmeniť</string>
- <string name="change_fs_for_hdr">Zmeniť súborový systém pre: %tw_partition_name%</string>
- <string name="change_fs_for_hdr_s">Partícia: %tw_partition_name% &gt; Zvoľte súborový systém</string>
- <string name="change_fs_warn1">Niektoré ROM alebo kernely nemusia podporovať niektoré</string>
- <string name="change_fs_warn2">súborové systémy. Pokračujte opatrne!</string>
- <string name="change_fs_confirm">Zmeniť %tw_partition_name%?</string>
- <string name="formatting">Formátovanie...</string>
- <string name="format_complete">Formátovanie dokončené</string>
- <string name="swipe_change_fs">Potiahnite pre zmenu</string>
- <string name="swipe_change_s"> Zmena</string>
- <string name="back_btn">Naspäť</string>
- <string name="wipe_enc_btn">Vymazať šifrovanie</string>
- <string name="swipe_factory_reset">Potiahnite pre továrne nastavenia</string>
- <string name="repair_change_btn">Opraviť alebo zmeniť súborový systém</string>
- <string name="storage_hdr">Úložisko: %tw_storage_display_name% (%tw_storage_free_size% MB)</string>
- <string name="backup_hdr">Záloha</string>
- <string name="backup_confirm_hdr">Potvrdiť zálohu</string>
- <string name="encryption_tab">ŠIFROVANIE</string>
- <string name="encryption">Šifrovanie:</string>
- <string name="name">Názov:</string>
- <string name="sel_part_backup">Vybrať partície pre zálohovanie:</string>
- <string name="storage">Pamäť:</string>
- <string name="enc_disabled">zakázané - pre povolenie zadajte heslo</string>
- <string name="enc_enabled">povolené</string>
- <string name="enable_backup_comp_chk">Povoliť kompresiu</string>
- <string name="skip_md5_backup_chk">Vynechať generovanie MD5 počas zálohy</string>
- <string name="disable_backup_space_chk">Nekontrolovať voľné miesto</string>
- <string name="refresh_sizes_btn">Obnoviť veľkosti</string>
- <string name="swipe_backup">Potiahnite pre zálohu</string>
- <string name="append_date_btn">Pripojiť dátum</string>
- <string name="backup_name_exists">Záloha s rovnakým názvom už existuje!</string>
- <string name="encrypt_backup">Šifrovať zálohu?</string>
- <string name="enter_pass">Zadajte heslo:</string>
- <string name="enter_pass2">Zopakujte heslo:</string>
- <string name="pass_not_match">Heslá sa nezhodujú!</string>
- <string name="partitions">Partície:</string>
- <string name="disabled">Zakázané</string>
- <string name="enabled">Povolené</string>
- <string name="backup_name_hdr">Názov zálohy</string>
- <string name="progress">Priebeh:</string>
- <string name="backup_complete">Zálohovanie je dokončené</string>
- <string name="restore_hdr">Obnovenie</string>
- <string name="sel_backup_hdr">Vyberte zálohu</string>
- <string name="restore_sel_store_hdr">Vyberte zálohu z %tw_storage_display_name% (%tw_storage_free_size% MB)</string>
- <string name="restore_sel_pack_fs">Vyberte balíček pre obnovu:</string>
- <string name="restore_enc_backup_hdr">Šifrovaná záloha</string>
- <string name="restore_dec_fail">Heslo je nesprávne, skúste to znova!</string>
- <string name="del_backup_btn">Vymazať zálohu</string>
- <string name="del_backup_confirm">Vymazať zálohu?</string>
- <string name="del_backup_confirm2">Toto je nezvratné!</string>
- <string name="deleting_backup">Vymazávanie zálohy...</string>
- <string name="backup_deleted">Vymazanie zálohy dokončené</string>
- <string name="swipe_delete">Potiahnite pre vymazanie</string>
- <string name="swipe_delete_s"> Vymazať</string>
- <string name="restore_try_decrypt">Šifrovaná záloha - pokus o dešifrovanie</string>
- <string name="restore_try_decrypt_s">Pokus o dešifrovanie</string>
- <string name="restore_backup_date">Záloha vytvorená %tw_restore_file_date%</string>
- <string name="restore_sel_part">Vybrať partície pre obnovu:</string>
- <string name="restore_enable_md5_chk">Povoliť kontrolu MD5 na zálohovaných súboroch</string>
- <string name="restore_complete">Obnova dokončená</string>
- <string name="swipe_restore">Potiahnite pre obnovu</string>
- <string name="swipe_restore_s"> Obnoviť</string>
- <string name="rename_backup_hdr">Premenovať zálohu</string>
- <string name="rename_backup_confirm">Premenovať zálohu?</string>
- <string name="rename_backup_confirm2">Toto je nezvratné!</string>
- <string name="renaming_backup">Premenovanie zálohy...</string>
- <string name="rename_backup_complete">Premenovanie zálohy dokončené</string>
- <string name="swipe_to_rename">Potiahnutím premenujete</string>
- <string name="swipe_rename"> Premenovať</string>
- <string name="confirm_hdr">Potvrdiť</string>
- <string name="mount_hdr">Pripojiť</string>
- <string name="mount_sel_part">Vybrať partície pre pripojenie:</string>
- <string name="mount_sys_ro_chk">Pripojiť partície v režime na čítanie</string>
- <string name="mount_sys_ro_s_chk">Pripojiť systém v režime na čítanie</string>
- <string name="decrypt_data_btn">Dešifrovať Data</string>
- <string name="disable_mtp_btn">Zakázať MTP</string>
- <string name="enable_mtp_btn">Povoliť MTP</string>
- <string name="mount_usb_storage_btn">Pripoj. ukl. priestor USB</string>
- <string name="usb_storage_hdr">Ukladací priestor USB</string>
- <string name="usb_stor_mnt1">Ukladací priestor USB pripojený</string>
- <string name="usb_stor_mnt2">Uistite sa, ze ste zariadenie odobrali</string>
- <string name="usb_stor_mnt3">z počítača pred odpojením!</string>
- <string name="unmount_btn">Odpojiť</string>
- <string name="rb_system_btn">Systém</string>
- <string name="rb_poweroff_btn">Vypnúť</string>
- <string name="rb_recovery_btn">Recovery</string>
- <string name="rb_bootloader_btn">Bootloader</string>
- <string name="rb_download_btn">Stiahnuť</string>
- <string name="turning_off">Vypínanie...</string>
- <string name="swipe_power_off">Potiahnite pre vypnutie</string>
- <string name="swipe_power_off_s">Vypnúť</string>
- <string name="sys_ro_hdr">Nezmenená systémová partícia</string>
- <string name="sys_ro_keep">Ponechať System v režime na čítanie?</string>
- <string name="sys_rop1">TWRP môže ponechať systémovú partíciu nezmenenú</string>
- <string name="sys_rop2">čo zjednoduší inštaláciu oficiálnych aktualizácií.</string>
- <string name="sys_rop3">TWRP sa nezabráni oficiálnej ROM</string>
- <string name="sys_rop4">prepísať TWRP a nebude ponúkať rootovanie zariadenia.</string>
- <string name="sys_rop5">Inštalovanie Zip alebo operácie cez adb môžu stále</string>
- <string name="sys_rop6">modifikovať systémovú partíciu.</string>
- <string name="sys_rol1">TWRP môže ponechať systémovú partíciu nezmenenú čo zjednoduší inštaláciu oficiálnych aktualizácií.</string>
- <string name="sys_rol2">TWRP nezabráni oficiálnej ROM prepísať TWRP a nebude ponúkať rootovanie zariadenia.</string>
- <string name="sys_rol3">Inštalovanie Zip alebo operácie cez adb môžu stále modifikovať systémovú partíciu.</string>
- <string name="sys_ro_never_show_chk">Viac nezobrazovať túto obrazovku pri štarte</string>
- <string name="sys_ro_keep_ro_btn">Ponechať v režime na čítanie</string>
- <string name="swipe_allow_mod">Potiahnuť pre povolenie zmien</string>
- <string name="swipe_allow_mod_s">Povoliť zmeny</string>
- <string name="settings_hdr">Nastavenia</string>
- <string name="settings_gen_hdr">Všeobecné</string>
- <string name="settings_gen_s_hdr">Všeobecné</string>
- <string name="settings_gen_btn">Všeobecné</string>
- <string name="use_rmrf_chk">Použiť rm -rf namiesto formátovania</string>
- <string name="use24clock_chk">Používať 24h formát času</string>
- <string name="rev_navbar_chk">Prevrátené usporiadanie lišty</string>
- <string name="simact_chk">Simulovať akcie pre testovanie témy</string>
- <string name="simfail_chk">Simulovať neúspechy akcií</string>
- <string name="ctr_navbar_rdo">Centrovať tlačidlá navigácie</string>
- <string name="lft_navbar_rdo">Zarovnať tlačidlá navigácie vľavo</string>
- <string name="rht_navbar_rdo">Zarovnať tlačidlá navigácie vpravo</string>
- <string name="restore_defaults_btn">Obnoviť predvolené</string>
- <string name="settings_tz_btn">Časové pásmo</string>
- <string name="settings_screen_btn">Obrazovka</string>
- <string name="settings_screen_bright_btn">Jas obrazovky</string>
- <string name="settings_vibration_btn">Vibrovať</string>
- <string name="settings_language_btn">Jazyk</string>
- <string name="time_zone_hdr">Časové pásmo</string>
- <string name="sel_tz_list">Vyberte časové pásmo:</string>
- <string name="utcm11">(UTC -11) Samoa, Midwayské ostrovy</string>
- <string name="utcm10">(UTC -10) Havaj</string>
- <string name="utcm9">(UTC -9) Aljaška</string>
- <string name="utcm8">(UTC -8) Tichomorský čas</string>
- <string name="utcm7">(UTC -7) Západný (Horský) čas USA, Arizona</string>
- <string name="utcm6">(UTC -6) Centrálny čas USA, Mexiko</string>
- <string name="utcm5">(UTC -5) Východný čas USA, Indiana</string>
- <string name="utcm4">(UTC -4) Atlantický čas, Caracas</string>
- <string name="utcm3">(UTC -3) Brazília, Buenos Aires</string>
- <string name="utcm2">(UTC -2) Stredoatlantický čas</string>
- <string name="utcm1">(UTC -1) Azory, Cape Verde</string>
- <string name="utc0">(UTC 0) Greenwichský čas, Londýn, Dublin, Lisbon</string>
- <string name="utcp1">(UTC +1) Stredoeurópsky čas, Bratislava, Berlín, Brusel, Paríž</string>
- <string name="utcp2">(UTC +2) Atény, Istanbul, Minsk, Káhira</string>
- <string name="utcp3">(UTC +3) Moskva, Bagdad, Teherán</string>
- <string name="utcp4">(UTC +4) Abu Dhabi, Tbilisi, Muscat</string>
- <string name="utcp5">(UTC +5) Islamabád, Karáčí, Jekaterinsburg</string>
- <string name="utcp6">(UTC +6) Astana, Colombo, Dhakar</string>
- <string name="utcp7">(UTC +7) Bangkok, Džakarta, Hanoj</string>
- <string name="utcp8">(UTC +8) Peking, Hong Kong, Singapur</string>
- <string name="utcp9">(UTC +9) Jakutsk, Tokyo, Soul</string>
- <string name="utcp10">(UTC +10) Vladivostok, Sydney, Guam</string>
- <string name="utcp11">(UTC +11) Magadan, Šalamúnové ostrovy</string>
- <string name="utcp12">(UTC +12) Wellington, Fidži, Kamčatka</string>
- <string name="sel_tz_offset">Zvoľte odchýlku (zvyčajne 0): %tw_time_zone_guioffset%</string>
- <string name="tz_offset_none">Žiadna</string>
- <string name="tz_offset_0">0</string>
- <string name="tz_offset_15">15</string>
- <string name="tz_offset_30">30</string>
- <string name="tz_offset_45">45</string>
- <string name="use_dst_chk">Použiť letný čas (DST)</string>
- <string name="curr_tz">Aktuálne časové pásmo: %tw_time_zone%</string>
- <string name="curr_tz_s">Aktuálne časové pásmo:</string>
- <string name="set_tz_btn">Nastav časové pásmo</string>
- <string name="settings_screen_hdr">Obrazovka</string>
- <string name="settings_screen_timeout_hdr">Vypnutie obrazovky</string>
- <string name="enable_timeout_chk">Povoliť vypnutie obrazovky</string>
- <string name="screen_to_slider">Vypnutie obrazovky v sekundách:</string>
- <string name="screen_to_slider_s">Vypnutie obrazovky v sekundách (0=zakázané): %tw_screen_timeout_secs%</string>
- <string name="screen_to_na">Nastavenie vypnutia obrazovky je nedostupné</string>
- <string name="screen_bright_slider">Jas: %tw_brightness_pct%%</string>
- <string name="screen_bright_na">Nastavenie jasu je nedostupné</string>
- <string name="vibration_hdr">Vibrovať</string>
- <string name="button_vibration_hdr">Vibrovať pri dotyku</string>
- <string name="kb_vibration_hdr">Vibrovať pri písaní</string>
- <string name="act_vibration_hdr">Vibrovať pri akcii</string>
- <string name="button_vibration">Vibrovať pri dotyku:</string>
- <string name="kb_vibration">Vibrovať pri písaní:</string>
- <string name="act_vibration">Vibrovať pri akcii:</string>
- <string name="select_language">Výber jazyka:</string>
- <string name="sel_lang_btn">Výber jazyka</string>
- <string name="set_language_btn">Nastaviť jazyk</string>
- <string name="advanced_hdr">Rozšírené</string>
- <string name="copy_log_confirm">Skopírovať log na SD kartu?</string>
- <string name="copying_log">Kopírovanie logu na SD kartu...</string>
- <string name="copy_log_complete">Kopírovanie logu dokončené</string>
- <string name="part_sd_btn">Rozdeliť SD kartu</string>
- <string name="part_sd_s_btn">SD karta</string>
- <string name="file_manager_btn">Súborový manažér</string>
- <string name="language_hdr">Jazyk</string>
- <string name="terminal_btn">Terminál</string>
- <string name="reload_theme_btn">Načítať tému</string>
- <string name="dumlock_btn">HTC Dumlock</string>
- <string name="inject_twrp_btn">Vložiť TWRP</string>
- <string name="inject_twrp_confirm">Znova vložiť TWRP?</string>
- <string name="injecting_twrp">Vkladanie TWRP...</string>
- <string name="inject_twrp_complete">Vloženie TWRP dokončené</string>
- <string name="swipe_to_confirm">Potiahnite pre potvrdenie</string>
- <string name="part_sd_hdr">Rozdeliť SD kartu</string>
- <string name="invalid_partsd_sel">Musíte zvoliť odpojiteľné zariadenie</string>
- <string name="part_sd_lose">Prídete o všetky súbory na vloženej SD karte!</string>
- <string name="part_sd_undo">Toto je nezvratná akcia!</string>
- <string name="part_sd_ext_sz">Veľkosť EXT:</string>
- <string name="part_sd_swap_sz">Veľkosť Swap:</string>
- <string name="part_sd_m">-</string>
- <string name="part_sd_p">+</string>
- <string name="file_system">Súborový systém:</string>
- <string name="swipe_part_sd">Potiahnutím rozdelíte</string>
- <string name="swipe_part_sd_s">Rozdelenie</string>
- <string name="partitioning_sd">Delenie SD karty...</string>
- <string name="partitioning_sd2">Môže to trvať niekoľko minút.</string>
- <string name="part_sd_complete">Rozdelenie kompletné</string>
- <string name="dumlock_hdr">HTC Dumlock</string>
- <string name="dumlock_restore_btn">Obnoviť pôvodný boot.img</string>
- <string name="dumlock_restore_confirm">Obnoviť pôvodný boot.img?</string>
- <string name="dumlock_restoring">Obnovenie pôvodného boot.img...</string>
- <string name="dumlock_restore_complete">Obnova pôvodného boot.img dokončená</string>
- <string name="dumlock_reflash_btn">Prepísanie recovery</string>
- <string name="dumlock_reflash_confirm">Prepísať recovery pri štarte?</string>
- <string name="dumlock_reflashing">Prepísanie recovery pri štarte...</string>
- <string name="dumlock_reflash_complete">Prepísanie recovery pri štarte dokončené</string>
- <string name="dumlock_install_btn">Inštalovať HTC Dumlock</string>
- <string name="dumlock_install_confirm">Inštalovať súbory HTC Dumlock do ROM?</string>
- <string name="dumlock_installing">Inštalácia HTC Dumlock...</string>
- <string name="dumlock_install_complete">Inštalácia HTC Dumlock dokončená</string>
- <string name="swipe_to_unlock">Potiahnutím odomknúť</string>
- <string name="swipe_unlock"> Odomknúť</string>
- <string name="fm_hdr">Súborový manažér</string>
- <string name="fm_sel_file">Vyberte súbor alebo adresár</string>
- <string name="fm_type_folder">Adresár</string>
- <string name="fm_type_file">Súbor</string>
- <string name="fm_choose_act">Zvoľte akciu</string>
- <string name="fm_selected">Zvolené %tw_fm_type%:</string>
- <string name="fm_copy_btn">Kopírovať</string>
- <string name="fm_copy_file_btn">Kopírovať súbor</string>
- <string name="fm_copy_folder_btn">Kopírovať adresár</string>
- <string name="fm_copying">Kopírovanie</string>
- <string name="fm_move_btn">Presunúť</string>
- <string name="fm_moving">Presúvanie</string>
- <string name="fm_chmod755_btn">chmod 755</string>
- <string name="fm_chmod755ing">chmod 755</string>
- <string name="fm_chmod_btn">chmod</string>
- <string name="fm_delete_btn">Vymazať</string>
- <string name="fm_deleting">Vymazávanie</string>
- <string name="fm_rename_btn">Premenovať</string>
- <string name="fm_rename_file_btn">Premenovať súbor</string>
- <string name="fm_rename_folder_btn">Premenovať adresár</string>
- <string name="fm_renaming">Premenovávanie</string>
- <string name="fm_sel_dest">Vyberte cieľový adresár</string>
- <string name="fm_sel_curr_folder">Vyberte súčasný adresár</string>
- <string name="fm_rename_hdr">Premenovať</string>
- <string name="fm_set_perms_hdr">Nastaviť práva</string>
- <string name="fm_perms">Práva:</string>
- <string name="fm_complete">Operácia na súbore dokončená</string>
- <string name="decrypt_data_hdr">Dešifrovať dáta</string>
- <string name="decrypt_data_enter_pass">Zadajte heslo.</string>
- <string name="decrypt_data_enter_pattern">Zadajte vzor.</string>
- <string name="decrypt_data_trying">Pokus o dešifrovanie</string>
- <string name="term_hdr">Príkaz terminálu</string>
- <string name="term_s_hdr">Terminál</string>
- <string name="term_kill_btn">ZABI</string>
- <string name="term_sel_folder_hdr">Navigovať do počiatočného adresára</string>
- <string name="adb_sideload_hdr">ADB Sideload</string>
- <string name="sideload_wipe_dalvik_chk">Vymazať dalvik cache</string>
- <string name="sideload_wipe_cache_chk">Vymazať cache</string>
- <string name="swipe_to_sideload">Potiahnite pre spustenie sideload</string>
- <string name="swipe_sideload"> Štart</string>
- <string name="sideload_confirm">ADB Sideload</string>
- <string name="sideload_usage">Použitie: adb sideload názov.zip</string>
- <string name="sideload_complete">ADB Sideload dokončený</string>
- <string name="reboot_hdr">Reštart</string>
- <string name="su_hdr">Kontrola SuperSU</string>
- <string name="su_note1">Vaše zariadenie nemá ROOT.</string>
- <string name="su_note2">Chcete nainštalovať SuperSU?</string>
- <string name="su_note3">Toto povolí ROOT práva na vašom zariadení.</string>
- <string name="su_cancel">Neinštalovať</string>
- <string name="swipe_su_to_install">Potiahnite pre inštaláciu ROOT</string>
- <string name="swipe_su_install"> Inštalovať</string>
- <string name="su_installing">Inštalácia SuperSU</string>
- <string name="sel_storage_list">Vyberte úložisko</string>
- <string name="ok_btn">OK</string>
- <string name="no_kernel_selinux">Kernel nemá podporu pre čítanie obsahu SELinux.</string>
- <string name="full_selinux">Plná podpora SELinux.</string>
- <string name="no_selinux">Bez podpory SELinux (chýba libselinux).</string>
- <string name="mtp_enabled">MTP povolené</string>
- <string name="mtp_crash">MTP zlyhalo, MTP nebude spustené pri štarte.</string>
- <string name="decrypt_success">Úspešne dešifrované s prednastaveným heslom.</string>
- <string name="unable_to_decrypt">Nemožno dešifrovať s prednastaveným heslom. Možno budete musieť naformátovať partíciu Data.</string>
- <string name="generating_md51">Generuje sa MD5</string>
- <string name="generating_md52"> *Generuje sa Md5...</string>
- <string name="md5_created"> *MD5 vygenerované.</string>
- <string name="md5_error"> * chyba MD5!</string>
- <string name="md5_compute_error"> * chyba pri výpočte MD5.</string>
- <string name="current_date">(Aktuálny dátum)</string>
- <string name="auto_generate">(Generovať automaticky)</string>
- <string name="unable_to_locate_partition">Nemožno nájsť partíciu \'{1}\' pre výpočet zálohy.</string>
- <string name="no_partition_selected">Žiadne partície vybrané na zálohovanie.</string>
- <string name="total_partitions_backup"> * Počet partícií označených na zálohovanie: {1}</string>
- <string name="total_backup_size"> * Konečná veľkosť zálohy: {1}MB</string>
- <string name="available_space"> * Voľné miesto na úložisku: {1}MB</string>
- <string name="unable_locate_storage">Nie je možné nájsť uložisko.</string>
- <string name="no_space">Nedostatok miesta na úložisku.</string>
- <string name="backup_started">[ZÁLOHOVANIE ZAČALO]</string>
- <string name="backup_folder"> * Adresár zálohy: {1}</string>
- <string name="fail_backup_folder">Nie je možné vytvoriť adresár zálohy.</string>
- <string name="avg_backup_fs">Priemerná miera zálohovania súborových systémov: {1} MB/sek</string>
- <string name="avg_backup_img">Priemerná miera zálohovania diskov: {1} MB/sek</string>
- <string name="total_backed_size">[{1} MB ZÁLOH SPOLU]</string>
- <string name="backup_completed">[ZÁLOHA DOKONČENÁ ZA {1} SEKÚND]</string>
- <string name="restore_started">[ZAČIATOK OBNOVY]</string>
- <string name="restore_folder">Obnoviť adresár: \'{1}\'</string>
- <string name="verifying_md5">Kontrolovanie MD5</string>
- <string name="skip_md5">Vynechanie kontroly MD5 na základe užívateľského nastavenia.</string>
- <string name="calc_restore">Výpočet detailov obnovy...</string>
- <string name="restore_read_only">Nie je možné obnoviť {1} -- pripojené len na čítanie.</string>
- <string name="restore_unable_locate">Nie je možné nájsť partíciu \'{1}\' pre obnovu.</string>
- <string name="no_part_restore">Žiadne partície neboli vybrané pre obnovu.</string>
- <string name="restore_part_count">Obnova {1} partiícií...</string>
- <string name="total_restore_size">Veľkosť obnovy je spolu {1}MB</string>
- <string name="updating_system_details">Obnovovanie detailov systému</string>
- <string name="restore_completed">[OBNOVA DOKONČENÁ ZA {1} SEKÚND]</string>
- <string name="error_opening_strerr">Chyba pri otváraní: \'{1}\' ({2})</string>
- <string name="unable_locate_part_backup_name">Nie je možné nájsť partíciu podľa názvu zálohy: \'{1}\'</string>
- <string name="unable_find_part_path">Nie je možné nájsť partíciu na adrese \'{1}\'</string>
- <string name="update_part_details">Obnova detailov partície...</string>
- <string name="update_part_details_done">...hotovo</string>
- <string name="wiping_dalvik">Vymazávanie adresárov dalvik cache...</string>
- <string name="cleaned">Vyčistené: {1}...</string>
- <string name="dalvik_done">-- Vyčistenie adresára Dalvik cache bolo dokončené!</string>
- <string name="no_andsec">Žiadne zabezpečené android partície neboli nájdené.</string>
- <string name="unable_to_locate">{1} nie je možné nájsť.</string>
- <string name="wiping_datamedia">Vymazávanie interného úložiska -- /data/media...</string>
- <string name="unable_to_mount">{1} nie je možné pripojiť</string>
- <string name="unable_to_mount_internal">Nie je možné pripojiť interné úložisko</string>
- <string name="unable_to_mount_storage">Nie je možné pripojiť úložisko</string>
- <string name="fail_decrypt">Nie je možné dešifrovať data.</string>
- <string name="no_crypto_support">Táto verzia bola skompilovaná bez podpory šifrovania.</string>
- <string name="decrypt_success_dev">Dáta boli úspešne dešifrované, nový block device: \'{1}\'</string>
- <string name="done">Hotovo.</string>
- <string name="start_partition_sd">Delenie SD karty...</string>
- <string name="partition_sd_locate">Nie je možné nájsť zariadenie na rozdelenie.</string>
- <string name="ext_swap_size">Veľkosť EXT + Swap je väčšia ako veľkosť SD-karty.</string>
- <string name="remove_part_table">Vymazávanie tabuľky rozdelenia...</string>
- <string name="unable_rm_part">Nie je možné vymazať tabuľku rozdelenia.</string>
- <string name="create_part">Vytváranie partície {1}...</string>
- <string name="unable_to_create_part">Partíciu {1} nie je možné vytvoriť.</string>
- <string name="format_sdext_as">Formátovanie sd-ext ako {1}...</string>
- <string name="part_complete">Rozdelenie dokončené.</string>
- <string name="unable_to_open">Nie je možné otvoriť \'{1}\'.</string>
- <string name="mtp_already_enabled">MTP je už povolené</string>
- <string name="mtp_fail">Nie je možné povoliť MTP</string>
- <string name="no_mtp">Podpora MTP nie je zahrnutá</string>
- <string name="image_flash_start">[ZÁPIS IMAGE SPUSTENÝ]</string>
- <string name="img_to_flash">Obraz na zápis: \'{1}\'</string>
- <string name="flash_unable_locate">Nie je možné nájsť partíciu \'{1}\' pre zápis.</string>
- <string name="no_part_flash">Ná zápis neboli zvolené žiadne partície.</string>
- <string name="too_many_flash">Na zápis je zvolených príliš veľa partícií.</string>
- <string name="invalid_flash">Zvolená partícia nie je správna pre zápis.</string>
- <string name="flash_done">[ZÁPIS IMAGE DOKONČENÝ]</string>
- <string name="wiping">Mazanie {1}</string>
- <string name="repair_not_exist">{1} neexistuje! Oprava nie je možná!</string>
- <string name="repairing_using">Oprava {1} pomocou {2}...</string>
- <string name="unable_repair">Nie je možné opraviť {1}.</string>
- <string name="mount_data_footer">Nie je možné pripojiť /data a nájsť parametre šifrovania.</string>
- <string name="create_folder_strerr">Adresár \'{1}\' nie je možné vytvoriť ({2}).</string>
- <string name="fail_mount">Nie je možné pripojiť \'{1}\' ({2})</string>
- <string name="fail_unmount">Nie je možné odpojiť \'{1}\' ({2})</string>
- <string name="cannot_resize">Nie je možné zväčšiť {1}.</string>
- <string name="repair_resize">Opravovanie {1} pred zväčšením.</string>
- <string name="unable_resize">Nie je možné zväčšiť {1}.</string>
- <string name="no_md5_found">Súbor MD5 sa nenašiel pre \'{1}\'. Prosím zvoľte Vypnúť kontrolu MD5 počas obnovy.</string>
- <string name="md5_fail_match">MD5 nezodpovedá súboru \'{1}\'.</string>
- <string name="md5_matched">MD5 sa zhoduje pre '{1}'.</string>
- <string name="fail_decrypt_tar">Nie je možné dešifrovať súbor tar \'{1}\'</string>
- <string name="format_data_msg">Mali by ste reštartovať recovery aby ste mohli znova používať /data.</string>
- <string name="format_data_err">Nie je možné formátovať pre zrušenie šifrovania.</string>
- <string name="formatting_using">Formátovanie {1} použitím {2}...</string>
- <string name="unable_to_wipe">Nie je možné vymazať {1}.</string>
- <string name="cannot_wipe">Partíciu {1} nie je možné vymazať.</string>
- <string name="remove_all">Vymazanie všetkých súborov v \'{1}\'</string>
- <string name="wiping_data">Vymazanie Data bez vymazania zložky /data/media...</string>
- <string name="backing_up">Zálohovanie {1}...</string>
- <string name="backing">Zálohovanie</string>
- <string name="backup_size">Veľkosť zálohy pre \'{1}\' je 0 bajtov.</string>
- <string name="datamedia_fs_restore">UPOZORNENIE: Táto záloha /data bola vytvorená pomocou systému súborov {1}! Záloha nebude bootovať pokiaľ sa nezmení naspäť na {1}.</string>
- <string name="restoring">Obnovenie {1}...</string>
- <string name="restoring_hdr">Obnovenie</string>
- <string name="recreate_folder_err">Nie je možné vytvoriť adresár {1}.</string>
- <string name="img_size_err">Veľkosť image je väčšia ako cieľová partícia</string>
- <string name="flashing">Zapisovanie {1}...</string>
- <string name="backup_folder_set">Adresár záloh nastavený na: \'{1}\'</string>
- <string name="locate_backup_err">Zálohu \'{1}\' nie je možné nájsť</string>
- <string name="set_restore_opt">Nastavenie možností obnovy: \'{1}\':</string>
- <string name="md5_check_skip">Vynechanie kontroly MD5 zapnuté</string>
- <string name="ors_encrypt_restore_err">Nie je možné použiť OpenRecoveryScript pre obnovu zašifrovanej zálohy.</string>
- <string name="mounting">Pripájanie</string>
- <string name="unmounting">Odpájanie</string>
- <string name="mounted">\'{1}\' pripojený</string>
- <string name="unmounted">\'{1}\' odpojený</string>
- <string name="setting">Nastavenie \'{1}\' na \'{2}\'</string>
- <string name="setting_empty">Nastavenie \'{1}\' na prázdne</string>
- <string name="making_dir1">Vytváranie adresára</string>
- <string name="making_dir2">Vytváranie adresára: \'{1}\'</string>
- <string name="running_command">Spúšťanie príkazu</string>
- <string name="sideload">ADB Sideload</string>
- <string name="start_sideload">Spúšťanie funkcie ADB sideload...</string>
- <string name="need_new_adb">Pre použitie sideload na toto zariadenie potrebujete ADB 1.0.32 alebo novšie.</string>
- <string name="no_pwd">Heslo nebolo zadané.</string>
- <string name="done_ors">Vykonávanie skriptu dokončené</string>
- <string name="injecttwrp">Vkladanie TWRP do boot.img...</string>
- <string name="zip_err">Chyba pri inštalácií zip súboru \'{1}\'</string>
- <string name="installing_zip">Inštalácia zip súboru \'{1}\'</string>
- <string name="select_backup_opt">Nastavenie možností zálohy:</string>
- <string name="compression_on">Kompresia zapnutá</string>
- <string name="md5_off">Generovanie MD5 vypnuté</string>
- <string name="backup_fail">Zálohovanie zlyhalo</string>
- <string name="backup_clean">Zálohovanie zlyhalo. Čistenie adresára záloh.</string>
- <string name="running_recovery_commands">Spúšťanie príkazov recovery</string>
- <string name="recovery_commands_complete">Príkazy recovery dokončené</string>
- <string name="running_ors">Spúšťanie OpenRecoveryScript</string>
- <string name="ors_complete">OpenRecoveryScript dokončený</string>
- <string name="no_updater_binary">Nie je možné nájsť \'{1}\' v súbore zip.</string>
- <string name="check_for_md5">Kontrola MD5 súboru...</string>
- <string name="fail_sysmap">Nie je možné namapovať súbor \'{1}\'</string>
- <string name="verify_zip_sig">Overovanie podpisu zip súboru...</string>
- <string name="verify_zip_fail">Overenie podpisu zip súboru zlyhalo!</string>
- <string name="verify_zip_done">Podpis súboru zip úspešne overený.</string>
- <string name="zip_corrupt">Súbor zip je poškodený!</string>
- <string name="no_md5">Vynechanie kontroly MD5: súbor s MD5 nenájdený</string>
- <string name="md5_fail">MD5 sa nezhoduje</string>
- <string name="md5_match">MD5 sa zhoduje</string>
- <string name="pid_signal">Proces {1} skončil so signálom: {2}</string>
- <string name="pid_error">Proces {1} skončil s CHYBOU: {2}</string>
- <string name="install_dumlock">Inštalovanie HTC Dumlock do systému...</string>
- <string name="dumlock_restore">Obnovenie pôvodného boot.img...</string>
- <string name="dumlock_reflash">Zapisovanie recovery do boot.img...</string>
- <string name="run_script">Beh skriptu {1}...</string>
- <string name="rename_stock">Premenovaný originál recovery súbor v /system pre zabránenie prepísania TWRP originál ROM.</string>
- <string name="split_backup">Rozdelenie zálohy do viacerých archívov...</string>
- <string name="backup_error">Chyba pri vytváraní zálohy.</string>
- <string name="restore_error">Chyba počas procesu obnovy.</string>
- <string name="split_thread">Rozdelenie ID vlákna {1} do archívu {2}</string>
- <string name="file_progress">%llu z %llu súborov, %i%%</string>
- <string name="size_progress">%lluMB z %lluMB, %i%%</string>
- <string name="decrypt_cmd">Pokus o dešifrovanie data partície cez príkazový riadok.</string>
- <string name="base_pkg_err">Nie je možné načítať základné balíčky.</string>
- <string name="simulating">Simulovanie akcií...</string>
- <string name="backup_cancel">Zálohovanie prerušené</string>
- <string name="config_twrp">Konfigurovanie TWRP...</string>
- <string name="config_twrp_err">Nie je možné konfigurovať TWRP s týmto kernelom.</string>
- <string name="copy_log">Recovery log skopírovaný do {1}.</string>
- <string name="max_queue">Dosiahnutý maximálny počet zip v zozname!</string>
- <string name="min_queue">Dosiahnutý minimálny počet zip v zozname!</string>
- <string name="screenshot_saved">Screenshot bol uložený do {1}</string>
- <string name="screenshot_err">Nie je možné vytvoriť screenshot!</string>
- <string name="zip_wipe_cache">Jeden alebo viac zip súborov vyžiadalo vymazanie cache -- Vymazávanie cache.</string>
- <string name="and_sec_wipe_err">Nie je možné vymazať android secure</string>
- <string name="dalvik_wipe_err">Nie je možné vymazať dalvik</string>
- <string name="auto_gen">(Generovať automaticky)</string>
- <string name="curr_date">(Aktuálny dátum)</string>
- <string name="backup_name_len">Názov zálohy je príliš dlhý.</string>
- <string name="backup_name_invalid">Názov zálohy \'{1}\' obsahuje neplatný znak: \'{1}\'</string>
- <string name="no_real_sdcard">Toto zariadenie nemá skutočnú SD kartu! Prerušujem!</string>
- <string name="cancel_sideload">Rušenie ADB sideload...</string>
- <string name="change_fs_err">Chyba pri zmene súborového systému.</string>
- <string name="theme_ver_err">Vlastná téma sa nezhoduje s verziou TWRP. Používa sa originál téma.</string>
- </resources>
-</language>
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+<language>
+ <display>Slovak</display>
+ <resources>
+ <!-- Font overrides - only change these if your language requires special characters -->
+ <resource name="font_l" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
+ <resource name="font_m" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
+ <resource name="font_s" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
+ <resource name="fixed" type="fontoverride" filename="DroidSansMono.ttf" scale="100" />
+
+ <string name="system">Systém</string>
+ <string name="system_image">Image systému</string>
+ <string name="vendor">Dodávateľ</string>
+ <string name="vendor_image">Logo dodávateľa</string>
+ <string name="boot">Boot</string>
+ <string name="recovery">Recovery</string>
+ <string name="cache">Cache</string>
+ <string name="data">Data</string>
+ <string name="sdcard">SD karta</string>
+ <string name="internal">Interné úložisko</string>
+ <string name="microsd">Mikro SD karta</string>
+ <string name="usbotg">USB OTG</string>
+ <string name="android_secure">Android Secure</string>
+ <string name="dalvik">Dalvik / ART Cache</string>
+ <string name="sdext">SD-EXT</string>
+ <string name="adopted_data">Prijaté dáta</string>
+ <string name="adopted_storage">Prijaté úložisko</string>
+ <string name="twrp_header">Team Win Recovery Project</string>
+ <string name="twrp_watch_header">TWRP %tw_version%</string>
+ <string name="cpu_temp">CPU: %tw_cpu_temp% °C</string>
+ <string name="battery_pct">Batéria: %tw_battery%</string>
+ <string name="sort_by_name">Zoradiť podľa názvu</string>
+ <string name="sort_by_date">Zoradiť podľa dátumu</string>
+ <string name="sort_by_size">Zoradiť podľa veľkosti</string>
+ <string name="sort_by_name_only">Názov</string>
+ <string name="sort_by_date_only">Dátum</string>
+ <string name="sort_by_size_only">Veľkosť</string>
+ <string name="tab_general">VŠEOBECNÉ</string>
+ <string name="tab_options">MOŽNOSTI</string>
+ <string name="tab_backup">ZÁLOHOVANIE</string>
+ <string name="tab_time_zone">ČASOVÉ PÁSMO</string>
+ <string name="tab_screen">OBRAZOVKA</string>
+ <string name="tab_vibration">VIBRÁCIE</string>
+ <string name="tab_language">JAZYK</string>
+ <string name="install_btn">Inštalovať</string>
+ <string name="wipe_btn">Vymazať</string>
+ <string name="backup_btn">Zálohovať</string>
+ <string name="restore_btn">Obnoviť</string>
+ <string name="mount_btn">Pripojiť</string>
+ <string name="settings_btn">Nastavenia</string>
+ <string name="advanced_btn">Rozšírené</string>
+ <string name="reboot_btn">Reštartovať</string>
+ <string name="files_btn">Súbory</string>
+ <string name="copy_log_btn">Kopírovať log</string>
+ <string name="select_type_hdr">Vyberte typ</string>
+ <string name="install_zip_hdr">Inštalovať Zip</string>
+ <string name="install_zip_btn">Inštalovať Zip</string>
+ <string name="install_image_hdr">Inštalovať image</string>
+ <string name="install_image_btn">Inštalovať image</string>
+ <string name="install_select_file_hdr">Vybrať súbor</string>
+ <string name="file_selector_folders_hdr">Priečinky</string>
+ <string name="select_file_from_storage">Vyberte súbor z: %tw_storage_display_name% (%tw_storage_free_size% MB)</string>
+ <string name="adb_sideload_btn">ADB Sideload</string>
+ <string name="install_hdr">Inštalovať</string>
+ <string name="select_storage_hdr">Vyberte úložisko</string>
+ <string name="select_storage_btn">Vyberte úložisko</string>
+ <string name="queue_hdr">Poradie</string>
+ <string name="zip_queue_count">%tw_zip_queue_count% / max 10 súborov v poradí</string>
+ <string name="zip_queue_count_s">Súbor %tw_zip_queue_count% z 10:</string>
+ <string name="zip_warn1">Táto operácia môže nainštalovať nekompatibilný</string>
+ <string name="zip_warn2">softvér a znefunkčniť zariadenie.</string>
+ <string name="zip_back_cancel">Stlačte Naspäť pre zrušenie pridania zip.</string>
+ <string name="zip_back_clear">Stlačte Naspäť pre vyčistenie zoznamu.</string>
+ <string name="folder">Zložka:</string>
+ <string name="file">Súbor:</string>
+ <string name="zip_sig_chk">Overenie podpisu zip</string>
+ <string name="inject_twrp_chk">Nainštalovať TWRP po inštalácií</string>
+ <string name="options_hdr">Nastavenia</string>
+ <string name="confirm_flash_hdr">Potvrdiť inštaláciu</string>
+ <string name="zip_queue">Poradie:</string>
+ <string name="options">Nastavenia:</string>
+ <string name="swipe_confirm"> Potvrdiť</string>
+ <string name="zip_add_btn">Pridať viac Zip</string>
+ <string name="zip_clear_btn">Vyčistiť zoznam Zip</string>
+ <string name="install_zip_count_hdr">Nainštalovať Zip %tw_zip_index% z %tw_zip_queue_count%</string>
+ <string name="installing_zip_xml">Inštalácia Zip: %tw_file%</string>
+ <string name="failed">Neúspešné</string>
+ <string name="successful">Úspešné</string>
+ <string name="install_failed">Inštalácia zlyhala</string>
+ <string name="install_successful">Inštalácia dokončená</string>
+ <string name="wipe_cache_dalvik_btn">Vymazať cache/dalvik</string>
+ <string name="reboot_system_btn">Reštartovať systém</string>
+ <string name="install_sel_target">Vyberte cieľovú partíciu</string>
+ <string name="flash_image_select">Vyberte cieľovú partíciu pre zápis image:</string>
+ <string name="target_partition">Cieľová partícia:</string>
+ <string name="flashing_image">Zapisovanie image...</string>
+ <string name="image_flashed">Image nainštalovaný</string>
+ <string name="wipe_cache_dalvik_confirm">Vymazať cache &amp; dalvik?</string>
+ <string name="wiping_cache_dalvik">Mazanie cache &amp; dalvik...</string>
+ <string name="wipe_cache_dalvik_complete">Vymazanie cache &amp; dalvik dokončené</string>
+ <string name="swipe_wipe">Potiahnite pre vymazanie</string>
+ <string name="swipe_wipe_s"> Vymazanie</string>
+ <string name="no_os1">Nie je nainštalovaný OS! Ste</string>
+ <string name="no_osrb">si istý, že chcete reštartovať?</string>
+ <string name="no_ospo">si istý, že chcete vypnúť zariadenie?</string>
+ <string name="rebooting">Reštartovanie...</string>
+ <string name="swipe_reboot">Potiahnite pre reštart</string>
+ <string name="swipe_reboot_s"> Reštart</string>
+ <string name="swipe_flash">Potiahnite pre potvrdenie</string>
+ <string name="confirm_action">Potvrdiť akciu</string>
+ <string name="back_cancel">Pre zrušenie stlačte tlačidlo naspäť.</string>
+ <string name="cancel_btn">Zrušiť</string>
+ <string name="wipe_hdr">Vymazať</string>
+ <string name="factory_reset_hdr">Továrne nastavenia</string>
+ <string name="factory_reset_btn">Továrne nastavenia</string>
+ <string name="factory_reset1">Vymazať Dáta, Cache a Dalvik</string>
+ <string name="factory_reset2">(nezahŕňa vnútornú pamäť)</string>
+ <string name="factory_reset3">Väčšinou je</string>
+ <string name="factory_reset4">potrebné len vymazanie.</string>
+ <string name="factory_resetting">Továrne nastavenia...</string>
+ <string name="advanced_wipe_hdr">Rozšírené vymazanie</string>
+ <string name="advanced_wipe_btn">Rozšírené vymazanie</string>
+ <string name="wipe_enc_confirm">Vymazať šifrovanie z Data?</string>
+ <string name="formatting_data">Formátovanie Data partície...</string>
+ <string name="swipe_format_data">Potiahnite pre voľbu Formátovať Data</string>
+ <string name="swipe_format_data_s"> Formátovať Data</string>
+ <string name="factory_reset_complete">Továrne nastavenia ukončené</string>
+ <string name="sel_part_hdr">Vyberte partície</string>
+ <string name="wipe_sel_confirm">Vymazať vybrané partície?</string>
+ <string name="wiping_part">Mazanie partícií...</string>
+ <string name="wipe_complete">Mazanie dokončené</string>
+ <string name="sel_part_wipe">Vyberte partície na vymazanie:</string>
+ <string name="invalid_part_sel">Neplatný výber partície</string>
+ <string name="format_data_hdr">Formátovať Data</string>
+ <string name="format_data_btn">Formátovať Data</string>
+ <string name="format_data_ptr1">Formátovanie Data vymaže všetky aplikácie,</string>
+ <string name="format_data_ptr2">zálohy, fotky, videá, hudbu</string>
+ <string name="format_data_ptr3">a vymaže šifrovanie interného úložiska.</string>
+ <string name="format_data_adopted">Zahŕňa adoptovanú pamäť</string>
+ <string name="format_data_lcp1">Formátovanie Data vymaže všetky aplikácie, zálohy, fotografie, videá, hudbu</string>
+ <string name="format_data_lcp2">a vymaže šifrovanie interného úložiska.</string>
+ <string name="format_data_wtc1">Formátovanie Data vymaže všetky aplikácie,</string>
+ <string name="format_data_wtc2">zálohy a hudbu. Tento proces je nezvratný.</string>
+ <string name="format_data_undo">Toto je nezvratné.</string>
+ <string name="format_data_complete">Formátovanie Data je hotové</string>
+ <string name="yes_continue">Napíšte \"yes\" pre pokračovanie. Stlačte naspäť pre zrušenie.</string>
+ <string name="part_opt_hdr">Možnosti pre: %tw_partition_name%</string>
+ <string name="sel_act_hdr">Vyberte akciu</string>
+ <string name="file_sys_opt">Nastavenia súborového systému</string>
+ <string name="partition">Partície: %tw_partition_name%</string>
+ <string name="part_mount_point">Mount point: %tw_partition_mount_point%</string>
+ <string name="part_curr_fs">Súborový systém: %tw_partition_file_system%</string>
+ <string name="part_present_yes">Prítomný: Áno</string>
+ <string name="part_present_no">Prítomný: Nie</string>
+ <string name="part_removable_yes">Vymeniteľný: Áno</string>
+ <string name="part_removable_no">Vymeniteľný: Nie</string>
+ <string name="part_size">Veľkosť: %tw_partition_size%MB</string>
+ <string name="part_used">Použité: %tw_partition_used%MB</string>
+ <string name="part_free">Voľné: %tw_partition_free%MB</string>
+ <string name="part_backup_size">Veľkosť zálohy: %tw_partition_backup_size%MB</string>
+ <string name="resize_btn">Zväčšiť súborový systém</string>
+ <string name="resize_btn_s">Zväčšiť</string>
+ <string name="resize_confirm">Zväčšiť %tw_partition_name%?</string>
+ <string name="resizing">Zväčšenie...</string>
+ <string name="resize_complete">Zväčšenie dokončené</string>
+ <string name="swipe_resize">Potiahnite pre zväčšenie</string>
+ <string name="swipe_resize_s"> Zväčšenie</string>
+ <string name="repair_btn">Opraviť súborový systém</string>
+ <string name="repair_btn_s">Oprava</string>
+ <string name="repair_confirm">Opraviť %tw_partition_name%?</string>
+ <string name="repairing">Opravovanie...</string>
+ <string name="repair_complete">Oprava dokončená</string>
+ <string name="swipe_repair">Potiahnite pre opravu</string>
+ <string name="swipe_repair_s"> Oprava</string>
+ <string name="change_fs_btn">Zmeniť súborový systém</string>
+ <string name="change_fs_btn_s">Zmeniť</string>
+ <string name="change_fs_for_hdr">Zmeniť súborový systém pre: %tw_partition_name%</string>
+ <string name="change_fs_for_hdr_s">Partícia: %tw_partition_name% &gt; Zvoľte súborový systém</string>
+ <string name="change_fs_warn1">Niektoré ROM alebo kernely nemusia podporovať niektoré</string>
+ <string name="change_fs_warn2">súborové systémy. Pokračujte opatrne!</string>
+ <string name="change_fs_confirm">Zmeniť %tw_partition_name%?</string>
+ <string name="formatting">Formátovanie...</string>
+ <string name="format_complete">Formátovanie dokončené</string>
+ <string name="swipe_change_fs">Potiahnite pre zmenu</string>
+ <string name="swipe_change_s"> Zmena</string>
+ <string name="back_btn">Naspäť</string>
+ <string name="wipe_enc_btn">Vymazať šifrovanie</string>
+ <string name="swipe_factory_reset">Potiahnite pre továrne nastavenia</string>
+ <string name="repair_change_btn">Opraviť alebo zmeniť súborový systém</string>
+ <string name="storage_hdr">Úložisko: %tw_storage_display_name% (%tw_storage_free_size% MB)</string>
+ <string name="backup_hdr">Záloha</string>
+ <string name="backup_confirm_hdr">Potvrdiť zálohu</string>
+ <string name="encryption_tab">ŠIFROVANIE</string>
+ <string name="encryption">Šifrovanie:</string>
+ <string name="name">Názov:</string>
+ <string name="sel_part_backup">Vybrať partície pre zálohovanie:</string>
+ <string name="storage">Pamäť:</string>
+ <string name="enc_disabled">zakázané - pre povolenie zadajte heslo</string>
+ <string name="enc_enabled">povolené</string>
+ <string name="enable_backup_comp_chk">Povoliť kompresiu</string>
+ <string name="skip_digest_backup_chk" version="2">Vynechať generovanie Digest počas zálohy</string>
+ <string name="disable_backup_space_chk">Nekontrolovať voľné miesto</string>
+ <string name="refresh_sizes_btn">Obnoviť veľkosti</string>
+ <string name="swipe_backup">Potiahnite pre zálohu</string>
+ <string name="append_date_btn">Pripojiť dátum</string>
+ <string name="backup_name_exists">Záloha s rovnakým názvom už existuje!</string>
+ <string name="encrypt_backup">Šifrovať zálohu?</string>
+ <string name="enter_pass">Zadajte heslo:</string>
+ <string name="enter_pass2">Zopakujte heslo:</string>
+ <string name="pass_not_match">Heslá sa nezhodujú!</string>
+ <string name="partitions">Partície:</string>
+ <string name="disabled">Zakázané</string>
+ <string name="enabled">Povolené</string>
+ <string name="backup_name_hdr">Názov zálohy</string>
+ <string name="progress">Priebeh:</string>
+ <string name="backup_complete">Zálohovanie je dokončené</string>
+ <string name="restore_hdr">Obnovenie</string>
+ <string name="sel_backup_hdr">Vyberte zálohu</string>
+ <string name="restore_sel_store_hdr">Vyberte zálohu z %tw_storage_display_name% (%tw_storage_free_size% MB)</string>
+ <string name="restore_sel_pack_fs">Vyberte balíček pre obnovu:</string>
+ <string name="restore_enc_backup_hdr">Šifrovaná záloha</string>
+ <string name="restore_dec_fail">Heslo je nesprávne, skúste to znova!</string>
+ <string name="del_backup_btn">Vymazať zálohu</string>
+ <string name="del_backup_confirm">Vymazať zálohu?</string>
+ <string name="del_backup_confirm2">Toto je nezvratné!</string>
+ <string name="deleting_backup">Vymazávanie zálohy...</string>
+ <string name="backup_deleted">Vymazanie zálohy dokončené</string>
+ <string name="swipe_delete">Potiahnite pre vymazanie</string>
+ <string name="swipe_delete_s"> Vymazať</string>
+ <string name="restore_try_decrypt">Šifrovaná záloha - pokus o dešifrovanie</string>
+ <string name="restore_try_decrypt_s">Pokus o dešifrovanie</string>
+ <string name="restore_backup_date">Záloha vytvorená %tw_restore_file_date%</string>
+ <string name="restore_sel_part">Vybrať partície pre obnovu:</string>
+ <string name="restore_enable_digest_chk" version="2">Povoliť kontrolu Digest na zálohovaných súboroch</string>
+ <string name="restore_complete">Obnova dokončená</string>
+ <string name="swipe_restore">Potiahnite pre obnovu</string>
+ <string name="swipe_restore_s"> Obnoviť</string>
+ <string name="rename_backup_hdr">Premenovať zálohu</string>
+ <string name="rename_backup_confirm">Premenovať zálohu?</string>
+ <string name="rename_backup_confirm2">Toto je nezvratné!</string>
+ <string name="renaming_backup">Premenovanie zálohy...</string>
+ <string name="rename_backup_complete">Premenovanie zálohy dokončené</string>
+ <string name="swipe_to_rename">Potiahnutím premenujete</string>
+ <string name="swipe_rename"> Premenovať</string>
+ <string name="confirm_hdr">Potvrdiť</string>
+ <string name="mount_hdr">Pripojiť</string>
+ <string name="mount_sel_part">Vybrať partície pre pripojenie:</string>
+ <string name="mount_sys_ro_chk">Pripojiť partície v režime na čítanie</string>
+ <string name="mount_sys_ro_s_chk">Pripojiť systém v režime na čítanie</string>
+ <string name="decrypt_data_btn">Dešifrovať Data</string>
+ <string name="disable_mtp_btn">Zakázať MTP</string>
+ <string name="enable_mtp_btn">Povoliť MTP</string>
+ <string name="mount_usb_storage_btn">Pripoj. ukl. priestor USB</string>
+ <string name="usb_storage_hdr">Ukladací priestor USB</string>
+ <string name="usb_stor_mnt1">Ukladací priestor USB pripojený</string>
+ <string name="usb_stor_mnt2">Uistite sa, ze ste zariadenie odobrali</string>
+ <string name="usb_stor_mnt3">z počítača pred odpojením!</string>
+ <string name="unmount_btn">Odpojiť</string>
+ <string name="rb_system_btn">Systém</string>
+ <string name="rb_poweroff_btn">Vypnúť</string>
+ <string name="rb_recovery_btn">Recovery</string>
+ <string name="rb_bootloader_btn">Bootloader</string>
+ <string name="rb_download_btn">Stiahnuť</string>
+ <string name="turning_off">Vypínanie...</string>
+ <string name="swipe_power_off">Potiahnite pre vypnutie</string>
+ <string name="swipe_power_off_s">Vypnúť</string>
+ <string name="sys_ro_hdr">Nezmenená systémová partícia</string>
+ <string name="sys_ro_keep">Ponechať System v režime na čítanie?</string>
+ <string name="sys_rop1">TWRP môže ponechať systémovú partíciu nezmenenú</string>
+ <string name="sys_rop2">čo zjednoduší inštaláciu oficiálnych aktualizácií.</string>
+ <string name="sys_rop3">TWRP sa nezabráni oficiálnej ROM</string>
+ <string name="sys_rop4">prepísať TWRP a nebude ponúkať rootovanie zariadenia.</string>
+ <string name="sys_rop5">Inštalovanie Zip alebo operácie cez adb môžu stále</string>
+ <string name="sys_rop6">modifikovať systémovú partíciu.</string>
+ <string name="sys_rol1">TWRP môže ponechať systémovú partíciu nezmenenú čo zjednoduší inštaláciu oficiálnych aktualizácií.</string>
+ <string name="sys_rol2">TWRP nezabráni oficiálnej ROM prepísať TWRP a nebude ponúkať rootovanie zariadenia.</string>
+ <string name="sys_rol3">Inštalovanie Zip alebo operácie cez adb môžu stále modifikovať systémovú partíciu.</string>
+ <string name="sys_ro_never_show_chk">Viac nezobrazovať túto obrazovku pri štarte</string>
+ <string name="sys_ro_keep_ro_btn">Ponechať v režime na čítanie</string>
+ <string name="swipe_allow_mod">Potiahnuť pre povolenie zmien</string>
+ <string name="swipe_allow_mod_s">Povoliť zmeny</string>
+ <string name="settings_hdr">Nastavenia</string>
+ <string name="settings_gen_hdr">Všeobecné</string>
+ <string name="settings_gen_s_hdr">Všeobecné</string>
+ <string name="settings_gen_btn">Všeobecné</string>
+ <string name="use_rmrf_chk">Použiť rm -rf namiesto formátovania</string>
+ <string name="use24clock_chk">Používať 24h formát času</string>
+ <string name="rev_navbar_chk">Prevrátené usporiadanie lišty</string>
+ <string name="simact_chk">Simulovať akcie pre testovanie témy</string>
+ <string name="simfail_chk">Simulovať neúspechy akcií</string>
+ <string name="ctr_navbar_rdo">Centrovať tlačidlá navigácie</string>
+ <string name="lft_navbar_rdo">Zarovnať tlačidlá navigácie vľavo</string>
+ <string name="rht_navbar_rdo">Zarovnať tlačidlá navigácie vpravo</string>
+ <string name="restore_defaults_btn">Obnoviť predvolené</string>
+ <string name="settings_tz_btn">Časové pásmo</string>
+ <string name="settings_screen_btn">Obrazovka</string>
+ <string name="settings_screen_bright_btn">Jas obrazovky</string>
+ <string name="settings_vibration_btn">Vibrovať</string>
+ <string name="settings_language_btn">Jazyk</string>
+ <string name="time_zone_hdr">Časové pásmo</string>
+ <string name="sel_tz_list">Vyberte časové pásmo:</string>
+ <string name="utcm11">(UTC -11) Samoa, Midwayské ostrovy</string>
+ <string name="utcm10">(UTC -10) Havaj</string>
+ <string name="utcm9">(UTC -9) Aljaška</string>
+ <string name="utcm8">(UTC -8) Tichomorský čas</string>
+ <string name="utcm7">(UTC -7) Západný (Horský) čas USA, Arizona</string>
+ <string name="utcm6">(UTC -6) Centrálny čas USA, Mexiko</string>
+ <string name="utcm5">(UTC -5) Východný čas USA, Indiana</string>
+ <string name="utcm4">(UTC -4) Atlantický čas, Caracas</string>
+ <string name="utcm3">(UTC -3) Brazília, Buenos Aires</string>
+ <string name="utcm2">(UTC -2) Stredoatlantický čas</string>
+ <string name="utcm1">(UTC -1) Azory, Cape Verde</string>
+ <string name="utc0">(UTC 0) Greenwichský čas, Londýn, Dublin, Lisbon</string>
+ <string name="utcp1">(UTC +1) Stredoeurópsky čas, Bratislava, Berlín, Brusel, Paríž</string>
+ <string name="utcp2">(UTC +2) Atény, Istanbul, Minsk, Káhira</string>
+ <string name="utcp3">(UTC +3) Moskva, Bagdad, Teherán</string>
+ <string name="utcp4">(UTC +4) Abu Dhabi, Tbilisi, Muscat</string>
+ <string name="utcp5">(UTC +5) Islamabád, Karáčí, Jekaterinsburg</string>
+ <string name="utcp6">(UTC +6) Astana, Colombo, Dhakar</string>
+ <string name="utcp7">(UTC +7) Bangkok, Džakarta, Hanoj</string>
+ <string name="utcp8">(UTC +8) Peking, Hong Kong, Singapur</string>
+ <string name="utcp9">(UTC +9) Jakutsk, Tokyo, Soul</string>
+ <string name="utcp10">(UTC +10) Vladivostok, Sydney, Guam</string>
+ <string name="utcp11">(UTC +11) Magadan, Šalamúnové ostrovy</string>
+ <string name="utcp12">(UTC +12) Wellington, Fidži, Kamčatka</string>
+ <string name="sel_tz_offset">Zvoľte odchýlku (zvyčajne 0): %tw_time_zone_guioffset%</string>
+ <string name="tz_offset_none">Žiadna</string>
+ <string name="tz_offset_0">0</string>
+ <string name="tz_offset_15">15</string>
+ <string name="tz_offset_30">30</string>
+ <string name="tz_offset_45">45</string>
+ <string name="use_dst_chk">Použiť letný čas (DST)</string>
+ <string name="curr_tz">Aktuálne časové pásmo: %tw_time_zone%</string>
+ <string name="curr_tz_s">Aktuálne časové pásmo:</string>
+ <string name="set_tz_btn">Nastav časové pásmo</string>
+ <string name="settings_screen_hdr">Obrazovka</string>
+ <string name="settings_screen_timeout_hdr">Vypnutie obrazovky</string>
+ <string name="enable_timeout_chk">Povoliť vypnutie obrazovky</string>
+ <string name="screen_to_slider">Vypnutie obrazovky v sekundách:</string>
+ <string name="screen_to_slider_s">Vypnutie obrazovky v sekundách (0=zakázané): %tw_screen_timeout_secs%</string>
+ <string name="screen_to_na">Nastavenie vypnutia obrazovky je nedostupné</string>
+ <string name="screen_bright_slider">Jas: %tw_brightness_pct%%</string>
+ <string name="screen_bright_na">Nastavenie jasu je nedostupné</string>
+ <string name="vibration_hdr">Vibrovať</string>
+ <string name="button_vibration_hdr">Vibrovať pri dotyku</string>
+ <string name="kb_vibration_hdr">Vibrovať pri písaní</string>
+ <string name="act_vibration_hdr">Vibrovať pri akcii</string>
+ <string name="button_vibration">Vibrovať pri dotyku:</string>
+ <string name="kb_vibration">Vibrovať pri písaní:</string>
+ <string name="act_vibration">Vibrovať pri akcii:</string>
+ <string name="select_language">Výber jazyka:</string>
+ <string name="sel_lang_btn">Výber jazyka</string>
+ <string name="set_language_btn">Nastaviť jazyk</string>
+ <string name="advanced_hdr">Rozšírené</string>
+ <string name="copy_log_confirm">Skopírovať log na SD kartu?</string>
+ <string name="copying_log">Kopírovanie logu na SD kartu...</string>
+ <string name="copy_log_complete">Kopírovanie logu dokončené</string>
+ <string name="part_sd_btn">Rozdeliť SD kartu</string>
+ <string name="part_sd_s_btn">SD karta</string>
+ <string name="file_manager_btn">Súborový manažér</string>
+ <string name="language_hdr">Jazyk</string>
+ <string name="terminal_btn">Terminál</string>
+ <string name="reload_theme_btn">Načítať tému</string>
+ <string name="dumlock_btn">HTC Dumlock</string>
+ <string name="inject_twrp_btn">Vložiť TWRP</string>
+ <string name="inject_twrp_confirm">Znova vložiť TWRP?</string>
+ <string name="injecting_twrp">Vkladanie TWRP...</string>
+ <string name="inject_twrp_complete">Vloženie TWRP dokončené</string>
+ <string name="swipe_to_confirm">Potiahnite pre potvrdenie</string>
+ <string name="part_sd_hdr">Rozdeliť SD kartu</string>
+ <string name="invalid_partsd_sel">Musíte zvoliť odpojiteľné zariadenie</string>
+ <string name="part_sd_lose">Prídete o všetky súbory na vloženej SD karte!</string>
+ <string name="part_sd_undo">Toto je nezvratná akcia!</string>
+ <string name="part_sd_ext_sz">Veľkosť EXT:</string>
+ <string name="part_sd_swap_sz">Veľkosť Swap:</string>
+ <string name="part_sd_m">-</string>
+ <string name="part_sd_p">+</string>
+ <string name="file_system">Súborový systém:</string>
+ <string name="swipe_part_sd">Potiahnutím rozdelíte</string>
+ <string name="swipe_part_sd_s">Rozdelenie</string>
+ <string name="partitioning_sd">Delenie SD karty...</string>
+ <string name="partitioning_sd2">Môže to trvať niekoľko minút.</string>
+ <string name="part_sd_complete">Rozdelenie kompletné</string>
+ <string name="dumlock_hdr">HTC Dumlock</string>
+ <string name="dumlock_restore_btn">Obnoviť pôvodný boot.img</string>
+ <string name="dumlock_restore_confirm">Obnoviť pôvodný boot.img?</string>
+ <string name="dumlock_restoring">Obnovenie pôvodného boot.img...</string>
+ <string name="dumlock_restore_complete">Obnova pôvodného boot.img dokončená</string>
+ <string name="dumlock_reflash_btn">Prepísanie recovery</string>
+ <string name="dumlock_reflash_confirm">Prepísať recovery pri štarte?</string>
+ <string name="dumlock_reflashing">Prepísanie recovery pri štarte...</string>
+ <string name="dumlock_reflash_complete">Prepísanie recovery pri štarte dokončené</string>
+ <string name="dumlock_install_btn">Inštalovať HTC Dumlock</string>
+ <string name="dumlock_install_confirm">Inštalovať súbory HTC Dumlock do ROM?</string>
+ <string name="dumlock_installing">Inštalácia HTC Dumlock...</string>
+ <string name="dumlock_install_complete">Inštalácia HTC Dumlock dokončená</string>
+ <string name="swipe_to_unlock">Potiahnutím odomknúť</string>
+ <string name="swipe_unlock"> Odomknúť</string>
+ <string name="fm_hdr">Súborový manažér</string>
+ <string name="fm_sel_file">Vyberte súbor alebo adresár</string>
+ <string name="fm_type_folder">Adresár</string>
+ <string name="fm_type_file">Súbor</string>
+ <string name="fm_choose_act">Zvoľte akciu</string>
+ <string name="fm_selected">Zvolené %tw_fm_type%:</string>
+ <string name="fm_copy_btn">Kopírovať</string>
+ <string name="fm_copy_file_btn">Kopírovať súbor</string>
+ <string name="fm_copy_folder_btn">Kopírovať adresár</string>
+ <string name="fm_copying">Kopírovanie</string>
+ <string name="fm_move_btn">Presunúť</string>
+ <string name="fm_moving">Presúvanie</string>
+ <string name="fm_chmod755_btn">chmod 755</string>
+ <string name="fm_chmod755ing">chmod 755</string>
+ <string name="fm_chmod_btn">chmod</string>
+ <string name="fm_delete_btn">Vymazať</string>
+ <string name="fm_deleting">Vymazávanie</string>
+ <string name="fm_rename_btn">Premenovať</string>
+ <string name="fm_rename_file_btn">Premenovať súbor</string>
+ <string name="fm_rename_folder_btn">Premenovať adresár</string>
+ <string name="fm_renaming">Premenovávanie</string>
+ <string name="fm_sel_dest">Vyberte cieľový adresár</string>
+ <string name="fm_sel_curr_folder">Vyberte súčasný adresár</string>
+ <string name="fm_rename_hdr">Premenovať</string>
+ <string name="fm_set_perms_hdr">Nastaviť práva</string>
+ <string name="fm_perms">Práva:</string>
+ <string name="fm_complete">Operácia na súbore dokončená</string>
+ <string name="decrypt_data_hdr">Dešifrovať dáta</string>
+ <string name="decrypt_data_enter_pass">Zadajte heslo.</string>
+ <string name="decrypt_data_enter_pattern">Zadajte vzor.</string>
+ <string name="decrypt_data_trying">Pokus o dešifrovanie</string>
+ <string name="term_hdr">Príkaz terminálu</string>
+ <string name="term_s_hdr">Terminál</string>
+ <string name="term_kill_btn">ZABI</string>
+ <string name="term_sel_folder_hdr">Navigovať do počiatočného adresára</string>
+ <string name="adb_sideload_hdr">ADB Sideload</string>
+ <string name="sideload_wipe_dalvik_chk">Vymazať dalvik cache</string>
+ <string name="sideload_wipe_cache_chk">Vymazať cache</string>
+ <string name="swipe_to_sideload">Potiahnite pre spustenie sideload</string>
+ <string name="swipe_sideload"> Štart</string>
+ <string name="sideload_confirm">ADB Sideload</string>
+ <string name="sideload_usage">Použitie: adb sideload názov.zip</string>
+ <string name="sideload_complete">ADB Sideload dokončený</string>
+ <string name="reboot_hdr">Reštart</string>
+ <string name="su_hdr">Kontrola SuperSU</string>
+ <string name="su_note1">Vaše zariadenie nemá ROOT.</string>
+ <string name="su_note2">Chcete nainštalovať SuperSU?</string>
+ <string name="su_note3">Toto povolí ROOT práva na vašom zariadení.</string>
+ <string name="su_cancel">Neinštalovať</string>
+ <string name="swipe_su_to_install">Potiahnite pre inštaláciu ROOT</string>
+ <string name="swipe_su_install"> Inštalovať</string>
+ <string name="su_installing">Inštalácia SuperSU</string>
+ <string name="sel_storage_list">Vyberte úložisko</string>
+ <string name="ok_btn">OK</string>
+ <string name="no_kernel_selinux">Kernel nemá podporu pre čítanie obsahu SELinux.</string>
+ <string name="full_selinux">Plná podpora SELinux.</string>
+ <string name="no_selinux">Bez podpory SELinux (chýba libselinux).</string>
+ <string name="mtp_enabled">MTP povolené</string>
+ <string name="mtp_crash">MTP zlyhalo, MTP nebude spustené pri štarte.</string>
+ <string name="decrypt_success">Úspešne dešifrované s prednastaveným heslom.</string>
+ <string name="unable_to_decrypt">Nemožno dešifrovať s prednastaveným heslom. Možno budete musieť naformátovať partíciu Data.</string>
+ <string name="generating_digest1" version="2">Generuje sa Digest</string>
+ <string name="generating_digest2" version="2"> *Generuje sa Md5...</string>
+ <string name="digest_created" version="2"> *Digest vygenerované.</string>
+ <string name="digest_error" version="2"> * chyba Digest!</string>
+ <string name="digest_compute_error" version="2"> * chyba pri výpočte Digest.</string>
+ <string name="current_date">(Aktuálny dátum)</string>
+ <string name="auto_generate">(Generovať automaticky)</string>
+ <string name="unable_to_locate_partition">Nemožno nájsť partíciu \'{1}\' pre výpočet zálohy.</string>
+ <string name="no_partition_selected">Žiadne partície vybrané na zálohovanie.</string>
+ <string name="total_partitions_backup"> * Počet partícií označených na zálohovanie: {1}</string>
+ <string name="total_backup_size"> * Konečná veľkosť zálohy: {1}MB</string>
+ <string name="available_space"> * Voľné miesto na úložisku: {1}MB</string>
+ <string name="unable_locate_storage">Nie je možné nájsť uložisko.</string>
+ <string name="no_space">Nedostatok miesta na úložisku.</string>
+ <string name="backup_started">[ZÁLOHOVANIE ZAČALO]</string>
+ <string name="backup_folder"> * Adresár zálohy: {1}</string>
+ <string name="fail_backup_folder">Nie je možné vytvoriť adresár zálohy.</string>
+ <string name="avg_backup_fs">Priemerná miera zálohovania súborových systémov: {1} MB/sek</string>
+ <string name="avg_backup_img">Priemerná miera zálohovania diskov: {1} MB/sek</string>
+ <string name="total_backed_size">[{1} MB ZÁLOH SPOLU]</string>
+ <string name="backup_completed">[ZÁLOHA DOKONČENÁ ZA {1} SEKÚND]</string>
+ <string name="restore_started">[ZAČIATOK OBNOVY]</string>
+ <string name="restore_folder">Obnoviť adresár: \'{1}\'</string>
+ <string name="verifying_digest" version="2">Kontrolovanie Digest</string>
+ <string name="skip_digest" version="2">Vynechanie kontroly Digest na základe užívateľského nastavenia.</string>
+ <string name="calc_restore">Výpočet detailov obnovy...</string>
+ <string name="restore_read_only">Nie je možné obnoviť {1} -- pripojené len na čítanie.</string>
+ <string name="restore_unable_locate">Nie je možné nájsť partíciu \'{1}\' pre obnovu.</string>
+ <string name="no_part_restore">Žiadne partície neboli vybrané pre obnovu.</string>
+ <string name="restore_part_count">Obnova {1} partiícií...</string>
+ <string name="total_restore_size">Veľkosť obnovy je spolu {1}MB</string>
+ <string name="updating_system_details">Obnovovanie detailov systému</string>
+ <string name="restore_completed">[OBNOVA DOKONČENÁ ZA {1} SEKÚND]</string>
+ <string name="error_opening_strerr">Chyba pri otváraní: \'{1}\' ({2})</string>
+ <string name="unable_locate_part_backup_name">Nie je možné nájsť partíciu podľa názvu zálohy: \'{1}\'</string>
+ <string name="unable_find_part_path">Nie je možné nájsť partíciu na adrese \'{1}\'</string>
+ <string name="update_part_details">Obnova detailov partície...</string>
+ <string name="update_part_details_done">...hotovo</string>
+ <string name="wiping_dalvik">Vymazávanie adresárov dalvik cache...</string>
+ <string name="cleaned">Vyčistené: {1}...</string>
+ <string name="dalvik_done">-- Vyčistenie adresára Dalvik cache bolo dokončené!</string>
+ <string name="no_andsec">Žiadne zabezpečené android partície neboli nájdené.</string>
+ <string name="unable_to_locate">{1} nie je možné nájsť.</string>
+ <string name="wiping_datamedia">Vymazávanie interného úložiska -- /data/media...</string>
+ <string name="unable_to_mount">{1} nie je možné pripojiť</string>
+ <string name="unable_to_mount_internal">Nie je možné pripojiť interné úložisko</string>
+ <string name="unable_to_mount_storage">Nie je možné pripojiť úložisko</string>
+ <string name="fail_decrypt">Nie je možné dešifrovať data.</string>
+ <string name="no_crypto_support">Táto verzia bola skompilovaná bez podpory šifrovania.</string>
+ <string name="decrypt_success_dev">Dáta boli úspešne dešifrované, nový block device: \'{1}\'</string>
+ <string name="done">Hotovo.</string>
+ <string name="start_partition_sd">Delenie SD karty...</string>
+ <string name="partition_sd_locate">Nie je možné nájsť zariadenie na rozdelenie.</string>
+ <string name="ext_swap_size">Veľkosť EXT + Swap je väčšia ako veľkosť SD-karty.</string>
+ <string name="remove_part_table">Vymazávanie tabuľky rozdelenia...</string>
+ <string name="unable_rm_part">Nie je možné vymazať tabuľku rozdelenia.</string>
+ <string name="create_part">Vytváranie partície {1}...</string>
+ <string name="unable_to_create_part">Partíciu {1} nie je možné vytvoriť.</string>
+ <string name="format_sdext_as">Formátovanie sd-ext ako {1}...</string>
+ <string name="part_complete">Rozdelenie dokončené.</string>
+ <string name="unable_to_open">Nie je možné otvoriť \'{1}\'.</string>
+ <string name="mtp_already_enabled">MTP je už povolené</string>
+ <string name="mtp_fail">Nie je možné povoliť MTP</string>
+ <string name="no_mtp">Podpora MTP nie je zahrnutá</string>
+ <string name="image_flash_start">[ZÁPIS IMAGE SPUSTENÝ]</string>
+ <string name="img_to_flash">Obraz na zápis: \'{1}\'</string>
+ <string name="flash_unable_locate">Nie je možné nájsť partíciu \'{1}\' pre zápis.</string>
+ <string name="no_part_flash">Ná zápis neboli zvolené žiadne partície.</string>
+ <string name="too_many_flash">Na zápis je zvolených príliš veľa partícií.</string>
+ <string name="invalid_flash">Zvolená partícia nie je správna pre zápis.</string>
+ <string name="flash_done">[ZÁPIS IMAGE DOKONČENÝ]</string>
+ <string name="wiping">Mazanie {1}</string>
+ <string name="repair_not_exist">{1} neexistuje! Oprava nie je možná!</string>
+ <string name="repairing_using">Oprava {1} pomocou {2}...</string>
+ <string name="unable_repair">Nie je možné opraviť {1}.</string>
+ <string name="mount_data_footer">Nie je možné pripojiť /data a nájsť parametre šifrovania.</string>
+ <string name="create_folder_strerr">Adresár \'{1}\' nie je možné vytvoriť ({2}).</string>
+ <string name="fail_mount">Nie je možné pripojiť \'{1}\' ({2})</string>
+ <string name="fail_unmount">Nie je možné odpojiť \'{1}\' ({2})</string>
+ <string name="cannot_resize">Nie je možné zväčšiť {1}.</string>
+ <string name="repair_resize">Opravovanie {1} pred zväčšením.</string>
+ <string name="unable_resize">Nie je možné zväčšiť {1}.</string>
+ <string name="no_digest_found" version="2">Súbor Digest sa nenašiel pre \'{1}\'. Prosím zvoľte Vypnúť kontrolu MD5 počas obnovy.</string>
+ <string name="digest_fail_match" version="2">Digest nezodpovedá súboru \'{1}\'.</string>
+ <string name="digest_matched" version="2">Digest sa zhoduje pre '{1}'.</string>
+ <string name="fail_decrypt_tar">Nie je možné dešifrovať súbor tar \'{1}\'</string>
+ <string name="format_data_msg">Mali by ste reštartovať recovery aby ste mohli znova používať /data.</string>
+ <string name="format_data_err">Nie je možné formátovať pre zrušenie šifrovania.</string>
+ <string name="formatting_using">Formátovanie {1} použitím {2}...</string>
+ <string name="unable_to_wipe">Nie je možné vymazať {1}.</string>
+ <string name="cannot_wipe">Partíciu {1} nie je možné vymazať.</string>
+ <string name="remove_all">Vymazanie všetkých súborov v \'{1}\'</string>
+ <string name="wiping_data">Vymazanie Data bez vymazania zložky /data/media...</string>
+ <string name="backing_up">Zálohovanie {1}...</string>
+ <string name="backing">Zálohovanie</string>
+ <string name="backup_size">Veľkosť zálohy pre \'{1}\' je 0 bajtov.</string>
+ <string name="datamedia_fs_restore">UPOZORNENIE: Táto záloha /data bola vytvorená pomocou systému súborov {1}! Záloha nebude bootovať pokiaľ sa nezmení naspäť na {1}.</string>
+ <string name="restoring">Obnovenie {1}...</string>
+ <string name="restoring_hdr">Obnovenie</string>
+ <string name="recreate_folder_err">Nie je možné vytvoriť adresár {1}.</string>
+ <string name="img_size_err">Veľkosť image je väčšia ako cieľová partícia</string>
+ <string name="flashing">Zapisovanie {1}...</string>
+ <string name="backup_folder_set">Adresár záloh nastavený na: \'{1}\'</string>
+ <string name="locate_backup_err">Zálohu \'{1}\' nie je možné nájsť</string>
+ <string name="set_restore_opt">Nastavenie možností obnovy: \'{1}\':</string>
+ <string name="digest_check_skip" version="2">Vynechanie kontroly Digest zapnuté</string>
+ <string name="ors_encrypt_restore_err">Nie je možné použiť OpenRecoveryScript pre obnovu zašifrovanej zálohy.</string>
+ <string name="mounting">Pripájanie</string>
+ <string name="unmounting">Odpájanie</string>
+ <string name="mounted">\'{1}\' pripojený</string>
+ <string name="unmounted">\'{1}\' odpojený</string>
+ <string name="setting">Nastavenie \'{1}\' na \'{2}\'</string>
+ <string name="setting_empty">Nastavenie \'{1}\' na prázdne</string>
+ <string name="making_dir1">Vytváranie adresára</string>
+ <string name="making_dir2">Vytváranie adresára: \'{1}\'</string>
+ <string name="running_command">Spúšťanie príkazu</string>
+ <string name="sideload">ADB Sideload</string>
+ <string name="start_sideload">Spúšťanie funkcie ADB sideload...</string>
+ <string name="need_new_adb">Pre použitie sideload na toto zariadenie potrebujete ADB 1.0.32 alebo novšie.</string>
+ <string name="no_pwd">Heslo nebolo zadané.</string>
+ <string name="done_ors">Vykonávanie skriptu dokončené</string>
+ <string name="injecttwrp">Vkladanie TWRP do boot.img...</string>
+ <string name="zip_err">Chyba pri inštalácií zip súboru \'{1}\'</string>
+ <string name="installing_zip">Inštalácia zip súboru \'{1}\'</string>
+ <string name="select_backup_opt">Nastavenie možností zálohy:</string>
+ <string name="compression_on">Kompresia zapnutá</string>
+ <string name="digest_off" version="2">Generovanie Digest vypnuté</string>
+ <string name="backup_fail">Zálohovanie zlyhalo</string>
+ <string name="backup_clean">Zálohovanie zlyhalo. Čistenie adresára záloh.</string>
+ <string name="running_recovery_commands">Spúšťanie príkazov recovery</string>
+ <string name="recovery_commands_complete">Príkazy recovery dokončené</string>
+ <string name="running_ors">Spúšťanie OpenRecoveryScript</string>
+ <string name="ors_complete">OpenRecoveryScript dokončený</string>
+ <string name="no_updater_binary">Nie je možné nájsť \'{1}\' v súbore zip.</string>
+ <string name="check_for_digest" version="2">Kontrola Digest súboru...</string>
+ <string name="fail_sysmap">Nie je možné namapovať súbor \'{1}\'</string>
+ <string name="verify_zip_sig">Overovanie podpisu zip súboru...</string>
+ <string name="verify_zip_fail">Overenie podpisu zip súboru zlyhalo!</string>
+ <string name="verify_zip_done">Podpis súboru zip úspešne overený.</string>
+ <string name="zip_corrupt">Súbor zip je poškodený!</string>
+ <string name="no_digest" version="2">Vynechanie kontroly Digest: súbor s MD5 nenájdený</string>
+ <string name="digest_fail" version="2">Digest sa nezhoduje</string>
+ <string name="digest_match" version="2">Digest sa zhoduje</string>
+ <string name="pid_signal">Proces {1} skončil so signálom: {2}</string>
+ <string name="pid_error">Proces {1} skončil s CHYBOU: {2}</string>
+ <string name="install_dumlock">Inštalovanie HTC Dumlock do systému...</string>
+ <string name="dumlock_restore">Obnovenie pôvodného boot.img...</string>
+ <string name="dumlock_reflash">Zapisovanie recovery do boot.img...</string>
+ <string name="run_script">Beh skriptu {1}...</string>
+ <string name="rename_stock">Premenovaný originál recovery súbor v /system pre zabránenie prepísania TWRP originál ROM.</string>
+ <string name="split_backup">Rozdelenie zálohy do viacerých archívov...</string>
+ <string name="backup_error">Chyba pri vytváraní zálohy.</string>
+ <string name="restore_error">Chyba počas procesu obnovy.</string>
+ <string name="split_thread">Rozdelenie ID vlákna {1} do archívu {2}</string>
+ <string name="file_progress">%llu z %llu súborov, %i%%</string>
+ <string name="size_progress">%lluMB z %lluMB, %i%%</string>
+ <string name="decrypt_cmd">Pokus o dešifrovanie data partície cez príkazový riadok.</string>
+ <string name="base_pkg_err">Nie je možné načítať základné balíčky.</string>
+ <string name="simulating">Simulovanie akcií...</string>
+ <string name="backup_cancel">Zálohovanie prerušené</string>
+ <string name="config_twrp">Konfigurovanie TWRP...</string>
+ <string name="config_twrp_err">Nie je možné konfigurovať TWRP s týmto kernelom.</string>
+ <string name="copy_log">Recovery log skopírovaný do {1}.</string>
+ <string name="max_queue">Dosiahnutý maximálny počet zip v zozname!</string>
+ <string name="min_queue">Dosiahnutý minimálny počet zip v zozname!</string>
+ <string name="screenshot_saved">Screenshot bol uložený do {1}</string>
+ <string name="screenshot_err">Nie je možné vytvoriť screenshot!</string>
+ <string name="zip_wipe_cache">Jeden alebo viac zip súborov vyžiadalo vymazanie cache -- Vymazávanie cache.</string>
+ <string name="and_sec_wipe_err">Nie je možné vymazať android secure</string>
+ <string name="dalvik_wipe_err">Nie je možné vymazať dalvik</string>
+ <string name="auto_gen">(Generovať automaticky)</string>
+ <string name="curr_date">(Aktuálny dátum)</string>
+ <string name="backup_name_len">Názov zálohy je príliš dlhý.</string>
+ <string name="backup_name_invalid">Názov zálohy \'{1}\' obsahuje neplatný znak: \'{1}\'</string>
+ <string name="no_real_sdcard">Toto zariadenie nemá skutočnú SD kartu! Prerušujem!</string>
+ <string name="cancel_sideload">Rušenie ADB sideload...</string>
+ <string name="change_fs_err">Chyba pri zmene súborového systému.</string>
+ <string name="theme_ver_err">Vlastná téma sa nezhoduje s verziou TWRP. Používa sa originál téma.</string>
+ </resources>
+</language>
diff --git a/gui/theme/common/languages/sl.xml b/gui/theme/common/languages/sl.xml
index 2bf2ffe7b..e94dd215e 100644
--- a/gui/theme/common/languages/sl.xml
+++ b/gui/theme/common/languages/sl.xml
@@ -199,7 +199,7 @@
<string name="enc_disabled">onemogočeno - nastavite geslo za omogočanje</string>
<string name="enc_enabled">omogočeno</string>
<string name="enable_backup_comp_chk">Omogoči stiskanje</string>
- <string name="skip_md5_backup_chk">Preskoči ustvarjanje razpršila MD5 med varnostnim kopiranjem</string>
+ <string name="skip_digest_backup_chk" version="2">Preskoči ustvarjanje razpršila Digest med varnostnim kopiranjem</string>
<string name="disable_backup_space_chk">Onemogoči preverjanje nezasedenega prostora</string>
<string name="refresh_sizes_btn">Osveži velikosti</string>
<string name="swipe_backup">Povlecite za var. kopiranje</string>
@@ -232,7 +232,7 @@
<string name="restore_try_decrypt_s">Poizkušanje odšifriranja</string>
<string name="restore_backup_date">Varnostna kopija ustvarjena %tw_restore_file_date%</string>
<string name="restore_sel_part">Izberite razdelke za obnovitev:</string>
- <string name="restore_enable_md5_chk">Omogoči preverjanje razpršila MD5 varnostnih kopij</string>
+ <string name="restore_enable_digest_chk" version="2">Omogoči preverjanje razpršila Digest varnostnih kopij</string>
<string name="restore_complete">Obnavljanje končano</string>
<string name="swipe_restore">Povlecite za obnovitev</string>
<string name="swipe_restore_s"> Obnovi</string>
@@ -458,11 +458,11 @@
<string name="mtp_crash">MTP se je sesul, MTP se ob zagonu ne bo začel.</string>
<string name="decrypt_success">Uspešno odšifrirano s privzetim geslom.</string>
<string name="unable_to_decrypt">Odšifriranje s privzetim geslom ni mogoče. Morda boste moral sformatirati podatke.</string>
- <string name="generating_md51">Ustvarjanje razpršila MD5</string>
- <string name="generating_md52"> * Ustvarjanje razpršila MD5 …</string>
- <string name="md5_created"> * Razpršilo MD5 ustvarjeno.</string>
- <string name="md5_error"> * Napaka razpršila MD5!</string>
- <string name="md5_compute_error"> * Napaka pri računanju razpršila MD5.</string>
+ <string name="generating_digest1" version="2">Ustvarjanje razpršila Digest</string>
+ <string name="generating_digest2" version="2"> * Ustvarjanje razpršila Digest …</string>
+ <string name="digest_created" version="2"> * Razpršilo Digest ustvarjeno.</string>
+ <string name="digest_error" version="2"> * Napaka razpršila Digest!</string>
+ <string name="digest_compute_error" version="2"> * Napaka pri računanju razpršila Digest.</string>
<string name="current_date">(trenutni datum)</string>
<string name="auto_generate">(samodejno ustvari)</string>
<string name="unable_to_locate_partition">Razdelka \'{1}\' za računanje varnostnih kopij ni mogoče najti.</string>
@@ -481,8 +481,8 @@
<string name="backup_completed">[VARNOSTNO KOPIRANJE KONČANO V {1} S]</string>
<string name="restore_started">[OBNOVITEV SE JE ZAČELA]</string>
<string name="restore_folder">Mapa obnovitve: \'{1}\'</string>
- <string name="verifying_md5">Preverjanje razpršila MD5</string>
- <string name="skip_md5">Preskakovanje preverjanja razpršila MD5 glede na uporabniško nastavitev.</string>
+ <string name="verifying_digest" version="2">Preverjanje razpršila Digest</string>
+ <string name="skip_digest" version="2">Preskakovanje preverjanja razpršila Digest glede na uporabniško nastavitev.</string>
<string name="calc_restore">Računanje podrobnosti obnovitve …</string>
<string name="restore_read_only">{1} ni mogoče obnoviti -- priklopljen je samo za branje.</string>
<string name="restore_unable_locate">Razdelka \'{1}\' za obnovitev ni mogoče najti.</string>
@@ -540,9 +540,9 @@
<string name="cannot_resize">Velikosti {1} ni mogoče spremeniti.</string>
<string name="repair_resize">Popravljanje {1} pred spremembo velikosti.</string>
<string name="unable_resize">Velikosti {1} ni mogoče spremeniti.</string>
- <string name="no_md5_found">Za \'{1}\' ni bilo najdene datoteke MD5. Odstranite izbiro \'Omogoči preverjanje razpršila MD5\' za obnovitev.</string>
- <string name="md5_fail_match">Ujemanje razpršila MD5 na \'{1}\' je spodletelo.</string>
- <string name="md5_matched">MD5 matched for '{1}'.</string>
+ <string name="no_digest_found" version="2">Za \'{1}\' ni bilo najdene datoteke Digest. Odstranite izbiro \'Omogoči preverjanje razpršila Digest\' za obnovitev.</string>
+ <string name="digest_fail_match" version="2">Ujemanje razpršila Digest na \'{1}\' je spodletelo.</string>
+ <string name="digest_matched" version="2">Digest matched for '{1}'.</string>
<string name="fail_decrypt_tar">Odšifriranje datoteke TAR \'{1}\' je spodletelo</string>
<string name="format_data_msg">Za ponovno uporabo /data boste morda morali ponovno zagnati obnovitev.</string>
<string name="format_data_err">Formatiranje za odstranitev šifriranja ni mogoče.</string>
@@ -563,7 +563,7 @@
<string name="backup_folder_set">Mapa varnostnega kopiranja nastavljena na \'{1}\'</string>
<string name="locate_backup_err">Varnostne kopije \'{1}\' ni mogoče najti</string>
<string name="set_restore_opt">Nastavljanje možnosti za varnostno kopiranje: \'{1}\':</string>
- <string name="md5_check_skip">Preskak. preverjanja raz. MD5 je vkl.</string>
+ <string name="digest_check_skip" version="2">Preskak. preverjanja raz. Digest je vkl.</string>
<string name="ors_encrypt_restore_err">OpenRecoveryScript ni mogoče uporabiti za obnavljanje šifriranih varnostnih kopij.</string>
<string name="mounting">Priklapljanje</string>
<string name="unmounting">Odklapljanje</string>
@@ -584,7 +584,7 @@
<string name="installing_zip">Nameščanje datoteke ZIP \'{1}\'</string>
<string name="select_backup_opt">Nastavljanje možnosti varnostnega kopiranja:</string>
<string name="compression_on">Stiskanje je vklopljeno</string>
- <string name="md5_off">Ustvarjanje razpršila MD5 je izklopljeno</string>
+ <string name="digest_off" version="2">Ustvarjanje razpršila Digest je izklopljeno</string>
<string name="backup_fail">Var. kop. je spodletelo</string>
<string name="backup_clean">Varnostno kopiranje je spodletelo. Čiščenje mape varnostnega kopiranja.</string>
<string name="running_recovery_commands">Izvajanje ukazov za obnovitev</string>
@@ -592,15 +592,15 @@
<string name="running_ors">Izvajanje OpenRecoveryScript</string>
<string name="ors_complete">OpenRecoveryScript končan</string>
<string name="no_updater_binary">V datoteki ZIP ni bilo mogoče najti \'{1}\'</string>
- <string name="check_for_md5">Preverjanje za datoteko razpršila MD5 …</string>
+ <string name="check_for_digest" version="2">Preverjanje za datoteko razpršila Digest …</string>
<string name="fail_sysmap">Preslikava datoteke \'{1}\' je spodletela</string>
<string name="verify_zip_sig">Preverjanje podpisa ZIP</string>
<string name="verify_zip_fail">Preverjanje podpisa ZIP je spodletelo!</string>
<string name="verify_zip_done">Preverjanje podpisa ZIP je bilo uspešno!</string>
<string name="zip_corrupt">Datoteka ZIP je poškodovana!</string>
- <string name="no_md5">Preskakovanje preverjanja razpršila MD5: datoteka MD5 ni bila najdena</string>
- <string name="md5_fail">MD5 se ne ujema</string>
- <string name="md5_match">MD5 se ujema</string>
+ <string name="no_digest" version="2">Preskakovanje preverjanja razpršila Digest: datoteka Digest ni bila najdena</string>
+ <string name="digest_fail" version="2">Digest se ne ujema</string>
+ <string name="digest_match" version="2">Digest se ujema</string>
<string name="pid_signal">{1} opravilo se je končalo s signalom: {2}</string>
<string name="pid_error">{1} opravilo se je končalo z NAPAKO: {2}</string>
<string name="install_dumlock">Nameščanje HTC Dumlocka na sistem …</string>
diff --git a/gui/theme/common/languages/sv.xml b/gui/theme/common/languages/sv.xml
index f9978fc6c..73a6e4581 100644
--- a/gui/theme/common/languages/sv.xml
+++ b/gui/theme/common/languages/sv.xml
@@ -181,14 +181,14 @@
<string name="su_installing">Installerar SuperSU</string>
<string name="sel_storage_list">Välj lagring</string>
<string name="ok_btn">OK</string>
- <string name="generating_md51">Genererar MD5</string>
- <string name="generating_md52"> * Genererar MD5...</string>
- <string name="md5_created"> * MD5 skapad.</string>
- <string name="md5_error"> * MD5-fel!</string>
+ <string name="generating_digest1" version="2">Genererar Digest</string>
+ <string name="generating_digest2" version="2"> * Genererar Digest...</string>
+ <string name="digest_created" version="2"> * Digest skapad.</string>
+ <string name="digest_error" version="2"> * Digest-fel!</string>
<string name="current_date">(Dagens datum)</string>
<string name="auto_generate">(Auto-generera)</string>
<string name="available_space"> * Tillgängligt utrymme: {1}MB</string>
- <string name="verifying_md5">Verifierar MD5</string>
+ <string name="verifying_digest" version="2">Verifierar Digest</string>
<string name="update_part_details_done">...klar</string>
<string name="done">Klar.</string>
<string name="create_part">Skapar {1} partition...</string>
diff --git a/gui/theme/common/languages/tr.xml b/gui/theme/common/languages/tr.xml
index d9ba276b3..4c3ee2cc7 100644
--- a/gui/theme/common/languages/tr.xml
+++ b/gui/theme/common/languages/tr.xml
@@ -199,7 +199,7 @@
<string name="enc_disabled">devre dışı - etkinleştirmek için bir şifre ayarlayın</string>
<string name="enc_enabled">etkin</string>
<string name="enable_backup_comp_chk">Sıkıştırmayı etkinleştir</string>
- <string name="skip_md5_backup_chk">Yedekleme sırasında MD5 oluşturmayı geç</string>
+ <string name="skip_digest_backup_chk" version="2">Yedekleme sırasında Digest oluşturmayı geç</string>
<string name="disable_backup_space_chk">Boş Alan Denetimini Devre Dışı Bırak</string>
<string name="refresh_sizes_btn">Boyutları Yenile</string>
<string name="swipe_backup">Yedeklemek için Kaydır</string>
@@ -232,7 +232,7 @@
<string name="restore_try_decrypt_s">Çözülmeye Çalışılıyor</string>
<string name="restore_backup_date">Yedek tarihi %tw_restore_file_date%</string>
<string name="restore_sel_part">Geri Yüklenecek Bölümleri Seç:</string>
- <string name="restore_enable_md5_chk">Yedek Dosyalarının MD5 Doğrulamasını Etkinleştir</string>
+ <string name="restore_enable_digest_chk" version="2">Yedek Dosyalarının Digest Doğrulamasını Etkinleştir</string>
<string name="restore_complete">Geri Yükleme Tamamlandı</string>
<string name="swipe_restore">Geri Yüklemek için Kaydır</string>
<string name="swipe_restore_s"> Geri Yükle</string>
@@ -458,11 +458,11 @@
<string name="mtp_crash">MTP Çöktü, açılışta başlatılmıyor.</string>
<string name="decrypt_success">Varsayılan şifre ile çözüldü.</string>
<string name="unable_to_decrypt">Varsayılan şifre ile çözülemedi. Veri Biçimlendirmesi yapmanız gerekebilir.</string>
- <string name="generating_md51">MD5 Oluşturuluyor</string>
- <string name="generating_md52"> * Md5 oluşturuluyor...</string>
- <string name="md5_created"> * MD5 Oluşturuldu.</string>
- <string name="md5_error"> * MD5 Hatası!</string>
- <string name="md5_compute_error"> * MD5 hesaplama hatası.</string>
+ <string name="generating_digest1" version="2">Digest Oluşturuluyor</string>
+ <string name="generating_digest2" version="2"> * Digest oluşturuluyor...</string>
+ <string name="digest_created" version="2"> * Digest Oluşturuldu.</string>
+ <string name="digest_error" version="2"> * Digest Hatası!</string>
+ <string name="digest_compute_error" version="2"> * Digest hesaplama hatası.</string>
<string name="current_date">(Geçerli Tarih)</string>
<string name="auto_generate">(Otomatik Oluştur)</string>
<string name="unable_to_locate_partition">Yedekleme hesaplamaları için \'{1}\' bölümü bulunamıyor.</string>
@@ -481,8 +481,8 @@
<string name="backup_completed">[YEDEKLEME {1} SANİYEDE TAMAMLANDI]</string>
<string name="restore_started">[GERİ YÜKLEME BAŞLATILDI]</string>
<string name="restore_folder">Geri yükleme klasörü: \'{1}\'</string>
- <string name="verifying_md5">MD5 Doğrulanıyor</string>
- <string name="skip_md5">Kullanıcı ayarına göre MD5 denetimi geçiliyor.</string>
+ <string name="verifying_digest" version="2">Digest Doğrulanıyor</string>
+ <string name="skip_digest" version="2">Kullanıcı ayarına göre Digest denetimi geçiliyor.</string>
<string name="calc_restore">Geri yükleme ayrıntıları hesaplanıyor...</string>
<string name="restore_read_only">{1} geri yüklenemiyor -- salt okunur bağlanmış.</string>
<string name="restore_unable_locate">Geri yüklemek için \'{1}\' bölümü bulunamıyor.</string>
@@ -547,4 +547,4 @@
<string name="backing_up">{1} yedekleniyor...</string>
<string name="backup_cancel">Yedekleme İptal Edildi</string>
</resources>
-</language> \ No newline at end of file
+</language>
diff --git a/gui/theme/common/languages/uk.xml b/gui/theme/common/languages/uk.xml
index c27f0683b..2a0112e4f 100644
--- a/gui/theme/common/languages/uk.xml
+++ b/gui/theme/common/languages/uk.xml
@@ -1,681 +1,670 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--Generated by crowdin.com-->
-
-<language>
- <display>Українська</display>
-
- <!-- Translated by Bukwaezhka and Jemmini, 2016 -->
-
- <resources>
- <!-- Font overrides - only change these if your language requires special characters -->
- <resource name="font_l" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
- <resource name="font_m" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
- <resource name="font_s" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
- <resource name="fixed" type="fontoverride" filename="DroidSansMono.ttf" scale="100" />
-
- <!-- Partition display names -->
- <string name="system">System</string>
- <string name="system_image">System Image</string>
- <string name="vendor">Vendor</string>
- <string name="vendor_image">Vendor Image</string>
- <string name="boot">Boot</string>
- <string name="recovery">Recovery</string>
- <string name="cache">Cache</string>
- <string name="data">Data</string>
- <string name="sdcard">SDCard</string>
- <string name="internal">Internal Storage</string>
- <string name="microsd">Micro SDCard</string>
- <string name="usbotg">USB OTG</string>
- <string name="android_secure">Android Secure</string>
- <string name="dalvik">Dalvik / ART Cache</string>
- <!-- This is a rarely used partition on a Micro SD card for a very old app2sd system -->
- <string name="sdext">SD-EXT</string>
- <string name="adopted_data">Adopted Data</string>
- <string name="adopted_storage">Adopted Storage</string>
-
- <!-- GUI XML strings -->
-
-
- <string name="cpu_temp">Процесор: %tw_cpu_temp% &#xB0;C</string>
- <string name="battery_pct">Батарея: %tw_battery%</string>
- <string name="sort_by_name">Сортувати за назвою</string>
- <string name="sort_by_date">Сортувати по даті</string>
- <string name="sort_by_size">Сортувати за розміром</string>
- <string name="sort_by_name_only">Назва</string>
- <string name="sort_by_date_only">Дата</string>
- <string name="sort_by_size_only">Розмір</string>
- <string name="tab_general">ЗАГАЛЬНІ</string>
- <string name="tab_options">ПАРАМЕТРИ</string>
- <string name="tab_backup">РЕЗЕРВУВАННЯ</string>
- <string name="tab_time_zone">ЧАСОВИЙ ПОЯС</string>
- <string name="tab_screen">ЕКРАН</string>
- <string name="tab_vibration">ВІБРАЦІЯ</string>
- <string name="tab_language">МОВА</string>
- <string name="install_btn">Встановити</string>
- <string name="wipe_btn">Витерти</string>
- <string name="backup_btn">Резервувати</string>
- <string name="restore_btn">Відновити</string>
- <string name="mount_btn">Монтувати</string>
- <string name="settings_btn">Налаштування</string>
- <string name="advanced_btn">Додатково</string>
- <string name="reboot_btn">Перезавантажити</string>
- <string name="files_btn">Файли</string>
- <string name="copy_log_btn">Копіювати Log</string>
- <string name="select_type_hdr">Вибрати тип</string>
- <string name="install_zip_hdr">Встановити Zip</string>
- <string name="install_zip_btn">Встановити Zip</string>
- <string name="install_image_hdr">Встановити Img-образ</string>
- <string name="install_image_btn">Встановити Img</string>
- <string name="install_select_file_hdr">Вибрати файл</string>
- <string name="file_selector_folders_hdr">Папки</string>
- <string name="select_file_from_storage">Виберіть файл з %tw_storage_display_name% (%tw_storage_free_size% МБ)</string>
- <string name="adb_sideload_btn">ADB завантаження</string>
- <string name="install_hdr">Встановлення</string>
- <string name="select_storage_hdr">Обрати сховище</string>
- <string name="select_storage_btn">Обрати сховище</string>
- <string name="queue_hdr">Черга</string>
- <string name="zip_queue_count">%tw_zip_queue_count% з максимум 10 файлів у черзі</string>
- <string name="zip_queue_count_s">Файл %tw_zip_queue_count% з 10:</string>
- <string name="zip_warn1">Ця операція може встановити несумісні</string>
- <string name="zip_warn2">файли і зламати прошивку.</string>
- <string name="zip_back_cancel">Натисніть Назад, щоб скасувати додавання цього zip.</string>
- <string name="zip_back_clear">Натисніть Назад, щоб очистити чергу.</string>
- <string name="folder">Папка:</string>
- <string name="file">Файл:</string>
- <string name="zip_sig_chk">Перевірка підпису Zip</string>
- <string name="install_reboot_chk">Автоматичне перезавантаження після встановлення</string>
- <string name="inject_twrp_chk">Інтегрувати TWRP після встановлення</string>
- <string name="options_hdr">Параметри</string>
- <string name="confirm_flash_hdr">Підтвердити Прошивку</string>
- <string name="zip_queue">Черга:</string>
- <string name="options">Параметри:</string>
- <string name="swipe_confirm"> Підтвердити</string>
- <string name="zip_add_btn">Додати ще Zip</string>
- <string name="zip_clear_btn">Очистити чергу Zip</string>
- <string name="install_zip_count_hdr">Встановлення Zip %tw_zip_index% з %tw_zip_queue_count%</string>
- <string name="installing_zip_xml">Встановлення Zip: %tw_file%</string>
- <string name="failed">Не вдалося</string>
- <string name="successful">Успішно</string>
- <string name="install_failed">Помилка встановлення</string>
- <string name="install_successful">Успішно встановлено</string>
- <string name="wipe_cache_dalvik_btn">Очистка cache/dalvik</string>
- <string name="reboot_system_btn">Завантажити систему</string>
- <string name="install_sel_target">Вибір розділу</string>
- <string name="flash_image_select">Виберіть разділ для прошивки образу:</string>
- <string name="target_partition">Цільовий розділ:</string>
- <string name="flashing_image">Прошивка образу...</string>
- <string name="image_flashed">Прошивка образу завершена</string>
- <string name="wipe_cache_dalvik_confirm">Очистити Cache &amp; Dalvik?</string>
- <string name="wiping_cache_dalvik">Очищення Cache &amp; Dalvik...</string>
- <string name="wipe_cache_dalvik_complete">Очищення Cache &amp; Dalvik завершено</string>
- <string name="swipe_wipe">Очистити</string>
- <string name="swipe_wipe_s"> Очистка</string>
- <string name="no_os1">Система не встановлена! Ви впевнені,</string>
- <string name="no_osrb">що хочете перезавантажити?</string>
- <string name="no_ospo">що хочете вимкнути?</string>
- <string name="rebooting">Перезавантаження...</string>
- <string name="swipe_reboot">Перезавантажити</string>
- <string name="swipe_reboot_s"> Перезавантаження</string>
- <string name="swipe_flash">Прошити</string>
- <string name="confirm_action">Підтвердити</string>
- <string name="back_cancel">Натисніть Назад щоб скасувати.</string>
- <string name="cancel_btn">Скасувати</string>
- <string name="wipe_hdr">Очистка</string>
- <string name="factory_reset_hdr">Скинути до заводських налаштувань</string>
- <string name="factory_reset_btn">Скинути налаштування</string>
- <string name="factory_reset1">Очистка Data, Cache та Dalvik</string>
- <string name="factory_reset2">(не включаючи внутрішню пам'ять)</string>
- <string name="factory_reset3">У більшості випадків достатньо</string>
- <string name="factory_reset4">очистити ці розділи.</string>
- <string name="factory_resetting">Скидання до заводських налаштувань...</string>
- <string name="advanced_wipe_hdr">Вибіркове очищення</string>
- <string name="advanced_wipe_btn">Вибіркове очищення</string>
- <string name="wipe_enc_confirm">Скинути Шифрування Data?</string>
- <string name="formatting_data">Форматування Data...</string>
- <string name="swipe_format_data">Форматувати Data</string>
- <string name="swipe_format_data_s"> Форматування Data</string>
- <string name="factory_reset_complete">Скидання до заводських налаштувань завершено</string>
- <string name="sel_part_hdr">Вибір розділів</string>
- <string name="wipe_sel_confirm">Очистити вибрані розділи?</string>
- <string name="wiping_part">Очищення розділів...</string>
- <string name="wipe_complete">Очищення завершено</string>
- <string name="sel_part_wipe">Виберіть розділи для очищення:</string>
- <string name="invalid_part_sel">Вибрано невірний розділ</string>
- <string name="format_data_hdr">Форматувати Data</string>
- <string name="format_data_btn">Форматувати Data</string>
- <string name="format_data_ptr1">Форматування Data очистить всі ваші додатки,</string>
- <string name="format_data_ptr2">резервні копії, фотографії, відео, медіафайли</string>
- <string name="format_data_ptr3">та видалить шифровані файли з внутрішньої пам'яті.</string>
- <string name="format_data_adopted">Включаючи пристосовану пам'ять</string>
- <string name="format_data_lcp1">Форматування Data очистить всі ваші додатки, резервні копії, відео, медіафайли</string>
- <string name="format_data_lcp2">та видалить шифровані файли з внутрішньої пам'яті.</string>
- <string name="format_data_wtc1">Форматування Data очистить всі ваші додатки,</string>
- <string name="format_data_wtc2">резервні копії та медіафайли. Скасування цього неможливе.</string>
- <string name="format_data_undo">Скасування цього неможливе.</string>
- <string name="format_data_complete">Форматування Data завершено</string>
-
- <!-- Translator note: the word "yes" must remain English! -->
- <string name="yes_continue">Введіть yes щоб продовжити. Натисніть Назад щоб скасувати.</string>
- <string name="part_opt_hdr">Параметри розділу %tw_partition_name%</string>
- <string name="sel_act_hdr">Оберіть дію</string>
- <string name="file_sys_opt">Параметри файлової системи</string>
- <string name="partition">Розділ: %tw_partition_name%</string>
- <string name="part_mount_point">Точка монтування: %tw_partition_mount_point%</string>
- <string name="part_curr_fs">Файлова система: %tw_partition_file_system%</string>
- <string name="part_present_yes">Присутній: Так</string>
- <string name="part_present_no">Присутній: Ні</string>
- <string name="part_removable_yes">Знімний: так</string>
- <string name="part_removable_no">Знімний: ні</string>
- <string name="part_size">Розмір: %tw_partition_size%MБ</string>
- <string name="part_used">Зайнято: %tw_partition_used%МБ</string>
- <string name="part_free">Вільно: %tw_partition_free%МБ</string>
- <string name="part_backup_size">Розмір РК: %tw_partition_backup_size%МБ</string>
- <string name="resize_btn">Змінити розмір файлової системи</string>
- <string name="resize_btn_s">Змінити розмір</string>
- <string name="resize_confirm">Змінити розмір %tw_partition_name%?</string>
- <string name="resizing">Зміна розміру...</string>
- <string name="resize_complete">Зміна розміру завершена</string>
- <string name="swipe_resize">Змінити</string>
- <string name="swipe_resize_s"> Зміна розміру</string>
- <string name="repair_btn">Відновити файлову систему</string>
- <string name="repair_btn_s">Відновити</string>
- <string name="repair_confirm">Відновити %tw_partition_name%?</string>
- <string name="repairing">Відновлення...</string>
- <string name="repair_complete">Відновлення завершено</string>
- <string name="swipe_repair">Відновити</string>
- <string name="swipe_repair_s"> Відновлення</string>
- <string name="change_fs_btn">Змінити файлову систему</string>
- <string name="change_fs_btn_s">Змінити</string>
- <string name="change_fs_for_hdr">Змінити файлову систему для: %tw_partition_name%</string>
- <string name="change_fs_for_hdr_s">Розділ: %tw_partition_name% &gt; виберіть файлову систему</string>
- <string name="change_fs_warn1">Деякі прошивки або ядра можуть не підтримувати деякі</string>
- <string name="change_fs_warn2">файлові системи. Користуйтесь обережно!</string>
- <string name="change_fs_confirm">Змінити %tw_partition_name%?</string>
- <string name="formatting">Форматування...</string>
- <string name="format_complete">Форматування Завершено</string>
- <string name="swipe_change_fs">Змінити</string>
- <string name="swipe_change_s"> Зміна</string>
- <string name="back_btn">Назад</string>
- <string name="wipe_enc_btn">Стерти Шифрування</string>
- <string name="swipe_factory_reset">Скинути</string>
- <string name="repair_change_btn">Відновити або змінити Файлову Систему</string>
- <string name="storage_hdr">Сховище: (%tw_storage_display_name% МБ)</string>
- <string name="backup_hdr">Резервне копіювання</string>
- <string name="backup_confirm_hdr">Підтвердження Резервування</string>
- <string name="encryption_tab">ШИФРУВАННЯ</string>
- <string name="encryption">Шифрування:</string>
- <string name="name">Ім’я:</string>
- <string name="sel_part_backup">Вибрати Розділ для Резервування:</string>
- <string name="storage">Сховище:</string>
- <string name="enc_disabled">вимкнено - встановіть пароль</string>
- <string name="enc_enabled">увімкнено</string>
- <string name="enable_backup_comp_chk">Увімкнути стискання</string>
- <string name="skip_md5_backup_chk">Пропустити генерацію MD5 під час Резервного Копіювання</string>
- <string name="disable_backup_space_chk">Вимкнути перевірку вільного місця</string>
- <string name="refresh_sizes_btn">Оновити розміри</string>
- <string name="swipe_backup">Резервувати</string>
- <string name="append_date_btn">Додати дату</string>
- <string name="backup_name_exists">Резервна копія з такою назвою вже існує!</string>
- <string name="encrypt_backup">Шифрувати резервну копію?</string>
- <string name="enter_pass">Введіть пароль:</string>
- <string name="enter_pass2">Введіть пароль ще раз:</string>
- <string name="pass_not_match">Паролі не співпадають!</string>
- <string name="partitions">Розділи:</string>
- <string name="disabled">Вимкнено</string>
- <string name="enabled">Увімкнено</string>
- <string name="backup_name_hdr">Введіть назву для Резервної копії</string>
- <string name="progress">Прогрес:</string>
- <string name="backup_complete">Резервне копіювання завершено</string>
- <string name="restore_hdr">Відновити</string>
- <string name="sel_backup_hdr">Виберіть резервну копію</string>
- <string name="restore_sel_store_hdr">Оберіть резервну копію з %tw_storage_display_name% (%tw_storage_free_size% МБ)</string>
- <string name="restore_sel_pack_fs">Виберіть пакунок для відновлення:</string>
- <string name="restore_enc_backup_hdr">Зашифрована Резервна копія</string>
- <string name="restore_dec_fail">Неправильний пароль, будь ласка, спробуйте ще раз!</string>
- <string name="del_backup_btn">Видалити резервну копію</string>
- <string name="del_backup_confirm">Видалити резервну копію?</string>
- <string name="del_backup_confirm2">Це неможливо скасувати!</string>
- <string name="deleting_backup">Видалення резервної копії...</string>
- <string name="backup_deleted">Видалення резервної копії завершено</string>
- <string name="swipe_delete">Видалити</string>
- <string name="swipe_delete_s"> Видалення</string>
- <string name="restore_try_decrypt">Шифрована Резервна копія - спроба дешифрувати</string>
- <string name="restore_try_decrypt_s">Спроба дешифрувати</string>
- <string name="restore_backup_date">Резервна копія створена: %tw_restore_file_date%</string>
- <string name="restore_sel_part">Виберіть розділ для відновлення:</string>
- <string name="restore_enable_md5_chk">Увімкнути перевірку MD5 для файлів резервних копій</string>
- <string name="restore_complete">Відновлення завершено</string>
- <string name="swipe_restore">Відновити</string>
- <string name="swipe_restore_s"> Відновлення</string>
- <string name="rename_backup_hdr">Перейменування резервної копії</string>
- <string name="rename_backup_confirm">Перейменувати резервну копію?</string>
- <string name="rename_backup_confirm2">Це неможливо скасувати!</string>
- <string name="renaming_backup">Перейменування резервної копії...</string>
- <string name="rename_backup_complete">Перейменування резервної копії завершено</string>
- <string name="swipe_to_rename">Перейменувати</string>
- <string name="swipe_rename"> Перейменування</string>
- <string name="confirm_hdr">Підтвердити</string>
- <string name="mount_hdr">Монтувати</string>
- <string name="mount_sel_part">Виберіть розділи для монтування:</string>
- <string name="mount_sys_ro_chk">Системний розділ тільки для читання</string>
- <string name="mount_sys_ro_s_chk"> Система RO</string>
- <string name="decrypt_data_btn">Розшифрувати Data</string>
- <string name="disable_mtp_btn">Вимкнути MTP</string>
- <string name="enable_mtp_btn">Увімкнути MTP</string>
- <string name="mount_usb_storage_btn">Змонтувати USB</string>
- <string name="usb_storage_hdr">USB накопичувач</string>
- <string name="usb_stor_mnt1">USB накопичувач змонтований</string>
- <string name="usb_stor_mnt2">Для безпечного від'єднання вашого пристрою</string>
- <string name="usb_stor_mnt3">від компьютера виконайте розмонтування!</string>
- <string name="unmount_btn">Розмонтувати</string>
- <string name="rb_system_btn">Система</string>
- <string name="rb_poweroff_btn">Вимкнення</string>
- <string name="rb_recovery_btn">Рекавері</string>
- <string name="rb_bootloader_btn">Завантажувач</string>
- <string name="rb_download_btn">Режим завантаження</string>
- <string name="turning_off">Вимкнення...</string>
- <string name="swipe_power_off">Вимкнути</string>
- <string name="swipe_power_off_s">Вимкнення</string>
- <string name="sys_ro_hdr">Модифікація системного розділу</string>
- <string name="sys_ro_keep">Залишити System тільки для читання?</string>
- <string name="sys_rop1">TWRP може залишити системний розділ незмінним,</string>
- <string name="sys_rop2">щоб зберегти можливість отримання офіційних оновлень.</string>
- <string name="sys_rop3">TWRP не зможе попередити перезапис рекавері офіційною прошивкою </string>
- <string name="sys_rop4">та не буде пропонувати отримати привілеї суперкористувача.</string>
- <string name="sys_rop5">Встановлення zip та робота через adb зможе</string>
- <string name="sys_rop6">модифікувати системний розділ.</string>
- <string name="sys_rol1">TWRP може залишити системний розділ незмінним, щоб зберегти можливість отримання офіційних оновлень.</string>
- <string name="sys_rol2">TWRP не зможе попредити перезапис рекавері офіційною прошивкою та не буде пропонувати отримати привілеї суперкористувача.</string>
- <string name="sys_rol3">Встановлення zip та робота через adb зможе модифікувати системний розділ.</string>
- <string name="sys_ro_never_show_chk">Більше не показувати при завантаженні</string>
- <string name="sys_ro_keep_ro_btn">Тільки читання</string>
- <string name="swipe_allow_mod">Дозволити зміни</string>
- <string name="swipe_allow_mod_s">Дозволити зміни</string>
- <string name="settings_hdr">Налаштування</string>
- <string name="settings_gen_hdr">Загальні</string>
- <string name="settings_gen_s_hdr">Загальні</string>
- <string name="settings_gen_btn">Загальні</string>
- <string name="use_rmrf_chk">Використовувати rm -rf замість форматування</string>
- <string name="use24clock_chk">Використовувати 24-часовий годинник</string>
- <string name="rev_navbar_chk">Віддзеркалити навігаційні клавіші</string>
- <string name="simact_chk">Імітувати дії для тестування теми</string>
- <string name="simfail_chk">Імітація відмови для дій</string>
- <string name="ctr_navbar_rdo">Навігаційні кнопки по центру</string>
- <string name="lft_navbar_rdo">Навігаційні кнопки зліва</string>
- <string name="rht_navbar_rdo">Навігаційні кнопки зправа</string>
- <string name="restore_defaults_btn">За замовчуванням</string>
- <string name="settings_tz_btn">Часовий пояс</string>
- <string name="settings_screen_btn">Екран</string>
- <string name="settings_screen_bright_btn">Яскравість екрану</string>
- <string name="settings_vibration_btn">Вібрація</string>
- <string name="settings_language_btn">Мова</string>
- <string name="time_zone_hdr">Часовий пояс</string>
- <string name="sel_tz_list">Виберіть часовий пояс:</string>
- <!-- Translator note: if it does not make sense to translate the locations or if it makes more sense,
- feel free to change the location listed or drop the location entirely and just call it UTC -6 -->
- <string name="utcm11">(UTC -11) о. Мидуей, Самоа</string>
- <string name="utcm10">(UTC -10) Гаваї</string>
- <string name="utcm9">(UTC -9) Аляска</string>
- <string name="utcm8">(UTC -8) Тихоокеанський часовий пояс</string>
- <string name="utcm7">(UTC -7) Гірський час (США і Канада), Аризона</string>
- <string name="utcm6">(UTC -6) Центральний час (США і Канада), Центральна Америка</string>
- <string name="utcm5">(UTC -5) Східний час (США і Канада), Індіана (схід)</string>
- <string name="utcm4">(UTC -4) Атлантичний час (Канада), Каракас</string>
- <string name="utcm3">(UTC -3) Бразилія, Буенос-Айрес</string>
- <string name="utcm2">(UTC -2) Середньоатлантичний час</string>
- <string name="utcm1">(UTC -1) Азорські о-ва, о-ва Зеленого мису</string>
- <string name="utc0">(UTC 0) Лондон, Дублін, Лісабон</string>
- <string name="utcp1">(UTC +1) Берлін, Брюсель, Париж</string>
- <string name="utcp2">(UTC +2) Київ, Мінськ, Рига, Талін, Стамбул</string>
- <string name="utcp3">(UTC +3) Москва, Санкт-Петербург, Волгоград, Багдад</string>
- <string name="utcp4">(UTC +4) Баку, Ереван, Тбілісі, Абу-Дабі, Мускат</string>
- <string name="utcp5">(UTC +5) Ташкент, Ісламабад, Карачі</string>
- <string name="utcp6">(UTC +6) Алмати, Астана, Дхака, Катеринбург</string>
- <string name="utcp7">(UTC +7) Омськ, Новосибірськ, Бангкок, Джакарта, Ханой</string>
- <string name="utcp8">(UTC +8) Красноярськ, Пекін, Улан-Батор, Іркутськ</string>
- <string name="utcp9">(UTC +9) Осака, Саппоро, Токіо, Сеул, Якутськ</string>
- <string name="utcp10">(UTC +10) Гуам, Канберра, Мельбурн, Сідней</string>
- <string name="utcp11">(UTC +11) Владивосток, Сахалін, Соломоновы о-ва</string>
- <string name="utcp12">(UTC +12) Магадан, Камчатка, Фіджи, Маршалови о-ва</string>
- <string name="sel_tz_offset">Вибір зміщення (як правило 0): %tw_time_zone_guioffset%</string>
- <string name="tz_offset_none">Немає</string>
- <string name="tz_offset_0">0</string>
- <string name="tz_offset_15">15</string>
- <string name="tz_offset_30">30</string>
- <string name="tz_offset_45">45</string>
- <string name="use_dst_chk">Використовувати літній час (DST)</string>
- <string name="curr_tz">Часовий пояс: %tw_time_zone%</string>
- <string name="curr_tz_s">Часовий пояс:</string>
- <string name="set_tz_btn">Встановити часовий пояс</string>
- <string name="settings_screen_hdr">Екран</string>
- <string name="settings_screen_timeout_hdr">Таймаут екрану</string>
- <string name="enable_timeout_chk">Увімкнути таймаут екрану</string>
- <string name="screen_to_slider">Таймаут екрану, сек:</string>
- <string name="screen_to_slider_s">Таймаут екрану через, сек(0=вимкнений): %tw_screen_timeout_secs%</string>
- <string name="screen_to_na">Налаштування таймаута екрану недоступне</string>
- <string name="screen_bright_slider">Яскравість: %tw_brightness_pct%%</string>
- <string name="screen_bright_na">Налаштування яскравості недоступні</string>
- <string name="vibration_hdr">Вібрація</string>
- <string name="button_vibration_hdr">Натискання клавіш</string>
- <string name="kb_vibration_hdr">Клавіатури</string>
- <string name="act_vibration_hdr">При виборі дій</string>
- <string name="button_vibration">Натискання клавіш:</string>
- <string name="kb_vibration">Клавіатури:</string>
- <string name="act_vibration">При виборі дій:</string>
- <string name="select_language">Вибір мови:</string>
- <string name="sel_lang_btn">Вибір мови</string>
- <string name="set_language_btn">Встановити мову</string>
- <string name="advanced_hdr">Додатково</string>
- <string name="copy_log_confirm">Копіювати лог SD?</string>
- <string name="copying_log">Копіювання логу на SD...</string>
- <string name="copy_log_complete">Копіювання логу завершено</string>
- <string name="fix_context_btn">Виправити контексти</string>
- <string name="part_sd_btn">Розмітка SD Card</string>
- <string name="part_sd_s_btn">SD Card</string>
- <string name="file_manager_btn">Файл менеджер</string>
- <string name="language_hdr">Мова</string>
- <string name="terminal_btn">Термінал</string>
- <string name="reload_theme_btn">Завантажити тему</string>
- <string name="dumlock_btn">HTC Dumlock</string>
- <string name="inject_twrp_btn">Інтегрувати TWRP</string>
- <string name="inject_twrp_confirm">Інтегрувати TWRP наново?</string>
- <string name="injecting_twrp">Інтегрування TWRP...</string>
- <string name="inject_twrp_complete">Інтегрування TWRP завершено</string>
- <string name="swipe_to_confirm">Підтвердити</string>
- <string name="part_sd_hdr">Розмітка SD Card</string>
- <string name="invalid_partsd_sel">Виберіть знімний пристрій</string>
- <string name="part_sd_lose">Всі ваші файли на SD карті будуть стерті!</string>
- <string name="part_sd_undo">Це буде неможливо скасувати!</string>
- <string name="part_sd_ext_sz">EXT розмір:</string>
- <string name="part_sd_swap_sz">Swap розмір:</string>
-
-
- <string name="file_system">Файлова система:</string>
- <string name="swipe_part_sd">Розмітити</string>
- <string name="swipe_part_sd_s">Розмітка</string>
- <string name="partitioning_sd">Розмітка SD карти...</string>
- <string name="partitioning_sd2">Це може зайняти кілька хвилин.</string>
- <string name="part_sd_complete">Розмітка завершена</string>
- <string name="dumlock_hdr">HTC Dumlock</string>
- <string name="dumlock_restore_btn">Відновлення оригінального Boot</string>
- <string name="dumlock_restore_confirm">Відновити оригінальний образ Boot?</string>
- <string name="dumlock_restoring">Відновлення оригінального Boot...</string>
- <string name="dumlock_restore_complete">Відновлення оригінального Boot завершено</string>
- <string name="dumlock_reflash_btn">Перепрошивка Recovery</string>
- <string name="dumlock_reflash_confirm">Прошити recovery в boot?</string>
- <string name="dumlock_reflashing">Прошивка recovery в boot...</string>
- <string name="dumlock_reflash_complete">Прошивка recovery в boot завершена</string>
- <string name="dumlock_install_btn">Встановлення HTC Dumlock</string>
- <string name="dumlock_install_confirm">Встановити HTC dumlock до прошивки?</string>
- <string name="dumlock_installing">Встановлення HTC Dumlock...</string>
- <string name="dumlock_install_complete">Встановлення HTC Dumlock завершено</string>
- <string name="swipe_to_unlock">Розблокувати</string>
- <string name="swipe_unlock"> Разблокування</string>
- <string name="fm_hdr">Файловий менеджер</string>
- <string name="fm_sel_file">Вибір Файла або Папки</string>
- <string name="fm_type_folder">Папка</string>
- <string name="fm_type_file">Файл</string>
- <string name="fm_choose_act">Вибір дії</string>
- <string name="fm_selected">%tw_fm_type% обрано:</string>
- <string name="fm_copy_btn">Копіювати</string>
- <string name="fm_copy_file_btn">Копіювати Файл</string>
- <string name="fm_copy_folder_btn">Копіювати Папку</string>
- <string name="fm_copying">Копіювання</string>
- <string name="fm_move_btn">Перемістити</string>
- <string name="fm_moving">Переміщення</string>
- <string name="fm_chmod755_btn">chmod 755</string>
- <string name="fm_chmod755ing">chmod 755</string>
- <string name="fm_chmod_btn">chmod</string>
- <string name="fm_delete_btn">Видалити</string>
- <string name="fm_deleting">Видалення</string>
- <string name="fm_rename_btn">Перейменувати</string>
- <string name="fm_rename_file_btn">Перейменувати Файл</string>
- <string name="fm_rename_folder_btn">Перейменувати Папку</string>
- <string name="fm_renaming">Перейменування</string>
- <string name="fm_sel_dest">Обрати цільову Папку</string>
- <string name="fm_sel_curr_folder">Обрати поточну Папку</string>
- <string name="fm_rename_hdr">Перейменувати</string>
- <string name="fm_set_perms_hdr">Встановити дозволи</string>
- <string name="fm_perms">Дозволи:</string>
- <string name="fm_complete">Операція завершена</string>
- <string name="decrypt_data_hdr">Розшифрувати Data</string>
- <string name="decrypt_data_enter_pass">Введіть пароль.</string>
- <string name="decrypt_data_failed">Пароль неправильний, спробуйте ще!</string>
- <string name="decrypt_data_failed_pattern">Шаблон неправильний, спробуйте ще!</string>
- <string name="decrypt_data_enter_pattern">Введіть шаблон</string>
- <string name="decrypt_data_trying">Спроба розшифровки</string>
- <string name="term_hdr">Команди терміналу</string>
- <string name="term_s_hdr">Термінал</string>
- <string name="term_kill_btn">ВБИТИ</string>
- <string name="term_sel_folder_hdr">Перейти до початкової папки</string>
- <string name="adb_sideload_hdr">ADB завантаження</string>
- <string name="sideload_wipe_dalvik_chk">Очистка Dalvik Cache</string>
- <string name="sideload_wipe_cache_chk">Очистка Cache</string>
- <string name="swipe_to_sideload">Почати завантаження</string>
- <string name="swipe_sideload"> Почати</string>
- <string name="sideload_confirm">ADB завантаження</string>
- <string name="sideload_usage">Приклад: adb sideload filename.zip</string>
- <string name="sideload_complete">ADB завантаження завершено</string>
- <string name="fix_contexts_hdr">Виправлення контекста SELinux</string>
- <string name="fix_contexts_note1">Примітка: Виправлення контексту рідко потребується.</string>
- <string name="fix_contexts_note2">Виправлення SELinux контексту може призвести</string>
- <string name="fix_contexts_note3">до того, що система не запуститься.</string>
- <string name="swipe_to_fix_contexts">Виправити контексти</string>
- <string name="swipe_fix_contexts"> Виправлення контексту</string>
- <string name="fixing_contexts">Виправлення контексту...</string>
- <string name="fix_contexts_complete">Виправлення контексту завершено</string>
- <string name="reboot_hdr">Перезавантаження</string>
- <string name="su_hdr">Перевірити SuperSU</string>
- <string name="su_note1">Пристрій не має рут.</string>
- <string name="su_note2">Встановити SuperSU зараз?</string>
- <string name="su_note3">Пристрій буде рутовано.</string>
- <string name="su_cancel">Не встановлювати</string>
- <string name="swipe_su_to_install">Встановити</string>
- <string name="swipe_su_install"> Встановлення</string>
- <string name="su_installing">Встановлення SuperSU</string>
- <string name="sel_storage_list">Вибір сховища</string>
-
- <!-- Various console messages - these consist of user displayed messages, oftentimes errors -->
- <string name="no_kernel_selinux">Ядро не підтримує читання SELinux контексту.</string>
- <string name="full_selinux">Присутня повна підтримка SELinux.</string>
- <string name="no_selinux">Відсутня підтримка SELinux (немає libselinux).</string>
- <string name="mtp_enabled">MTP Увімкнено</string>
- <string name="mtp_crash">Збій MTP: MTP не запущений при завантаженні.</string>
- <string name="decrypt_success">Розшифровка виконана успішно з паролем за замовчуванням.</string>
- <string name="unable_to_decrypt">Неможливо розшифрувати з паролем за замовчуванням. Можливо буде потрібно форматувати Data.</string>
- <string name="generating_md51">Генерація MD5</string>
- <!-- Message displayed during a backup if we are generating an MD5, ideally, leave the leading " * " to help align and separate this text from other console text -->
- <string name="generating_md52"> * Генерація MD5...</string>
- <string name="md5_created"> * MD5 сгенеровано.</string>
- <string name="md5_error"> * MD5 Помилка!</string>
- <string name="md5_compute_error"> * Помилка розрахунку MD5.</string>
- <string name="current_date">(Поточна дата)</string>
- <string name="auto_generate">(автогенерація)</string>
- <string name="unable_to_locate_partition">Не вдається знайти '{1}' розділ для розрахунку копіювання.</string>
- <string name="no_partition_selected">Не обрані розділи для резервного копіювання.</string>
- <string name="total_partitions_backup"> * Загальна кількість розділів для резервного копіювання: {1}</string>
- <string name="total_backup_size"> * Загальний об'єм даних: {1}MБ</string>
- <string name="available_space"> * Доступний об'єм: {1}MБ</string>
- <string name="unable_locate_storage">Не вдається знайти сховище для зберігання.</string>
- <string name="no_space">У сховищі недостатньо місця.</string>
- <string name="backup_started">[РОЗПОЧАТО РЕЗЕРВНЕ КОПІЮВАННЯ]</string>
- <string name="backup_folder"> * Папка для резервної копії: {1}</string>
- <string name="fail_backup_folder">Невдається створити папку для резервної копії.</string>
- <string name="avg_backup_fs">Середня швидкість копіювання файлів: {1} МБ/сек</string>
- <string name="avg_backup_img">Середня швидкість копіювання образів: {1} МБ/сек</string>
- <string name="total_backed_size">[{1} MБ ВСЬОГО ЗАРЕЗЕРВОВАНО]</string>
- <string name="backup_completed">[КОПІЮВАННЯ ВИКОНАНО ЗА {1} СЕКУНД(И)]</string>
- <string name="restore_started">[ВІДНОВЛЕННЯ РОЗПОЧАТО]</string>
- <string name="restore_folder">Папка відновлення: '{1}'</string>
- <!-- {1} is the partition display name and {2} is the number of seconds -->
- <string name="restore_part_done">[{1} завершено за {2} секунд(и)]</string>
- <string name="verifying_md5">Перевірка MD5</string>
- <string name="skip_md5">Пропуск перевірки MD5 згідно системним налаштуванням.</string>
- <string name="calc_restore">Розрахування інформації о відновленні...</string>
- <string name="restore_read_only">Неможливо відновити {1} -- змонтовано тільки для читання.</string>
- <string name="restore_unable_locate">Невдається знайти розділ '{1}' для відновлення.</string>
- <string name="no_part_restore">Не обрані розділи для відновлення.</string>
- <string name="restore_part_count">Відновлення розділу {1} ...</string>
- <string name="total_restore_size">Загальний обсяг відновлення {1}MБ</string>
- <string name="updating_system_details">Оновлення інформації о системі</string>
- <string name="restore_completed">[ВІДНОВЛЕННЯ ЗАВЕРШЕНО ЗА {1} СЕКУНД(И)]</string>
- <!-- {1} is the path we could not open, {2} is strerror output -->
- <string name="error_opening_strerr">Помилка відкриття: '{1}' ({2})</string>
- <string name="unable_locate_part_backup_name">Невдається знайти розділ для копії: '{1}'</string>
- <string name="unable_find_part_path">Невдається знайти розділ за шляхом '{1}'</string>
- <string name="update_part_details">Оновлення інформації о розділах...</string>
- <string name="update_part_details_done">...готово</string>
- <string name="wiping_dalvik">Очищення директорій Dalvik Cache...</string>
- <string name="cleaned">Очищено: {1}...</string>
- <string name="dalvik_done">-- Очищення директорій Dalvik Cache завершено!</string>
- <string name="no_andsec">Розділи android secure не знайдені.</string>
- <string name="unable_to_locate">Не знайдено {1}.</string>
- <string name="wiping_datamedia">Очищення внутрішньої пам'яті -- /data/media...</string>
- <string name="unable_to_mount">Не вдається змонтувати {1}</string>
- <string name="unable_to_mount_internal">Не вдається змонтувати internal_storage</string>
- <string name="unable_to_mount_storage">Не вдається змонтувати storage</string>
- <string name="fail_decrypt">Не вдається розшифрувати data.</string>
- <string name="no_crypto_support">Шифрування не підтримується у цій версії.</string>
- <string name="decrypt_success_dev">Data успішно розшифрований, новий блочний пристрій: '{1}'</string>
- <string name="done">Готово.</string>
- <string name="start_partition_sd">Розмітка SD Card...</string>
- <string name="partition_sd_locate">Не вдалось знайти пристрій для розмітки.</string>
- <string name="ext_swap_size">Розмір EXT + Swap перевищує розмір sdcard.</string>
- <string name="remove_part_table">Видалення таблиці розділів...</string>
- <string name="unable_rm_part">Не вдалось видалити таблицю розділів.</string>
- <string name="create_part">Створення розділу {1} ...</string>
- <string name="unable_to_create_part">Не вдалось створити розділ {1} .</string>
- <string name="format_sdext_as">Форматування sd-ext у {1}...</string>
- <string name="part_complete">Розмітка завершена.</string>
- <string name="unable_to_open">Не вдалось відкрити '{1}'.</string>
- <string name="mtp_already_enabled">MTP вже увімкнуто</string>
- <string name="mtp_fail">Не вдалося увімкнути MTP</string>
- <string name="no_mtp">Підтримка MTP відсутня</string>
- <string name="image_flash_start">[РОЗПОЧАТО ПРОШИВКУ ОБРАЗУ]</string>
- <string name="img_to_flash">Образ для прошивки: '{1}'</string>
- <string name="flash_unable_locate">Не вдається знайти розділ '{1}' для прошивки.</string>
- <string name="no_part_flash">Не обрані розділи для прошивки.</string>
- <string name="too_many_flash">Забагато розділів для прошивки.</string>
- <string name="invalid_flash">Вказан хибний розділ для прошивки.</string>
- <string name="flash_done">[ПРОШИВКУ РОЗДІЛУ ЗАВЕРШЕНО]</string>
- <string name="wiping">Очистка {1}</string>
- <string name="repair_not_exist">{1} не існує! Неможливо відновити!</string>
- <string name="repairing_using">Відновлення {1} з використанням {2}...</string>
- <string name="unable_repair">Неможливо відновити {1}.</string>
- <string name="mount_data_footer">Не вдалось змонтувати /data, не знайдено крипто-ключ.</string>
- <!-- {1} is the folder name that we could not create, {2} is strerror output -->
- <string name="create_folder_strerr">Не вдалось створити папку '{1}' ({2}).</string>
- <!-- {1} is the folder name that we could not mount, {2} is strerror output -->
- <string name="fail_mount">Не вдалось змонтувати '{1}' ({2})</string>
- <!-- {1} is the folder name that we could not unmount, {2} is strerror output -->
- <string name="fail_unmount">Не вдалось розмонтувати '{1}' ({2})</string>
- <string name="cannot_resize">Не вдалось розмітити {1}.</string>
- <string name="repair_resize">Відновлення {1} перед розміткою.</string>
- <string name="unable_resize">Не вдалось розмітити {1}.</string>
- <string name="no_md5_found">Відсутній файл md5 для '{1}'. Будь ласка зніміть вибір з перевірки MD5 при відновленні.</string>
- <string name="md5_fail_match">MD5 не співпадає для '{1}'.</string>
- <string name="fail_decrypt_tar">Не вдалось розшифрувати tar-файл '{1}'</string>
- <string name="format_data_msg">Можливо вам доведеться перезавантажити рекавері, щоб мати можливість доступу до /data знову.</string>
- <string name="format_data_err">Неможливо відформатувати, щоб видалити шифрування.</string>
- <string name="formatting_using">Форматування {1} з використанням {2}...</string>
- <string name="unable_to_wipe">Неможливо очистити {1}.</string>
- <string name="cannot_wipe">Розділ {1} не може бути очищений.</string>
- <string name="remove_all">Видалення всіх файлів з '{1}'</string>
- <string name="wiping_data">Очистка data без очистки /data/media ...</string>
- <string name="backing_up">Резервування {1}...</string>
- <string name="backing">Резервне копіювання</string>
- <string name="backup_size">Розмір файлу резервної копії для '{1}' 0 байт.</string>
- <string name="datamedia_fs_restore">УВАГА: Ця резервна копія /data була зроблена з файловою системою {1}! Резервна копія може не завантажитись, якщо ви не повернетесь на {1}.</string>
- <string name="restoring">Відновлення {1}...</string>
- <string name="restoring_hdr">Відновлення</string>
- <string name="recreate_folder_err">Неможливо створити папку {1} наново.</string>
- <string name="img_size_err">Розмір образу більший за цільовий пристрій</string>
- <string name="flashing">Прошивка {1}...</string>
- <string name="backup_folder_set">Для резервного копіювавння встановлена папка '{1}'</string>
- <string name="locate_backup_err">Не вдається знайти резервну копію '{1}'</string>
- <string name="set_restore_opt">Установки опцій відновлення: '{1}':</string>
- <string name="md5_check_skip">Пропуск перевірки MD5 увімкнено</string>
- <string name="ors_encrypt_restore_err">Не вдалось використати OpenRecoveryScript для відновлення зашифрованої резервної копії.</string>
- <string name="mounting">Монтування</string>
- <string name="unmounting">Розмонтування</string>
- <string name="mounted">Змонтовано '{1}'</string>
- <string name="unmounted">Розмонтоване '{1}'</string>
- <string name="setting">Установка '{1}' у '{2}'</string>
- <string name="setting_empty">Установка '{1}' в нікуди</string>
- <string name="making_dir1">Створення директорії</string>
- <string name="making_dir2">Створення директорії: '{1}'</string>
- <string name="running_command">Запуск команди</string>
- <string name="sideload">ADB завантаження</string>
- <string name="start_sideload">Запуск ADB завантаження...</string>
- <string name="need_new_adb">Вам необхідний adb 1.0.32 чи новіший для завантаження цього пристрою.</string>
- <string name="no_pwd">Пароль не надано.</string>
- <string name="done_ors">Завершено виконання файлу сценарію</string>
- <string name="injecttwrp">Введення TWRP до образу boot...</string>
- <string name="zip_err">Помилка встановлення zip файлу '{1}'</string>
- <string name="installing_zip">Встановлення zip файлу '{1}'</string>
- <string name="select_backup_opt">Налаштування резервного копіювання:</string>
- <string name="compression_on">Стискання увімкнено</string>
- <string name="md5_off">Генерація MD5 вимкнена</string>
- <string name="backup_fail">Помилка резервного копіювання</string>
- <string name="backup_clean">Помилка резервного копіювання. Очистка папки резервного копіювання.</string>
- <string name="running_recovery_commands">Запуск команд Recovery</string>
- <string name="recovery_commands_complete">Команди Recovery виконані</string>
- <string name="running_ors">Виконання OpenRecoveryScript</string>
- <string name="ors_complete">OpenRecoveryScript виконано</string>
- <string name="no_updater_binary">Не вдається знайти '{1}' у zip файлі.</string>
- <string name="check_for_md5">Перевіка MD5 файлу...</string>
-
- <string name="verify_zip_sig">Перевірка підпису zip...</string>
- <string name="verify_zip_fail">Підпис Zip не пройшов перевірку!</string>
- <string name="verify_zip_done">Підпис Zip успішно перевірено.</string>
- <string name="zip_corrupt">Zip файл пошкоджено!</string>
- <string name="no_md5">Пропуск перевірки MD5: не знайдено MD5 файл</string>
- <string name="md5_fail">MD5 не співпадає</string>
- <string name="md5_match">MD5 співпадає</string>
- <string name="pid_signal">{1} процес завершився з кодом: {2}</string>
- <string name="pid_error">{1} процес завершився з ПОМИЛКОЮ: {2}</string>
- <string name="install_dumlock">Встановлення HTC Dumlock у систему...</string>
- <string name="dumlock_restore">Відновлення оригінального boot...</string>
- <string name="dumlock_reflash">Прошивка recovery до boot...</string>
- <string name="run_script">Виконання сценарію {1}...</string>
- <string name="rename_stock">Перейменування файлу стокового рекавері у /system для попередження відновлення стокового замість TWRP.</string>
- <string name="split_backup">Розбиття резервної копії на частини...</string>
- <string name="backup_error">Помилка створення резервної копії.</string>
- <string name="restore_error">Помилка під час відновлення.</string>
- <string name="split_thread">Розщеплення ID {1} в архіві {2}</string>
- <!-- These 2 items are saved in the data manager instead of resource manager, so %llu, etc is correct instead of {1} -->
- <string name="file_progress">%llu з %llu файлів, %i%%</string>
- <string name="size_progress">%llu МБ з %llu МБ, %i%%</string>
- <string name="decrypt_cmd">Спроба розшифрувати розділ data за допомогою командного рядка.</string>
- <string name="base_pkg_err">Невдача при завантаженні базових пакетів.</string>
- <string name="simulating">Імітування дій...</string>
- <string name="backup_cancel">Резервне копіювання перервано</string>
- <string name="config_twrp">Конфігурування TWRP...</string>
- <string name="config_twrp_err">Неможливо зконфігурувати TWRP з цим ядром.</string>
- <string name="copy_log">recovery.log скопійовано до {1}.</string>
- <string name="max_queue">Досягнута максимальна черга zip!</string>
- <string name="min_queue">Досягнута мінімальна черга zip!</string>
- <string name="screenshot_saved">Знімок екрану збережено до {1}</string>
- <string name="screenshot_err">Не вдалось зробити знімок екрану!</string>
- <string name="zip_wipe_cache">Один чи декілька zip запросили очистку cache -- Очистка cache.</string>
- <string name="and_sec_wipe_err">Не вдалось очисти android secure</string>
- <string name="dalvik_wipe_err">Не вдалось очистити dalvik</string>
- <string name="auto_gen">(Автогенерація)</string>
- <string name="curr_date">(Поточна дата)</string>
- <string name="backup_name_len">Ім'я резервної копії надто довге.</string>
- <string name="backup_name_invalid">Ім'я резервної копії '{1}' має недопустимі символи: '{1}'</string>
- <string name="no_real_sdcard">Цей пристрій не має реальної SD карти! Відміна!</string>
- <string name="cancel_sideload">Відміна ADB завантаження...</string>
- <string name="change_fs_err">Помилка зміни файлової системи.</string>
- <string name="theme_ver_err">Версія теми не збігається з версією TWRP. Використовується тема за замовченням.</string>
- <string name="install_reboot">Пристрій буде перезавантажений через 5 секунд.</string>
- <string name="up_a_level">(на рівень уверх)</string>
- <string name="adbbackup_error">Помилка ADB копіювання. Вихід..."</string>
- <string name="adbbackup_control_error">Не вдається запис у adb канал контролю</string>
- <string name="twrp_adbbu_option">--опція twrp потребує увімкнення adb копіювання</string>
- <string name="partition_not_found">шлях: {1} не знайдено у списку розділів</string>
- <string name="copy_kernel_log">Копіювання kernel log у {1}</string>
- <string name="include_kernel_log">Увімкнути Kernel Log</string>
-
- </resources>
-</language> \ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.com-->
+
+<language>
+ <display>Українська</display>
+ <!-- Translated by Bukwaezhka and Jemmini, 2016 -->
+ <resources>
+ <!-- Font overrides - only change these if your language requires special characters -->
+ <resource name="font_l" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
+ <resource name="font_m" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
+ <resource name="font_s" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="90" />
+ <resource name="fixed" type="fontoverride" filename="DroidSansMono.ttf" scale="100" />
+ <!-- Partition display names -->
+ <string name="system">System</string>
+ <string name="system_image">System Image</string>
+ <string name="vendor">Vendor</string>
+ <string name="vendor_image">Vendor Image</string>
+ <string name="boot">Boot</string>
+ <string name="recovery">Recovery</string>
+ <string name="cache">Cache</string>
+ <string name="data">Data</string>
+ <string name="sdcard">SDCard</string>
+ <string name="internal">Internal Storage</string>
+ <string name="microsd">Micro SDCard</string>
+ <string name="usbotg">USB OTG</string>
+ <string name="android_secure">Android Secure</string>
+ <string name="dalvik">Dalvik / ART Cache</string>
+ <!-- This is a rarely used partition on a Micro SD card for a very old app2sd system -->
+ <string name="sdext">SD-EXT</string>
+ <string name="adopted_data">Adopted Data</string>
+ <string name="adopted_storage">Adopted Storage</string>
+ <!-- GUI XML strings -->
+ <string name="cpu_temp">Процесор: %tw_cpu_temp% &#xB0;C</string>
+ <string name="battery_pct">Батарея: %tw_battery%</string>
+ <string name="sort_by_name">Сортувати за назвою</string>
+ <string name="sort_by_date">Сортувати по даті</string>
+ <string name="sort_by_size">Сортувати за розміром</string>
+ <string name="sort_by_name_only">Назва</string>
+ <string name="sort_by_date_only">Дата</string>
+ <string name="sort_by_size_only">Розмір</string>
+ <string name="tab_general">ЗАГАЛЬНІ</string>
+ <string name="tab_options">ПАРАМЕТРИ</string>
+ <string name="tab_backup">РЕЗЕРВУВАННЯ</string>
+ <string name="tab_time_zone">ЧАСОВИЙ ПОЯС</string>
+ <string name="tab_screen">ЕКРАН</string>
+ <string name="tab_vibration">ВІБРАЦІЯ</string>
+ <string name="tab_language">МОВА</string>
+ <string name="install_btn">Встановити</string>
+ <string name="wipe_btn">Витерти</string>
+ <string name="backup_btn">Резервувати</string>
+ <string name="restore_btn">Відновити</string>
+ <string name="mount_btn">Монтувати</string>
+ <string name="settings_btn">Налаштування</string>
+ <string name="advanced_btn">Додатково</string>
+ <string name="reboot_btn">Перезавантажити</string>
+ <string name="files_btn">Файли</string>
+ <string name="copy_log_btn">Копіювати Log</string>
+ <string name="select_type_hdr">Вибрати тип</string>
+ <string name="install_zip_hdr">Встановити Zip</string>
+ <string name="install_zip_btn">Встановити Zip</string>
+ <string name="install_image_hdr">Встановити Img-образ</string>
+ <string name="install_image_btn">Встановити Img</string>
+ <string name="install_select_file_hdr">Вибрати файл</string>
+ <string name="file_selector_folders_hdr">Папки</string>
+ <string name="select_file_from_storage">Виберіть файл з %tw_storage_display_name% (%tw_storage_free_size% МБ)</string>
+ <string name="adb_sideload_btn">ADB завантаження</string>
+ <string name="install_hdr">Встановлення</string>
+ <string name="select_storage_hdr">Обрати сховище</string>
+ <string name="select_storage_btn">Обрати сховище</string>
+ <string name="queue_hdr">Черга</string>
+ <string name="zip_queue_count">%tw_zip_queue_count% з максимум 10 файлів у черзі</string>
+ <string name="zip_queue_count_s">Файл %tw_zip_queue_count% з 10:</string>
+ <string name="zip_warn1">Ця операція може встановити несумісні</string>
+ <string name="zip_warn2">файли і зламати прошивку.</string>
+ <string name="zip_back_cancel">Натисніть Назад, щоб скасувати додавання цього zip.</string>
+ <string name="zip_back_clear">Натисніть Назад, щоб очистити чергу.</string>
+ <string name="folder">Папка:</string>
+ <string name="file">Файл:</string>
+ <string name="zip_sig_chk">Перевірка підпису Zip</string>
+ <string name="install_reboot_chk">Автоматичне перезавантаження після встановлення</string>
+ <string name="inject_twrp_chk">Інтегрувати TWRP після встановлення</string>
+ <string name="options_hdr">Параметри</string>
+ <string name="confirm_flash_hdr">Підтвердити Прошивку</string>
+ <string name="zip_queue">Черга:</string>
+ <string name="options">Параметри:</string>
+ <string name="swipe_confirm"> Підтвердити</string>
+ <string name="zip_add_btn">Додати ще Zip</string>
+ <string name="zip_clear_btn">Очистити чергу Zip</string>
+ <string name="install_zip_count_hdr">Встановлення Zip %tw_zip_index% з %tw_zip_queue_count%</string>
+ <string name="installing_zip_xml">Встановлення Zip: %tw_file%</string>
+ <string name="failed">Не вдалося</string>
+ <string name="successful">Успішно</string>
+ <string name="install_failed">Помилка встановлення</string>
+ <string name="install_successful">Успішно встановлено</string>
+ <string name="wipe_cache_dalvik_btn">Очистка cache/dalvik</string>
+ <string name="reboot_system_btn">Завантажити систему</string>
+ <string name="install_sel_target">Вибір розділу</string>
+ <string name="flash_image_select">Виберіть разділ для прошивки образу:</string>
+ <string name="target_partition">Цільовий розділ:</string>
+ <string name="flashing_image">Прошивка образу...</string>
+ <string name="image_flashed">Прошивка образу завершена</string>
+ <string name="wipe_cache_dalvik_confirm">Очистити Cache &amp; Dalvik?</string>
+ <string name="wiping_cache_dalvik">Очищення Cache &amp; Dalvik...</string>
+ <string name="wipe_cache_dalvik_complete">Очищення Cache &amp; Dalvik завершено</string>
+ <string name="swipe_wipe">Очистити</string>
+ <string name="swipe_wipe_s"> Очистка</string>
+ <string name="no_os1">Система не встановлена! Ви впевнені,</string>
+ <string name="no_osrb">що хочете перезавантажити?</string>
+ <string name="no_ospo">що хочете вимкнути?</string>
+ <string name="rebooting">Перезавантаження...</string>
+ <string name="swipe_reboot">Перезавантажити</string>
+ <string name="swipe_reboot_s"> Перезавантаження</string>
+ <string name="swipe_flash">Прошити</string>
+ <string name="confirm_action">Підтвердити</string>
+ <string name="back_cancel">Натисніть Назад щоб скасувати.</string>
+ <string name="cancel_btn">Скасувати</string>
+ <string name="wipe_hdr">Очистка</string>
+ <string name="factory_reset_hdr">Скинути до заводських налаштувань</string>
+ <string name="factory_reset_btn">Скинути налаштування</string>
+ <string name="factory_reset1">Очистка Data, Cache та Dalvik</string>
+ <string name="factory_reset2">(не включаючи внутрішню пам'ять)</string>
+ <string name="factory_reset3">У більшості випадків достатньо</string>
+ <string name="factory_reset4">очистити ці розділи.</string>
+ <string name="factory_resetting">Скидання до заводських налаштувань...</string>
+ <string name="advanced_wipe_hdr">Вибіркове очищення</string>
+ <string name="advanced_wipe_btn">Вибіркове очищення</string>
+ <string name="wipe_enc_confirm">Скинути Шифрування Data?</string>
+ <string name="formatting_data">Форматування Data...</string>
+ <string name="swipe_format_data">Форматувати Data</string>
+ <string name="swipe_format_data_s"> Форматування Data</string>
+ <string name="factory_reset_complete">Скидання до заводських налаштувань завершено</string>
+ <string name="sel_part_hdr">Вибір розділів</string>
+ <string name="wipe_sel_confirm">Очистити вибрані розділи?</string>
+ <string name="wiping_part">Очищення розділів...</string>
+ <string name="wipe_complete">Очищення завершено</string>
+ <string name="sel_part_wipe">Виберіть розділи для очищення:</string>
+ <string name="invalid_part_sel">Вибрано невірний розділ</string>
+ <string name="format_data_hdr">Форматувати Data</string>
+ <string name="format_data_btn">Форматувати Data</string>
+ <string name="format_data_ptr1">Форматування Data очистить всі ваші додатки,</string>
+ <string name="format_data_ptr2">резервні копії, фотографії, відео, медіафайли</string>
+ <string name="format_data_ptr3">та видалить шифровані файли з внутрішньої пам'яті.</string>
+ <string name="format_data_adopted">Включаючи пристосовану пам'ять</string>
+ <string name="format_data_lcp1">Форматування Data очистить всі ваші додатки, резервні копії, відео, медіафайли</string>
+ <string name="format_data_lcp2">та видалить шифровані файли з внутрішньої пам'яті.</string>
+ <string name="format_data_wtc1">Форматування Data очистить всі ваші додатки,</string>
+ <string name="format_data_wtc2">резервні копії та медіафайли. Скасування цього неможливе.</string>
+ <string name="format_data_undo">Скасування цього неможливе.</string>
+ <string name="format_data_complete">Форматування Data завершено</string>
+ <!-- Translator note: the word "yes" must remain English! -->
+ <string name="yes_continue">Введіть yes щоб продовжити. Натисніть Назад щоб скасувати.</string>
+ <string name="part_opt_hdr">Параметри розділу %tw_partition_name%</string>
+ <string name="sel_act_hdr">Оберіть дію</string>
+ <string name="file_sys_opt">Параметри файлової системи</string>
+ <string name="partition">Розділ: %tw_partition_name%</string>
+ <string name="part_mount_point">Точка монтування: %tw_partition_mount_point%</string>
+ <string name="part_curr_fs">Файлова система: %tw_partition_file_system%</string>
+ <string name="part_present_yes">Присутній: Так</string>
+ <string name="part_present_no">Присутній: Ні</string>
+ <string name="part_removable_yes">Знімний: так</string>
+ <string name="part_removable_no">Знімний: ні</string>
+ <string name="part_size">Розмір: %tw_partition_size%MБ</string>
+ <string name="part_used">Зайнято: %tw_partition_used%МБ</string>
+ <string name="part_free">Вільно: %tw_partition_free%МБ</string>
+ <string name="part_backup_size">Розмір РК: %tw_partition_backup_size%МБ</string>
+ <string name="resize_btn">Змінити розмір файлової системи</string>
+ <string name="resize_btn_s">Змінити розмір</string>
+ <string name="resize_confirm">Змінити розмір %tw_partition_name%?</string>
+ <string name="resizing">Зміна розміру...</string>
+ <string name="resize_complete">Зміна розміру завершена</string>
+ <string name="swipe_resize">Змінити</string>
+ <string name="swipe_resize_s"> Зміна розміру</string>
+ <string name="repair_btn">Відновити файлову систему</string>
+ <string name="repair_btn_s">Відновити</string>
+ <string name="repair_confirm">Відновити %tw_partition_name%?</string>
+ <string name="repairing">Відновлення...</string>
+ <string name="repair_complete">Відновлення завершено</string>
+ <string name="swipe_repair">Відновити</string>
+ <string name="swipe_repair_s"> Відновлення</string>
+ <string name="change_fs_btn">Змінити файлову систему</string>
+ <string name="change_fs_btn_s">Змінити</string>
+ <string name="change_fs_for_hdr">Змінити файлову систему для: %tw_partition_name%</string>
+ <string name="change_fs_for_hdr_s">Розділ: %tw_partition_name% &gt; виберіть файлову систему</string>
+ <string name="change_fs_warn1">Деякі прошивки або ядра можуть не підтримувати деякі</string>
+ <string name="change_fs_warn2">файлові системи. Користуйтесь обережно!</string>
+ <string name="change_fs_confirm">Змінити %tw_partition_name%?</string>
+ <string name="formatting">Форматування...</string>
+ <string name="format_complete">Форматування Завершено</string>
+ <string name="swipe_change_fs">Змінити</string>
+ <string name="swipe_change_s"> Зміна</string>
+ <string name="back_btn">Назад</string>
+ <string name="wipe_enc_btn">Стерти Шифрування</string>
+ <string name="swipe_factory_reset">Скинути</string>
+ <string name="repair_change_btn">Відновити або змінити Файлову Систему</string>
+ <string name="storage_hdr">Сховище: (%tw_storage_display_name% МБ)</string>
+ <string name="backup_hdr">Резервне копіювання</string>
+ <string name="backup_confirm_hdr">Підтвердження Резервування</string>
+ <string name="encryption_tab">ШИФРУВАННЯ</string>
+ <string name="encryption">Шифрування:</string>
+ <string name="name">Ім’я:</string>
+ <string name="sel_part_backup">Вибрати Розділ для Резервування:</string>
+ <string name="storage">Сховище:</string>
+ <string name="enc_disabled">вимкнено - встановіть пароль</string>
+ <string name="enc_enabled">увімкнено</string>
+ <string name="enable_backup_comp_chk">Увімкнути стискання</string>
+ <string name="skip_digest_backup_chk" version="2">Пропустити генерацію Digest під час Резервного Копіювання</string>
+ <string name="disable_backup_space_chk">Вимкнути перевірку вільного місця</string>
+ <string name="refresh_sizes_btn">Оновити розміри</string>
+ <string name="swipe_backup">Резервувати</string>
+ <string name="append_date_btn">Додати дату</string>
+ <string name="backup_name_exists">Резервна копія з такою назвою вже існує!</string>
+ <string name="encrypt_backup">Шифрувати резервну копію?</string>
+ <string name="enter_pass">Введіть пароль:</string>
+ <string name="enter_pass2">Введіть пароль ще раз:</string>
+ <string name="pass_not_match">Паролі не співпадають!</string>
+ <string name="partitions">Розділи:</string>
+ <string name="disabled">Вимкнено</string>
+ <string name="enabled">Увімкнено</string>
+ <string name="backup_name_hdr">Введіть назву для Резервної копії</string>
+ <string name="progress">Прогрес:</string>
+ <string name="backup_complete">Резервне копіювання завершено</string>
+ <string name="restore_hdr">Відновити</string>
+ <string name="sel_backup_hdr">Виберіть резервну копію</string>
+ <string name="restore_sel_store_hdr">Оберіть резервну копію з %tw_storage_display_name% (%tw_storage_free_size% МБ)</string>
+ <string name="restore_sel_pack_fs">Виберіть пакунок для відновлення:</string>
+ <string name="restore_enc_backup_hdr">Зашифрована Резервна копія</string>
+ <string name="restore_dec_fail">Неправильний пароль, будь ласка, спробуйте ще раз!</string>
+ <string name="del_backup_btn">Видалити резервну копію</string>
+ <string name="del_backup_confirm">Видалити резервну копію?</string>
+ <string name="del_backup_confirm2">Це неможливо скасувати!</string>
+ <string name="deleting_backup">Видалення резервної копії...</string>
+ <string name="backup_deleted">Видалення резервної копії завершено</string>
+ <string name="swipe_delete">Видалити</string>
+ <string name="swipe_delete_s"> Видалення</string>
+ <string name="restore_try_decrypt">Шифрована Резервна копія - спроба дешифрувати</string>
+ <string name="restore_try_decrypt_s">Спроба дешифрувати</string>
+ <string name="restore_backup_date">Резервна копія створена: %tw_restore_file_date%</string>
+ <string name="restore_sel_part">Виберіть розділ для відновлення:</string>
+ <string name="restore_enable_digest_chk" version="2">Увімкнути перевірку Digest для файлів резервних копій</string>
+ <string name="restore_complete">Відновлення завершено</string>
+ <string name="swipe_restore">Відновити</string>
+ <string name="swipe_restore_s"> Відновлення</string>
+ <string name="rename_backup_hdr">Перейменування резервної копії</string>
+ <string name="rename_backup_confirm">Перейменувати резервну копію?</string>
+ <string name="rename_backup_confirm2">Це неможливо скасувати!</string>
+ <string name="renaming_backup">Перейменування резервної копії...</string>
+ <string name="rename_backup_complete">Перейменування резервної копії завершено</string>
+ <string name="swipe_to_rename">Перейменувати</string>
+ <string name="swipe_rename"> Перейменування</string>
+ <string name="confirm_hdr">Підтвердити</string>
+ <string name="mount_hdr">Монтувати</string>
+ <string name="mount_sel_part">Виберіть розділи для монтування:</string>
+ <string name="mount_sys_ro_chk">Системний розділ тільки для читання</string>
+ <string name="mount_sys_ro_s_chk"> Система RO</string>
+ <string name="decrypt_data_btn">Розшифрувати Data</string>
+ <string name="disable_mtp_btn">Вимкнути MTP</string>
+ <string name="enable_mtp_btn">Увімкнути MTP</string>
+ <string name="mount_usb_storage_btn">Змонтувати USB</string>
+ <string name="usb_storage_hdr">USB накопичувач</string>
+ <string name="usb_stor_mnt1">USB накопичувач змонтований</string>
+ <string name="usb_stor_mnt2">Для безпечного від'єднання вашого пристрою</string>
+ <string name="usb_stor_mnt3">від компьютера виконайте розмонтування!</string>
+ <string name="unmount_btn">Розмонтувати</string>
+ <string name="rb_system_btn">Система</string>
+ <string name="rb_poweroff_btn">Вимкнення</string>
+ <string name="rb_recovery_btn">Рекавері</string>
+ <string name="rb_bootloader_btn">Завантажувач</string>
+ <string name="rb_download_btn">Режим завантаження</string>
+ <string name="turning_off">Вимкнення...</string>
+ <string name="swipe_power_off">Вимкнути</string>
+ <string name="swipe_power_off_s">Вимкнення</string>
+ <string name="sys_ro_hdr">Модифікація системного розділу</string>
+ <string name="sys_ro_keep">Залишити System тільки для читання?</string>
+ <string name="sys_rop1">TWRP може залишити системний розділ незмінним,</string>
+ <string name="sys_rop2">щоб зберегти можливість отримання офіційних оновлень.</string>
+ <string name="sys_rop3">TWRP не зможе попередити перезапис рекавері офіційною прошивкою </string>
+ <string name="sys_rop4">та не буде пропонувати отримати привілеї суперкористувача.</string>
+ <string name="sys_rop5">Встановлення zip та робота через adb зможе</string>
+ <string name="sys_rop6">модифікувати системний розділ.</string>
+ <string name="sys_rol1">TWRP може залишити системний розділ незмінним, щоб зберегти можливість отримання офіційних оновлень.</string>
+ <string name="sys_rol2">TWRP не зможе попредити перезапис рекавері офіційною прошивкою та не буде пропонувати отримати привілеї суперкористувача.</string>
+ <string name="sys_rol3">Встановлення zip та робота через adb зможе модифікувати системний розділ.</string>
+ <string name="sys_ro_never_show_chk">Більше не показувати при завантаженні</string>
+ <string name="sys_ro_keep_ro_btn">Тільки читання</string>
+ <string name="swipe_allow_mod">Дозволити зміни</string>
+ <string name="swipe_allow_mod_s">Дозволити зміни</string>
+ <string name="settings_hdr">Налаштування</string>
+ <string name="settings_gen_hdr">Загальні</string>
+ <string name="settings_gen_s_hdr">Загальні</string>
+ <string name="settings_gen_btn">Загальні</string>
+ <string name="use_rmrf_chk">Використовувати rm -rf замість форматування</string>
+ <string name="use24clock_chk">Використовувати 24-часовий годинник</string>
+ <string name="rev_navbar_chk">Віддзеркалити навігаційні клавіші</string>
+ <string name="simact_chk">Імітувати дії для тестування теми</string>
+ <string name="simfail_chk">Імітація відмови для дій</string>
+ <string name="ctr_navbar_rdo">Навігаційні кнопки по центру</string>
+ <string name="lft_navbar_rdo">Навігаційні кнопки зліва</string>
+ <string name="rht_navbar_rdo">Навігаційні кнопки зправа</string>
+ <string name="restore_defaults_btn">За замовчуванням</string>
+ <string name="settings_tz_btn">Часовий пояс</string>
+ <string name="settings_screen_btn">Екран</string>
+ <string name="settings_screen_bright_btn">Яскравість екрану</string>
+ <string name="settings_vibration_btn">Вібрація</string>
+ <string name="settings_language_btn">Мова</string>
+ <string name="time_zone_hdr">Часовий пояс</string>
+ <string name="sel_tz_list">Виберіть часовий пояс:</string>
+ <!-- Translator note: if it does not make sense to translate the locations or if it makes more sense,
+ feel free to change the location listed or drop the location entirely and just call it UTC -6 -->
+ <string name="utcm11">(UTC -11) о. Мидуей, Самоа</string>
+ <string name="utcm10">(UTC -10) Гаваї</string>
+ <string name="utcm9">(UTC -9) Аляска</string>
+ <string name="utcm8">(UTC -8) Тихоокеанський часовий пояс</string>
+ <string name="utcm7">(UTC -7) Гірський час (США і Канада), Аризона</string>
+ <string name="utcm6">(UTC -6) Центральний час (США і Канада), Центральна Америка</string>
+ <string name="utcm5">(UTC -5) Східний час (США і Канада), Індіана (схід)</string>
+ <string name="utcm4">(UTC -4) Атлантичний час (Канада), Каракас</string>
+ <string name="utcm3">(UTC -3) Бразилія, Буенос-Айрес</string>
+ <string name="utcm2">(UTC -2) Середньоатлантичний час</string>
+ <string name="utcm1">(UTC -1) Азорські о-ва, о-ва Зеленого мису</string>
+ <string name="utc0">(UTC 0) Лондон, Дублін, Лісабон</string>
+ <string name="utcp1">(UTC +1) Берлін, Брюсель, Париж</string>
+ <string name="utcp2">(UTC +2) Київ, Мінськ, Рига, Талін, Стамбул</string>
+ <string name="utcp3">(UTC +3) Москва, Санкт-Петербург, Волгоград, Багдад</string>
+ <string name="utcp4">(UTC +4) Баку, Ереван, Тбілісі, Абу-Дабі, Мускат</string>
+ <string name="utcp5">(UTC +5) Ташкент, Ісламабад, Карачі</string>
+ <string name="utcp6">(UTC +6) Алмати, Астана, Дхака, Катеринбург</string>
+ <string name="utcp7">(UTC +7) Омськ, Новосибірськ, Бангкок, Джакарта, Ханой</string>
+ <string name="utcp8">(UTC +8) Красноярськ, Пекін, Улан-Батор, Іркутськ</string>
+ <string name="utcp9">(UTC +9) Осака, Саппоро, Токіо, Сеул, Якутськ</string>
+ <string name="utcp10">(UTC +10) Гуам, Канберра, Мельбурн, Сідней</string>
+ <string name="utcp11">(UTC +11) Владивосток, Сахалін, Соломоновы о-ва</string>
+ <string name="utcp12">(UTC +12) Магадан, Камчатка, Фіджи, Маршалови о-ва</string>
+ <string name="sel_tz_offset">Вибір зміщення (як правило 0): %tw_time_zone_guioffset%</string>
+ <string name="tz_offset_none">Немає</string>
+ <string name="tz_offset_0">0</string>
+ <string name="tz_offset_15">15</string>
+ <string name="tz_offset_30">30</string>
+ <string name="tz_offset_45">45</string>
+ <string name="use_dst_chk">Використовувати літній час (DST)</string>
+ <string name="curr_tz">Часовий пояс: %tw_time_zone%</string>
+ <string name="curr_tz_s">Часовий пояс:</string>
+ <string name="set_tz_btn">Встановити часовий пояс</string>
+ <string name="settings_screen_hdr">Екран</string>
+ <string name="settings_screen_timeout_hdr">Таймаут екрану</string>
+ <string name="enable_timeout_chk">Увімкнути таймаут екрану</string>
+ <string name="screen_to_slider">Таймаут екрану, сек:</string>
+ <string name="screen_to_slider_s">Таймаут екрану через, сек(0=вимкнений): %tw_screen_timeout_secs%</string>
+ <string name="screen_to_na">Налаштування таймаута екрану недоступне</string>
+ <string name="screen_bright_slider">Яскравість: %tw_brightness_pct%%</string>
+ <string name="screen_bright_na">Налаштування яскравості недоступні</string>
+ <string name="vibration_hdr">Вібрація</string>
+ <string name="button_vibration_hdr">Натискання клавіш</string>
+ <string name="kb_vibration_hdr">Клавіатури</string>
+ <string name="act_vibration_hdr">При виборі дій</string>
+ <string name="button_vibration">Натискання клавіш:</string>
+ <string name="kb_vibration">Клавіатури:</string>
+ <string name="act_vibration">При виборі дій:</string>
+ <string name="select_language">Вибір мови:</string>
+ <string name="sel_lang_btn">Вибір мови</string>
+ <string name="set_language_btn">Встановити мову</string>
+ <string name="advanced_hdr">Додатково</string>
+ <string name="copy_log_confirm">Копіювати лог SD?</string>
+ <string name="copying_log">Копіювання логу на SD...</string>
+ <string name="copy_log_complete">Копіювання логу завершено</string>
+ <string name="fix_context_btn">Виправити контексти</string>
+ <string name="part_sd_btn">Розмітка SD Card</string>
+ <string name="part_sd_s_btn">SD Card</string>
+ <string name="file_manager_btn">Файл менеджер</string>
+ <string name="language_hdr">Мова</string>
+ <string name="terminal_btn">Термінал</string>
+ <string name="reload_theme_btn">Завантажити тему</string>
+ <string name="dumlock_btn">HTC Dumlock</string>
+ <string name="inject_twrp_btn">Інтегрувати TWRP</string>
+ <string name="inject_twrp_confirm">Інтегрувати TWRP наново?</string>
+ <string name="injecting_twrp">Інтегрування TWRP...</string>
+ <string name="inject_twrp_complete">Інтегрування TWRP завершено</string>
+ <string name="swipe_to_confirm">Підтвердити</string>
+ <string name="part_sd_hdr">Розмітка SD Card</string>
+ <string name="invalid_partsd_sel">Виберіть знімний пристрій</string>
+ <string name="part_sd_lose">Всі ваші файли на SD карті будуть стерті!</string>
+ <string name="part_sd_undo">Це буде неможливо скасувати!</string>
+ <string name="part_sd_ext_sz">EXT розмір:</string>
+ <string name="part_sd_swap_sz">Swap розмір:</string>
+ <string name="file_system">Файлова система:</string>
+ <string name="swipe_part_sd">Розмітити</string>
+ <string name="swipe_part_sd_s">Розмітка</string>
+ <string name="partitioning_sd">Розмітка SD карти...</string>
+ <string name="partitioning_sd2">Це може зайняти кілька хвилин.</string>
+ <string name="part_sd_complete">Розмітка завершена</string>
+ <string name="dumlock_hdr">HTC Dumlock</string>
+ <string name="dumlock_restore_btn">Відновлення оригінального Boot</string>
+ <string name="dumlock_restore_confirm">Відновити оригінальний образ Boot?</string>
+ <string name="dumlock_restoring">Відновлення оригінального Boot...</string>
+ <string name="dumlock_restore_complete">Відновлення оригінального Boot завершено</string>
+ <string name="dumlock_reflash_btn">Перепрошивка Recovery</string>
+ <string name="dumlock_reflash_confirm">Прошити recovery в boot?</string>
+ <string name="dumlock_reflashing">Прошивка recovery в boot...</string>
+ <string name="dumlock_reflash_complete">Прошивка recovery в boot завершена</string>
+ <string name="dumlock_install_btn">Встановлення HTC Dumlock</string>
+ <string name="dumlock_install_confirm">Встановити HTC dumlock до прошивки?</string>
+ <string name="dumlock_installing">Встановлення HTC Dumlock...</string>
+ <string name="dumlock_install_complete">Встановлення HTC Dumlock завершено</string>
+ <string name="swipe_to_unlock">Розблокувати</string>
+ <string name="swipe_unlock"> Разблокування</string>
+ <string name="fm_hdr">Файловий менеджер</string>
+ <string name="fm_sel_file">Вибір Файла або Папки</string>
+ <string name="fm_type_folder">Папка</string>
+ <string name="fm_type_file">Файл</string>
+ <string name="fm_choose_act">Вибір дії</string>
+ <string name="fm_selected">%tw_fm_type% обрано:</string>
+ <string name="fm_copy_btn">Копіювати</string>
+ <string name="fm_copy_file_btn">Копіювати Файл</string>
+ <string name="fm_copy_folder_btn">Копіювати Папку</string>
+ <string name="fm_copying">Копіювання</string>
+ <string name="fm_move_btn">Перемістити</string>
+ <string name="fm_moving">Переміщення</string>
+ <string name="fm_chmod755_btn">chmod 755</string>
+ <string name="fm_chmod755ing">chmod 755</string>
+ <string name="fm_chmod_btn">chmod</string>
+ <string name="fm_delete_btn">Видалити</string>
+ <string name="fm_deleting">Видалення</string>
+ <string name="fm_rename_btn">Перейменувати</string>
+ <string name="fm_rename_file_btn">Перейменувати Файл</string>
+ <string name="fm_rename_folder_btn">Перейменувати Папку</string>
+ <string name="fm_renaming">Перейменування</string>
+ <string name="fm_sel_dest">Обрати цільову Папку</string>
+ <string name="fm_sel_curr_folder">Обрати поточну Папку</string>
+ <string name="fm_rename_hdr">Перейменувати</string>
+ <string name="fm_set_perms_hdr">Встановити дозволи</string>
+ <string name="fm_perms">Дозволи:</string>
+ <string name="fm_complete">Операція завершена</string>
+ <string name="decrypt_data_hdr">Розшифрувати Data</string>
+ <string name="decrypt_data_enter_pass">Введіть пароль.</string>
+ <string name="decrypt_data_failed">Пароль неправильний, спробуйте ще!</string>
+ <string name="decrypt_data_failed_pattern">Шаблон неправильний, спробуйте ще!</string>
+ <string name="decrypt_data_enter_pattern">Введіть шаблон</string>
+ <string name="decrypt_data_trying">Спроба розшифровки</string>
+ <string name="term_hdr">Команди терміналу</string>
+ <string name="term_s_hdr">Термінал</string>
+ <string name="term_kill_btn">ВБИТИ</string>
+ <string name="term_sel_folder_hdr">Перейти до початкової папки</string>
+ <string name="adb_sideload_hdr">ADB завантаження</string>
+ <string name="sideload_wipe_dalvik_chk">Очистка Dalvik Cache</string>
+ <string name="sideload_wipe_cache_chk">Очистка Cache</string>
+ <string name="swipe_to_sideload">Почати завантаження</string>
+ <string name="swipe_sideload"> Почати</string>
+ <string name="sideload_confirm">ADB завантаження</string>
+ <string name="sideload_usage">Приклад: adb sideload filename.zip</string>
+ <string name="sideload_complete">ADB завантаження завершено</string>
+ <string name="fix_contexts_hdr">Виправлення контекста SELinux</string>
+ <string name="fix_contexts_note1">Примітка: Виправлення контексту рідко потребується.</string>
+ <string name="fix_contexts_note2">Виправлення SELinux контексту може призвести</string>
+ <string name="fix_contexts_note3">до того, що система не запуститься.</string>
+ <string name="swipe_to_fix_contexts">Виправити контексти</string>
+ <string name="swipe_fix_contexts"> Виправлення контексту</string>
+ <string name="fixing_contexts">Виправлення контексту...</string>
+ <string name="fix_contexts_complete">Виправлення контексту завершено</string>
+ <string name="reboot_hdr">Перезавантаження</string>
+ <string name="su_hdr">Перевірити SuperSU</string>
+ <string name="su_note1">Пристрій не має рут.</string>
+ <string name="su_note2">Встановити SuperSU зараз?</string>
+ <string name="su_note3">Пристрій буде рутовано.</string>
+ <string name="su_cancel">Не встановлювати</string>
+ <string name="swipe_su_to_install">Встановити</string>
+ <string name="swipe_su_install"> Встановлення</string>
+ <string name="su_installing">Встановлення SuperSU</string>
+ <string name="sel_storage_list">Вибір сховища</string>
+
+ <!-- Various console messages - these consist of user displayed messages, oftentimes errors -->
+ <string name="no_kernel_selinux">Ядро не підтримує читання SELinux контексту.</string>
+ <string name="full_selinux">Присутня повна підтримка SELinux.</string>
+ <string name="no_selinux">Відсутня підтримка SELinux (немає libselinux).</string>
+ <string name="mtp_enabled">MTP Увімкнено</string>
+ <string name="mtp_crash">Збій MTP: MTP не запущений при завантаженні.</string>
+ <string name="decrypt_success">Розшифровка виконана успішно з паролем за замовчуванням.</string>
+ <string name="unable_to_decrypt">Неможливо розшифрувати з паролем за замовчуванням. Можливо буде потрібно форматувати Data.</string>
+ <string name="generating_digest1" version="2">Генерація Digest</string>
+ <!-- Message displayed during a backup if we are generating an Digest, ideally, leave the leading " * " to help align and separate this text from other console text -->
+ <string name="generating_digest2" version="2"> * Генерація Digest...</string>
+ <string name="digest_created" version="2"> * Digest сгенеровано.</string>
+ <string name="digest_error" version="2"> * Digest Помилка!</string>
+ <string name="digest_compute_error" version="2"> * Помилка розрахунку Digest.</string>
+ <string name="current_date">(Поточна дата)</string>
+ <string name="auto_generate">(автогенерація)</string>
+ <string name="unable_to_locate_partition">Не вдається знайти '{1}' розділ для розрахунку копіювання.</string>
+ <string name="no_partition_selected">Не обрані розділи для резервного копіювання.</string>
+ <string name="total_partitions_backup"> * Загальна кількість розділів для резервного копіювання: {1}</string>
+ <string name="total_backup_size"> * Загальний об'єм даних: {1}MБ</string>
+ <string name="available_space"> * Доступний об'єм: {1}MБ</string>
+ <string name="unable_locate_storage">Не вдається знайти сховище для зберігання.</string>
+ <string name="no_space">У сховищі недостатньо місця.</string>
+ <string name="backup_started">[РОЗПОЧАТО РЕЗЕРВНЕ КОПІЮВАННЯ]</string>
+ <string name="backup_folder"> * Папка для резервної копії: {1}</string>
+ <string name="fail_backup_folder">Невдається створити папку для резервної копії.</string>
+ <string name="avg_backup_fs">Середня швидкість копіювання файлів: {1} МБ/сек</string>
+ <string name="avg_backup_img">Середня швидкість копіювання образів: {1} МБ/сек</string>
+ <string name="total_backed_size">[{1} MБ ВСЬОГО ЗАРЕЗЕРВОВАНО]</string>
+ <string name="backup_completed">[КОПІЮВАННЯ ВИКОНАНО ЗА {1} СЕКУНД(И)]</string>
+ <string name="restore_started">[ВІДНОВЛЕННЯ РОЗПОЧАТО]</string>
+ <string name="restore_folder">Папка відновлення: '{1}'</string>
+ <!-- {1} is the partition display name and {2} is the number of seconds -->
+ <string name="restore_part_done">[{1} завершено за {2} секунд(и)]</string>
+ <string name="verifying_digest" version="2">Перевірка Digest</string>
+ <string name="skip_digest" version="2">Пропуск перевірки Digest згідно системним налаштуванням.</string>
+ <string name="calc_restore">Розрахування інформації о відновленні...</string>
+ <string name="restore_read_only">Неможливо відновити {1} -- змонтовано тільки для читання.</string>
+ <string name="restore_unable_locate">Невдається знайти розділ '{1}' для відновлення.</string>
+ <string name="no_part_restore">Не обрані розділи для відновлення.</string>
+ <string name="restore_part_count">Відновлення розділу {1} ...</string>
+ <string name="total_restore_size">Загальний обсяг відновлення {1}MБ</string>
+ <string name="updating_system_details">Оновлення інформації о системі</string>
+ <string name="restore_completed">[ВІДНОВЛЕННЯ ЗАВЕРШЕНО ЗА {1} СЕКУНД(И)]</string>
+ <!-- {1} is the path we could not open, {2} is strerror output -->
+ <string name="error_opening_strerr">Помилка відкриття: '{1}' ({2})</string>
+ <string name="unable_locate_part_backup_name">Невдається знайти розділ для копії: '{1}'</string>
+ <string name="unable_find_part_path">Невдається знайти розділ за шляхом '{1}'</string>
+ <string name="update_part_details">Оновлення інформації о розділах...</string>
+ <string name="update_part_details_done">...готово</string>
+ <string name="wiping_dalvik">Очищення директорій Dalvik Cache...</string>
+ <string name="cleaned">Очищено: {1}...</string>
+ <string name="dalvik_done">-- Очищення директорій Dalvik Cache завершено!</string>
+ <string name="no_andsec">Розділи android secure не знайдені.</string>
+ <string name="unable_to_locate">Не знайдено {1}.</string>
+ <string name="wiping_datamedia">Очищення внутрішньої пам'яті -- /data/media...</string>
+ <string name="unable_to_mount">Не вдається змонтувати {1}</string>
+ <string name="unable_to_mount_internal">Не вдається змонтувати internal_storage</string>
+ <string name="unable_to_mount_storage">Не вдається змонтувати storage</string>
+ <string name="fail_decrypt">Не вдається розшифрувати data.</string>
+ <string name="no_crypto_support">Шифрування не підтримується у цій версії.</string>
+ <string name="decrypt_success_dev">Data успішно розшифрований, новий блочний пристрій: '{1}'</string>
+ <string name="done">Готово.</string>
+ <string name="start_partition_sd">Розмітка SD Card...</string>
+ <string name="partition_sd_locate">Не вдалось знайти пристрій для розмітки.</string>
+ <string name="ext_swap_size">Розмір EXT + Swap перевищує розмір sdcard.</string>
+ <string name="remove_part_table">Видалення таблиці розділів...</string>
+ <string name="unable_rm_part">Не вдалось видалити таблицю розділів.</string>
+ <string name="create_part">Створення розділу {1} ...</string>
+ <string name="unable_to_create_part">Не вдалось створити розділ {1} .</string>
+ <string name="format_sdext_as">Форматування sd-ext у {1}...</string>
+ <string name="part_complete">Розмітка завершена.</string>
+ <string name="unable_to_open">Не вдалось відкрити '{1}'.</string>
+ <string name="mtp_already_enabled">MTP вже увімкнуто</string>
+ <string name="mtp_fail">Не вдалося увімкнути MTP</string>
+ <string name="no_mtp">Підтримка MTP відсутня</string>
+ <string name="image_flash_start">[РОЗПОЧАТО ПРОШИВКУ ОБРАЗУ]</string>
+ <string name="img_to_flash">Образ для прошивки: '{1}'</string>
+ <string name="flash_unable_locate">Не вдається знайти розділ '{1}' для прошивки.</string>
+ <string name="no_part_flash">Не обрані розділи для прошивки.</string>
+ <string name="too_many_flash">Забагато розділів для прошивки.</string>
+ <string name="invalid_flash">Вказан хибний розділ для прошивки.</string>
+ <string name="flash_done">[ПРОШИВКУ РОЗДІЛУ ЗАВЕРШЕНО]</string>
+ <string name="wiping">Очистка {1}</string>
+ <string name="repair_not_exist">{1} не існує! Неможливо відновити!</string>
+ <string name="repairing_using">Відновлення {1} з використанням {2}...</string>
+ <string name="unable_repair">Неможливо відновити {1}.</string>
+ <string name="mount_data_footer">Не вдалось змонтувати /data, не знайдено крипто-ключ.</string>
+ <!-- {1} is the folder name that we could not create, {2} is strerror output -->
+ <string name="create_folder_strerr">Не вдалось створити папку '{1}' ({2}).</string>
+ <!-- {1} is the folder name that we could not mount, {2} is strerror output -->
+ <string name="fail_mount">Не вдалось змонтувати '{1}' ({2})</string>
+ <!-- {1} is the folder name that we could not unmount, {2} is strerror output -->
+ <string name="fail_unmount">Не вдалось розмонтувати '{1}' ({2})</string>
+ <string name="cannot_resize">Не вдалось розмітити {1}.</string>
+ <string name="repair_resize">Відновлення {1} перед розміткою.</string>
+ <string name="unable_resize">Не вдалось розмітити {1}.</string>
+ <string name="no_digest_found" version="2">Відсутній файл md5 для '{1}'. Будь ласка зніміть вибір з перевірки Digest при відновленні.</string>
+ <string name="digest_fail_match" version="2">Digest не співпадає для '{1}'.</string>
+ <string name="fail_decrypt_tar">Не вдалось розшифрувати tar-файл '{1}'</string>
+ <string name="format_data_msg">Можливо вам доведеться перезавантажити рекавері, щоб мати можливість доступу до /data знову.</string>
+ <string name="format_data_err">Неможливо відформатувати, щоб видалити шифрування.</string>
+ <string name="formatting_using">Форматування {1} з використанням {2}...</string>
+ <string name="unable_to_wipe">Неможливо очистити {1}.</string>
+ <string name="cannot_wipe">Розділ {1} не може бути очищений.</string>
+ <string name="remove_all">Видалення всіх файлів з '{1}'</string>
+ <string name="wiping_data">Очистка data без очистки /data/media ...</string>
+ <string name="backing_up">Резервування {1}...</string>
+ <string name="backing">Резервне копіювання</string>
+ <string name="backup_size">Розмір файлу резервної копії для '{1}' 0 байт.</string>
+ <string name="datamedia_fs_restore">УВАГА: Ця резервна копія /data була зроблена з файловою системою {1}! Резервна копія може не завантажитись, якщо ви не повернетесь на {1}.</string>
+ <string name="restoring">Відновлення {1}...</string>
+ <string name="restoring_hdr">Відновлення</string>
+ <string name="recreate_folder_err">Неможливо створити папку {1} наново.</string>
+ <string name="img_size_err">Розмір образу більший за цільовий пристрій</string>
+ <string name="flashing">Прошивка {1}...</string>
+ <string name="backup_folder_set">Для резервного копіювавння встановлена папка '{1}'</string>
+ <string name="locate_backup_err">Не вдається знайти резервну копію '{1}'</string>
+ <string name="set_restore_opt">Установки опцій відновлення: '{1}':</string>
+ <string name="digest_check_skip" version="2">Пропуск перевірки Digest увімкнено</string>
+ <string name="ors_encrypt_restore_err">Не вдалось використати OpenRecoveryScript для відновлення зашифрованої резервної копії.</string>
+ <string name="mounting">Монтування</string>
+ <string name="unmounting">Розмонтування</string>
+ <string name="mounted">Змонтовано '{1}'</string>
+ <string name="unmounted">Розмонтоване '{1}'</string>
+ <string name="setting">Установка '{1}' у '{2}'</string>
+ <string name="setting_empty">Установка '{1}' в нікуди</string>
+ <string name="making_dir1">Створення директорії</string>
+ <string name="making_dir2">Створення директорії: '{1}'</string>
+ <string name="running_command">Запуск команди</string>
+ <string name="sideload">ADB завантаження</string>
+ <string name="start_sideload">Запуск ADB завантаження...</string>
+ <string name="need_new_adb">Вам необхідний adb 1.0.32 чи новіший для завантаження цього пристрою.</string>
+ <string name="no_pwd">Пароль не надано.</string>
+ <string name="done_ors">Завершено виконання файлу сценарію</string>
+ <string name="injecttwrp">Введення TWRP до образу boot...</string>
+ <string name="zip_err">Помилка встановлення zip файлу '{1}'</string>
+ <string name="installing_zip">Встановлення zip файлу '{1}'</string>
+ <string name="select_backup_opt">Налаштування резервного копіювання:</string>
+ <string name="compression_on">Стискання увімкнено</string>
+ <string name="digest_off" version="2">Генерація Digest вимкнена</string>
+ <string name="backup_fail">Помилка резервного копіювання</string>
+ <string name="backup_clean">Помилка резервного копіювання. Очистка папки резервного копіювання.</string>
+ <string name="running_recovery_commands">Запуск команд Recovery</string>
+ <string name="recovery_commands_complete">Команди Recovery виконані</string>
+ <string name="running_ors">Виконання OpenRecoveryScript</string>
+ <string name="ors_complete">OpenRecoveryScript виконано</string>
+ <string name="no_updater_binary">Не вдається знайти '{1}' у zip файлі.</string>
+ <string name="check_for_digest" version="2">Перевіка Digest файлу...</string>
+ <string name="verify_zip_sig">Перевірка підпису zip...</string>
+ <string name="verify_zip_fail">Підпис Zip не пройшов перевірку!</string>
+ <string name="verify_zip_done">Підпис Zip успішно перевірено.</string>
+ <string name="zip_corrupt">Zip файл пошкоджено!</string>
+ <string name="no_digest" version="2">Пропуск перевірки Digest: не знайдено MD5 файл</string>
+ <string name="digest_fail" version="2">Digest не співпадає</string>
+ <string name="digest_match" version="2">Digest співпадає</string>
+ <string name="pid_signal">{1} процес завершився з кодом: {2}</string>
+ <string name="pid_error">{1} процес завершився з ПОМИЛКОЮ: {2}</string>
+ <string name="install_dumlock">Встановлення HTC Dumlock у систему...</string>
+ <string name="dumlock_restore">Відновлення оригінального boot...</string>
+ <string name="dumlock_reflash">Прошивка recovery до boot...</string>
+ <string name="run_script">Виконання сценарію {1}...</string>
+ <string name="rename_stock">Перейменування файлу стокового рекавері у /system для попередження відновлення стокового замість TWRP.</string>
+ <string name="split_backup">Розбиття резервної копії на частини...</string>
+ <string name="backup_error">Помилка створення резервної копії.</string>
+ <string name="restore_error">Помилка під час відновлення.</string>
+ <string name="split_thread">Розщеплення ID {1} в архіві {2}</string>
+ <!-- These 2 items are saved in the data manager instead of resource manager, so %llu, etc is correct instead of {1} -->
+ <string name="file_progress">%llu з %llu файлів, %i%%</string>
+ <string name="size_progress">%llu МБ з %llu МБ, %i%%</string>
+ <string name="decrypt_cmd">Спроба розшифрувати розділ data за допомогою командного рядка.</string>
+ <string name="base_pkg_err">Невдача при завантаженні базових пакетів.</string>
+ <string name="simulating">Імітування дій...</string>
+ <string name="backup_cancel">Резервне копіювання перервано</string>
+ <string name="config_twrp">Конфігурування TWRP...</string>
+ <string name="config_twrp_err">Неможливо зконфігурувати TWRP з цим ядром.</string>
+ <string name="copy_log">recovery.log скопійовано до {1}.</string>
+ <string name="max_queue">Досягнута максимальна черга zip!</string>
+ <string name="min_queue">Досягнута мінімальна черга zip!</string>
+ <string name="screenshot_saved">Знімок екрану збережено до {1}</string>
+ <string name="screenshot_err">Не вдалось зробити знімок екрану!</string>
+ <string name="zip_wipe_cache">Один чи декілька zip запросили очистку cache -- Очистка cache.</string>
+ <string name="and_sec_wipe_err">Не вдалось очисти android secure</string>
+ <string name="dalvik_wipe_err">Не вдалось очистити dalvik</string>
+ <string name="auto_gen">(Автогенерація)</string>
+ <string name="curr_date">(Поточна дата)</string>
+ <string name="backup_name_len">Ім'я резервної копії надто довге.</string>
+ <string name="backup_name_invalid">Ім'я резервної копії '{1}' має недопустимі символи: '{1}'</string>
+ <string name="no_real_sdcard">Цей пристрій не має реальної SD карти! Відміна!</string>
+ <string name="cancel_sideload">Відміна ADB завантаження...</string>
+ <string name="change_fs_err">Помилка зміни файлової системи.</string>
+ <string name="theme_ver_err">Версія теми не збігається з версією TWRP. Використовується тема за замовченням.</string>
+ <string name="install_reboot">Пристрій буде перезавантажений через 5 секунд.</string>
+ <string name="up_a_level">(на рівень уверх)</string>
+ <string name="adbbackup_error">Помилка ADB копіювання. Вихід..."</string>
+ <string name="adbbackup_control_error">Не вдається запис у adb канал контролю</string>
+ <string name="twrp_adbbu_option">--опція twrp потребує увімкнення adb копіювання</string>
+ <string name="partition_not_found">шлях: {1} не знайдено у списку розділів</string>
+ <string name="copy_kernel_log">Копіювання kernel log у {1}</string>
+ <string name="include_kernel_log">Увімкнути Kernel Log</string>
+ </resources>
+</language>
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
index 962c63334..f163bea8b 100644
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -110,6 +110,7 @@
<style name="scrolllist">
<background color="%background_color%"/>
<font resource="font_m" spacing="%fileselector_spacing%" color="%text_color%"/>
+ <fastscroll linecolor="%fileselector_linecolor%" rectcolor="%accent_color%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%"/>
</style>
<style name="partitionlist">
@@ -1711,8 +1712,8 @@
<checkbox>
<placement x="%indent%" y="%row5_y%"/>
- <text>{@skip_md5_backup_chk=Skip MD5 generation during backup}</text>
- <data variable="tw_skip_md5_generate"/>
+ <text>{@skip_digest_backup_chk=Skip Digest generation during backup}</text>
+ <data variable="tw_skip_digest_generate"/>
</checkbox>
<checkbox>
@@ -2429,8 +2430,8 @@
<checkbox>
<placement x="%indent%" y="%row17_y%"/>
- <text>{@restore_enable_md5_chk=Enable MD5 Verification of Backup Files}</text>
- <data variable="tw_skip_md5_check"/>
+ <text>{@restore_enable_digest_chk=Enable Digest Verification of Backup Files}</text>
+ <data variable="tw_skip_digest_check"/>
</checkbox>
<button style="main_button_half_height">
@@ -3076,11 +3077,11 @@
<listitem name="{@disable_backup_space_chk=Disable free space check before backup}">
<data variable="tw_disable_free_space"/>
</listitem>
- <listitem name="{@skip_md5_backup_chk=Skip MD5 generation during backup}">
- <data variable="tw_skip_md5_generate"/>
+ <listitem name="{@skip_digest_backup_chk=Skip Digest generation during backup}">
+ <data variable="tw_skip_digest_generate"/>
</listitem>
- <listitem name="{@restore_enable_md5_chk=Enable MD5 verification of backup files}">
- <data variable="tw_skip_md5_check"/>
+ <listitem name="{@restore_enable_digest_chk=Enable Digest verification of backup files}">
+ <data variable="tw_skip_digest_check"/>
</listitem>
<listitem name="{@use24clock_chk=Use 24-hour clock}">
<data variable="tw_military_time"/>
@@ -3098,6 +3099,10 @@
<condition var1="tw_simulate_actions" var2="1"/>
<data variable="tw_simulate_fail"/>
</listitem>
+ <listitem name="{@sha2_chk=Use SHA2 for hashing}">
+ <condition var1="tw_no_sha2" var2="0"/>
+ <data variable="tw_use_sha2"/>
+ </listitem>
</listbox>
<button style="main_button_half_height">
diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml
index e8b05953e..d5ef86972 100644
--- a/gui/theme/common/watch.xml
+++ b/gui/theme/common/watch.xml
@@ -124,6 +124,7 @@
<icon selected="checkbox_true" unselected="checkbox_false"/>
<background color="%background_color%"/>
<font resource="font_m" spacing="%fileselector_spacing%" color="%text_color%" highlightcolor="%accent_color%"/>
+ <fastscroll linecolor="%fileselector_linecolor%" rectcolor="%accent_color%" w="%fastscroll_w%" linew="%fastscroll_linew%" rectw="%fastscroll_rectw%" recth="%fastscroll_recth%"/>
</style>
<style name="partitionlist">
@@ -2025,8 +2026,8 @@
<listitem name="{@enable_backup_comp_chk=Enable compression}">
<data variable="tw_use_compression"/>
</listitem>
- <listitem name="{@skip_md5_backup_chk=Skip MD5 generation during backup}">
- <data variable="tw_skip_md5_generate"/>
+ <listitem name="{@skip_digest_backup_chk=Skip Digest generation during backup}">
+ <data variable="tw_skip_digest_generate"/>
</listitem>
<listitem name="{@disable_backup_space_chk=Disable free space check before backup}">
<data variable="tw_disable_free_space"/>
@@ -2214,8 +2215,8 @@
<listitem name="{@enable_backup_comp_chk=Enable compression}">
<data variable="tw_use_compression"/>
</listitem>
- <listitem name="{@skip_md5_backup_chk=Skip MD5 generation during backup}">
- <data variable="tw_skip_md5_generate"/>
+ <listitem name="{@skip_digest_backup_chk=Skip Digest generation during backup}">
+ <data variable="tw_skip_digest_generate"/>
</listitem>
<listitem name="{@disable_backup_space_chk=Disable free space check before backup}">
<data variable="tw_disable_free_space"/>
@@ -2807,8 +2808,8 @@
<listbox style="scrolllist">
<placement x="%col1_x_left%" y="%row2_header_y%" w="%content_width%" h="%partitionlist_wipe_height%"/>
- <listitem name="{@restore_enable_md5_chk=Enable MD5 Verification of Backup Files}">
- <data variable="tw_skip_md5_check"/>
+ <listitem name="{@restore_enable_digest_chk=Enable Digest Verification of Backup Files}">
+ <data variable="tw_skip_digest_check"/>
</listitem>
</listbox>
@@ -2972,8 +2973,8 @@
<listbox style="listbox_options">
<placement x="%col1_x_right%" y="%row4a_y%" w="%content_half_width%" h="80"/>
- <listitem name="{@restore_enable_md5_chk=Enable MD5 Verification of Backup Files}">
- <data variable="tw_skip_md5_check"/>
+ <listitem name="{@restore_enable_digest_chk=Enable Digest Verification of Backup Files}">
+ <data variable="tw_skip_digest_check"/>
</listitem>
</listbox>
@@ -3584,11 +3585,11 @@
<listitem name="{@disable_backup_space_chk=Disable free space check before backup}">
<data variable="tw_disable_free_space"/>
</listitem>
- <listitem name="{@skip_md5_backup_chk=Skip MD5 generation during backup}">
- <data variable="tw_skip_md5_generate"/>
+ <listitem name="{@skip_digest_backup_chk=Skip Digest generation during backup}">
+ <data variable="tw_skip_digest_generate"/>
</listitem>
- <listitem name="{@restore_enable_md5_chk=Enable MD5 verification of backup files}">
- <data variable="tw_skip_md5_check"/>
+ <listitem name="{@restore_enable_digest_chk=Enable Digest verification of backup files}">
+ <data variable="tw_skip_digest_check"/>
</listitem>
<listitem name="{@use24clock_chk=Use 24-hour clock}">
<data variable="tw_military_time"/>
@@ -3603,6 +3604,10 @@
<data variable="tw_simulate_fail"/>
<condition var1="tw_simulate_actions" var2="1"/>
</listitem>
+ <listitem name="{@sha2_chk=Use SHA2 for hashing}">
+ <condition var1="tw_no_sha2" var2="0"/>
+ <data variable="tw_use_sha2"/>
+ </listitem>
</listbox>
<action>
diff --git a/gui/theme/extra-languages/languages/ja.xml b/gui/theme/extra-languages/languages/ja.xml
index 552665e96..58fe3aa1d 100644
--- a/gui/theme/extra-languages/languages/ja.xml
+++ b/gui/theme/extra-languages/languages/ja.xml
@@ -202,7 +202,7 @@
<string name="enc_disabled">無効 - パスワード設定で有効化します</string>
<string name="enc_enabled">有効</string>
<string name="enable_backup_comp_chk">圧縮する</string>
- <string name="skip_md5_backup_chk">バックアップ時に MD5 を生成しない</string>
+ <string name="skip_digest_backup_chk">バックアップ時に Digest を生成しない</string>
<string name="disable_backup_space_chk">空き容量のチェックを無効化する</string>
<string name="refresh_sizes_btn">サイズの更新</string>
<string name="swipe_backup">スワイプでバックアップ</string>
@@ -235,7 +235,7 @@
<string name="restore_try_decrypt_s">復号の試行中</string>
<string name="restore_backup_date">%tw_restore_file_date% に作成されたバックアップ</string>
<string name="restore_sel_part">リストアするパーティションの選択:</string>
- <string name="restore_enable_md5_chk">バックアップファイルの MD5 検証を有効化する</string>
+ <string name="restore_enable_digest_chk">バックアップファイルの Digest 検証を有効化する</string>
<string name="restore_complete">リストアしました</string>
<string name="swipe_restore">スワイプでリストア</string>
<string name="swipe_restore_s"> リストア</string>
@@ -475,12 +475,12 @@
<string name="mtp_crash">MTP がクラッシュしました。起動時に開始しません。</string>
<string name="decrypt_success">デフォルトのパスワードで復号しました。</string>
<string name="unable_to_decrypt">デフォルトのパスワードで復号できません。data の初期化が必要です。</string>
- <string name="generating_md51">MD5 の生成中</string>
- <!-- Message displayed during a backup if we are generating an MD5, ideally, leave the leading " * " to help align and separate this text from other console text -->
- <string name="generating_md52"> * MD5 の生成中...</string>
- <string name="md5_created"> * MD5 を生成しました。</string>
- <string name="md5_error"> * MD5 エラー!</string>
- <string name="md5_compute_error"> * MD5の計算エラーが起きました。</string>
+ <string name="generating_digest1">Digest の生成中</string>
+ <!-- Message displayed during a backup if we are generating an Digest, ideally, leave the leading " * " to help align and separate this text from other console text -->
+ <string name="generating_digest2"> * Digest の生成中...</string>
+ <string name="digest_created"> * Digest を生成しました。</string>
+ <string name="digest_error"> * Digest エラー!</string>
+ <string name="digest_compute_error"> * Digestの計算エラーが起きました。</string>
<string name="current_date">(現在の日付)</string>
<string name="auto_generate">(自動生成)</string>
<string name="unable_to_locate_partition">バックアップの計算で \'{1}\' パーティションが見つかりません。</string>
@@ -501,8 +501,8 @@
<string name="restore_folder">リストアフォルダ: \'{1}\'</string>
<!-- {1} is the partition display name and {2} is the number of seconds -->
<string name="restore_part_done">[{1} 完了 ({2} 秒)]</string>
- <string name="verifying_md5">MD5 の検証中</string>
- <string name="skip_md5">ユーザー設定に基づき MD5 の検証をスキップします。</string>
+ <string name="verifying_digest">Digest の検証中</string>
+ <string name="skip_digest">ユーザー設定に基づき Digest の検証をスキップします。</string>
<string name="calc_restore">リストアの詳細を計算中...</string>
<string name="restore_read_only">{1} をリストアできません -- 読み取り専用でマウントされています。</string>
<string name="restore_unable_locate">リストアする \'{1}\' パーティションが見つかりません。</string>
@@ -564,9 +564,9 @@
<string name="cannot_resize">{1} をリサイズできません。</string>
<string name="repair_resize">リサイズの前に {1} を修復しています。</string>
<string name="unable_resize">{1} をリサイズできません。</string>
- <string name="no_md5_found">\'{1}\' の MD5 ファイルが見つかりません。リストアするには MD5 の検証を無効化してください。</string>
- <string name="md5_fail_match">\'{1}\' で MD5 が一致しません。</string>
- <string name="md5_matched">MD5 matched for '{1}'.</string>
+ <string name="no_digest_found">\'{1}\' の Digest ファイルが見つかりません。リストアするには Digest の検証を無効化してください。</string>
+ <string name="digest_fail_match">\'{1}\' で Digest が一致しません。</string>
+ <string name="digest_matched">Digest matched for '{1}'.</string>
<string name="fail_decrypt_tar">tar ファイル '{1}' を復号できませんでした</string>
<string name="format_data_msg">/data を再度使用するにはリカバリを再起動してください。</string>
<string name="format_data_err">暗号化を解除するための初期化ができません。</string>
@@ -587,7 +587,7 @@
<string name="backup_folder_set">バックアップフォルダを '{1}' に設定しました</string>
<string name="locate_backup_err">バックアップ \'{1}\' が見つかりません</string>
<string name="set_restore_opt">リストアオプションの設定中: \'{1}\':</string>
- <string name="md5_check_skip">MD5 チェックのスキップが有効です</string>
+ <string name="digest_check_skip">Digest チェックのスキップが有効です</string>
<string name="ors_encrypt_restore_err">OpenRecoveryScript を使用して暗号化されたバックアップをリストアできません。</string>
<string name="mounting">マウント中</string>
<string name="unmounting">マウント解除中</string>
@@ -608,7 +608,7 @@
<string name="installing_zip">ZIP ファイル \'{1}\' をインストール中</string>
<string name="select_backup_opt">バックアップオプションの設定中:</string>
<string name="compression_on">圧縮は有効です</string>
- <string name="md5_off">MD5 生成は無効です</string>
+ <string name="digest_off">Digest 生成は無効です</string>
<string name="backup_fail">バックアップに失敗しました</string>
<string name="backup_clean">バックアップに失敗しました。バックアップフォルダを掃除中です。</string>
<string name="running_recovery_commands">リカバリコマンドの実行中</string>
@@ -616,15 +616,15 @@
<string name="running_ors">OpenRecoveryScript の実行中</string>
<string name="ors_complete">OpenRecoveryScript を実行しました</string>
<string name="no_updater_binary">ZIP ファイルの中で \'{1}\' が見つかりませんでした。</string>
- <string name="check_for_md5">MD5 ファイルをチェック中...</string>
+ <string name="check_for_digest">Digest ファイルをチェック中...</string>
<string name="fail_sysmap">ファイル \'{1}\' のマップに失敗しました</string>
<string name="verify_zip_sig">ZIP の署名を検証中...</string>
<string name="verify_zip_fail">ZIP の署名の検証に失敗しました!</string>
<string name="verify_zip_done">ZIP の署名の検証に成功しました。</string>
<string name="zip_corrupt">ZIP ファイルが破損しています!</string>
- <string name="no_md5">MD5 チェックをスキップ中: MD5 ファイルが見つかりません</string>
- <string name="md5_fail">MD5 が一致しません</string>
- <string name="md5_match">MD5 が一致しました</string>
+ <string name="no_digest">Digest チェックをスキップ中: Digest ファイルが見つかりません</string>
+ <string name="digest_fail">Digest が一致しません</string>
+ <string name="digest_match">Digest が一致しました</string>
<string name="pid_signal">{1} プロセスはこのシグナルで終了しました: {2}</string>
<string name="pid_error">{1} プロセスはこのエラーで終了しました: {2}</string>
<string name="install_dumlock">HTC Dumlock を system にインストール中...</string>
diff --git a/gui/theme/extra-languages/languages/zh_CN.xml b/gui/theme/extra-languages/languages/zh_CN.xml
index 9abbe2161..6ba56e3d5 100644
--- a/gui/theme/extra-languages/languages/zh_CN.xml
+++ b/gui/theme/extra-languages/languages/zh_CN.xml
@@ -215,7 +215,7 @@
<string name="enc_disabled">已禁用 - 设置密码以启用</string>
<string name="enc_enabled">已启用</string>
<string name="enable_backup_comp_chk">启用压缩</string>
- <string name="skip_md5_backup_chk">当备份时跳过生成 MD5</string>
+ <string name="skip_digest_backup_chk" version="2">当备份时跳过生成 Digest</string>
<string name="disable_backup_space_chk">禁用剩余空间检查</string>
<string name="current_boot_slot">当前分区:%tw_active_slot%</string>
<string name="boot_slot_a">分区 A</string>
@@ -253,7 +253,7 @@
<string name="restore_try_decrypt_s">正在尝试解密</string>
<string name="restore_backup_date">备份于 %tw_restore_file_date%</string>
<string name="restore_sel_part">选择要恢复的分区:</string>
- <string name="restore_enable_md5_chk">启用 MD5 校验备份文件</string>
+ <string name="restore_enable_digest_chk" version="2">启用 Digest 校验备份文件</string>
<string name="restore_complete">恢复完成</string>
<string name="swipe_restore">滑动按钮确认恢复</string>
<string name="swipe_restore_s"> 恢复</string>
@@ -494,12 +494,12 @@
<string name="mtp_crash">MTP 已崩溃。启动时不再加载 MTP。</string>
<string name="decrypt_success">已使用默认密码解密成功。</string>
<string name="unable_to_decrypt">无法使用默认密码来解密,您可能需要格式化 Data 分区。</string>
- <string name="generating_md51">正在生成 MD5</string>
- <!-- Message displayed during a backup if we are generating an MD5, ideally, leave the leading " * " to help align and separate this text from other console text -->
- <string name="generating_md52"> * 正在生成 MD5…</string>
- <string name="md5_created"> * MD5 已生成。</string>
- <string name="md5_error"> * MD5 错误!</string>
- <string name="md5_compute_error"> * 计算 MD5 错误。</string>
+ <string name="generating_digest1" version="2">正在生成 Digest</string>
+ <!-- Message displayed during a backup if we are generating an Digest, ideally, leave the leading " * " to help align and separate this text from other console text -->
+ <string name="generating_digest2" version="2"> * 正在生成 Digest…</string>
+ <string name="digest_created" version="2"> * Digest 已生成。</string>
+ <string name="digest_error" version="2"> * Digest 错误!</string>
+ <string name="digest_compute_error" version="2"> * 计算 Digest 错误。</string>
<string name="current_date">(Current Date)</string>
<string name="auto_generate">(Auto Generate)</string>
<string name="unable_to_locate_partition">未找到 '{1}' 分区。</string>
@@ -520,8 +520,8 @@
<string name="restore_folder">恢复文件夹:'{1}'</string>
<!-- {1} is the partition display name and {2} is the number of seconds -->
<string name="restore_part_done">[{1} 恢复完成({2} 秒)]</string>
- <string name="verifying_md5">正在校验 MD5</string>
- <string name="skip_md5">基于用户设置,已跳过 MD5 检查。</string>
+ <string name="verifying_digest" version="2">正在校验 Digest</string>
+ <string name="skip_digest" version="2">基于用户设置,已跳过 Digest 检查。</string>
<string name="calc_restore">正在计算恢复详情…</string>
<string name="restore_read_only">无法恢复 {1} -- 已挂载为只读。</string>
<string name="restore_unable_locate">未找到 '{1}' 分区。</string>
@@ -584,9 +584,9 @@
<string name="cannot_resize">无法更改 {1} 大小。</string>
<string name="repair_resize">在调整大小之前修复 {1}。</string>
<string name="unable_resize">无法调整 {1} 大小。</string>
- <string name="no_md5_found">未找到 '{1}' 的 MD5 校验文件。请取消选中“启用 MD5 校验备份文件”复选框。</string>
- <string name="md5_fail_match">'{1}' MD5 校验失败。</string>
- <string name="md5_matched">MD5 匹配 '{1}'。</string>
+ <string name="no_digest_found" version="2">未找到 '{1}' 的 Digest 校验文件。请取消选中“启用 Digest 校验备份文件”复选框。</string>
+ <string name="digest_fail_match" version="2">'{1}' Digest 校验失败。</string>
+ <string name="digest_matched" version="2">Digest 匹配 '{1}'。</string>
<string name="fail_decrypt_tar">无法解密 tar 文件 '{1}'</string>
<string name="format_data_msg">您可能需要重启 Recovery 才能使用/data。</string>
<string name="format_data_err">无法格式化并删除加密。</string>
@@ -608,7 +608,7 @@
<string name="backup_folder">备份文件夹设置为:'{1}'</string>
<string name="locate_backup_err">未找到备份文件 '{1}'</string>
<string name="set_restore_opt">设置恢复选项:'{1}':</string>
- <string name="md5_check_skip">跳过校验 MD5 已开启</string>
+ <string name="digest_check_skip" version="2">跳过校验 Digest 已开启</string>
<string name="ors_encrypt_restore_err">无法使用 OpenRecoveryScript 脚本恢复加密备份。</string>
<string name="mounting">正在挂载</string>
<string name="unmounting">正在卸载</string>
@@ -629,7 +629,7 @@
<string name="installing_zip">正在安装 Zip 刷机包 '{1}'</string>
<string name="select_backup_opt">设置备份选项:</string>
<string name="compression_on">压缩选项已开启</string>
- <string name="md5_off">MD5 生成已关闭</string>
+ <string name="digest_off" version="2">Digest 生成已关闭</string>
<string name="backup_fail">备份失败</string>
<string name="backup_clean">备份失败。正在清理备份文件夹。</string>
<string name="running_recovery_commands">运行 Recovery 命令</string>
@@ -637,15 +637,15 @@
<string name="running_ors">运行 OpenRecoveryScript 脚本</string>
<string name="ors_complete">运行 OpenRecoveryScript 脚本完成</string>
<string name="invalid_zip_format">Zip 文件格式无效!</string>
- <string name="check_for_md5">正在检测 MD5…</string>
+ <string name="check_for_digest" version="2">正在检测 Digest…</string>
<string name="fail_sysmap">映射文件 '{1}' 失败</string>
<string name="verify_zip_sig">正在校验 Zip 刷机包签名…</string>
<string name="verify_zip_fail">刷机包签名校验失败!</string>
<string name="verify_zip_done">刷机包签名校验成功。</string>
<string name="zip_corrupt">刷机包已损坏!</string>
- <string name="no_md5">跳过 MD5 校验:未找到 MD5 文件</string>
- <string name="md5_fail">MD5 不匹配</string>
- <string name="md5_match">MD5 校验成功</string>
+ <string name="no_digest" version="2">跳过 Digest 校验:未找到 Digest 文件</string>
+ <string name="digest_fail" version="2">Digest 不匹配</string>
+ <string name="digest_match" version="2">Digest 校验成功</string>
<string name="pid_signal">{1} 过程结束,标志:{2}</string>
<string name="pid_error">{1} 过程结束,错误:{2}</string>
<string name="install_dumlock">安装 HTC Dumlock 到系统…</string>
diff --git a/gui/theme/extra-languages/languages/zh_TW.xml b/gui/theme/extra-languages/languages/zh_TW.xml
index 55a9dccce..d52f8bfae 100644
--- a/gui/theme/extra-languages/languages/zh_TW.xml
+++ b/gui/theme/extra-languages/languages/zh_TW.xml
@@ -215,7 +215,7 @@
<string name="enc_disabled">已禁用 - 設置密碼以啟用</string>
<string name="enc_enabled">已啟用</string>
<string name="enable_backup_comp_chk">啟用壓縮</string>
- <string name="skip_md5_backup_chk">備份時跳過生成 MD5</string>
+ <string name="skip_digest_backup_chk" version="2">備份時跳過生成 Digest</string>
<string name="disable_backup_space_chk">禁用剩餘空間檢查</string>
<string name="current_boot_slot">當前分區:%tw_active_slot%</string>
<string name="boot_slot_a">分區 A</string>
@@ -253,7 +253,7 @@
<string name="restore_try_decrypt_s">正在嘗試解密</string>
<string name="restore_backup_date">備份於 %tw_restore_file_date%</string>
<string name="restore_sel_part">選擇要恢復的分區:</string>
- <string name="restore_enable_md5_chk">啟用 MD5 校驗備份檔案</string>
+ <string name="restore_enable_digest_chk" version="2">啟用 Digest 校驗備份檔案</string>
<string name="restore_complete">恢復完成</string>
<string name="swipe_restore">滑動按鈕確認恢復</string>
<string name="swipe_restore_s"> 恢復</string>
@@ -494,12 +494,12 @@
<string name="mtp_crash">MTP 已崩潰。啟動時不再加載 MTP。</string>
<string name="decrypt_success">已使用默認密碼解密成功。</string>
<string name="unable_to_decrypt">無法使用默認密碼來解密,您可能需要格式化 Data 分區。</string>
- <string name="generating_md51">正在生成 MD5</string>
- <!-- Message displayed during a backup if we are generating an MD5, ideally, leave the leading " * " to help align and separate this text from other console text -->
- <string name="generating_md52"> * 正在生成 MD5…</string>
- <string name="md5_created"> * MD5 已生成。</string>
- <string name="md5_error"> * MD5 錯誤!</string>
- <string name="md5_compute_error"> * 計算 MD5 錯誤。</string>
+ <string name="generating_digest1" version="2">正在生成 Digest</string>
+ <!-- Message displayed during a backup if we are generating an Digest, ideally, leave the leading " * " to help align and separate this text from other console text -->
+ <string name="generating_digest2" version="2"> * 正在生成 Digest…</string>
+ <string name="digest_created" version="2"> * Digest 已生成。</string>
+ <string name="digest_error" version="2"> * Digest 錯誤!</string>
+ <string name="digest_compute_error" version="2"> * 計算 Digest 錯誤。</string>
<string name="current_date">(Current Date)</string>
<string name="auto_generate">(Auto Generate)</string>
<string name="unable_to_locate_partition">未找到 '{1}' 分區。</string>
@@ -520,8 +520,8 @@
<string name="restore_folder">恢復檔案夾:'{1}'</string>
<!-- {1} is the partition display name and {2} is the number of seconds -->
<string name="restore_part_done">[{1} 恢復完成({2} 秒)]</string>
- <string name="verifying_md5">正在校驗 MD5</string>
- <string name="skip_md5">基於用戶設置,已跳過 MD5 檢查。</string>
+ <string name="verifying_digest" version="2">正在校驗 Digest</string>
+ <string name="skip_digest" version="2">基於用戶設置,已跳過 Digest 檢查。</string>
<string name="calc_restore">正在計算恢復詳情…</string>
<string name="restore_read_only">無法恢復 {1} -- 已掛載為只讀。</string>
<string name="restore_unable_locate">未找到 '{1}' 分區。</string>
@@ -584,9 +584,9 @@
<string name="cannot_resize">無法更改 {1} 大小。</string>
<string name="repair_resize">在調整大小之前修復 {1}。</string>
<string name="unable_resize">無法調整 {1} 大小。</string>
- <string name="no_md5_found">未找到 '{1}' 的 MD5 校驗檔案。請取消選中“啟用 MD5 校驗備份檔案”複選框。</string>
- <string name="md5_fail_match">'{1}' MD5 校驗失敗。</string>
- <string name="md5_matched">MD5 匹配 '{1}'。</string>
+ <string name="no_digest_found" version="2">未找到 '{1}' 的 Digest 校驗檔案。請取消選中“啟用 Digest 校驗備份檔案”複選框。</string>
+ <string name="digest_fail_match" version="2">'{1}' Digest 校驗失敗。</string>
+ <string name="digest_matched" version="2">Digest 匹配 '{1}'。</string>
<string name="fail_decrypt_tar">無法解密 tar 檔案 '{1}'</string>
<string name="format_data_msg">您可能需要重啟 Recovery 才能使用/data。</string>
<string name="format_data_err">無法格式化並刪除加密。</string>
@@ -608,7 +608,7 @@
<string name="backup_folder">備份檔案夾設置為:'{1}'</string>
<string name="locate_backup_err">未找到備份檔案 '{1}'</string>
<string name="set_restore_opt">設置恢復選項:'{1}':</string>
- <string name="md5_check_skip">跳過校驗 MD5 已開啟</string>
+ <string name="digest_check_skip" version="2">跳過校驗 Digest 已開啟</string>
<string name="ors_encrypt_restore_err">無法使用 OpenRecoveryScript 腳本恢復加密備份。</string>
<string name="mounting">正在掛載</string>
<string name="unmounting">正在卸載</string>
@@ -629,7 +629,7 @@
<string name="installing_zip">正在安裝 Zip 刷機包 '{1}'</string>
<string name="select_backup_opt">設置備份選項:</string>
<string name="compression_on">壓縮選項已開啟</string>
- <string name="md5_off">MD5 生成已關閉</string>
+ <string name="digest_off" version="2">Digest 生成已關閉</string>
<string name="backup_fail">備份失敗</string>
<string name="backup_clean">備份失敗。正在清理備份檔案夾。</string>
<string name="running_recovery_commands">運行 Recovery 命令</string>
@@ -637,15 +637,15 @@
<string name="running_ors">運行 OpenRecoveryScript 腳本</string>
<string name="ors_complete">運行 OpenRecoveryScript 腳本完成</string>
<string name="invalid_zip_format">Zip 檔案格式無效!</string>
- <string name="check_for_md5">正在檢測 MD5…</string>
+ <string name="check_for_digest" version="2">正在檢測 Digest…</string>
<string name="fail_sysmap">映射檔案 '{1}' 失敗</string>
<string name="verify_zip_sig">正在校驗 Zip 刷機包簽名…</string>
<string name="verify_zip_fail">刷機包簽名校驗失敗!</string>
<string name="verify_zip_done">刷機包簽名校驗成功。</string>
<string name="zip_corrupt">刷機包已損壞!</string>
- <string name="no_md5">跳過 MD5 校驗:未找到 MD5 檔案</string>
- <string name="md5_fail">MD5 不匹配</string>
- <string name="md5_match">MD5 校驗成功</string>
+ <string name="no_digest" version="2">跳過 Digest 校驗:未找到 Digest 檔案</string>
+ <string name="digest_fail" version="2">Digest 不匹配</string>
+ <string name="digest_match" version="2">Digest 校驗成功</string>
<string name="pid_signal">{1} 過程結束,標誌:{2}</string>
<string name="pid_error">{1} 過程結束,錯誤:{2}</string>
<string name="install_dumlock">安裝 HTC Dumlock 到系統…</string>
diff --git a/gui/theme/landscape_hdpi/splash.xml b/gui/theme/landscape_hdpi/splash.xml
index 8da2fe6ea..d01c66aad 100644
--- a/gui/theme/landscape_hdpi/splash.xml
+++ b/gui/theme/landscape_hdpi/splash.xml
@@ -5,7 +5,7 @@
<author>TeamWin</author>
<title>TWRP</title>
<description>splash screen</description>
- <themeversion>2</themeversion>
+ <themeversion>3</themeversion>
</details>
<resources>
diff --git a/gui/theme/landscape_hdpi/ui.xml b/gui/theme/landscape_hdpi/ui.xml
index 34ef530e3..39f626f61 100644
--- a/gui/theme/landscape_hdpi/ui.xml
+++ b/gui/theme/landscape_hdpi/ui.xml
@@ -6,7 +6,7 @@
<title>Backup Naowz</title>
<description>Default basic theme</description>
<preview>preview.png</preview>
- <themeversion>2</themeversion>
+ <themeversion>3</themeversion>
</details>
<include>
diff --git a/gui/theme/landscape_mdpi/splash.xml b/gui/theme/landscape_mdpi/splash.xml
index ac71c2301..74b6d177a 100644
--- a/gui/theme/landscape_mdpi/splash.xml
+++ b/gui/theme/landscape_mdpi/splash.xml
@@ -5,7 +5,7 @@
<author>TeamWin</author>
<title>TWRP</title>
<description>splash screen</description>
- <themeversion>2</themeversion>
+ <themeversion>3</themeversion>
</details>
<resources>
diff --git a/gui/theme/landscape_mdpi/ui.xml b/gui/theme/landscape_mdpi/ui.xml
index c2cfc4fb3..cde1a5b76 100644
--- a/gui/theme/landscape_mdpi/ui.xml
+++ b/gui/theme/landscape_mdpi/ui.xml
@@ -6,7 +6,7 @@
<title>Backup Naowz</title>
<description>Default basic theme</description>
<preview>preview.png</preview>
- <themeversion>2</themeversion>
+ <themeversion>3</themeversion>
</details>
<include>
diff --git a/gui/theme/portrait_hdpi/splash.xml b/gui/theme/portrait_hdpi/splash.xml
index 93932b983..b04baa47e 100644
--- a/gui/theme/portrait_hdpi/splash.xml
+++ b/gui/theme/portrait_hdpi/splash.xml
@@ -5,7 +5,7 @@
<author>TeamWin</author>
<title>TWRP</title>
<description>splash screen</description>
- <themeversion>2</themeversion>
+ <themeversion>3</themeversion>
</details>
<resources>
diff --git a/gui/theme/portrait_hdpi/ui.xml b/gui/theme/portrait_hdpi/ui.xml
index 4bce1465c..0545b3f6b 100644
--- a/gui/theme/portrait_hdpi/ui.xml
+++ b/gui/theme/portrait_hdpi/ui.xml
@@ -6,7 +6,7 @@
<title>Backup Naowz</title>
<description>Default basic theme</description>
<preview>preview.png</preview>
- <themeversion>2</themeversion>
+ <themeversion>3</themeversion>
</details>
<include>
diff --git a/gui/theme/portrait_mdpi/splash.xml b/gui/theme/portrait_mdpi/splash.xml
index 80338eb82..f8c695fdf 100644
--- a/gui/theme/portrait_mdpi/splash.xml
+++ b/gui/theme/portrait_mdpi/splash.xml
@@ -5,7 +5,7 @@
<author>TeamWin</author>
<title>TWRP</title>
<description>splash screen</description>
- <themeversion>2</themeversion>
+ <themeversion>3</themeversion>
</details>
<resources>
diff --git a/gui/theme/portrait_mdpi/ui.xml b/gui/theme/portrait_mdpi/ui.xml
index 94c142863..061d46b0e 100644
--- a/gui/theme/portrait_mdpi/ui.xml
+++ b/gui/theme/portrait_mdpi/ui.xml
@@ -6,7 +6,7 @@
<title>Backup Naowz</title>
<description>Default basic theme</description>
<preview>preview.png</preview>
- <themeversion>2</themeversion>
+ <themeversion>3</themeversion>
</details>
<include>
diff --git a/gui/theme/watch_mdpi/splash.xml b/gui/theme/watch_mdpi/splash.xml
index 2d70e5948..62e8dc37b 100644
--- a/gui/theme/watch_mdpi/splash.xml
+++ b/gui/theme/watch_mdpi/splash.xml
@@ -5,7 +5,7 @@
<author>TeamWin</author>
<title>TWRP</title>
<description>splash screen</description>
- <themeversion>2</themeversion>
+ <themeversion>3</themeversion>
</details>
<resources>
diff --git a/gui/theme/watch_mdpi/ui.xml b/gui/theme/watch_mdpi/ui.xml
index 3ef71aff0..491de1c43 100644
--- a/gui/theme/watch_mdpi/ui.xml
+++ b/gui/theme/watch_mdpi/ui.xml
@@ -7,7 +7,7 @@
<title>Backup Naowz</title>
<description>Default basic theme</description>
<preview>preview.png</preview>
- <themeversion>2</themeversion>
+ <themeversion>3</themeversion>
</details>
<include>
diff --git a/libtar/block.c b/libtar/block.c
index a94ba445d..8b2205933 100644
--- a/libtar/block.c
+++ b/libtar/block.c
@@ -347,11 +347,13 @@ th_read(TAR *t)
{
start += E4CRYPT_TAG_LEN;
char *end = strchr(start, '\n');
+ if(!end)
+ end = strchr(start, '\0');
if(end)
{
- t->th_buf.e4crypt_policy = strndup(start, end-start);
+ t->th_buf.e4crypt_policy = strndup(start, end-start);
#ifdef DEBUG
- printf(" th_read(): E4Crypt policy detected: %s\n", t->th_buf.e4crypt_policy);
+ printf(" th_read(): E4Crypt policy detected: %s\n", t->th_buf.e4crypt_policy);
#endif
}
}
@@ -563,7 +565,7 @@ th_write(TAR *t)
#endif
/* setup size - EXT header has format "*size of this whole tag as ascii numbers* *space* *content* *newline* */
// size newline
- sz = E4CRYPT_TAG_LEN + EXT4_KEY_DESCRIPTOR_HEX + 3 + 1;
+ sz = E4CRYPT_TAG_LEN + strlen(t->th_buf.e4crypt_policy) + 3 + 1;
if(sz >= 100) // another ascci digit for size
++sz;
diff --git a/minui/Android.mk b/minui/Android.mk
index 34bf5f5bb..249feeb0e 100644
--- a/minui/Android.mk
+++ b/minui/Android.mk
@@ -79,8 +79,9 @@ endif
ifneq ($(BOARD_USE_CUSTOM_RECOVERY_FONT),)
LOCAL_CFLAGS += -DBOARD_USE_CUSTOM_RECOVERY_FONT=$(BOARD_USE_CUSTOM_RECOVERY_FONT)
endif
-ifneq ($(wildcard system/core/healthd/animation.h),)
- LOCAL_CFLAGS += -DTW_USE_MINUI_CUSTOM_FONTS
+ifeq ($(wildcard system/core/healthd/animation.h),)
+ TARGET_GLOBAL_CFLAGS += -DTW_NO_MINUI_CUSTOM_FONTS
+ CLANG_TARGET_GLOBAL_CFLAGS += -DTW_NO_MINUI_CUSTOM_FONTS
endif
include $(BUILD_STATIC_LIBRARY)
diff --git a/minui/graphics.cpp b/minui/graphics.cpp
index 3d847b573..95251764d 100644
--- a/minui/graphics.cpp
+++ b/minui/graphics.cpp
@@ -62,8 +62,8 @@ static bool outside(int x, int y)
{
return x < 0 || x >= gr_draw->width || y < 0 || y >= gr_draw->height;
}
-//#define TW_USE_MINUI_CUSTOM_FONTS 1
-#ifndef TW_USE_MINUI_CUSTOM_FONTS
+
+#ifdef TW_NO_MINUI_CUSTOM_FONTS
int gr_measure(const char *s)
{
return gr_font->char_width * strlen(s);
@@ -90,7 +90,7 @@ void gr_font_size(const GRFont* font, int *x, int *y)
*x = font->char_width;
*y = font->char_height;
}
-#endif // TW_USE_MINUI_CUSTOM_FONTS
+#endif // TW_NO_MINUI_CUSTOM_FONTS
void blend_16bpp(unsigned char* px, unsigned r5, unsigned g5, unsigned b5, unsigned char a)
{
@@ -158,7 +158,7 @@ static void text_blend(unsigned char* src_p, int src_row_bytes,
}
}
-#ifndef TW_USE_MINUI_CUSTOM_FONTS
+#ifdef TW_NO_MINUI_CUSTOM_FONTS
void gr_text(int x, int y, const char *s, bool bold)
{
GRFont* font = gr_font;
@@ -189,7 +189,7 @@ void gr_text(int x, int y, const char *s, bool bold)
x += font->char_width;
}
}
-#else //TW_USE_MINUI_CUSTOM_FONTS
+#else //TW_NO_MINUI_CUSTOM_FONTS
void gr_text(const GRFont* font, int x, int y, const char *s, bool bold)
{
if (!font->texture || gr_current_a == 0) return;
@@ -218,7 +218,7 @@ void gr_text(const GRFont* font, int x, int y, const char *s, bool bold)
x += font->char_width;
}
}
-#endif //TW_USE_MINUI_CUSTOM_FONTS
+#endif //TW_NO_MINUI_CUSTOM_FONTS
void gr_texticon(int x, int y, GRSurface* icon) {
if (icon == NULL) return;
@@ -426,7 +426,7 @@ unsigned int gr_get_height(GRSurface* surface) {
return surface->height;
}
-#ifndef TW_USE_MINUI_CUSTOM_FONTS
+#ifdef TW_NO_MINUI_CUSTOM_FONTS
static void gr_init_font(void)
{
gr_font = reinterpret_cast<GRFont*>(calloc(sizeof(*gr_font), 1));
@@ -468,7 +468,7 @@ void gr_set_font(__attribute__ ((unused))const char* name) {
gr_init_font();
return;
}
-#else
+#else // TW_NO_MINUI_CUSTOM_FONTS
int gr_init_font(const char* name, GRFont** dest) {
GRFont* font = reinterpret_cast<GRFont*>(calloc(1, sizeof(*gr_font)));
if (font == nullptr) {
@@ -523,7 +523,7 @@ static void gr_init_font(void)
gr_font->char_width = font.char_width;
gr_font->char_height = font.char_height;
}
-#endif
+#endif // TW_NO_MINUI_CUSTOM_FONTS
#if 0
// Exercises many of the gr_*() functions; useful for testing.
diff --git a/minui/minui.h b/minui/minui.h
index abef036e4..bf796010e 100644
--- a/minui/minui.h
+++ b/minui/minui.h
@@ -55,7 +55,7 @@ void gr_color(unsigned char r, unsigned char g, unsigned char b, unsigned char a
void gr_fill(int x1, int y1, int x2, int y2);
void gr_texticon(int x, int y, GRSurface* icon);
-#ifndef TW_USE_MINUI_CUSTOM_FONTS
+#ifdef TW_NO_MINUI_CUSTOM_FONTS
void gr_text(int x, int y, const char *s, bool bold);
int gr_measure(const char *s);
void gr_font_size(int *x, int *y);
diff --git a/openrecoveryscript.cpp b/openrecoveryscript.cpp
index faa0f9ca1..1cbf800ef 100644
--- a/openrecoveryscript.cpp
+++ b/openrecoveryscript.cpp
@@ -194,7 +194,7 @@ int OpenRecoveryScript::run_script_file(void) {
// Restore
DataManager::SetValue("tw_action_text2", gui_parse_text("{@restore}"));
PartitionManager.Mount_All_Storage();
- DataManager::SetValue(TW_SKIP_MD5_CHECK_VAR, 0);
+ DataManager::SetValue(TW_SKIP_DIGEST_CHECK_VAR, 0);
char folder_path[512], partitions[512];
string val = value, restore_folder, restore_partitions;
@@ -277,8 +277,8 @@ int OpenRecoveryScript::run_script_file(void) {
Restore_List += "/sd-ext;";
gui_msg("sdext=SD-EXT");
} else if (value2[i] == 'M' || value2[i] == 'm') {
- DataManager::SetValue(TW_SKIP_MD5_CHECK_VAR, 1);
- gui_msg("md5_check_skip=MD5 check skip is on");
+ DataManager::SetValue(TW_SKIP_DIGEST_CHECK_VAR, 1);
+ gui_msg("digest_check_skip=Digest check skip is on");
}
}
@@ -520,7 +520,7 @@ int OpenRecoveryScript::Backup_ADB_Command(std::string Options) {
args = TWFunc::Split_String(Options, " ");
DataManager::SetValue(TW_USE_COMPRESSION_VAR, 0);
- DataManager::SetValue(TW_SKIP_MD5_GENERATE_VAR, 0);
+ DataManager::SetValue(TW_SKIP_DIGEST_GENERATE_VAR, 0);
if (args[1].compare("--twrp") != 0) {
gui_err("twrp_adbbu_option=--twrp option is required to enable twrp adb backup");
@@ -608,7 +608,7 @@ int OpenRecoveryScript::Backup_Command(string Options) {
strcpy(value1, Options.c_str());
DataManager::SetValue(TW_USE_COMPRESSION_VAR, 0);
- DataManager::SetValue(TW_SKIP_MD5_GENERATE_VAR, 0);
+ DataManager::SetValue(TW_SKIP_DIGEST_GENERATE_VAR, 0);
gui_msg("select_backup_opt=Setting backup options:");
line_len = Options.size();
@@ -644,8 +644,8 @@ int OpenRecoveryScript::Backup_Command(string Options) {
DataManager::SetValue(TW_USE_COMPRESSION_VAR, 1);
gui_msg("compression_on=Compression is on");
} else if (Options.substr(i, 1) == "M" || Options.substr(i, 1) == "m") {
- DataManager::SetValue(TW_SKIP_MD5_GENERATE_VAR, 1);
- gui_msg("md5_off=MD5 Generation is off");
+ DataManager::SetValue(TW_SKIP_DIGEST_GENERATE_VAR, 1);
+ gui_msg("digest_off=Digest Generation is off");
}
}
DataManager::SetValue("tw_backup_list", Backup_List);
@@ -756,7 +756,7 @@ int OpenRecoveryScript::Restore_ADB_Backup(void) {
part_settings.total_restore_size = 0;
PartitionManager.Mount_All_Storage();
- DataManager::SetValue(TW_SKIP_MD5_CHECK_VAR, 0);
+ DataManager::SetValue(TW_SKIP_DIGEST_CHECK_VAR, 0);
LOGINFO("opening TW_ADB_BU_CONTROL\n");
adb_control_bu_fd = open(TW_ADB_BU_CONTROL, O_WRONLY | O_NONBLOCK);
diff --git a/orscmd/orscmd.cpp b/orscmd/orscmd.cpp
index c008450ab..fd8172dff 100644
--- a/orscmd/orscmd.cpp
+++ b/orscmd/orscmd.cpp
@@ -40,16 +40,14 @@ void print_usage(void) {
printf("Allows command line usage of TWRP via openrecoveryscript commands.\n");
printf("Some common commands include:\n");
printf(" install /path/to/update.zip\n");
- printf(" backup BSDC backupname\n");
- printf(" restore backupname BSDC\n");
- printf(" factoryreset\n");
- printf(" wipe cache\n");
+ printf(" backup <SDCRBAEM> [backupname]\n");
+ printf(" restore <SDCRBAEM> [backupname]\n");
+ printf(" wipe <partition name>\n");
printf(" sideload\n");
- printf(" set variable value\n");
- printf(" get variable\n");
- printf(" decrypt password\n");
+ printf(" set <variable> [value]\n");
+ printf(" decrypt <password>\n");
printf(" remountrw\n");
- printf("\nSee more documentation at http://teamw.in/openrecoveryscript\n");
+ printf("\nSee more documentation at https://twrp.me/faq/openrecoveryscript.html\n");
}
int do_setcap(const char* filename, const char* capabilities)
diff --git a/otafault/Android.mk b/otafault/Android.mk
index ba7add855..e8241f4c4 100644
--- a/otafault/Android.mk
+++ b/otafault/Android.mk
@@ -14,6 +14,12 @@
LOCAL_PATH := $(call my-dir)
+ifdef project-path-for
+ RECOVERY_PATH := $(call project-path-for,recovery)
+else
+ RECOVERY_PATH := bootable/recovery
+endif
+
include $(CLEAR_VARS)
otafault_static_libs := \
@@ -26,7 +32,7 @@ LOCAL_SRC_FILES := config.cpp ota_io.cpp
LOCAL_MODULE_TAGS := eng
LOCAL_MODULE := libotafault
LOCAL_CLANG := true
-LOCAL_C_INCLUDES := bootable/recovery
+LOCAL_C_INCLUDES := $(RECOVERY_PATH)
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
LOCAL_WHOLE_STATIC_LIBRARIES := $(otafault_static_libs)
@@ -38,7 +44,7 @@ LOCAL_SRC_FILES := config.cpp ota_io.cpp test.cpp
LOCAL_MODULE_TAGS := tests
LOCAL_MODULE := otafault_test
LOCAL_STATIC_LIBRARIES := $(otafault_static_libs)
-LOCAL_C_INCLUDES := bootable/recovery
+LOCAL_C_INCLUDES := $(RECOVERY_PATH)
LOCAL_FORCE_STATIC_EXECUTABLE := true
include $(BUILD_EXECUTABLE)
diff --git a/partition.cpp b/partition.cpp
index ac0c19950..543e8674b 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -1,5 +1,5 @@
/*
- Copyright 2013 to 2016 TeamWin
+ Copyright 2013 to 2017 TeamWin
This file is part of TWRP/TeamWin Recovery Project.
TWRP is free software: you can redistribute it and/or modify
@@ -41,7 +41,6 @@
#include "partitions.hpp"
#include "data.hpp"
#include "twrp-functions.hpp"
-#include "twrpDigest.hpp"
#include "twrpTar.hpp"
#include "exclude.hpp"
#include "infomanager.hpp"
@@ -1657,50 +1656,6 @@ bool TWPartition::Backup(PartitionSettings *part_settings, pid_t *tar_fork_pid)
return false;
}
-bool TWPartition::Check_Restore_File_MD5(const string& Filename) {
- twrpDigest md5sum;
-
- md5sum.setfn(Filename);
- switch (md5sum.verify_md5digest()) {
- case MD5_OK:
- gui_msg(Msg("md5_matched=MD5 matched for '{1}'.")(Filename));
- return true;
- case MD5_FILE_UNREADABLE:
- case MD5_NOT_FOUND:
- gui_msg(Msg(msg::kError, "no_md5_found=No md5 file found for '{1}'. Please unselect Enable MD5 verification to restore.")(Filename));
- break;
- case MD5_MATCH_FAIL:
- gui_msg(Msg(msg::kError, "md5_fail_match=MD5 failed to match on '{1}'.")(Filename));
- break;
- }
- return false;
-}
-
-bool TWPartition::Check_MD5(PartitionSettings *part_settings) {
- string Full_Filename;
- char split_filename[512];
- int index = 0;
-
- sync();
-
- Full_Filename = part_settings->Backup_Folder + "/" + Backup_FileName;
- if (!TWFunc::Path_Exists(Full_Filename)) {
- // This is a split archive, we presume
- memset(split_filename, 0, sizeof(split_filename));
- while (index < 1000) {
- sprintf(split_filename, "%s%03i", Full_Filename.c_str(), index);
- if (!TWFunc::Path_Exists(split_filename))
- break;
- LOGINFO("split_filename: %s\n", split_filename);
- if (!Check_Restore_File_MD5(split_filename))
- return false;
- index++;
- }
- return true;
- }
- return Check_Restore_File_MD5(Full_Filename); // Single file archive
-}
-
bool TWPartition::Restore(PartitionSettings *part_settings) {
TWFunc::GUI_Operation_Text(TW_RESTORE_TEXT, Display_Name, gui_parse_text("{@restoring_hdr}"));
LOGINFO("Restore filename is: %s/%s\n", part_settings->Backup_Folder.c_str(), Backup_FileName.c_str());
@@ -2169,7 +2124,7 @@ bool TWPartition::Wipe_Data_Without_Wiping_Media_Func(const string& parent __unu
}
rmdir(dir.c_str());
} else if (de->d_type == DT_REG || de->d_type == DT_LNK || de->d_type == DT_FIFO || de->d_type == DT_SOCK) {
- if (!unlink(dir.c_str()))
+ if (unlink(dir.c_str()) != 0)
LOGINFO("Unable to unlink '%s': %s\n", dir.c_str(), strerror(errno));
}
}
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index 0b9918d53..f70159c6d 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -39,12 +39,12 @@
#include "data.hpp"
#include "twrp-functions.hpp"
#include "fixContexts.hpp"
-#include "twrpDigest.hpp"
#include "exclude.hpp"
#include "set_metadata.h"
#include "tw_atomic.hpp"
#include "gui/gui.hpp"
#include "progresstracking.hpp"
+#include "twrpDigestDriver.hpp"
#include "adbbu/libtwadbbu.hpp"
#ifdef TW_HAS_MTP
@@ -515,62 +515,6 @@ int TWPartitionManager::Check_Backup_Name(bool Display_Error) {
return 0;
}
-bool TWPartitionManager::Make_MD5(PartitionSettings *part_settings)
-{
- string command, result;
-
- if (part_settings->Part == NULL)
- return false;
- string Full_File = part_settings->Backup_Folder + "/" + part_settings->Part->Backup_FileName;
- twrpDigest md5sum;
-
- if (!part_settings->generate_md5)
- return true;
-
- TWFunc::GUI_Operation_Text(TW_GENERATE_MD5_TEXT, gui_parse_text("{@generating_md51}"));
- gui_msg("generating_md52= * Generating md5...");
- if (TWFunc::Path_Exists(Full_File)) {
- md5sum.setfn(Full_File);
- if (md5sum.computeMD5() == 0)
- if (md5sum.write_md5digest() == 0)
- gui_msg("md5_created= * MD5 Created.");
- else
- return -1;
- else
- gui_err("md5_error= * MD5 Error!");
- } else {
- char filename[512];
- int index = 0;
- string strfn;
- sprintf(filename, "%s%03i", Full_File.c_str(), index);
- strfn = filename;
- while (index < 1000) {
- md5sum.setfn(filename);
- if (TWFunc::Path_Exists(filename)) {
- if (md5sum.computeMD5() == 0) {
- if (md5sum.write_md5digest() != 0)
- {
- gui_err("md5_error= * MD5 Error!");
- return false;
- }
- } else {
- gui_err("md5_compute_error= * Error computing MD5.");
- return false;
- }
- }
- index++;
- sprintf(filename, "%s%03i", Full_File.c_str(), index);
- strfn = filename;
- }
- if (index == 0) {
- LOGERR("Backup file: '%s' not found!\n", filename);
- return false;
- }
- gui_msg("md5_created= * MD5 Created.");
- }
- return true;
-}
-
bool TWPartitionManager::Backup_Partition(PartitionSettings *part_settings) {
time_t start, stop;
int use_compression;
@@ -585,11 +529,13 @@ bool TWPartitionManager::Backup_Partition(PartitionSettings *part_settings) {
time(&start);
if (part_settings->Part->Backup(part_settings, &tar_fork_pid)) {
- bool md5Success = false;
- if (part_settings->adbbackup)
- md5Success = true;
- else
- md5Success = Make_MD5(part_settings);
+ sync();
+ sync();
+ string Full_Filename = part_settings->Backup_Folder + "/" + part_settings->Part->Backup_FileName;
+ if (!part_settings->adbbackup && part_settings->generate_digest) {
+ if (!twrpDigestDriver::Make_Digest(Full_Filename))
+ goto backup_error;
+ }
if (part_settings->Part->Has_SubPartition) {
std::vector<TWPartition*>::iterator subpart;
@@ -599,23 +545,19 @@ bool TWPartitionManager::Backup_Partition(PartitionSettings *part_settings) {
if ((*subpart)->Can_Be_Backed_Up && (*subpart)->Is_SubPartition && (*subpart)->SubPartition_Of == parentPart->Mount_Point) {
part_settings->Part = *subpart;
if (!(*subpart)->Backup(part_settings, &tar_fork_pid)) {
- Clean_Backup_Folder(part_settings->Backup_Folder);
- TWFunc::copy_file("/tmp/recovery.log", backup_log, 0644);
- tw_set_default_metadata(backup_log.c_str());
- TWFunc::SetPerformanceMode(false);
- return false;
+ goto backup_error;
}
sync();
sync();
- if (!part_settings->adbbackup) {
- if (!Make_MD5(part_settings)) {
- TWFunc::SetPerformanceMode(false);
- return false;
+ if (!part_settings->adbbackup && part_settings->generate_digest) {
+ if (!twrpDigestDriver::Make_Digest(Full_Filename)) {
+ goto backup_error;
}
}
}
}
}
+
time(&stop);
int backup_time = (int) difftime(stop, start);
LOGINFO("Partition Backup time: %d\n", backup_time);
@@ -628,21 +570,27 @@ bool TWPartitionManager::Backup_Partition(PartitionSettings *part_settings) {
}
TWFunc::SetPerformanceMode(false);
- return md5Success;
- } else {
- Clean_Backup_Folder(part_settings->Backup_Folder);
- TWFunc::copy_file("/tmp/recovery.log", backup_log, 0644);
- tw_set_default_metadata(backup_log.c_str());
- TWFunc::SetPerformanceMode(false);
- return false;
+ return true;
}
- return 0;
+backup_error:
+ Clean_Backup_Folder(part_settings->Backup_Folder);
+ TWFunc::copy_file("/tmp/recovery.log", backup_log, 0644);
+ tw_set_default_metadata(backup_log.c_str());
+ TWFunc::SetPerformanceMode(false);
+ return false;
}
void TWPartitionManager::Clean_Backup_Folder(string Backup_Folder) {
DIR *d = opendir(Backup_Folder.c_str());
struct dirent *p;
int r;
+ vector<string> ext;
+
+ //extensions we should delete when cleaning
+ ext.push_back("win");
+ ext.push_back("md5");
+ ext.push_back("sha2");
+ ext.push_back("info");
gui_msg("backup_clean=Backup Failed. Cleaning Backup Folder.");
@@ -658,10 +606,11 @@ void TWPartitionManager::Clean_Backup_Folder(string Backup_Folder) {
string path = Backup_Folder + "/" + p->d_name;
size_t dot = path.find_last_of(".") + 1;
- if (path.substr(dot) == "win" || path.substr(dot) == "md5" || path.substr(dot) == "info") {
- r = unlink(path.c_str());
- if (r != 0) {
- LOGINFO("Unable to unlink '%s: %s'\n", path.c_str(), strerror(errno));
+ for (vector<string>::const_iterator i = ext.begin(); i != ext.end(); ++i) {
+ if (path.substr(dot) == *i) {
+ r = unlink(path.c_str());
+ if (r != 0)
+ LOGINFO("Unable to unlink '%s: %s'\n", path.c_str(), strerror(errno));
}
}
}
@@ -697,7 +646,7 @@ int TWPartitionManager::Cancel_Backup() {
int TWPartitionManager::Run_Backup(bool adbbackup) {
PartitionSettings part_settings;
- int partition_count = 0, disable_free_space_check = 0, do_md5 = 0;
+ int partition_count = 0, disable_free_space_check = 0, skip_digest = 0;
int gui_adb_backup;
string Backup_Name, Backup_List, backup_path;
unsigned long long total_bytes = 0, free_space = 0;
@@ -730,11 +679,11 @@ int TWPartitionManager::Run_Backup(bool adbbackup) {
if (!Mount_Current_Storage(true))
return false;
- DataManager::GetValue(TW_SKIP_MD5_GENERATE_VAR, do_md5);
- if (do_md5 == 0)
- part_settings.generate_md5 = true;
+ DataManager::GetValue(TW_SKIP_DIGEST_GENERATE_VAR, skip_digest);
+ if (skip_digest == 0)
+ part_settings.generate_digest = true;
else
- part_settings.generate_md5 = false;
+ part_settings.generate_digest = false;
DataManager::GetValue(TW_BACKUPS_FOLDER_VAR, part_settings.Backup_Folder);
DataManager::GetValue(TW_BACKUP_NAME, Backup_Name);
@@ -951,7 +900,7 @@ bool TWPartitionManager::Restore_Partition(PartitionSettings *part_settings) {
int TWPartitionManager::Run_Restore(const string& Restore_Name) {
PartitionSettings part_settings;
- int check_md5;
+ int check_digest;
time_t rStart, rStop;
time(&rStart);
@@ -971,13 +920,13 @@ int TWPartitionManager::Run_Restore(const string& Restore_Name) {
if (!Mount_Current_Storage(true))
return false;
- DataManager::GetValue(TW_SKIP_MD5_CHECK_VAR, check_md5);
- if (check_md5 > 0) {
- // Check MD5 files first before restoring to ensure that all of them match before starting a restore
- TWFunc::GUI_Operation_Text(TW_VERIFY_MD5_TEXT, gui_parse_text("{@verifying_md5}"));
- gui_msg("verifying_md5=Verifying MD5");
+ DataManager::GetValue(TW_SKIP_DIGEST_CHECK_VAR, check_digest);
+ if (check_digest > 0) {
+ // Check Digest files first before restoring to ensure that all of them match before starting a restore
+ TWFunc::GUI_Operation_Text(TW_VERIFY_DIGEST_TEXT, gui_parse_text("{@verifying_digest}"));
+ gui_msg("verifying_digest=Verifying Digest");
} else {
- gui_msg("skip_md5=Skipping MD5 check based on user setting.");
+ gui_msg("skip_digest=Skipping Digest check based on user setting.");
}
gui_msg("calc_restore=Calculating restore details...");
DataManager::GetValue("tw_restore_selected", Restore_List);
@@ -993,7 +942,9 @@ int TWPartitionManager::Run_Restore(const string& Restore_Name) {
return false;
}
- if (check_md5 > 0 && !part_settings.Part->Check_MD5(&part_settings))
+ string Full_Filename = part_settings.Backup_Folder + "/" + part_settings.Part->Backup_FileName;
+
+ if (check_digest > 0 && !twrpDigestDriver::Check_Digest(Full_Filename))
return false;
part_settings.partition_count++;
part_settings.total_restore_size += part_settings.Part->Get_Restore_Size(&part_settings);
@@ -1004,7 +955,7 @@ int TWPartitionManager::Run_Restore(const string& Restore_Name) {
for (subpart = Partitions.begin(); subpart != Partitions.end(); subpart++) {
part_settings.Part = *subpart;
if ((*subpart)->Is_SubPartition && (*subpart)->SubPartition_Of == parentPart->Mount_Point) {
- if (check_md5 > 0 && !(*subpart)->Check_MD5(&part_settings))
+ if (check_digest > 0 && !twrpDigestDriver::Check_Digest(Full_Filename))
return false;
part_settings.total_restore_size += (*subpart)->Get_Restore_Size(&part_settings);
}
@@ -1510,9 +1461,9 @@ void TWPartitionManager::Post_Decrypt(const string& Block_Device) {
DataManager::SetValue("tw_storage_path", "/data/media/0");
DataManager::SetValue("tw_settings_path", "/data/media/0");
dat->UnMount(false);
- Output_Partition(dat);
}
Update_System_Details();
+ Output_Partition(dat);
UnMount_Main_Partitions();
} else
LOGERR("Unable to locate data partition.\n");
@@ -2509,7 +2460,7 @@ void TWPartitionManager::Decrypt_Adopted() {
if (strcasecmp(GUID.c_str(), guid->value()) == 0) {
xml_attribute<>* attr = volume->first_attribute("nickname");
- if (attr) {
+ if (attr && attr->value() && strlen(attr->value()) > 0) {
(*adopt)->Storage_Name = attr->value();
(*adopt)->Display_Name = (*adopt)->Storage_Name;
(*adopt)->Backup_Display_Name = (*adopt)->Storage_Name;
@@ -2528,7 +2479,6 @@ void TWPartitionManager::Decrypt_Adopted() {
Dat->Mount(false);
(*adopt)->UnMount(false);
(*adopt)->Mount(false);
- Output_Partition((*adopt));
}
}
break;
@@ -2537,6 +2487,8 @@ void TWPartitionManager::Decrypt_Adopted() {
volume = volume->next_sibling("volume");
}
}
+ Update_System_Details();
+ Output_Partition((*adopt));
}
}
}
diff --git a/partitions.hpp b/partitions.hpp
index 0865c9636..61bf7e291 100644
--- a/partitions.hpp
+++ b/partitions.hpp
@@ -47,6 +47,7 @@ struct PartitionSettings {
std::string Backup_Folder; // Path to restore folder
bool adbbackup; // tell the system we are backing up over adb
bool adb_compression; // 0 == uncompressed, 1 == compressed
+ bool generate_digest; // tell system to create digest for partitions
bool generate_md5; // tell system to create md5 for partitions
uint64_t total_restore_size; // Total size of restored backup
uint64_t img_bytes_remaining; // remaining img/emmc bytes to backup for progress indicator
@@ -90,7 +91,6 @@ public:
bool Can_Resize(); // Checks to see if we have everything needed to be able to resize the current file system
bool Resize(); // Resizes the current file system
bool Backup(PartitionSettings *part_settings, pid_t *tar_fork_pid); // Backs up the partition to the folder specified
- bool Check_MD5(PartitionSettings *part_settings); // Checks MD5 of a backup
bool Restore(PartitionSettings *part_settings); // Restores the partition using the backup folder provided
unsigned long long Get_Restore_Size(PartitionSettings *part_settings); // Returns the overall restore size of the backup
string Backup_Method_By_Name(); // Returns a string of the backup method for human readable output
@@ -302,7 +302,6 @@ public:
private:
void Setup_Settings_Storage_Partition(TWPartition* Part); // Sets up settings storage
void Setup_Android_Secure_Location(TWPartition* Part); // Sets up .android_secure if needed
- bool Make_MD5(struct PartitionSettings *part_settings); // Generates an MD5 after a backup is made
bool Backup_Partition(struct PartitionSettings *part_settings); // Backup the partitions based on type
void Output_Partition(TWPartition* Part); // Outputs partition details to the log
TWPartition* Find_Partition_By_MTP_Storage_ID(unsigned int Storage_ID); // Returns a pointer to a partition based on MTP Storage ID
diff --git a/prebuilt/Android.mk b/prebuilt/Android.mk
index 2a963f112..f88f48fb1 100644
--- a/prebuilt/Android.mk
+++ b/prebuilt/Android.mk
@@ -80,6 +80,7 @@ RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libminzip.so
RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libmtdutils.so
RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libtar.so
RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libtwadbbu.so
+RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libtwrpdigest.so
RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libutil-linux.so
RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libblkid.so
RELINK_SOURCE_FILES += $(TARGET_OUT_SHARED_LIBRARIES)/libmmcutils.so
diff --git a/tests/Android.mk b/tests/Android.mk
index a66991b21..4fc92fa95 100644
--- a/tests/Android.mk
+++ b/tests/Android.mk
@@ -16,6 +16,12 @@
LOCAL_PATH := $(call my-dir)
+ifdef project-path-for
+ RECOVERY_PATH := $(call project-path-for,recovery)
+else
+ RECOVERY_PATH := bootable/recovery
+endif
+
# Unit tests
include $(CLEAR_VARS)
LOCAL_CLANG := true
@@ -28,7 +34,7 @@ LOCAL_STATIC_LIBRARIES := \
LOCAL_SRC_FILES := unit/asn1_decoder_test.cpp
LOCAL_SRC_FILES += unit/recovery_test.cpp
LOCAL_SRC_FILES += unit/locale_test.cpp
-LOCAL_C_INCLUDES := bootable/recovery
+LOCAL_C_INCLUDES := $(RECOVERY_PATH)
LOCAL_SHARED_LIBRARIES := liblog
include $(BUILD_NATIVE_TEST)
@@ -38,7 +44,7 @@ LOCAL_CLANG := true
LOCAL_CFLAGS += -Wno-unused-parameter
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_MODULE := recovery_component_test
-LOCAL_C_INCLUDES := bootable/recovery
+LOCAL_C_INCLUDES := $(RECOVERY_PATH)
LOCAL_SRC_FILES := \
component/verifier_test.cpp \
component/applypatch_test.cpp
diff --git a/twinstall.cpp b/twinstall.cpp
index 75d9a489e..752957638 100644
--- a/twinstall.cpp
+++ b/twinstall.cpp
@@ -40,7 +40,9 @@
#include "variables.h"
#include "data.hpp"
#include "partitions.hpp"
-#include "twrpDigest.hpp"
+#include "twrpDigestDriver.hpp"
+#include "twrpDigest/twrpDigest.hpp"
+#include "twrpDigest/twrpMD5.hpp"
#include "twrp-functions.hpp"
#include "gui/gui.hpp"
#include "gui/pages.hpp"
@@ -317,22 +319,36 @@ extern "C" int TWinstall_zip(const char* path, int* wipe_cache) {
gui_msg(Msg("installing_zip=Installing zip file '{1}'")(path));
if (strlen(path) < 9 || strncmp(path, "/sideload", 9) != 0) {
- gui_msg("check_for_md5=Checking for MD5 file...");
- twrpDigest md5sum;
- md5sum.setfn(path);
- switch (md5sum.verify_md5digest()) {
- case MD5_OK:
- gui_msg(Msg("md5_matched=MD5 matched for '{1}'.")(path));
- break;
- case MD5_NOT_FOUND:
- gui_msg("no_md5=Skipping MD5 check: no MD5 file found");
- break;
- case MD5_FILE_UNREADABLE:
- LOGERR("Skipping MD5 check: MD5 file unreadable\n");
- break;
- case MD5_MATCH_FAIL: // md5 did not match
- LOGERR("Aborting zip install: MD5 verification failed\n");
- return INSTALL_CORRUPT;
+ string digest_str;
+ string Full_Filename = path;
+ string digest_file = path;
+ digest_file += ".md5";
+
+ gui_msg("check_for_digest=Checking for Digest file...");
+ if (!TWFunc::Path_Exists(digest_file)) {
+ gui_msg("no_digest=Skipping Digest check: no Digest file found");
+ }
+ else {
+ if (TWFunc::read_file(digest_file, digest_str) != 0) {
+ LOGERR("Skipping MD5 check: MD5 file unreadable\n");
+ }
+ else {
+ twrpDigest *digest = new twrpMD5();
+ if (!twrpDigestDriver::stream_file_to_digest(Full_Filename, digest)) {
+ delete digest;
+ return INSTALL_CORRUPT;
+ }
+ string digest_check = digest->return_digest_string();
+ if (digest_str == digest_check) {
+ gui_msg(Msg("digest_matched=Digest matched for '{1}'.")(path));
+ }
+ else {
+ LOGERR("Aborting zip install: Digest verification failed\n");
+ delete digest;
+ return INSTALL_CORRUPT;
+ }
+ delete digest;
+ }
}
}
diff --git a/twrp-functions.cpp b/twrp-functions.cpp
index c9643570f..257643d4d 100644
--- a/twrp-functions.cpp
+++ b/twrp-functions.cpp
@@ -178,7 +178,6 @@ int TWFunc::Wait_For_Child_Timeout(pid_t pid, int *status, const string& Child_N
}
bool TWFunc::Path_Exists(string Path) {
- // Check to see if the Path exists
struct stat st;
if (stat(Path.c_str(), &st) != 0)
return false;
diff --git a/twrp-functions.hpp b/twrp-functions.hpp
index 82a4c1b08..1f6b9b177 100644
--- a/twrp-functions.hpp
+++ b/twrp-functions.hpp
@@ -22,6 +22,8 @@
#include <string>
#include <vector>
+#include "twrpDigest/twrpDigest.hpp"
+
using namespace std;
typedef enum
diff --git a/twrpDigest.cpp b/twrpDigest.cpp
deleted file mode 100644
index a9ba20a38..000000000
--- a/twrpDigest.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- Copyright 2012 to 2016 bigbiff/Dees_Troy TeamWin
- This file is part of TWRP/TeamWin Recovery Project.
-
- TWRP is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- TWRP is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with TWRP. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-extern "C"
-{
- #include "digest/md5.h"
- #include "libcrecovery/common.h"
-}
-
-#include <vector>
-#include <string>
-#include <sstream>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <string.h>
-#include <libgen.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <fstream>
-#include <sys/mman.h>
-#include "twcommon.h"
-#include "data.hpp"
-#include "variables.h"
-#include "twrp-functions.hpp"
-#include "twrpDigest.hpp"
-#include "set_metadata.h"
-#include "gui/gui.hpp"
-
-using namespace std;
-
-void twrpDigest::setfn(const string& fn) {
- md5fn = fn;
-}
-
-void twrpDigest::initMD5(void) {
- MD5Init(&md5c);
- md5string = "";
-}
-
-int twrpDigest::updateMD5stream(unsigned char* stream, int len) {
- if (md5fn.empty()) {
- MD5Update(&md5c, stream, len);
- }
- else {
- return -1;
- }
- return 0;
-}
-
-void twrpDigest::finalizeMD5stream() {
- MD5Final(md5sum, &md5c);
-}
-
-string twrpDigest::createMD5string() {
- int i;
- char hex[3];
-
- for (i = 0; i < 16; ++i) {
- snprintf(hex, 3, "%02x", md5sum[i]);
- md5string += hex;
- }
- if (!md5fn.empty()) {
- md5string += " ";
- md5string += basename((char*) md5fn.c_str());
- md5string += + "\n";
- }
- return md5string;
-}
-
-int twrpDigest::computeMD5(void) {
- string line;
- FILE *file;
- int len;
- unsigned char buf[1024];
- initMD5();
- file = fopen(md5fn.c_str(), "rb");
- if (file == NULL)
- return MD5_NOT_FOUND;
- while ((len = fread(buf, 1, sizeof(buf), file)) > 0) {
- MD5Update(&md5c, buf, len);
- }
- fclose(file);
- MD5Final(md5sum, &md5c);
- return 0;
-}
-
-int twrpDigest::write_md5digest(void) {
- string md5file, md5str;
- md5file = md5fn + ".md5";
-
- md5str = createMD5string();
- TWFunc::write_file(md5file, md5str);
- tw_set_default_metadata(md5file.c_str());
- LOGINFO("MD5 for %s: %s\n", md5fn.c_str(), md5str.c_str());
- return 0;
-}
-
-int twrpDigest::read_md5digest(void) {
- size_t i = 0;
- bool foundMd5File = false;
- string md5file = "";
- vector<string> md5ext;
- md5ext.push_back(".md5");
- md5ext.push_back(".md5sum");
-
- while (i < md5ext.size()) {
- md5file = md5fn + md5ext[i];
- if (TWFunc::Path_Exists(md5file)) {
- foundMd5File = true;
- break;
- }
- i++;
- }
-
- if (!foundMd5File)
- return MD5_NOT_FOUND;
- if (TWFunc::read_file(md5file, line) != 0)
- return MD5_FILE_UNREADABLE;
-
- return 0;
-}
-
-int twrpDigest::verify_md5digest(void) {
- string buf;
- char hex[3];
- int i, ret;
- string md5str;
-
- ret = read_md5digest();
- if (ret != 0)
- return ret;
- stringstream ss(line);
- vector<string> tokens;
- while (ss >> buf)
- tokens.push_back(buf);
- computeMD5();
- for (i = 0; i < 16; ++i) {
- snprintf(hex, 3, "%02x", md5sum[i]);
- md5str += hex;
- }
- if (tokens.empty() || tokens.at(0) != md5str)
- return MD5_MATCH_FAIL;
-
- return MD5_OK;
-}
diff --git a/twrpDigest.hpp b/twrpDigest.hpp
deleted file mode 100644
index ec4a65f75..000000000
--- a/twrpDigest.hpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- Copyright 2012 to 2016 bigbiff/Dees_Troy TeamWin
- This file is part of TWRP/TeamWin Recovery Project.
-
- TWRP is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- TWRP is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with TWRP. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-extern "C" {
- #include "digest/md5.h"
-}
-
-/* verify_md5digest return codes */
-enum {
- MD5_MATCH_FAIL = -2, // -2: md5 did not match
- MD5_NOT_FOUND, // -1: no md5 file found
- MD5_OK, // 0: md5 matches
- MD5_FILE_UNREADABLE // 1: md5 file unreadable
-};
-
-using namespace std;
-
-class twrpDigest
-{
-public:
- void setfn(const string& fn);
- int computeMD5(void);
- int verify_md5digest(void);
- int write_md5digest(void);
- int updateMD5stream(unsigned char* stream, int len);
- void finalizeMD5stream(void);
- string createMD5string(void);
- void initMD5(void);
-
-private:
- int read_md5digest(void);
- struct MD5Context md5c;
- string md5fn;
- string line;
- unsigned char md5sum[MD5LENGTH];
- string md5string;
-};
diff --git a/twrpDigest/Android.mk b/twrpDigest/Android.mk
new file mode 100644
index 000000000..5e69822d7
--- /dev/null
+++ b/twrpDigest/Android.mk
@@ -0,0 +1,29 @@
+LOCAL_PATH:= $(call my-dir)
+include $(CLEAR_VARS)
+
+LOCAL_MODULE := libtwrpdigest
+LOCAL_MODULE_TAGS := optional
+LOCAL_CFLAGS = -fno-strict-aliasing
+LOCAL_C_INCLUDES := external/openssl/include bionic
+
+LOCAL_SRC_FILES = \
+ twrpDigest.cpp \
+ twrpMD5.cpp \
+ digest/md5/md5.c
+
+ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0)
+ LOCAL_C_INCLUDES += external/stlport/stlport
+endif
+
+LOCAL_SHARED_LIBRARIES += libc libstdc++
+
+ifeq ($(shell test $(PLATFORM_SDK_VERSION) -lt 23; echo $$?),0)
+ LOCAL_SHARED_LIBRARIES += libstlport
+else
+ LOCAL_SHARED_LIBRARIES += libc++ libcrypto
+ LOCAL_SRC_FILES += \
+ twrpSHA.cpp
+endif
+
+
+include $(BUILD_SHARED_LIBRARY)
diff --git a/digest/md5.c b/twrpDigest/digest/md5/md5.c
index 488d16ef6..488d16ef6 100644
--- a/digest/md5.c
+++ b/twrpDigest/digest/md5/md5.c
diff --git a/digest/md5.h b/twrpDigest/digest/md5/md5.h
index cf306881f..cf306881f 100644
--- a/digest/md5.h
+++ b/twrpDigest/digest/md5/md5.h
diff --git a/twrpDigest/twrpDigest.cpp b/twrpDigest/twrpDigest.cpp
new file mode 100644
index 000000000..69c97017e
--- /dev/null
+++ b/twrpDigest/twrpDigest.cpp
@@ -0,0 +1,33 @@
+/*
+ Copyright 2012 to 2017 TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <vector>
+#include <string>
+#include <fcntl.h>
+#include "twrpDigest.hpp"
+
+std::string twrpDigest::hexify(uint8_t* hash, size_t len) {
+ char hex[3];
+ std::string digest_string;
+
+ for (size_t i = 0; i < len; ++i) {
+ snprintf(hex, 3, "%02x", hash[i]);
+ digest_string += hex;
+ }
+ return digest_string;
+}
diff --git a/twrpDigest/twrpDigest.hpp b/twrpDigest/twrpDigest.hpp
new file mode 100644
index 000000000..1803a280d
--- /dev/null
+++ b/twrpDigest/twrpDigest.hpp
@@ -0,0 +1,35 @@
+/*
+ Copyright 2012 to 2017 TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef __TWRPDIGEST_H
+#define __TWRPDIGEST_H
+
+class twrpDigest {
+public:
+ twrpDigest() {};
+ virtual ~twrpDigest() {};
+ virtual void init() = 0; // Initialize the digest according to the algorithm
+ virtual void update(const unsigned char* stream, size_t len) = 0; // Update the digest with new data
+ virtual std::string return_digest_string() = 0; // Returns the digest of the file as a string.
+
+protected:
+ virtual void finalize() = 0; // Finalize the digest input for creating the final digest
+ std::string hexify(uint8_t* hash, size_t len); // Take an len bytes and turn it into a hex string
+};
+
+#endif //__TWRPDIGEST_H
diff --git a/twrpDigest/twrpMD5.cpp b/twrpDigest/twrpMD5.cpp
new file mode 100644
index 000000000..50ccf74b4
--- /dev/null
+++ b/twrpDigest/twrpMD5.cpp
@@ -0,0 +1,47 @@
+/*
+ Copyright 2012 to 2017 TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <vector>
+#include <string>
+//#include <sstream>
+#include "twrpDigest.hpp"
+#include "twrpMD5.hpp"
+
+twrpMD5::twrpMD5() {
+ init();
+}
+
+void twrpMD5::init() {
+ MD5Init(&md5c);
+}
+
+void twrpMD5::update(const unsigned char* stream, size_t len) {
+ MD5Update(&md5c, stream, len);
+}
+
+void twrpMD5::finalize() {
+ MD5Final(md5sum, &md5c);
+}
+
+std::string twrpMD5::return_digest_string() {
+ std::string md5string;
+ finalize();
+
+ md5string = hexify(md5sum, sizeof(md5sum));
+ return md5string;
+}
diff --git a/twrpDigest/twrpMD5.hpp b/twrpDigest/twrpMD5.hpp
new file mode 100644
index 000000000..40cac189f
--- /dev/null
+++ b/twrpDigest/twrpMD5.hpp
@@ -0,0 +1,42 @@
+/*
+ Copyright 2012 to 2017 TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef __TWRPMD5_H
+#define __TWRPMD5_H
+
+#include <string>
+#include "twrpDigest.hpp"
+
+extern "C" {
+ #include "digest/md5/md5.h"
+}
+
+class twrpMD5: public twrpDigest {
+public:
+ twrpMD5(); // Stream initializer
+ void init(); // Initialize MD5 structures
+ void update(const unsigned char* stream, size_t len); // Update MD5 stream with data. Return false if failure to update MD5.
+ std::string return_digest_string(); // Return MD5 digest as string to callee
+ void finalize(); // Finalize and compute MD5
+
+private:
+ struct MD5Context md5c; // MD5 control structure
+ unsigned char md5sum[MD5LENGTH]; // Stores the md5sum computation
+};
+
+#endif //__TWRPMD5_H
diff --git a/twrpDigest/twrpSHA.cpp b/twrpDigest/twrpSHA.cpp
new file mode 100644
index 000000000..60262e755
--- /dev/null
+++ b/twrpDigest/twrpSHA.cpp
@@ -0,0 +1,69 @@
+/*
+ Copyright 2012 to 2017 TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include <vector>
+#include <string>
+#include <sstream>
+#include <string>
+#include <openssl/sha.h>
+#include "twrpDigest.hpp"
+#include "twrpSHA.hpp"
+
+twrpSHA256::twrpSHA256() {
+ twrpSHA256::init();
+}
+
+void twrpSHA256::init(void) {
+ SHA256_Init(&sha256_ctx);
+}
+
+void twrpSHA256::update(const unsigned char* stream, size_t len) {
+ SHA256_Update(&sha256_ctx, stream, len);
+}
+
+void twrpSHA256::finalize(void) {
+ SHA256_Final(sha256_store, &sha256_ctx);
+}
+
+std::string twrpSHA256::return_digest_string(void) {
+ twrpSHA256::finalize();
+ std::string digest_str = twrpDigest::hexify(sha256_store, SHA256_DIGEST_LENGTH);
+ return digest_str;
+}
+
+twrpSHA512::twrpSHA512() {
+ twrpSHA512::init();
+}
+
+void twrpSHA512::init(void) {
+ SHA512_Init(&sha512_ctx);
+}
+
+void twrpSHA512::update(const unsigned char* stream, size_t len) {
+ SHA512_Update(&sha512_ctx, stream, len);
+}
+
+void twrpSHA512::finalize(void) {
+ SHA512_Final(sha512_store, &sha512_ctx);
+}
+
+std::string twrpSHA512::return_digest_string(void) {
+ twrpSHA512::finalize();
+ std::string digest_str = twrpDigest::hexify(sha512_store, SHA512_DIGEST_LENGTH);
+ return digest_str;
+}
diff --git a/twrpDigest/twrpSHA.hpp b/twrpDigest/twrpSHA.hpp
new file mode 100644
index 000000000..e3899300b
--- /dev/null
+++ b/twrpDigest/twrpSHA.hpp
@@ -0,0 +1,54 @@
+/*
+ Copyright 2012 to 2017 TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
+#ifndef __TWRPSHA_H
+#define __TWRPSHA_H
+
+#include <openssl/sha.h>
+#include "twrpDigest.hpp"
+
+class twrpSHA256: public twrpDigest {
+public:
+ twrpSHA256(); // Initialize the SHA256 digest for streaming activities only
+ void init(); // Initialize the SHA256 digest algorithm
+
+protected:
+ void update(const unsigned char* stream, size_t len); // Update the SHA256 digest stream
+ void finalize(); // Finalize the SHA256 digest for computation
+ std::string return_digest_string(); // Return the digest string computed to the callee
+
+private:
+ uint8_t sha256_store[SHA256_DIGEST_LENGTH]; // Initialize the SHA256 digest array that holds the computation
+ SHA256_CTX sha256_ctx; // Initialize the SHA256 control structure
+};
+
+class twrpSHA512: public twrpDigest {
+public:
+ twrpSHA512(); // Initialize the SHA512 digest for streaming activities only
+ void init(); // Initialize the SHA512 digest algorithm
+
+protected:
+ void update(const unsigned char* stream, size_t len); // Update the SHA512 digest stream
+ void finalize(); // Finalize the SHA512 digest for computation
+ std::string return_digest_string(); // Return the digest string computed to the callee
+
+private:
+ uint8_t sha512_store[SHA512_DIGEST_LENGTH]; // Initialize the SHA512 digest array that holds the computation
+ SHA512_CTX sha512_ctx; // Initialize the SHA512 control structure
+};
+
+#endif //__TWRPSHA_H
diff --git a/twrpDigestDriver.cpp b/twrpDigestDriver.cpp
new file mode 100644
index 000000000..71ec9840b
--- /dev/null
+++ b/twrpDigestDriver.cpp
@@ -0,0 +1,218 @@
+/*
+ Copyright 2013 to 2017 TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+
+#include <fcntl.h>
+#include <string>
+#include <unistd.h>
+#include "data.hpp"
+#include "partitions.hpp"
+#include "set_metadata.h"
+#include "twrpDigestDriver.hpp"
+#include "twrp-functions.hpp"
+#include "twcommon.h"
+#include "variables.h"
+#include "gui/gui.hpp"
+#include "twrpDigest/twrpDigest.hpp"
+#include "twrpDigest/twrpMD5.hpp"
+#include "twrpDigest/twrpSHA.hpp"
+
+
+bool twrpDigestDriver::Check_Restore_File_Digest(const string& Filename) {
+ twrpDigest *digest;
+ string digestfile = Filename, file_name = Filename;
+ string digest_str;
+ bool use_sha2 = false;
+
+#ifndef TW_NO_SHA2_LIBRARY
+
+ digestfile += ".sha2";
+ if (TWFunc::Path_Exists(digestfile)) {
+ digest = new twrpSHA256();
+ use_sha2 = true;
+ }
+ else {
+ digest = new twrpMD5();
+ digestfile = Filename + ".md5";
+
+ }
+#else
+ digest = new twrpMD5();
+ digestfile = Filename + ".md5";
+
+#endif
+
+ if (!TWFunc::Path_Exists(digestfile)) {
+ gui_msg(Msg(msg::kError, "no_digest_found=No digest file found for '{1}'. Please unselect Enable Digest verification to restore.")(Filename));
+ delete digest;
+ return false;
+ }
+
+
+ if (TWFunc::read_file(digestfile, digest_str) != 0) {
+ gui_msg("digest_error=Digest Error!");
+ delete digest;
+ return false;
+ }
+
+ if (!stream_file_to_digest(file_name, digest)) {
+ delete digest;
+ return false;
+ }
+ string digest_check = digest->return_digest_string();
+ if (digest_check == digest_str) {
+ if (use_sha2)
+ LOGINFO("SHA2 Digest: %s %s\n", digest_str.c_str(), TWFunc::Get_Filename(Filename).c_str());
+ else
+ LOGINFO("MD5 Digest: %s %s\n", digest_str.c_str(), TWFunc::Get_Filename(Filename).c_str());
+ delete digest;
+ return true;
+ }
+
+ gui_msg(Msg(msg::kError, "digest_fail_match=Digest failed to match on '{1}'.")(Filename));
+ delete digest;
+ return false;
+
+}
+
+bool twrpDigestDriver::Check_Digest(string Full_Filename) {
+ char split_filename[512];
+ int index = 0;
+
+ sync();
+ if (!TWFunc::Path_Exists(Full_Filename)) {
+ // This is a split archive, we presume
+ memset(split_filename, 0, sizeof(split_filename));
+ while (index < 1000) {
+ sprintf(split_filename, "%s%03i", Full_Filename.c_str(), index);
+ if (!TWFunc::Path_Exists(split_filename))
+ break;
+ LOGINFO("split_filename: %s\n", split_filename);
+ if (!Check_Restore_File_Digest(split_filename))
+ return false;
+ index++;
+ }
+ return true;
+ }
+ return Check_Restore_File_Digest(Full_Filename); // Single file archive
+}
+
+bool twrpDigestDriver::Write_Digest(string Full_Filename) {
+ twrpDigest *digest;
+ string digest_filename, digest_str;
+ int use_sha2;
+
+#ifdef TW_NO_SHA2_LIBRARY
+ use_sha2 = 0;
+#else
+ DataManager::GetValue(TW_USE_SHA2, use_sha2);
+#endif
+
+ if (use_sha2) {
+#ifndef TW_NO_SHA2_LIBRARY
+ digest = new twrpSHA256();
+ digest_filename = Full_Filename + ".sha2";
+ if (!stream_file_to_digest(Full_Filename, digest)) {
+ delete digest;
+ return false;
+ }
+ digest_str = digest->return_digest_string();
+ if (digest_str.empty()) {
+ delete digest;
+ return false;
+ }
+ LOGINFO("SHA2 Digest: %s %s\n", digest_str.c_str(), TWFunc::Get_Filename(Full_Filename).c_str());
+#endif
+ }
+ else {
+ digest = new twrpMD5();
+ digest_filename = Full_Filename + ".md5";
+ if (!stream_file_to_digest(Full_Filename, digest)) {
+ delete digest;
+ return false;
+ }
+ digest_str = digest->return_digest_string();
+ if (digest_str.empty()) {
+ delete digest;
+ return false;
+ }
+ LOGINFO("MD5 Digest: %s %s\n", digest_str.c_str(), TWFunc::Get_Filename(Full_Filename).c_str());
+ }
+
+ digest_str = digest_str + " " + TWFunc::Get_Filename(Full_Filename) + "\n";
+ LOGINFO("digest_filename: %s\n", digest_filename.c_str());
+
+ if (TWFunc::write_file(digest_filename, digest_str) == 0) {
+ tw_set_default_metadata(digest_filename.c_str());
+ gui_msg("digest_created= * Digest Created.");
+ }
+ else {
+ gui_err("digest_error= * Digest Error!");
+ delete digest;
+ return false;
+ }
+ delete digest;
+ return true;
+}
+
+bool twrpDigestDriver::Make_Digest(string Full_Filename) {
+ string command, result;
+
+ TWFunc::GUI_Operation_Text(TW_GENERATE_DIGEST_TEXT, gui_parse_text("{@generating_digest1}"));
+ gui_msg("generating_digest2= * Generating digest...");
+ if (TWFunc::Path_Exists(Full_Filename)) {
+ if (!Write_Digest(Full_Filename))
+ return false;
+ } else {
+ char filename[512];
+ int index = 0;
+ sprintf(filename, "%s%03i", Full_Filename.c_str(), index);
+ while (index < 1000) {
+ string digest_src(filename);
+ if (TWFunc::Path_Exists(filename)) {
+ if (!Write_Digest(filename))
+ return false;
+ }
+ else
+ break;
+ index++;
+ sprintf(filename, "%s%03i", Full_Filename.c_str(), index);
+ }
+ if (index == 0) {
+ LOGERR("Backup file: '%s' not found!\n", filename);
+ return false;
+ }
+ gui_msg("digest_created= * Digest Created.");
+ }
+ return true;
+}
+
+bool twrpDigestDriver::stream_file_to_digest(string filename, twrpDigest* digest) {
+ char buf[4096];
+ int bytes;
+
+ int fd = open(filename.c_str(), O_RDONLY);
+ if (fd < 0) {
+ return false;
+ }
+ while ((bytes = read(fd, &buf, sizeof(buf))) != 0) {
+ digest->update((unsigned char*)buf, bytes);
+ }
+ close(fd);
+ return true;
+}
diff --git a/twrpDigestDriver.hpp b/twrpDigestDriver.hpp
new file mode 100644
index 000000000..6902c8ec6
--- /dev/null
+++ b/twrpDigestDriver.hpp
@@ -0,0 +1,33 @@
+/*
+ Copyright 2013 to 2017 TeamWin
+ This file is part of TWRP/TeamWin Recovery Project.
+
+ TWRP is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ TWRP is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TWRP. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef __TWRP_DIGEST_DRIVER
+#define __TWRP_DIGEST_DRIVER
+#include <string>
+#include "twrpDigest/twrpDigest.hpp"
+
+class twrpDigestDriver {
+public:
+
+ static bool Check_Restore_File_Digest(const string& Filename); //Check the digest of a TWRP partition backup
+ static bool Check_Digest(string Full_Filename); //Check to make sure the digest is correct
+ static bool Write_Digest(string Full_Filename); //Write the digest to a file
+ static bool Make_Digest(string Full_Filename); //Create the digest for a partition backup
+ static bool stream_file_to_digest(string filename, twrpDigest* digest); //Stream the file to twrpDigest
+};
+#endif //__TWRP_DIGEST_DRIVER
diff --git a/twrpTar.cpp b/twrpTar.cpp
index d86e13382..aa00044d4 100644
--- a/twrpTar.cpp
+++ b/twrpTar.cpp
@@ -1102,6 +1102,7 @@ int twrpTar::createTar() {
}
} else {
// Not compressed or encrypted
+ current_archive_type = UNCOMPRESSED;
init_libtar_buffer(0, progress_pipe_fd);
if (part_settings->adbbackup) {
LOGINFO("Opening TW_ADB_BACKUP uncompressed stream\n");
diff --git a/variables.h b/variables.h
index f5bb3c4bf..bcf228c42 100644
--- a/variables.h
+++ b/variables.h
@@ -46,7 +46,7 @@
#define TW_BACKUP_ANDSEC_SIZE "tw_backup_andsec_size"
#define TW_BACKUP_SDEXT_SIZE "tw_backup_sdext_size"
#define TW_STORAGE_FREE_SIZE "tw_storage_free_size"
-#define TW_GENERATE_MD5_TEXT "tw_generate_md5_text"
+#define TW_GENERATE_DIGEST_TEXT "tw_generate_digest_text"
#define TW_RESTORE_TEXT "tw_restore_text"
#define TW_RESTORE_SYSTEM_VAR "tw_restore_system"
@@ -60,7 +60,7 @@
#define TW_RESTORE_AVG_FILE_RATE "tw_restore_avg_file_rate"
#define TW_RESTORE_AVG_FILE_COMP_RATE "tw_restore_avg_file_comp_rate"
#define TW_RESTORE_FILE_DATE "tw_restore_file_date"
-#define TW_VERIFY_MD5_TEXT "tw_verify_md5_text"
+#define TW_VERIFY_DIGEST_TEXT "tw_verify_digest_text"
#define TW_UPDATE_SYSTEM_DETAILS_TEXT "tw_update_system_details_text"
#define TW_VERSION_VAR "tw_version"
@@ -68,10 +68,10 @@
#define TW_ZIP_LOCATION_VAR "tw_zip_location"
#define TW_ZIP_INTERNAL_VAR "tw_zip_internal"
#define TW_ZIP_EXTERNAL_VAR "tw_zip_external"
-#define TW_FORCE_MD5_CHECK_VAR "tw_force_md5_check"
-#define TW_SKIP_MD5_CHECK_VAR "tw_skip_md5_check"
-#define TW_SKIP_MD5_GENERATE_VAR "tw_skip_md5_generate"
#define TW_DISABLE_FREE_SPACE_VAR "tw_disable_free_space"
+#define TW_FORCE_DIGEST_CHECK_VAR "tw_force_digest_check"
+#define TW_SKIP_DIGEST_CHECK_VAR "tw_skip_digest_check"
+#define TW_SKIP_DIGEST_GENERATE_VAR "tw_skip_digest_generate"
#define TW_SIGNED_ZIP_VERIFY_VAR "tw_signed_zip_verify"
#define TW_INSTALL_REBOOT_VAR "tw_install_reboot"
#define TW_TIME_ZONE_VAR "tw_time_zone"
@@ -137,6 +137,8 @@
#define TW_CRYPTO_PASSWORD "tw_crypto_password"
#define TW_SDEXT_DISABLE_EXT4 "tw_sdext_disable_ext4"
#define TW_MILITARY_TIME "tw_military_time"
+#define TW_USE_SHA2 "tw_use_sha2"
+#define TW_NO_SHA2 "tw_no_sha2"
// Also used:
// tw_boot_is_mountable