Multiple Language Support

This is similar to https://gerrit.omnirom.org/#/c/14014

A lot of the features built in the older patch set have been split
out into separate patches, most of which have already been merged.
The remaining functionality here should all be directly related to
language selection and loading. We always load English as a base
before loading other languages over the top of the base. The idea
is that if another language is missing a translation, then we will
still display the English.

Maybe still to do: read the /cache/recovery/last_locale file and
load a language based on that. For me, this file contains just:
en_US
We probably won't bother with region specific translations so we
would have to look at either trimming off the _US or using some
other method like perhaps a symlink or a combination of the two.

Thanks to _that for twmsg.cpp class

Change-Id: I9647a22e47883a3ddd2de1da51f64aab7c328f74
diff --git a/gui/Android.mk b/gui/Android.mk
index 66883a4..84f890c 100644
--- a/gui/Android.mk
+++ b/gui/Android.mk
@@ -28,7 +28,8 @@
     mousecursor.cpp \
     scrolllist.cpp \
     patternpassword.cpp \
-    textbox.cpp
+    textbox.cpp \
+    twmsg.cpp
 
 ifneq ($(TWRP_CUSTOM_KEYBOARD),)
     LOCAL_SRC_FILES += $(TWRP_CUSTOM_KEYBOARD)
@@ -107,6 +108,7 @@
 ifeq ($(TWRP_NEW_THEME),true)
     TWRP_THEME_LOC := $(commands_recovery_local_path)/gui/theme/$(TW_THEME)
     TWRP_RES := $(commands_recovery_local_path)/gui/theme/common/fonts
+    TWRP_RES += $(commands_recovery_local_path)/gui/theme/common/languages
     TWRP_RES += $(commands_recovery_local_path)/gui/theme/common/$(word 1,$(subst _, ,$(TW_THEME))).xml
 # for future copying of used include xmls and fonts:
 # UI_XML := $(TWRP_THEME_LOC)/ui.xml
diff --git a/gui/action.cpp b/gui/action.cpp
index 46f4575..3e27dbb 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -197,6 +197,7 @@
 		ADD_ACTION(cancelbackup);
 		ADD_ACTION(checkpartitionlifetimewrites);
 		ADD_ACTION(mountsystemtoggle);
+		ADD_ACTION(setlanguage);
 
 		// remember actions that run in the caller thread
 		for (mapFunc::const_iterator it = mf.begin(); it != mf.end(); ++it)
@@ -340,12 +341,12 @@
 
 void GUIAction::simulate_progress_bar(void)
 {
-	gui_print("Simulating actions...\n");
+	gui_msg("simulating=Simulating actions...");
 	for (int i = 0; i < 5; i++)
 	{
 		if (PartitionManager.stop_backup.get_value()) {
 			DataManager::SetValue("tw_cancel_backup", 1);
-			gui_print("Backup Canceled.\n");
+			gui_msg("backup_cancel=Backup Canceled.");
 			DataManager::SetValue("ui_progress", 0);
 			PartitionManager.stop_backup.set_value(0);
 			return;
@@ -381,10 +382,10 @@
 		{
 			DataManager::SetValue("tw_operation", "Configuring TWRP");
 			DataManager::SetValue("tw_partition", "");
-			gui_print("Configuring TWRP...\n");
+			gui_msg("config_twrp=Configuring TWRP...");
 			if (TWFunc::Exec_Cmd("/sbin/installTwrp reinstall") < 0)
 			{
-				gui_print("Unable to configure TWRP with this kernel.\n");
+				gui_msg("config_twrp_err=Unable to configure TWRP with this kernel.");
 			}
 		}
 	}
@@ -587,12 +588,12 @@
 		if (!simulate)
 			PartitionManager.usb_storage_enable();
 		else
-			gui_print("Simulating actions...\n");
+			gui_msg("simulating=Simulating actions...");
 	} else if (!simulate) {
 		PartitionManager.Mount_By_Path(arg, true);
 		PartitionManager.Add_MTP_Storage(arg);
 	} else
-		gui_print("Simulating actions...\n");
+		gui_msg("simulating=Simulating actions...");
 	return 0;
 }
 
@@ -602,12 +603,12 @@
 		if (!simulate)
 			PartitionManager.usb_storage_disable();
 		else
-			gui_print("Simulating actions...\n");
+			gui_msg("simulating=Simulating actions...");
 		DataManager::SetValue(TW_ACTION_BUSY, 0);
 	} else if (!simulate) {
 		PartitionManager.UnMount_By_Path(arg, true);
 	} else
-		gui_print("Simulating actions...\n");
+		gui_msg("simulating=Simulating actions...");
 	return 0;
 }
 
@@ -615,7 +616,7 @@
 {
 	operation_start("Restore Defaults");
 	if (simulate) // Simulated so that people don't accidently wipe out the "simulation is on" setting
-		gui_print("Simulating actions...\n");
+		gui_msg("simulating=Simulating actions...");
 	else {
 		DataManager::ResetDefaults();
 		PartitionManager.Update_System_Details();
@@ -636,7 +637,7 @@
 		TWFunc::copy_file("/tmp/recovery.log", dst.c_str(), 0755);
 		tw_set_default_metadata(dst.c_str());
 		sync();
-		gui_print("Copied recovery log to %s.\n", DataManager::GetCurrentStoragePath().c_str());
+		gui_msg(Msg("copy_log=Copied recovery log to {1}.")(DataManager::GetCurrentStoragePath()));
 	} else
 		simulate_progress_bar();
 	operation_end(0);
@@ -733,7 +734,7 @@
 int GUIAction::queuezip(std::string arg __unused)
 {
 	if (zip_queue_index >= 10) {
-		gui_print("Maximum zip queue reached!\n");
+		gui_msg("max_queue=Maximum zip queue reached!");
 		return 0;
 	}
 	DataManager::GetValue("tw_filename", zip_queue[zip_queue_index]);
@@ -747,7 +748,7 @@
 int GUIAction::cancelzip(std::string arg __unused)
 {
 	if (zip_queue_index <= 0) {
-		gui_print("Minimum zip queue reached!\n");
+		gui_msg("min_queue=Minimum zip queue reached!");
 		return 0;
 	} else {
 		zip_queue_index--;
@@ -925,7 +926,7 @@
 		chmod(path, 0666);
 		chown(path, uid, gid);
 
-		gui_print("Screenshot was saved to %s\n", path);
+		gui_msg(Msg("screenshot_saved=Screenshot was saved to %s")(path));
 
 		// blink to notify that the screenshow was taken
 		gr_color(255, 255, 255, 255);
@@ -933,7 +934,7 @@
 		gr_flip();
 		gui_forceRender();
 	} else {
-		LOGERR("Failed to take a screenshot!\n");
+		gui_err("screenshot_err=Failed to take a screenshot!");
 	}
 	return 0;
 }
@@ -959,7 +960,7 @@
 void GUIAction::reinject_after_flash()
 {
 	if (DataManager::GetIntValue(TW_HAS_INJECTTWRP) == 1 && DataManager::GetIntValue(TW_INJECT_AFTER_ZIP) == 1) {
-		gui_print("Injecting TWRP into boot image...\n");
+		gui_msg("injecttwrp=Injecting TWRP into boot image...");
 		if (simulate) {
 			simulate_progress_bar();
 		} else {
@@ -970,7 +971,7 @@
 				string injectcmd = "injecttwrp --dump /tmp/backup_recovery_ramdisk.img /tmp/injected_boot.img --flash bd=" + Boot->Actual_Block_Device;
 				TWFunc::Exec_Cmd(injectcmd);
 			}
-			gui_print("TWRP injection complete.\n");
+			gui_msg("done=Done.");
 		}
 	}
 }
@@ -993,7 +994,7 @@
 		ret_val = flash_zip(zip_path, &wipe_cache);
 		TWFunc::SetPerformanceMode(false);
 		if (ret_val != 0) {
-			gui_print("Error flashing zip '%s'\n", zip_path.c_str());
+			gui_msg(Msg(msg::kError, "zip_err=Error installing zip file '{1}'")(zip_path));
 			ret_val = 1;
 			break;
 		}
@@ -1001,7 +1002,7 @@
 	zip_queue_index = 0;
 
 	if (wipe_cache) {
-		gui_print("One or more zip requested a cache wipe\nWiping cache now.\n");
+		gui_msg("zip_wipe_cache=One or more zip requested a cache wipe -- Wiping cache now.");
 		PartitionManager.Wipe_By_Path("/cache");
 	}
 
@@ -1063,7 +1064,7 @@
 					LOGINFO("wipe_path '%s'\n", wipe_path.c_str());
 					if (wipe_path == "/and-sec") {
 						if (!PartitionManager.Wipe_Android_Secure()) {
-							LOGERR("Unable to wipe android secure\n");
+							gui_msg("and_sec_wipe_err=Unable to wipe android secure");
 							ret_val = false;
 							break;
 						} else {
@@ -1071,7 +1072,7 @@
 						}
 					} else if (wipe_path == "DALVIK") {
 						if (!PartitionManager.Wipe_Dalvik_Cache()) {
-							LOGERR("Failed to wipe dalvik\n");
+							gui_err("dalvik_wipe_err=Failed to wipe dalvik");
 							ret_val = false;
 							break;
 						} else {
@@ -1087,7 +1088,7 @@
 					}
 					if (!skip) {
 						if (!PartitionManager.Wipe_By_Path(wipe_path)) {
-							LOGERR("Unable to wipe '%s'\n", wipe_path.c_str());
+							gui_msg(Msg(msg::kError, "unable_to_wipe=Unable to wipe {1}.")(wipe_path));
 							ret_val = false;
 							break;
 						} else if (wipe_path == DataManager::GetSettingsStoragePath()) {
@@ -1152,6 +1153,8 @@
 		if (arg == "backup") {
 			string Backup_Name;
 			DataManager::GetValue(TW_BACKUP_NAME, Backup_Name);
+			string auto_gen = gui_lookup("auto_gen", "(Auto Generate)");
+			string curr_date = gui_lookup("curr_date", "(Current Date)");
 			if (Backup_Name == "(Auto Generate)" || Backup_Name == "(Current Date)" || Backup_Name == "0" || Backup_Name == "(" || PartitionManager.Check_Backup_Name(true) == 0) {
 				ret = PartitionManager.Run_Backup();
 			}
@@ -1159,7 +1162,7 @@
 				operation_end(1);
 				return -1;
 			}
-			DataManager::SetValue(TW_BACKUP_NAME, "(Auto Generate)");
+			DataManager::SetValue(TW_BACKUP_NAME, auto_gen);
 		} else if (arg == "restore") {
 			string Restore_Name;
 			DataManager::GetValue("tw_restore", Restore_Name);
@@ -1178,7 +1181,7 @@
 		}
 		else {
 			DataManager::SetValue("tw_cancel_backup", 1);
-			gui_print("Backup Canceled.\n");
+			gui_msg("backup_cancel=Backup Canceled.");
 			ret = 0;
 		}
 		operation_end(ret);
@@ -1242,7 +1245,7 @@
 		int allow_partition;
 		DataManager::GetValue(TW_ALLOW_PARTITION_SDCARD, allow_partition);
 		if (allow_partition == 0) {
-			gui_print("This device does not have a real SD Card!\nAborting!\n");
+			gui_err("no_real_sdcard=This device does not have a real SD Card! Aborting!");
 		} else {
 			if (!PartitionManager.Partition_SDCard())
 				ret_val = 1; // failed
@@ -1332,7 +1335,7 @@
 
 		fp = popen(command.c_str(), "r");
 		if (fp == NULL) {
-			LOGERR("Error opening command to run.\n");
+			LOGERR("Error opening command to run (%s).\n", strerror(errno));
 		} else {
 			int fd = fileno(fp), has_data = 0, check = 0, keep_going = -1, bytes_read = 0;
 			struct timeval timeout;
@@ -1391,12 +1394,12 @@
 {
 	int op_status = 0;
 	operation_start("ReinjectTWRP");
-	gui_print("Injecting TWRP into boot image...\n");
+	gui_msg("injecttwrp=Injecting TWRP into boot image...");
 	if (simulate) {
 		simulate_progress_bar();
 	} else {
 		TWFunc::Exec_Cmd("injecttwrp --dump /tmp/backup_recovery_ramdisk.img /tmp/injected_boot.img --flash");
-		gui_print("TWRP injection complete.\n");
+		gui_msg("done=Done.");
 	}
 
 	operation_end(op_status);
@@ -1462,7 +1465,7 @@
 		simulate_progress_bar();
 		operation_end(0);
 	} else {
-		gui_print("Starting ADB sideload feature...\n");
+		gui_msg("start_sideload=Starting ADB sideload feature...");
 		bool mtp_was_enabled = TWFunc::Toggle_MTP(false);
 
 		// wait for the adb connection
@@ -1471,7 +1474,7 @@
 
 		if (ret != 0) {
 			if (ret == -2)
-				gui_print("You need adb 1.0.32 or newer to sideload to this device.\n");
+				gui_msg("need_new_adb=You need adb 1.0.32 or newer to sideload to this device.");
 			ret = 1; // failure
 		} else {
 			int wipe_cache = 0;
@@ -1509,7 +1512,7 @@
 {
 	struct stat st;
 	DataManager::SetValue("tw_has_cancel", 0); // Remove cancel button from gui
-	gui_print("Cancelling ADB sideload...\n");
+	gui_msg("cancel_sideload=Cancelling ADB sideload...");
 	LOGINFO("Signaling child sideload process to exit.\n");
 	// Calling stat() on this magic filename signals the minadbd
 	// subprocess to shut down.
@@ -1543,7 +1546,7 @@
 		// Run those first.
 		int reboot = 0;
 		if (TWFunc::Path_Exists(SCRIPT_FILE_TMP)) {
-			gui_print("Processing AOSP recovery commands...\n");
+			gui_msg("running_recovery_commands=Running Recovery Commands");
 			if (OpenRecoveryScript::run_script_file() == 0) {
 				reboot = 1;
 				op_status = 0;
@@ -1551,7 +1554,7 @@
 		}
 		// Check for the ORS file in /cache and attempt to run those commands.
 		if (OpenRecoveryScript::check_for_script_file()) {
-			gui_print("Processing OpenRecoveryScript file...\n");
+			gui_msg("running_ors=Running OpenRecoveryScript");
 			if (OpenRecoveryScript::run_script_file() == 0) {
 				reboot = 1;
 				op_status = 0;
@@ -1640,7 +1643,6 @@
 		if (PartitionManager.Repair_By_Path(part_path, true)) {
 			op_status = 0; // success
 		} else {
-			LOGERR("Error repairing file system.\n");
 			op_status = 1; // fail
 		}
 	}
@@ -1662,7 +1664,6 @@
 		if (PartitionManager.Resize_By_Path(part_path, true)) {
 			op_status = 0; // success
 		} else {
-			LOGERR("Error resizing file system.\n");
 			op_status = 1; // fail
 		}
 	}
@@ -1685,7 +1686,7 @@
 		if (PartitionManager.Wipe_By_Path(part_path, file_system)) {
 			op_status = 0; // success
 		} else {
-			LOGERR("Error changing file system.\n");
+			gui_err("change_fs_err=Error changing file system.");
 			op_status = 1; // fail
 		}
 	}
@@ -1826,3 +1827,16 @@
 	operation_end(op_status);
 	return 0;
 }
+
+int GUIAction::setlanguage(std::string arg __unused)
+{
+	int op_status = 0;
+
+	operation_start("Set Language");
+	PageManager::LoadLanguage(DataManager::GetStrValue("tw_language"));
+	PageManager::RequestReload();
+	op_status = 0; // success
+
+	operation_end(op_status);
+	return 0;
+}
diff --git a/gui/console.cpp b/gui/console.cpp
index 6b38d61..b5204fb 100644
--- a/gui/console.cpp
+++ b/gui/console.cpp
@@ -1,3 +1,21 @@
+/*
+	Copyright 2015 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/>.
+*/
+
 // console.cpp - GUIConsole object
 
 #include <stdarg.h>
@@ -24,10 +42,16 @@
 
 #include "rapidxml.hpp"
 #include "objects.hpp"
+#include "gui.hpp"
+#include "twmsg.h"
 
+#define GUI_CONSOLE_BUFFER_SIZE 512
 
-static std::vector<std::string> gConsole;
-static std::vector<std::string> gConsoleColor;
+size_t last_message_count = 0;
+std::vector<Message> gMessages;
+
+std::vector<std::string> gConsole;
+std::vector<std::string> gConsoleColor;
 static FILE* ors_file;
 
 extern "C" void __gui_print(const char *color, char *buf)
@@ -58,22 +82,22 @@
 		gConsole.push_back(start);
 		gConsoleColor.push_back(color);
 	}
-	if (ors_file) {
-		fprintf(ors_file, "%s\n", buf);
-		fflush(ors_file);
-	}
 }
 
 extern "C" void gui_print(const char *fmt, ...)
 {
-	char buf[512];		// We're going to limit a single request to 512 bytes
+	char buf[GUI_CONSOLE_BUFFER_SIZE];		// We're going to limit a single request to 512 bytes
 
 	va_list ap;
 	va_start(ap, fmt);
-	vsnprintf(buf, 512, fmt, ap);
+	vsnprintf(buf, GUI_CONSOLE_BUFFER_SIZE, fmt, ap);
 	va_end(ap);
 
 	fputs(buf, stdout);
+	if (ors_file) {
+		fprintf(ors_file, "%s", buf);
+		fflush(ors_file);
+	}
 
 	__gui_print("normal", buf);
 	return;
@@ -81,14 +105,18 @@
 
 extern "C" void gui_print_color(const char *color, const char *fmt, ...)
 {
-	char buf[512];		// We're going to limit a single request to 512 bytes
+	char buf[GUI_CONSOLE_BUFFER_SIZE];		// We're going to limit a single request to 512 bytes
 
 	va_list ap;
 	va_start(ap, fmt);
-	vsnprintf(buf, 512, fmt, ap);
+	vsnprintf(buf, GUI_CONSOLE_BUFFER_SIZE, fmt, ap);
 	va_end(ap);
 
 	fputs(buf, stdout);
+	if (ors_file) {
+		fprintf(ors_file, "%s", buf);
+		fflush(ors_file);
+	}
 
 	__gui_print(color, buf);
 	return;
@@ -99,6 +127,70 @@
 	ors_file = f;
 }
 
+void gui_msg(const char* text)
+{
+	if (text) {
+		Message msg = Msg(text);
+		gui_msg(msg);
+	}
+}
+
+void gui_warn(const char* text)
+{
+	if (text) {
+		Message msg = Msg(msg::kWarning, text);
+		gui_msg(msg);
+	}
+}
+
+void gui_err(const char* text)
+{
+	if (text) {
+		Message msg = Msg(msg::kError, text);
+		gui_msg(msg);
+	}
+}
+
+void gui_highlight(const char* text)
+{
+	if (text) {
+		Message msg = Msg(msg::kHighlight, text);
+		gui_msg(msg);
+	}
+}
+
+void gui_msg(Message msg)
+{
+	std::string output = msg;
+	output += "\n";
+	fputs(output.c_str(), stdout);
+	if (ors_file) {
+		fprintf(ors_file, "%s", output.c_str());
+		fflush(ors_file);
+	}
+	gMessages.push_back(msg);
+}
+
+void GUIConsole::Translate_Now() {
+	size_t message_count = gMessages.size();
+	if (message_count <= last_message_count)
+		return;
+
+	for (size_t m = last_message_count; m < message_count; m++) {
+		std::string message = gMessages[m];
+		std::string color = "normal";
+		if (gMessages[m].GetKind() == msg::kError)
+			color = "error";
+		else if (gMessages[m].GetKind() == msg::kHighlight)
+			color = "highlight";
+		else if (gMessages[m].GetKind() == msg::kWarning)
+			color = "warning";
+		gConsole.push_back(message);
+		gConsoleColor.push_back(color);
+	}
+	last_message_count = message_count;
+}
+
 GUIConsole::GUIConsole(xml_node<>* node) : GUIScrollList(node)
 {
 	xml_node<>* child;
@@ -160,6 +252,7 @@
 
 int GUIConsole::RenderConsole(void)
 {
+	Translate_Now();
 	AddLines(&gConsole, &gConsoleColor, &mLastCount, &rConsole, &rConsoleColor);
 	GUIScrollList::Render();
 
diff --git a/gui/devices/common/res/languages/en.xml b/gui/devices/common/res/languages/en.xml
new file mode 100644
index 0000000..c11176a
--- /dev/null
+++ b/gui/devices/common/res/languages/en.xml
@@ -0,0 +1,226 @@
+<?xml version="1.0"?>
+
+<language>
+	<display>English</display>
+
+	<resources>
+		<!-- Font overrides - only change these if your language requires special characters -->
+		<resource name="font" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="mediumfont" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="filelist" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<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>
+
+		<!-- GUI XML strings -->
+		<string name="install_button_text">Install</string>
+
+		<!-- Various console messages - these consist of user displayed messages, oftentimes errors -->
+		<string name="no_kernel_selinux">Kernel does not have support for reading SELinux contexts.</string>
+		<string name="full_selinux">Full SELinux support is present.</string>
+		<string name="no_selinux">No SELinux support (no libselinux).</string>
+		<string name="mtp_enabled">MTP Enabled</string>
+		<string name="mtp_crash">MTP Crashed, not starting MTP on boot.</string>
+		<string name="rebooting">Rebooting...</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="md5_created"> * MD5 Created.</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>
+		<string name="no_partition_selected">No partitions selected for backup.</string>
+		<string name="total_partitions_backup"> * Total number of partitions to back up: {1}</string>
+		<string name="total_backup_size"> * Total size of all data: {1}MB</string>
+		<string name="available_space"> * Available space: {1}MB</string>
+		<string name="unable_locate_storage">Unable to locate storage device.</string>
+		<string name="Not enough free space on storage.">Not enough free space on storage.</string>
+		<string name="backup_started">[BACKUP STARTED]</string>
+		<string name="backup_folder"> * Backup Folder: {1}</string>
+		<string name="fail_backup_folder">Failed to make backup folder.</string>
+		<string name="avg_backup_fs">Average backup rate for file systems: {1} MB/sec</string>
+		<string name="avg_backup_img">Average backup rate for imaged drives: {1} MB/sec</string>
+		<string name="total_backed_size">[{1} MB TOTAL BACKED UP]</string>
+		<string name="backup_completed">[BACKUP COMPLETED IN {1} SECONDS]</string>
+		<string name="restore_started">[RESTORE STARTED]</string>
+		<string name="restore_folder">Restore folder: '%s'</string>
+		<!-- {1} is the partition display name and {2} is the number of seconds -->
+		<string name="restort_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="calc_restore">Calculating restore details...</string>
+		<string name="restore_read_only">Cannot restore %s -- mounted read only.</string>
+		<string name="restore_unable_locate">Unable to locate '{1}' partition for restoring.</string>
+		<string name="no_part_restore">No partitions selected for restore.</string>
+		<string name="restore_part_count">Restoring {1} partitions...</string>
+		<string name="total_restore_size">Total restore size is {1}MB</string>
+		<string name="updating_system_details">Updating System Details</string>
+		<string name="restore_complete">[RESTORE COMPLETED IN {1} SECONDS]</string>
+		<!-- {1} is the path we could not open, {2} is strerror output -->
+		<string name="error_opening_strerr">Error opening: '{1}' ({2})</string>
+		<string name="unable_locate_part_backup_name">Unable to locate partition by backup name: '{1}'</string>
+		<string name="unable_find_part_path">Unable to find partition for path '{1}'</string>
+		<string name="update_part_details">Updating partition details...</string>
+		<string name="update_part_details_done">...done</string>
+		<string name="wiping_dalvik">Wiping Dalvik Cache Directories...</string>
+		<string name="cleaned">Cleaned: {1}...</string>
+		<string name="dalvik_done">-- Dalvik Cache Directories Wipe Complete!</string>
+		<string name="no_andsec">No android secure partitions found.</string>
+		<string name="unable_to_locate">Unable to locate {1}.</string>
+		<string name="wiping_datamedia">Wiping internal storage -- /data/media...</string>
+		<string name="unable_to_mount">Unable to mount {1}</string>
+		<string name="unable_to_mount_internal">Unable to mount internal_storage</string>
+		<string name="unable_to_mount_storage">Unable to mount storage</string>
+		<string name="fail_decrypt">Failed to decrypt data.</string>
+		<string name="no_crypto_support">No crypto support was compiled into this build.</string>
+		<string name="decrypt_success">Data successfully decrypted, new block device: '{1}'</string>
+		<string name="done">Done.</string>
+		<string name="start_partition_sd">Partitioning SD Card...</string>
+		<string name="partition_sd_locate">Unable to locate device to partition.</string>
+		<string name="ext_swap_size">EXT + Swap size is larger than sdcard size.</string>
+		<string name="remove_part_table">Removing partition table...</string>
+		<string name="unable_rm_part">Unable to remove partition table.</string>
+		<string name="create_part">Creating {1} partition...</string>
+		<string name="unable_to_create_part">Unable to create {1} partition.</string>
+		<string name="format_sdext_as">Formatting sd-ext as {1}...</string>
+		<string name="part_complete">Partitioning complete.</string>
+		<string name="unable_to_open">Unable to open '{1}'.</string>
+		<string name="mtp_already_enabled">MTP already enabled</string>
+		<string name="mtp_fail">Failed to enable MTP</string>
+		<string name="no_mtp">MTP support not included</string>
+		<string name="image_flash_start">[IMAGE FLASH STARTED]</string>
+		<string name="img_to_flash">Image to flash: '{1}'</string>
+		<string name="flash_unable_locate">Unable to locate '{1}' partition for flashing.</string>
+		<string name="no_part_flash">No partitions selected for flashing.</string>
+		<string name="too_many_flash">Too many partitions selected for flashing.</string>
+		<string name="invalid_flash">Invalid flash partition specified.</string>
+		<string name="flash_done">IMAGE FLASH COMPLETED]</string>
+		<string name="wiping">Wiping {1}</string>
+		<string name="repair_not_exist">{1} does not exist! Cannot repair!</string>
+		<string name="unable_repair">Unable to repair {1}.</string>
+		<string name="mount_data_footer">Could not mount /data and unable to find crypto footer.</string>
+		<!-- {1} is the folder name that we could not create, {2} is strerror output -->
+		<string name="create_folder_strerr">Can not create '{1}' folder ({2}).</string>
+		<!-- {1} is the folder name that we could not mount, {2} is strerror output -->
+		<string name="fail_mount">Failed to mount '{1}' ({2})</string>
+		<!-- {1} is the folder name that we could not unmount, {2} is strerror output -->
+		<string name="fail_mount">Failed to unmount '{1}' ({2})</string>
+		<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="restoring">Restoring</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>
+		<string name="formating_using">Formatting {1} using {2}...</string>
+		<string name="unable_to_wipe">Unable to wipe {1}.</string>
+		<string name="remove_all">Removing all files under '{1}'</string>
+		<string name="wiping_data">Wiping data without wiping /data/media ...</string>
+		<string name="backing_up">Backing up {1}...</string>
+		<string name="backing">Backing Up</string>
+		<string name="backup_size">Backup file size for '%s' is 0 bytes.</string>
+		<string name="datamedia_fs_restore">WARNING: This /data backup was made with {1} file system! The backup may not boot unless you change back to {1}.</string>
+		<string name="restoring">Restoring {1}...</string>
+		<string name="restore">Restoring</string>
+		<string name="recreate_folder_err">Unable to recreate {1} folder.</string>
+		<string name="img_size_err">Size of image is larger than target device</string>
+		<string name="flashing">Flashing {1}...</string>
+		<string name="backup_folder">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="ors_encrypt_restore_err">Unable to use OpenRecoveryScript to restore an encrypted backup.</string>
+		<string name="mounting">Mounting</string>
+		<string name="unmounting">Unmounting</string>
+		<string name="mounted">Mounted '{1}'</string>
+		<string name="unmounted">Unmounted '{1}'</string>
+		<string name="setting">Setting '{1}' to '{2}'</string>
+		<string name="setting_empty">Setting '{1}' to empty</string>
+		<string name="making_dir1">Making Directory</string>
+		<string name="making_dir2">Making directory: '{1}'</string>
+		<string name="running_command">Running Command</string>
+		<string name="sideload">ADB Sideload</string>
+		<string name="start_sideload">Starting ADB sideload feature...</string>
+		<string name="need_new_adb">You need adb 1.0.32 or newer to sideload to this device.</string>
+		<string name="no_pwd">No password provided.</string>
+		<string name="done_ors">Done processing script file</string>
+		<string name="injecttwrp">Injecting TWRP into boot image...</string>
+		<string name="zip_err">Error installing zip file '{1}'</string>
+		<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="backup_fail">Backup Failed</string>
+		<string name="backup_complete">Backup complete!</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="no_updater_binary">Could not find '{1}' in the zip file.</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="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>
+		<string name="dumlock_restore">Restoring original boot...</string>
+		<string name="dumlock_reflash">Reflashing recovery to boot...</string>
+		<string name="run_script">Running {1} script...</string>
+		<string name="rename_stock">Renamed stock recovery file in /system to prevent the stock ROM from replacing TWRP.</string>
+		<string name="split_backup">Breaking backup file into multiple archives...</string>
+		<string name="backup_error">Error creating backup.</string>
+		<string name="restore_error">Error during restore process.</string>
+		<string name="split_thread">Splitting thread ID {1} into archive {2}</string>
+		<string name="file_progress">%llu of %llu files, %i%%</string>
+		<string name="size_progress">%lluMB of %lluMB, %i%%</string>
+		<string name="decrypt_cmd">Attempting to decrypt data partition via command line.</string>
+		<string name="base_pkg_err">Failed to load base packages.</string>
+		<string name="simulating">Simulating actions...</string>
+		<string name="backup_cancel">Backup Canceled.</string>
+		<string name="config_twrp">Configuring TWRP...</string>
+		<string name="config_twrp_err">Unable to configure TWRP with this kernel.</string>
+		<string name="copy_log">Copied recovery log to {1}.</string>
+		<string name="max_queue">Maximum zip queue reached!</string>
+		<string name="min_queue">Minimum zip queue reached!</string>
+		<string name="screenshot_err">Failed to take a screenshot!</string>
+		<string name="zip_wipe_cache">One or more zip requested a cache wipe -- Wiping cache now.</string>
+		<string name="and_sec_wipe_err">Unable to wipe android secure</string>
+		<string name="dalvik_wipe_err">Failed to wipe dalvik</string>
+		<string name="auto_gen">(Auto Generate)</string>
+		<string name="curr_date">(Current Date)</string>
+		<string name="backup_name_len">Backup name is too long.</string>
+		<string name="backup_name_invalid">Backup name '{1}' contains invalid character: '{1}'</string>
+		<string name="backup_name_exists">A backup with this name already exists.</string>
+		<string name="no_real_sdcard">This device does not have a real SD Card! Aborting!</string>
+		<string name="cancel_sideload">Cancelling ADB sideload...</string>
+		<string name="change_fs_err">Error changing file system.</string>
+	</resources>
+</language>
diff --git a/gui/devices/common/res/languages/es.xml b/gui/devices/common/res/languages/es.xml
new file mode 100644
index 0000000..ad5c54a
--- /dev/null
+++ b/gui/devices/common/res/languages/es.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<language>
+	<display>Español</display>
+
+	<resources>
+		<resource name="font" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="mediumfont" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="filelist" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="fixed" type="fontoverride" filename="DroidSansMono.ttf" scale="100" />
+		<string name="install_button_text">Instalar</string>
+	</resources>
+</language>
diff --git a/gui/devices/common/res/languages/fi.xml b/gui/devices/common/res/languages/fi.xml
new file mode 100644
index 0000000..0c4f5bc
--- /dev/null
+++ b/gui/devices/common/res/languages/fi.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<language>
+	<display>Suomi</display>
+
+	<resources>
+		<resource name="font" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="mediumfont" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="filelist" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="fixed" type="fontoverride" filename="DroidSansMono.ttf" scale="100" />
+		<string name="install_button_text">Asenna</string>
+	</resources>
+</language>
diff --git a/gui/gui.cpp b/gui/gui.cpp
index 31b61be..78e8a7e 100644
--- a/gui/gui.cpp
+++ b/gui/gui.cpp
@@ -517,13 +517,19 @@
 			fprintf(orsout, "%s", result);
 			LOGINFO("Command cannot be performed, operation in progress.\n");
 		} else {
-			if (gui_console_only() == 0) {
+			if (strlen(command) == 11 && strncmp(command, "dumpstrings", 11) == 0) {
+				// This cannot be done safely with gui_console_only because gui_console_only updates mCurrentSet
+				// which makes the resources that we are trying to read unreachable.
+				gui_set_FILE(orsout);
+				PageManager::GetResources()->DumpStrings();
+				gui_set_FILE(NULL);
+			} else if (gui_console_only() == 0) {
 				LOGINFO("Console started successfully\n");
 				gui_set_FILE(orsout);
 				if (strlen(command) > 11 && strncmp(command, "runscript", 9) == 0) {
 					char* filename = command + 11;
 					if (OpenRecoveryScript::copy_script_file(filename) == 0) {
-						LOGERR("Unable to copy script file\n");
+						LOGINFO("Unable to copy script file\n");
 					} else {
 						OpenRecoveryScript::run_script_file();
 					}
@@ -534,7 +540,7 @@
 					gui_print("%s = %s\n", varname, temp.c_str());
 				} else if (strlen(command) > 9 && strncmp(command, "decrypt", 7) == 0) {
 					char* pass = command + 8;
-					gui_print("Attempting to decrypt data partition via command line.\n");
+					gui_msg("decrypt_cmd=Attempting to decrypt data partition via command line.");
 					if (PartitionManager.Decrypt_Device(pass) == 0) {
 						set_page_done = 1;
 					}
@@ -753,15 +759,39 @@
 {
 	// This function parses text for DataManager values encompassed by %value% in the XML
 	// and string resources (%@resource_name%)
-	size_t pos = 0;
+	size_t pos = 0, next, end;
 
 	while (1)
 	{
-		size_t next = str.find('%', pos);
+		next = str.find("{@", pos);
+		if (next == std::string::npos)
+			break;
+
+		end = str.find('}', next + 1);
+		if (end == std::string::npos)
+			break;
+
+		std::string var = str.substr(next + 2, (end - next) - 2);
+		str.erase(next, (end - next) + 1);
+
+		size_t default_loc = var.find('=', 0);
+		std::string lookup;
+		if (default_loc == std::string::npos) {
+			str.insert(next, PageManager::GetResources()->FindString(var));
+		} else {
+			lookup = var.substr(0, default_loc);
+			std::string default_string = var.substr(default_loc + 1, var.size() - default_loc - 1);
+			str.insert(next, PageManager::GetResources()->FindString(lookup, default_string));
+		}
+	}
+	pos = 0;
+	while (1)
+	{
+		next = str.find('%', pos);
 		if (next == std::string::npos)
 			return str;
 
-		size_t end = str.find('%', next + 1);
+		end = str.find('%', next + 1);
 		if (end == std::string::npos)
 			return str;
 
@@ -787,6 +817,10 @@
 	}
 }
 
+std::string gui_lookup(const std::string& resource_name, const std::string& default_value) {
+	return PageManager::GetResources()->FindString(resource_name, default_value);
+}
+
 extern "C" int gui_init(void)
 {
 	gr_init();
@@ -828,7 +862,7 @@
 	{
 		if (PageManager::LoadPackage("TWRP", TWRES "ui.xml", "decrypt"))
 		{
-			LOGERR("Failed to load base packages.\n");
+			gui_err("base_pkg_err=Failed to load base packages.");
 			goto error;
 		}
 		else
@@ -849,10 +883,9 @@
 				retry_count--;
 			}
 
-			if (!PartitionManager.Mount_Settings_Storage(false))
+			if (!PartitionManager.Mount_Settings_Storage(true))
 			{
-				LOGERR("Unable to mount %s during GUI startup.\n",
-					   theme_path.c_str());
+				LOGINFO("Unable to mount %s during GUI startup.\n", theme_path.c_str());
 				check = 1;
 			}
 		}
@@ -863,7 +896,7 @@
 #endif // ifndef TW_OEM_BUILD
 			if (PageManager::LoadPackage("TWRP", TWRES "ui.xml", "main"))
 			{
-				LOGERR("Failed to load base packages.\n");
+				gui_err("base_pkg_err=Failed to load base packages.");
 				goto error;
 			}
 #ifndef TW_OEM_BUILD
@@ -886,7 +919,7 @@
 {
 #ifndef TW_OEM_BUILD
 	if (!PartitionManager.Mount_Settings_Storage(false)) {
-		LOGERR("Unable to mount settings storage during GUI startup.\n");
+		LOGINFO("Unable to mount settings storage during GUI startup.\n");
 		return -1;
 	}
 
@@ -898,7 +931,7 @@
 		if (PageManager::ReloadPackage("TWRP", theme_path)) {
 			// Custom theme failed to load, try to load stock theme
 			if (PageManager::ReloadPackage("TWRP", TWRES "ui.xml")) {
-				LOGERR("Failed to load base packages.\n");
+				gui_err("base_pkg_err=Failed to load base packages.");
 				goto error;
 			}
 		}
diff --git a/gui/gui.hpp b/gui/gui.hpp
new file mode 100644
index 0000000..afcd9b0
--- /dev/null
+++ b/gui/gui.hpp
@@ -0,0 +1,33 @@
+/*
+        Copyright 2015 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/>.
+*/
+
+#ifndef _GUI_HPP_HEADER
+#define _GUI_HPP_HEADER
+
+#include "twmsg.h"
+
+void gui_msg(const char* text);
+void gui_warn(const char* text);
+void gui_err(const char* text);
+void gui_highlight(const char* text);
+void gui_msg(Message msg);
+
+std::string gui_parse_text(std::string inText);
+std::string gui_lookup(const std::string& resource_name, const std::string& default_value);
+
+#endif //_GUI_HPP_HEADER
diff --git a/gui/listbox.cpp b/gui/listbox.cpp
index d2973bb..eeddff9 100644
--- a/gui/listbox.cpp
+++ b/gui/listbox.cpp
@@ -26,6 +26,9 @@
 #include "rapidxml.hpp"
 #include "objects.hpp"
 #include "../data.hpp"
+#include "pages.hpp"
+
+extern std::vector<language_struct> Language_List;
 
 GUIListBox::GUIListBox(xml_node<>* node) : GUIScrollList(node)
 {
@@ -56,6 +59,21 @@
 			DataManager::SetValue(mVariable, attr->value());
 		// Get the currently selected value for the list
 		DataManager::GetValue(mVariable, currentValue);
+		if (mVariable == "tw_language") {
+			std::vector<language_struct>::iterator iter;
+			for (iter = Language_List.begin(); iter != Language_List.end(); iter++) {
+				ListItem data;
+				data.displayName = (*iter).displayvalue;
+				data.variableValue = (*iter).filename;
+				data.action = NULL;
+				if (currentValue == (*iter).filename) {
+					data.selected = 1;
+					DataManager::SetValue("tw_language_display", (*iter).displayvalue);
+				} else
+					data.selected = 0;
+				mListItems.push_back(data);
+			}
+		}
 	}
 	else
 		allowSelection = false;		// allows using listbox as a read-only list or menu
diff --git a/gui/objects.hpp b/gui/objects.hpp
index 3d217c4..438905b 100644
--- a/gui/objects.hpp
+++ b/gui/objects.hpp
@@ -43,6 +43,15 @@
 #define TW_Y_OFFSET 0
 #endif
 
+struct translate_later_struct {
+	std::string resource_name; // Name of the string resource for looking up
+	std::string default_value; // Default in case we don't find the string resource
+	std::string color;         // Color for the console... normal, highlight, warning, error
+	std::string format;        // Formatted extra variables like %i, %s
+	std::string text;          // Final, translated, formatted text
+	bool inline_format;        // Indicates if the final text includes an inlined format variable
+};
+
 class RenderObject
 {
 public:
@@ -356,6 +365,7 @@
 	int cancelbackup(std::string arg);
 	int checkpartitionlifetimewrites(std::string arg);
 	int mountsystemtoggle(std::string arg);
+	int setlanguage(std::string arg);
 
 	int simulate;
 };
@@ -734,6 +744,7 @@
 	virtual size_t GetItemCount();
 	virtual void RenderItem(size_t itemindex, int yPos, bool selected);
 	virtual void NotifySelect(size_t item_selected);
+	static void Translate_Now();
 protected:
 	enum SlideoutState
 	{
diff --git a/gui/pages.cpp b/gui/pages.cpp
index 0511b1a..13f3bd7 100644
--- a/gui/pages.cpp
+++ b/gui/pages.cpp
@@ -33,6 +33,7 @@
 #include <unistd.h>
 #include <stdlib.h>
 #include "../twrp-functions.hpp"
+#include "../partitions.hpp"
 
 #include <string>
 
@@ -50,6 +51,14 @@
 
 extern int gGuiRunning;
 
+// From ../twrp.cpp
+extern bool datamedia;
+
+// From console.cpp
+extern size_t last_message_count;
+extern std::vector<std::string> gConsole;
+extern std::vector<std::string> gConsoleColor;
+
 std::map<std::string, PageSet*> PageManager::mPageSets;
 PageSet* PageManager::mCurrentSet;
 PageSet* PageManager::mBaseSet = NULL;
@@ -57,6 +66,7 @@
 HardwareKeyboard *PageManager::mHardwareKeyboard = NULL;
 bool PageManager::mReloadTheme = false;
 std::string PageManager::mStartPage = "main";
+std::vector<language_struct> Language_List;
 
 int tw_x_offset = 0;
 int tw_y_offset = 0;
@@ -670,7 +680,48 @@
 	delete mResources;
 }
 
-int PageSet::Load(ZipArchive* package, char* xmlFile)
+int PageSet::LoadLanguage(char* languageFile, ZipArchive* package)
+{
+	xml_document<> lang;
+	xml_node<>* parent;
+	xml_node<>* child;
+	std::string resource_source;
+
+	if (languageFile) {
+		printf("parsing languageFile\n");
+		lang.parse<0>(languageFile);
+		printf("parsing languageFile done\n");
+	} else {
+		return -1;
+	}
+
+	parent = lang.first_node("language");
+	if (!parent) {
+		LOGERR("Unable to locate language node in language file.\n");
+		lang.clear();
+		return -1;
+	}
+
+	child = parent->first_node("display");
+	if (child) {
+		DataManager::SetValue("tw_language_display", child->value());
+		resource_source = child->value();
+	} else {
+		LOGERR("language file does not have a display value set\n");
+		DataManager::SetValue("tw_language_display", "Not Set");
+		resource_source = languageFile;
+	}
+
+	child = parent->first_node("resources");
+	if (child)
+		mResources->LoadResources(child, package, resource_source);
+	else
+		return -1;
+	lang.clear();
+	return 0;
+}
+
+int PageSet::Load(ZipArchive* package, char* xmlFile, char* languageFile)
 {
 	xml_document<> mDoc;
 	xml_node<>* parent;
@@ -735,10 +786,14 @@
 	} else {
 		LOGINFO("XML contains no details tag, no scaling will be applied.\n");
 	}
+
+	if (languageFile)
+		LoadLanguage(languageFile, package);
+
 	LOGINFO("Loading resources...\n");
 	child = parent->first_node("resources");
 	if (child)
-		mResources->LoadResources(child, package);
+		mResources->LoadResources(child, package, "theme");
 
 	LOGINFO("Loading variables...\n");
 	child = parent->first_node("variables");
@@ -831,7 +886,7 @@
 		LOGINFO("Loading included resources...\n");
 		child = parent->first_node("resources");
 		if (child)
-			mResources->LoadResources(child, package);
+			mResources->LoadResources(child, package, "theme");
 
 		LOGINFO("Loading included variables...\n");
 		child = parent->first_node("variables");
@@ -1121,6 +1176,11 @@
 	return (mCurrentPage ? mCurrentPage->NotifyVarChange(varName, value) : -1);
 }
 
+void PageSet::AddStringResource(std::string resource_source, std::string resource_name, std::string value)
+{
+	mResources->AddStringResource(resource_source, resource_name, value);
+}
+
 char* PageManager::LoadFileToBuffer(std::string filename, ZipArchive* package) {
 	size_t len;
 	char* buffer = NULL;
@@ -1181,12 +1241,96 @@
 	return buffer;
 }
 
+void PageManager::LoadLanguageListDir(string dir) {
+	if (!TWFunc::Path_Exists(dir)) {
+		LOGERR("LoadLanguageListDir '%s' path not found\n", dir.c_str());
+		return;
+	}
+
+	DIR *d = opendir(dir.c_str());
+	struct dirent *p;
+
+	if (d == NULL) {
+		LOGERR("LoadLanguageListDir error opening dir: '%s', %s\n", dir.c_str(), strerror(errno));
+		return;
+	}
+
+	while ((p = readdir(d))) {
+		if (!strcmp(p->d_name, ".") || !strcmp(p->d_name, "..") || strlen(p->d_name) < 5)
+			continue;
+
+		string file = p->d_name;
+		if (file.substr(strlen(p->d_name) - 4) != ".xml")
+			continue;
+		string path = dir + p->d_name;
+		string file_no_extn = file.substr(0, strlen(p->d_name) - 4);
+		struct language_struct language_entry;
+		language_entry.filename = file_no_extn;
+		char* xmlFile = PageManager::LoadFileToBuffer(dir + p->d_name, NULL);
+		if (xmlFile == NULL) {
+			LOGERR("LoadLanguageListDir unable to load '%s'\n", language_entry.filename.c_str());
+			continue;
+		}
+		xml_document<> *doc = new xml_document<>();
+		doc->parse<0>(xmlFile);
+
+		xml_node<>* parent = doc->first_node("language");
+		if (!parent) {
+			LOGERR("Invalid language XML file '%s'\n", language_entry.filename.c_str());
+		} else {
+			xml_node<>* child = parent->first_node("display");
+			if (child) {
+				language_entry.displayvalue = child->value();
+			} else {
+				LOGERR("No display value for '%s'\n", language_entry.filename.c_str());
+				language_entry.displayvalue = language_entry.filename;
+			}
+			Language_List.push_back(language_entry);
+		}
+		doc->clear();
+		delete doc;
+		free(xmlFile);
+	}
+	closedir(d);
+}
+
+void PageManager::LoadLanguageList(ZipArchive* package) {
+	Language_List.clear();
+	if (TWFunc::Path_Exists(TWRES "customlanguages"))
+		TWFunc::removeDir(TWRES "customlanguages", true);
+	if (package) {
+		TWFunc::Recursive_Mkdir(TWRES "customlanguages");
+		struct utimbuf timestamp = { 1217592000, 1217592000 };  // 8/1/2008 default
+		mzExtractRecursive(package, "languages", TWRES "customlanguages/", &timestamp, NULL, NULL, NULL);
+		LoadLanguageListDir(TWRES "customlanguages/");
+	} else {
+		LoadLanguageListDir(TWRES "languages/");
+	}
+}
+
+void PageManager::LoadLanguage(string filename) {
+	string actual_filename;
+	if (TWFunc::Path_Exists(TWRES "customlanguages/" + filename + ".xml"))
+		actual_filename = TWRES "customlanguages/" + filename + ".xml";
+	else
+		actual_filename = TWRES "languages/" + filename + ".xml";
+	char* xmlFile = PageManager::LoadFileToBuffer(actual_filename, NULL);
+	if (xmlFile == NULL)
+		LOGERR("Unable to load '%s'\n", actual_filename.c_str());
+	else {
+		mCurrentSet->LoadLanguage(xmlFile, NULL);
+		free(xmlFile);
+	}
+	PartitionManager.Translate_Partition_Display_Names();
+}
+
 int PageManager::LoadPackage(std::string name, std::string package, std::string startpage)
 {
 	int fd;
 	ZipArchive zip, *pZip = NULL;
 	long len;
 	char* xmlFile = NULL;
+	char* languageFile = NULL;
 	PageSet* pageSet = NULL;
 	int ret;
 	MemMapping map;
@@ -1201,6 +1345,8 @@
 		LOGINFO("Load XML directly\n");
 		tw_x_offset = TW_X_OFFSET;
 		tw_y_offset = TW_Y_OFFSET;
+		LoadLanguageList(NULL);
+		languageFile = LoadFileToBuffer(TWRES "languages/en.xml", NULL);
 	}
 	else
 	{
@@ -1220,6 +1366,8 @@
 		}
 		pZip = &zip;
 		package = "ui.xml";
+		LoadLanguageList(pZip);
+		languageFile = LoadFileToBuffer("languages/en.xml", pZip);
 	}
 
 	xmlFile = LoadFileToBuffer(package, pZip);
@@ -1230,8 +1378,11 @@
 	// Before loading, mCurrentSet must be the loading package so we can find resources
 	pageSet = mCurrentSet;
 	mCurrentSet = new PageSet(xmlFile);
-
-	ret = mCurrentSet->Load(pZip, xmlFile);
+	ret = mCurrentSet->Load(pZip, xmlFile, languageFile);
+	if (languageFile) {
+		free(languageFile);
+		languageFile = NULL;
+	}
 	if (ret == 0)
 	{
 		mCurrentSet->SetPage(startpage);
@@ -1253,6 +1404,8 @@
 		sysReleaseMap(&map);
 	}
 	free(xmlFile);
+	if (languageFile)
+		free(languageFile);
 	return ret;
 
 error:
@@ -1313,7 +1466,7 @@
 
 	if (LoadPackage(name, package, mStartPage) != 0)
 	{
-		LOGERR("Failed to load package '%s'.\n", package.c_str());
+		LOGINFO("Failed to load package '%s'.\n", package.c_str());
 		mPageSets.insert(std::pair<std::string, PageSet*>(name, set));
 		return -1;
 	}
@@ -1322,6 +1475,7 @@
 	if (mBaseSet == set)
 		mBaseSet = mCurrentSet;
 	delete set;
+	GUIConsole::Translate_Now();
 	return 0;
 }
 
@@ -1364,6 +1518,18 @@
 			ret_val = 1;
 		}
 	}
+	if (ret_val == 0) {
+		if (DataManager::GetStrValue("tw_language") != "en.xml") {
+			LOGINFO("Loading language '%s'\n", DataManager::GetStrValue("tw_language").c_str());
+			LoadLanguage(DataManager::GetStrValue("tw_language"));
+		}
+	}
+
+	// This makes the console re-translate
+	last_message_count = 0;
+	gConsole.clear();
+	gConsoleColor.clear();
+
 	return ret_val;
 }
 
@@ -1511,6 +1677,12 @@
 	return (mCurrentSet ? mCurrentSet->NotifyVarChange(varName, value) : -1);
 }
 
+void PageManager::AddStringResource(std::string resource_source, std::string resource_name, std::string value)
+{
+	if (mCurrentSet)
+		mCurrentSet->AddStringResource(resource_source, resource_name, value);
+}
+
 extern "C" void gui_notifyVarChange(const char *name, const char* value)
 {
 	if (!gGuiRunning)
diff --git a/gui/pages.hpp b/gui/pages.hpp
index 018c2ca..5dcc9e0 100644
--- a/gui/pages.hpp
+++ b/gui/pages.hpp
@@ -6,7 +6,9 @@
 #include "../minzip/Zip.h"
 #include <vector>
 #include <map>
+#include <string>
 #include "rapidxml.hpp"
+#include "gui.hpp"
 using namespace rapidxml;
 
 enum TOUCH_STATE {
@@ -27,12 +29,18 @@
 		: red(r), green(g), blue(b), alpha(a) {}
 };
 
+struct language_struct {
+	std::string filename;
+	std::string displayvalue;
+};
+
+extern std::vector<language_struct> Language_List;
+
 // Utility Functions
 int ConvertStrToColor(std::string str, COLOR* color);
 int gui_forceRender(void);
 int gui_changePage(std::string newPage);
 int gui_changeOverlay(std::string newPage);
-std::string gui_parse_text(string inText);
 
 class Resource;
 class ResourceManager;
@@ -82,7 +90,8 @@
 	virtual ~PageSet();
 
 public:
-	int Load(ZipArchive* package, char* xmlFile);
+	int LoadLanguage(char* languageFile, ZipArchive* package);
+	int Load(ZipArchive* package, char* xmlFile, char* languageFile);
 	int CheckInclude(ZipArchive* package, xml_document<> *parentDoc);
 
 	Page* FindPage(std::string name);
@@ -103,6 +112,7 @@
 	int NotifyVarChange(std::string varName, std::string value);
 
 	std::vector<xml_node<>*> styles;
+	void AddStringResource(std::string resource_source, std::string resource_name, std::string value);
 
 protected:
 	int LoadPages(xml_node<>* pages);
@@ -121,6 +131,8 @@
 public:
 	// Used by GUI
 	static char* LoadFileToBuffer(std::string filename, ZipArchive* package);
+	static void LoadLanguageList(ZipArchive* package);
+	static void LoadLanguage(std::string filename);
 	static int LoadPackage(std::string name, std::string package, std::string startpage);
 	static PageSet* SelectPackage(std::string name);
 	static int ReloadPackage(std::string name, std::string package);
@@ -155,9 +167,14 @@
 	static HardwareKeyboard *GetHardwareKeyboard();
 
 	static xml_node<>* FindStyle(std::string name);
+	static void AddStringResource(std::string resource_source, std::string resource_name, std::string value);
 
 protected:
 	static PageSet* FindPackage(std::string name);
+	static void LoadLanguageListDir(std::string dir);
+	static void Translate_Partition(const char* path, const char* resource_name, const char* default_value);
+	static void Translate_Partition(const char* path, const char* resource_name, const char* default_value, const char* storage_resource_name, const char* storage_default_value);
+	static void Translate_Partition_Display_Names();
 
 protected:
 	static std::map<std::string, PageSet*> mPageSets;
diff --git a/gui/resources.cpp b/gui/resources.cpp
index 253d438..a8f4199 100644
--- a/gui/resources.cpp
+++ b/gui/resources.cpp
@@ -100,6 +100,13 @@
 FontResource::FontResource(xml_node<>* node, ZipArchive* pZip)
  : Resource(node, pZip)
 {
+	origFontSize = 0;
+	origFont = NULL;
+	LoadFont(node, pZip);
+}
+
+void FontResource::LoadFont(xml_node<>* node, ZipArchive* pZip)
+{
 	std::string file;
 	xml_attribute<>* attr;
 
@@ -116,12 +123,21 @@
 	if(file.size() >= 4 && file.compare(file.size()-4, 4, ".ttf") == 0)
 	{
 		m_type = TYPE_TTF;
+		int font_size = 0;
 
-		attr = node->first_attribute("size");
-		if(!attr)
-			return;
+		if (origFontSize != 0) {
+			attr = node->first_attribute("scale");
+			if (attr == NULL)
+				return;
+			font_size = origFontSize * atoi(attr->value()) / 100;
+		} else {
+			attr = node->first_attribute("size");
+			if (attr == NULL)
+				return;
+			font_size = scale_theme_min(atoi(attr->value()));
+			origFontSize = font_size;
+		}
 
-		int size = scale_theme_min(atoi(attr->value()));
 		int dpi = 300;
 
 		attr = node->first_attribute("dpi");
@@ -130,13 +146,13 @@
 
 		if (ExtractResource(pZip, "fonts", file, "", TMP_RESOURCE_NAME) == 0)
 		{
-			mFont = gr_ttf_loadFont(TMP_RESOURCE_NAME, size, dpi);
+			mFont = gr_ttf_loadFont(TMP_RESOURCE_NAME, font_size, dpi);
 			unlink(TMP_RESOURCE_NAME);
 		}
 		else
 		{
 			file = std::string(TWRES "fonts/") + file;
-			mFont = gr_ttf_loadFont(file.c_str(), size, dpi);
+			mFont = gr_ttf_loadFont(file.c_str(), font_size, dpi);
 		}
 	}
 	else
@@ -145,13 +161,28 @@
 	}
 }
 
+void FontResource::DeleteFont() {
+	if(mFont)
+		gr_ttf_freeFont(mFont);
+	mFont = NULL;
+	if(origFont)
+		gr_ttf_freeFont(origFont);
+	origFont = NULL;
+}
+
+void FontResource::Override(xml_node<>* node, ZipArchive* pZip) {
+	if (!origFont) {
+		origFont = mFont;
+	} else if (mFont) {
+		gr_ttf_freeFont(mFont);
+		mFont = NULL;
+	}
+	LoadFont(node, pZip);
+}
+
 FontResource::~FontResource()
 {
-	if(mFont)
-	{
-		if(m_type == TYPE_TTF)
-			gr_ttf_freeFont(mFont);
-	}
+	DeleteFont();
 }
 
 ImageResource::ImageResource(xml_node<>* node, ZipArchive* pZip)
@@ -255,17 +286,58 @@
 
 std::string ResourceManager::FindString(const std::string& name) const
 {
-	std::map<std::string, std::string>::const_iterator it = mStrings.find(name);
-	if (it != mStrings.end())
-		return it->second;
+	if (this != NULL) {
+		std::map<std::string, string_resource_struct>::const_iterator it = mStrings.find(name);
+		if (it != mStrings.end())
+			return it->second.value;
+		LOGERR("String resource '%s' not found. No default value.\n", name.c_str());
+		PageManager::AddStringResource("NO DEFAULT", name, "[" + name + ("]"));
+	} else {
+		LOGINFO("String resources not loaded when looking for '%s'. No default value.\n", name.c_str());
+	}
 	return "[" + name + ("]");
 }
 
+std::string ResourceManager::FindString(const std::string& name, const std::string& default_string) const
+{
+	if (this != NULL) {
+		std::map<std::string, string_resource_struct>::const_iterator it = mStrings.find(name);
+		if (it != mStrings.end())
+			return it->second.value;
+		LOGERR("String resource '%s' not found. Using default value.\n", name.c_str());
+		PageManager::AddStringResource("DEFAULT", name, default_string);
+	} else {
+		LOGINFO("String resources not loaded when looking for '%s'. Using default value.\n", name.c_str());
+	}
+	return default_string;
+}
+
+void ResourceManager::DumpStrings() const
+{
+	if (this == NULL) {
+		gui_print("No string resources\n");
+		return;
+	}
+	std::map<std::string, string_resource_struct>::const_iterator it;
+	gui_print("Dumping all strings:\n");
+	for (it = mStrings.begin(); it != mStrings.end(); it++)
+		gui_print("source: %s: '%s' = '%s'\n", it->second.source.c_str(), it->first.c_str(), it->second.value.c_str());
+	gui_print("Done dumping strings\n");
+}
+
 ResourceManager::ResourceManager()
 {
 }
 
-void ResourceManager::LoadResources(xml_node<>* resList, ZipArchive* pZip)
+void ResourceManager::AddStringResource(std::string resource_source, std::string resource_name, std::string value)
+{
+	string_resource_struct res;
+	res.source = resource_source;
+	res.value = value;
+	mStrings[resource_name] = res;
+}
+
+void ResourceManager::LoadResources(xml_node<>* resList, ZipArchive* pZip, std::string resource_source)
 {
 	if (!resList)
 		return;
@@ -290,6 +362,26 @@
 				delete res;
 			}
 		}
+		else if (type == "fontoverride")
+		{
+			if (mFonts.size() != 0 && child && child->first_attribute("name")) {
+				string FontName = child->first_attribute("name")->value();
+				size_t font_count = mFonts.size(), i;
+				bool found = false;
+
+				for (i = 0; i < font_count; i++) {
+					if (mFonts[i]->GetName() == FontName) {
+						mFonts[i]->Override(child, pZip);
+						found = true;
+						break;
+					}
+				}
+				if (!found) {
+					LOGERR("Unable to locate font '%s' for override.\n", FontName.c_str());
+				}
+			} else if (mFonts.size() != 0)
+				LOGERR("Unable to locate font name for type fontoverride.\n");
+		}
 		else if (type == "image")
 		{
 			ImageResource* res = new ImageResource(child, pZip);
@@ -312,9 +404,12 @@
 		}
 		else if (type == "string")
 		{
-			if (xml_attribute<>* attr = child->first_attribute("name"))
-				mStrings[attr->value()] = child->value();
-			else
+			if (xml_attribute<>* attr = child->first_attribute("name")) {
+				string_resource_struct res;
+				res.source = resource_source;
+				res.value = child->value();
+				mStrings[attr->value()] = res;
+			} else
 				error = true;
 		}
 		else
diff --git a/gui/resources.hpp b/gui/resources.hpp
index 0eb3267..ce06d96 100644
--- a/gui/resources.hpp
+++ b/gui/resources.hpp
@@ -6,6 +6,7 @@
 #include <string>
 #include <vector>
 #include <map>
+#include "rapidxml.hpp"
 
 struct ZipArchive;
 
@@ -49,10 +50,19 @@
 public:
 	void* GetResource() { return this ? mFont : NULL; }
 	int GetHeight() { return gr_getMaxFontHeight(this ? mFont : NULL); }
+	void Override(xml_node<>* node, ZipArchive* pZip);
 
 protected:
 	void* mFont;
 	Type m_type;
+
+private:
+	void LoadFont(xml_node<>* node, ZipArchive* pZip);
+	void DeleteFont();
+
+private:
+	int origFontSize;
+	void* origFont;
 };
 
 class ImageResource : public Resource
@@ -92,19 +102,26 @@
 public:
 	ResourceManager();
 	virtual ~ResourceManager();
-	void LoadResources(xml_node<>* resList, ZipArchive* pZip);
+	void AddStringResource(std::string resource_source, std::string resource_name, std::string value);
+	void LoadResources(xml_node<>* resList, ZipArchive* pZip, std::string resource_source);
 
 public:
 	FontResource* FindFont(const std::string& name) const;
 	ImageResource* FindImage(const std::string& name) const;
 	AnimationResource* FindAnimation(const std::string& name) const;
 	std::string FindString(const std::string& name) const;
+	std::string FindString(const std::string& name, const std::string& default_string) const;
+	void DumpStrings() const;
 
 private:
+	struct string_resource_struct {
+		std::string value;
+		std::string source;
+	};
 	std::vector<FontResource*> mFonts;
 	std::vector<ImageResource*> mImages;
 	std::vector<AnimationResource*> mAnimations;
-	std::map<std::string, std::string> mStrings;
+	std::map<std::string, string_resource_struct> mStrings;
 };
 
 #endif  // _RESOURCE_HEADER
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
old mode 100644
new mode 100755
index a6b38a2..938c854
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -193,7 +193,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Team Win Recovery Project</text>
+				<text>{@twrp_header=Team Win Recovery Project}</text>
 			</text>
 
 			<text style="text_m">
@@ -204,7 +204,7 @@
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>Install</text>
+				<text>{@install_btn=Install}</text>
 				<actions>
 					<action function="queueclear"/>
 					<action function="set">tw_selectimage=0</action>
@@ -214,43 +214,43 @@
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row2_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_btn=Wipe}</text>
 				<action function="page">wipe</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row6a_y%"/>
-				<text>Backup</text>
+				<text>{@backup_btn=Backup}</text>
 				<action function="page">backup</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row6a_y%"/>
-				<text>Restore</text>
+				<text>{@restore_btn=Restore}</text>
 				<action function="page">restore</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>Mount</text>
+				<text>{@mount_btn=Mount}</text>
 				<action function="page">mount</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row11_y%"/>
-				<text>Settings</text>
+				<text>{@settings_btn=Settings}</text>
 				<action function="page">settings</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row15a_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_btn=Advanced}</text>
 				<action function="page">advanced</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row15a_y%"/>
-				<text>Reboot</text>
+				<text>{@reboot_btn=Reboot}</text>
 				<action function="page">reboot</action>
 			</button>
 		</page>
@@ -261,25 +261,25 @@
 			<text style="text_l">
 				<condition var1="tw_selectimage" var2="0"/>
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Zip</text>
+				<text>{@install_zip_hdr=Install Zip}</text>
 			</text>
 
 			<text style="text_l">
 				<condition var1="tw_selectimage" var2="1"/>
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Image</text>
+				<text>{@install_image_hdr=Install Image}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Select File from %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@select_file_from_storage=Select File from %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<template name="sort_options"/>
 
 			<fileselector>
 				<placement x="%col1_x_left%" y="%row1a_y%" w="%fileselector_install_folder_width%" h="%fileselector_install_height%"/>
-				<text>Folders</text>
+				<text>{@file_selector_folders_hdr=Folders}</text>
 				<filter folders="1" files="0"/>
 				<path name="tw_zip_location" default="/sdcard"/>
 				<data name="select"/>
@@ -308,7 +308,7 @@
 			<button style="main_button_half_width_low">
 				<condition var1="tw_selectimage" var2="0"/>
 				<placement x="%col_button_right%" y="%row13a_y%"/>
-				<text>Install Image</text>
+				<text>{@install_image_btn=Install Image}</text>
 				<actions>
 					<action function="set">tw_selectimage=1</action>
 					<action function="page">install</action>
@@ -318,7 +318,7 @@
 			<button style="main_button_half_width_low">
 				<condition var1="tw_selectimage" var2="1"/>
 				<placement x="%col_button_right%" y="%row13a_y%"/>
-				<text>Install Zip</text>
+				<text>{@install_zip_btn=Install Zip}</text>
 				<actions>
 					<action function="set">tw_selectimage=0</action>
 					<action function="page">install</action>
@@ -327,7 +327,7 @@
 
 			<button style="main_button_half_width_low">
 				<placement x="%col_button_right%" y="%row16a_y%"/>
-				<text>Select Storage</text>
+				<text>{@select_storage_btn=Select Storage}</text>
 				<actions>
 					<action function="set">tw_back=install</action>
 					<action function="overlay">select_storage</action>
@@ -369,32 +369,32 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Zip</text>
+				<text>{@install_zip_hdr=Install Zip}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>%tw_zip_queue_count% of max of 10 Files queued</text>
+				<text>{@zip_queue_count=%tw_zip_queue_count% of max of 10 Files queued}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>This operation may install incompatible</text>
+				<text>{@zip_warn1=This operation may install incompatible}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>software and render your device unusable.</text>
+				<text>{@zip_warn2=software and render your device unusable.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>Press back to cancel adding this zip.</text>
+				<text>{@zip_back_cancel=Press back to cancel adding this zip.}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row8_y%"/>
-				<text>Folder:</text>
+				<text>{@folder=Folder:}</text>
 			</text>
 
 			<text style="text_m">
@@ -404,7 +404,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>File:</text>
+				<text>{@file=File:}</text>
 			</text>
 
 			<text style="text_m">
@@ -414,31 +414,31 @@
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row8_y%"/>
-				<text>Options:</text>
+				<text>{@options=Options:}</text>
 			</text>
 
 			<checkbox>
 				<placement x="%col1_x_right%" y="%row9_y%"/>
-				<text>Zip file signature verification</text>
+				<text>{@zip_sig_chk=Zip signature verification}</text>
 				<data variable="tw_signed_zip_verify"/>
 			</checkbox>
 
 			<checkbox>
 				<condition var1="tw_has_injecttwrp" var2="1"/>
 				<placement x="%col1_x_right%" y="%row10a_y%"/>
-				<text>Inject TWRP after install</text>
+				<text>{@inject_twrp_chk=Inject TWRP after install}</text>
 				<data variable="tw_inject_after_zip"/>
 			</checkbox>
 
 			<button style="main_button_half_width">
 				<placement x="%col1_x_left%" y="%row15a_y%"/>
-				<text>Add more Zips</text>
+				<text>{@zip_add_btn=Add more Zips}</text>
 				<action function="page">install</action>
 			</button>
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_left%" y="%row15a_y%"/>
-				<text>Clear Zip Queue</text>
+				<text>{@zip_clear_btn=Clear Zip Queue}</text>
 				<actions>
 					<action function="queueclear"/>
 					<action function="page">install</action>
@@ -446,7 +446,7 @@
 			</button>
 
 			<slider>
-				<text>Swipe to confirm Flash</text>
+				<text>{@swipe_flash=Swipe to confirm Flash}</text>
 				<action function="flash">flash_zip</action>
 			</slider>
 
@@ -469,7 +469,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Zip %tw_zip_index% of %tw_zip_queue_count%</text>
+				<text>{@install_zip_count_hdr=Install Zip %tw_zip_index% of %tw_zip_queue_count%}</text>
 			</text>
 
 			<text style="text_m">
@@ -492,26 +492,26 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Zip</text>
+				<text>{@install_zip_hdr=Install Zip}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<condition var1="tw_operation_status" op="!=" var2="0"/>
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Failed</text>
+				<text>{@failed=Failed}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_operation_status" var2="0"/>
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Successful</text>
+				<text>{@successful=Successful}</text>
 			</text>
 
 			<template name="console"/>
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_left%" y="%row15a_y%"/>
-				<text>Wipe cache/dalvik</text>
+				<text>{@wipe_cache_dalvik_btn=Wipe cache/dalvik}</text>
 				<actions>
 					<action function="set">tw_back=flash_done</action>
 					<action function="set">tw_action=wipe</action>
@@ -519,30 +519,30 @@
 					<action function="set">tw_has_action2=1</action>
 					<action function="set">tw_action2=wipe</action>
 					<action function="set">tw_action2_param=dalvik</action>
-					<action function="set">tw_text1=Wipe Cache &amp; Dalvik?</action>
-					<action function="set">tw_action_text1=Wiping Cache &amp; Dalvik...</action>
-					<action function="set">tw_complete_text1=Cache &amp; Dalvik Wipe Complete</action>
-					<action function="set">tw_slider_text=Swipe to Wipe</action>
+					<action function="set">tw_text1={@wipe_cache_dalvik_confirm=Wipe Cache &amp; Dalvik?}</action>
+					<action function="set">tw_action_text1={@wiping_cache_dalvik=Wiping Cache &amp; Dalvik...}</action>
+					<action function="set">tw_complete_text1={@wipe_cache_dalvik_complete=Cache &amp; Dalvik Wipe Complete}</action>
+					<action function="set">tw_slider_text={@swipe_wipe=Swipe to Wipe}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_width">
 				<placement x="%center_x%" y="%row15a_y%"/>
-				<text>Reboot System</text>
+				<text>{@reboot_system_btn=Reboot System}</text>
 				<actions>
 					<action function="set">tw_back=main2</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=system</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
 					<action function="set">tw_text3=</action>
 					<action function="set">tw_text4=</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
 					<action function="set">tw_action_text2=</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -569,32 +569,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Image</text>
+				<text>{@install_image_hdr=Install Image}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Select Target Partition</text>
-			</text>
-
-			<text style="text_m_accent">
-				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>This operation may install incompatible</text>
-			</text>
-
-			<text style="text_m_accent">
-				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>software and render your device unusable.</text>
-			</text>
-
-			<text style="text_m">
-				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>Press back to cancel adding this image.</text>
+				<text>{@install_sel_target=Select Target Partition}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row8_y%"/>
-				<text>Folder:</text>
+				<text>{@folder=Folder:}</text>
 			</text>
 
 			<text style="text_m">
@@ -604,7 +589,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>File:</text>
+				<text>{@file=File:}</text>
 			</text>
 
 			<text style="text_m">
@@ -615,20 +600,20 @@
 			<partitionlist>
 				<placement x="%col1_x_right%" y="%row7a_y%" w="%content_half_width%" h="%partitionlist_flashimage_height%"/>
 				<icon selected="radio_true" unselected="radio_false"/>
-				<text>Select Partition to Flash Image:</text>
+				<text>{@flash_image_select=Select Partition to Flash Image:}</text>
 				<data name="tw_flash_partition"/>
 				<listtype name="flashimg"/>
 			</partitionlist>
 
 			<slider>
-				<text>Swipe to confirm Flash</text>
+				<text>{@swipe_flash=Swipe to confirm Flash}</text>
 				<actions>
 					<action function="set">tw_back=flashimage_confirm</action>
 					<action function="set">tw_action=flashimage</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_action_text1=Flashing Image...</action>
+					<action function="set">tw_action_text1={@flashing_image=Flashing Image...}</action>
 					<action function="set">tw_action_text2=</action>
-					<action function="set">tw_complete_text1=Image Flashed</action>
+					<action function="set">tw_complete_text1={@image_flashed=Image Flashed}</action>
 					<action function="page">action_page</action>
 				</actions>
 				<action function="flashimage"/>
@@ -678,7 +663,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Confirm Action</text>
+				<text>{@confirm_action=Confirm Action}</text>
 			</text>
 
 			<text style="text_m">
@@ -708,7 +693,7 @@
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row7_y%" placement="5"/>
-				<text>Press back button to cancel.</text>
+				<text>{@back_cancel=Press back button to cancel.}</text>
 			</text>
 
 			<slider style="slider_centered">
@@ -750,7 +735,7 @@
 			<button style="main_button_half_width">
 				<condition var1="tw_has_cancel" var2="1"/>
 				<placement x="%col2_x_right%" y="%row15a_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="%tw_cancel_action%">%tw_cancel_param%</action>
 			</button>
 
@@ -828,20 +813,20 @@
 			<text style="text_m_fail">
 				<condition var1="tw_operation_status" op="!=" var2="0"/>
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Failed</text>
+				<text>{@failed=Failed}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_operation_status" var2="0"/>
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Successful</text>
+				<text>{@successful=Successful}</text>
 			</text>
 
 			<template name="console"/>
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_left%" y="%row15a_y%"/>
-				<text>Back</text>
+				<text>{@back_btn=Back}</text>
 				<actions>
 					<action function="set">tw_clear_destination=%tw_back%</action>
 					<action function="page">clear_vars</action>
@@ -850,20 +835,20 @@
 
 			<button style="main_button_half_width">
 				<placement x="%center_x%" y="%row15a_y%"/>
-				<text>Reboot System</text>
+				<text>{@reboot_system_btn=Reboot System}</text>
 				<actions>
 					<action function="set">tw_back=main2</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=system</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
 					<action function="set">tw_text3=</action>
 					<action function="set">tw_text4=</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
 					<action function="set">tw_action_text2=</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -930,23 +915,23 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_hdr=Wipe}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Factory Reset</text>
+				<text>{@factory_reset_hdr=Factory Reset}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Wipes Data, Cache, and Dalvik</text>
+				<text>{@factory_reset1=Wipes Data, Cache, and Dalvik}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<condition var1="tw_has_data_media" var2="1"/>
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>(not including internal storage)</text>
+				<text>{@factory_reset2=(not including internal storage)}</text>
 			</text>
 
 			<text style="text_m_accent">
@@ -955,33 +940,33 @@
 					<condition var1="fileexists" var2="/and-sec"/>
 				</conditions>
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>Android Secure</text>
+				<text>{@android_secure=Android Secure}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<condition var1="tw_has_sdext_partition" var2="1"/>
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>SD-EXT</text>
+				<text>{@sdext=SD-EXT}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row7_y%" placement="5"/>
-				<text>Most of the time this is</text>
+				<text>{@factory_reset3=Most of the time this is}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row8_y%" placement="5"/>
-				<text>the only wipe that you need.</text>
+				<text>{@factory_reset4=the only wipe that you need.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row10_y%" placement="5"/>
-				<text>Press back button to cancel.</text>
+				<text>{@back_cancel=Press back button to cancel.}</text>
 			</text>
 
 			<button style="main_button_half_width">
 				<placement x="%col1_x_left%" y="%row15a_y%"/>
-				<text>Advanced Wipe</text>
+				<text>{@advanced_wipe_btn=Advanced Wipe}</text>
 				<actions>
 					<action function="set">partitionlisterror=0</action>
 					<action function="page">advancedwipe</action>
@@ -991,7 +976,7 @@
 			<button style="main_button_half_width">
 				<condition var1="tw_has_data_media" var2="1"/>
 				<placement x="%col2_x_left%" y="%row15a_y%"/>
-				<text>Format Data</text>
+				<text>{@format_data_btn=Format Data}</text>
 				<action function="page">formatdata</action>
 			</button>
 
@@ -1001,29 +986,29 @@
 					<condition var1="tw_has_data_media" var2="0"/>
 				</conditions>
 				<placement x="%col2_x_left%" y="%row15a_y%"/>
-				<text>Wipe Encryption</text>
+				<text>{@wipe_enc_btn=Wipe Encryption}</text>
 				<actions>
 					<action function="set">tw_back=wipe</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=DATAMEDIA</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Wipe Encryption from Data?</action>
+					<action function="set">tw_text1={@wipe_enc_confirm=Wipe Encryption from Data?}</action>
 					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting Data...</action>
-					<action function="set">tw_complete_text1=Data Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Format Data</action>
+					<action function="set">tw_action_text1={@formatting_data=Formatting Data...}</action>
+					<action function="set">tw_complete_text1={@format_data_complete=Data Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_format_data=Swipe to Format Data}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<slider>
-				<text>Swipe to Factory Reset</text>
+				<text>{@swipe_factory_reset=Swipe to Factory Reset}</text>
 				<actions>
 					<action function="set">tw_back=wipe</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=data</action>
-					<action function="set">tw_action_text1=Factory Reset...</action>
-					<action function="set">tw_complete_text1=Factory Reset Complete</action>
+					<action function="set">tw_action_text1={@factory_resetting=Factory Reset...}</action>
+					<action function="set">tw_complete_text1={@factory_reset_complete=Factory Reset Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</slider>
@@ -1048,17 +1033,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_hdr=Wipe}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Advanced Wipe</text>
+				<text>{@advanced_wipe_hdr=Advanced Wipe}</text>
 			</text>
 
 			<partitionlist>
 				<placement x="%col1_x_left%" y="%row1a_y%" w="%content_width%" h="%partitionlist_wipe_height%"/>
-				<text>Select Partitions to Wipe:</text>
+				<text>{@sel_part_wipe=Select Partitions to Wipe:}</text>
 				<data name="tw_wipe_list"/>
 				<listtype name="wipe"/>
 			</partitionlist>
@@ -1066,12 +1051,12 @@
 			<text style="text_m_fail">
 				<condition var1="partitionlisterror" var2="1"/>
 				<placement x="%col2_x_left%" y="%row14a_y%" placement="5"/>
-				<text>Invalid partition selection</text>
+				<text>{@invalid_part_sel=Invalid partition selection}</text>
 			</text>
 
 			<button style="main_button_m">
 				<placement x="%col1_x_left%" y="%row15a_y%"/>
-				<text>Repair or Change File System</text>
+				<text>{@repair_change_btn=Repair or Change File System}</text>
 				<actions>
 					<action function="checkpartitionlist"/>
 					<action function="page">checkpartitionlist</action>
@@ -1079,14 +1064,14 @@
 			</button>
 
 			<slider>
-				<text>Swipe to Wipe</text>
+				<text>{@swipe_wipe=Swipe to Wipe}</text>
 				<actions>
 					<action function="set">tw_back=advancedwipe</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=LIST</action>
-					<action function="set">tw_text1=Wipe Selected Partition(s)?</action>
-					<action function="set">tw_action_text1=Wiping Partition(s)...</action>
-					<action function="set">tw_complete_text1=Wipe Complete</action>
+					<action function="set">tw_text1={@wipe_sel_confirm=Wipe Selected Partition(s)?}</action>
+					<action function="set">tw_action_text1={@wiping_part=Wiping Partition(s)...}</action>
+					<action function="set">tw_complete_text1={@wipe_complete=Wipe Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</slider>
@@ -1107,32 +1092,32 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_hdr=Wipe}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Format Data</text>
+				<text>{@format_data_hdr=Format Data}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Format Data will wipe all of your apps, backups, pictures, videos, media, and</text>
+				<text>{@format_data_lcp1=Format Data will wipe all of your apps, backups, pictures, videos, media, and}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>removes encryption on internal storage.</text>
+				<text>{@format_data_lcp2=removes encryption on internal storage.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>This cannot be undone. Press back to cancel.</text>
+				<text>{@format_data_undo=This cannot be undone.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row6_y%" placement="5"/>
-				<text>Type yes to continue.</text>
+				<text>{@yes_continue=Type yes to continue.  Press back to cancel.}</text>
 			</text>
 
 			<input>
@@ -1167,8 +1152,8 @@
 					<action function="set">tw_back=formatdata</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=DATAMEDIA</action>
-					<action function="set">tw_action_text1=Formatting Data...</action>
-					<action function="set">tw_complete_text1=Data Format Complete</action>
+					<action function="set">tw_action_text1={@formatting_data=Formatting Data...}</action>
+					<action function="set">tw_complete_text1={@format_data_complete=Data Format Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</action>
@@ -1204,83 +1189,83 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_hdr=Wipe}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Partition Options for: %tw_partition_name%</text>
+				<text>{@part_opt_hdr=Partition Options for: %tw_partition_name%}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Mount Point: %tw_partition_mount_point%</text>
+				<text>{@part_mount_point=Mount Point: %tw_partition_mount_point%}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>Current file system: %tw_partition_file_system%</text>
+				<text>{@part_curr_fs=File system: %tw_partition_file_system%}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_is_present" var2="1"/>
 				<placement x="%col2_x_left%" y="%row5_y%"/>
-				<text>Present: Yes</text>
+				<text>{@part_present_yes=Present: Yes}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_is_present" var2="0"/>
 				<placement x="%col2_x_left%" y="%row5_y%"/>
-				<text>Present: No</text>
+				<text>{@part_present_no=Present: No}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_removable" var2="1"/>
 				<placement x="%col1_x_right%" y="%row5_y%"/>
-				<text>Removable: Yes</text>
+				<text>{@part_removable_yes=Removable: Yes}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_removable" var2="0"/>
 				<placement x="%col1_x_right%" y="%row5_y%"/>
-				<text>Removable: No</text>
+				<text>{@part_removable_no=Removable: No}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col2_x_left%" y="%row7_y%"/>
-				<text>Size: %tw_partition_size%MB</text>
+				<text>{@part_size=Size: %tw_partition_size%MB}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_right%" y="%row7_y%"/>
-				<text>Used: %tw_partition_used%MB</text>
+				<text>{@part_used=Used: %tw_partition_used%MB}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col2_x_left%" y="%row9_y%"/>
-				<text>Free: %tw_partition_free%MB</text>
+				<text>{@part_free=Free: %tw_partition_free%MB}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_right%" y="%row9_y%"/>
-				<text>Backup Size: %tw_partition_backup_size%MB</text>
+				<text>{@part_backup_size=Backup Size: %tw_partition_backup_size%MB}</text>
 			</text>
 
 			<button style="main_button_half_width">
 				<condition var1="tw_partition_can_resize" op="=" var2="1"/>
 				<placement x="%col1_x_left%" y="%row15a_y%"/>
-				<text>Resize File System</text>
+				<text>{@resize_btn=Resize File System}</text>
 				<actions>
 					<action function="set">tw_back=partitionoptions</action>
 					<action function="set">tw_action=resize</action>
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_has_action2=1</action>
 					<action function="set">tw_action2=getpartitiondetails</action>
-					<action function="set">tw_text1=Resize %tw_partition_name%?</action>
+					<action function="set">tw_text1={@resize_confirm=Resize %tw_partition_name%?}</action>
 					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Resizing...</action>
-					<action function="set">tw_complete_text1=Resize Complete</action>
-					<action function="set">tw_slider_text=Swipe to Resize</action>
+					<action function="set">tw_action_text1={@resizing=Resizing...}</action>
+					<action function="set">tw_complete_text1={@resize_complete=Resize Complete}</action>
+					<action function="set">tw_slider_text={@swipe_resize=Swipe to Resize}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1288,24 +1273,24 @@
 			<button style="main_button_half_width">
 				<condition var1="tw_partition_can_repair" op="=" var2="1"/>
 				<placement x="%col2_x_left%" y="%row15a_y%"/>
-				<text>Repair File System</text>
+				<text>{@repair_btn=Repair File System}</text>
 				<actions>
 					<action function="set">tw_back=partitionoptions</action>
 					<action function="set">tw_action=repair</action>
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Repair %tw_partition_name%?</action>
+					<action function="set">tw_text1={@repair_confirm=Repair %tw_partition_name%?}</action>
 					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Repairing...</action>
-					<action function="set">tw_complete_text1=Repair Complete</action>
-					<action function="set">tw_slider_text=Swipe to Repair</action>
+					<action function="set">tw_action_text1={@repairing=Repairing...}</action>
+					<action function="set">tw_complete_text1={@repair_complete=Repair Complete}</action>
+					<action function="set">tw_slider_text={@swipe_repair=Swipe to Repair}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_width">
 				<placement x="%center_x%" y="%row15a_y%"/>
-				<text>Change File System</text>
+				<text>{@change_fs_btn=Change File System}</text>
 				<action function="page">selectfilesystem</action>
 			</button>
 
@@ -1345,32 +1330,32 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_hdr=Wipe}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Change File System for: %tw_partition_name%</text>
+				<text>{@change_fs_for_hdr=Change File System for: %tw_partition_name%}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Mount Point: %tw_partition_mount_point%</text>
+				<text>{@part_mount_point=Mount Point: %tw_partition_mount_point%}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>Current file system: %tw_partition_file_system%</text>
+				<text>{@part_curr_fs=File system: %tw_partition_file_system%}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>Some ROMs or kernels may not support some</text>
+				<text>{@change_fs_warn1=Some ROMs or kernels may not support some}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row6_y%" placement="5"/>
-				<text>file systems. Proceed with caution!</text>
+				<text>{@change_fs_warn2=file systems. Proceed with caution!}</text>
 			</text>
 
 			<button style="main_button_half_width">
@@ -1383,11 +1368,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=ext2</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to EXT2?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=EXT2</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1402,11 +1387,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=ext3</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to EXT3?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=EXT3</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1421,11 +1406,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=ext4</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to EXT4?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=EXT4</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1440,11 +1425,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=vfat</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to FAT?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=FAT</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1459,11 +1444,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=exfat</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to exFAT?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=exFAT</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1478,11 +1463,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=f2fs</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to F2FS?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=F2FS</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1503,17 +1488,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Backup</text>
+				<text>{@backup_hdr=Backup}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@storage_hdr=Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<text style="text_m">
@@ -1536,14 +1521,14 @@
 
 			<partitionlist>
 				<placement x="%col1_x_left%" y="%row4a_y%" w="%content_half_width%" h="%partitionlist_backup_height%"/>
-				<text>Select Partitions to Backup:</text>
+				<text>{@sel_part_backup=Select Partitions to Backup:}</text>
 				<data name="tw_backup_list"/>
 				<listtype name="backup"/>
 			</partitionlist>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row2_y%"/>
-				<text>Encryption:</text>
+				<text>{@encryption=Encryption:}</text>
 			</text>
 
 			<text style="text_m">
@@ -1552,7 +1537,7 @@
 					<condition var1="tw_encrypt_backup" var2="0"/>
 				</conditions>
 				<placement x="%col1_x_right%" y="%row3_y%"/>
-				<text>disabled - set a password to enable</text>
+				<text>{@enc_disabled=disabled - set a password to enable}</text>
 			</text>
 
 			<text style="text_m">
@@ -1561,7 +1546,7 @@
 					<condition var1="tw_encrypt_backup" var2="1"/>
 				</conditions>
 				<placement x="%col1_x_right%" y="%row3_y%"/>
-				<text>enabled</text>
+				<text>{@enc_enabled=enabled}</text>
 			</text>
 
 			<fill color="%fileselector_linecolor%">
@@ -1579,30 +1564,30 @@
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row5_y%"/>
-				<text>Options:</text>
+				<text>{@options=Options:}</text>
 			</text>
 
 			<checkbox>
 				<placement x="%col1_x_right%" y="%row6_y%"/>
-				<text>Enable compression</text>
+				<text>{@enable_backup_comp_chk=Enable compression}</text>
 				<data variable="tw_use_compression"/>
 			</checkbox>
 
 			<checkbox>
 				<placement x="%col1_x_right%" y="%row7a_y%"/>
-				<text>Skip MD5 generation during backup</text>
+				<text>{@skip_md5_backup_chk=Skip MD5 generation during backup}</text>
 				<data variable="tw_skip_md5_generate"/>
 			</checkbox>
 
 			<checkbox>
 				<placement x="%col1_x_right%" y="%row9_y%"/>
-				<text>Disable Free Space Check</text>
+				<text>{@disable_backup_space_chk=Disable Free Space Check}</text>
 				<data variable="tw_disable_free_space"/>
 			</checkbox>
 
 			<button style="main_button_half_width">
 				<placement x="%col1_x_left%" y="%row15a_y%"/>
-				<text>Select Storage</text>
+				<text>{@select_storage_btn=Select Storage}</text>
 				<actions>
 					<action function="set">tw_back=backup</action>
 					<action function="overlay">select_storage</action>
@@ -1611,7 +1596,7 @@
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_left%" y="%row15a_y%"/>
-				<text>Refresh Sizes</text>
+				<text>{@refresh_sizes_btn=Refresh Sizes}</text>
 				<actions>
 					<action function="refreshsizes"/>
 					<action function="page">backup</action>
@@ -1619,7 +1604,7 @@
 			</button>
 
 			<slider>
-				<text>Swipe to Backup</text>
+				<text>{@swipe_backup=Swipe to Backup}</text>
 				<action function="page">backup_run</action>
 			</slider>
 
@@ -1636,7 +1621,7 @@
 
 		<page name="backupname1">
 			<action>
-				<condition var1="tw_backup_name" op="=" var2="(Auto Generate)"/>
+				<condition var1="tw_backup_name" op="=" var2="{@auto_generate=(Auto Generate)}"/>
 				<action function="generatebackupname"/>
 			</action>
 
@@ -1650,17 +1635,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Backup</text>
+				<text>{@backup_hdr=Backup}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@storage_hdr=Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -1688,21 +1673,21 @@
 			<text style="text_m_fail">
 				<condition var1="tw_fileexists" var2="1"/>
 				<placement x="%col1_x_left%" y="%row4_y%"/>
-				<text>A backup with that name already exists!</text>
+				<text>{@backup_name_exists=A backup with that name already exists!}</text>
 			</text>
 
 			<button style="main_button_half_width_low">
 				<placement x="%indent%" y="%row5_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
-					<action function="set">tw_backup_name=(Auto Generate)</action>
+					<action function="set">tw_backup_name={@auto_generate=(Auto Generate)}</action>
 					<action function="page">backup</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_width_low">
 				<placement x="%date_button_x%" y="%row5_y%"/>
-				<text>Append Date</text>
+				<text>{@append_date_btn=Append Date}</text>
 				<action function="appenddatetobackupname"/>
 			</button>
 
@@ -1711,7 +1696,7 @@
 			<action>
 				<touch key="home"/>
 				<actions>
-					<action function="set">tw_backup_name=(Auto Generate)</action>
+					<action function="set">tw_backup_name={@auto_generate=(Auto Generate)}</action>
 					<action function="page">main</action>
 				</actions>
 			</action>
@@ -1719,7 +1704,7 @@
 			<action>
 				<touch key="back"/>
 				<actions>
-					<action function="set">tw_backup_name=(Auto Generate)</action>
+					<action function="set">tw_backup_name={@auto_generate=(Auto Generate)}</action>
 					<action function="page">backup</action>
 				</actions>
 			</action>
@@ -1730,17 +1715,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Backup</text>
+				<text>{@backup_hdr=Backup}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@storage_hdr=Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row2_y%"/>
-				<text>Encryption Password:</text>
+				<text>{@enter_pass=Enter Password:}</text>
 			</text>
 
 			<input>
@@ -1763,12 +1748,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_password_not_match" var2="1"/>
 				<placement x="%col1_x_right%" y="%row4_y%"/>
-				<text>Passwords do not match!</text>
+				<text>{@pass_not_match=Passwords do not match!}</text>
 			</text>
 
 			<button style="main_button_half_width_low">
 				<placement x="%center_x%" y="%row5_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_encrypt_backup=0</action>
 					<action function="set">tw_backup_password=</action>
@@ -1797,17 +1782,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Backup</text>
+				<text>{@backup_hdr=Backup}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@storage_hdr=Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row2_y%"/>
-				<text>Encryption Password:</text>
+				<text>{@enter_pass=Enter Password:}</text>
 			</text>
 
 			<input>
@@ -1824,12 +1809,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_right%" y="%row4_y%"/>
-				<text>Enter Password again!</text>
+				<text>{@enter_pass2=Enter Password again:}</text>
 			</text>
 
 			<button style="main_button_half_width_low">
 				<placement x="%center_x%" y="%row5_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_encrypt_backup=0</action>
 					<action function="set">tw_backup_password=</action>
@@ -1895,7 +1880,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%progress_text_x%" y="%progress_text_y%"/>
-				<text>Progress:</text>
+				<text>{@progress=Progress:}</text>
 			</text>
 
 			<text style="text_m">
@@ -1910,7 +1895,7 @@
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_right%" y="%row15a_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="cancelbackup"/>
 			</button>
 
@@ -1923,7 +1908,7 @@
 				<condition var1="tw_cancel_backup" var2="0"/>
 				<actions>
 					<action function="set">tw_back=backup</action>
-					<action function="set">tw_complete_text1=Backup Complete</action>
+					<action function="set">tw_complete_text1={@backup_complete=Backup Complete}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_complete</action>
 				</actions>
@@ -1934,7 +1919,7 @@
 				<condition var1="tw_cancel_backup" var2="1"/>
 				<actions>
 					<action function="set">tw_back=backup</action>
-					<action function="set">tw_complete_text1=Backup Cancelled</action>
+					<action function="set">tw_complete_text1={@backup_cancel=Backup Cancelled}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_complete</action>
 				</actions>
@@ -1946,19 +1931,19 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Select Backup from %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@restore_sel_store_hdr=Select Backup from %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<template name="sort_options"/>
 
 			<fileselector>
 				<placement x="%col1_x_left%" y="%row1a_y%" w="%content_quarter_width%" h="%fileselector_install_height%"/>
-				<text>Select Package to Restore:</text>
+				<text>{@restore_sel_pack_fs=Select Package to Restore:}</text>
 				<filter folders="1" files="0" nav="0"/>
 				<path name="tw_backups_folder"/>
 				<data name="tw_restore" default=""/>
@@ -1967,7 +1952,7 @@
 
 			<button style="main_button_half_width_low">
 				<placement x="%col_button_right%" y="%row16a_y%"/>
-				<text>Select Storage</text>
+				<text>{@select_storage_btn=Select Storage}</text>
 				<actions>
 					<action function="set">tw_back=restore</action>
 					<action function="overlay">select_storage</action>
@@ -2015,17 +2000,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Encrypted Backup</text>
+				<text>{@restore_enc_backup_hdr=Encrypted Backup}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Enter Password:</text>
+				<text>{@enter_pass=Enter Password:}</text>
 			</text>
 
 			<input>
@@ -2048,12 +2033,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_password_fail" var2="1"/>
 				<placement x="%col1_x_left%" y="%row5_y%"/>
-				<text>Password failed, please try again!</text>
+				<text>{@restore_dec_fail=Password failed, please try again!}</text>
 			</text>
 
 			<button style="main_button_half_width_low">
 				<placement x="%indent%" y="%row6_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_page_done=1</action>
 					<action function="page">restore</action>
@@ -2062,16 +2047,17 @@
 
 			<button style="main_button_half_width_low">
 				<placement x="%col_button_right%" y="%row6_y%"/>
-				<text>Delete Backup</text>
+				<text>{@del_backup_btn=Delete Backup}</text>
 				<actions>
 					<action function="set">tw_back=restore</action>
 					<action function="set">tw_action=cmd</action>
 					<action function="set">tw_action_param=cd %tw_backups_folder% &amp;&amp; rm -rf "%tw_restore_name%"</action>
-					<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
-					<action function="set">tw_text2=This cannot be undone!</action>
-					<action function="set">tw_action_text1=Deleting Backup...</action>
-					<action function="set">tw_complete_text1=Backup Delete Complete</action>
-					<action function="set">tw_slider_text=Swipe to Delete</action>
+					<action function="set">tw_text1={@del_backup_confirm=Delete Backup?}</action>
+					<action function="set">tw_text2=%tw_restore_name%</action>
+					<action function="set">tw_text4={@del_backup_confirm2=This cannot be undone!}</action>
+					<action function="set">tw_action_text1={@deleting_backup=Deleting Backup...}</action>
+					<action function="set">tw_complete_text1={@backup_deleted=Backup Delete Complete}</action>
+					<action function="set">tw_slider_text={@swipe_delete=Swipe to Delete}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -2094,12 +2080,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Encrypted Backup - Trying Decryption</text>
+				<text>{@restore_try_decrypt=Encrypted Backup - Trying Decryption}</text>
 			</text>
 
 			<template name="console"/>
@@ -2138,17 +2124,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Backup made on %tw_restore_file_date%</text>
+				<text>{@restore_backup_date=Backup made on %tw_restore_file_date%}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<text style="text_m">
@@ -2172,41 +2158,41 @@
 
 			<partitionlist>
 				<placement x="%col1_x_left%" y="%row4a_y%" w="%content_half_width%" h="%partitionlist_backup_height%"/>
-				<text>Select Partitions to Restore:</text>
+				<text>{@restore_sel_part=Select Partitions to Restore:}</text>
 				<data name="tw_restore_list" selectedlist="tw_restore_selected"/>
 				<listtype name="restore"/>
 			</partitionlist>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row5_y%"/>
-				<text>Options:</text>
+				<text>{@options=Options:}</text>
 			</text>
 
 			<checkbox>
 				<placement x="%col1_x_right%" y="%row6_y%"/>
-				<text>Enable MD5 Verification of Backup Files</text>
+				<text>{@retore_enable_md5_chk=Enable MD5 Verification of Backup Files}</text>
 				<data variable="tw_skip_md5_check"/>
 			</checkbox>
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_left%" y="%row15a_y%"/>
-				<text>Delete Backup</text>
+				<text>{@del_backup_btn=Delete Backup}</text>
 				<actions>
 					<action function="set">tw_back=restore</action>
 					<action function="set">tw_action=cmd</action>
 					<action function="set">tw_action_param=cd %tw_backups_folder% &amp;&amp; rm -rf "%tw_restore_name%"</action>
-					<action function="set">tw_text1=Delete Backup?</action>
+					<action function="set">tw_text1={@del_backup_confirm=Delete Backup?}</action>
 					<action function="set">tw_text2=%tw_restore_name%</action>
-					<action function="set">tw_text4=This cannot be undone!</action>
-					<action function="set">tw_action_text1=Deleting Backup...</action>
-					<action function="set">tw_complete_text1=Backup Delete Complete</action>
-					<action function="set">tw_slider_text=Swipe to Delete</action>
+					<action function="set">tw_text4={@del_backup_confirm2=This cannot be undone!}</action>
+					<action function="set">tw_action_text1={@deleting_backup=Deleting Backup...}</action>
+					<action function="set">tw_complete_text1={@backup_deleted=Backup Delete Complete}</action>
+					<action function="set">tw_slider_text={@swipe_delete=Swipe to Delete}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<slider>
-				<text>Swipe to Restore</text>
+				<text>{@swipe_restore=Swipe to Restore}</text>
 				<action function="page">restore_run</action>
 			</slider>
 
@@ -2226,17 +2212,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Rename Backup</text>
+				<text>{@rename_backup_hdr=Rename Backup}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -2248,11 +2234,11 @@
 					<action function="set">tw_back=restore</action>
 					<action function="set">tw_action=cmd</action>
 					<action function="set">tw_action_param=cd %tw_backups_folder% &amp;&amp; mv "%tw_restore_name%" "%tw_backup_rename%"</action>
-					<action function="set">tw_text1=Rename Backup?</action>
-					<action function="set">tw_text2=This cannot be undone!</action>
-					<action function="set">tw_action_text1=Renaming Backup...</action>
-					<action function="set">tw_complete_text1=Backup Rename Complete</action>
-					<action function="set">tw_slider_text=Swipe to Rename</action>
+					<action function="set">tw_text1={@rename_backup_confirm=Rename Backup?}</action>
+					<action function="set">tw_text2={@rename_backup_confirm2=This cannot be undone!}</action>
+					<action function="set">tw_action_text1={@renaming_backup=Renaming Backup...}</action>
+					<action function="set">tw_complete_text1={@rename_backup_complete=Backup Rename Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_rename=Swipe to Rename}</action>
 					<action function="set">tw_filecheck=%tw_backups_folder%/%tw_backup_rename%</action>
 					<action function="set">tw_existpage=renamebackup</action>
 					<action function="set">tw_notexistpage=confirm_action</action>
@@ -2272,12 +2258,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_fileexists" var2="1"/>
 				<placement x="%col1_x_left%" y="%row4_y%"/>
-				<text>A backup with that name already exists!</text>
+				<text>{@backup_name_exists=A backup with that name already exists!}</text>
 			</text>
 
 			<button style="main_button_half_width_low">
 				<placement x="%indent%" y="%row5_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">restore_select</action>
 			</button>
 
@@ -2299,7 +2285,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
@@ -2313,7 +2299,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%progress_text_x%" y="%progress_text_y%"/>
-				<text>Progress:</text>
+				<text>{@progress=Progress:}</text>
 			</text>
 
 			<text style="text_m">
@@ -2325,7 +2311,7 @@
 				<condition var1="tw_operation_state" var2="1"/>
 				<actions>
 					<action function="set">tw_back=restore_select</action>
-					<action function="set">tw_complete_text1=Restore Complete</action>
+					<action function="set">tw_complete_text1={@restore_complete=Restore Complete}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_complete</action>
 				</actions>
@@ -2341,24 +2327,24 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Mount</text>
+				<text>{@mount_hdr=Mount}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@storage_hdr=Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<partitionlist>
 				<placement x="%col1_x_left%" y="%row1a_y%" w="%content_width%" h="%partitionlist_mount_height%"/>
-				<text>Select Partitions to Mount:</text>
+				<text>{@mount_sel_part=Select Partitions to Mount:}</text>
 				<listtype name="mount"/>
 			</partitionlist>
 
 			<button style="checkbox">
 				<condition var1="tw_mount_system_ro" op="=" var2="0"/>
 				<placement x="%col1_x_left%" y="%row14_y%" textplacement="6"/>
-				<text>Mount system partition read-only</text>
+				<text>{@mount_sys_ro_chk=Mount system partition read-only}</text>
 				<image resource="checkbox_false"/>
 				<action function="mountsystemtoggle">1</action>
 			</button>
@@ -2366,7 +2352,7 @@
 			<button style="checkbox">
 				<condition var1="tw_mount_system_ro" op="!=" var2="0"/>
 				<placement x="%col1_x_left%" y="%row14_y%" textplacement="6"/>
-				<text>Mount system partition read-only</text>
+				<text>{@mount_sys_ro_chk=Mount system partition read-only}</text>
 				<image resource="checkbox_true"/>
 				<actions>
 					<action function="set">tw_lifetime_writes=2</action>
@@ -2377,7 +2363,7 @@
 			<button style="main_button_half_width">
 				<condition var1="tw_has_usb_storage" var2="1"/>
 				<placement x="%col1_x_left%" y="%row15a_y%"/>
-				<text>Mount USB Storage</text>
+				<text>{@mount_usb_storage_btn=Mount USB Storage}</text>
 				<action function="page">usb_mount</action>
 			</button>
 
@@ -2387,13 +2373,13 @@
 					<condition var1="tw_is_decrypted" var2="0"/>
 				</conditions>
 				<placement x="%col2_x_left%" y="%row15a_y%"/>
-				<text>Decrypt Data</text>
+				<text>{@decrypt_data_btn=Decrypt Data}</text>
 				<action function="page">decrypt</action>
 			</button>
 
 			<button style="main_button_half_width">
 				<placement x="%center_x%" y="%row15a_y%"/>
-				<text>Select Storage</text>
+				<text>{@select_storage_btn=Select Storage}</text>
 				<actions>
 					<action function="set">tw_back=mount</action>
 					<action function="overlay">select_storage</action>
@@ -2406,7 +2392,7 @@
 					<condition var1="tw_mtp_enabled" var2="0"/>
 				</conditions>
 				<placement x="%col2_x_right%" y="%row15a_y%"/>
-				<text>Enable MTP</text>
+				<text>{@enable_mtp_btn=Enable MTP}</text>
 				<action function="startmtp"/>
 			</button>
 
@@ -2416,7 +2402,7 @@
 					<condition var1="tw_mtp_enabled" var2="1"/>
 				</conditions>
 				<placement x="%col2_x_right%" y="%row15a_y%"/>
-				<text>Disable MTP</text>
+				<text>{@disable_mtp_btn=Disable MTP}</text>
 				<action function="stopmtp"/>
 			</button>
 
@@ -2436,32 +2422,32 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Mount</text>
+				<text>{@mount_hdr=Mount}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>USB Storage</text>
+				<text>{usb_storage_hdr=USB Storage}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>USB Storage Mounted</text>
+				<text>{@usb_stor_mnt1=USB Storage Mounted}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>Be sure to safely remove your device</text>
+				<text>{@usb_stor_mnt2=Be sure to safely remove your device}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>from your computer before unmounting!</text>
+				<text>{@usb_stor_mnt3=from your computer before unmounting!}</text>
 			</text>
 
 			<button style="main_button_half_width">
 				<placement x="%col1_x_left%" y="%row15a_y%"/>
-				<text>Unmount USB-Storage</text>
+				<text>{@unmount_btn=Unmount}</text>
 				<action function="page">usb_umount</action>
 			</button>
 
@@ -2509,23 +2495,24 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Reboot Menu</text>
+				<text>{@reboot_hdr=Reboot Menu}</text>
 			</text>
 
 			<button style="main_button">
 				<condition var1="tw_reboot_system" var2="1"/>
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>System</text>
+				<text>{@rb_system_btn=System}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=system</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_action_text2=</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -2533,17 +2520,17 @@
 			<button style="main_button">
 				<condition var1="tw_reboot_poweroff" var2="1"/>
 				<placement x="%center_x%" y="%row2_y%"/>
-				<text>Power Off</text>
+				<text>{@rb_poweroff_btn=Power Off}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=poweroff</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to power off?</action>
-					<action function="set">tw_action_text1=Turning Off...</action>
-					<action function="set">tw_complete_text1=Turning Off...</action>
-					<action function="set">tw_slider_text=Swipe to Power Off</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_ospo=sure you wish to power off?}</action>
+					<action function="set">tw_action_text1={@turning_off=Turning Off...}</action>
+					<action function="set">tw_complete_text1={@turning_off=Turning Off...}</action>
+					<action function="set">tw_slider_text={@swipe_power_off=Swipe to Power Off}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -2551,17 +2538,17 @@
 			<button style="main_button">
 				<condition var1="tw_reboot_recovery" var2="1"/>
 				<placement x="%col1_x_left%" y="%row6a_y%"/>
-				<text>Recovery</text>
+				<text>{@rb_recovery_btn=Recovery}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=recovery</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -2569,17 +2556,17 @@
 			<button style="main_button">
 				<condition var1="tw_reboot_bootloader" var2="1"/>
 				<placement x="%center_x%" y="%row6a_y%"/>
-				<text>Bootloader</text>
+				<text>{@rb_bootloader_btn=Bootloader}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=bootloader</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -2587,17 +2574,17 @@
 			<button style="main_button">
 				<condition var1="tw_download_mode" var2="1"/>
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>Download</text>
+				<text>{@rb_download_btn=Download}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=download</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -2618,39 +2605,39 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Unmodified System Partition</text>
+				<text>{@sys_ro_hdr=Unmodified System Partition}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Keep System Read only?</text>
+				<text>{@sys_ro_keep=Keep System Read only?}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>TWRP can leave your system partition unmodified to make it easier for you to take official updates.</text>
+				<text>{@sys_rol1=TWRP can leave your system partition unmodified to make it easier for you to take official updates.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>TWRP will be unable to prevent the stock ROM from replacing TWRP and will not offer to root your device.</text>
+				<text>{@sys_rol2=TWRP will be unable to prevent the stock ROM from replacing TWRP and will not offer to root your device.}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row6_y%" placement="5"/>
-				<text>Installing zips or performing adb operations may still modify the system partition.</text>
+				<text>{@sys_rol3=Installing zips or performing adb operations may still modify the system partition.}</text>
 			</text>
 
 			<checkbox>
 				<condition var1="tw_is_encrypted" var2="0"/>
 				<placement x="%col1_x_left%" y="%row14_y%"/>
-				<text>Never show this screen during boot again</text>
+				<text>{@sys_ro_never_show_chk=Never show this screen during boot again}</text>
 				<data variable="tw_never_show_system_ro_page"/>
 			</checkbox>
 
 			<button style="main_button_half_width">
 				<placement x="%col1_x_left%" y="%row15a_y%"/>
-				<text>Keep Read Only</text>
+				<text>{@sys_ro_keep_ro_btn=Keep Read Only}</text>
 				<actions>
 					<action function="mountsystemtoggle">1</action>
 					<action function="set">tw_page_done=1</action>
@@ -2659,7 +2646,7 @@
 			</button>
 
 			<slider>
-				<text>Swipe to Allow Modifications</text>
+				<text>{@swipe_allow_mod=Swipe to Allow Modifications}</text>
 				<actions>
 					<action function="mountsystemtoggle">0</action>
 					<action function="set">tw_page_done=1</action>
@@ -2673,42 +2660,42 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Settings</text>
+				<text>{@settings_hdr=Settings}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>General Settings</text>
+				<text>{@settings_gen_hdr=General Settings}</text>
 			</text>
 
 			<template name="tabs_settings"/>
 
 			<fill color="%text_color%">
-				<placement x="0" y="%row_tab_y%" w="%tab4_width%" h="%tab_indicator_height%"/>
+				<placement x="0" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
 			<listbox style="scrolllist">
 				<placement x="%col1_x_left%" y="%row3a_y%" w="%content_half_width%" h="%listbox_settings_height%"/>
 				<icon selected="checkbox_true" unselected="checkbox_false"/>
-				<listitem name="Zip file signature verification">
+				<listitem name="{@zip_sig_chk=Zip signature verification}">
 					<data variable="tw_signed_zip_verify"/>
 				</listitem>
-				<listitem name="Use rm -rf instead of formatting">
+				<listitem name="{@use_rmrf_chk=Use rm -rf instead of formatting}">
 					<data variable="tw_rm_rf"/>
 				</listitem>
-				<listitem name="Skip MD5 generation during backup">
+				<listitem name="{@skip_md5_backup_chk=Skip MD5 generation during backup}">
 					<data variable="tw_skip_md5_generate"/>
 				</listitem>
-				<listitem name="Enable MD5 verification of backup files">
+				<listitem name="{@retore_enable_md5_chk=Enable MD5 verification of backup files}">
 					<data variable="tw_skip_md5_check"/>
 				</listitem>
-				<listitem name="Use 24-hour clock">
+				<listitem name="{@use24clock_chk=Use 24-hour clock}">
 					<data variable="tw_military_time"/>
 				</listitem>
-				<listitem name="Simulate actions for theme testing">
+				<listitem name="{@simact_chk=Simulate actions for theme testing}">
 					<data variable="tw_simulate_actions"/>
 				</listitem>
-				<listitem name="Simulate failure for actions">
+				<listitem name="{@simfail_chk=Simulate failure for actions}">
 					<condition var1="tw_simulate_actions" var2="1"/>
 					<data variable="tw_simulate_fail"/>
 				</listitem>
@@ -2716,14 +2703,14 @@
 
 			<checkbox>
 				<placement x="%col1_x_right%" y="%row3a_y%"/>
-				<text>Reversed navbar layout</text>
+				<text>{@rev_navbar_chk=Reversed navbar layout}</text>
 				<data variable="tw_samsung_navbar"/>
 			</checkbox>
 
 			<button style="radiobutton">
 				<condition var1="tw_navbar_button_position" op="!=" var2="0"/>
 				<placement x="%col1_x_right%" y="%row5_y%" textplacement="6"/>
-				<text>Center navbar buttons</text>
+				<text>{@ctr_navbar_rdo=Center navbar buttons}</text>
 				<image resource="radio_false"/>
 				<action function="set">tw_navbar_button_position=0</action>
 			</button>
@@ -2731,7 +2718,7 @@
 			<button style="radiobutton">
 				<condition var1="tw_navbar_button_position" var2="0"/>
 				<placement x="%col1_x_right%" y="%row5_y%" textplacement="6"/>
-				<text>Center navbar buttons</text>
+				<text>{@ctr_navbar_rdo=Center navbar buttons}</text>
 				<image resource="radio_true"/>
 				<action function="set">tw_navbar_button_position=0</action>
 			</button>
@@ -2739,7 +2726,7 @@
 			<button style="radiobutton">
 				<condition var1="tw_navbar_button_position" op="!=" var2="1"/>
 				<placement x="%col1_x_right%" y="%row6a_y%" textplacement="6"/>
-				<text>Left align navbar buttons</text>
+				<text>{@lft_navbar_rdo=Left align navbar buttons}</text>
 				<image resource="radio_false"/>
 				<action function="set">tw_navbar_button_position=1</action>
 			</button>
@@ -2747,7 +2734,7 @@
 			<button style="radiobutton">
 				<condition var1="tw_navbar_button_position" var2="1"/>
 				<placement x="%col1_x_right%" y="%row6a_y%" textplacement="6"/>
-				<text>Left align navbar buttons</text>
+				<text>{@lft_navbar_rdo=Left align navbar buttons}</text>
 				<image resource="radio_true"/>
 				<action function="set">tw_navbar_button_position=1</action>
 			</button>
@@ -2755,7 +2742,7 @@
 			<button style="radiobutton">
 				<condition var1="tw_navbar_button_position" op="!=" var2="2"/>
 				<placement x="%col1_x_right%" y="%row8_y%" textplacement="6"/>
-				<text>Right align navbar buttons</text>
+				<text>{@rht_navbar_rdo=Right align navbar buttons}</text>
 				<image resource="radio_false"/>
 				<action function="set">tw_navbar_button_position=2</action>
 			</button>
@@ -2763,14 +2750,14 @@
 			<button style="radiobutton">
 				<condition var1="tw_navbar_button_position" var2="2"/>
 				<placement x="%col1_x_right%" y="%row8_y%" textplacement="6"/>
-				<text>Right align navbar buttons</text>
+				<text>{@rht_navbar_rdo=Right align navbar buttons}</text>
 				<image resource="radio_true"/>
 				<action function="set">tw_navbar_button_position=2</action>
 			</button>
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_right%" y="%row15a_y%"/>
-				<text>Restore Defaults</text>
+				<text>{@restore_defaults_btn=Restore Defaults}</text>
 				<action function="restoredefaultsettings"/>
 			</button>
 
@@ -2790,83 +2777,83 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Settings</text>
+				<text>{@settings_hdr=Settings}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Time Zone Settings</text>
+				<text>{@time_zone_hdr=Time Zone}</text>
 			</text>
 
 			<template name="tabs_settings"/>
 
 			<fill color="%text_color%">
-				<placement x="%tab4_col2_x%" y="%row_tab_y%" w="%tab4_width%" h="%tab_indicator_height%"/>
+				<placement x="%tab5_col2_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
 			<listbox>
 				<placement x="%col1_x_left%" y="%row3_y%" w="%content_half_width%" h="%listbox_timezone_height%"/>
-				<text>Select Time Zone:</text>
+				<text>{@sel_tz_list=Select Time Zone:}</text>
 				<data name="tw_time_zone_guisel"/>
-				<listitem name="(UTC -11) Samoa, Midway Island">BST11;BDT</listitem>
-				<listitem name="(UTC -10) Hawaii">HST10;HDT</listitem>
-				<listitem name="(UTC -9) Alaska">AST9;ADT</listitem>
-				<listitem name="(UTC -8) Pacific Time">PST8;PDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -7) Mountain Time">MST7;MDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -6) Central Time">CST6;CDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -5) Eastern Time">EST5;EDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -4) Atlantic Time">AST4;ADT</listitem>
-				<listitem name="(UTC -3) Brazil, Buenos Aires">GRNLNDST3;GRNLNDDT</listitem>
-				<listitem name="(UTC -2) Mid-Atlantic">FALKST2;FALKDT</listitem>
-				<listitem name="(UTC -1) Azores, Cape Verde">AZOREST1;AZOREDT</listitem>
-				<listitem name="(UTC  0) London, Dublin, Lisbon">GMT0;BST,M3.5.0,M10.5.0</listitem>
-				<listitem name="(UTC +1) Berlin, Brussels, Paris">CET-1;CEST,M3.5.0,M10.5.0</listitem>
-				<listitem name="(UTC +2) Athens, Istanbul, South Africa">WET-2;WET,M3.5.0,M10.5.0</listitem>
-				<listitem name="(UTC +3) Moscow, Baghdad">SAUST-3;SAUDT</listitem>
-				<listitem name="(UTC +4) Abu Dhabi, Tbilisi, Muscat">WST-4;WDT</listitem>
-				<listitem name="(UTC +5) Yekaterinburg, Islamabad">PAKST-5;PAKDT</listitem>
-				<listitem name="(UTC +6) Almaty, Dhaka, Colombo">TASHST-6;TASHDT</listitem>
-				<listitem name="(UTC +7) Bangkok, Hanoi, Jakarta">THAIST-7;THAIDT</listitem>
-				<listitem name="(UTC +8) Beijing, Singapore, Hong Kong">TAIST-8;TAIDT</listitem>
-				<listitem name="(UTC +9) Tokyo, Seoul, Yakutsk">JST-9;JSTDT</listitem>
-				<listitem name="(UTC +10) Eastern Australia, Guam">EET-10;EETDT</listitem>
-				<listitem name="(UTC +11) Vladivostok, Solomon Islands">MET-11;METDT</listitem>
-				<listitem name="(UTC +12) Auckland, Wellington, Fiji">NZST-12;NZDT</listitem>
+				<listitem name="{@utcm11=(UTC -11) Samoa, Midway Island}">BST11;BDT</listitem>
+				<listitem name="{@utcm10=(UTC -10) Hawaii}">HST10;HDT</listitem>
+				<listitem name="{@utcm9=(UTC -9) Alaska}">AST9;ADT</listitem>
+				<listitem name="{@utcm8=(UTC -8) Pacific Time}">PST8;PDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm7=(UTC -7) Mountain Time}">MST7;MDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm6=(UTC -6) Central Time}">CST6;CDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm5=(UTC -5) Eastern Time}">EST5;EDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm4=(UTC -4) Atlantic Time}">AST4;ADT</listitem>
+				<listitem name="{@utcm3=(UTC -3) Brazil, Buenos Aires}">GRNLNDST3;GRNLNDDT</listitem>
+				<listitem name="{@utcm2=(UTC -2) Mid-Atlantic}">FALKST2;FALKDT</listitem>
+				<listitem name="{@utcm1=(UTC -1) Azores, Cape Verde}">AZOREST1;AZOREDT</listitem>
+				<listitem name="{@utc0=(UTC  0) London, Dublin, Lisbon}">GMT0;BST,M3.5.0,M10.5.0</listitem>
+				<listitem name="{@utcp1=(UTC +1) Berlin, Brussels, Paris}">CET-1;CEST,M3.5.0,M10.5.0</listitem>
+				<listitem name="{@utcp2=(UTC +2) Athens, Istanbul, South Africa}">WET-2;WET,M3.5.0,M10.5.0</listitem>
+				<listitem name="{@utcp3=(UTC +3) Moscow, Baghdad}">SAUST-3;SAUDT</listitem>
+				<listitem name="{@utcp4=(UTC +4) Abu Dhabi, Tbilisi, Muscat}">WST-4;WDT</listitem>
+				<listitem name="{@utcp5=(UTC +5) Yekaterinburg, Islamabad}">PAKST-5;PAKDT</listitem>
+				<listitem name="{@utcp6=(UTC +6) Almaty, Dhaka, Colombo}">TASHST-6;TASHDT</listitem>
+				<listitem name="{@utcp7=(UTC +7) Bangkok, Hanoi, Jakarta}">THAIST-7;THAIDT</listitem>
+				<listitem name="{@utcp8=(UTC +8) Beijing, Singapore, Hong Kong}">TAIST-8;TAIDT</listitem>
+				<listitem name="{@utcp9=(UTC +9) Tokyo, Seoul, Yakutsk}">JST-9;JSTDT</listitem>
+				<listitem name="{@utcp10=(UTC +10) Eastern Australia, Guam}">EET-10;EETDT</listitem>
+				<listitem name="{@utcp11=(UTC +11) Vladivostok, Solomon Islands}">MET-11;METDT</listitem>
+				<listitem name="{@utcp12=(UTC +12) Auckland, Wellington, Fiji}">NZST-12;NZDT</listitem>
 			</listbox>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row3a_y%"/>
-				<text>Select Offset (usually 0): %tw_time_zone_guioffset%</text>
+				<text>{@sel_tz_offset=Select Offset (usually 0): %tw_time_zone_guioffset%}</text>
 			</text>
 
 			<button style="button_quarter_width">
 				<placement x="%col1_x_right%" y="%row5_y%"/>
-				<text>None</text>
+				<text>{@tz_offset_none=None}</text>
 				<action function="set">tw_time_zone_guioffset=0</action>
 			</button>
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col2_x_right%" y="%row5_y%"/>
-				<text>15</text>
+				<text>{@tz_offset_15=15}</text>
 				<action function="set">tw_time_zone_guioffset=15</action>
 			</button>
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col3_x_right%" y="%row5_y%"/>
-				<text>30</text>
+				<text>{@tz_offset_30=30}</text>
 				<action function="set">tw_time_zone_guioffset=30</action>
 			</button>
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col4_x_right%" y="%row5_y%"/>
-				<text>45</text>
+				<text>{@tz_offset_45=45}</text>
 				<action function="set">tw_time_zone_guioffset=45</action>
 			</button>
 
 			<checkbox>
 				<placement x="%col1_x_right%" y="%row7_y%"/>
 				<font resource="font_m" color="%text_color%"/>
-				<text>Use daylight savings time (DST)</text>
+				<text>{@use_dst_chk=Use daylight savings time (DST)}</text>
 				<data variable="tw_time_zone_guidst"/>
 				<image checked="checkbox_true" unchecked="checkbox_false"/>
 			</checkbox>
@@ -2874,14 +2861,14 @@
 			<text color="%text_color%">
 				<font resource="font_m"/>
 				<placement x="%col1_x_right%" y="%row9_y%"/>
-				<text>Current Time Zone: %tw_time_zone%</text>
+				<text>{@curr_tz=Current Time Zone: %tw_time_zone%}</text>
 			</text>
 
 			<button>
 				<highlight color="%highlight_color%"/>
 				<placement x="%col2_x_right%" y="%row15a_y%"/>
 				<font resource="font_m" color="%text_button_color%"/>
-				<text>Set Time Zone</text>
+				<text>{@set_tz_btn=Set Time Zone}</text>
 				<image resource="main_button_half_width"/>
 				<action function="setguitimezone"/>
 			</button>
@@ -2902,18 +2889,18 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Settings</text>
+				<text>{@settings_hdr=Settings}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Screen Settings</text>
+				<text>{@settings_screen_hdr=Screen Settings}</text>
 			</text>
 
 			<template name="tabs_settings"/>
 
 			<fill color="%text_color%">
-				<placement x="%center_x%" y="%row_tab_y%" w="%tab4_width%" h="%tab_indicator_height%"/>
+				<placement x="%tab5_col3_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
 			<button>
@@ -2921,7 +2908,7 @@
 				<font resource="font_m" color="%text_color%"/>
 				<condition var1="tw_screen_timeout_secs" op="=" var2="0"/>
 				<condition var1="tw_no_screen_timeout" op="!=" var2="1"/>
-				<text>Enable screen timeout.</text>
+				<text>{@enable_timeout_chk=Enable screen timeout}</text>
 				<image resource="checkbox_false"/>
 				<action function="set">tw_screen_timeout_secs=60</action>
 			</button>
@@ -2931,7 +2918,7 @@
 				<font resource="font_m" color="%text_color%"/>
 				<condition var1="tw_screen_timeout_secs" op="!=" var2="0"/>
 				<condition var1="tw_no_screen_timeout" op="!=" var2="1"/>
-				<text>Enable screen timeout.</text>
+				<text>{@enable_timeout_chk=Enable screen timeout}</text>
 				<image resource="checkbox_true"/>
 				<action function="set">tw_screen_timeout_secs=0</action>
 			</button>
@@ -2940,14 +2927,14 @@
 				<condition var1="tw_screen_timeout_secs" op="!=" var2="0"/>
 				<condition var1="tw_no_screen_timeout" op="!=" var2="1"/>
 				<placement x="col1_x_left" y="%row5_y%" w="%content_width%"/>
-				<text>Screen timeout in seconds:</text>
+				<text>{@screen_to_slider=Screen timeout in seconds:}</text>
 				<data variable="tw_screen_timeout_secs" min="15" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
 				<condition var1="tw_has_brightnesss_file" var2="1"/>
 				<placement x="col1_x_left" y="%row10_y%" w="%content_width%"/>
-				<text>Brightness: %tw_brightness_pct%%</text>
+				<text>{@screen_bright_slider=Brightness: %tw_brightness_pct%%}</text>
 				<data variable="tw_brightness_pct" min="10" max="100"/>
 				<actions>
 					<action function="set">tw_brightness=%tw_brightness_max%</action>
@@ -2973,35 +2960,35 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Settings</text>
+				<text>{@settings_hdr=Settings}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Vibration Settings</text>
+				<text>{@vibration_hdr=Vibration}</text>
 			</text>
 
 			<template name="tabs_settings"/>
 
 			<fill color="%text_color%">
-				<placement x="%tab4_col4_x%" y="%row_tab_y%" w="%tab4_width%" h="%tab_indicator_height%"/>
+				<placement x="%tab5_col4_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
 			<slidervalue>
 				<placement x="col1_x_left" y="%row4_y%" w="%content_width%"/>
-				<text>Button Vibration:</text>
+				<text>{@button_vibration=Button Vibration:}</text>
 				<data variable="tw_button_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
 				<placement x="col1_x_left" y="%row9_y%" w="%content_width%"/>
-				<text>Keyboard Vibration:</text>
+				<text>{@kb_vibration=Keyboard Vibration:}</text>
 				<data variable="tw_keyboard_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
 				<placement x="col1_x_left" y="%row14_y%" w="%content_width%"/>
-				<text>Action Vibration:</text>
+				<text>{@act_vibration=Action Vibration:}</text>
 				<data variable="tw_action_vibrate" min="0" max="500"/>
 			</slidervalue>
 
@@ -3016,83 +3003,126 @@
 			</action>
 		</page>
 
+		<page name="settings_language">
+			<template name="page"/>
+
+			<text style="text_l">
+				<placement x="%col1_x_header%" y="%row3_header_y%"/>
+				<text>{@settings_hdr=Settings}</text>
+			</text>
+
+			<text style="text_m">
+				<placement x="%col1_x_header%" y="%row4_header_y%"/>
+				<text>{@language_hdr=Language - %tw_language_display%}</text>
+			</text>
+
+			<template name="tabs_settings"/>
+
+			<fill color="%text_color%">
+				<placement x="%tab5_col5_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
+			</fill>
+
+			<listbox>
+				<placement x="%indent%" y="%row3_y%" w="%fileselector_filemanager_height%" h="%listbox_settings_height%"/>
+				<text>{@select_language=Select Language:}</text>
+				<icon selected="radio_true" unselected="radio_false" />
+				<data name="tw_language" />
+			</listbox>
+
+			<button style="main_button_half_width_low">
+				<placement x="%col_button_right%" y="%row16a_y%"/>
+				<text>{@set_language_btn=Set Language}</text>
+				<action function="setlanguage"></action>
+			</button>
+
+			<action>
+				<touch key="home" />
+				<action function="page">main</action>
+			</action>
+
+			<action>
+				<touch key="back" />
+				<action function="page">settings</action>
+			</action>
+		</page>
+
 		<page name="advanced">
 			<template name="page"/>
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_hdr=Advanced}</text>
 			</text>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>Copy Log to SD</text>
+				<text>{@copy_log_btn=Copy Log}</text>
 				<actions>
 					<action function="set">tw_back=advanced</action>
 					<action function="set">tw_action=copylog</action>
-					<action function="set">tw_text1=Copy Log to SD Card?</action>
-					<action function="set">tw_action_text1=Copying Log to SD Card...</action>
-					<action function="set">tw_complete_text1=Log Copy Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_text1={@copy_log_confirm=Copy Log to SD Card?}</action>
+					<action function="set">tw_action_text1={@copying_log=Copying Log to SD Card...}</action>
+					<action function="set">tw_complete_text1={@copy_log_complete=Log Copy Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row2_y%"/>
-				<text>Fix Permissions</text>
+				<text>{@fix_perm_btn=Fix Permissions}</text>
 				<action function="page">fixperms</action>
 			</button>
 
 			<button style="main_button">
 				<condition var1="tw_allow_partition_sdcard" var2="1"/>
 				<placement x="%col1_x_left%" y="%row6a_y%"/>
-				<text>Partition SD Card</text>
+				<text>{@part_sd_btn=Partition SD Card}</text>
 				<action function="page">partsdcard</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row6a_y%"/>
-				<text>File Manager</text>
+				<text>{@file_manager_btn=File Manager}</text>
 				<action function="page">filemanagerlist</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>Terminal</text>
+				<text>{@terminal_btn=Terminal}</text>
 				<action function="page">terminalfolder</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row11_y%"/>
-				<text>Reload Theme</text>
+				<text>{@reload_theme_btn=Reload Theme}</text>
 				<action function="reload"/>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row15a_y%"/>
-				<text>ADB Sideload</text>
+				<text>{@adb_sideload_btn=ADB Sideload}</text>
 				<action function="page">sideload</action>
 			</button>
 
 			<button style="main_button">
 				<condition var1="tw_show_dumlock" var2="1"/>
 				<placement x="%center_x%" y="%row15a_y%"/>
-				<text>HTC Dumlock</text>
+				<text>{@dumlock_btn=HTC Dumlock}</text>
 				<action function="page">htcdumlock</action>
 			</button>
 
 			<button style="main_button">
 				<condition var1="tw_has_injecttwrp" var2="1"/>
 				<placement x="%center_x%" y="%row15a_y%"/>
-				<text>Re-Inject TWRP</text>
+				<text>{@inject_twrp_btn=Inject TWRP}</text>
 				<actions>
 					<action function="set">tw_back=advanced</action>
 					<action function="set">tw_action=reinjecttwrp</action>
-					<action function="set">tw_text1=Re-Inject TWRP?</action>
-					<action function="set">tw_action_text1=Re-Injecting TWRP...</action>
-					<action function="set">tw_complete_text1=TWRP Injection Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_text1={@inject_twrp_confirm=Re-Inject TWRP?}</action>
+					<action function="set">tw_action_text1={@injecting_twrp=Re-Injecting TWRP...}</action>
+					<action function="set">tw_complete_text1={@inject_twrp_complete=TWRP Injection Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -3113,27 +3143,27 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_hdr=Advanced}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Partition SD Card</text>
+				<text>{@part_sd_hdr=Partition SD Card}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>You will lose all files on your SD card!</text>
+				<text>{@part_sd_lose=You will lose all files on your SD card!}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>This action cannot be undone!</text>
+				<text>{@part_sd_undo=This action cannot be undone!}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>EXT Size:</text>
+				<text>{@part_sd_ext_sz=EXT Size:}</text>
 			</text>
 
 			<text style="text_m">
@@ -3143,19 +3173,19 @@
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col3_x_left%" y="%row5_y%"/>
-				<text>-</text>
+				<text>{@part_sd_m=-}</text>
 				<action function="addsubtract">tw_sdext_size-128</action>
 			</button>
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col2_x_right%" y="%row5_y%"/>
-				<text>+</text>
+				<text>{@part_sd_p=+}</text>
 				<action function="addsubtract">tw_sdext_size+128</action>
 			</button>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row9_y%" placement="5"/>
-				<text>Swap Size:</text>
+				<text>{@part_sd_swap_sz=Swap Size:}</text>
 			</text>
 
 			<text style="text_m">
@@ -3165,19 +3195,19 @@
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col3_x_left%" y="%row9_y%"/>
-				<text>-</text>
+				<text>{@part_sd_m=-}</text>
 				<action function="addsubtract">tw_swap_size-32</action>
 			</button>
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col2_x_right%" y="%row9_y%"/>
-				<text>+</text>
+				<text>{@part_sd_p=+}</text>
 				<action function="addsubtract">tw_swap_size+32</action>
 			</button>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row13_y%" placement="5"/>
-				<text>File System:</text>
+				<text>{@file_system=File System:}</text>
 			</text>
 
 			<text style="text_m">
@@ -3198,7 +3228,7 @@
 			</button>
 
 			<slider style="slider_centered">
-				<text>Swipe to Partition</text>
+				<text>{@swipe_part_sd=Swipe to Partition}</text>
 				<action function="page">partsdcardaction</action>
 				<actions>
 					<action function="set">tw_back=partsdcard</action>
@@ -3206,9 +3236,9 @@
 					<action function="set">tw_has_action2=1</action>
 					<action function="set">tw_action2=set</action>
 					<action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
-					<action function="set">tw_action_text1=Partitioning SD Card...</action>
-					<action function="set">tw_action_text2=This will take a few minutes.</action>
-					<action function="set">tw_complete_text1=Partitioning Complete</action>
+					<action function="set">tw_action_text1={@partitioning_sd=Partitioning SD Card...}</action>
+					<action function="set">tw_action_text2={@partitioning_sd2=This will take a few minutes.}</action>
+					<action function="set">tw_complete_text1={@part_sd_complete=Partitioning Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</slider>
@@ -3229,52 +3259,52 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_hdr=Advanced}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>HTC Dumlock</text>
+				<text>{@dumlock_hdr=HTC Dumlock}</text>
 			</text>
 
 			<button style="main_button_m">
 				<placement x="%col2_x_left%" y="%row2_y%"/>
-				<text>Restore Original Boot</text>
+				<text>{@dumlock_restore_btn=Restore Original Boot}</text>
 				<actions>
 					<action function="set">tw_back=htcdumlock</action>
 					<action function="set">tw_action=htcdumlockrestoreboot</action>
-					<action function="set">tw_text1=Restore original boot image?</action>
-					<action function="set">tw_action_text1=Restoring Original Boot...</action>
-					<action function="set">tw_complete_text1=Restore Original Boot Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_text1={@dumlock_restore_confirm=Restore original boot image?}</action>
+					<action function="set">tw_action_text1={@dumlock_restoring=Restoring Original Boot...}</action>
+					<action function="set">tw_complete_text1={@dumlock_restore_complete=Restore Original Boot Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_m">
 				<placement x="%col2_x_left%" y="%row6a_y%"/>
-				<text>Reflash Recovery</text>
+				<text>{@dumlock_reflash_btn=Reflash Recovery}</text>
 				<actions>
 					<action function="set">tw_back=htcdumlock</action>
 					<action function="set">tw_action=htcdumlockreflashrecovery</action>
-					<action function="set">tw_text1=Reflash recovery to boot?</action>
-					<action function="set">tw_action_text1=Flashing recovery to boot...</action>
-					<action function="set">tw_complete_text1=Recovery Flash to Boot Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_text1={@dumlock_reflash_confirm=Reflash recovery to boot?}</action>
+					<action function="set">tw_action_text1={@dumlock_reflashing=Flashing recovery to boot...}</action>
+					<action function="set">tw_complete_text1={@dumlock_reflash_complete=Recovery Flash to Boot Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_m">
 				<placement x="%col2_x_left%" y="%row11_y%"/>
-				<text>Install HTC Dumlock</text>
+				<text>{@dumlock_install_btn=Install HTC Dumlock}</text>
 				<actions>
 					<action function="set">tw_back=htcdumlock</action>
 					<action function="set">tw_action=installhtcdumlock</action>
-					<action function="set">tw_text1=Install HTC dumlock files to ROM?</action>
-					<action function="set">tw_action_text1=Installing HTC Dumlock...</action>
-					<action function="set">tw_complete_text1=HTC Dumlock Install Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_text1={@dumlock_install_confirm=Install HTC dumlock files to ROM?}</action>
+					<action function="set">tw_action_text1={@dumlock_installing=Installing HTC Dumlock...}</action>
+					<action function="set">tw_complete_text1={@dumlock_install_complete=HTC Dumlock Install Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -3299,7 +3329,7 @@
 			</image>
 
 			<slider style="slider_centered">
-				<text>Swipe to Unlock</text>
+				<text>{@swipe_to_unlock=Swipe to Unlock}</text>
 				<action function="overlay"/>
 			</slider>
 		</page>
@@ -3309,12 +3339,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Select a File or Folder</text>
+				<text>{@fm_sel_file=Select a File or Folder}</text>
 			</text>
 
 			<template name="sort_options"/>
@@ -3330,18 +3360,18 @@
 
 			<button style="main_button_half_width_low">
 				<placement x="%col_button_right%" y="%row16a_y%"/>
-				<text>Select current Folder</text>
+				<text>{@fm_sel_curr_folder=Select Current Folder}</text>
 				<actions>
 					<action function="set">tw_filename1=tw_file_location1</action>
 					<action function="set">tw_fm_isfolder=1</action>
-					<action function="set">tw_fm_type=Folder</action>
+					<action function="set">tw_fm_type={@fm_type_folder=Folder}</action>
 					<action function="page">filemanageroptions</action>
 				</actions>
 			</button>
 
 			<action>
 				<actions>
-					<action function="set">tw_fm_type=File</action>
+					<action function="set">tw_fm_type={@fm_type_file=File}</action>
 					<action function="set">tw_fm_isfolder=0</action>
 				</actions>
 			</action>
@@ -3367,17 +3397,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Choose Action</text>
+				<text>{@fm_choose_act=Choose Action}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>%tw_fm_type% selected:</text>
+				<text>{@fm_selected=%tw_fm_type% selected:}</text>
 			</text>
 
 			<text style="text_m">
@@ -3388,10 +3418,10 @@
 			<button style="main_button_half_width">
 				<condition var1="tw_fm_isfolder" var2="0"/>
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>Copy File</text>
+				<text>{@fm_copy_file_btn=Copy File}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=cp</action>
-					<action function="set">tw_fm_text1=Copying</action>
+					<action function="set">tw_fm_text1={@fm_copying=Copying}</action>
 					<action function="page">choosedestinationfolder</action>
 				</actions>
 			</button>
@@ -3399,30 +3429,30 @@
 			<button style="main_button_half_width">
 				<condition var1="tw_fm_isfolder" var2="1"/>
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>Copy Folder</text>
+				<text>{@fm_copy_folder_btn=Copy Folder}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=cd "%tw_file_location1%" &amp;&amp; cd .. &amp;&amp; cp -R</action>
-					<action function="set">tw_fm_text1=Copying</action>
+					<action function="set">tw_fm_text1={@fm_copying=Copying}</action>
 					<action function="page">choosedestinationfolder</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_left%" y="%row11_y%"/>
-				<text>Move</text>
+				<text>{@fm_move_btn=Move}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=mv</action>
-					<action function="set">tw_fm_text1=Moving</action>
+					<action function="set">tw_fm_text1={@fm_moving=Moving}</action>
 					<action function="page">choosedestinationfolder</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_left%" y="%row15a_y%"/>
-				<text>chmod 755</text>
+				<text>{@fm_chmod755_btn=chmod 755}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=chmod 755</action>
-					<action function="set">tw_fm_text1=chmod 755</action>
+					<action function="set">tw_fm_text1={@fm_chmod755ing=chmod 755}</action>
 					<action function="set">tw_fm_text2=</action>
 					<action function="set">tw_fm_text3=</action>
 					<action function="set">tw_include_text3=0</action>
@@ -3433,7 +3463,7 @@
 
 			<button style="main_button_half_width">
 				<placement x="%center_x%" y="%row15a_y%"/>
-				<text>chmod</text>
+				<text>{@fm_chmod_btn=chmod}</text>
 				<actions>
 					<action function="set">tw_filemanager_rename=0000</action>
 					<action function="set">tw_fm_text2=</action>
@@ -3446,10 +3476,10 @@
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_right%" y="%row11_y%"/>
-				<text>Delete</text>
+				<text>{@fm_delete_btn=Delete}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=rm -rf</action>
-					<action function="set">tw_fm_text1=Deleting</action>
+					<action function="set">tw_fm_text1={@fm_deleting=Deleting}</action>
 					<action function="set">tw_fm_text2=</action>
 					<action function="set">tw_fm_text3=</action>
 					<action function="set">tw_include_text3=0</action>
@@ -3461,10 +3491,10 @@
 			<button style="main_button_half_width">
 				<condition var1="tw_fm_isfolder" var2="0"/>
 				<placement x="%center_x%" y="%row11_y%"/>
-				<text>Rename File</text>
+				<text>{@fm_rename_file_btn=Rename File}</text>
 				<actions>
 					<action function="set">tw_filemanager_rename=tw_selection1</action>
-					<action function="set">tw_fm_text1=Renaming</action>
+					<action function="set">tw_fm_text1={@fm_renaming=Renaming}</action>
 					<action function="set">tw_filemanager_command=mv</action>
 					<action function="page">filemanagerrenamefile</action>
 				</actions>
@@ -3473,10 +3503,10 @@
 			<button style="main_button_half_width">
 				<condition var1="tw_fm_isfolder" var2="1"/>
 				<placement x="%center_x%" y="%row11_y%"/>
-				<text>Rename Folder</text>
+				<text>{@fm_rename_folder_btn=Rename Folder}</text>
 				<actions>
 					<action function="set">tw_filemanager_rename=tw_selection1</action>
-					<action function="set">tw_fm_text1=Renaming</action>
+					<action function="set">tw_fm_text1={@fm_renaming=Renaming}</action>
 					<action function="set">tw_filemanager_command=cd "%tw_file_location1%" &amp;&amp; cd .. &amp;&amp; mv</action>
 					<action function="page">filemanagerrenamefolder</action>
 				</actions>
@@ -3498,12 +3528,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Select Destination Folder</text>
+				<text>{@fm_sel_dest=Select Destination Folder}</text>
 			</text>
 
 			<template name="sort_options"/>
@@ -3519,7 +3549,7 @@
 
 			<button style="main_button_half_width_low">
 				<placement x="%col_button_right%" y="%row16a_y%"/>
-				<text>Select current Folder</text>
+				<text>{@fm_sel_curr_folder=Select Current Folder}</text>
 				<actions>
 					<action function="set">tw_fm_text2=to</action>
 					<action function="set">tw_fm_text3=%tw_file_location2%</action>
@@ -3545,17 +3575,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Rename %tw_fm_type%</text>
+				<text>{@fm_rename_hdr=Rename} %tw_fm_type%</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -3578,7 +3608,7 @@
 
 			<button style="main_button_half_width_low">
 				<placement x="%indent%" y="%row5_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">filemanageroptions</action>
 			</button>
 
@@ -3600,17 +3630,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Rename %tw_fm_type%</text>
+				<text>{@fm_rename_hdr=Rename} %tw_fm_type%</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -3633,7 +3663,7 @@
 
 			<button style="main_button_half_width_low">
 				<placement x="%indent%" y="%row5_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">filemanageroptions</action>
 			</button>
 
@@ -3655,17 +3685,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Set Permissions</text>
+				<text>{@fm_set_perms_hdr=Set Permissions}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>Permissions:</text>
+				<text>{@fm_perms=Permissions:}</text>
 			</text>
 
 			<input>
@@ -3687,7 +3717,7 @@
 
 			<button style="main_button_half_width_low">
 				<placement x="%indent%" y="%row5_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">filemanageroptions</action>
 			</button>
 
@@ -3709,12 +3739,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Confirm Action</text>
+				<text>{@confirm_action=Confirm Action}</text>
 			</text>
 
 			<text style="text_m_accent">
@@ -3739,11 +3769,11 @@
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row8_y%" placement="5"/>
-				<text>Press back button to cancel.</text>
+				<text>{@back_cancel=Press back button to cancel.}</text>
 			</text>
 
 			<slider style="slider_centered">
-				<text>Swipe to Confirm</text>
+				<text>{@swipe_to_confirm=Swipe to Confirm}</text>
 				<action function="page">filemanageraction</action>
 			</slider>
 
@@ -3763,7 +3793,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
@@ -3782,7 +3812,7 @@
 				</conditions>
 				<actions>
 					<action function="set">tw_back=filemanagerlist</action>
-					<action function="set">tw_complete_text1=File Operation Complete</action>
+					<action function="set">tw_complete_text1={@fm_complete=File Operation Complete}</action>
 					<action function="page">action_complete</action>
 				</actions>
 			</action>
@@ -3793,7 +3823,7 @@
 					<condition var1="tw_operation_status" op="!=" var2="0"/>
 				</conditions>
 				<actions>
-					<action function="set">tw_complete_text1=File Operation Complete</action>
+					<action function="set">tw_complete_text1={@fm_complete=File Operation Complete}</action>
 					<action function="page">action_complete</action>
 				</actions>
 			</action>
@@ -3819,17 +3849,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Mount</text>
+				<text>{@mount_hdr=Mount}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Decrypt Data</text>
+				<text>{@decrypt_data_hdr=Decrypt Data}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Enter Password:</text>
+				<text>{@decrypt_data_enter_pass=Enter Password:}</text>
 			</text>
 
 			<input>
@@ -3852,12 +3882,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_password_fail" var2="1"/>
 				<placement x="%col1_x_left%" y="%row5_y%"/>
-				<text>Password failed, please try again!</text>
+				<text>{@decryt_data_failed=Password failed, please try again!}</text>
 			</text>
 
 			<button style="main_button_half_width_low">
 				<placement x="%indent%" y="%row6_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_page_done=1</action>
 					<action function="page">main</action>
@@ -3872,17 +3902,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Mount</text>
+				<text>{@mount_hdr=Mount}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Decrypt Data</text>
+				<text>{@decrypt_data_hdr=Decrypt Data}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Enter Pattern:</text>
+				<text>{@decrypt_data_enter_pattern=Enter Pattern.}</text>
 			</text>
 
 			<patternpassword>
@@ -3896,7 +3926,7 @@
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_right%" y="%row15a_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_page_done=1</action>
 					<action function="page">main</action>
@@ -3909,12 +3939,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Mount</text>
+				<text>{@mount_hdr=Mount}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Decrypt Data - Trying Decryption</text>
+				<text>{@decrypt_data_trying=Trying Decryption}</text>
 			</text>
 
 			<template name="console"/>
@@ -3953,12 +3983,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Terminal Command</text>
+				<text>{term_hdr=Terminal Command}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Browse to Starting Folder</text>
+				<text>{@term_sel_folder_hdr=Browse to Starting Folder}</text>
 			</text>
 
 			<template name="sort_options"/>
@@ -3974,7 +4004,7 @@
 
 			<button style="main_button_half_width_low">
 				<placement x="%col_button_right%" y="%row16a_y%"/>
-				<text>Select current Folder</text>
+				<text>{@fm_sel_curr_folder=Select Current Folder}</text>
 				<action function="page">terminalcommand</action>
 			</button>
 
@@ -4015,7 +4045,7 @@
 				<highlight color="%highlight_color%"/>
 				<placement x="%btn4_col4_x_right%" y="%row7a_y%"/>
 				<font resource="font_m" color="%text_button_color%"/>
-				<text>Kill</text>
+				<text>{@term_kill_btn=Kill}</text>
 				<image resource="tab_4"/>
 				<action function="killterminal"/>
 			</button>
@@ -4038,35 +4068,35 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_hdr=Advanced}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>ADB Sideload</text>
+				<text>{@adb_sideload_hdr=ADB Sideload}</text>
 			</text>
 
 			<checkbox>
 				<placement x="%col1_x_left%" y="%row2_y%"/>
-				<text>Wipe Dalvik Cache</text>
+				<text>{@sideload_wipe_dalvik_chk=Wipe Dalvik Cache}</text>
 				<data variable="tw_wipe_dalvik"/>
 			</checkbox>
 
 			<checkbox>
 				<placement x="%col1_x_left%" y="%row3a_y%"/>
-				<text>Wipe Cache</text>
+				<text>{@sideload_wipe_cache_chk=Wipe Cache}</text>
 				<data variable="tw_wipe_cache"/>
 			</checkbox>
 
 			<slider style="slider_centered">
-				<text>Swipe to start Sideload</text>
+				<text>{@swipe_to_sideload=Swipe to Start Sideload}</text>
 				<action function="page">partsdcardaction</action>
 				<actions>
 					<action function="set">tw_back=advanced</action>
 					<action function="set">tw_action=adbsideload</action>
-					<action function="set">tw_action_text1=ADB Sideload</action>
-					<action function="set">tw_action_text2=Usage: adb sideload filename.zip</action>
-					<action function="set">tw_complete_text1=ADB Sideload Complete</action>
+					<action function="set">tw_action_text1={@sideload_confirm=ADB Sideload}</action>
+					<action function="set">tw_action_text2={@sideload_usage=Usage: adb sideload filename.zip}</action>
+					<action function="set">tw_complete_text1={@sideload_complete=ADB Sideload Complete}</action>
 					<action function="set">tw_has_cancel=1</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="set">tw_cancel_action=adbsideloadcancel</action>
@@ -4090,43 +4120,43 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_hdr=Advanced}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Fix Permissions</text>
+				<text>{@fix_perms_hdr=Fix Permissions}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Note: Fixing permissions is rarely needed.</text>
+				<text>{@fix_perms_note=Note: Fixing permissions is rarely needed.}</text>
 			</text>
 
 			<checkbox>
 				<placement x="%col2_x_left%" y="%row4_y%"/>
-				<text>Also fix SELinux Contexts</text>
+				<text>{@fix_perms_selinux_chk=Also fix SELinux Contexts}</text>
 				<data variable="tw_fixperms_restorecon"/>
 			</checkbox>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row6_y%" placement="5"/>
-				<text>Fixing SELinux Contexts may cause</text>
+				<text>{@fix_perms_sel_note1=Fixing SELinux Contexts may cause}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row7_y%" placement="5"/>
-				<text>your device to not boot properly.</text>
+				<text>{@fix_perms_sel_note2=your device to not boot properly.}</text>
 			</text>
 
 			<slider style="slider_centered">
-				<text>Swipe to Fix Permissions</text>
+				<text>{@swipe_to_fix_perms=Swipe to Fix Permissions}</text>
 				<actions>
 					<action function="set">tw_back=advanced</action>
 					<action function="set">tw_action=fixpermissions</action>
-					<action function="set">tw_action_text1=Fixing Permissions...</action>
-					<action function="set">tw_complete_text1=Fix Permissions Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_action_text1={@fixing_perms=Fixing Permissions...}</action>
+					<action function="set">tw_complete_text1={@fix_perms_complete=Fix Permissions Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_page</action>
 				</actions>
@@ -4148,40 +4178,40 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Reboot</text>
+				<text>{@reboot_hdr=Reboot}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>SuperSU Check</text>
+				<text>{@su_hdr=SuperSU Check}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Your device does not appear to be rooted.</text>
+				<text>{@su_note1=Your device does not appear to be rooted.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>Install SuperSU now?</text>
+				<text>{@su_note2=Install SuperSU now?}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>This will root your device.</text>
+				<text>{@su_note3=This will root your device.}</text>
 			</text>
 
 			<button style="main_button_half_width">
 				<placement x="%col2_x_left%" y="%row15a_y%"/>
-				<text>Do not Install</text>
+				<text>{@su_cancel=Do not Install}</text>
 				<action function="set">tw_page_done=1</action>
 			</button>
 
 			<slider>
-				<text>Swipe to Install</text>
+				<text>{@swipe_su_to_install=Swipe to Install}</text>
 				<actions>
 					<action function="set">tw_action=installsu</action>
-					<action function="set">tw_action_text1=Installing SuperSU</action>
+					<action function="set">tw_action_text1={@su_installing=Installing SuperSU}</action>
 					<action function="set">tw_action_text2=</action>
 					<action function="page">singleaction_page</action>
 				</actions>
@@ -4219,14 +4249,14 @@
 			</fill>
 
 			<partitionlist style="partitionlist_storage">
-				<text>Select Storage</text>
+				<text>{@sel_storage_list=Select Storage}</text>
 				<data name="tw_storage_path"/>
 				<listtype name="storage"/>
 			</partitionlist>
 
 			<button style="button_third_width">
 				<placement x="%dialog_button_x%" y="%row13_y%"/>
-				<text>OK</text>
+				<text>{@ok_btn=OK}</text>
 				<actions>
 					<action function="set">tw_clear_destination=%tw_back%</action>
 					<action function="overlay"/>
diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
new file mode 100755
index 0000000..62b5b3d
--- /dev/null
+++ b/gui/theme/common/languages/en.xml
@@ -0,0 +1,666 @@
+<?xml version="1.0"?>
+
+<language>
+	<display>English</display>
+
+	<resources>
+		<!-- Font overrides - only change these if your language requires special characters -->
+		<resource name="font_l" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="font_m" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="font_s" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<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="twrp_header">Team Win Recovery Project</string>
+		<string name="twrp_watch_header">TWRP %tw_version%</string>
+		<string name="cpu_temp">CPU: %tw_cpu_temp% &#xB0;C</string>
+		<string name="battery_pct">Battery: %tw_battery%</string>
+		<string name="sort_by_name">Sort by Name</string>
+		<string name="sort_by_date">Sort by Date</string>
+		<string name="sort_by_size">Sorty by Size</string>
+		<string name="sort_by_name_only">Name</string>
+		<string name="sort_by_date_only">Date</string>
+		<string name="sort_by_size_only">Size</string>
+		<string name="tab_general">GENERAL</string>
+		<string name="tab_options">OPTIONS</string>
+		<string name="tab_backup">BACKUP</string>
+		<string name="tab_time_zone">TIME ZONE</string>
+		<string name="tab_screen">SCREEN</string>
+		<string name="tab_vibration">VIBRATION</string>
+		<string name="tab_language">LANGUAGE</string>
+
+		<string name="install_btn">Install</string>
+		<string name="wipe_btn">Wipe</string>
+		<string name="backup_btn">Backup</string>
+		<string name="restore_btn">Restore</string>
+		<string name="mount_btn">Mount</string>
+		<string name="settings_btn">Settings</string>
+		<string name="advanced_btn">Advanced</string>
+		<string name="reboot_btn">Reboot</string>
+		<string name="files_btn">Files</string>
+		<string name="copy_log_btn">Copy Log</string>
+		<string name="select_type_hdr">Select Type</string>
+		<string name="install_zip_hdr">Install Zip</string>
+		<string name="install_zip_btn">Install Zip</string>
+		<string name="install_image_hdr">Install Image</string>
+		<string name="install_image_btn">Install Image</string>
+		<string name="install_select_file_hdr">Select File</string>
+		<string name="file_selector_folders_hdr">Folders</string>
+		<string name="select_file_from_storage">Select File from %tw_storage_display_name% (%tw_storage_free_size% MB)</string>
+		<string name="adb_sideload_btn">ADB Sideload</string>
+		<string name="install_hdr">Install</string>
+		<string name="select_storage_hdr">Select Storage</string>
+		<string name="select_storage_btn">Select Storage</string>
+		<string name="queue_hdr">Queue</string>
+		<string name="zip_queue_count">%tw_zip_queue_count% of max of 10 Files queued</string>
+		<string name="zip_queue_count_s">File %tw_zip_queue_count% of 10:</string>
+		<string name="zip_warn1">This operation may install incompatible</string>
+		<string name="zip_warn2">software and render your device unusable.</string>
+		<string name="zip_back_cancel">Press back to cancel adding this zip.</string>
+		<string name="zip_back_clear">Press back button to clear the queue.</string>
+		<string name="folder">Folder:</string>
+		<string name="file">File:</string>
+		<string name="zip_sig_chk">Zip signature verification</string>
+		<string name="inject_twrp_chk">Inject TWRP after install</string>
+		<string name="options_hdr">Options</string>
+		<string name="confirm_flash_hdr">Confirm Flash</string>
+		<string name="zip_queue">Queue:</string>
+		<string name="options">Options:</string>
+		<string name="swipe_confirm">   Confirm</string>
+		<string name="zip_add_btn">Add more Zips</string>
+		<string name="zip_clear_btn">Clear Zip Queue</string>
+		<string name="install_zip_count_hdr">Install Zip %tw_zip_index% of %tw_zip_queue_count%</string>
+		<string name="installing_zip">Installing Zip: %tw_file%</string>
+		<string name="failed">Failed</string>
+		<string name="successful">Successful</string>
+		<string name="install_failed">Installation Failed</string>
+		<string name="install_successful">Installation Successful</string>
+		<string name="wipe_cache_dalvik_btn">Wipe cache/dalvik</string>
+		<string name="reboot_system_btn">Reboot System</string>
+		<string name="install_sel_target">Select Target Partition</string>
+		<string name="flash_image_select">Select Partition to Flash Image:</string>
+		<string name="target_partition">Target Partition:</string>
+		<string name="flashing_image">Flashing Image...</string>
+		<string name="image_flashed">Image Flashed</string>
+		<string name="wipe_cache_dalvik_confirm">Wipe Cache &amp; Dalvik?</string>
+		<string name="wiping_cache_dalvik">Wiping Cache &amp; Dalvik...</string>
+		<string name="wipe_cache_dalvik_complete">Cache &amp; Dalvik Wipe Complete</string>
+		<string name="swipe_wipe">Swipe to Wipe</string>
+		<string name="swipe_wipe_s">   Wipe</string>
+		<string name="no_os1">No OS Installed! Are you</string>
+		<string name="no_osrb">sure you wish to reboot?</string>
+		<string name="no_ospo">sure you wish to power off?</string>
+		<string name="rebooting">Rebooting...</string>
+		<string name="swipe_reboot_s">   Reboot</string>
+		<string name="swipe_flash">Swipe to confirm Flash</string>
+		<string name="confirm_action">Confirm Action</string>
+		<string name="back_cancel">Press back button to cancel.</string>
+		<string name="cancel_btn">Cancel</string>
+		<string name="wipe_hdr">Wipe</string>
+		<string name="factory_reset_hdr">Factory Reset</string>
+		<string name="factory_reset_btn">Factory Reset</string>
+		<string name="factory_reset1">Wipes Data, Cache, and Dalvik</string>
+		<string name="factory_reset2">(not including internal storage)</string>
+		<string name="factory_reset3">Most of the time this is</string>
+		<string name="factory_reset4">the only wipe that you need.</string>
+		<string name="factory_resetting">Factory Reset...</string>
+		<string name="advanced_wipe_hdr">Advanced Wipe</string>
+		<string name="advanced_wipe_btn">Advanced Wipe</string>
+		<string name="wipe_enc_confirm">Wipe Encryption from Data?</string>
+		<string name="formatting_data">Formatting Data...</string>
+		<string name="swipe_format_data">Swipe to Format Data</string>
+		<string name="swipe_format_data_s">   Format Data</string>
+		<string name="factory_reset_complete">Factory Reset Complete</string>
+		<string name="sel_part_hdr">Select Partitions</string>
+		<string name="wipe_sel_confirm">Wipe Selected Partition(s)?</string>
+		<string name="wiping_part">Wiping Partition(s)...</string>
+		<string name="wipe_complete">Wipe Complete</string>
+		<string name="sel_part_wipe">Select Partitions to Wipe:</string>
+		<string name="invalid_part_sel">Invalid partition selection</string>
+		<string name="format_data_hdr">Format Data</string>
+		<string name="format_data_btn">Format Data</string>
+		<string name="format_data_ptr1">Format Data will wipe all of your apps,</string>
+		<string name="format_data_ptr2">backups, pictures, videos, media, and</string>
+		<string name="format_data_ptr3">removes encryption on internal storage.</string>
+		<string name="format_data_lcp1">Format Data will wipe all of your apps, backups, pictures, videos, media, and</string>
+		<string name="format_data_lcp2">removes encryption on internal storage.</string>
+		<string name="format_data_wtc1">Format Data will wipe all of your apps,</string>
+		<string name="format_data_wtc2">backups and media. This cannot be undone.</string>
+		<string name="format_data_undo">This cannot be undone.</string>
+		<string name="format_data_complete">Data Format Complete</string>
+		<string name="yes_continue">Type yes to continue.  Press back to cancel.</string>
+		<string name="part_opt_hdr">Partition Options for: %tw_partition_name%</string>
+		<string name="sel_act_hdr">Select Action</string>
+		<string name="file_sys_opt">File System Options</string>
+		<string name="partition">Partition: %tw_partition_name%</string>
+		<string name="part_mount_point">Mount Point: %tw_partition_mount_point%</string>
+		<string name="part_curr_fs">File system: %tw_partition_file_system%</string>
+		<string name="part_present_yes">Present: Yes</string>
+		<string name="part_present_no">Present: No</string>
+		<string name="part_removable_yes">Removable: Yes</string>
+		<string name="part_removable_no">Removable: No</string>
+		<string name="part_size">Size: %tw_partition_size%MB</string>
+		<string name="part_used">Used: %tw_partition_used%MB</string>
+		<string name="part_free">Free: %tw_partition_free%MB</string>
+		<string name="part_backup_size">Backup Size: %tw_partition_backup_size%MB</string>
+		<string name="resize_btn">Resize File System</string>
+		<string name="resize_btn_s">Resize</string>
+		<string name="resize_confirm">Resize %tw_partition_name%?</string>
+		<string name="resizing">Resizing...</string>
+		<string name="resize_complete">Resize Complete</string>
+		<string name="swipe_resize">Swipe to Resize</string>
+		<string name="swipe_resize_s">   Resize</string>
+		<string name="repair_btn">Repair File System</string>
+		<string name="repair_btn_s">Repair</string>
+		<string name="repair_confirm">Repair %tw_partition_name%?</string>
+		<string name="repairing">Repairing...</string>
+		<string name="repair_complete">Repair Complete</string>
+		<string name="swipe_repair">Swipe to Repair</string>
+		<string name="swipe_repair_s">   Repair</string>
+		<string name="change_fs_btn">Change File System</string>
+		<string name="change_fs_btn_s">Change</string>
+		<string name="change_fs_for_hdr">Change File System for: %tw_partition_name%</string>
+		<string name="change_fs_for_hdr_s">Partition: %tw_partition_name% &gt; Select File System</string>
+		<string name="change_fs_warn1">Some ROMs or kernels may not support some</string>
+		<string name="change_fs_warn2">file systems. Proceed with caution!</string>
+		<string name="change_fs_confirm">Change %tw_partition_name%?</string>
+		<string name="formatting">Formatting...</string>
+		<string name="format_complete">Format Complete</string>
+		<string name="swipe_change_fs">Swipe to Change</string>
+		<string name="swipe_change_s">   Change</string>
+		<string name="back_btn">Back</string>
+		<string name="wipe_enc_btn">Wipe Encryption</string>
+		<string name="swipe_factory_reset">Swipe to Factory Reset</string>
+		<string name="repair_change_btn">Repair or Change File System</string>
+		<string name="storage_hdr">Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</string>
+		<string name="backup_hdr">Backup</string>
+		<string name="backup_confirm_hdr">Confirm Backup</string>
+		<string name="encryption_tab">ENCRYPTION</string>
+		<string name="encryption">Encryption:</string>
+		<string name="name">Name:</string>
+		<string name="sel_part_backup">Select Partitions to Backup:</string>
+		<string name="storage">Storage:</string>
+		<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">Disable Free Space Check</string>
+		<string name="refresh_sizes_btn">Refresh Sizes</string>
+		<string name="swipe_backup">Swipe to Backup</string>
+		<string name="append_date_btn">Append Date</string>
+		<string name="backup_name_exists">A backup with that name already exists!</string>
+		<string name="encrypt_backup">Encrypt your Backup?</string>
+		<string name="enter_pass">Enter Password:</string>
+		<string name="enter_pass2">Enter Password Again:</string>
+		<string name="pass_not_match">Passwords do not match!</string>
+		<string name="partitions">Partitions:</string>
+		<string name="disabled">Disabled</string>
+		<string name="enabled">Enabled</string>
+		<string name="backup_name_hdr">Set Backup Name</string>
+		<string name="progress">Progress:</string>
+		<string name="backup_complete">Backup Complete</string>
+		<string name="backup_cancel">Backup Cancelled</string>
+		<string name="restore_hdr">Restore</string>
+		<string name="sel_backup_hdr">Select Backup</string>
+		<string name="restore_sel_store_hdr">Select Backup from %tw_storage_display_name% (%tw_storage_free_size% MB)</string>
+		<string name="restore_sel_pack_fs">Select Package to Restore:</string>
+		<string name="restore_enc_backup_hdr">Encrypted Backup</string>
+		<string name="restore_dec_fail">Password failed, please try again!</string>
+		<string name="del_backup_btn">Delete Backup</string>
+		<string name="del_backup_confirm">Delete Backup?</string>
+		<string name="del_backup_confirm2">This cannot be undone!</string>
+		<string name="deleting_backup">Deleting Backup...</string>
+		<string name="backup_deleted">Backup Delete Complete</string>
+		<string name="swipe_delete">Swipe to Delete</string>
+		<string name="swipe_delete_s">   Delete</string>
+		<string name="restore_try_decrypt">Encrypted Backup - Trying Decryption</string>
+		<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="retore_enable_md5_chk">Enable MD5 Verification of Backup Files</string>
+		<string name="swipe_restore">Swipe to Restore</string>
+		<string name="swipe_restore_s">   Restore</string>
+		<string name="rename_backup_hdr">Rename Backup</string>
+		<string name="rename_backup_confirm">Rename Backup?</string>
+		<string name="rename_backup_confirm2">This cannot be undone!</string>
+		<string name="renaming_backup">Renaming Backup...</string>
+		<string name="rename_backup_complete">Backup Rename Complete</string>
+		<string name="swipe_to_rename">Swipe to Rename</string>
+		<string name="swipe_rename">   Rename</string>
+		<string name="confirm_hdr">Confirm</string>
+		<string name="mount_hdr">Mount</string>
+		<string name="mount_sel_part"></string>
+		<string name="mount_sel_part">Select Partitions to Mount:</string>
+		<string name="mount_sys_ro_chk">Mount system partition read-only</string>
+		<string name="mount_sys_ro_s_chk">Mount System RO</string>
+		<string name="decrypt_data_btn">Decrypt Data</string>
+		<string name="disable_mtp_btn">Disable MTP</string>
+		<string name="enable_mtp_btn">Enable MTP</string>
+		<string name="mount_usb_storage_btn">Mount USB Storage</string>
+		<string name="usb_storage_hdr">USB Storage</string>
+		<string name="usb_stor_mnt1">USB Storage Mounted</string>
+		<string name="usb_stor_mnt2">Be sure to safely remove your device</string>
+		<string name="usb_stor_mnt3">from your computer before unmounting!</string>
+		<string name="unmount_btn">Unmount</string>
+		<string name="reboot_hdr">Reboot Menu</string>
+		<string name="rb_system_btn">System</string>
+		<string name="rb_poweroff_btn">Power Off</string>
+		<string name="rb_recovery_btn">Recovery</string>
+		<string name="rb_bootloader_btn">Bootloader</string>
+		<string name="rb_download_btn">Download</string>
+		<string name="turning_off">Turning Off...</string>
+		<string name="swipe_power_off">Swipe to Power Off</string>
+		<string name="swipe_power_off_s">Power Off</string>
+		<string name="sys_ro_hdr">Unmodified System Partition</string>
+		<string name="sys_ro_keep">Keep System Read only?</string>
+		<string name="sys_rop1">TWRP can leave your system partition unmodified</string>
+		<string name="sys_rop2">to make it easier for you to take official updates.</string>
+		<string name="sys_rop3">TWRP will be unable to prevent the stock ROM from</string>
+		<string name="sys_rop4">replacing TWRP and will not offer to root your device.</string>
+		<string name="sys_rop5">Installing zips or performing adb operations may still</string>
+		<string name="sys_rop6">modify the system partition.</string>
+		<string name="sys_rol1">TWRP can leave your system partition unmodified to make it easier for you to take official updates.</string>
+		<string name="sys_rol2">TWRP will be unable to prevent the stock ROM from replacing TWRP and will not offer to root your device.</string>
+		<string name="sys_rol3">Installing zips or performing adb operations may still modify the system partition.</string>
+		<string name="sys_ro_never_show_chk">Never show this screen during boot again</string>
+		<string name="sys_ro_keep_ro_btn">Keep Read Only</string>
+		<string name="swipe_allow_mod">Swipe to Allow Modifications</string>
+		<string name="swipe_allow_mod_s">Allow Modifications</string>
+		<string name="settings_hdr">Settings</string>
+		<string name="settings_gen_hdr">General Settings</string>
+		<string name="settings_gen_s_hdr">General</string>
+		<string name="settings_gen_btn">General</string>
+		<string name="use_rmrf_chk">Use rm -rf instead of formatting</string>
+		<string name="use24clock_chk">Use 24-hour clock</string>
+		<string name="rev_navbar_chk">Reversed navbar layout</string>
+		<string name="simact_chk">Simulate actions for theme testing</string>
+		<string name="simfail_chk">Simulate failure for actions</string>
+		<string name="ctr_navbar_rdo">Center navbar buttons</string>
+		<string name="lft_navbar_rdo">Left align navbar buttons</string>
+		<string name="rht_navbar_rdo">Right align navbar buttons</string>
+		<string name="restore_defaults_btn">Restore Defaults</string>
+		<string name="settings_tz_btn">Time Zone</string>
+		<string name="settings_screen_btn">Screen</string>
+		<string name="settings_screen_bright_btn">Screen Brightness</string>
+		<string name="settings_vibration_btn">Vibration</string>
+		<string name="settings_language_btn">Language</string>
+		<string name="time_zone_hdr">Time Zone</string>
+		<string name="sel_tz_list">Select Time Zone:</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) Samoa, Midway Island</string>
+		<string name="utcm10">(UTC -10) Hawaii</string>
+		<string name="utcm9">(UTC -9) Alaska</string>
+		<string name="utcm8">(UTC -8) Pacific Time</string>
+		<string name="utcm7">(UTC -7) Mountain Time</string>
+		<string name="utcm6">(UTC -6) Central Time</string>
+		<string name="utcm5">(UTC -5) Eastern Time</string>
+		<string name="utcm4">(UTC -4) Atlantic Time</string>
+		<string name="utcm3">(UTC -3) Brazil, Buenos Aires</string>
+		<string name="utcm2">(UTC -2) Mid-Atlantic</string>
+		<string name="utcm1">(UTC -1) Azores, Cape Verde</string>
+		<string name="utc0">(UTC  0) London, Dublin, Lisbon</string>
+		<string name="utcp1">(UTC +1) Berlin, Brussels, Paris</string>
+		<string name="utcp2">(UTC +2) Athens, Istanbul, South Africa</string>
+		<string name="utcp3">(UTC +3) Moscow, Baghdad</string>
+		<string name="utcp4">(UTC +4) Abu Dhabi, Tbilisi, Muscat</string>
+		<string name="utcp5">(UTC +5) Yekaterinburg, Islamabad</string>
+		<string name="utcp6">(UTC +6) Almaty, Dhaka, Colombo</string>
+		<string name="utcp7">(UTC +7) Bangkok, Hanoi, Jakarta</string>
+		<string name="utcp8">(UTC +8) Beijing, Singapore, Hong Kong</string>
+		<string name="utcp9">(UTC +9) Tokyo, Seoul, Yakutsk</string>
+		<string name="utcp10">(UTC +10) Eastern Australia, Guam</string>
+		<string name="utcp11">(UTC +11) Vladivostok, Solomon Islands</string>
+		<string name="utcp12">(UTC +12) Auckland, Wellington, Fiji</string>
+		<string name="sel_tz_offset">Select Offset (usually 0): %tw_time_zone_guioffset%</string>
+		<string name="tz_offset_none">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">Use daylight savings time (DST)</string>
+		<string name="curr_tz">Current Time Zone: %tw_time_zone%</string>
+		<string name="curr_tz_s">Current Time Zone:</string>
+		<string name="set_tz_btn">Set Time Zone</string>
+		<string name="settings_screen_hdr">Screen Settings</string>
+		<string name="settings_screen_timeout_hdr">Screen Timeout</string>
+		<string name="enable_timeout_chk">Enable screen timeout</string>
+		<string name="screen_to_slider">Screen timeout in seconds:</string>
+		<string name="screen_to_slider_s">Screen timeout in seconds (0=disabled): %tw_screen_timeout_secs%</string>
+		<string name="screen_to_na">Screen timeout setting unavailable</string>
+		<string name="screen_bright_slider">Brightness: %tw_brightness_pct%%</string>
+		<string name="screen_bright_na">Brightness setting unavailable</string>
+		<string name="vibration_hdr">Vibration</string>
+		<string name="button_vibration_hdr">Button Vibration</string>
+		<string name="kb_vibration_hdr">Keyboard Vibration</string>
+		<string name="act_vibration_hdr">Action Vibration</string>
+		<string name="button_vibration">Button Vibration:</string>
+		<string name="kb_vibration">Keyboard Vibration:</string>
+		<string name="act_vibration">Action Vibration:</string>
+		<string name="select_language">Select Language:</string>
+		<string name="set_language_btn">Set Language</string>
+		<string name="advanced_hdr">Advanced</string>
+		<string name="copy_log_confirm">Copy Log to SD Card?</string>
+		<string name="copying_log">Copying Log to SD Card...</string>
+		<string name="copy_log_complete">Log Copy Complete</string>
+		<string name="fix_perm_btn">Fix Permissions</string>
+		<string name="fix_perm_s_btn">Fix Perms</string>
+		<string name="part_sd_btn">Partition SD Card</string>
+		<string name="part_sd_s_btn">SD Card</string>
+		<string name="file_manager_btn">File Manager</string>
+		<string name="language_hdr">Language</string>
+		<string name="terminal_btn">Terminal</string>
+		<string name="reload_theme_btn">Reload Theme</string>
+		<string name="dumlock_btn">HTC Dumlock</string>
+		<string name="inject_twrp_btn">Inject TWRP</string>
+		<string name="inject_twrp_confirm">Re-Inject TWRP?</string>
+		<string name="injecting_twrp">Re-Injecting TWRP...</string>
+		<string name="inject_twrp_complete">TWRP Injection Complete</string>
+		<string name="swipe_to_confirm">Swipe to Confirm</string>
+		<string name="part_sd_hdr">Partition SD Card</string>
+		<string name="part_sd_lose">You will lose all files on your SD card!</string>
+		<string name="part_sd_undo">This action cannot be undone!</string>
+		<string name="part_sd_ext_sz">EXT Size:</string>
+		<string name="part_sd_swap_sz">Swap Size:</string>
+		<string name="part_sd_m">-</string>
+		<string name="part_sd_p">+</string>
+		<string name="file_system">File System:</string>
+		<string name="swipe_part_sd">Swipe to Partition</string>
+		<string name="swipe_part_sd_s">Partition</string>
+		<string name="partitioning_sd">Partitioning SD Card...</string>
+		<string name="partitioning_sd2">This will take a few minutes.</string>
+		<string name="part_sd_complete">Partitioning Complete</string>
+		<string name="dumlock_hdr">HTC Dumlock</string>
+		<string name="dumlock_restore_btn">Restore Original Boot</string>
+		<string name="dumlock_restore_confirm">Restore original boot image?</string>
+		<string name="dumlock_restoring">Restoring Original Boot...</string>
+		<string name="dumlock_restore_complete">Restore Original Boot Complete</string>
+		<string name="dumlock_reflash_btn">Reflash Recovery</string>
+		<string name="dumlock_reflash_confirm">Reflash recovery to boot?</string>
+		<string name="dumlock_reflashing">Flashing recovery to boot...</string>
+		<string name="dumlock_reflash_complete">Recovery Flash to Boot Complete</string>
+		<string name="dumlock_install_btn">Install HTC Dumlock</string>
+		<string name="dumlock_install_confirm">Install HTC dumlock files to ROM?</string>
+		<string name="dumlock_installing">Installing HTC Dumlock...</string>
+		<string name="dumlock_install_complete">HTC Dumlock Install Complete</string>
+		<string name="swipe_to_unlock">Swipe to Unlock</string>
+		<string name="swipe_unlock">   Unlock</string>
+		<string name="fm_hdr">File Manager</string>
+		<string name="fm_sel_file">Select a File or Folder</string>
+		<string name="fm_type_folder">Folder</string>
+		<string name="fm_type_file">File</string>
+		<string name="fm_choose_act">Choose Action</string>
+		<string name="fm_selected">%tw_fm_type% selected:</string>
+		<string name="fm_copy_btn">Copy</string>
+		<string name="fm_copy_file_btn">Copy File</string>
+		<string name="fm_copy_folder_btn">Copy Folder</string>
+		<string name="fm_copying">Copying</string>
+		<string name="fm_move_btn">Move</string>
+		<string name="fm_moving">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">Delete</string>
+		<string name="fm_deleting">Deleting</string>
+		<string name="fm_rename_btn">Rename</string>
+		<string name="fm_rename_file_btn">Rename File</string>
+		<string name="fm_rename_folder_btn">Rename Folder</string>
+		<string name="fm_renaming">Renaming</string>
+		<string name="fm_sel_dest">Select Destination Folder</string>
+		<string name="fm_sel_curr_folder">Select Current Folder</string>
+		<string name="fm_rename_hdr">Rename</string>
+		<string name="fm_set_perms_hdr">Set Permissions</string>
+		<string name="fm_perms">Permissions:</string>
+		<string name="fm_complete">File Operation Complete</string>
+		<string name="decrypt_data_hdr">Decrypt Data</string>
+		<string name="decrypt_data_enter_pass"></string>
+		<string name="decryt_data_failed">Password failed, please try again!</string>
+		<string name="decrypt_data_enter_pattern">Enter Pattern.</string>
+		<string name="decrypt_data_trying">Trying Decryption</string>
+		<string name="term_hdr">Terminal Command</string>
+		<string name="term_s_hdr">Terminal</string>
+		<string name="term_kill_btn">KILL</string>
+		<string name="term_sel_folder_hdr">Browse to Starting Folder</string>
+		<string name="adb_sideload_hdr">ADB Sideload</string>
+		<string name="sideload_wipe_dalvik_chk">Wipe Dalvik Cache</string>
+		<string name="sideload_wipe_cache_chk">Wipe Cache</string>
+		<string name="swipe_to_sideload">Swipe to Start Sideload</string>
+		<string name="swipe_sideload">   Start</string>
+		<string name="sideload_confirm">ADB Sideload</string>
+		<string name="sideload_usage">Usage: adb sideload filename.zip</string>
+		<string name="sideload_complete">ADB Sideload Complete</string>
+		<string name="fix_perms_hdr">Fix Permissions</string>
+		<string name="fix_perms_note">Note: Fixing permissions is rarely needed.</string>
+		<string name="fix_perms_selinux_chk">Also fix SELinux Contexts</string>
+		<string name="fix_perms_sel_note1">Fixing SELinux Contexts may cause</string>
+		<string name="fix_perms_sel_note2">your device to not boot properly.</string>
+		<string name="swipe_to_fix_perms">Swipe to Fix Permissions</string>
+		<string name="swipe_fix_perms">   Fix Perms</string>
+		<string name="fixing_perms">Fixing Permissions...</string>
+		<string name="fix_perms_complete">Fix Permissions Complete</string>
+		<string name="reboot_hdr">Reboot</string>
+		<string name="su_hdr">SuperSU Check</string>
+		<string name="su_note1">Your device does not appear to be rooted.</string>
+		<string name="su_note2">Install SuperSU now?</string>
+		<string name="su_note3">This will root your device.</string>
+		<string name="su_cancel">Do Not Install</string>
+		<string name="swipe_su_to_install">Swipe to Install</string>
+		<string name="swipe_su_install">   Install</string>
+		<string name="su_installing">Installing SuperSU</string>
+		<string name="sel_storage_list">Select Storage</string>
+		<string name="ok_btn">OK</string>
+
+		<!-- Various console messages - these consist of user displayed messages, oftentimes errors -->
+		<string name="no_kernel_selinux">Kernel does not have support for reading SELinux contexts.</string>
+		<string name="full_selinux">Full SELinux support is present.</string>
+		<string name="no_selinux">No SELinux support (no libselinux).</string>
+		<string name="mtp_enabled">MTP Enabled</string>
+		<string name="mtp_crash">MTP Crashed, not starting MTP on boot.</string>
+		<string name="rebooting">Rebooting...</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="md5_created"> * MD5 Created.</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>
+		<string name="no_partition_selected">No partitions selected for backup.</string>
+		<string name="total_partitions_backup"> * Total number of partitions to back up: {1}</string>
+		<string name="total_backup_size"> * Total size of all data: {1}MB</string>
+		<string name="available_space"> * Available space: {1}MB</string>
+		<string name="unable_locate_storage">Unable to locate storage device.</string>
+		<string name="Not enough free space on storage.">Not enough free space on storage.</string>
+		<string name="backup_started">[BACKUP STARTED]</string>
+		<string name="backup_folder"> * Backup Folder: {1}</string>
+		<string name="fail_backup_folder">Failed to make backup folder.</string>
+		<string name="avg_backup_fs">Average backup rate for file systems: {1} MB/sec</string>
+		<string name="avg_backup_img">Average backup rate for imaged drives: {1} MB/sec</string>
+		<string name="total_backed_size">[{1} MB TOTAL BACKED UP]</string>
+		<string name="backup_completed">[BACKUP COMPLETED IN {1} SECONDS]</string>
+		<string name="restore_started">[RESTORE STARTED]</string>
+		<string name="restore_folder">Restore folder: '{1}'</string>
+		<!-- {1} is the partition display name and {2} is the number of seconds -->
+		<string name="restort_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="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>
+		<string name="no_part_restore">No partitions selected for restore.</string>
+		<string name="restore_part_count">Restoring {1} partitions...</string>
+		<string name="total_restore_size">Total restore size is {1}MB</string>
+		<string name="updating_system_details">Updating System Details</string>
+		<string name="restore_complete">[RESTORE COMPLETED IN {1} SECONDS]</string>
+		<!-- {1} is the path we could not open, {2} is strerror output -->
+		<string name="error_opening_strerr">Error opening: '{1}' ({2})</string>
+		<string name="unable_locate_part_backup_name">Unable to locate partition by backup name: '{1}'</string>
+		<string name="unable_find_part_path">Unable to find partition for path '{1}'</string>
+		<string name="update_part_details">Updating partition details...</string>
+		<string name="update_part_details_done">...done</string>
+		<string name="wiping_dalvik">Wiping Dalvik Cache Directories...</string>
+		<string name="cleaned">Cleaned: {1}...</string>
+		<string name="dalvik_done">-- Dalvik Cache Directories Wipe Complete!</string>
+		<string name="no_andsec">No android secure partitions found.</string>
+		<string name="unable_to_locate">Unable to locate {1}.</string>
+		<string name="wiping_datamedia">Wiping internal storage -- /data/media...</string>
+		<string name="unable_to_mount">Unable to mount {1}</string>
+		<string name="unable_to_mount_internal">Unable to mount internal_storage</string>
+		<string name="unable_to_mount_storage">Unable to mount storage</string>
+		<string name="fail_decrypt">Failed to decrypt data.</string>
+		<string name="no_crypto_support">No crypto support was compiled into this build.</string>
+		<string name="decrypt_success">Data successfully decrypted, new block device: '{1}'</string>
+		<string name="done">Done.</string>
+		<string name="start_partition_sd">Partitioning SD Card...</string>
+		<string name="partition_sd_locate">Unable to locate device to partition.</string>
+		<string name="ext_swap_size">EXT + Swap size is larger than sdcard size.</string>
+		<string name="remove_part_table">Removing partition table...</string>
+		<string name="unable_rm_part">Unable to remove partition table.</string>
+		<string name="create_part">Creating {1} partition...</string>
+		<string name="unable_to_create_part">Unable to create {1} partition.</string>
+		<string name="format_sdext_as">Formatting sd-ext as {1}...</string>
+		<string name="part_complete">Partitioning complete.</string>
+		<string name="unable_to_open">Unable to open '{1}'.</string>
+		<string name="mtp_already_enabled">MTP already enabled</string>
+		<string name="mtp_fail">Failed to enable MTP</string>
+		<string name="no_mtp">MTP support not included</string>
+		<string name="image_flash_start">[IMAGE FLASH STARTED]</string>
+		<string name="img_to_flash">Image to flash: '{1}'</string>
+		<string name="flash_unable_locate">Unable to locate '{1}' partition for flashing.</string>
+		<string name="no_part_flash">No partitions selected for flashing.</string>
+		<string name="too_many_flash">Too many partitions selected for flashing.</string>
+		<string name="invalid_flash">Invalid flash partition specified.</string>
+		<string name="flash_done">[IMAGE FLASH COMPLETED]</string>
+		<string name="wiping">Wiping {1}</string>
+		<string name="repair_not_exist">{1} does not exist! Cannot repair!</string>
+		<string name="unable_repair">Unable to repair {1}.</string>
+		<string name="mount_data_footer">Could not mount /data and unable to find crypto footer.</string>
+		<!-- {1} is the folder name that we could not create, {2} is strerror output -->
+		<string name="create_folder_strerr">Can not create '{1}' folder ({2}).</string>
+		<!-- {1} is the folder name that we could not mount, {2} is strerror output -->
+		<string name="fail_mount">Failed to mount '{1}' ({2})</string>
+		<!-- {1} is the folder name that we could not unmount, {2} is strerror output -->
+		<string name="fail_mount">Failed to unmount '{1}' ({2})</string>
+		<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="restoring">Restoring</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>
+		<string name="formating_using">Formatting {1} using {2}...</string>
+		<string name="unable_to_wipe">Unable to wipe {1}.</string>
+		<string name="remove_all">Removing all files under '{1}'</string>
+		<string name="wiping_data">Wiping data without wiping /data/media ...</string>
+		<string name="backing_up">Backing up {1}...</string>
+		<string name="backing">Backing Up</string>
+		<string name="backup_size">Backup file size for '{1}' is 0 bytes.</string>
+		<string name="datamedia_fs_restore">WARNING: This /data backup was made with {1} file system! The backup may not boot unless you change back to {1}.</string>
+		<string name="restoring">Restoring {1}...</string>
+		<string name="restore">Restoring</string>
+		<string name="recreate_folder_err">Unable to recreate {1} folder.</string>
+		<string name="img_size_err">Size of image is larger than target device</string>
+		<string name="flashing">Flashing {1}...</string>
+		<string name="backup_folder">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="ors_encrypt_restore_err">Unable to use OpenRecoveryScript to restore an encrypted backup.</string>
+		<string name="mounting">Mounting</string>
+		<string name="unmounting">Unmounting</string>
+		<string name="mounted">Mounted '{1}'</string>
+		<string name="unmounted">Unmounted '{1}'</string>
+		<string name="setting">Setting '{1}' to '{2}'</string>
+		<string name="setting_empty">Setting '{1}' to empty</string>
+		<string name="making_dir1">Making Directory</string>
+		<string name="making_dir2">Making directory: '{1}'</string>
+		<string name="running_command">Running Command</string>
+		<string name="sideload">ADB Sideload</string>
+		<string name="start_sideload">Starting ADB sideload feature...</string>
+		<string name="need_new_adb">You need adb 1.0.32 or newer to sideload to this device.</string>
+		<string name="no_pwd">No password provided.</string>
+		<string name="done_ors">Done processing script file</string>
+		<string name="injecttwrp">Injecting TWRP into boot image...</string>
+		<string name="zip_err">Error installing zip file '{1}'</string>
+		<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="backup_fail">Backup Failed</string>
+		<string name="backup_complete">Backup complete!</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="no_updater_binary">Could not find '{1}' in the zip file.</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="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>
+		<string name="dumlock_restore">Restoring original boot...</string>
+		<string name="dumlock_reflash">Reflashing recovery to boot...</string>
+		<string name="run_script">Running {1} script...</string>
+		<string name="rename_stock">Renamed stock recovery file in /system to prevent the stock ROM from replacing TWRP.</string>
+		<string name="split_backup">Breaking backup file into multiple archives...</string>
+		<string name="backup_error">Error creating backup.</string>
+		<string name="restore_error">Error during restore process.</string>
+		<string name="split_thread">Splitting thread ID {1} into archive {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 of %llu files, %i%%</string>
+		<string name="size_progress">%lluMB of %lluMB, %i%%</string>
+		<string name="decrypt_cmd">Attempting to decrypt data partition via command line.</string>
+		<string name="base_pkg_err">Failed to load base packages.</string>
+		<string name="simulating">Simulating actions...</string>
+		<string name="backup_cancel">Backup Canceled.</string>
+		<string name="config_twrp">Configuring TWRP...</string>
+		<string name="config_twrp_err">Unable to configure TWRP with this kernel.</string>
+		<string name="copy_log">Copied recovery log to {1}.</string>
+		<string name="max_queue">Maximum zip queue reached!</string>
+		<string name="min_queue">Minimum zip queue reached!</string>
+		<string name="screenshot_err">Failed to take a screenshot!</string>
+		<string name="zip_wipe_cache">One or more zip requested a cache wipe -- Wiping cache now.</string>
+		<string name="and_sec_wipe_err">Unable to wipe android secure</string>
+		<string name="dalvik_wipe_err">Failed to wipe dalvik</string>
+		<string name="auto_gen">(Auto Generate)</string>
+		<string name="curr_date">(Current Date)</string>
+		<string name="backup_name_len">Backup name is too long.</string>
+		<string name="backup_name_invalid">Backup name '{1}' contains invalid character: '{1}'</string>
+		<string name="backup_name_exists">A backup with this name already exists.</string>
+		<string name="no_real_sdcard">This device does not have a real SD Card! Aborting!</string>
+		<string name="cancel_sideload">Cancelling ADB sideload...</string>
+		<string name="change_fs_err">Error changing file system.</string>
+	</resources>
+</language>
diff --git a/gui/theme/common/languages/es.xml b/gui/theme/common/languages/es.xml
new file mode 100644
index 0000000..ec2b41d
--- /dev/null
+++ b/gui/theme/common/languages/es.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<language>
+	<display>Español</display>
+
+	<resources>
+		<resource name="font" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="mediumfont" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="filelist" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="fixed" type="fontoverride" filename="DroidSansMono.ttf" scale="100" />
+		<string name="install_btn">Instalar</string>
+	</resources>
+</language>
diff --git a/gui/theme/common/languages/fi.xml b/gui/theme/common/languages/fi.xml
new file mode 100644
index 0000000..51ed60d
--- /dev/null
+++ b/gui/theme/common/languages/fi.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<language>
+	<display>Suomi</display>
+
+	<resources>
+		<resource name="font" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="mediumfont" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="filelist" type="fontoverride" filename="RobotoCondensed-Regular.ttf" scale="100" />
+		<resource name="fixed" type="fontoverride" filename="DroidSansMono.ttf" scale="100" />
+		<string name="install_btn">Asenna</string>
+	</resources>
+</language>
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
old mode 100644
new mode 100755
index dc9bea2..2cd49e4
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -158,7 +158,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Team Win Recovery Project</text>
+				<text>{@twrp_header=Team Win Recovery Project}</text>
 			</text>
 
 			<text style="text_m">
@@ -169,7 +169,7 @@
 
 			<button style="main_button">
 				<placement x="%indent%" y="%row2a_y%"/>
-				<text>Install</text>
+				<text>{@install_btn=Install}</text>
 				<actions>
 					<action function="queueclear"/>
 					<action function="set">tw_selectimage=0</action>
@@ -179,43 +179,43 @@
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row2a_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_btn=Wipe}</text>
 				<action function="page">wipe</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%indent%" y="%row8_y%"/>
-				<text>Backup</text>
+				<text>{@backup_btn=Backup}</text>
 				<action function="page">backup</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row8_y%"/>
-				<text>Restore</text>
+				<text>{@restore_btn=Restore}</text>
 				<action function="page">restore</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%indent%" y="%row13a_y%"/>
-				<text>Mount</text>
+				<text>{@mount_btn=Mount}</text>
 				<action function="page">mount</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row13a_y%"/>
-				<text>Settings</text>
+				<text>{@settings_btn=Settings}</text>
 				<action function="page">settings</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%indent%" y="%row19_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_btn=Advanced}</text>
 				<action function="page">advanced</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row19_y%"/>
-				<text>Reboot</text>
+				<text>{@reboot_btn=Reboot}</text>
 				<action function="page">reboot</action>
 			</button>
 		</page>
@@ -226,18 +226,18 @@
 			<text style="text_l">
 				<condition var1="tw_selectimage" var2="0"/>
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Zip</text>
+				<text>{@install_zip_hdr=Install Zip}</text>
 			</text>
 
 			<text style="text_l">
 				<condition var1="tw_selectimage" var2="1"/>
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Image</text>
+				<text>{@install_image_hdr=Install Image}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Select File from %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@select_file_from_storage=Select File from %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<template name="sort_options"/>
@@ -264,7 +264,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row21a_y%"/>
-				<text>Select Storage</text>
+				<text>{@select_storage_btn=Select Storage}</text>
 				<actions>
 					<action function="set">tw_back=install</action>
 					<action function="overlay">select_storage</action>
@@ -274,7 +274,7 @@
 			<button style="main_button_half_height">
 				<condition var1="tw_selectimage" var2="0"/>
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Install Image</text>
+				<text>{@install_image_btn=Install Image}</text>
 				<actions>
 					<action function="set">tw_selectimage=1</action>
 					<action function="page">install</action>
@@ -284,7 +284,7 @@
 			<button style="main_button_half_height">
 				<condition var1="tw_selectimage" var2="1"/>
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Install Zip</text>
+				<text>{@install_zip_btn=Install Zip}</text>
 				<actions>
 					<action function="set">tw_selectimage=0</action>
 					<action function="page">install</action>
@@ -326,32 +326,32 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Zip</text>
+				<text>{@install_zip_hdr=Install Zip}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>%tw_zip_queue_count% of max of 10 Files queued</text>
+				<text>{@zip_queue_count=%tw_zip_queue_count% of max of 10 Files queued}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>This operation may install incompatible</text>
+				<text>{@zip_warn1=This operation may install incompatible}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>software and render your device unusable.</text>
+				<text>{@zip_warn2=software and render your device unusable.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>Press back to cancel adding this zip.</text>
+				<text>{@zip_back_cancel=Press back to cancel adding this zip.}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row7_y%"/>
-				<text>Folder:</text>
+				<text>{@folder=Folder:}</text>
 			</text>
 
 			<text style="text_m">
@@ -361,7 +361,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row9a_y%"/>
-				<text>File:</text>
+				<text>{@file=File:}</text>
 			</text>
 
 			<text style="text_m">
@@ -371,26 +371,26 @@
 
 			<checkbox>
 				<placement x="%indent%" y="%row12_y%"/>
-				<text>Zip file signature verification</text>
+				<text>{@zip_sig_chk=Zip signature verification}</text>
 				<data variable="tw_signed_zip_verify"/>
 			</checkbox>
 
 			<checkbox>
 				<condition var1="tw_has_injecttwrp" var2="1"/>
 				<placement x="%indent%" y="%row13_y%"/>
-				<text>Inject TWRP after install</text>
+				<text>{@inject_twrp_chk=Inject TWRP after install}</text>
 				<data variable="tw_inject_after_zip"/>
 			</checkbox>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row18a_y%"/>
-				<text>Add more Zips</text>
+				<text>{@zip_add_btn=Add more Zips}</text>
 				<action function="page">install</action>
 			</button>
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row18a_y%"/>
-				<text>Clear Zip Queue</text>
+				<text>{@zip_clear_btn=Clear Zip Queue}</text>
 				<actions>
 					<action function="queueclear"/>
 					<action function="page">install</action>
@@ -398,7 +398,7 @@
 			</button>
 
 			<slider>
-				<text>Swipe to confirm Flash</text>
+				<text>{@swipe_flash=Swipe to confirm Flash}</text>
 				<action function="flash">flash_zip</action>
 			</slider>
 
@@ -421,7 +421,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Zip %tw_zip_index% of %tw_zip_queue_count%</text>
+				<text>{@install_zip_count_hdr=Install Zip %tw_zip_index% of %tw_zip_queue_count%}</text>
 			</text>
 
 			<text style="text_m">
@@ -444,26 +444,26 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Zip</text>
+				<text>{@install_zip_hdr=Install Zip}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<condition var1="tw_operation_status" op="!=" var2="0"/>
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Failed</text>
+				<text>{@failed=Failed}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_operation_status" var2="0"/>
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Successful</text>
+				<text>{@successful=Successful}</text>
 			</text>
 
 			<template name="console"/>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row21a_y%"/>
-				<text>Wipe cache/dalvik</text>
+				<text>{@wipe_cache_dalvik_btn=Wipe cache/dalvik}</text>
 				<actions>
 					<action function="set">tw_back=flash_done</action>
 					<action function="set">tw_action=wipe</action>
@@ -471,30 +471,30 @@
 					<action function="set">tw_has_action2=1</action>
 					<action function="set">tw_action2=wipe</action>
 					<action function="set">tw_action2_param=dalvik</action>
-					<action function="set">tw_text1=Wipe Cache &amp; Dalvik?</action>
-					<action function="set">tw_action_text1=Wiping Cache &amp; Dalvik...</action>
-					<action function="set">tw_complete_text1=Cache &amp; Dalvik Wipe Complete</action>
-					<action function="set">tw_slider_text=Swipe to Wipe</action>
+					<action function="set">tw_text1={@wipe_cache_dalvik_confirm=Wipe Cache &amp; Dalvik?}</action>
+					<action function="set">tw_action_text1={@wiping_cache_dalvik=Wiping Cache &amp; Dalvik...}</action>
+					<action function="set">tw_complete_text1={@wipe_cache_dalvik_complete=Cache &amp; Dalvik Wipe Complete}</action>
+					<action function="set">tw_slider_text={@swipe_wipe=Swipe to Wipe}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Reboot System</text>
+				<text>{@reboot_system_btn=Reboot System}</text>
 				<actions>
 					<action function="set">tw_back=main2</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=system</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
 					<action function="set">tw_text3=</action>
 					<action function="set">tw_text4=</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
 					<action function="set">tw_action_text2=</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -521,17 +521,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Install Image</text>
+				<text>{@install_image_hdr=Install Image}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Select Target Partition</text>
+				<text>{@install_sel_target=Select Target Partition}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row2_y%"/>
-				<text>Folder:</text>
+				<text>{@folder=Folder:}</text>
 			</text>
 
 			<text style="text_m">
@@ -541,7 +541,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row4a_y%"/>
-				<text>File:</text>
+				<text>{@file=File:}</text>
 			</text>
 
 			<text style="text_m">
@@ -552,20 +552,20 @@
 			<partitionlist>
 				<placement x="%indent%" y="%row7_y%" w="%content_width%" h="%partitionlist_flashimage_height%"/>
 				<icon selected="radio_true" unselected="radio_false"/>
-				<text>Select Partition to Flash Image:</text>
+				<text>{@flash_image_select=Select Partition to Flash Image:}</text>
 				<data name="tw_flash_partition"/>
 				<listtype name="flashimg"/>
 			</partitionlist>
 
 			<slider>
-				<text>Swipe to confirm Flash</text>
+				<text>{@swipe_flash=Swipe to confirm Flash}</text>
 				<actions>
 					<action function="set">tw_back=flashimage_confirm</action>
 					<action function="set">tw_action=flashimage</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_action_text1=Flashing Image...</action>
+					<action function="set">tw_action_text1={@flashing_image=Flashing Image...}</action>
 					<action function="set">tw_action_text2=</action>
-					<action function="set">tw_complete_text1=Image Flashed</action>
+					<action function="set">tw_complete_text1={@image_flashed=Image Flashed}</action>
 					<action function="page">action_page</action>
 				</actions>
 				<action function="flashimage"/>
@@ -615,7 +615,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Confirm Action</text>
+				<text>{@confirm_action=Confirm Action}</text>
 			</text>
 
 			<text style="text_m">
@@ -645,7 +645,7 @@
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row7_y%" placement="5"/>
-				<text>Press back button to cancel.</text>
+				<text>{@back_cancel=Press back button to cancel.}</text>
 			</text>
 
 			<slider>
@@ -687,7 +687,7 @@
 			<button style="main_button_half_height">
 				<condition var1="tw_has_cancel" var2="1"/>
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="%tw_cancel_action%">%tw_cancel_param%</action>
 			</button>
 
@@ -765,20 +765,20 @@
 			<text style="text_m_fail">
 				<condition var1="tw_operation_status" op="!=" var2="0"/>
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Failed</text>
+				<text>{@failed=Failed}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_operation_status" var2="0"/>
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Successful</text>
+				<text>{@successful=Successful}</text>
 			</text>
 
 			<template name="console"/>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row21a_y%"/>
-				<text>Back</text>
+				<text>{@back_btn=Back}</text>
 				<actions>
 					<action function="set">tw_clear_destination=%tw_back%</action>
 					<action function="page">clear_vars</action>
@@ -787,20 +787,20 @@
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Reboot System</text>
+				<text>{@reboot_system_btn=Reboot System}</text>
 				<actions>
 					<action function="set">tw_back=main2</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=system</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
 					<action function="set">tw_text3=</action>
 					<action function="set">tw_text4=</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
 					<action function="set">tw_action_text2=</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -867,23 +867,23 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_hdr=Wipe}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Factory Reset</text>
+				<text>{@factory_reset_hdr=Factory Reset}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Wipes Data, Cache, and Dalvik</text>
+				<text>{@factory_reset1=Wipes Data, Cache, and Dalvik}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<condition var1="tw_has_data_media" var2="1"/>
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>(not including internal storage)</text>
+				<text>{@factory_reset2=(not including internal storage)}</text>
 			</text>
 
 			<text style="text_m_accent">
@@ -892,33 +892,33 @@
 					<condition var1="fileexists" var2="/and-sec"/>
 				</conditions>
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>Android Secure</text>
+				<text>{@android_secure=Android Secure}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<condition var1="tw_has_sdext_partition" var2="1"/>
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>SD-EXT</text>
+				<text>{@sdext=SD-EXT}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row7_y%" placement="5"/>
-				<text>Most of the time this is</text>
+				<text>{@factory_reset3=Most of the time this is}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row8_y%" placement="5"/>
-				<text>the only wipe that you need.</text>
+				<text>{@factory_reset4=the only wipe that you need.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row10_y%" placement="5"/>
-				<text>Press back button to cancel.</text>
+				<text>{@back_cancel=Press back button to cancel.}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row18a_y%"/>
-				<text>Advanced Wipe</text>
+				<text>{@advanced_wipe_btn=Advanced Wipe}</text>
 				<actions>
 					<action function="set">partitionlisterror=0</action>
 					<action function="page">advancedwipe</action>
@@ -928,7 +928,7 @@
 			<button style="main_button_half_height">
 				<condition var1="tw_has_data_media" var2="1"/>
 				<placement x="%center_x%" y="%row18a_y%"/>
-				<text>Format Data</text>
+				<text>{@format_data_btn=Format Data}</text>
 				<action function="page">formatdata</action>
 			</button>
 
@@ -938,29 +938,29 @@
 					<condition var1="tw_has_data_media" var2="0"/>
 				</conditions>
 				<placement x="%center_x%" y="%row18a_y%"/>
-				<text>Wipe Encryption</text>
+				<text>{@wipe_enc_btn=Wipe Encryption}</text>
 				<actions>
 					<action function="set">tw_back=wipe</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=DATAMEDIA</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Wipe Encryption from Data?</action>
+					<action function="set">tw_text1={@wipe_enc_confirm=Wipe Encryption from Data?}</action>
 					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting Data...</action>
-					<action function="set">tw_complete_text1=Data Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Format Data</action>
+					<action function="set">tw_action_text1={@formatting_data=Formatting Data...}</action>
+					<action function="set">tw_complete_text1={@format_data_complete=Data Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_format_data=Swipe to Format Data}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<slider>
-				<text>Swipe to Factory Reset</text>
+				<text>{@swipe_factory_reset=Swipe to Factory Reset}</text>
 				<actions>
 					<action function="set">tw_back=wipe</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=data</action>
-					<action function="set">tw_action_text1=Factory Reset...</action>
-					<action function="set">tw_complete_text1=Factory Reset Complete</action>
+					<action function="set">tw_action_text1={@factory_resetting=Factory Reset...}</action>
+					<action function="set">tw_complete_text1={@factory_reset_complete=Factory Reset Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</slider>
@@ -985,17 +985,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_hdr=Wipe}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Advanced Wipe</text>
+				<text>{@advanced_wipe_hdr=Advanced Wipe}</text>
 			</text>
 
 			<partitionlist>
 				<placement x="%indent%" y="%row1a_y%" w="%content_width%" h="%partitionlist_wipe_height%"/>
-				<text>Select Partitions to Wipe:</text>
+				<text>{@sel_part_wipe=Select Partitions to Wipe:}</text>
 				<data name="tw_wipe_list"/>
 				<listtype name="wipe"/>
 			</partitionlist>
@@ -1003,12 +1003,12 @@
 			<text style="text_m_fail">
 				<condition var1="partitionlisterror" var2="1"/>
 				<placement x="%center_x%" y="%row17_y%" placement="5"/>
-				<text>Invalid partition selection</text>
+				<text>{@invalid_part_sel=Invalid partition selection}</text>
 			</text>
 
 			<button style="main_button_half_height_full_width">
 				<placement x="%indent%" y="%row18a_y%"/>
-				<text>Repair or Change File System</text>
+				<text>{@repair_change_btn=Repair or Change File System}</text>
 				<actions>
 					<action function="checkpartitionlist"/>
 					<action function="page">checkpartitionlist</action>
@@ -1016,14 +1016,14 @@
 			</button>
 
 			<slider>
-				<text>Swipe to Wipe</text>
+				<text>{@swipe_wipe=Swipe to Wipe}</text>
 				<actions>
 					<action function="set">tw_back=advancedwipe</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=LIST</action>
-					<action function="set">tw_text1=Wipe Selected Partition(s)?</action>
-					<action function="set">tw_action_text1=Wiping Partition(s)...</action>
-					<action function="set">tw_complete_text1=Wipe Complete</action>
+					<action function="set">tw_text1={@wipe_sel_confirm=Wipe Selected Partition(s)?}</action>
+					<action function="set">tw_action_text1={@wiping_part=Wiping Partition(s)...}</action>
+					<action function="set">tw_complete_text1={@wipe_complete=Wipe Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</slider>
@@ -1044,37 +1044,37 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_hdr=Wipe}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Format Data</text>
+				<text>{@format_data_hdr=Format Data}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Format Data will wipe all of your apps,</text>
+				<text>{@format_data_ptr1=Format Data will wipe all of your apps,}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>backups, pictures, videos, media, and</text>
+				<text>{@format_data_ptr2=backups, pictures, videos, media, and}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>removes encryption on internal storage.</text>
+				<text>{@format_data_ptr3=removes encryption on internal storage.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row6_y%" placement="5"/>
-				<text>This cannot be undone. Press back to cancel.</text>
+				<text>{@format_data_undo=This cannot be undone.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row8_y%" placement="5"/>
-				<text>Type yes to continue.</text>
+				<text>{@yes_continue=Type yes to continue.  Press back to cancel.}</text>
 			</text>
 
 			<input>
@@ -1109,8 +1109,8 @@
 					<action function="set">tw_back=formatdata</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=DATAMEDIA</action>
-					<action function="set">tw_action_text1=Formatting Data...</action>
-					<action function="set">tw_complete_text1=Data Format Complete</action>
+					<action function="set">tw_action_text1={@formatting_data=Formatting Data...}</action>
+					<action function="set">tw_complete_text1={@format_data_complete=Data Format Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</action>
@@ -1146,83 +1146,83 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_hdr=Wipe}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Partition Options for: %tw_partition_name%</text>
+				<text>{@part_opt_hdr=Partition Options for: %tw_partition_name%}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Mount Point: %tw_partition_mount_point%</text>
+				<text>{@part_mount_point=Mount Point: %tw_partition_mount_point%}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>Current file system: %tw_partition_file_system%</text>
+				<text>{@part_curr_fs=File system: %tw_partition_file_system%}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_is_present" var2="1"/>
 				<placement x="%indent%" y="%row5_y%"/>
-				<text>Present: Yes</text>
+				<text>{@part_present_yes=Present: Yes}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_is_present" var2="0"/>
 				<placement x="%indent%" y="%row5_y%"/>
-				<text>Present: No</text>
+				<text>{@part_present_no=Present: No}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_removable" var2="1"/>
 				<placement x="%center_x%" y="%row5_y%"/>
-				<text>Removable: Yes</text>
+				<text>{@part_removable_yes=Removable: Yes}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_removable" var2="0"/>
 				<placement x="%center_x%" y="%row5_y%"/>
-				<text>Removable: No</text>
+				<text>{@part_removable_no=Removable: No}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%indent%" y="%row7_y%"/>
-				<text>Size: %tw_partition_size%MB</text>
+				<text>{@part_size=Size: %tw_partition_size%MB}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row7_y%"/>
-				<text>Used: %tw_partition_used%MB</text>
+				<text>{@part_used=Used: %tw_partition_used%MB}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%indent%" y="%row9_y%"/>
-				<text>Free: %tw_partition_free%MB</text>
+				<text>{@part_free=Free: %tw_partition_free%MB}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row9_y%"/>
-				<text>Backup Size: %tw_partition_backup_size%MB</text>
+				<text>{@part_backup_size=Backup Size: %tw_partition_backup_size%MB}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<condition var1="tw_partition_can_resize" op="=" var2="1"/>
 				<placement x="%indent%" y="%row18a_y%"/>
-				<text>Resize File System</text>
+				<text>{@resize_btn=Resize File System}</text>
 				<actions>
 					<action function="set">tw_back=partitionoptions</action>
 					<action function="set">tw_action=resize</action>
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_has_action2=1</action>
 					<action function="set">tw_action2=getpartitiondetails</action>
-					<action function="set">tw_text1=Resize %tw_partition_name%?</action>
+					<action function="set">tw_text1={@resize_confirm=Resize %tw_partition_name%?}</action>
 					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Resizing...</action>
-					<action function="set">tw_complete_text1=Resize Complete</action>
-					<action function="set">tw_slider_text=Swipe to Resize</action>
+					<action function="set">tw_action_text1={@resizing=Resizing...}</action>
+					<action function="set">tw_complete_text1={@resize_complete=Resize Complete}</action>
+					<action function="set">tw_slider_text={@swipe_resize=Swipe to Resize}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1230,24 +1230,24 @@
 			<button style="main_button_half_height">
 				<condition var1="tw_partition_can_repair" op="=" var2="1"/>
 				<placement x="%indent%" y="%row21a_y%"/>
-				<text>Repair File System</text>
+				<text>{@repair_btn=Repair File System}</text>
 				<actions>
 					<action function="set">tw_back=partitionoptions</action>
 					<action function="set">tw_action=repair</action>
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Repair %tw_partition_name%?</action>
+					<action function="set">tw_text1={@repair_confirm=Repair %tw_partition_name%?}</action>
 					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Repairing...</action>
-					<action function="set">tw_complete_text1=Repair Complete</action>
-					<action function="set">tw_slider_text=Swipe to Repair</action>
+					<action function="set">tw_action_text1={@repairing=Repairing...}</action>
+					<action function="set">tw_complete_text1={@repair_complete=Repair Complete}</action>
+					<action function="set">tw_slider_text={@swipe_repair=Swipe to Repair}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Change File System</text>
+				<text>{@change_fs_btn=Change File System}</text>
 				<action function="page">selectfilesystem</action>
 			</button>
 
@@ -1287,32 +1287,32 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_hdr=Wipe}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Change File System for: %tw_partition_name%</text>
+				<text>{@change_fs_for_hdr=Change File System for: %tw_partition_name%}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Mount Point: %tw_partition_mount_point%</text>
+				<text>{@part_mount_point=Mount Point: %tw_partition_mount_point%}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>Current file system: %tw_partition_file_system%</text>
+				<text>{@part_curr_fs=File system: %tw_partition_file_system%}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>Some ROMs or kernels may not support some</text>
+				<text>{@change_fs_warn1=Some ROMs or kernels may not support some}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row6_y%" placement="5"/>
-				<text>file systems. Proceed with caution!</text>
+				<text>{@change_fs_warn2=file systems. Proceed with caution!}</text>
 			</text>
 
 			<button style="main_button_half_height">
@@ -1325,11 +1325,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=ext2</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to EXT2?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=EXT2</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1344,11 +1344,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=ext3</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to EXT3?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=EXT3</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1363,11 +1363,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=ext4</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to EXT4?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=EXT4</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1382,11 +1382,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=vfat</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to FAT?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=FAT</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1401,11 +1401,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=exfat</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to exFAT?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=exFAT</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1420,11 +1420,11 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=f2fs</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to F2FS?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=Swipe to Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=F2FS</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_fs=Swipe to Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1445,12 +1445,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Backup</text>
+				<text>{@backup_hdr=Backup}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@storage_hdr=Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<template name="tabs_backup"/>
@@ -1465,7 +1465,7 @@
 					<condition var1="tw_encrypt_backup" var2="0"/>
 				</conditions>
 				<placement x="%tab3_col3_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%"/>
-				<text>ENCRYPTION</text>
+				<text>{@encryption_tab=ENCRYPTION}</text>
 				<font resource="font_s" color="%text_color%"/>
 				<actions>
 					<action function="set">tw_password_not_match=0</action>
@@ -1479,7 +1479,7 @@
 					<condition var1="tw_encrypt_backup" var2="1"/>
 				</conditions>
 				<placement x="%tab3_col3_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%"/>
-				<text>ENCRYPTION</text>
+				<text>{@encryption_tab=ENCRYPTION}</text>
 				<font resource="font_s" color="%text_success_color%"/>
 				<actions>
 					<action function="set">tw_password_not_match=0</action>
@@ -1489,7 +1489,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row3a_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<text style="text_m">
@@ -1512,14 +1512,14 @@
 
 			<partitionlist>
 				<placement x="%indent%" y="%row6_y%" w="%content_width%" h="%partitionlist_backup_height%"/>
-				<text>Select Partitions to Backup:</text>
+				<text>{@sel_part_backup=Select Partitions to Backup:}</text>
 				<data name="tw_backup_list"/>
 				<listtype name="backup"/>
 			</partitionlist>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row18a_y%"/>
-				<text>Select Storage</text>
+				<text>{@select_storage_btn=Select Storage}</text>
 				<actions>
 					<action function="set">tw_back=backup</action>
 					<action function="overlay">select_storage</action>
@@ -1528,7 +1528,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row18a_y%"/>
-				<text>Refresh Sizes</text>
+				<text>{@refresh_sizes_btn=Refresh Sizes}</text>
 				<actions>
 					<action function="refreshsizes"/>
 					<action function="page">backup</action>
@@ -1536,7 +1536,7 @@
 			</button>
 
 			<slider>
-				<text>Swipe to Backup</text>
+				<text>{@swipe_backup=Swipe to Backup}</text>
 				<action function="page">backup_run</action>
 			</slider>
 
@@ -1556,12 +1556,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Backup</text>
+				<text>{@backup_hdr=Backup}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@storage_hdr=Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<template name="tabs_backup"/>
@@ -1576,7 +1576,7 @@
 					<condition var1="tw_encrypt_backup" var2="0"/>
 				</conditions>
 				<placement x="%tab3_col3_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%"/>
-				<text>ENCRYPTION</text>
+				<text>{@encryption_tab=ENCRYPTION}</text>
 				<font resource="font_s" color="%text_color%"/>
 				<actions>
 					<action function="set">tw_password_not_match=0</action>
@@ -1590,7 +1590,7 @@
 					<condition var1="tw_encrypt_backup" var2="1"/>
 				</conditions>
 				<placement x="%tab3_col3_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%"/>
-				<text>ENCRYPTION</text>
+				<text>{@encryption_tab=ENCRYPTION}</text>
 				<font resource="font_s" color="%text_success_color%"/>
 				<actions>
 					<action function="set">tw_password_not_match=0</action>
@@ -1600,19 +1600,19 @@
 
 			<checkbox>
 				<placement x="%indent%" y="%row3a_y%"/>
-				<text>Enable compression</text>
+				<text>{@enable_backup_comp_chk=Enable compression}</text>
 				<data variable="tw_use_compression"/>
 			</checkbox>
 
 			<checkbox>
 				<placement x="%indent%" y="%row5_y%"/>
-				<text>Skip MD5 generation during backup</text>
+				<text>{@skip_md5_backup_chk=Skip MD5 generation during backup}</text>
 				<data variable="tw_skip_md5_generate"/>
 			</checkbox>
 
 			<checkbox>
 				<placement x="%indent%" y="%row6a_y%"/>
-				<text>Disable Free Space Check</text>
+				<text>{@disable_backup_space_chk=Disable Free Space Check}</text>
 				<data variable="tw_disable_free_space"/>
 			</checkbox>
 
@@ -1629,7 +1629,7 @@
 
 		<page name="backupname1">
 			<action>
-				<condition var1="tw_backup_name" op="=" var2="(Auto Generate)"/>
+				<condition var1="tw_backup_name" op="=" var2="{@auto_generate=(Auto Generate)}"/>
 				<action function="generatebackupname"/>
 			</action>
 
@@ -1643,12 +1643,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Backup</text>
+				<text>{@backup_hdr=Backup}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@storage_hdr=Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<template name="tabs_backup"/>
@@ -1663,7 +1663,7 @@
 					<condition var1="tw_encrypt_backup" var2="0"/>
 				</conditions>
 				<placement x="%tab3_col3_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%"/>
-				<text>ENCRYPTION</text>
+				<text>{@encryption_tab=ENCRYPTION}</text>
 				<font resource="font_s" color="%text_color%"/>
 				<actions>
 					<action function="set">tw_password_not_match=0</action>
@@ -1677,7 +1677,7 @@
 					<condition var1="tw_encrypt_backup" var2="1"/>
 				</conditions>
 				<placement x="%tab3_col3_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%"/>
-				<text>ENCRYPTION</text>
+				<text>{@encryption_tab=ENCRYPTION}</text>
 				<font resource="font_s" color="%text_success_color%"/>
 				<actions>
 					<action function="set">tw_password_not_match=0</action>
@@ -1687,7 +1687,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row3a_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -1715,21 +1715,21 @@
 			<text style="text_m_fail">
 				<condition var1="tw_fileexists" var2="1"/>
 				<placement x="%indent%" y="%row6_y%"/>
-				<text>A backup with that name already exists!</text>
+				<text>{@backup_name_exists=A backup with that name already exists!}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row10_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
-					<action function="set">tw_backup_name=(Auto Generate)</action>
+					<action function="set">tw_backup_name={@auto_generate=(Auto Generate)}</action>
 					<action function="page">backup</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row10_y%"/>
-				<text>Append Date</text>
+				<text>{@append_date_btn=Append Date}</text>
 				<action function="appenddatetobackupname"/>
 			</button>
 
@@ -1738,7 +1738,7 @@
 			<action>
 				<touch key="home"/>
 				<actions>
-					<action function="set">tw_backup_name=(Auto Generate)</action>
+					<action function="set">tw_backup_name={@auto_generate=(Auto Generate)}</action>
 					<action function="page">main</action>
 				</actions>
 			</action>
@@ -1746,7 +1746,7 @@
 			<action>
 				<touch key="back"/>
 				<actions>
-					<action function="set">tw_backup_name=(Auto Generate)</action>
+					<action function="set">tw_backup_name={@auto_generate=(Auto Generate)}</action>
 					<action function="page">backup</action>
 				</actions>
 			</action>
@@ -1757,12 +1757,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Backup</text>
+				<text>{@backup_hdr=Backup}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@storage_hdr=Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<template name="tabs_backup"/>
@@ -1773,7 +1773,7 @@
 					<condition var1="tw_encrypt_backup" var2="0"/>
 				</conditions>
 				<placement x="%tab3_col3_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%"/>
-				<text>ENCRYPTION</text>
+				<text>{@encryption_tab=ENCRYPTION}</text>
 				<font resource="font_s" color="%text_color%"/>
 				<actions>
 					<action function="set">tw_password_not_match=0</action>
@@ -1787,7 +1787,7 @@
 					<condition var1="tw_encrypt_backup" var2="1"/>
 				</conditions>
 				<placement x="%tab3_col3_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%"/>
-				<text>ENCRYPTION</text>
+				<text>{@encryption_tab=ENCRYPTION}</text>
 				<font resource="font_s" color="%text_success_color%"/>
 				<actions>
 					<action function="set">tw_password_not_match=0</action>
@@ -1801,12 +1801,12 @@
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row3a_y%" placement="5"/>
-				<text>Encrypt your Backup?</text>
+				<text>{@encrypt_backup=Encrypt your Backup?}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>Enter a Password:</text>
+				<text>{@enter_pass=Enter Password:}</text>
 			</text>
 
 			<input>
@@ -1829,12 +1829,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_password_not_match" var2="1"/>
 				<placement x="%indent%" y="%row8a_y%"/>
-				<text>Passwords do not match!</text>
+				<text>{@pass_not_match=Passwords do not match!}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row10_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_encrypt_backup=0</action>
 					<action function="set">tw_backup_password=</action>
@@ -1863,12 +1863,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Backup</text>
+				<text>{@backup_hdr=Backup}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@storage_hdr=Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<template name="tabs_backup"/>
@@ -1879,7 +1879,7 @@
 					<condition var1="tw_encrypt_backup" var2="0"/>
 				</conditions>
 				<placement x="%tab3_col3_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%"/>
-				<text>ENCRYPTION</text>
+				<text>{@encryption_tab=ENCRYPTION}</text>
 				<font resource="font_s" color="%text_color%"/>
 				<actions>
 					<action function="set">tw_password_not_match=0</action>
@@ -1893,7 +1893,7 @@
 					<condition var1="tw_encrypt_backup" var2="1"/>
 				</conditions>
 				<placement x="%tab3_col3_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%"/>
-				<text>ENCRYPTION</text>
+				<text>{@encryption_tab=ENCRYPTION}</text>
 				<font resource="font_s" color="%text_success_color%"/>
 				<actions>
 					<action function="set">tw_password_not_match=0</action>
@@ -1907,12 +1907,12 @@
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row3a_y%" placement="5"/>
-				<text>Encrypt your Backup?</text>
+				<text>{@encrypt_backup=Encrypt your Backup?}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>Enter Password again:</text>
+				<text>{@enter_pass2=Enter Password again:}</text>
 			</text>
 
 			<input>
@@ -1929,7 +1929,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row10_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_encrypt_backup=0</action>
 					<action function="set">tw_backup_password=</action>
@@ -1995,7 +1995,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row19_y%"/>
-				<text>Progress:</text>
+				<text>{@progress=Progress:}</text>
 			</text>
 
 			<text style="text_m">
@@ -2010,7 +2010,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="cancelbackup"/>
 			</button>
 
@@ -2023,7 +2023,7 @@
 				<condition var1="tw_cancel_backup" var2="0"/>
 				<actions>
 					<action function="set">tw_back=backup</action>
-					<action function="set">tw_complete_text1=Backup Complete</action>
+					<action function="set">tw_complete_text1={@backup_complete=Backup Complete}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_complete</action>
 				</actions>
@@ -2034,7 +2034,7 @@
 				<condition var1="tw_cancel_backup" var2="1"/>
 				<actions>
 					<action function="set">tw_back=backup</action>
-					<action function="set">tw_complete_text1=Backup Cancelled</action>
+					<action function="set">tw_complete_text1={@backup_cancel=Backup Cancelled}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_complete</action>
 				</actions>
@@ -2046,19 +2046,19 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Select Backup from %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@restore_sel_store_hdr=Select Backup from %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<template name="sort_options"/>
 
 			<fileselector>
 				<placement x="%indent%" y="%row3_y%" w="%content_width%" h="%fileselector_install_height%"/>
-				<text>Select Package to Restore:</text>
+				<text>{@restore_sel_pack_fs=Select Package to Restore:}</text>
 				<filter folders="1" files="0" nav="0"/>
 				<path name="tw_backups_folder"/>
 				<data name="tw_restore" default=""/>
@@ -2067,7 +2067,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row21a_y%"/>
-				<text>Select Storage</text>
+				<text>{@select_storage_btn=Select Storage}</text>
 				<actions>
 					<action function="set">tw_back=restore</action>
 					<action function="overlay">select_storage</action>
@@ -2115,17 +2115,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Encrypted Backup</text>
+				<text>{@restore_enc_backup_hdr=Encrypted Backup}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Enter Password:</text>
+				<text>{@enter_pass=Enter Password:}</text>
 			</text>
 
 			<input>
@@ -2148,12 +2148,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_password_fail" var2="1"/>
 				<placement x="%indent%" y="%row5_y%"/>
-				<text>Password failed, please try again!</text>
+				<text>{@restore_dec_fail=Password failed, please try again!}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row10_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_page_done=1</action>
 					<action function="page">restore</action>
@@ -2162,16 +2162,17 @@
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row10_y%"/>
-				<text>Delete Backup</text>
+				<text>{@del_backup_btn=Delete Backup}</text>
 				<actions>
 					<action function="set">tw_back=restore</action>
 					<action function="set">tw_action=cmd</action>
 					<action function="set">tw_action_param=cd %tw_backups_folder% &amp;&amp; rm -rf "%tw_restore_name%"</action>
-					<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
-					<action function="set">tw_text2=This cannot be undone!</action>
-					<action function="set">tw_action_text1=Deleting Backup...</action>
-					<action function="set">tw_complete_text1=Backup Delete Complete</action>
-					<action function="set">tw_slider_text=Swipe to Delete</action>
+					<action function="set">tw_text1={@del_backup_confirm=Delete Backup?}</action>
+					<action function="set">tw_text2=%tw_restore_name%</action>
+					<action function="set">tw_text4={@del_backup_confirm2=This cannot be undone!}</action>
+					<action function="set">tw_action_text1={@deleting_backup=Deleting Backup...}</action>
+					<action function="set">tw_complete_text1={@backup_deleted=Backup Delete Complete}</action>
+					<action function="set">tw_slider_text={@swipe_delete=Swipe to Delete}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -2194,12 +2195,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Encrypted Backup - Trying Decryption</text>
+				<text>{@restore_try_decrypt=Encrypted Backup - Trying Decryption}</text>
 			</text>
 
 			<template name="console"/>
@@ -2238,17 +2239,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Backup made on %tw_restore_file_date%</text>
+				<text>{@restore_backup_date=Backup made on %tw_restore_file_date%}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row2_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<text style="text_m">
@@ -2272,36 +2273,36 @@
 
 			<partitionlist>
 				<placement x="%indent%" y="%row4a_y%" w="%content_width%" h="%partitionlist_backup_height%"/>
-				<text>Select Partitions to Restore:</text>
+				<text>{@restore_sel_part=Select Partitions to Restore:}</text>
 				<data name="tw_restore_list" selectedlist="tw_restore_selected"/>
 				<listtype name="restore"/>
 			</partitionlist>
 
 			<checkbox>
 				<placement x="%indent%" y="%row17_y%"/>
-				<text>Enable MD5 Verification of Backup Files</text>
+				<text>{@retore_enable_md5_chk=Enable MD5 Verification of Backup Files}</text>
 				<data variable="tw_skip_md5_check"/>
 			</checkbox>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row18a_y%"/>
-				<text>Delete Backup</text>
+				<text>{@del_backup_btn=Delete Backup}</text>
 				<actions>
 					<action function="set">tw_back=restore</action>
 					<action function="set">tw_action=cmd</action>
 					<action function="set">tw_action_param=cd %tw_backups_folder% &amp;&amp; rm -rf "%tw_restore_name%"</action>
-					<action function="set">tw_text1=Delete Backup?</action>
+					<action function="set">tw_text1={@del_backup_confirm=Delete Backup?}</action>
 					<action function="set">tw_text2=%tw_restore_name%</action>
-					<action function="set">tw_text4=This cannot be undone!</action>
-					<action function="set">tw_action_text1=Deleting Backup...</action>
-					<action function="set">tw_complete_text1=Backup Delete Complete</action>
-					<action function="set">tw_slider_text=Swipe to Delete</action>
+					<action function="set">tw_text4={@del_backup_confirm2=This cannot be undone!}</action>
+					<action function="set">tw_action_text1={@deleting_backup=Deleting Backup...}</action>
+					<action function="set">tw_complete_text1={@backup_deleted=Backup Delete Complete}</action>
+					<action function="set">tw_slider_text={@swipe_delete=Swipe to Delete}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<slider>
-				<text>Swipe to Restore</text>
+				<text>{@swipe_restore=Swipe to Restore}</text>
 				<action function="page">restore_run</action>
 			</slider>
 
@@ -2321,17 +2322,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Rename Backup</text>
+				<text>{@rename_backup_hdr=Rename Backup}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row2_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -2343,11 +2344,11 @@
 					<action function="set">tw_back=restore</action>
 					<action function="set">tw_action=cmd</action>
 					<action function="set">tw_action_param=cd %tw_backups_folder% &amp;&amp; mv "%tw_restore_name%" "%tw_backup_rename%"</action>
-					<action function="set">tw_text1=Rename Backup?</action>
-					<action function="set">tw_text2=This cannot be undone!</action>
-					<action function="set">tw_action_text1=Renaming Backup...</action>
-					<action function="set">tw_complete_text1=Backup Rename Complete</action>
-					<action function="set">tw_slider_text=Swipe to Rename</action>
+					<action function="set">tw_text1={@rename_backup_confirm=Rename Backup?}</action>
+					<action function="set">tw_text2={@rename_backup_confirm2=This cannot be undone!}</action>
+					<action function="set">tw_action_text1={@renaming_backup=Renaming Backup...}</action>
+					<action function="set">tw_complete_text1={@rename_backup_complete=Backup Rename Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_rename=Swipe to Rename}</action>
 					<action function="set">tw_filecheck=%tw_backups_folder%/%tw_backup_rename%</action>
 					<action function="set">tw_existpage=renamebackup</action>
 					<action function="set">tw_notexistpage=confirm_action</action>
@@ -2367,12 +2368,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_fileexists" var2="1"/>
 				<placement x="%indent%" y="%row4a_y%"/>
-				<text>A backup with that name already exists!</text>
+				<text>{@backup_name_exists=A backup with that name already exists!}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row10_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">restore_select</action>
 			</button>
 
@@ -2394,7 +2395,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Restore</text>
+				<text>{@restore_hdr=Restore}</text>
 			</text>
 
 			<text style="text_m">
@@ -2408,7 +2409,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row19_y%"/>
-				<text>Progress:</text>
+				<text>{@progress=Progress:}</text>
 			</text>
 
 			<text style="text_m">
@@ -2420,7 +2421,7 @@
 				<condition var1="tw_operation_state" var2="1"/>
 				<actions>
 					<action function="set">tw_back=restore_select</action>
-					<action function="set">tw_complete_text1=Restore Complete</action>
+					<action function="set">tw_complete_text1={@restore_complete=Restore Complete}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_complete</action>
 				</actions>
@@ -2436,24 +2437,24 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Mount</text>
+				<text>{@mount_hdr=Mount}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)</text>
+				<text>{@storage_hdr=Storage: %tw_storage_display_name% (%tw_storage_free_size% MB)}</text>
 			</text>
 
 			<partitionlist>
 				<placement x="%indent%" y="%row1a_y%" w="%content_width%" h="%partitionlist_mount_height%"/>
-				<text>Select Partitions to Mount:</text>
+				<text>{@mount_sel_part=Select Partitions to Mount:}</text>
 				<listtype name="mount"/>
 			</partitionlist>
 
 			<button style="checkbox">
 				<condition var1="tw_mount_system_ro" op="=" var2="0"/>
 				<placement x="%indent%" y="%row15a_y%" textplacement="6"/>
-				<text>Mount system partition read-only</text>
+				<text>{@mount_sys_ro_chk=Mount system partition read-only}</text>
 				<image resource="checkbox_false"/>
 				<action function="mountsystemtoggle">1</action>
 			</button>
@@ -2461,7 +2462,7 @@
 			<button style="checkbox">
 				<condition var1="tw_mount_system_ro" op="!=" var2="0"/>
 				<placement x="%indent%" y="%row15a_y%" textplacement="6"/>
-				<text>Mount system partition read-only</text>
+				<text>{@mount_sys_ro_chk=Mount system partition read-only}</text>
 				<image resource="checkbox_true"/>
 				<actions>
 					<action function="set">tw_lifetime_writes=2</action>
@@ -2472,7 +2473,7 @@
 			<button style="main_button_half_height">
 				<condition var1="tw_has_usb_storage" var2="1"/>
 				<placement x="%indent%" y="%row18a_y%"/>
-				<text>Mount USB Storage</text>
+				<text>{@mount_usb_storage_btn=Mount USB Storage}</text>
 				<action function="page">usb_mount</action>
 			</button>
 
@@ -2482,13 +2483,13 @@
 					<condition var1="tw_is_decrypted" var2="0"/>
 				</conditions>
 				<placement x="%center_x%" y="%row18a_y%"/>
-				<text>Decrypt Data</text>
+				<text>{@decrypt_data_btn=Decrypt Data}</text>
 				<action function="page">decrypt</action>
 			</button>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row21a_y%"/>
-				<text>Select Storage</text>
+				<text>{@select_storage_btn=Select Storage}</text>
 				<actions>
 					<action function="set">tw_back=mount</action>
 					<action function="overlay">select_storage</action>
@@ -2501,7 +2502,7 @@
 					<condition var1="tw_mtp_enabled" var2="0"/>
 				</conditions>
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Enable MTP</text>
+				<text>{@enable_mtp_btn=Enable MTP}</text>
 				<action function="startmtp"/>
 			</button>
 
@@ -2511,7 +2512,7 @@
 					<condition var1="tw_mtp_enabled" var2="1"/>
 				</conditions>
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Disable MTP</text>
+				<text>{@disable_mtp_btn=Disable MTP}</text>
 				<action function="stopmtp"/>
 			</button>
 
@@ -2531,32 +2532,32 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Mount</text>
+				<text>{@mount_hdr=Mount}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>USB Storage</text>
+				<text>{usb_storage_hdr=USB Storage}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>USB Storage Mounted</text>
+				<text>{@usb_stor_mnt1=USB Storage Mounted}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>Be sure to safely remove your device</text>
+				<text>{@usb_stor_mnt2=Be sure to safely remove your device}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>from your computer before unmounting!</text>
+				<text>{@usb_stor_mnt3=from your computer before unmounting!}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row21a_y%"/>
-				<text>Unmount</text>
+				<text>{@unmount_btn=Unmount}</text>
 				<action function="page">usb_umount</action>
 			</button>
 
@@ -2604,23 +2605,23 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Reboot Menu</text>
+				<text>{@reboot_hdr=Reboot Menu}</text>
 			</text>
 
 			<button style="main_button">
 				<condition var1="tw_reboot_system" var2="1"/>
 				<placement x="%indent%" y="%row2a_y%"/>
-				<text>System</text>
+				<text>{@rb_system_btn=System}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=system</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -2628,17 +2629,17 @@
 			<button style="main_button">
 				<condition var1="tw_reboot_poweroff" var2="1"/>
 				<placement x="%center_x%" y="%row2a_y%"/>
-				<text>Power Off</text>
+				<text>{@rb_poweroff_btn=Power Off}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=poweroff</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to power off?</action>
-					<action function="set">tw_action_text1=Turning Off...</action>
-					<action function="set">tw_complete_text1=Turning Off...</action>
-					<action function="set">tw_slider_text=Swipe to Power Off</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_ospo=sure you wish to power off?}</action>
+					<action function="set">tw_action_text1={@turning_off=Turning Off...}</action>
+					<action function="set">tw_complete_text1={@turning_off=Turning Off...}</action>
+					<action function="set">tw_slider_text={@swipe_power_off=Swipe to Power Off}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -2646,17 +2647,17 @@
 			<button style="main_button">
 				<condition var1="tw_reboot_recovery" var2="1"/>
 				<placement x="%indent%" y="%row8_y%"/>
-				<text>Recovery</text>
+				<text>{@rb_recovery_btn=Recovery}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=recovery</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -2664,17 +2665,17 @@
 			<button style="main_button">
 				<condition var1="tw_reboot_bootloader" var2="1"/>
 				<placement x="%center_x%" y="%row8_y%"/>
-				<text>Bootloader</text>
+				<text>{@rb_bootloader_btn=Bootloader}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=bootloader</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -2682,17 +2683,17 @@
 			<button style="main_button">
 				<condition var1="tw_download_mode" var2="1"/>
 				<placement x="%indent%" y="%row13a_y%"/>
-				<text>Download</text>
+				<text>{@rb_download_btn=Download}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=download</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Swipe to Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot=Swipe to Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -2713,54 +2714,54 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Unmodified System Partition</text>
+				<text>{@sys_ro_hdr=Unmodified System Partition}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Keep System Read only?</text>
+				<text>{@sys_ro_keep=Keep System Read only?}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>TWRP can leave your system partition unmodified</text>
+				<text>{@sys_rop1=TWRP can leave your system partition unmodified}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>to make it easier for you to take official updates.</text>
+				<text>{@sys_rop2=to make it easier for you to take official updates.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row6_y%" placement="5"/>
-				<text>TWRP will be unable to prevent the stock ROM from</text>
+				<text>{@sys_rop3=TWRP will be unable to prevent the stock ROM from}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row7_y%" placement="5"/>
-				<text>replacing TWRP and will not offer to root your device.</text>
+				<text>{@sys_rop4=replacing TWRP and will not offer to root your device.}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row9_y%" placement="5"/>
-				<text>Installing zips or performing adb operations may still</text>
+				<text>{@sys_rop5=Installing zips or performing adb operations may still}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row10_y%" placement="5"/>
-				<text>modify the system partition.</text>
+				<text>{@sys_rop6=modify the system partition.}</text>
 			</text>
 
 			<checkbox>
 				<condition var1="tw_is_encrypted" var2="0"/>
 				<placement x="%indent%" y="%row15_y%"/>
-				<text>Never show this screen during boot again</text>
+				<text>{@sys_ro_never_show_chk=Never show this screen during boot again}</text>
 				<data variable="tw_never_show_system_ro_page"/>
 			</checkbox>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row18a_y%"/>
-				<text>Keep Read Only</text>
+				<text>{@sys_ro_keep_ro_btn=Keep Read Only}</text>
 				<actions>
 					<action function="mountsystemtoggle">1</action>
 					<action function="set">tw_page_done=1</action>
@@ -2769,7 +2770,7 @@
 			</button>
 
 			<slider>
-				<text>Swipe to Allow Modifications</text>
+				<text>{@swipe_allow_mod=Swipe to Allow Modifications}</text>
 				<actions>
 					<action function="mountsystemtoggle">0</action>
 					<action function="set">tw_page_done=1</action>
@@ -2783,45 +2784,45 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Settings</text>
+				<text>{@settings_hdr=Settings}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>General Settings</text>
+				<text>{@settings_gen_hdr=General Settings}</text>
 			</text>
 
 			<template name="tabs_settings"/>
 
 			<fill color="%text_color%">
-				<placement x="0" y="%row_tab_y%" w="%tab4_width%" h="%tab_indicator_height%"/>
+				<placement x="0" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
 			<listbox style="scrolllist">
 				<placement x="%indent%" y="%row3a_y%" w="%content_width%" h="%listbox_settings_height%"/>
 				<icon selected="checkbox_true" unselected="checkbox_false"/>
-				<listitem name="Zip file signature verification">
+				<listitem name="{@zip_sig_chk=Zip signature verification}">
 					<data variable="tw_signed_zip_verify"/>
 				</listitem>
-				<listitem name="Use rm -rf instead of formatting">
+				<listitem name="{@use_rmrf_chk=Use rm -rf instead of formatting}">
 					<data variable="tw_rm_rf"/>
 				</listitem>
-				<listitem name="Skip MD5 generation during backup">
+				<listitem name="{@skip_md5_backup_chk=Skip MD5 generation during backup}">
 					<data variable="tw_skip_md5_generate"/>
 				</listitem>
-				<listitem name="Enable MD5 verification of backup files">
+				<listitem name="{@retore_enable_md5_chk=Enable MD5 verification of backup files}">
 					<data variable="tw_skip_md5_check"/>
 				</listitem>
-				<listitem name="Use 24-hour clock">
+				<listitem name="{@use24clock_chk=Use 24-hour clock}">
 					<data variable="tw_military_time"/>
 				</listitem>
-				<listitem name="Reversed navbar layout">
+				<listitem name="{@rev_navbar_chk=Reversed navbar layout}">
 					<data variable="tw_samsung_navbar"/>
 				</listitem>
-				<listitem name="Simulate actions for theme testing">
+				<listitem name="{@simact_chk=Simulate actions for theme testing}">
 					<data variable="tw_simulate_actions"/>
 				</listitem>
-				<listitem name="Simulate failure for actions">
+				<listitem name="{@simfail_chk=Simulate failure for actions}">
 					<condition var1="tw_simulate_actions" var2="1"/>
 					<data variable="tw_simulate_fail"/>
 				</listitem>
@@ -2829,7 +2830,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Restore Defaults</text>
+				<text>{@restore_defaults_btn=Restore Defaults}</text>
 				<action function="restoredefaultsettings"/>
 			</button>
 
@@ -2849,83 +2850,83 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Settings</text>
+				<text>{@settings_hdr=Settings}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Time Zone Settings</text>
+				<text>{@time_zone_hdr=Time Zone}</text>
 			</text>
 
 			<template name="tabs_settings"/>
 
 			<fill color="%text_color%">
-				<placement x="%tab4_col2_x%" y="%row_tab_y%" w="%tab4_width%" h="%tab_indicator_height%"/>
+				<placement x="%tab5_col2_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
 			<listbox>
 				<placement x="%indent%" y="%row3_y%" w="%content_width%" h="%listbox_timezone_height%"/>
-				<text>Select Time Zone:</text>
+				<text>{@sel_tz_list=Select Time Zone:}</text>
 				<data name="tw_time_zone_guisel"/>
-				<listitem name="(UTC -11) Samoa, Midway Island">BST11;BDT</listitem>
-				<listitem name="(UTC -10) Hawaii">HST10;HDT</listitem>
-				<listitem name="(UTC -9) Alaska">AST9;ADT</listitem>
-				<listitem name="(UTC -8) Pacific Time">PST8;PDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -7) Mountain Time">MST7;MDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -6) Central Time">CST6;CDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -5) Eastern Time">EST5;EDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -4) Atlantic Time">AST4;ADT</listitem>
-				<listitem name="(UTC -3) Brazil, Buenos Aires">GRNLNDST3;GRNLNDDT</listitem>
-				<listitem name="(UTC -2) Mid-Atlantic">FALKST2;FALKDT</listitem>
-				<listitem name="(UTC -1) Azores, Cape Verde">AZOREST1;AZOREDT</listitem>
-				<listitem name="(UTC  0) London, Dublin, Lisbon">GMT0;BST,M3.5.0,M10.5.0</listitem>
-				<listitem name="(UTC +1) Berlin, Brussels, Paris">CET-1;CEST,M3.5.0,M10.5.0</listitem>
-				<listitem name="(UTC +2) Athens, Istanbul, South Africa">WET-2;WET,M3.5.0,M10.5.0</listitem>
-				<listitem name="(UTC +3) Moscow, Baghdad">SAUST-3;SAUDT</listitem>
-				<listitem name="(UTC +4) Abu Dhabi, Tbilisi, Muscat">WST-4;WDT</listitem>
-				<listitem name="(UTC +5) Yekaterinburg, Islamabad">PAKST-5;PAKDT</listitem>
-				<listitem name="(UTC +6) Almaty, Dhaka, Colombo">TASHST-6;TASHDT</listitem>
-				<listitem name="(UTC +7) Bangkok, Hanoi, Jakarta">THAIST-7;THAIDT</listitem>
-				<listitem name="(UTC +8) Beijing, Singapore, Hong Kong">TAIST-8;TAIDT</listitem>
-				<listitem name="(UTC +9) Tokyo, Seoul, Yakutsk">JST-9;JSTDT</listitem>
-				<listitem name="(UTC +10) Eastern Australia, Guam">EET-10;EETDT</listitem>
-				<listitem name="(UTC +11) Vladivostok, Solomon Islands">MET-11;METDT</listitem>
-				<listitem name="(UTC +12) Auckland, Wellington, Fiji">NZST-12;NZDT</listitem>
+				<listitem name="{@utcm11=(UTC -11) Samoa, Midway Island}">BST11;BDT</listitem>
+				<listitem name="{@utcm10=(UTC -10) Hawaii}">HST10;HDT</listitem>
+				<listitem name="{@utcm9=(UTC -9) Alaska}">AST9;ADT</listitem>
+				<listitem name="{@utcm8=(UTC -8) Pacific Time}">PST8;PDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm7=(UTC -7) Mountain Time}">MST7;MDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm6=(UTC -6) Central Time}">CST6;CDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm5=(UTC -5) Eastern Time}">EST5;EDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm4=(UTC -4) Atlantic Time}">AST4;ADT</listitem>
+				<listitem name="{@utcm3=(UTC -3) Brazil, Buenos Aires}">GRNLNDST3;GRNLNDDT</listitem>
+				<listitem name="{@utcm2=(UTC -2) Mid-Atlantic}">FALKST2;FALKDT</listitem>
+				<listitem name="{@utcm1=(UTC -1) Azores, Cape Verde}">AZOREST1;AZOREDT</listitem>
+				<listitem name="{@utc0=(UTC  0) London, Dublin, Lisbon}">GMT0;BST,M3.5.0,M10.5.0</listitem>
+				<listitem name="{@utcp1=(UTC +1) Berlin, Brussels, Paris}">CET-1;CEST,M3.5.0,M10.5.0</listitem>
+				<listitem name="{@utcp2=(UTC +2) Athens, Istanbul, South Africa}">WET-2;WET,M3.5.0,M10.5.0</listitem>
+				<listitem name="{@utcp3=(UTC +3) Moscow, Baghdad}">SAUST-3;SAUDT</listitem>
+				<listitem name="{@utcp4=(UTC +4) Abu Dhabi, Tbilisi, Muscat}">WST-4;WDT</listitem>
+				<listitem name="{@utcp5=(UTC +5) Yekaterinburg, Islamabad}">PAKST-5;PAKDT</listitem>
+				<listitem name="{@utcp6=(UTC +6) Almaty, Dhaka, Colombo}">TASHST-6;TASHDT</listitem>
+				<listitem name="{@utcp7=(UTC +7) Bangkok, Hanoi, Jakarta}">THAIST-7;THAIDT</listitem>
+				<listitem name="{@utcp8=(UTC +8) Beijing, Singapore, Hong Kong}">TAIST-8;TAIDT</listitem>
+				<listitem name="{@utcp9=(UTC +9) Tokyo, Seoul, Yakutsk}">JST-9;JSTDT</listitem>
+				<listitem name="{@utcp10=(UTC +10) Eastern Australia, Guam}">EET-10;EETDT</listitem>
+				<listitem name="{@utcp11=(UTC +11) Vladivostok, Solomon Islands}">MET-11;METDT</listitem>
+				<listitem name="{@utcp12=(UTC +12) Auckland, Wellington, Fiji}">NZST-12;NZDT</listitem>
 			</listbox>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row15a_y%"/>
-				<text>Select Offset (usually 0): %tw_time_zone_guioffset%</text>
+				<text>{@sel_tz_offset=Select Offset (usually 0): %tw_time_zone_guioffset%}</text>
 			</text>
 
 			<button style="button_quarter_width">
 				<placement x="%indent%" y="%row16a_y%"/>
-				<text>None</text>
+				<text>{@tz_offset_none=None}</text>
 				<action function="set">tw_time_zone_guioffset=0</action>
 			</button>
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col2_x%" y="%row16a_y%"/>
-				<text>15</text>
+				<text>{@tz_offset_15=15}</text>
 				<action function="set">tw_time_zone_guioffset=15</action>
 			</button>
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col3_x%" y="%row16a_y%"/>
-				<text>30</text>
+				<text>{@tz_offset_30=30}</text>
 				<action function="set">tw_time_zone_guioffset=30</action>
 			</button>
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col4_x%" y="%row16a_y%"/>
-				<text>45</text>
+				<text>{@tz_offset_45=45}</text>
 				<action function="set">tw_time_zone_guioffset=45</action>
 			</button>
 
 			<checkbox>
 				<placement x="%indent%" y="%row18a_y%"/>
 				<font resource="font_m" color="%text_color%"/>
-				<text>Use daylight savings time (DST)</text>
+				<text>{@use_dst_chk=Use daylight savings time (DST)}</text>
 				<data variable="tw_time_zone_guidst"/>
 				<image checked="checkbox_true" unchecked="checkbox_false"/>
 			</checkbox>
@@ -2933,14 +2934,14 @@
 			<text color="%text_color%">
 				<font resource="font_m"/>
 				<placement x="%indent%" y="%row20_y%"/>
-				<text>Current Time Zone: %tw_time_zone%</text>
+				<text>{@curr_tz=Current Time Zone: %tw_time_zone%}</text>
 			</text>
 
 			<button>
 				<highlight color="%highlight_color%"/>
 				<placement x="%center_x%" y="%row21a_y%"/>
 				<font resource="font_m" color="%text_button_color%"/>
-				<text>Set Time Zone</text>
+				<text>{@set_tz_btn=Set Time Zone}</text>
 				<image resource="main_button_half_height"/>
 				<action function="setguitimezone"/>
 			</button>
@@ -2961,18 +2962,18 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Settings</text>
+				<text>{@settings_hdr=Settings}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Screen Settings</text>
+				<text>{@settings_screen_hdr=Screen Settings}</text>
 			</text>
 
 			<template name="tabs_settings"/>
 
 			<fill color="%text_color%">
-				<placement x="%center_x%" y="%row_tab_y%" w="%tab4_width%" h="%tab_indicator_height%"/>
+				<placement x="%tab5_col3_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
 			<button>
@@ -2980,7 +2981,7 @@
 				<font resource="font_m" color="%text_color%"/>
 				<condition var1="tw_screen_timeout_secs" op="=" var2="0"/>
 				<condition var1="tw_no_screen_timeout" op="!=" var2="1"/>
-				<text>Enable screen timeout</text>
+				<text>{@enable_timeout_chk=Enable screen timeout}</text>
 				<image resource="checkbox_false"/>
 				<action function="set">tw_screen_timeout_secs=60</action>
 			</button>
@@ -2990,7 +2991,7 @@
 				<font resource="font_m" color="%text_color%"/>
 				<condition var1="tw_screen_timeout_secs" op="!=" var2="0"/>
 				<condition var1="tw_no_screen_timeout" op="!=" var2="1"/>
-				<text>Enable screen timeout</text>
+				<text>{@enable_timeout_chk=Enable screen timeout}</text>
 				<image resource="checkbox_true"/>
 				<action function="set">tw_screen_timeout_secs=0</action>
 			</button>
@@ -2999,14 +3000,14 @@
 				<condition var1="tw_screen_timeout_secs" op="!=" var2="0"/>
 				<condition var1="tw_no_screen_timeout" op="!=" var2="1"/>
 				<placement x="indent" y="%row5_y%" w="%content_width%"/>
-				<text>Screen timeout in seconds:</text>
+				<text>{@screen_to_slider=Screen timeout in seconds:}</text>
 				<data variable="tw_screen_timeout_secs" min="15" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
 				<condition var1="tw_has_brightnesss_file" var2="1"/>
 				<placement x="indent" y="%row10_y%" w="%content_width%"/>
-				<text>Brightness: %tw_brightness_pct%%</text>
+				<text>{@screen_bright_slider=Brightness: %tw_brightness_pct%%}</text>
 				<data variable="tw_brightness_pct" min="10" max="100"/>
 				<actions>
 					<action function="set">tw_brightness=%tw_brightness_max%</action>
@@ -3032,35 +3033,35 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Settings</text>
+				<text>{@settings_hdr=Settings}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Vibration Settings</text>
+				<text>{@vibration_hdr=Vibration}</text>
 			</text>
 
 			<template name="tabs_settings"/>
 
 			<fill color="%text_color%">
-				<placement x="%tab4_col4_x%" y="%row_tab_y%" w="%tab4_width%" h="%tab_indicator_height%"/>
+				<placement x="%tab5_col4_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
 			</fill>
 
 			<slidervalue>
 				<placement x="indent" y="%row4_y%" w="%content_width%"/>
-				<text>Button Vibration:</text>
+				<text>{@button_vibration=Button Vibration:}</text>
 				<data variable="tw_button_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
 				<placement x="indent" y="%row9_y%" w="%content_width%"/>
-				<text>Keyboard Vibration:</text>
+				<text>{@kb_vibration=Keyboard Vibration:}</text>
 				<data variable="tw_keyboard_vibrate" min="0" max="300"/>
 			</slidervalue>
 
 			<slidervalue>
 				<placement x="indent" y="%row14_y%" w="%content_width%"/>
-				<text>Action Vibration:</text>
+				<text>{@act_vibration=Action Vibration:}</text>
 				<data variable="tw_action_vibrate" min="0" max="500"/>
 			</slidervalue>
 
@@ -3075,83 +3076,126 @@
 			</action>
 		</page>
 
+		<page name="settings_language">
+			<template name="page"/>
+
+			<text style="text_l">
+				<placement x="%col1_x_header%" y="%row3_header_y%"/>
+				<text>{@settings_hdr=Settings}</text>
+			</text>
+
+			<text style="text_m">
+				<placement x="%col1_x_header%" y="%row4_header_y%"/>
+				<text>{@language_hdr=Language - %tw_language_display%}</text>
+			</text>
+
+			<template name="tabs_settings"/>
+
+			<fill color="%text_color%">
+				<placement x="%tab5_col5_x%" y="%row_tab_y%" w="%tab5_width%" h="%tab_indicator_height%"/>
+			</fill>
+
+			<listbox>
+				<placement x="%indent%" y="%row3_y%" w="%content_width%" h="%listbox_settings_height%"/>
+				<text>{@select_language=Select Language:}</text>
+				<icon selected="radio_true" unselected="radio_false" />
+				<data name="tw_language" />
+			</listbox>
+
+			<button style="main_button_half_height">
+				<placement x="%center_x%" y="%row21a_y%"/>
+				<text>{@set_language_btn=Set Language}</text>
+				<action function="setlanguage"></action>
+			</button>
+
+			<action>
+				<touch key="home" />
+				<action function="page">main</action>
+			</action>
+
+			<action>
+				<touch key="back" />
+				<action function="page">settings</action>
+			</action>
+		</page>
+
 		<page name="advanced">
 			<template name="page"/>
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_hdr=Advanced}</text>
 			</text>
 
 			<button style="main_button">
 				<placement x="%indent%" y="%row2a_y%"/>
-				<text>Copy Log to SD</text>
+				<text>{@copy_log_btn=Copy Log}</text>
 				<actions>
 					<action function="set">tw_back=advanced</action>
 					<action function="set">tw_action=copylog</action>
-					<action function="set">tw_text1=Copy Log to SD Card?</action>
-					<action function="set">tw_action_text1=Copying Log to SD Card...</action>
-					<action function="set">tw_complete_text1=Log Copy Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_text1={@copy_log_confirm=Copy Log to SD Card?}</action>
+					<action function="set">tw_action_text1={@copying_log=Copying Log to SD Card...}</action>
+					<action function="set">tw_complete_text1={@copy_log_complete=Log Copy Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row2a_y%"/>
-				<text>Fix Permissions</text>
+				<text>{@fix_perm_btn=Fix Permissions}</text>
 				<action function="page">fixperms</action>
 			</button>
 
 			<button style="main_button">
 				<condition var1="tw_allow_partition_sdcard" var2="1"/>
 				<placement x="%indent%" y="%row8_y%"/>
-				<text>Partition SD Card</text>
+				<text>{@part_sd_btn=Partition SD Card}</text>
 				<action function="page">partsdcard</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row8_y%"/>
-				<text>File Manager</text>
+				<text>{@file_manager_btn=File Manager}</text>
 				<action function="page">filemanagerlist</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%indent%" y="%row13a_y%"/>
-				<text>Terminal</text>
+				<text>{@terminal_btn=Terminal}</text>
 				<action function="page">terminalfolder</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%center_x%" y="%row13a_y%"/>
-				<text>Reload Theme</text>
+				<text>{@reload_theme_btn=Reload Theme}</text>
 				<action function="reload"/>
 			</button>
 
 			<button style="main_button">
 				<placement x="%indent%" y="%row19_y%"/>
-				<text>ADB Sideload</text>
+				<text>{@adb_sideload_btn=ADB Sideload}</text>
 				<action function="page">sideload</action>
 			</button>
 
 			<button style="main_button">
 				<condition var1="tw_show_dumlock" var2="1"/>
 				<placement x="%center_x%" y="%row19_y%"/>
-				<text>HTC Dumlock</text>
+				<text>{@dumlock_btn=HTC Dumlock}</text>
 				<action function="page">htcdumlock</action>
 			</button>
 
 			<button style="main_button">
 				<condition var1="tw_has_injecttwrp" var2="1"/>
 				<placement x="%center_x%" y="%row19_y%"/>
-				<text>Re-Inject TWRP</text>
+				<text>{@inject_twrp_btn=Inject TWRP}</text>
 				<actions>
 					<action function="set">tw_back=advanced</action>
 					<action function="set">tw_action=reinjecttwrp</action>
-					<action function="set">tw_text1=Re-Inject TWRP?</action>
-					<action function="set">tw_action_text1=Re-Injecting TWRP...</action>
-					<action function="set">tw_complete_text1=TWRP Injection Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_text1={@inject_twrp_confirm=Re-Inject TWRP?}</action>
+					<action function="set">tw_action_text1={@injecting_twrp=Re-Injecting TWRP...}</action>
+					<action function="set">tw_complete_text1={@inject_twrp_complete=TWRP Injection Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -3172,27 +3216,27 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_hdr=Advanced}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Partition SD Card</text>
+				<text>{@part_sd_hdr=Partition SD Card}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>You will lose all files on your SD card!</text>
+				<text>{@part_sd_lose=You will lose all files on your SD card!}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>This action cannot be undone!</text>
+				<text>{@part_sd_undo=This action cannot be undone!}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>EXT Size:</text>
+				<text>{@part_sd_ext_sz=EXT Size:}</text>
 			</text>
 
 			<text style="text_m">
@@ -3202,19 +3246,19 @@
 
 			<button style="button_quarter_width">
 				<placement x="%indent%" y="%row6_y%"/>
-				<text>-</text>
+				<text>{@part_sd_m=-}</text>
 				<action function="addsubtract">tw_sdext_size-128</action>
 			</button>
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col4_x%" y="%row6_y%"/>
-				<text>+</text>
+				<text>{@part_sd_p=+}</text>
 				<action function="addsubtract">tw_sdext_size+128</action>
 			</button>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row9_y%" placement="5"/>
-				<text>Swap Size:</text>
+				<text>{@part_sd_swap_sz=Swap Size:}</text>
 			</text>
 
 			<text style="text_m">
@@ -3224,19 +3268,19 @@
 
 			<button style="button_quarter_width">
 				<placement x="%indent%" y="%row10_y%"/>
-				<text>-</text>
+				<text>{@part_sd_m=-}</text>
 				<action function="addsubtract">tw_swap_size-32</action>
 			</button>
 
 			<button style="button_quarter_width">
 				<placement x="%btn4_col4_x%" y="%row10_y%"/>
-				<text>+</text>
+				<text>{@part_sd_p=+}</text>
 				<action function="addsubtract">tw_swap_size+32</action>
 			</button>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row13_y%" placement="5"/>
-				<text>File System:</text>
+				<text>{@file_system=File System:}</text>
 			</text>
 
 			<text style="text_m">
@@ -3257,7 +3301,7 @@
 			</button>
 
 			<slider>
-				<text>Swipe to Partition</text>
+				<text>{@swipe_part_sd=Swipe to Partition}</text>
 				<action function="page">partsdcardaction</action>
 				<actions>
 					<action function="set">tw_back=partsdcard</action>
@@ -3265,9 +3309,9 @@
 					<action function="set">tw_has_action2=1</action>
 					<action function="set">tw_action2=set</action>
 					<action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
-					<action function="set">tw_action_text1=Partitioning SD Card...</action>
-					<action function="set">tw_action_text2=This will take a few minutes.</action>
-					<action function="set">tw_complete_text1=Partitioning Complete</action>
+					<action function="set">tw_action_text1={@partitioning_sd=Partitioning SD Card...}</action>
+					<action function="set">tw_action_text2={@partitioning_sd2=This will take a few minutes.}</action>
+					<action function="set">tw_complete_text1={@part_sd_complete=Partitioning Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</slider>
@@ -3288,52 +3332,52 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_hdr=Advanced}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>HTC Dumlock</text>
+				<text>{@dumlock_hdr=HTC Dumlock}</text>
 			</text>
 
 			<button style="main_button_half_height_full_width">
 				<placement x="%indent%" y="%row15a_y%"/>
-				<text>Restore Original Boot</text>
+				<text>{@dumlock_restore_btn=Restore Original Boot}</text>
 				<actions>
 					<action function="set">tw_back=htcdumlock</action>
 					<action function="set">tw_action=htcdumlockrestoreboot</action>
-					<action function="set">tw_text1=Restore original boot image?</action>
-					<action function="set">tw_action_text1=Restoring Original Boot...</action>
-					<action function="set">tw_complete_text1=Restore Original Boot Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_text1={@dumlock_restore_confirm=Restore original boot image?}</action>
+					<action function="set">tw_action_text1={@dumlock_restoring=Restoring Original Boot...}</action>
+					<action function="set">tw_complete_text1={@dumlock_restore_complete=Restore Original Boot Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_height_full_width">
 				<placement x="%indent%" y="%row18a_y%"/>
-				<text>Reflash Recovery</text>
+				<text>{@dumlock_reflash_btn=Reflash Recovery}</text>
 				<actions>
 					<action function="set">tw_back=htcdumlock</action>
 					<action function="set">tw_action=htcdumlockreflashrecovery</action>
-					<action function="set">tw_text1=Reflash recovery to boot?</action>
-					<action function="set">tw_action_text1=Flashing recovery to boot...</action>
-					<action function="set">tw_complete_text1=Recovery Flash to Boot Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_text1={@dumlock_reflash_confirm=Reflash recovery to boot?}</action>
+					<action function="set">tw_action_text1={@dumlock_reflashing=Flashing recovery to boot...}</action>
+					<action function="set">tw_complete_text1={@dumlock_reflash_complete=Recovery Flash to Boot Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_height_full_width">
 				<placement x="%indent%" y="%row21a_y%"/>
-				<text>Install HTC Dumlock</text>
+				<text>{@dumlock_install_btn=Install HTC Dumlock}</text>
 				<actions>
 					<action function="set">tw_back=htcdumlock</action>
 					<action function="set">tw_action=installhtcdumlock</action>
-					<action function="set">tw_text1=Install HTC dumlock files to ROM?</action>
-					<action function="set">tw_action_text1=Installing HTC Dumlock...</action>
-					<action function="set">tw_complete_text1=HTC Dumlock Install Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_text1={@dumlock_install_confirm=Install HTC dumlock files to ROM?}</action>
+					<action function="set">tw_action_text1={@dumlock_installing=Installing HTC Dumlock...}</action>
+					<action function="set">tw_complete_text1={@dumlock_install_complete=HTC Dumlock Install Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -3358,7 +3402,7 @@
 			</image>
 
 			<slider>
-				<text>Swipe to Unlock</text>
+				<text>{@swipe_to_unlock=Swipe to Unlock}</text>
 				<action function="overlay"/>
 			</slider>
 		</page>
@@ -3368,12 +3412,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Select a File or Folder</text>
+				<text>{@fm_sel_file=Select a File or Folder}</text>
 			</text>
 
 			<template name="sort_options"/>
@@ -3392,14 +3436,14 @@
 				<actions>
 					<action function="set">tw_filename1=tw_file_location1</action>
 					<action function="set">tw_fm_isfolder=1</action>
-					<action function="set">tw_fm_type=Folder</action>
+					<action function="set">tw_fm_type={@fm_type_folder=Folder}</action>
 					<action function="page">filemanageroptions</action>
 				</actions>
 			</button>
 
 			<action>
 				<actions>
-					<action function="set">tw_fm_type=File</action>
+					<action function="set">tw_fm_type={@fm_type_file=File}</action>
 					<action function="set">tw_fm_isfolder=0</action>
 				</actions>
 			</action>
@@ -3425,17 +3469,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Choose Action</text>
+				<text>{@fm_choose_act=Choose Action}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row2_y%"/>
-				<text>%tw_fm_type% selected:</text>
+				<text>{@fm_selected=%tw_fm_type% selected:}</text>
 			</text>
 
 			<text style="text_m">
@@ -3446,10 +3490,10 @@
 			<button style="main_button_half_height">
 				<condition var1="tw_fm_isfolder" var2="0"/>
 				<placement x="%indent%" y="%row15a_y%"/>
-				<text>Copy File</text>
+				<text>{@fm_copy_file_btn=Copy File}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=cp</action>
-					<action function="set">tw_fm_text1=Copying</action>
+					<action function="set">tw_fm_text1={@fm_copying=Copying}</action>
 					<action function="page">choosedestinationfolder</action>
 				</actions>
 			</button>
@@ -3457,30 +3501,30 @@
 			<button style="main_button_half_height">
 				<condition var1="tw_fm_isfolder" var2="1"/>
 				<placement x="%indent%" y="%row15a_y%"/>
-				<text>Copy Folder</text>
+				<text>{@fm_copy_folder_btn=Copy Folder}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=cd "%tw_file_location1%" &amp;&amp; cd .. &amp;&amp; cp -R</action>
-					<action function="set">tw_fm_text1=Copying</action>
+					<action function="set">tw_fm_text1={@fm_copying=Copying}</action>
 					<action function="page">choosedestinationfolder</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row15a_y%"/>
-				<text>Move</text>
+				<text>{@fm_move_btn=Move}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=mv</action>
-					<action function="set">tw_fm_text1=Moving</action>
+					<action function="set">tw_fm_text1={@fm_moving=Moving}</action>
 					<action function="page">choosedestinationfolder</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row18a_y%"/>
-				<text>chmod 755</text>
+				<text>{@fm_chmod755_btn=chmod 755}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=chmod 755</action>
-					<action function="set">tw_fm_text1=chmod 755</action>
+					<action function="set">tw_fm_text1={@fm_chmod755ing=chmod 755}</action>
 					<action function="set">tw_fm_text2=</action>
 					<action function="set">tw_fm_text3=</action>
 					<action function="set">tw_include_text3=0</action>
@@ -3491,7 +3535,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%center_x%" y="%row18a_y%"/>
-				<text>chmod</text>
+				<text>{@fm_chmod_btn=chmod}</text>
 				<actions>
 					<action function="set">tw_filemanager_rename=0000</action>
 					<action function="set">tw_fm_text2=</action>
@@ -3504,10 +3548,10 @@
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row21a_y%"/>
-				<text>Delete</text>
+				<text>{@fm_delete_btn=Delete}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=rm -rf</action>
-					<action function="set">tw_fm_text1=Deleting</action>
+					<action function="set">tw_fm_text1={@fm_deleting=Deleting}</action>
 					<action function="set">tw_fm_text2=</action>
 					<action function="set">tw_fm_text3=</action>
 					<action function="set">tw_include_text3=0</action>
@@ -3519,10 +3563,10 @@
 			<button style="main_button_half_height">
 				<condition var1="tw_fm_isfolder" var2="0"/>
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Rename File</text>
+				<text>{@fm_rename_file_btn=Rename File}</text>
 				<actions>
 					<action function="set">tw_filemanager_rename=tw_selection1</action>
-					<action function="set">tw_fm_text1=Renaming</action>
+					<action function="set">tw_fm_text1={@fm_renaming=Renaming}</action>
 					<action function="set">tw_filemanager_command=mv</action>
 					<action function="page">filemanagerrenamefile</action>
 				</actions>
@@ -3531,10 +3575,10 @@
 			<button style="main_button_half_height">
 				<condition var1="tw_fm_isfolder" var2="1"/>
 				<placement x="%center_x%" y="%row21a_y%"/>
-				<text>Rename Folder</text>
+				<text>{@fm_rename_folder_btn=Rename Folder}</text>
 				<actions>
 					<action function="set">tw_filemanager_rename=tw_selection1</action>
-					<action function="set">tw_fm_text1=Renaming</action>
+					<action function="set">tw_fm_text1={@fm_renaming=Renaming}</action>
 					<action function="set">tw_filemanager_command=cd "%tw_file_location1%" &amp;&amp; cd .. &amp;&amp; mv</action>
 					<action function="page">filemanagerrenamefolder</action>
 				</actions>
@@ -3556,12 +3600,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Select Destination Folder</text>
+				<text>{@fm_sel_dest=Select Destination Folder}</text>
 			</text>
 
 			<template name="sort_options"/>
@@ -3602,17 +3646,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Rename %tw_fm_type%</text>
+				<text>{@fm_rename_hdr=Rename} %tw_fm_type%</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row2_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -3635,7 +3679,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row10_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">filemanageroptions</action>
 			</button>
 
@@ -3657,17 +3701,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Rename %tw_fm_type%</text>
+				<text>{@fm_rename_hdr=Rename} %tw_fm_type%</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row2_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -3690,7 +3734,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row10_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">filemanageroptions</action>
 			</button>
 
@@ -3712,17 +3756,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Set Permissions</text>
+				<text>{@fm_set_perms_hdr=Set Permissions}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row2_y%"/>
-				<text>Permissions:</text>
+				<text>{@fm_perms=Permissions:}</text>
 			</text>
 
 			<input>
@@ -3744,7 +3788,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row10_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">filemanageroptions</action>
 			</button>
 
@@ -3766,12 +3810,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Confirm Action</text>
+				<text>{@confirm_action=Confirm Action}</text>
 			</text>
 
 			<text style="text_m_accent">
@@ -3796,11 +3840,11 @@
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row8_y%" placement="5"/>
-				<text>Press back button to cancel.</text>
+				<text>{@back_cancel=Press back button to cancel.}</text>
 			</text>
 
 			<slider>
-				<text>Swipe to Confirm</text>
+				<text>{@swipe_to_confirm=Swipe to Confirm}</text>
 				<action function="page">filemanageraction</action>
 			</slider>
 
@@ -3820,7 +3864,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>File Manager</text>
+				<text>{@fm_hdr=File Manager}</text>
 			</text>
 
 			<text style="text_m">
@@ -3839,7 +3883,7 @@
 				</conditions>
 				<actions>
 					<action function="set">tw_back=filemanagerlist</action>
-					<action function="set">tw_complete_text1=File Operation Complete</action>
+					<action function="set">tw_complete_text1={@fm_complete=File Operation Complete}</action>
 					<action function="page">action_complete</action>
 				</actions>
 			</action>
@@ -3850,7 +3894,7 @@
 					<condition var1="tw_operation_status" op="!=" var2="0"/>
 				</conditions>
 				<actions>
-					<action function="set">tw_complete_text1=File Operation Complete</action>
+					<action function="set">tw_complete_text1={@fm_complete=File Operation Complete}</action>
 					<action function="page">action_complete</action>
 				</actions>
 			</action>
@@ -3876,17 +3920,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Mount</text>
+				<text>{@mount_hdr=Mount}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Decrypt Data</text>
+				<text>{@decrypt_data_hdr=Decrypt Data}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Enter Password:</text>
+				<text>{@decrypt_data_enter_pass=Enter Password:}</text>
 			</text>
 
 			<input>
@@ -3909,12 +3953,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_password_fail" var2="1"/>
 				<placement x="%indent%" y="%row5_y%"/>
-				<text>Password failed, please try again!</text>
+				<text>{@decryt_data_failed=Password failed, please try again!}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row10_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_page_done=1</action>
 					<action function="page">main</action>
@@ -3929,17 +3973,17 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Mount</text>
+				<text>{@mount_hdr=Mount}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Decrypt Data</text>
+				<text>{@decrypt_data_hdr=Decrypt Data}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Enter Pattern:</text>
+				<text>{@decrypt_data_enter_pattern=Enter Pattern.}</text>
 			</text>
 
 			<patternpassword>
@@ -3953,7 +3997,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row21a_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_page_done=1</action>
 					<action function="page">main</action>
@@ -3966,12 +4010,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Mount</text>
+				<text>{@mount_hdr=Mount}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Decrypt Data - Trying Decryption</text>
+				<text>{@decrypt_data_trying=Trying Decryption}</text>
 			</text>
 
 			<template name="console"/>
@@ -4010,12 +4054,12 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Terminal Command</text>
+				<text>{@term_hdr=Terminal Command}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Browse to Starting Folder</text>
+				<text>{@term_sel_folder_hdr=Browse to Starting Folder}</text>
 			</text>
 
 			<template name="sort_options"/>
@@ -4050,7 +4094,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Terminal Command</text>
+				<text>{term_hdr=Terminal Command}</text>
 			</text>
 
 			<text style="text_m">
@@ -4077,7 +4121,7 @@
 				<highlight color="%highlight_color%"/>
 				<placement x="%btn4_col4_x%" y="%row12a_y%"/>
 				<font resource="font_m" color="%text_button_color%"/>
-				<text>Kill</text>
+				<text>{@term_kill_btn=Kill}</text>
 				<image resource="tab_4"/>
 				<action function="killterminal"/>
 			</button>
@@ -4100,35 +4144,35 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_hdr=Advanced}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>ADB Sideload</text>
+				<text>{@adb_sideload_hdr=ADB Sideload}</text>
 			</text>
 
 			<checkbox>
 				<placement x="%indent%" y="%row2_y%"/>
-				<text>Wipe Dalvik Cache</text>
+				<text>{@sideload_wipe_dalvik_chk=Wipe Dalvik Cache}</text>
 				<data variable="tw_wipe_dalvik"/>
 			</checkbox>
 
 			<checkbox>
 				<placement x="%indent%" y="%row3a_y%"/>
-				<text>Wipe Cache</text>
+				<text>{@sideload_wipe_cache_chk=Wipe Cache}</text>
 				<data variable="tw_wipe_cache"/>
 			</checkbox>
 
 			<slider>
-				<text>Swipe to start Sideload</text>
+				<text>{@swipe_to_sideload=Swipe to Start Sideload}</text>
 				<action function="page">partsdcardaction</action>
 				<actions>
 					<action function="set">tw_back=advanced</action>
 					<action function="set">tw_action=adbsideload</action>
-					<action function="set">tw_action_text1=ADB Sideload</action>
-					<action function="set">tw_action_text2=Usage: adb sideload filename.zip</action>
-					<action function="set">tw_complete_text1=ADB Sideload Complete</action>
+					<action function="set">tw_action_text1={@sideload_confirm=ADB Sideload}</action>
+					<action function="set">tw_action_text2={@sideload_usage=Usage: adb sideload filename.zip}</action>
+					<action function="set">tw_complete_text1={@sideload_complete=ADB Sideload Complete}</action>
 					<action function="set">tw_has_cancel=1</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="set">tw_cancel_action=adbsideloadcancel</action>
@@ -4152,43 +4196,43 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_hdr=Advanced}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>Fix Permissions</text>
+				<text>{@fix_perms_hdr=Fix Permissions}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Note: Fixing permissions is rarely needed.</text>
+				<text>{@fix_perms_note=Note: Fixing permissions is rarely needed.}</text>
 			</text>
 
 			<checkbox>
 				<placement x="%indent%" y="%row4_y%"/>
-				<text>Also fix SELinux Contexts</text>
+				<text>{@fix_perms_selinux_chk=Also fix SELinux Contexts}</text>
 				<data variable="tw_fixperms_restorecon"/>
 			</checkbox>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row6_y%" placement="5"/>
-				<text>Fixing SELinux Contexts may cause</text>
+				<text>{@fix_perms_sel_note1=Fixing SELinux Contexts may cause}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row7_y%" placement="5"/>
-				<text>your device to not boot properly.</text>
+				<text>{@fix_perms_sel_note2=your device to not boot properly.}</text>
 			</text>
 
 			<slider>
-				<text>Swipe to Fix Permissions</text>
+				<text>{@swipe_to_fix_perms=Swipe to Fix Permissions}</text>
 				<actions>
 					<action function="set">tw_back=advanced</action>
 					<action function="set">tw_action=fixpermissions</action>
-					<action function="set">tw_action_text1=Fixing Permissions...</action>
-					<action function="set">tw_complete_text1=Fix Permissions Complete</action>
-					<action function="set">tw_slider_text=Swipe to Confirm</action>
+					<action function="set">tw_action_text1={@fixing_perms=Fixing Permissions...}</action>
+					<action function="set">tw_complete_text1={@fix_perms_complete=Fix Permissions Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_page</action>
 				</actions>
@@ -4210,40 +4254,40 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>Reboot</text>
+				<text>{@reboot_hdr=Reboot}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>SuperSU Check</text>
+				<text>{@su_hdr=SuperSU Check}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Your device does not appear to be rooted.</text>
+				<text>{@su_note1=Your device does not appear to be rooted.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>Install SuperSU now?</text>
+				<text>{@su_note2=Install SuperSU now?}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>This will root your device.</text>
+				<text>{@su_note3=This will root your device.}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%indent%" y="%row18a_y%"/>
-				<text>Do not Install</text>
+				<text>{@su_cancel=Do not Install}</text>
 				<action function="set">tw_page_done=1</action>
 			</button>
 
 			<slider>
-				<text>Swipe to Install</text>
+				<text>{@swipe_su_to_install=Swipe to Install}</text>
 				<actions>
 					<action function="set">tw_action=installsu</action>
-					<action function="set">tw_action_text1=Installing SuperSU</action>
+					<action function="set">tw_action_text1={@su_installing=Installing SuperSU}</action>
 					<action function="set">tw_action_text2=</action>
 					<action function="page">singleaction_page</action>
 				</actions>
@@ -4281,14 +4325,14 @@
 			</fill>
 
 			<partitionlist style="partitionlist_storage">
-				<text>Select Storage</text>
+				<text>{@sel_storage_list=Select Storage}</text>
 				<data name="tw_storage_path"/>
 				<listtype name="storage"/>
 			</partitionlist>
 
 			<button style="button_third_width">
 				<placement x="%dialog_button_x%" y="%row14_y%"/>
-				<text>OK</text>
+				<text>{@ok_btn=OK}</text>
 				<actions>
 					<action function="set">tw_clear_destination=%tw_back%</action>
 					<action function="overlay"/>
diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml
old mode 100644
new mode 100755
index 62d0b01..2ed266a
--- a/gui/theme/common/watch.xml
+++ b/gui/theme/common/watch.xml
@@ -184,19 +184,19 @@
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Install</text>
+				<text>{@install_btn=Install}</text>
 				<action function="page">install_type</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_right%" y="%row1_y%"/>
-				<text>Wipe</text>
+				<text>{@wipe_btn=Wipe}</text>
 				<action function="page">wipe_type1</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>Backup</text>
+				<text>{@backup_btn=Backup}</text>
 				<actions>
 					<action function="set">tw_back=main</action>
 					<action function="page">backup_selectstorage</action>
@@ -205,13 +205,13 @@
 
 			<button style="main_button">
 				<placement x="%col1_x_right%" y="%row6_y%"/>
-				<text>Restore</text>
+				<text>{@restore_btn=Restore}</text>
 				<action function="page">restore</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>Reboot</text>
+				<text>{@reboot_btn=Reboot}</text>
 				<action function="page">reboot</action>
 			</button>
 
@@ -228,39 +228,39 @@
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Mount</text>
+				<text>{@mount_btn=Mount}</text>
 				<action function="page">mount</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_right%" y="%row1_y%"/>
-				<text>Settings</text>
+				<text>{@settings_btn=Settings}</text>
 				<action function="page">settings</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>Files</text>
+				<text>{@files_btn=Files}</text>
 				<action function="page">filemanagerlist</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_right%" y="%row6_y%"/>
-				<text>Copy Log</text>
+				<text>{@copy_log_btn=Copy Log}</text>
 				<actions>
 					<action function="set">tw_back=main3</action>
 					<action function="set">tw_action=copylog</action>
-					<action function="set">tw_text1=Copy Log to SD Card?</action>
-					<action function="set">tw_action_text1=Copying Log to SD Card...</action>
-					<action function="set">tw_complete_text1=Log Copy Complete</action>
-					<action function="set">tw_slider_text=   Confirm</action>
+					<action function="set">tw_text1={@copy_log_confirm=Copy Log to SD Card?}</action>
+					<action function="set">tw_action_text1={@copying_log=Copying Log to SD Card...}</action>
+					<action function="set">tw_complete_text1={@copy_log_complete=Log Copy Complete}</action>
+					<action function="set">tw_slider_text={@swipe_confirm=   Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_right%" y="%row11_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_btn=Advanced}</text>
 				<action function="page">advanced</action>
 			</button>
 
@@ -289,12 +289,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Install &gt; Select Type</text>
+				<text>{@install_hdr=Install} &gt; {@select_type_hdr=Select Type}</text>
 			</text>
 
 			<button style="main_button_full_width">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Install Zip</text>
+				<text>{@install_zip_btn=Install Zip}</text>
 				<actions>
 					<action function="queueclear"/>
 					<action function="set">tw_selectimage=0</action>
@@ -304,7 +304,7 @@
 
 			<button style="main_button_full_width">
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>Install Image</text>
+				<text>{@install_image_btn=Install Image}</text>
 				<actions>
 					<action function="queueclear"/>
 					<action function="set">tw_selectimage=1</action>
@@ -314,7 +314,7 @@
 
 			<button style="main_button_full_width">
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>ADB Sideload</text>
+				<text>{@adb_sideload_btn=ADB Sideload}</text>
 				<action function="page">sideload</action>
 			</button>
 
@@ -337,13 +337,13 @@
 			<text style="text_m">
 				<condition var1="tw_selectimage" var2="0"/>
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Install Zip &gt; Select File</text>
+				<text>{@install_zip_hdr=Install Zip} &gt; {@install_select_file_hdr=Select File}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_selectimage" var2="1"/>
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Install Image &gt; Select File</text>
+				<text>{@install_image_hdr=Install Image} &gt; {@install_select_file_hdr=Select File}</text>
 			</text>
 
 			<fileselector>
@@ -371,7 +371,7 @@
 				<highlight color="%highlight_color%"/>
 				<image resource="q_btn_storage"/>
 				<actions>
-					<action function="set">tw_storagetext=Install &gt; Select Storage</action>
+					<action function="set">tw_storagetext={@install_hdr=Install} &gt; {@select_storage_hdr=Select Storage}</action>
 					<action function="set">tw_back=install</action>
 					<action function="page">select_storage</action>
 				</actions>
@@ -414,12 +414,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Install Zip &gt; Queue</text>
+				<text>{@install_zip_hdr=Install Zip} &gt; {@queue_hdr=Queue}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row1_y%"/>
-				<text>File %tw_zip_queue_count% of 10:</text>
+				<text>{@zip_queue_count_s=File %tw_zip_queue_count% of 10:}</text>
 			</text>
 
 			<text style="text_m">
@@ -429,7 +429,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row4_y%"/>
-				<text>Folder:</text>
+				<text>{@folder=Folder:}</text>
 			</text>
 
 			<text style="text_m">
@@ -439,7 +439,7 @@
 
 			<text style="text_m">
 				<placement x="%indent%" y="%row8_y%"/>
-				<text>Press back button to clear the queue.</text>
+				<text>{@zip_back_clear=Press back button to clear the queue.}</text>
 			</text>
 
 			<button>
@@ -495,19 +495,19 @@
 			<text style="text_m">
 				<condition var1="tw_selectimage" var2="0"/>
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Install Zip &gt; Options</text>
+				<text>{@install_zip_hdr=Install Zip} &gt; {@options_hdr=Options}</text>
 			</text>
 
 			<checkbox>
 				<placement x="%indent%" y="%row1_y%"/>
-				<text>Zip file signature verification</text>
+				<text>{@zip_sig_chk=Zip file signature verification}</text>
 				<data variable="tw_signed_zip_verify"/>
 			</checkbox>
 
 			<checkbox>
 				<condition var1="tw_has_injecttwrp" var2="1"/>
 				<placement x="%indent%" y="%row2a_y%"/>
-				<text>Inject TWRP after install</text>
+				<text>{@inject_twrp_chk=Inject TWRP after install}</text>
 				<data variable="tw_inject_after_zip"/>
 			</checkbox>
 
@@ -543,12 +543,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Install Zip &gt; Confirm Flash</text>
+				<text>{@install_zip_hdr=Install Zip} &gt; {@confirm_flash_hdr=Confirm Flash}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row1_y%"/>
-				<text>File:</text>
+				<text>{@file=File:}</text>
 			</text>
 
 			<text style="text_m">
@@ -564,12 +564,12 @@
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row4_y%"/>
-				<text>Queue:</text>
+				<text>{@zip_queue=Queue:}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%indent%" y="%row5_y%"/>
-				<text>%tw_zip_queue_count% of 10 files queued</text>
+				<text>{@zip_queue_count_s=File %tw_zip_queue_count% of 10:}</text>
 			</text>
 
 			<button>
@@ -580,21 +580,21 @@
 
 			<listbox style="listbox_options">
 				<placement x="%col1_x_left%" y="%row8_y%" w="%content_width%" h="80"/>
-				<listitem name="Zip file signature verification">
+				<listitem name="{@zip_sig_chk=Zip signature verification}">
 					<data variable="tw_signed_zip_verify"/>
 				</listitem>
 			</listbox>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row7_y%"/>
-				<text>Options:</text>
+				<text>{@options=Options:}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_has_injecttwrp" var2="1"/>
 				<condition var1="tw_inject_after_zip" var2="1"/>
 				<placement x="%indent%" y="%row9_y%"/>
-				<text>Inject TWRP after install</text>
+				<text>{@inject_twrp_chk=Inject TWRP after install}</text>
 			</text>
 
 			<button>
@@ -604,7 +604,7 @@
 			</button>
 
 			<slider>
-				<text>   Confirm</text>
+				<text>{@swipe_confirm=   Confirm}</text>
 				<action function="flash">flash_zip</action>
 			</slider>
 
@@ -629,7 +629,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Installing Zip: %tw_file%</text>
+				<text>{@installing_zip=Installing Zip: %tw_file%}</text>
 			</text>
 
 			<template name="console"/>
@@ -650,20 +650,20 @@
 			<text style="text_m_fail">
 				<condition var1="tw_operation_status" op="!=" var2="0"/>
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Installation Failed</text>
+				<text>{@install_failed=Installation Failed}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_operation_status" var2="0"/>
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Installation Successful</text>
+				<text>{@install_successful=Installation Successful}</text>
 			</text>
 
 			<template name="console"/>
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_left%" y="%row13_y%"/>
-				<text>Wipe cache/dalvik</text>
+				<text>{@wipe_cache_dalvik_btn=Wipe cache/dalvik}</text>
 				<actions>
 					<action function="set">tw_back=flash_done</action>
 					<action function="set">tw_action=wipe</action>
@@ -671,30 +671,30 @@
 					<action function="set">tw_has_action2=1</action>
 					<action function="set">tw_action2=wipe</action>
 					<action function="set">tw_action2_param=dalvik</action>
-					<action function="set">tw_text1=Wipe Cache &amp; Dalvik?</action>
-					<action function="set">tw_action_text1=Wiping Cache &amp; Dalvik...</action>
-					<action function="set">tw_complete_text1=Cache &amp; Dalvik Wipe Complete</action>
-					<action function="set">tw_slider_text=   Wipe</action>
+					<action function="set">tw_text1={@wipe_cache_dalvik_confirm=Wipe Cache &amp; Dalvik?}</action>
+					<action function="set">tw_action_text1={@wiping_cache_dalvik=Wiping Cache &amp; Dalvik...}</action>
+					<action function="set">tw_complete_text1={@wipe_cache_dalvik_complete=Cache &amp; Dalvik Wipe Complete}</action>
+					<action function="set">tw_slider_text={@swipe_wipe_s=   Wipe}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_right%" y="%row13_y%"/>
-				<text>Reboot System</text>
+				<text>{@reboot_system_btn=Reboot System}</text>
 				<actions>
 					<action function="set">tw_back=main2</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=system</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
 					<action function="set">tw_text3=</action>
 					<action function="set">tw_text4=</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
 					<action function="set">tw_action_text2=</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=   Reboot</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot_s=   Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -723,7 +723,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Install Image &gt; Select Target Partition</text>
+				<text>{@install_image_hdr=Install Image} &gt; {install_sel_target=Select Target Partition}</text>
 			</text>
 
 			<partitionlist style="partitionlist_headerless_rb">
@@ -763,12 +763,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Install Image &gt; Confirm Flash</text>
+				<text>{@install_image_hdr=Install Image} &gt; {@confirm_flash_hdr=Confirm Flash}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row1_y%"/>
-				<text>File:</text>
+				<text>{@file=File:}</text>
 			</text>
 
 			<text style="text_m">
@@ -784,7 +784,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row4_y%"/>
-				<text>Target Partition:</text>
+				<text>{@target_partition=Target Partition:}</text>
 			</text>
 
 			<text style="text_m">
@@ -799,14 +799,14 @@
 			</button>
 
 			<slider>
-				<text>   Confirm</text>
+				<text>{@swipe_confirm=   Confirm}</text>
 				<actions>
 					<action function="set">tw_back=flashimage_confirm</action>
 					<action function="set">tw_action=flashimage</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_action_text1=Flashing Image...</action>
+					<action function="set">tw_action_text1={@flashing_image=Flashing Image...}</action>
 					<action function="set">tw_action_text2=</action>
-					<action function="set">tw_complete_text1=Image Flashed</action>
+					<action function="set">tw_complete_text1={@image_flashed=Image Flashed}</action>
 					<action function="page">action_page</action>
 				</actions>
 				<action function="flashimage"/>
@@ -858,7 +858,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Confirm Action</text>
+				<text>{@confirm_action=Confirm Action}</text>
 			</text>
 
 			<text style="text_m_accent">
@@ -897,7 +897,7 @@
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row8_y%" placement="5"/>
-				<text>Press back button to cancel.</text>
+				<text>{@back_cancel=Press back button to cancel.}</text>
 			</text>
 
 			<slider>
@@ -936,7 +936,7 @@
 			<button style="main_button_half_height">
 				<condition var1="tw_has_cancel" var2="1"/>
 				<placement x="%col1_x_right%" y="%row13_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="%tw_cancel_action%">%tw_cancel_param%</action>
 			</button>
 
@@ -1008,20 +1008,20 @@
 			<text style="text_m_fail">
 				<condition var1="tw_operation_status" op="!=" var2="0"/>
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>%tw_complete_text1% Failed</text>
+				<text>%tw_complete_text1% {@failed=Failed}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_operation_status" var2="0"/>
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>%tw_complete_text1% Successful</text>
+				<text>%tw_complete_text1% {@successful=Successful}</text>
 			</text>
 
 			<template name="console"/>
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_left%" y="%row13_y%"/>
-				<text>Back</text>
+				<text>{@back_btn=Back}</text>
 				<actions>
 					<action function="set">tw_clear_destination=%tw_back%</action>
 					<action function="page">clear_vars</action>
@@ -1030,20 +1030,20 @@
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_right%" y="%row13_y%"/>
-				<text>Reboot System</text>
+				<text>{@reboot_system_btn=Reboot System}</text>
 				<actions>
 					<action function="set">tw_back=main2</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=system</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
 					<action function="set">tw_text3=</action>
 					<action function="set">tw_text4=</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
 					<action function="set">tw_action_text2=</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=   Reboot</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot_s=   Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -1112,18 +1112,18 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Wipe &gt; Select Type</text>
+				<text>{@wipe_hdr=Wipe} &gt; {@select_type_hdr=Select Type}</text>
 			</text>
 
 			<button style="main_button_full_width">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Factory Reset</text>
+				<text>{@factory_reset_btn=Factory Reset}</text>
 				<action function="page">wipe</action>
 			</button>
 
 			<button style="main_button_full_width">
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>Advanced Wipe</text>
+				<text>{@advanced_wipe_btn=Advanced Wipe}</text>
 				<actions>
 					<action function="set">partitionlisterror=0</action>
 					<action function="page">advancedwipe</action>
@@ -1155,13 +1155,13 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Wipe &gt; Select Type</text>
+				<text>{@wipe_hdr=Wipe} &gt; {@select_type_hdr=Select Type}</text>
 			</text>
 
 			<button style="main_button_full_width">
 				<condition var1="tw_has_data_media" var2="1"/>
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Format Data</text>
+				<text>{@format_data_btn=Format Data}</text>
 				<action function="page">formatdata</action>
 			</button>
 
@@ -1171,24 +1171,24 @@
 					<condition var1="tw_has_data_media" var2="0"/>
 				</conditions>
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Wipe Encryption</text>
+				<text>{@wipe_enc_btn=Wipe Encryption}</text>
 				<actions>
 					<action function="set">tw_back=wipe</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=DATAMEDIA</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Wipe Encryption from Data?</action>
+					<action function="set">tw_text1={@wipe_enc_confirm=Wipe Encryption from Data?}</action>
 					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Formatting Data...</action>
-					<action function="set">tw_complete_text1=Data Format Complete</action>
-					<action function="set">tw_slider_text=   Format Data</action>
+					<action function="set">tw_action_text1={@formatting_data=Formatting Data...}</action>
+					<action function="set">tw_complete_text1={@format_data_complete=Data Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_format_data_s=   Format Data}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_full_width">
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>File System Options</text><actions>
+				<text>{@file_sys_opt=File System Options}</text><actions>
 					<action function="set">partitionlisterror=0</action>
 					<action function="page">partitionoptions_select</action>
 				</actions>
@@ -1219,18 +1219,18 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Wipe &gt; Factory Reset</text>
+				<text>{@wipe_hdr=Wipe} &gt; {@factory_reset_hdr=Factory Reset}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row1_y%" placement="5"/>
-				<text>Wipes Data, Cache, and Dalvik</text>
+				<text>{@factory_reset1=Wipes Data, Cache, and Dalvik}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<condition var1="tw_has_data_media" var2="1"/>
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>(not including internal storage)</text>
+				<text>{@factory_reset2=(not including internal storage)}</text>
 			</text>
 
 			<text style="text_m_accent">
@@ -1239,38 +1239,38 @@
 					<condition var1="fileexists" var2="/and-sec"/>
 				</conditions>
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>Android Secure</text>
+				<text>{@android_secure=Android Secure}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<condition var1="tw_has_sdext_partition" var2="1"/>
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>SD-EXT</text>
+				<text>{@sdext=SD-EXT}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row6_y%" placement="5"/>
-				<text>Most of the time this is</text>
+				<text>{@factory_reset3=Most of the time this is}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row7_y%" placement="5"/>
-				<text>the only wipe that you need.</text>
+				<text>{@factory_reset4=the only wipe that you need.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row9_y%" placement="5"/>
-				<text>Press back button to cancel.</text>
+				<text>{@back_cancel=Press back button to cancel.}</text>
 			</text>
 
 			<slider>
-				<text>   Wipe</text>
+				<text>{@swipe_wipe_s=   Wipe}</text>
 				<actions>
 					<action function="set">tw_back=wipe</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=data</action>
-					<action function="set">tw_action_text1=Factory Reset...</action>
-					<action function="set">tw_complete_text1=Factory Reset Complete</action>
+					<action function="set">tw_action_text1={@factory_resetting=Factory Reset...}</action>
+					<action function="set">tw_complete_text1={@factory_reset_complete=Factory Reset Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</slider>
@@ -1297,7 +1297,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Wipe &gt; Advanced Wipe &gt; Select Partitions</text>
+				<text>{@wipe_hdr=Wipe} &gt; {@advanced_wipe_hdr=Advanced Wipe} &gt; {@sel_part_hdr=Select Partitions}</text>
 			</text>
 
 			<partitionlist style="partitionlist_headerless_cb">
@@ -1311,14 +1311,14 @@
 			</fill>
 
 			<slider>
-				<text>   Wipe</text>
+				<text>{@swipe_wipe_s=   Wipe}</text>
 				<actions>
 					<action function="set">tw_back=advancedwipe</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=LIST</action>
-					<action function="set">tw_text1=Wipe Selected Partition(s)?</action>
-					<action function="set">tw_action_text1=Wiping Partition(s)...</action>
-					<action function="set">tw_complete_text1=Wipe Complete</action>
+					<action function="set">tw_text1={@wipe_sel_confirm=Wipe Selected Partition(s)?}</action>
+					<action function="set">tw_action_text1={@wiping_part=Wiping Partition(s)...}</action>
+					<action function="set">tw_complete_text1={@wipe_complete=Wipe Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</slider>
@@ -1341,22 +1341,22 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Wipe &gt; Format Data</text>
+				<text>{@wipe_hdr=Wipe} &gt; {@format_data_hdr=Format Data}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row1_y%" placement="5"/>
-				<text>Format Data will wipe all of your apps,</text>
+				<text>{@format_data_wtc1=Format Data will wipe all of your apps,}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>backups and media. This cannot be undone.</text>
+				<text>{@format_data_wtc2=backups and media. This cannot be undone.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>Type yes to continue. Press back to cancel.</text>
+				<text>{@yes_continue=Type yes to continue. Press back to cancel.}</text>
 			</text>
 
 			<input>
@@ -1391,8 +1391,8 @@
 					<action function="set">tw_back=formatdata</action>
 					<action function="set">tw_action=wipe</action>
 					<action function="set">tw_action_param=DATAMEDIA</action>
-					<action function="set">tw_action_text1=Formatting Data...</action>
-					<action function="set">tw_complete_text1=Data Format Complete</action>
+					<action function="set">tw_action_text1={@formatting_data=Formatting Data...}</action>
+					<action function="set">tw_complete_text1={@format_data_complete=Data Format Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</action>
@@ -1434,7 +1434,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Wipe &gt; File System Options &gt; Select Partitions</text>
+				<text>{@wipe_hdr=Wipe} &gt; {@file_sys_opt=File System Options} &gt; {@sel_part_hdr=Select Partitions}</text>
 			</text>
 
 			<partitionlist style="partitionlist_headerless_cb">
@@ -1447,27 +1447,10 @@
 				<placement x="%col1_x_left%" y="row10a_y" w="%content_width%" h="input_line_width"/>
 			</fill>
 
-			<text style="text_m">
-				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>Select only one partition!</text>
-			</text>
-
 			<text style="text_m_fail">
 				<condition var1="partitionlisterror" var2="1"/>
 				<placement x="%col1_x_left%" y="%row12_y%"/>
-				<text>Invalid selection!</text>
-			</text>
-
-			<text style="text_m">
-				<condition var1="partitionlisterror" var2="1"/>
-				<placement x="%col1_x_left%" y="%row13_y%"/>
-				<text>Not all listed partitions</text>
-			</text>
-
-			<text style="text_m">
-				<condition var1="partitionlisterror" var2="1"/>
-				<placement x="%col1_x_left%" y="%row14_y%"/>
-				<text>can be modified.</text>
+				<text>{@invalid_part_sel=Invalid partition selection}</text>
 			</text>
 
 			<button>
@@ -1498,78 +1481,78 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Wipe &gt; File System Options &gt; Select Action</text>
+				<text>{@wipe_hdr=Wipe} &gt; {@file_sys_opt=File System Options} &gt; {@sel_act_hdr=Select Action}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Partition: %tw_partition_name%</text>
+				<text>{@partition=Partition: %tw_partition_name%}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row1_y%"/>
-				<text>File system: %tw_partition_file_system%</text>
+				<text>{@part_curr_fs=File system: %tw_partition_file_system%}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_is_present" var2="1"/>
 				<placement x="%col1_x_left%" y="%row2a_y%"/>
-				<text>Present: Yes</text>
+				<text>{@part_present_yes=Present: Yes}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_is_present" var2="0"/>
 				<placement x="%col1_x_left%" y="%row2a_y%"/>
-				<text>Present: No</text>
+				<text>{@part_present_no=Present: No}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_removable" var2="1"/>
 				<placement x="%col1_x_right%" y="%row2a_y%"/>
-				<text>Removable: Yes</text>
+				<text>{@part_removable_yes=Removable: Yes}</text>
 			</text>
 
 			<text style="text_m">
 				<condition var1="tw_partition_removable" var2="0"/>
 				<placement x="%col1_x_right%" y="%row2a_y%"/>
-				<text>Removable: No</text>
+				<text>{@part_removable_no=Removable: No}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row3a_y%"/>
-				<text>Size: %tw_partition_size%MB</text>
+				<text>{@part_size=Size: %tw_partition_size%MB}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_right%" y="%row3a_y%"/>
-				<text>Used: %tw_partition_used%MB</text>
+				<text>{@part_used=Used: %tw_partition_used%MB}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row4a_y%"/>
-				<text>Free: %tw_partition_free%MB</text>
+				<text>{@part_free=Free: %tw_partition_free%MB}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%col1_x_right%" y="%row4a_y%"/>
-				<text>Backup Size: %tw_partition_backup_size%MB</text>
+				<text>{@part_backup_size=Backup Size: %tw_partition_backup_size%MB}</text>
 			</text>
 
 			<button style="main_button">
 				<condition var1="tw_partition_can_resize" op="=" var2="1"/>
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>Resize</text>
+				<text>{@resize_btn_s=Resize}</text>
 				<actions>
 					<action function="set">tw_back=partitionoptions</action>
 					<action function="set">tw_action=resize</action>
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_has_action2=1</action>
 					<action function="set">tw_action2=getpartitiondetails</action>
-					<action function="set">tw_text1=Resize %tw_partition_name%?</action>
+					<action function="set">tw_text1={@resize_confirm=Resize %tw_partition_name%?}</action>
 					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Resizing...</action>
-					<action function="set">tw_complete_text1=Resize Complete</action>
-					<action function="set">tw_slider_text=   Resize</action>
+					<action function="set">tw_action_text1={@resizing=Resizing...}</action>
+					<action function="set">tw_complete_text1={@resize_complete=Resize Complete}</action>
+					<action function="set">tw_slider_text={@swipe_resize_s=   Resize}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1577,17 +1560,17 @@
 			<button style="main_button">
 				<condition var1="tw_partition_can_repair" op="=" var2="1"/>
 				<placement x="%col1_x_right%" y="%row6_y%"/>
-				<text>Repair</text>
+				<text>{@repair_btn_s=Repair}</text>
 				<actions>
 					<action function="set">tw_back=partitionoptions</action>
 					<action function="set">tw_action=repair</action>
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Repair %tw_partition_name%?</action>
+					<action function="set">tw_text1={@repair_confirm=Repair %tw_partition_name%?}</action>
 					<action function="set">tw_text2=</action>
-					<action function="set">tw_action_text1=Repairing...</action>
-					<action function="set">tw_complete_text1=Repair Complete</action>
-					<action function="set">tw_slider_text=   Repair</action>
+					<action function="set">tw_action_text1={@repairing=Repairing...}</action>
+					<action function="set">tw_complete_text1={@repair_complete=Repair Complete}</action>
+					<action function="set">tw_slider_text={@swipe_repair_s=   Repair}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1601,7 +1584,7 @@
 
 			<button style="main_button">
 				<placement x="%col1_x_right%" y="%row11_y%"/>
-				<text>Change</text>
+				<text>{@change_fs_btn_s=Change}</text>
 				<action function="page">selectfilesystem</action>
 			</button>
 
@@ -1643,7 +1626,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Partition: %tw_partition_name% &gt; Select File System</text>
+				<text>{@change_fs_for_hdr_s=Partition: %tw_partition_name% &gt; Select File System}</text>
 			</text>
 
 			<button style="main_button">
@@ -1656,13 +1639,13 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=ext2</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to EXT2?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_text3=Not all file systems are supported</action>
-					<action function="set">tw_text4=by all kernels. Proceed with caution!</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=   Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=EXT2</action>
+					<action function="set">tw_text3={@change_fs_warn1=Some ROMs or kernels may not support some}</action>
+					<action function="set">tw_text4={@change_fs_warn2=file systems. Proceed with caution!}</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_s=   Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1677,13 +1660,13 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=ext3</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to EXT3?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_text3=Not all file systems are supported</action>
-					<action function="set">tw_text4=by all kernels. Proceed with caution!</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=   Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=EXT3</action>
+					<action function="set">tw_text3={@change_fs_warn1=Some ROMs or kernels may not support some}</action>
+					<action function="set">tw_text4={@change_fs_warn2=file systems. Proceed with caution!}</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_s=   Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1698,13 +1681,13 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=ext4</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to EXT4?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_text3=Not all file systems are supported by all kernels.</action>
-					<action function="set">tw_text4=Proceed with caution!</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=   Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=EXT4</action>
+					<action function="set">tw_text3={@change_fs_warn1=Some ROMs or kernels may not support some}</action>
+					<action function="set">tw_text4={@change_fs_warn2=file systems. Proceed with caution!}</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_s=   Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1719,13 +1702,13 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=vfat</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to FAT?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_text3=Not all file systems are supported</action>
-					<action function="set">tw_text4=by all kernels. Proceed with caution!</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=   Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=FAT</action>
+					<action function="set">tw_text3={@change_fs_warn1=Some ROMs or kernels may not support some}</action>
+					<action function="set">tw_text4={@change_fs_warn2=file systems. Proceed with caution!}</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_s=   Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1740,13 +1723,13 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=exfat</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to exFAT?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_text3=Not all file systems are supported</action>
-					<action function="set">tw_text4=by all kernels. Proceed with caution!</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=   Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=exFAT</action>
+					<action function="set">tw_text3={@change_fs_warn1=Some ROMs or kernels may not support some}</action>
+					<action function="set">tw_text4={@change_fs_warn2=file systems. Proceed with caution!}</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_s=   Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1761,13 +1744,13 @@
 					<action function="set">tw_action_param=%tw_partition_mount_point%</action>
 					<action function="set">tw_action_new_file_system=f2fs</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=Change %tw_partition_name% to F2FS?</action>
-					<action function="set">tw_text2=</action>
-					<action function="set">tw_text3=Not all file systems are supported</action>
-					<action function="set">tw_text4=by all kernels. Proceed with caution!</action>
-					<action function="set">tw_action_text1=Formatting...</action>
-					<action function="set">tw_complete_text1=Format Complete</action>
-					<action function="set">tw_slider_text=   Change</action>
+					<action function="set">tw_text1={@change_fs_confirm=Change %tw_partition_name%?}</action>
+					<action function="set">tw_text2=F2FS</action>
+					<action function="set">tw_text3={@change_fs_warn1=Some ROMs or kernels may not support some}</action>
+					<action function="set">tw_text4={@change_fs_warn2=file systems. Proceed with caution!}</action>
+					<action function="set">tw_action_text1={@formatting=Formatting...}</action>
+					<action function="set">tw_complete_text1={@format_complete=Format Complete}</action>
+					<action function="set">tw_slider_text={@swipe_change_s=   Change}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -1790,7 +1773,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Backup &gt; Select Storage</text>
+				<text>{@backup_hdr=Backup} &gt; {@select_storage_hdr=Select Storage}</text>
 			</text>
 
 			<partitionlist style="partitionlist_headerless_rb">
@@ -1849,7 +1832,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Backup &gt; Select Partitions</text>
+				<text>{@backup_hdr=Backup} &gt; {@sel_part_hdr=Select Partitions}</text>
 			</text>
 
 			<partitionlist style="partitionlist_headerless_cb">
@@ -1916,18 +1899,18 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Backup &gt; Options</text>
+				<text>{@backup_hdr=Backup} &gt; {@options_hdr=Options}</text>
 			</text>
 
 			<listbox style="scrolllist">
 				<placement x="%col1_x_left%" y="%row2_header_y%" w="%content_width%" h="%partitionlist_wipe_height%"/>
-				<listitem name="Enable compression">
+				<listitem name="{@enable_backup_comp_chk=Enable compression}">
 					<data variable="tw_use_compression"/>
 				</listitem>
-				<listitem name="Skip MD5 generation during backup">
+				<listitem name="{@skip_md5_backup_chk=Skip MD5 generation during backup}">
 					<data variable="tw_skip_md5_generate"/>
 				</listitem>
-				<listitem name="Disable Free Space Check">
+				<listitem name="{@disable_backup_space_chk=Disable Free Space Check}">
 					<data variable="tw_disable_free_space"/>
 				</listitem>
 			</listbox>
@@ -2002,12 +1985,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Backup &gt; Confirm Backup</text>
+				<text>{@backup_hdr=Backup} &gt; {@backup_confirm_hdr=Confirm Backup{</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<text style="text_m">
@@ -2035,7 +2018,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row3a_y%"/>
-				<text>Partitions:</text>
+				<text>{@partitions=Partitions:}</text>
 			</text>
 
 			<partitionlist style="partitionlist_summary">
@@ -2055,7 +2038,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row1_y%"/>
-				<text>Storage:</text>
+				<text>{@storage=Storage:}</text>
 			</text>
 
 			<text style="text_m">
@@ -2074,7 +2057,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row3a_y%"/>
-				<text>Encryption:</text>
+				<text>{@encryption=Encryption:}</text>
 			</text>
 
 			<text style="text_m">
@@ -2083,7 +2066,7 @@
 					<condition var1="tw_encrypt_backup" var2="0"/>
 				</conditions>
 				<placement x="%col1_x_right%" y="%row4a_y%"/>
-				<text>Disabled</text>
+				<text>{@disabled=Disabled}</text>
 			</text>
 
 			<text style="text_m">
@@ -2092,7 +2075,7 @@
 					<condition var1="tw_encrypt_backup" var2="1"/>
 				</conditions>
 				<placement x="%col1_x_right%" y="%row4a_y%"/>
-				<text>Enabled</text>
+				<text>{@enabled=Enabled}</text>
 			</text>
 
 			<button>
@@ -2106,20 +2089,20 @@
 
 			<listbox style="listbox_options">
 				<placement x="%col1_x_right%" y="%row7_y%" w="%content_half_width%" h="80"/>
-				<listitem name="Enable Compression">
+				<listitem name="{@enable_backup_comp_chk=Enable compression}">
 					<data variable="tw_use_compression"/>
 				</listitem>
-				<listitem name="Skip MD5 generation">
+				<listitem name="{@skip_md5_backup_chk=Skip MD5 generation during backup}">
 					<data variable="tw_skip_md5_generate"/>
 				</listitem>
-				<listitem name="Skip Free Space Check">
+				<listitem name="{@disable_backup_space_chk=Disable Free Space Check}">
 					<data variable="tw_disable_free_space"/>
 				</listitem>
 			</listbox>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row6_y%"/>
-				<text>Options:</text>
+				<text>{@options=Options:}</text>
 			</text>
 
 			<button>
@@ -2132,7 +2115,7 @@
 			</button>
 
 			<slider>
-				<text>   Confirm</text>
+				<text>{@swipe_confirm=   Confirm}</text>
 				<action function="page">backup_run</action>
 			</slider>
 
@@ -2149,7 +2132,7 @@
 
 		<page name="backup_name1">
 			<action>
-				<condition var1="tw_backup_name" op="=" var2="(Auto Generate)"/>
+				<condition var1="tw_backup_name" op="=" var2="{@auto_generate=(Auto Generate)}"/>
 				<action function="generatebackupname"/>
 			</action>
 
@@ -2165,12 +2148,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Backup &gt; Set Backup Name</text>
+				<text>{@backup_hdr=Backup} &gt; {@backup_name_hdr=Set Backup Name}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -2198,21 +2181,21 @@
 			<text style="text_m_fail">
 				<condition var1="tw_fileexists" var2="1"/>
 				<placement x="%col1_x_left%" y="%row3_input_y%"/>
-				<text>A backup with that name already exists!</text>
+				<text>{@backup_name_exists=A backup with that name already exists!}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_left%" y="%row4_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
-					<action function="set">tw_backup_name=(Auto Generate)</action>
+					<action function="set">tw_backup_name={@auto_generate=(Auto Generate)}</action>
 					<action function="page">backup_confirm</action>
 				</actions>
 			</button>
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_right%" y="%row4_y%"/>
-				<text>Append Date</text>
+				<text>{@append_date_btn=Append Date}</text>
 				<action function="appenddatetobackupname"/>
 			</button>
 
@@ -2221,7 +2204,7 @@
 			<action>
 				<touch key="home"/>
 				<actions>
-					<action function="set">tw_backup_name=(Auto Generate)</action>
+					<action function="set">tw_backup_name={@auto_generate=(Auto Generate)}</action>
 					<action function="page">main</action>
 				</actions>
 			</action>
@@ -2229,7 +2212,7 @@
 			<action>
 				<touch key="back"/>
 				<actions>
-					<action function="set">tw_backup_name=(Auto Generate)</action>
+					<action function="set">tw_backup_name={@auto_generate=(Auto Generate)}</action>
 					<action function="page">backup_confirm</action>
 				</actions>
 			</action>
@@ -2242,12 +2225,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Backup &gt; Enable Encryption</text>
+				<text>{@backup_hdr=Backup} &gt; {@encrypt_backup=Encrypt your Backup?}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Enter Password:</text>
+				<text>{@enter_pass=Enter Password:}</text>
 			</text>
 
 			<input>
@@ -2270,12 +2253,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_password_not_match" var2="1"/>
 				<placement x="%col1_x_left%" y="%row3_input_y%"/>
-				<text>Passwords do not match!</text>
+				<text>{@pass_not_match=Passwords do not match!}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_right%" y="%row4_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_encrypt_backup=0</action>
 					<action function="set">tw_backup_password=</action>
@@ -2306,12 +2289,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Backup &gt; Enable Encryption</text>
+				<text>{@backup_hdr=Backup} &gt; {@encrypt_backup=Encrypt your Backup?}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Enter Password again:</text>
+				<text>{@enter_pass2=Enter Password again:}</text>
 			</text>
 
 			<input>
@@ -2328,7 +2311,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_right%" y="%row4_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_encrypt_backup=0</action>
 					<action function="set">tw_backup_password=</action>
@@ -2401,7 +2384,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_right%" y="%row13_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="cancelbackup"/>
 			</button>
 
@@ -2414,7 +2397,7 @@
 				<condition var1="tw_cancel_backup" var2="0"/>
 				<actions>
 					<action function="set">tw_back=backup_selectpartitions</action>
-					<action function="set">tw_complete_text1=Backup Complete</action>
+					<action function="set">tw_complete_text1={@backup_complete=Backup Complete}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_complete</action>
 				</actions>
@@ -2425,7 +2408,7 @@
 				<condition var1="tw_cancel_backup" var2="1"/>
 				<actions>
 					<action function="set">tw_back=backup_selectpartitions</action>
-					<action function="set">tw_complete_text1=Backup Cancelled</action>
+					<action function="set">tw_complete_text1={@backup_cancel=Backup Cancelled}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_complete</action>
 				</actions>
@@ -2439,7 +2422,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Restore &gt; Select Backup</text>
+				<text>{@restore_hdr=Restore} &gt; {@sel_backup_hdr=Select Backup}</text>
 			</text>
 
 			<fileselector>
@@ -2456,7 +2439,7 @@
 				<highlight color="%highlight_color%"/>
 				<image resource="q_btn_storage"/>
 				<actions>
-					<action function="set">tw_storagetext=Restore &gt; Select Storage</action>
+					<action function="set">tw_storagetext={@restore_btn=Restore} &gt; {@select_storage_btn=Select Storage}</action>
 					<action function="set">tw_back=restore</action>
 					<action function="page">select_storage</action>
 				</actions>
@@ -2506,12 +2489,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Restore &gt; Encrypted Backup</text>
+				<text>{@restore_hdr=Restore} &gt; {@restore_enc_backup_hdr=Encrypted Backup}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Enter Password:</text>
+				<text>{@enter_pass=Enter Password:}</text>
 			</text>
 
 			<input>
@@ -2534,12 +2517,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_password_fail" var2="1"/>
 				<placement x="%col1_x_left%" y="%row3_input_y%"/>
-				<text>Password failed, please try again!</text>
+				<text>{@restore_dec_fail=Password failed, please try again!}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_left%" y="%row4_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_page_done=1</action>
 					<action function="page">restore</action>
@@ -2548,16 +2531,17 @@
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_right%" y="%row4_y%"/>
-				<text>Delete Backup</text>
+				<text>{@del_backup_btn=Delete Backup}</text>
 				<actions>
 					<action function="set">tw_back=restore</action>
 					<action function="set">tw_action=cmd</action>
 					<action function="set">tw_action_param=cd %tw_backups_folder% &amp;&amp; rm -rf "%tw_restore_name%"</action>
-					<action function="set">tw_text1=Delete Backup? %tw_restore_name%</action>
-					<action function="set">tw_text2=This cannot be undone!</action>
-					<action function="set">tw_action_text1=Deleting Backup...</action>
-					<action function="set">tw_complete_text1=Backup Delete Complete</action>
-					<action function="set">tw_slider_text=Delete</action>
+					<action function="set">tw_text1={@del_backup_confirm=Delete Backup?}</action>
+					<action function="set">tw_text2=%tw_restore_name%</action>
+					<action function="set">tw_text4={@del_backup_confirm2=This cannot be undone!}</action>
+					<action function="set">tw_action_text1={@deleting_backup=Deleting Backup...}</action>
+					<action function="set">tw_complete_text1={@backup_deleted=Backup Delete Complete}</action>
+					<action function="set">tw_slider_text={@swipe_delete_s=   Delete}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -2582,7 +2566,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Restore &gt; Trying Decryption</text>
+				<text>{@restore_hdr=Restore} &gt; {@restore_try_decrypt_s=Trying Decryption}</text>
 			</text>
 
 			<template name="console"/>
@@ -2623,7 +2607,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Restore &gt; Select Partitions</text>
+				<text>{@restore_hdr=Restore} &gt; {@sel_part_hdr=Select Partitions}</text>
 			</text>
 
 			<partitionlist style="partitionlist_headerless_cb">
@@ -2651,12 +2635,12 @@
 					<action function="set">tw_back=restore</action>
 					<action function="set">tw_action=cmd</action>
 					<action function="set">tw_action_param=cd %tw_backups_folder% &amp;&amp; rm -rf "%tw_restore_name%"</action>
-					<action function="set">tw_text1=Delete Backup?</action>
+					<action function="set">tw_text1={@del_backup_confirm=Delete Backup?}</action>
 					<action function="set">tw_text2=%tw_restore_name%</action>
-					<action function="set">tw_text4=This cannot be undone!</action>
-					<action function="set">tw_action_text1=Deleting Backup...</action>
-					<action function="set">tw_complete_text1=Backup Delete Complete</action>
-					<action function="set">tw_slider_text=   Delete</action>
+					<action function="set">tw_text4={@del_backup_confirm2=This cannot be undone!}</action>
+					<action function="set">tw_action_text1={@deleting_backup=Deleting Backup...}</action>
+					<action function="set">tw_complete_text1={@backup_deleted=Backup Delete Complete}</action>
+					<action function="set">tw_slider_text={@swipe_delete_s=   Delete}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -2696,12 +2680,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Restore &gt; Options</text>
+				<text>{@restore_hdr=Restore} &gt; {@options_hdr=Options}</text>
 			</text>
 
 			<listbox style="scrolllist">
 				<placement x="%col1_x_left%" y="%row2_header_y%" w="%content_width%" h="%partitionlist_wipe_height%"/>
-				<listitem name="Enable MD5 verification of backup files">
+				<listitem name="{@retore_enable_md5_chk=Enable MD5 Verification of Backup Files}">
 					<data variable="tw_skip_md5_check"/>
 				</listitem>
 			</listbox>
@@ -2746,12 +2730,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Restore &gt; Rename Backup</text>
+				<text>{@restore_hdr=Restore} &gt; {@rename_backup_hdr=Rename Backup}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -2763,11 +2747,11 @@
 					<action function="set">tw_back=restore</action>
 					<action function="set">tw_action=cmd</action>
 					<action function="set">tw_action_param=cd %tw_backups_folder% &amp;&amp; mv "%tw_restore_name%" "%tw_backup_rename%"</action>
-					<action function="set">tw_text1=Rename Backup?</action>
-					<action function="set">tw_text2=This cannot be undone!</action>
-					<action function="set">tw_action_text1=Renaming Backup...</action>
-					<action function="set">tw_complete_text1=Backup Rename Complete</action>
-					<action function="set">tw_slider_text=Rename</action>
+					<action function="set">tw_text1={@rename_backup_confirm=Rename Backup?}</action>
+					<action function="set">tw_text2={@rename_backup_confirm2=This cannot be undone!}</action>
+					<action function="set">tw_action_text1={@renaming_backup=Renaming Backup...}</action>
+					<action function="set">tw_complete_text1={@rename_backup_complete=Backup Rename Complete}</action>
+					<action function="set">tw_slider_text={@swipe_rename=   Rename}</action>
 					<action function="set">tw_filecheck=%tw_backups_folder%/%tw_backup_rename%</action>
 					<action function="set">tw_existpage=renamebackup</action>
 					<action function="set">tw_notexistpage=confirm_action</action>
@@ -2787,12 +2771,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_fileexists" var2="1"/>
 				<placement x="%col1_x_left%" y="%row3_input_y%"/>
-				<text>A backup with that name already exists!</text>
+				<text>{@backup_name_exists=A backup with that name already exists!}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_left%" y="%row4_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">restore_confirm</action>
 			</button>
 
@@ -2816,12 +2800,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Restore &gt; Confirm</text>
+				<text>{@restore_hdr=Restore} &gt; {@confirm_hdr=Confirm}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row1_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<text style="text_m">
@@ -2846,7 +2830,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row3a_y%"/>
-				<text>Partitions:</text>
+				<text>{@partitions=Partitions:}</text>
 			</text>
 
 			<partitionlist style="partitionlist_summary">
@@ -2866,14 +2850,14 @@
 
 			<listbox style="listbox_options">
 				<placement x="%col1_x_right%" y="%row4a_y%" w="%content_half_width%" h="80"/>
-				<listitem name="MD5 verification">
+				<listitem name="{@retore_enable_md5_chk=Enable MD5 Verification of Backup Files}">
 					<data variable="tw_skip_md5_check"/>
 				</listitem>
 			</listbox>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_right%" y="%row3a_y%"/>
-				<text>Options:</text>
+				<text>{@options=Options:}</text>
 			</text>
 
 			<button>
@@ -2886,7 +2870,7 @@
 			</button>
 
 			<slider>
-				<text>   Restore</text>
+				<text>{@swipe_restore_s=   Restore}</text>
 				<action function="page">restore_run</action>
 			</slider>
 
@@ -2924,7 +2908,7 @@
 				<condition var1="tw_operation_state" var2="1"/>
 				<actions>
 					<action function="set">tw_back=restore</action>
-					<action function="set">tw_complete_text1=Restore Complete</action>
+					<action function="set">tw_complete_text1={@restore_complete=Restore Complete}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_complete</action>
 				</actions>
@@ -2942,7 +2926,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Mount &gt; %tw_storage_display_name%</text>
+				<text>{@mount_hdr=Mount} &gt; %tw_storage_display_name%</text>
 			</text>
 
 			<partitionlist style="partitionlist_headerless_cb">
@@ -2957,7 +2941,7 @@
 			<button style="checkbox">
 				<condition var1="tw_mount_system_ro" op="=" var2="0"/>
 				<placement x="%col1_x_left%" y="%row11_y%" textplacement="6"/>
-				<text>Mount System RO</text>
+				<text>{@mount_sys_ro_s_chk=Mount System RO}</text>
 				<image resource="checkbox_false"/>
 				<action function="mountsystemtoggle">1</action>
 			</button>
@@ -2965,7 +2949,7 @@
 			<button style="checkbox">
 				<condition var1="tw_mount_system_ro" op="!=" var2="0"/>
 				<placement x="%col1_x_left%" y="%row11_y%" textplacement="6"/>
-				<text>Mount System RO</text>
+				<text>{@mount_sys_ro_s_chk=Mount System RO}</text>
 				<image resource="checkbox_true"/>
 				<actions>
 					<action function="set">tw_lifetime_writes=2</action>
@@ -2980,7 +2964,7 @@
 				</conditions>
 				<placement x="%col1_x_left%" y="%row13_y%" textplacement="6"/>
 				<image resource="checkbox_false"/>
-				<text>Enable MTP</text>
+				<text>{@enable_mtp_btn=Enable MTP}</text>
 				<action function="startmtp"/>
 			</button>
 
@@ -2991,7 +2975,7 @@
 				</conditions>
 				<placement x="%col1_x_left%" y="%row13_y%" textplacement="6"/>
 				<image resource="checkbox_true"/>
-				<text>Enable MTP</text>
+				<text>{@disable_mtp_btn=Disable MTP}</text>
 				<action function="stopmtp"/>
 			</button>
 
@@ -3000,7 +2984,7 @@
 				<highlight color="%highlight_color%"/>
 				<image resource="q_btn_storage"/>
 				<actions>
-					<action function="set">tw_storagetext=Mount &gt; Select Storage</action>
+					<action function="set">tw_storagetext={@mount_hdr=Mount} &gt; {@select_storage_hdr=Select Storage}</action>
 					<action function="set">tw_back=mount</action>
 					<action function="page">select_storage</action>
 				</actions>
@@ -3031,13 +3015,13 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Mount &gt; %tw_storage_display_name%</text>
+				<text>{@mount_hdr=Mount} &gt; %tw_storage_display_name%</text>
 			</text>
 
 			<button style="main_button_full_width">
 				<condition var1="tw_has_usb_storage" var2="1"/>
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Mount USB Storage</text>
+				<text>{@mount_usb_storage_btn=Mount USB Storage}</text>
 				<action function="page">usb_mount</action>
 			</button>
 
@@ -3047,7 +3031,7 @@
 					<condition var1="tw_is_decrypted" var2="0"/>
 				</conditions>
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>Decrypt Data</text>
+				<text>{@decrypt_data_btn=Decrypt Data}</text>
 				<action function="page">decrypt</action>
 			</button>
 
@@ -3076,27 +3060,27 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Mount &gt; USB Storage</text>
+				<text>{@mount_hdr=Mount} &gt; {usb_storage_hdr=USB Storage}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row1_y%" placement="5"/>
-				<text>Device mounted as USB Storage</text>
+				<text>{@usb_stor_mnt1=USB Storage Mounted}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>Be sure to safely remove your device</text>
+				<text>{@usb_stor_mnt2=Be sure to safely remove your device}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>from your computer before unmounting!</text>
+				<text>{@usb_stor_mnt3=from your computer before unmounting!}</text>
 			</text>
 
 			<button style="main_button">
 				<placement x="%btn4_col2_x%" y="%row11_y%"/>
-				<text>Unmount</text>
+				<text>{@unmount_btn=Unmount}</text>
 				<action function="page">usb_umount</action>
 			</button>
 
@@ -3146,23 +3130,23 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Reboot Menu</text>
+				<text>{@reboot_hdr=Reboot Menu}</text>
 			</text>
 
 			<button style="main_button">
 				<condition var1="tw_reboot_system" var2="1"/>
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>System</text>
+				<text>{@rb_system_btn=System}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=system</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot_s=   Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -3170,17 +3154,17 @@
 			<button style="main_button">
 				<condition var1="tw_reboot_poweroff" var2="1"/>
 				<placement x="%col1_x_right%" y="%row1_y%"/>
-				<text>Power Off</text>
+				<text>{@rb_poweroff_btn=Power Off}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=poweroff</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to power off?</action>
-					<action function="set">tw_action_text1=Turning Off...</action>
-					<action function="set">tw_complete_text1=Turning Off...</action>
-					<action function="set">tw_slider_text=Power Off</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_ospo=sure you wish to power off?}</action>
+					<action function="set">tw_action_text1={@turning_off=Turning Off...}</action>
+					<action function="set">tw_complete_text1={@turning_off=Turning Off...}</action>
+					<action function="set">tw_slider_text={@swipe_power_off_s=Power Off}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -3188,17 +3172,17 @@
 			<button style="main_button">
 				<condition var1="tw_reboot_recovery" var2="1"/>
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>Recovery</text>
+				<text>{@rb_recovery_btn=Recovery}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=recovery</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot_s=   Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -3206,17 +3190,17 @@
 			<button style="main_button">
 				<condition var1="tw_reboot_bootloader" var2="1"/>
 				<placement x="%col1_x_right%" y="%row6_y%"/>
-				<text>Bootloader</text>
+				<text>{@rb_bootloader_btn=Bootloader}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=bootloader</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot_s=   Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -3224,17 +3208,17 @@
 			<button style="main_button">
 				<condition var1="tw_download_mode" var2="1"/>
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>Download</text>
+				<text>{@rb_download_btn=Download}</text>
 				<actions>
 					<action function="set">tw_back=reboot</action>
 					<action function="set">tw_action=reboot</action>
 					<action function="set">tw_action_param=download</action>
 					<action function="set">tw_has_action2=0</action>
-					<action function="set">tw_text1=No OS Installed! Are you</action>
-					<action function="set">tw_text2=sure you wish to reboot?</action>
-					<action function="set">tw_action_text1=Rebooting...</action>
-					<action function="set">tw_complete_text1=Rebooting...</action>
-					<action function="set">tw_slider_text=Reboot</action>
+					<action function="set">tw_text1={@no_os1=No OS Installed! Are you}</action>
+					<action function="set">tw_text2={@no_osrb=sure you wish to reboot?}</action>
+					<action function="set">tw_action_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_complete_text1={@rebooting=Rebooting...}</action>
+					<action function="set">tw_slider_text={@swipe_reboot_s=   Reboot}</action>
 					<action function="page">rebootcheck</action>
 				</actions>
 			</button>
@@ -3257,54 +3241,54 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Unmodified System Partition</text>
+				<text>{@sys_ro_hdr=Unmodified System Partition}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row1_y%" placement="5"/>
-				<text>TWRP has detected an unmodified system partition</text>
+				<text>{@sys_ro_keep=Keep System Read only?}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>TWRP can leave your system partition unmodified</text>
+				<text>{@sys_rop1=TWRP can leave your system partition unmodified}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row3_y%" placement="5"/>
-				<text>to make it easier for you to take official updates.</text>
+				<text>{@sys_rop2=to make it easier for you to take official updates.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>TWRP will be unable to prevent the stock ROM from</text>
+				<text>{@sys_rop3=TWRP will be unable to prevent the stock ROM from}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>replacing TWRP and will not offer to root your device.</text>
+				<text>{@sys_rop4=replacing TWRP and will not offer to root your device.}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row7_y%" placement="5"/>
-				<text>Installing zips or performing adb operations may still</text>
+				<text>{@sys_rop5=Installing zips or performing adb operations may still}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row8_y%" placement="5"/>
-				<text>modify the system partition.</text>
+				<text>{@sys_rop6=modify the system partition.}</text>
 			</text>
 
 			<checkbox>
 				<condition var1="tw_is_encrypted" var2="0"/>
 				<placement x="%indent%" y="%row10_y%"/>
-				<text>Never show this screen during boot again</text>
+				<text>{@sys_ro_never_show_chk=Never show this screen during boot again}</text>
 				<data variable="tw_never_show_system_ro_page"/>
 			</checkbox>
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_left%" y="%row13_y%"/>
-				<text>Keep Read Only</text>
+				<text>{@sys_ro_keep_ro_btn=Keep Read Only}</text>
 				<actions>
 					<action function="mountsystemtoggle">1</action>
 					<action function="set">tw_page_done=1</action>
@@ -3314,7 +3298,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_right%" y="%row13_y%"/>
-				<text>Allow Modifications</text>
+				<text>{@swipe_allow_mod_s=Allow Modifications}</text>
 				<actions>
 					<action function="mountsystemtoggle">0</action>
 					<action function="set">tw_page_done=1</action>
@@ -3330,36 +3314,36 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Settings</text>
+				<text>{@settings_hdr=Settings}</text>
 			</text>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>General</text>
+				<text>{@settings_gen_btn=General}</text>
 				<action function="page">settings_general</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_right%" y="%row1_y%"/>
-				<text>Time Zone</text>
+				<text>{@settings_tz_btn=Time Zone}</text>
 				<action function="page">settings_timezone</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>Screen</text>
+				<text>{@settings_screen_btn=Screen}</text>
 				<action function="page">settings_screen</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_right%" y="%row6_y%"/>
-				<text>Vibration</text>
+				<text>{@settings_vibration_btn=Vibration}</text>
 				<action function="page">settings_vibration</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>Language</text>
+				<text>{@settings_language_btn=Language}</text>
 				<action function="page">settings_language</action>
 			</button>
 
@@ -3388,30 +3372,30 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Settings &gt; General</text>
+				<text>{@settings_hdr=Settings} &gt; {@settings_gen_s_hdr=General}</text>
 			</text>
 
 			<listbox style="scrolllist">
 				<placement x="%col1_x_left%" y="%row2_header_y%" w="%content_width%" h="%listbox_settings_height%"/>
-				<listitem name="Zip file signature verification">
+				<listitem name="{@zip_sig_chk=Zip signature verification}">
 					<data variable="tw_signed_zip_verify"/>
 				</listitem>
-				<listitem name="Use rm -rf instead of formatting">
+				<listitem name="{@use_rmrf_chk=Use rm -rf instead of formatting}">
 					<data variable="tw_rm_rf"/>
 				</listitem>
-				<listitem name="Skip MD5 generation during backup">
+				<listitem name="{@skip_md5_backup_chk=Skip MD5 generation during backup}">
 					<data variable="tw_skip_md5_generate"/>
 				</listitem>
-				<listitem name="Enable MD5 verification of backup files">
+				<listitem name="{@retore_enable_md5_chk=Enable MD5 verification of backup files}">
 					<data variable="tw_skip_md5_check"/>
 				</listitem>
-				<listitem name="Use 24-hour clock">
+				<listitem name="{@use24clock_chk=Use 24-hour clock}">
 					<data variable="tw_military_time"/>
 				</listitem>
-				<listitem name="Simulate actions for theme testing">
+				<listitem name="{@simact_chk=Simulate actions for theme testing}">
 					<data variable="tw_simulate_actions"/>
 				</listitem>
-				<listitem name="Simulate failure for actions">
+				<listitem name="{@simfail_chk=Simulate failure for actions}">
 					<data variable="tw_simulate_fail"/>
 					<condition var1="tw_simulate_actions" var2="1"/>
 				</listitem>
@@ -3435,7 +3419,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Settings &gt; Time Zone</text>
+				<text>{@settings_hdr=Settings} &gt; {@time_zone_hdr=Time Zone}</text>
 			</text>
 
 			<text color="%text_color%">
@@ -3447,30 +3431,30 @@
 			<listbox style="listbox_headerless">
 				<placement x="%col1_x_left%" y="%row2_header_y%" w="%content_width%" h="%listbox_timezone_height%"/>
 				<data name="tw_time_zone_guisel"/>
-				<listitem name="(UTC -11) Samoa, Midway Island">BST11;BDT</listitem>
-				<listitem name="(UTC -10) Hawaii">HST10;HDT</listitem>
-				<listitem name="(UTC -9) Alaska">AST9;ADT</listitem>
-				<listitem name="(UTC -8) Pacific Time">PST8;PDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -7) Mountain Time">MST7;MDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -6) Central Time">CST6;CDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -5) Eastern Time">EST5;EDT,M3.2.0,M11.1.0</listitem>
-				<listitem name="(UTC -4) Atlantic Time">AST4;ADT</listitem>
-				<listitem name="(UTC -3) Brazil, Buenos Aires">GRNLNDST3;GRNLNDDT</listitem>
-				<listitem name="(UTC -2) Mid-Atlantic">FALKST2;FALKDT</listitem>
-				<listitem name="(UTC -1) Azores, Cape Verde">AZOREST1;AZOREDT</listitem>
-				<listitem name="(UTC  0) London, Dublin, Lisbon">GMT0;BST,M3.5.0,M10.5.0</listitem>
-				<listitem name="(UTC +1) Berlin, Brussels, Paris">CET-1;CEST,M3.5.0,M10.5.0</listitem>
-				<listitem name="(UTC +2) Athens, Istanbul, South Africa">WET-2;WET,M3.5.0,M10.5.0</listitem>
-				<listitem name="(UTC +3) Moscow, Baghdad">SAUST-3;SAUDT</listitem>
-				<listitem name="(UTC +4) Abu Dhabi, Tbilisi, Muscat">WST-4;WDT</listitem>
-				<listitem name="(UTC +5) Yekaterinburg, Islamabad">PAKST-5;PAKDT</listitem>
-				<listitem name="(UTC +6) Almaty, Dhaka, Colombo">TASHST-6;TASHDT</listitem>
-				<listitem name="(UTC +7) Bangkok, Hanoi, Jakarta">THAIST-7;THAIDT</listitem>
-				<listitem name="(UTC +8) Beijing, Singapore, Hong Kong">TAIST-8;TAIDT</listitem>
-				<listitem name="(UTC +9) Tokyo, Seoul, Yakutsk">JST-9;JSTDT</listitem>
-				<listitem name="(UTC +10) Eastern Australia, Guam">EET-10;EETDT</listitem>
-				<listitem name="(UTC +11) Vladivostok, Solomon Islands">MET-11;METDT</listitem>
-				<listitem name="(UTC +12) Auckland, Wellington, Fiji">NZST-12;NZDT</listitem>
+				<listitem name="{@utcm11=(UTC -11) Samoa, Midway Island}">BST11;BDT</listitem>
+				<listitem name="{@utcm10=(UTC -10) Hawaii}">HST10;HDT</listitem>
+				<listitem name="{@utcm9=(UTC -9) Alaska}">AST9;ADT</listitem>
+				<listitem name="{@utcm8=(UTC -8) Pacific Time}">PST8;PDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm7=(UTC -7) Mountain Time}">MST7;MDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm6=(UTC -6) Central Time}">CST6;CDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm5=(UTC -5) Eastern Time}">EST5;EDT,M3.2.0,M11.1.0</listitem>
+				<listitem name="{@utcm4=(UTC -4) Atlantic Time}">AST4;ADT</listitem>
+				<listitem name="{@utcm3=(UTC -3) Brazil, Buenos Aires}">GRNLNDST3;GRNLNDDT</listitem>
+				<listitem name="{@utcm2=(UTC -2) Mid-Atlantic}">FALKST2;FALKDT</listitem>
+				<listitem name="{@utcm1=(UTC -1) Azores, Cape Verde}">AZOREST1;AZOREDT</listitem>
+				<listitem name="{@utc0=(UTC  0) London, Dublin, Lisbon}">GMT0;BST,M3.5.0,M10.5.0</listitem>
+				<listitem name="{@utcp1=(UTC +1) Berlin, Brussels, Paris}">CET-1;CEST,M3.5.0,M10.5.0</listitem>
+				<listitem name="{@utcp2=(UTC +2) Athens, Istanbul, South Africa}">WET-2;WET,M3.5.0,M10.5.0</listitem>
+				<listitem name="{@utcp3=(UTC +3) Moscow, Baghdad}">SAUST-3;SAUDT</listitem>
+				<listitem name="{@utcp4=(UTC +4) Abu Dhabi, Tbilisi, Muscat}">WST-4;WDT</listitem>
+				<listitem name="{@utcp5=(UTC +5) Yekaterinburg, Islamabad}">PAKST-5;PAKDT</listitem>
+				<listitem name="{@utcp6=(UTC +6) Almaty, Dhaka, Colombo}">TASHST-6;TASHDT</listitem>
+				<listitem name="{@utcp7=(UTC +7) Bangkok, Hanoi, Jakarta}">THAIST-7;THAIDT</listitem>
+				<listitem name="{@utcp8=(UTC +8) Beijing, Singapore, Hong Kong}">TAIST-8;TAIDT</listitem>
+				<listitem name="{@utcp9=(UTC +9) Tokyo, Seoul, Yakutsk}">JST-9;JSTDT</listitem>
+				<listitem name="{@utcp10=(UTC +10) Eastern Australia, Guam}">EET-10;EETDT</listitem>
+				<listitem name="{@utcp11=(UTC +11) Vladivostok, Solomon Islands}">MET-11;METDT</listitem>
+				<listitem name="{@utcp12=(UTC +12) Auckland, Wellington, Fiji}">NZST-12;NZDT</listitem>
 			</listbox>
 
 			<button>
@@ -3517,7 +3501,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Settings &gt; Time Zone</text>
+				<text>{@settings_hdr=Settings} &gt; {@time_zone_hdr=Time Zone}</text>
 			</text>
 
 			<text color="%text_color%">
@@ -3529,19 +3513,19 @@
 			<checkbox>
 				<placement x="%col1_x_left%" y="%row1_y%"/>
 				<font resource="font_m" color="%text_color%"/>
-				<text>Use daylight savings time (DST)</text>
+				<text>{@use_dst_chk=Use daylight savings time (DST)}</text>
 				<data variable="tw_time_zone_guidst"/>
 				<image checked="checkbox_true" unchecked="checkbox_false"/>
 			</checkbox>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row4_y%"/>
-				<text>Select Offset (usually 0): %tw_time_zone_guioffset%</text>
+				<text>{@sel_tz_offset=Select Offset (usually 0): %tw_time_zone_guioffset%}</text>
 			</text>
 
 			<button style="main_button_quarter_width">
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>0</text>
+				<text>{@tz_offset_0=0}</text>
 				<actions>
 					<action function="set">tw_time_zone_guioffset=0</action>
 					<action function="setguitimezone"/>
@@ -3550,7 +3534,7 @@
 
 			<button style="main_button_quarter_width">
 				<placement x="%btn4_col2_x%" y="%row6_y%"/>
-				<text>15</text>
+				<text>{@tz_offset_15=15}</text>
 				<actions>
 					<action function="set">tw_time_zone_guioffset=15</action>
 					<action function="setguitimezone"/>
@@ -3559,7 +3543,7 @@
 
 			<button style="main_button_quarter_width">
 				<placement x="%btn4_col3_x%" y="%row6_y%"/>
-				<text>30</text>
+				<text>{@tz_offset_30=30}</text>
 				<actions>
 					<action function="set">tw_time_zone_guioffset=30</action>
 					<action function="setguitimezone"/>
@@ -3568,7 +3552,7 @@
 
 			<button style="main_button_quarter_width">
 				<placement x="%btn4_col4_x%" y="%row6_y%"/>
-				<text>45</text>
+				<text>{@tz_offset_45=45}</text>
 				<actions>
 					<action function="set">tw_time_zone_guioffset=45</action>
 					<action function="setguitimezone"/>
@@ -3587,7 +3571,7 @@
 
 			<text style="text_m_accent">
 				<placement x="%btn4_col2_x%" y="%row11_y%"/>
-				<text>Current Time Zone:</text>
+				<text>{@curr_tz_s=Current Time Zone:}</text>
 			</text>
 
 			<text style="text_m">
@@ -3624,14 +3608,14 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Settings &gt; Screen Timeout</text>
+				<text>{@settings_hdr=Settings} &gt; {@settings_screen_timeout_hdr=Screen Timeout}</text>
 			</text>
 
 			<button style="checkbox">
 				<condition var1="tw_screen_timeout_secs" op="=" var2="0"/>
 				<condition var1="tw_no_screen_timeout" op="!=" var2="1"/>
 				<placement x="%indent%" y="%row1_y%" textplacement="6"/>
-				<text>Enable screen timeout</text>
+				<text>{@enable_timeout_chk=Enable screen timeout}</text>
 				<image resource="checkbox_false"/>
 				<action function="set">tw_screen_timeout_secs=60</action>
 			</button>
@@ -3640,7 +3624,7 @@
 				<condition var1="tw_screen_timeout_secs" op="!=" var2="0"/>
 				<condition var1="tw_no_screen_timeout" op="!=" var2="1"/>
 				<placement x="%indent%" y="%row1_y%" textplacement="6"/>
-				<text>Enable screen timeout</text>
+				<text>{@enable_timeout_chk=Enable screen timeout}</text>
 				<image resource="checkbox_true"/>
 				<action function="set">tw_screen_timeout_secs=0</action>
 			</button>
@@ -3648,14 +3632,14 @@
 			<slidervalue>
 				<condition var1="tw_no_screen_timeout" op="!=" var2="1"/>
 				<placement x="col1_x_left" y="%row2a_y%" w="%content_width%"/>
-				<text>Screen timeout in seconds (0=disabled): %tw_screen_timeout_secs%</text>
+				<text>{@screen_to_slider_s=Screen timeout in seconds (0=disabled): %tw_screen_timeout_secs%}</text>
 				<data variable="tw_screen_timeout_secs" min="15" max="300"/>
 			</slidervalue>
 
 			<text style="text_m_fail">
 				<condition var1="tw_no_screen_timeout" op="=" var2="1"/>
 				<placement x="%center_x%" y="%row1_y%" placement="5"/>
-				<text>Screen timeout setting unavailable</text>
+				<text>{@screen_to_na=Screen timeout setting unavailable}</text>
 			</text>
 
 			<button>
@@ -3683,13 +3667,13 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Settings &gt; Screen Brightness</text>
+				<text>{@settings_hdr=Settings} &gt; {@settings_screen_bright_btn=Screen Brightness}</text>
 			</text>
 
 			<slidervalue>
 				<condition var1="tw_has_brightnesss_file" var2="1"/>
 				<placement x="col1_x_left" y="%row1_y%" w="%content_width%"/>
-				<text>Brightness: %tw_brightness_pct%%</text>
+				<text>{@screen_bright_slider=Brightness: %tw_brightness_pct%%}</text>
 				<data variable="tw_brightness_pct" min="10" max="100"/>
 				<actions>
 					<action function="set">tw_brightness=%tw_brightness_max%</action>
@@ -3702,7 +3686,7 @@
 			<text style="text_m_fail">
 				<condition var1="tw_has_brightnesss_file" var2="0"/>
 				<placement x="%center_x%" y="%row1_y%" placement="5"/>
-				<text>Brightness setting unavailable</text>
+				<text>{@screen_bright_na=Brightness setting unavailable}</text>
 			</text>
 
 			<button>
@@ -3730,12 +3714,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Settings &gt; Vibration - Button Vibration</text>
+				<text>{@settings_hdr=Settings} &gt; {@vibration_hdr=Vibration} - {@button_vibration_hdr=Button Vibration}</text>
 			</text>
 
 			<slidervalue>
 				<placement x="col1_x_left" y="%row1_y%" w="%content_width%"/>
-				<text>Button Vibration:</text>
+				<text>{@button_vibration=Button Vibration:}</text>
 				<data variable="tw_button_vibrate" min="0" max="300"/>
 			</slidervalue>
 
@@ -3764,12 +3748,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Settings &gt; Vibration - Keyboard Vibration</text>
+				<text>{@settings_hdr=Settings} &gt; {@vibration_hdr=Vibration} - {@kb_vibration_hdr=Keyboard Vibration}</text>
 			</text>
 
 			<slidervalue>
 				<placement x="col1_x_left" y="%row1_y%" w="%content_width%"/>
-				<text>Keyboard Vibration:</text>
+				<text>{@kb_vibration=Keyboard Vibration:}</text>
 				<data variable="tw_keyboard_vibrate" min="0" max="300"/>
 			</slidervalue>
 
@@ -3805,12 +3789,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Settings &gt; Vibration - Action Vibration</text>
+				<text>{@settings_hdr=Settings} &gt; {@vibration_hdr=Vibration} - {@act_vibration_hdr=Action Vibration}</text>
 			</text>
 
 			<slidervalue>
 				<placement x="col1_x_left" y="%row1_y%" w="%content_width%"/>
-				<text>Action Vibration:</text>
+				<text>{@act_vibration=Action Vibration:}</text>
 				<data variable="tw_action_vibrate" min="0" max="500"/>
 			</slidervalue>
 
@@ -3832,6 +3816,40 @@
 			</action>
 		</page>
 
+		<page name="settings_language">
+			<template name="page"/>
+
+			<template name="statusbar"/>
+
+			<text style="text_m">
+				<placement x="%col1_x_left%" y="%row1_header_y%"/>
+				<text>{@settings_hdr=Settings} &gt; {@language_hdr=Language} - %tw_language_display%</text>
+			</text>
+
+			<object type="listbox" style="scrolllist">
+				<placement x="%col1_x_left%" y="%row2_header_y%" w="%content_width%" h="%fileselector_filemanager_height%"/>
+				<icon selected="radio_true" unselected="radio_false" />
+				<data name="tw_language" />
+			</object>
+
+			<button>
+				<placement x="%btn4_col4_x%" y="%row11_y%"/>
+				<highlight color="%highlight_color%"/>
+				<image resource="q_btn_folder"/>
+				<action function="setlanguage"></action>
+			</button>
+
+			<object type="action">
+				<touch key="home" />
+				<action function="page">main</action>
+			</object>
+
+			<object type="action">
+				<touch key="back" />
+				<action function="page">settings</action>
+			</object>
+		</page>
+
 		<page name="advanced">
 			<template name="page"/>
 
@@ -3839,52 +3857,52 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Advanced</text>
+				<text>{@advanced_hdr=Advanced}</text>
 			</text>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Terminal</text>
+				<text>{@terminal_btn=Terminal}</text>
 				<action function="page">terminalfolder</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_right%" y="%row1_y%"/>
-				<text>Fix Perms</text>
+				<text>{@fix_perm_s_btn=Fix Perms}</text>
 				<action function="page">fixperms</action>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>Reload Theme</text>
+				<text>{@reload_theme_btn=Reload Theme}</text>
 				<action function="reload"/>
 			</button>
 
 			<button style="main_button">
 				<condition var1="tw_allow_partition_sdcard" var2="1"/>
 				<placement x="%col1_x_right%" y="%row6_y%"/>
-				<text>SD Card</text>
+				<text>{@part_sd_s_btn=SD Card}</text>
 				<action function="page">partsdcard</action>
 			</button>
 
 			<button style="main_button">
 				<condition var1="tw_show_dumlock" var2="1"/>
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>HTC Dumlock</text>
+				<text>{@dumlock_btn=HTC Dumlock}</text>
 				<action function="page">htcdumlock</action>
 			</button>
 
 			<button style="main_button">
 				<condition var1="tw_has_injecttwrp" var2="1"/>
 				<placement x="%col1_x_right%" y="%row11_y%"/>
-				<text>Inject TWRP</text>
+				<text>{@inject_twrp_btn=Inject TWRP}</text>
 				<actions>
 					<action function="set">tw_back=advanced</action>
 					<action function="set">tw_action=reinjecttwrp</action>
-					<action function="set">tw_text1=Re-Inject TWRP?</action>
-					<action function="set">tw_action_text1=Re-Injecting TWRP...</action>
-					<action function="set">tw_complete_text1=TWRP Injection Complete</action>
-					<action function="set">tw_slider_text=   Confirm</action>
+					<action function="set">tw_text1={@inject_twrp_confirm=Re-Inject TWRP?}</action>
+					<action function="set">tw_action_text1={@injecting_twrp=Re-Injecting TWRP...}</action>
+					<action function="set">tw_complete_text1={@inject_twrp_complete=TWRP Injection Complete}</action>
+					<action function="set">tw_slider_text={@swipe_confirm=   Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -3907,22 +3925,22 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Advanced &gt; Partition SD Card</text>
+				<text>{@advanced_hdr=Advanced} &gt; {@part_sd_hdr=Partition SD Card}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row1_y%" placement="5"/>
-				<text>You will lose all files on your SD card!</text>
+				<text>{@part_sd_lose=You will lose all files on your SD card!}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>This action cannot be undone!</text>
+				<text>{@part_sd_undo=This action cannot be undone!}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>EXT Size:</text>
+				<text>{@part_sd_ext_sz=EXT Size:}</text>
 			</text>
 
 			<text style="text_m">
@@ -3932,13 +3950,13 @@
 
 			<button style="main_button_quarter_width">
 				<placement x="%indent%" y="%row6_y%"/>
-				<text>-</text>
+				<text>{@part_sd_m=-}</text>
 				<action function="addsubtract">tw_sdext_size-128</action>
 			</button>
 
 			<button style="main_button_quarter_width">
 				<placement x="%btn4_col4_x%" y="%row6_y%"/>
-				<text>+</text>
+				<text>{@part_sd_p=+}</text>
 				<action function="addsubtract">tw_sdext_size+128</action>
 			</button>
 
@@ -3967,22 +3985,22 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Advanced &gt; Partition SD Card</text>
+				<text>{@advanced_hdr=Advanced} &gt; {@part_sd_hdr=Partition SD Card}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row1_y%" placement="5"/>
-				<text>You will lose all files on your SD card!</text>
+				<text>{@part_sd_lose=You will lose all files on your SD card!}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>This action cannot be undone!</text>
+				<text>{@part_sd_undo=This action cannot be undone!}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>Swap Size:</text>
+				<text>{@part_sd_swap_sz=Swap Size:}</text>
 			</text>
 
 			<text style="text_m">
@@ -3992,13 +4010,13 @@
 
 			<button style="main_button_quarter_width">
 				<placement x="%indent%" y="%row6_y%"/>
-				<text>-</text>
+				<text>{@part_sd_m=-}</text>
 				<action function="addsubtract">tw_swap_size-32</action>
 			</button>
 
 			<button style="main_button_quarter_width">
 				<placement x="%btn4_col4_x%" y="%row6_y%"/>
-				<text>+</text>
+				<text>{@part_sd_p=+}</text>
 				<action function="addsubtract">tw_swap_size+32</action>
 			</button>
 
@@ -4034,22 +4052,22 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Advanced &gt; Partition SD Card</text>
+				<text>{@advanced_hdr=Advanced} &gt; {@part_sd_hdr=Partition SD Card}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row1_y%" placement="5"/>
-				<text>You will lose all files on your SD card!</text>
+				<text>{@part_sd_lose=You will lose all files on your SD card!}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>This action cannot be undone!</text>
+				<text>{@part_sd_undo=This action cannot be undone!}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>File System:</text>
+				<text>{@file_system=File System:}</text>
 			</text>
 
 			<text style="text_m">
@@ -4101,36 +4119,36 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Advanced &gt; Partition SD Card</text>
+				<text>{@advanced_hdr=Advanced} &gt; {@part_sd_hdr=Partition SD Card}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row1_y%" placement="5"/>
-				<text>You will lose all files on your SD card!</text>
+				<text>{@part_sd_lose=You will lose all files on your SD card!}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>This action cannot be undone!</text>
+				<text>{@part_sd_undo=This action cannot be undone!}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>EXT Size: %tw_sdext_size%</text>
+				<text>{@part_sd_ext_sz=EXT Size:} %tw_sdext_size%</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row6_y%" placement="5"/>
-				<text>Swap Size: %tw_swap_size%</text>
+				<text>{@part_sd_swap_sz=Swap Size:} %tw_swap_size%</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row8_y%" placement="5"/>
-				<text>File System: %tw_sdpart_file_system%</text>
+				<text>{@file_system=File System:} %tw_sdpart_file_system%</text>
 			</text>
 
 			<slider>
-				<text>Partition</text>
+				<text>{@swipe_part_sd_s=Partition}</text>
 				<action function="page">partsdcardaction</action>
 				<actions>
 					<action function="set">tw_back=partsdcard</action>
@@ -4138,9 +4156,9 @@
 					<action function="set">tw_has_action2=1</action>
 					<action function="set">tw_action2=set</action>
 					<action function="set">tw_action2_param=tw_zip_location=/sdcard</action>
-					<action function="set">tw_action_text1=Partitioning SD Card...</action>
-					<action function="set">tw_action_text2=This will take a few minutes.</action>
-					<action function="set">tw_complete_text1=Partitioning Complete</action>
+					<action function="set">tw_action_text1={@partitioning_sd=Partitioning SD Card...}</action>
+					<action function="set">tw_action_text2={@partitioning_sd2=This will take a few minutes.}</action>
+					<action function="set">tw_complete_text1={@part_sd_complete=Partitioning Complete}</action>
 					<action function="page">action_page</action>
 				</actions>
 			</slider>
@@ -4163,47 +4181,47 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Advanced &gt; HTC Dumlock</text>
+				<text>{@advanced_hdr=Advanced} &gt; {@dumlock_hdr=HTC Dumlock}</text>
 			</text>
 
 			<button style="main_button_full_width">
 				<placement x="%indent%" y="%row1_y%"/>
-				<text>Restore Original Boot</text>
+				<text>{@dumlock_restore_btn=Restore Original Boot}</text>
 				<actions>
 					<action function="set">tw_back=htcdumlock</action>
 					<action function="set">tw_action=htcdumlockrestoreboot</action>
-					<action function="set">tw_text1=Restore original boot image?</action>
-					<action function="set">tw_action_text1=Restoring Original Boot...</action>
-					<action function="set">tw_complete_text1=Restore Original Boot Complete</action>
-					<action function="set">tw_slider_text=   Confirm</action>
+					<action function="set">tw_text1={@dumlock_restore_confirm=Restore original boot image?}</action>
+					<action function="set">tw_action_text1={@dumlock_restoring=Restoring Original Boot...}</action>
+					<action function="set">tw_complete_text1={@dumlock_restore_complete=Restore Original Boot Complete}</action>
+					<action function="set">tw_slider_text={@swipe_confirm=   Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_full_width">
 				<placement x="%indent%" y="%row6_y%"/>
-				<text>Reflash Recovery</text>
+				<text>{@dumlock_reflash_btn=Reflash Recovery}</text>
 				<actions>
 					<action function="set">tw_back=htcdumlock</action>
 					<action function="set">tw_action=htcdumlockreflashrecovery</action>
-					<action function="set">tw_text1=Reflash recovery to boot?</action>
-					<action function="set">tw_action_text1=Flashing recovery to boot...</action>
-					<action function="set">tw_complete_text1=Recovery Flash to Boot Complete</action>
-					<action function="set">tw_slider_text=   Confirm</action>
+					<action function="set">tw_text1={@dumlock_reflash_confirm=Reflash recovery to boot?}</action>
+					<action function="set">tw_action_text1={@dumlock_reflashing=Flashing recovery to boot...}</action>
+					<action function="set">tw_complete_text1={@dumlock_reflash_complete=Recovery Flash to Boot Complete}</action>
+					<action function="set">tw_slider_text={@swipe_confirm=   Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
 
 			<button style="main_button_full_width">
 				<placement x="%indent%" y="%row11_y%"/>
-				<text>Install HTC Dumlock</text>
+				<text>{@dumlock_install_btn=Install HTC Dumlock}</text>
 				<actions>
 					<action function="set">tw_back=htcdumlock</action>
 					<action function="set">tw_action=installhtcdumlock</action>
-					<action function="set">tw_text1=Install HTC dumlock files to ROM?</action>
-					<action function="set">tw_action_text1=Installing HTC Dumlock...</action>
-					<action function="set">tw_complete_text1=HTC Dumlock Install Complete</action>
-					<action function="set">tw_slider_text=   Confirm</action>
+					<action function="set">tw_action_text1={@dumlock_installing=Installing HTC Dumlock...}</action>
+					<action function="set">tw_complete_text1={@dumlock_install_complete=HTC Dumlock Install Complete}</action>
+					<action function="set">tw_slider_text={@swipe_to_confirm=Swipe to Confirm}</action>
+					<action function="set">tw_slider_text={@swipe_confirm=   Confirm}</action>
 					<action function="page">confirm_action</action>
 				</actions>
 			</button>
@@ -4228,7 +4246,7 @@
 			</image>
 
 			<slider>
-				<text>   Unlock</text>
+				<text>{@swipe_unlock=   Unlock}</text>
 				<action function="overlay"/>
 			</slider>
 		</page>
@@ -4240,7 +4258,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>File Manager &gt; Select File or Folder</text>
+				<text>{@fm_hdr=File Manager} &gt; {@fm_sel_file=Select a File or Folder}</text>
 			</text>
 
 			<fileselector>
@@ -4259,14 +4277,14 @@
 				<actions>
 					<action function="set">tw_filename1=tw_file_location1</action>
 					<action function="set">tw_fm_isfolder=1</action>
-					<action function="set">tw_fm_type=Folder</action>
+					<action function="set">tw_fm_type={@fm_type_folder=Folder}</action>
 					<action function="page">filemanageroptions</action>
 				</actions>
 			</button>
 
 			<action>
 				<actions>
-					<action function="set">tw_fm_type=File</action>
+					<action function="set">tw_fm_type={@fm_type_file=File}</action>
 					<action function="set">tw_fm_isfolder=0</action>
 				</actions>
 			</action>
@@ -4294,16 +4312,16 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>%tw_fm_type%: %tw_filename1%</text>
+				<text>%tw_fm_type% &gt; %tw_filename1%</text>
 			</text>
 
 			<button style="main_button">
 				<condition var1="tw_fm_isfolder" var2="0"/>
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Copy</text>
+				<text>{@fm_copy_btn=Copy}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=cp</action>
-					<action function="set">tw_fm_text1=Copying</action>
+					<action function="set">tw_fm_text1={@fm_copying=Copying}</action>
 					<action function="page">choosedestinationfolder</action>
 				</actions>
 			</button>
@@ -4311,30 +4329,30 @@
 			<button style="main_button">
 				<condition var1="tw_fm_isfolder" var2="1"/>
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Copy</text>
+				<text>{@fm_copy_btn=Copy}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=cd "%tw_file_location1%" &amp;&amp; cd .. &amp;&amp; cp -R</action>
-					<action function="set">tw_fm_text1=Copying</action>
+					<action function="set">tw_fm_text1={@fm_copying=Copying}</action>
 					<action function="page">choosedestinationfolder</action>
 				</actions>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_right%" y="%row1_y%"/>
-				<text>Move</text>
+				<text>{@fm_move_btn=Move}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=mv</action>
-					<action function="set">tw_fm_text1=Moving</action>
+					<action function="set">tw_fm_text1={@fm_moving=Moving}</action>
 					<action function="page">choosedestinationfolder</action>
 				</actions>
 			</button>
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row6_y%"/>
-				<text>chmod 755</text>
+				<text>{@fm_chmod755_btn=chmod 755}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=chmod 755</action>
-					<action function="set">tw_fm_text1=chmod 755</action>
+					<action function="set">tw_fm_text1={@fm_chmod755ing=chmod 755}</action>
 					<action function="set">tw_fm_text2=</action>
 					<action function="set">tw_fm_text3=</action>
 					<action function="set">tw_include_text3=0</action>
@@ -4345,7 +4363,7 @@
 
 			<button style="main_button">
 				<placement x="%col1_x_right%" y="%row6_y%"/>
-				<text>chmod</text>
+				<text>{@fm_chmod_btn=chmod}</text>
 				<actions>
 					<action function="set">tw_filemanager_rename=0000</action>
 					<action function="set">tw_fm_text2=</action>
@@ -4358,10 +4376,10 @@
 
 			<button style="main_button">
 				<placement x="%col1_x_left%" y="%row11_y%"/>
-				<text>Delete</text>
+				<text>{@fm_delete_btn=Delete}</text>
 				<actions>
 					<action function="set">tw_filemanager_command=rm -rf</action>
-					<action function="set">tw_fm_text1=Deleting</action>
+					<action function="set">tw_fm_text1={@fm_deleting=Deleting}</action>
 					<action function="set">tw_fm_text2=</action>
 					<action function="set">tw_fm_text3=</action>
 					<action function="set">tw_include_text3=0</action>
@@ -4373,10 +4391,10 @@
 			<button style="main_button">
 				<condition var1="tw_fm_isfolder" var2="0"/>
 				<placement x="%col1_x_right%" y="%row11_y%"/>
-				<text>Rename</text>
+				<text>{@fm_rename_btn=Rename}</text>
 				<actions>
 					<action function="set">tw_filemanager_rename=tw_selection1</action>
-					<action function="set">tw_fm_text1=Renaming</action>
+					<action function="set">tw_fm_text1={@fm_renaming=Renaming}</action>
 					<action function="set">tw_filemanager_command=mv</action>
 					<action function="page">filemanagerrenamefile</action>
 				</actions>
@@ -4385,10 +4403,10 @@
 			<button style="main_button">
 				<condition var1="tw_fm_isfolder" var2="1"/>
 				<placement x="%col1_x_right%" y="%row11_y%"/>
-				<text>Rename</text>
+				<text>{@fm_rename_btn=Rename}</text>
 				<actions>
 					<action function="set">tw_filemanager_rename=tw_selection1</action>
-					<action function="set">tw_fm_text1=Renaming</action>
+					<action function="set">tw_fm_text1={@fm_renaming=Renaming}</action>
 					<action function="set">tw_filemanager_command=cd "%tw_file_location1%" &amp;&amp; cd .. &amp;&amp; mv</action>
 					<action function="page">filemanagerrenamefolder</action>
 				</actions>
@@ -4412,7 +4430,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>File Manager &gt; Select Destination Folder</text>
+				<text>{@fm_hdr=File Manager} &gt; {@fm_sel_dest=Select Destination Folder}</text>
 			</text>
 
 			<fileselector>
@@ -4455,12 +4473,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>File Manager &gt; Rename %tw_fm_type%</text>
+				<text>{@fm_hdr=File Manager} &gt; {@fm_rename_hdr=Rename} %tw_fm_type%</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -4483,7 +4501,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_left%" y="%row4_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">filemanageroptions</action>
 			</button>
 
@@ -4507,12 +4525,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>File Manager &gt; Rename %tw_fm_type%</text>
+				<text>{@fm_hdr=File Manager} &gt; {@fm_rename_hdr=Rename} %tw_fm_type%</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Name:</text>
+				<text>{@name=Name:}</text>
 			</text>
 
 			<input>
@@ -4535,7 +4553,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_left%" y="%row4_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">filemanageroptions</action>
 			</button>
 
@@ -4559,12 +4577,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>File Manager &gt; Set Permissions</text>
+				<text>{@fm_hdr=File Manager} &gt; {@fm_set_perms_hdr=Set Permissions}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Permissions:</text>
+				<text>{@fm_perms=Permissions:}</text>
 			</text>
 
 			<input>
@@ -4586,7 +4604,7 @@
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_left%" y="%row4_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<action function="page">filemanageroptions</action>
 			</button>
 
@@ -4610,7 +4628,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>File Manager &gt; Confirm Action</text>
+				<text>{@fm_hdr=File Manager} &gt; {@confirm_action=Confirm Action}</text>
 			</text>
 
 			<text style="text_m_accent">
@@ -4635,11 +4653,11 @@
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row8_y%" placement="5"/>
-				<text>Press back button to cancel.</text>
+				<text>{@back_cancel=Press back button to cancel.}</text>
 			</text>
 
 			<slider>
-				<text>Confirm</text>
+				<text>{@swipe_confirm=   Confirm}</text>
 				<action function="page">filemanageraction</action>
 			</slider>
 
@@ -4661,7 +4679,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>File Manager &gt; %tw_fm_text1%</text>
+				<text>{@fm_hdr=File Manager} &gt; %tw_fm_text1%</text>
 			</text>
 
 			<template name="console"/>
@@ -4675,7 +4693,7 @@
 				</conditions>
 				<actions>
 					<action function="set">tw_back=filemanagerlist</action>
-					<action function="set">tw_complete_text1=File Operation Complete</action>
+					<action function="set">tw_complete_text1={@fm_complete=File Operation Complete}</action>
 					<action function="page">action_complete</action>
 				</actions>
 			</action>
@@ -4686,7 +4704,7 @@
 					<condition var1="tw_operation_status" op="!=" var2="0"/>
 				</conditions>
 				<actions>
-					<action function="set">tw_complete_text1=File Operation Complete</action>
+					<action function="set">tw_complete_text1={@fm_complete=File Operation Complete}</action>
 					<action function="page">action_complete</action>
 				</actions>
 			</action>
@@ -4714,12 +4732,12 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Mount &gt; Decrypt Data</text>
+				<text>{@mount_hdr=Mount} &gt; {@decrypt_data_hdr=Decrypt Data}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%col1_x_left%" y="%row1_y%"/>
-				<text>Enter Password:</text>
+				<text>{@decrypt_data_enter_pass=Enter Password:}</text>
 			</text>
 
 			<input>
@@ -4742,12 +4760,12 @@
 			<text style="text_m_fail">
 				<condition var1="tw_password_fail" var2="1"/>
 				<placement x="%col1_x_left%" y="%row3_input_y%"/>
-				<text>Password failed, please try again!</text>
+				<text>{@decryt_data_failed=Password failed, please try again!}</text>
 			</text>
 
 			<button style="main_button_half_height">
 				<placement x="%col1_x_right%" y="%row4_y%"/>
-				<text>Cancel</text>
+				<text>{@cancel_btn=Cancel}</text>
 				<actions>
 					<action function="set">tw_page_done=1</action>
 					<action function="page">main</action>
@@ -4764,17 +4782,17 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Mount &gt; Decrypt Data</text>
+				<text>{@mount_hdr=Mount} &gt; {@decrypt_data_hdr=Decrypt Data}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>Enter Pattern.</text>
+				<text>{@decrypt_data_enter_pattern=Enter Pattern.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row10_y%" placement="5"/>
-				<text>Press back to cancel.</text>
+				<text>{@back_cancel=Press back to cancel.}</text>
 			</text>
 
 			<patternpassword>
@@ -4808,7 +4826,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Mount &gt; Trying Decryption</text>
+				<text>{@mount_hdr=Mount} &gt; {@decrypt_data_trying=Trying Decryption}</text>
 			</text>
 
 			<template name="console"/>
@@ -4849,7 +4867,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Terminal &gt; Select Starting Folder</text>
+				<text>{@term_s_hdr=Terminal} &gt; {@term_sel_folder_hdr=Browse to Starting Folder}</text>
 			</text>
 
 			<fileselector>
@@ -4886,7 +4904,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Terminal &gt; %tw_terminal_location%</text>
+				<text>{@term_s_hdr=Terminal} &gt; %tw_terminal_location%</text>
 			</text>
 
 			<template name="console_terminal"/>
@@ -4932,35 +4950,35 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Install &gt; ADB Sideload</text>
+				<text>{@install_hdr=Install} &gt; {@adb_sideload_hdr=ADB Sideload}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%indent%" y="%row1_y%"/>
-				<text>Options:</text>
+				<text>{@options=Options:}</text>
 			</text>
 
 			<checkbox>
 				<placement x="%indent%" y="%row2_y%"/>
-				<text>Wipe Dalvik Cache</text>
+				<text>{@sideload_wipe_dalvik_chk=Wipe Dalvik Cache}</text>
 				<data variable="tw_wipe_dalvik"/>
 			</checkbox>
 
 			<checkbox>
 				<placement x="%indent%" y="%row4a_y%"/>
-				<text>Wipe Cache</text>
+				<text>{@sideload_wipe_cache_chk=Wipe Cache}</text>
 				<data variable="tw_wipe_cache"/>
 			</checkbox>
 
 			<slider>
-				<text>   Start</text>
+				<text>{@swipe_sideload=   Start}</text>
 				<action function="page">partsdcardaction</action>
 				<actions>
 					<action function="set">tw_back=install_type</action>
 					<action function="set">tw_action=adbsideload</action>
-					<action function="set">tw_action_text1=ADB Sideload</action>
-					<action function="set">tw_action_text2=Usage: adb sideload filename.zip</action>
-					<action function="set">tw_complete_text1=ADB Sideload Complete</action>
+					<action function="set">tw_action_text1={@sideload_confirm=ADB Sideload}</action>
+					<action function="set">tw_action_text2={@sideload_usage=Usage: adb sideload filename.zip}</action>
+					<action function="set">tw_complete_text1={@sideload_complete=ADB Sideload Complete}</action>
 					<action function="set">tw_has_cancel=1</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="set">tw_cancel_action=adbsideloadcancel</action>
@@ -4986,38 +5004,38 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Advanced &gt; Fix Permissions</text>
+				<text>{@advanced_hdr=Advanced} &gt; {@fix_perms_hdr=Fix Permissions}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Note: Fixing permissions is rarely needed.</text>
+				<text>{@fix_perms_note=Note: Fixing permissions is rarely needed.}</text>
 			</text>
 
 			<checkbox>
 				<placement x="%indent%" y="%row4_y%"/>
-				<text>Also fix SELinux Contexts</text>
+				<text>{@fix_perms_selinux_chk=Also fix SELinux Contexts}</text>
 				<data variable="tw_fixperms_restorecon"/>
 			</checkbox>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row6a_y%" placement="5"/>
-				<text>Fixing SELinux Contexts may cause</text>
+				<text>{@fix_perms_sel_note1=Fixing SELinux Contexts may cause}</text>
 			</text>
 
 			<text style="text_m_fail">
 				<placement x="%center_x%" y="%row7a_y%" placement="5"/>
-				<text>your device to not boot properly.</text>
+				<text>{@fix_perms_sel_note2=your device to not boot properly.}</text>
 			</text>
 
 			<slider>
-				<text>   Fix Perms</text>
+				<text>{@swipe_fix_perms=   Fix Perms}</text>
 				<actions>
 					<action function="set">tw_back=advanced</action>
 					<action function="set">tw_action=fixpermissions</action>
-					<action function="set">tw_action_text1=Fixing Permissions...</action>
-					<action function="set">tw_complete_text1=Fix Permissions Complete</action>
-					<action function="set">tw_slider_text=   Confirm</action>
+					<action function="set">tw_action_text1={@fixing_perms=Fixing Permissions...}</action>
+					<action function="set">tw_complete_text1={@fix_perms_complete=Fix Permissions Complete}</action>
+					<action function="set">tw_slider_text={@swipe_confirm=   Confirm}</action>
 					<action function="set">tw_show_reboot=1</action>
 					<action function="page">action_page</action>
 				</actions>
@@ -5041,35 +5059,35 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>Reboot &gt; SuperSU Check</text>
+				<text>{@reboot_hdr=Reboot} &gt; {@su_hdr=SuperSU Check}</text>
 			</text>
 
 			<text style="text_m_accent">
 				<placement x="%center_x%" y="%row2_y%" placement="5"/>
-				<text>Your device does not appear to be rooted.</text>
+				<text>{@su_note1=Your device does not appear to be rooted.}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row4_y%" placement="5"/>
-				<text>Install SuperSU now?</text>
+				<text>{@su_note2=Install SuperSU now?}</text>
 			</text>
 
 			<text style="text_m">
 				<placement x="%center_x%" y="%row5_y%" placement="5"/>
-				<text>This will root your device.</text>
+				<text>{@su_note3=This will root your device.}</text>
 			</text>
 
 			<button style="main_button_full_width">
 				<placement x="%indent%" y="%row6_y%"/>
-				<text>Do not Install</text>
+				<text>{@su_cancel=Do not Install}</text>
 				<action function="set">tw_page_done=1</action>
 			</button>
 
 			<slider>
-				<text>   Install</text>
+				<text>{@swipe_su_install=   Install}</text>
 				<actions>
 					<action function="set">tw_action=installsu</action>
-					<action function="set">tw_action_text1=Installing SuperSU</action>
+					<action function="set">tw_action_text1={@su_installing=Installing SuperSU}</action>
 					<action function="set">tw_action_text2=</action>
 					<action function="page">singleaction_page</action>
 				</actions>
diff --git a/gui/theme/landscape_hdpi/ui.xml b/gui/theme/landscape_hdpi/ui.xml
index ef967f5..8241641 100644
--- a/gui/theme/landscape_hdpi/ui.xml
+++ b/gui/theme/landscape_hdpi/ui.xml
@@ -94,8 +94,13 @@
 		<variable name="tab_height" value="72" />
 		<variable name="tab_indicator_height" value="4" />
 		<variable name="tab4_width" value="480" />
+		<variable name="tab5_width" value="384" />
 		<variable name="tab4_col2_x" value="480" />
 		<variable name="tab4_col4_x" value="1440" />
+		<variable name="tab5_col2_x" value="384" />
+		<variable name="tab5_col3_x" value="768" />
+		<variable name="tab5_col4_x" value="1152" />
+		<variable name="tab5_col5_x" value="1536" />
 		<variable name="btn4_col2_x_left" value="282" />
 		<variable name="btn4_col3_x_left" value="516" />
 		<variable name="btn4_col4_x_left" value="750" />
@@ -255,7 +260,7 @@
 				<condition var1="tw_no_cpu_temp" var2="0" />
 				<font resource="font_m" />
 				<placement x="%indent%" y="%row1_header_y%" />
-				<text>CPU: %tw_cpu_temp% &#xB0;C</text>
+				<text>{@cpu_temp=CPU: %tw_cpu_temp% &#xB0;C}</text>
 			</object>
 
 			<object type="text" color="%text_color%">
@@ -272,7 +277,7 @@
 				</conditions>
 				<font resource="font_m" />
 				<placement x="%indent_right%" y="%row1_header_y%" placement="1" />
-				<text>Battery: %tw_battery%</text>
+				<text>{@battery_pct=Battery: %tw_battery%}</text>
 			</object>
 
 			<object type="fill" color="#000000">
@@ -456,14 +461,14 @@
 			<object type="button" style="sort_asc">
 				<condition var1="tw_gui_sort_order" op="=" var2="1" />
 				<placement x="%col_button_right%" y="%row1a_y%" />
-				<text>Sort by Name</text>
+				<text>{@sort_by_name=Sort by Name}</text>
 				<action function="set">tw_gui_sort_order=-1</action>
 			</object>
 
 			<object type="button" style="sort_desc">
 				<condition var1="tw_gui_sort_order" op="=" var2="-1" />
 				<placement x="%col_button_right%" y="%row1a_y%" />
-				<text>Sort by Name</text>
+				<text>{@sort_by_name=Sort by Name}</text>
 				<action function="set">tw_gui_sort_order=1</action>
 			</object>
 
@@ -473,21 +478,21 @@
 					<condition var1="tw_gui_sort_order" op="!=" var2="-1" />
 				</conditions>
 				<placement x="%col_button_right%" y="%row1a_y%" />
-				<text>Sort by Name</text>
+				<text>{@sort_by_name=Sort by Name}</text>
 				<action function="set">tw_gui_sort_order=1</action>
 			</object>
 
 			<object type="button" style="sort_asc">
 				<condition var1="tw_gui_sort_order" op="=" var2="2" />
 				<placement x="%col_button_right%" y="%row4a_y%" />
-				<text>Sort by Date</text>
+				<text>{@sort_by_date=Sort by Date}</text>
 				<action function="set">tw_gui_sort_order=-2</action>
 			</object>
 
 			<object type="button" style="sort_desc">
 				<condition var1="tw_gui_sort_order" op="=" var2="-2" />
 				<placement x="%col_button_right%" y="%row4a_y%" />
-				<text>Sort by Date</text>
+				<text>{@sort_by_date=Sort by Date}</text>
 				<action function="set">tw_gui_sort_order=2</action>
 			</object>
 
@@ -497,21 +502,21 @@
 					<condition var1="tw_gui_sort_order" op="!=" var2="-2" />
 				</conditions>
 				<placement x="%col_button_right%" y="%row4a_y%" />
-				<text>Sort by Date</text>
+				<text>{@sort_by_date=Sort by Date}</text>
 				<action function="set">tw_gui_sort_order=2</action>
 			</object>
 
 			<object type="button" style="sort_asc">
 				<condition var1="tw_gui_sort_order" op="=" var2="3" />
 				<placement x="%col_button_right%" y="%row7a_y%" />
-				<text>Sort by Size</text>
+				<text>{@sort_by_size=Sort by Size}</text>
 				<action function="set">tw_gui_sort_order=-3</action>
 			</object>
 
 			<object type="button" style="sort_desc">
 				<condition var1="tw_gui_sort_order" op="=" var2="-3" />
 				<placement x="%col_button_right%" y="%row7a_y%" />
-				<text>Sort by Size</text>
+				<text>{@sort_by_size=Sort by Size}</text>
 				<action function="set">tw_gui_sort_order=3</action>
 			</object>
 
@@ -521,35 +526,41 @@
 					<condition var1="tw_gui_sort_order" op="!=" var2="-3" />
 				</conditions>
 				<placement x="%col_button_right%" y="%row7a_y%" />
-				<text>Sort by Size</text>
+				<text>{@sort_by_size=Sort by Size}</text>
 				<action function="set">tw_gui_sort_order=3</action>
 			</object>
 		</template>
 
 		<template name="tabs_settings">
 			<object type="button" style="tab">
-				<placement x="0" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>GENERAL</text>
+				<placement x="0" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_general=GENERAL}</text>
 				<action function="page">settings</action>
 			</object>
 
 			<object type="button" style="tab">
-				<placement x="%tab4_col2_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>TIME ZONE</text>
+				<placement x="%tab5_col2_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_time_zone=TIME ZONE}</text>
 				<action function="page">settings_timezone</action>
 			</object>
 
 			<object type="button" style="tab">
-				<placement x="%center_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>SCREEN</text>
+				<placement x="%tab5_col3_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_screen=SCREEN}</text>
 				<action function="page">settings_screen</action>
 			</object>
 
 			<object type="button" style="tab">
-				<placement x="%tab4_col4_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>VIBRATION</text>
+				<placement x="%tab5_col4_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_vibration=VIBRATION}</text>
 				<action function="page">settings_vibration</action>
 			</object>
+
+			<object type="button" style="tab">
+				<placement x="%tab5_col5_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_language=LANGUAGE}</text>
+				<action function="page">settings_language</action>
+			</object>
 		</template>
 
 		<template name="console">
diff --git a/gui/theme/landscape_mdpi/ui.xml b/gui/theme/landscape_mdpi/ui.xml
index 563f16e..818c23d 100644
--- a/gui/theme/landscape_mdpi/ui.xml
+++ b/gui/theme/landscape_mdpi/ui.xml
@@ -94,8 +94,13 @@
 		<variable name="tab_height" value="30" />

 		<variable name="tab_indicator_height" value="2" />

 		<variable name="tab4_width" value="200" />

+		<variable name="tab5_width" value="160" />

 		<variable name="tab4_col2_x" value="200" />

 		<variable name="tab4_col4_x" value="600" />

+		<variable name="tab5_col2_x" value="160" />

+		<variable name="tab5_col3_x" value="320" />

+		<variable name="tab5_col4_x" value="480" />

+		<variable name="tab5_col5_x" value="640" />

 		<variable name="btn4_col2_x_left" value="117" />

 		<variable name="btn4_col3_x_left" value="216" />

 		<variable name="btn4_col4_x_left" value="313" />

@@ -255,7 +260,7 @@
 				<condition var1="tw_no_cpu_temp" var2="0" />

 				<font resource="font_m" />

 				<placement x="%indent%" y="%row1_header_y%" />

-				<text>CPU: %tw_cpu_temp% &#xB0;C</text>

+				<text>{@cpu_temp=CPU: %tw_cpu_temp% &#xB0;C}</text>

 			</object>

 

 			<object type="text" color="%text_color%">

@@ -272,7 +277,7 @@
 				</conditions>

 				<font resource="font_m" />

 				<placement x="%indent_right%" y="%row1_header_y%" placement="1" />

-				<text>Battery: %tw_battery%</text>

+				<text>{@battery_pct=Battery: %tw_battery%}</text>

 			</object>

 

 			<object type="fill" color="#000000">

@@ -456,14 +461,14 @@
 			<object type="button" style="sort_asc">

 				<condition var1="tw_gui_sort_order" op="=" var2="1" />

 				<placement x="%col_button_right%" y="%row1a_y%" />

-				<text>Sort by Name</text>

+				<text>{@sort_by_name=Sort by Name}</text>

 				<action function="set">tw_gui_sort_order=-1</action>

 			</object>

 

 			<object type="button" style="sort_desc">

 				<condition var1="tw_gui_sort_order" op="=" var2="-1" />

 				<placement x="%col_button_right%" y="%row1a_y%" />

-				<text>Sort by Name</text>

+				<text>{@sort_by_name=Sort by Name}</text>

 				<action function="set">tw_gui_sort_order=1</action>

 			</object>

 

@@ -473,21 +478,21 @@
 					<condition var1="tw_gui_sort_order" op="!=" var2="-1" />

 				</conditions>

 				<placement x="%col_button_right%" y="%row1a_y%" />

-				<text>Sort by Name</text>

+				<text>{@sort_by_name=Sort by Name}</text>

 				<action function="set">tw_gui_sort_order=1</action>

 			</object>

 

 			<object type="button" style="sort_asc">

 				<condition var1="tw_gui_sort_order" op="=" var2="2" />

 				<placement x="%col_button_right%" y="%row4a_y%" />

-				<text>Sort by Date</text>

+				<text>{@sort_by_date=Sort by Date}</text>

 				<action function="set">tw_gui_sort_order=-2</action>

 			</object>

 

 			<object type="button" style="sort_desc">

 				<condition var1="tw_gui_sort_order" op="=" var2="-2" />

 				<placement x="%col_button_right%" y="%row4a_y%" />

-				<text>Sort by Date</text>

+				<text>{@sort_by_date=Sort by Date}</text>

 				<action function="set">tw_gui_sort_order=2</action>

 			</object>

 

@@ -497,21 +502,21 @@
 					<condition var1="tw_gui_sort_order" op="!=" var2="-2" />

 				</conditions>

 				<placement x="%col_button_right%" y="%row4a_y%" />

-				<text>Sort by Date</text>

+				<text>{@sort_by_date=Sort by Date}</text>

 				<action function="set">tw_gui_sort_order=2</action>

 			</object>

 

 			<object type="button" style="sort_asc">

 				<condition var1="tw_gui_sort_order" op="=" var2="3" />

 				<placement x="%col_button_right%" y="%row7a_y%" />

-				<text>Sort by Size</text>

+				<text>{@sort_by_size=Sort by Size}</text>

 				<action function="set">tw_gui_sort_order=-3</action>

 			</object>

 

 			<object type="button" style="sort_desc">

 				<condition var1="tw_gui_sort_order" op="=" var2="-3" />

 				<placement x="%col_button_right%" y="%row7a_y%" />

-				<text>Sort by Size</text>

+				<text>{@sort_by_size=Sort by Size}</text>

 				<action function="set">tw_gui_sort_order=3</action>

 			</object>

 

@@ -521,35 +526,41 @@
 					<condition var1="tw_gui_sort_order" op="!=" var2="-3" />

 				</conditions>

 				<placement x="%col_button_right%" y="%row7a_y%" />

-				<text>Sort by Size</text>

+				<text>{@sort_by_size=Sort by Size}</text>

 				<action function="set">tw_gui_sort_order=3</action>

 			</object>

 		</template>

 

 		<template name="tabs_settings">

 			<object type="button" style="tab">

-				<placement x="0" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />

-				<text>GENERAL</text>

+				<placement x="0" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />

+				<text>{@tab_general=GENERAL}</text>

 				<action function="page">settings</action>

 			</object>

 

 			<object type="button" style="tab">

-				<placement x="%tab4_col2_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />

-				<text>TIME ZONE</text>

+				<placement x="%tab5_col2_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />

+				<text>{@tab_time_zone=TIME ZONE}</text>

 				<action function="page">settings_timezone</action>

 			</object>

 

 			<object type="button" style="tab">

-				<placement x="%center_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />

-				<text>SCREEN</text>

+				<placement x="%tab5_col3_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />

+				<text>{@tab_screen=SCREEN}</text>

 				<action function="page">settings_screen</action>

 			</object>

 

 			<object type="button" style="tab">

-				<placement x="%tab4_col4_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />

-				<text>VIBRATION</text>

+				<placement x="%tab5_col4_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />

+				<text>{@tab_vibration=VIBRATION}</text>

 				<action function="page">settings_vibration</action>

 			</object>

+

+			<object type="button" style="tab">

+				<placement x="%tab5_col5_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />

+				<text>{@tab_language=LANGUAGE}</text>

+				<action function="page">settings_language</action>

+			</object>

 		</template>

 

 		<template name="console">

diff --git a/gui/theme/portrait_hdpi/ui.xml b/gui/theme/portrait_hdpi/ui.xml
index f8e1181..7708f92 100644
--- a/gui/theme/portrait_hdpi/ui.xml
+++ b/gui/theme/portrait_hdpi/ui.xml
@@ -82,10 +82,15 @@
 		<variable name="tab_indicator_height" value="6" />
 		<variable name="tab3_width" value="360" />
 		<variable name="tab4_width" value="270" />
+		<variable name="tab5_width" value="216" />
 		<variable name="tab3_col2_x" value="360" />
 		<variable name="tab3_col3_x" value="720" />
 		<variable name="tab4_col2_x" value="270" />
 		<variable name="tab4_col4_x" value="810" />
+		<variable name="tab5_col2_x" value="216" />
+		<variable name="tab5_col3_x" value="432" />
+		<variable name="tab5_col4_x" value="648" />
+		<variable name="tab5_col5_x" value="864" />
 		<variable name="btn3_col2_x" value="384" />
 		<variable name="btn3_col3_x" value="732" />
 		<variable name="btn4_col2_x" value="297" />
@@ -247,7 +252,7 @@
 				<condition var1="tw_no_cpu_temp" var2="0" />
 				<font resource="font_m" />
 				<placement x="%indent%" y="%row1_header_y%" />
-				<text>CPU: %tw_cpu_temp% &#xB0;C</text>
+				<text>{@cpu_temp=CPU: %tw_cpu_temp% &#xB0;C}</text>
 			</object>
 
 			<object type="text" color="%text_color%">
@@ -264,7 +269,7 @@
 				</conditions>
 				<font resource="font_m" />
 				<placement x="%indent_right%" y="%row1_header_y%" placement="1" />
-				<text>Battery: %tw_battery%</text>
+				<text>{@battery_pct=Battery: %tw_battery%}</text>
 			</object>
 
 			<object type="fill" color="#000000">
@@ -357,7 +362,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="1" />
 				<placement x="%indent%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Name</text>
+				<text>{@sort_by_name_only=Name}</text>
 				<image resource="sort_asc" />
 				<action function="set">tw_gui_sort_order=-1</action>
 			</object>
@@ -367,7 +372,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="-1" />
 				<placement x="%indent%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Name</text>
+				<text>{@sort_by_name_only=Name}</text>
 				<image resource="sort_desc" />
 				<action function="set">tw_gui_sort_order=1</action>
 			</object>
@@ -380,7 +385,7 @@
 				</conditions>
 				<placement x="%indent%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Name</text>
+				<text>{@sort_by_name_only=Name}</text>
 				<image resource="sort_empty" />
 				<action function="set">tw_gui_sort_order=1</action>
 			</object>
@@ -390,7 +395,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="2" />
 				<placement x="%btn3_col2_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Date</text>
+				<text>{@sort_by_date_only=Date}</text>
 				<image resource="sort_asc" />
 				<action function="set">tw_gui_sort_order=-2</action>
 			</object>
@@ -400,7 +405,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="-2" />
 				<placement x="%btn3_col2_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Date</text>
+				<text>{@sort_by_date_only=Date}</text>
 				<image resource="sort_desc" />
 				<action function="set">tw_gui_sort_order=2</action>
 			</object>
@@ -413,7 +418,7 @@
 				</conditions>
 				<placement x="%btn3_col2_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Date</text>
+				<text>{@sort_by_date_only=Date}</text>
 				<image resource="sort_empty" />
 				<action function="set">tw_gui_sort_order=2</action>
 			</object>
@@ -423,7 +428,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="3" />
 				<placement x="%btn3_col3_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Size</text>
+				<text>{@sort_by_size_only=Size}</text>
 				<image resource="sort_asc" />
 				<action function="set">tw_gui_sort_order=-3</action>
 			</object>
@@ -433,7 +438,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="-3" />
 				<placement x="%btn3_col3_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Size</text>
+				<text>{@sort_by_size_only=Size}</text>
 				<image resource="sort_desc" />
 				<action function="set">tw_gui_sort_order=3</action>
 			</object>
@@ -446,7 +451,7 @@
 				</conditions>
 				<placement x="%btn3_col3_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Size</text>
+				<text>{@sort_by_size_only=Size}</text>
 				<image resource="sort_empty" />
 				<action function="set">tw_gui_sort_order=3</action>
 			</object>
@@ -455,41 +460,47 @@
 		<template name="tabs_backup">
 			<object type="button" style="tab">
 				<placement x="0" y="%row1_y%" w="%tab3_width%" h="%tab_height%" />
-				<text>BACKUP</text>
+				<text>{@tab_backup=BACKUP}</text>
 				<action function="page">backup</action>
 			</object>
 
 			<object type="button" style="tab">
 				<placement x="%tab3_col2_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%" />
-				<text>OPTIONS</text>
+				<text>{@tab_options=OPTIONS}</text>
 				<action function="page">backup_options</action>
 			</object>
 		</template>
 
 		<template name="tabs_settings">
 			<object type="button" style="tab">
-				<placement x="0" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>GENERAL</text>
+				<placement x="0" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_general=GENERAL}</text>
 				<action function="page">settings</action>
 			</object>
 
 			<object type="button" style="tab">
-				<placement x="%tab4_col2_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>TIME ZONE</text>
+				<placement x="%tab5_col2_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_time_zone=TIME ZONE}</text>
 				<action function="page">settings_timezone</action>
 			</object>
 
 			<object type="button" style="tab">
-				<placement x="%center_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>SCREEN</text>
+				<placement x="%tab5_col3_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_screen=SCREEN}</text>
 				<action function="page">settings_screen</action>
 			</object>
 
 			<object type="button" style="tab">
-				<placement x="%tab4_col4_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>VIBRATION</text>
+				<placement x="%tab5_col4_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_vibration=VIBRATION}</text>
 				<action function="page">settings_vibration</action>
 			</object>
+
+			<object type="button" style="tab">
+				<placement x="%tab5_col5_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_language=LANGUAGE}</text>
+				<action function="page">settings_language</action>
+			</object>
 		</template>
 
 		<template name="console">
diff --git a/gui/theme/portrait_mdpi/ui.xml b/gui/theme/portrait_mdpi/ui.xml
index 1ba10a3..68fd324 100644
--- a/gui/theme/portrait_mdpi/ui.xml
+++ b/gui/theme/portrait_mdpi/ui.xml
@@ -82,10 +82,15 @@
 		<variable name="tab_indicator_height" value="3" />
 		<variable name="tab3_width" value="160" />
 		<variable name="tab4_width" value="120" />
+		<variable name="tab5_width" value="96" />
 		<variable name="tab3_col2_x" value="160" />
 		<variable name="tab3_col3_x" value="320" />
 		<variable name="tab4_col2_x" value="120" />
 		<variable name="tab4_col4_x" value="360" />
+		<variable name="tab5_col2_x" value="96" />
+		<variable name="tab5_col3_x" value="192" />
+		<variable name="tab5_col4_x" value="288" />
+		<variable name="tab5_col5_x" value="384" />
 		<variable name="btn3_col2_x" value="170" />
 		<variable name="btn3_col3_x" value="325" />
 		<variable name="btn4_col2_x" value="131" />
@@ -247,7 +252,7 @@
 				<condition var1="tw_no_cpu_temp" var2="0" />
 				<font resource="font_m" />
 				<placement x="%indent%" y="%row1_header_y%" />
-				<text>CPU: %tw_cpu_temp% &#xB0;C</text>
+				<text>{@cpu_temp=CPU: %tw_cpu_temp% &#xB0;C}</text>
 			</object>
 
 			<object type="text" color="%text_color%">
@@ -264,7 +269,7 @@
 				</conditions>
 				<font resource="font_m" />
 				<placement x="%indent_right%" y="%row1_header_y%" placement="1" />
-				<text>Battery: %tw_battery%</text>
+				<text>{@battery_pct=Battery: %tw_battery%}</text>
 			</object>
 
 			<object type="fill" color="#000000">
@@ -357,7 +362,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="1" />
 				<placement x="%indent%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Name</text>
+				<text>{@sort_by_name_only=Name}</text>
 				<image resource="sort_asc" />
 				<action function="set">tw_gui_sort_order=-1</action>
 			</object>
@@ -367,7 +372,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="-1" />
 				<placement x="%indent%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Name</text>
+				<text>{@sort_by_name_only=Name}</text>
 				<image resource="sort_desc" />
 				<action function="set">tw_gui_sort_order=1</action>
 			</object>
@@ -380,7 +385,7 @@
 				</conditions>
 				<placement x="%indent%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Name</text>
+				<text>{@sort_by_name_only=Name}</text>
 				<image resource="sort_empty" />
 				<action function="set">tw_gui_sort_order=1</action>
 			</object>
@@ -390,7 +395,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="2" />
 				<placement x="%btn3_col2_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Date</text>
+				<text>{@sort_by_date_only=Date}</text>
 				<image resource="sort_asc" />
 				<action function="set">tw_gui_sort_order=-2</action>
 			</object>
@@ -400,7 +405,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="-2" />
 				<placement x="%btn3_col2_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Date</text>
+				<text>{@sort_by_date_only=Date}</text>
 				<image resource="sort_desc" />
 				<action function="set">tw_gui_sort_order=2</action>
 			</object>
@@ -413,7 +418,7 @@
 				</conditions>
 				<placement x="%btn3_col2_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Date</text>
+				<text>{@sort_by_date_only=Date}</text>
 				<image resource="sort_empty" />
 				<action function="set">tw_gui_sort_order=2</action>
 			</object>
@@ -423,7 +428,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="3" />
 				<placement x="%btn3_col3_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Size</text>
+				<text>{@sort_by_size_only=Size}</text>
 				<image resource="sort_asc" />
 				<action function="set">tw_gui_sort_order=-3</action>
 			</object>
@@ -433,7 +438,7 @@
 				<condition var1="tw_gui_sort_order" op="=" var2="-3" />
 				<placement x="%btn3_col3_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Size</text>
+				<text>{@sort_by_size_only=Size}</text>
 				<image resource="sort_desc" />
 				<action function="set">tw_gui_sort_order=3</action>
 			</object>
@@ -446,7 +451,7 @@
 				</conditions>
 				<placement x="%btn3_col3_x%" y="%row1a_y%" />
 				<font resource="font_s" color="%text_button_color%" />
-				<text>Size</text>
+				<text>{@sort_by_size_only=Size}</text>
 				<image resource="sort_empty" />
 				<action function="set">tw_gui_sort_order=3</action>
 			</object>
@@ -455,41 +460,47 @@
 		<template name="tabs_backup">
 			<object type="button" style="tab">
 				<placement x="0" y="%row1_y%" w="%tab3_width%" h="%tab_height%" />
-				<text>BACKUP</text>
+				<text>{@tab_backup=BACKUP}</text>
 				<action function="page">backup</action>
 			</object>
 
 			<object type="button" style="tab">
 				<placement x="%tab3_col2_x%" y="%row1_y%" w="%tab3_width%" h="%tab_height%" />
-				<text>OPTIONS</text>
+				<text>{@tab_options=OPTIONS}</text>
 				<action function="page">backup_options</action>
 			</object>
 		</template>
 
 		<template name="tabs_settings">
 			<object type="button" style="tab">
-				<placement x="0" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>GENERAL</text>
+				<placement x="0" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_general=GENERAL}</text>
 				<action function="page">settings</action>
 			</object>
 
 			<object type="button" style="tab">
-				<placement x="%tab4_col2_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>TIME ZONE</text>
+				<placement x="%tab5_col2_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_time_zone=TIME ZONE}</text>
 				<action function="page">settings_timezone</action>
 			</object>
 
 			<object type="button" style="tab">
-				<placement x="%center_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>SCREEN</text>
+				<placement x="%tab5_col3_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_screen=SCREEN}</text>
 				<action function="page">settings_screen</action>
 			</object>
 
 			<object type="button" style="tab">
-				<placement x="%tab4_col4_x%" y="%row1_y%" w="%tab4_width%" h="%tab_height%" />
-				<text>VIBRATION</text>
+				<placement x="%tab5_col4_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_vibration=VIBRATION}</text>
 				<action function="page">settings_vibration</action>
 			</object>
+
+			<object type="button" style="tab">
+				<placement x="%tab5_col5_x%" y="%row1_y%" w="%tab5_width%" h="%tab_height%" />
+				<text>{@tab_language=LANGUAGE}</text>
+				<action function="page">settings_language</action>
+			</object>
 		</template>
 
 		<template name="console">
diff --git a/gui/theme/watch_mdpi/ui.xml b/gui/theme/watch_mdpi/ui.xml
index f47dfa1..7c7715a 100644
--- a/gui/theme/watch_mdpi/ui.xml
+++ b/gui/theme/watch_mdpi/ui.xml
@@ -193,14 +193,14 @@
 				<condition var1="tw_no_cpu_temp" var2="1" />
 				<font resource="font_m" />
 				<placement x="%indent%" y="%row1_header_y%" />
-				<text>TWRP %tw_version%</text>
+				<text>{@twrp_watch_header=TWRP %tw_version%}</text>
 			</object>
 
 			<object type="text" color="%text_color%">
 				<condition var1="tw_no_cpu_temp" var2="0" />
 				<font resource="font_m" />
 				<placement x="%indent%" y="%row1_header_y%" />
-				<text>CPU: %tw_cpu_temp% &#xB0;C</text>
+				<text>{@cpu_temp=CPU: %tw_cpu_temp% &#xB0;C}</text>
 			</object>
 
 			<object type="text" color="%text_color%">
@@ -217,7 +217,7 @@
 				</conditions>
 				<font resource="font_m" />
 				<placement x="%indent_right%" y="%row1_header_y%" placement="1" />
-				<text>Battery: %tw_battery%</text>
+				<text>{@battery_pct=Battery: %tw_battery%}</text>
 			</object>
 
 			<object type="fill" color="#000000">
diff --git a/gui/twmsg.cpp b/gui/twmsg.cpp
new file mode 100644
index 0000000..00c6931
--- /dev/null
+++ b/gui/twmsg.cpp
@@ -0,0 +1,129 @@
+/*
+	Copyright 2015 _that/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 "../data.hpp"
+#include "pages.hpp"
+#include "resources.hpp"
+
+#include "twmsg.h"
+
+std::string Message::GetFormatString(const std::string& name) const
+{
+	std::string resname;
+	size_t pos = name.find('=');
+	if (pos == std::string::npos)
+		resname = name;
+	else
+		resname = name.substr(0, pos);
+
+	std::string formatstr = resourceLookup(resname);
+	bool notfound = formatstr.empty() || formatstr[0] == '[';  // HACK: TODO: integrate this with resource-not-found logic
+	if (notfound && pos != std::string::npos)
+		// resource not found - use the default format string specified after "="
+		formatstr = name.substr(pos + 1);
+	return formatstr;
+}
+
+// Look up in local replacement vars first, if not found then use outer lookup object
+class LocalLookup : public StringLookup
+{
+	const std::vector<std::string>& vars;
+	const StringLookup& next;
+	public:
+	LocalLookup(const std::vector<std::string>& vars, const StringLookup& next) : vars(vars), next(next) {}
+	virtual std::string operator()(const std::string& name) const
+	{
+		if (!name.empty() && isdigit(name[0])) { // {1}..{9}
+			int i = atoi(name.c_str());
+			if (i > 0 && i <= (int)vars.size())
+				return vars[i - 1];
+		}
+		return next(name);
+	}
+};
+
+// conversion to final string
+Message::operator std::string() const
+{
+	// do resource lookup
+	std::string str = GetFormatString(name);
+
+	LocalLookup lookup(variables, varLookup);
+
+	// now insert stuff into curly braces
+
+	size_t pos = 0;
+	while ((pos = str.find('{', pos)) < std::string::npos) {
+		size_t end = str.find('}', pos);
+		if (end == std::string::npos)
+			break;
+
+		std::string varname = str.substr(pos + 1, end - pos - 1);
+		std::string vartext = lookup(varname);
+
+		str.replace(pos, end - pos + 1, vartext);
+	}
+	// TODO: complain about too many or too few numbered replacement variables
+	return str;
+}
+
+/*
+Resource manager lookup
+*/
+class ResourceLookup : public StringLookup
+{
+public:
+	virtual std::string operator()(const std::string& name) const
+	{
+		const ResourceManager* res = PageManager::GetResources();
+		if (res)
+			return res->FindString(name);
+		return name;
+	}
+};
+ResourceLookup resourceLookup;
+
+
+/*
+DataManager lookup
+*/
+class DataLookup : public StringLookup
+{
+public:
+	virtual std::string operator()(const std::string& name) const
+	{
+		std::string value;
+		if (DataManager::GetValue(name, value) == 0)
+			return value;
+		else
+			return "";
+	}
+};
+DataLookup dataLookup;
+
+
+// Utility functions to create messages. Short names to make usage convenient.
+Message Msg(const char* name)
+{
+	return Message(msg::kNormal, name, resourceLookup, dataLookup);
+}
+
+Message Msg(msg::Kind kind, const char* name)
+{
+	return Message(kind, name, resourceLookup, dataLookup);
+}
diff --git a/gui/twmsg.h b/gui/twmsg.h
new file mode 100644
index 0000000..cd035d1
--- /dev/null
+++ b/gui/twmsg.h
@@ -0,0 +1,97 @@
+/*
+	Copyright 2015 _that/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 twmsg_h
+#define twmsg_h
+
+#include <cstdlib>
+#include <cstring>
+#include <string>
+#include <sstream>
+#include <vector>
+#include <errno.h>
+
+/*
+Abstract interface for something that can look up strings by name.
+*/
+class StringLookup
+{
+public:
+	virtual std::string operator()(const std::string& name) const = 0;
+	virtual ~StringLookup() {};
+};
+
+
+namespace msg
+{
+	// These get translated to colors in the GUI console
+	enum Kind
+	{
+		kNormal,
+		kHighlight,
+		kWarning,
+		kError
+	};
+
+
+	template<typename T> std::string to_string(const T& v)
+	{
+		std::ostringstream ss;
+		ss << v;
+		return ss.str();
+	}
+}
+
+
+/*
+Generic message formatting class.
+Designed to decouple message generation from actual resource string lookup and variable insertion,
+so that messages can be re-translated at any later time.
+*/
+class Message
+{
+	msg::Kind kind; // severity or similar message kind
+	std::string name; // the resource string name. may be of format "name=default value".
+	std::vector<std::string> variables; // collected insertion variables to replace {1}, {2}, ...
+	const StringLookup& resourceLookup; // object to resolve resource string name into a final format string
+	const StringLookup& varLookup; // object to resolve any non-numeric insertion strings
+
+	std::string GetFormatString(const std::string& name) const;
+
+public:
+	Message(msg::Kind kind, const char* name, const StringLookup& resourceLookup, const StringLookup& varLookup)
+		: kind(kind), name(name), resourceLookup(resourceLookup), varLookup(varLookup) {}
+
+	// Variable insertion.
+	template<typename T>
+	Message& operator()(const T& v) { variables.push_back(msg::to_string(v)); return *this; }
+
+	// conversion to final string
+	operator std::string() const;
+
+	// Get Message Kind
+	msg::Kind GetKind() {return kind;};
+};
+
+
+// Utility functions to create messages with standard resource and data manager lookups.
+// Short names to make usage convenient.
+Message Msg(const char* name);
+Message Msg(msg::Kind kind, const char* name);
+
+#endif