diff --git a/gui/action.cpp b/gui/action.cpp
index 1b30a20..fe20910 100644
--- a/gui/action.cpp
+++ b/gui/action.cpp
@@ -347,7 +347,7 @@
 	{
 		if (PartitionManager.stop_backup.get_value()) {
 			DataManager::SetValue("tw_cancel_backup", 1);
-			gui_msg("backup_cancel=Backup Canceled.");
+			gui_msg("backup_cancel=Backup Cancelled");
 			DataManager::SetValue("ui_progress", 0);
 			PartitionManager.stop_backup.set_value(0);
 			return;
@@ -1197,7 +1197,7 @@
 		}
 		else {
 			DataManager::SetValue("tw_cancel_backup", 1);
-			gui_msg("backup_cancel=Backup Canceled.");
+			gui_msg("backup_cancel=Backup Cancelled");
 			ret = 0;
 		}
 		operation_end(ret);
diff --git a/gui/devices/common/res/languages/en.xml b/gui/devices/common/res/languages/en.xml
index 84b8c1e..b07eb82 100644
--- a/gui/devices/common/res/languages/en.xml
+++ b/gui/devices/common/res/languages/en.xml
@@ -9,7 +9,7 @@
 		<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>
@@ -46,7 +46,6 @@
 		<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>
@@ -55,7 +54,7 @@
 		<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="no_space">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>
@@ -64,19 +63,20 @@
 		<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>
+		<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 %s -- mounted read only.</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>
+		<string name="restore_complete">Restore Complete</string>
+		<string name="restore_completed">[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>
@@ -94,7 +94,7 @@
 		<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="decrypt_success_dev">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>
@@ -115,7 +115,7 @@
 		<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="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="repairing_using">Repairing {1} using {2}...</string>
@@ -126,29 +126,30 @@
 		<!-- {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="fail_unmount">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="fail_decrypt_tar">Failed to decrypt tar file '{1}'</string>
 		<string name="format_data_msg">You may need to reboot recovery to be able to use /data again.</string>
 		<string name="format_data_err">Unable to format to remove encryption.</string>
 		<string name="formatting_using">Formatting {1} using {2}...</string>
 		<string name="unable_to_wipe">Unable to wipe {1}.</string>
+		<string name="cannot_wipe">Partition {1} cannot be wiped.</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="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="restoring_hdr">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="backup_folder_set">Backup folder set to '{1}'</string>
 		<string name="locate_backup_err">Unable to locate backup '{1}'</string>
 		<string name="set_restore_opt">Setting restore options: '{1}':</string>
 		<string name="md5_check_skip">MD5 check skip is on</string>
@@ -174,7 +175,7 @@
 		<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="backup_clean">Backup Failed. Cleaning Backup Folder.</string>
 		<string name="running_recovery_commands">Running Recovery Commands</string>
 		<string name="recovery_commands_complete">Recovery Commands Complete</string>
 		<string name="running_ors">Running OpenRecoveryScript</string>
@@ -200,12 +201,13 @@
 		<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="backup_cancel">Backup Cancelled</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>
@@ -219,9 +221,10 @@
 		<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="backup_name_exists">A backup with that 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>
+		<string name="theme_ver_err">Custom theme version does not match TWRP version. Using stock theme.</string>
 	</resources>
 </language>
diff --git a/gui/theme/common/landscape.xml b/gui/theme/common/landscape.xml
index 57fef40..ebee0a8 100755
--- a/gui/theme/common/landscape.xml
+++ b/gui/theme/common/landscape.xml
@@ -2321,7 +2321,7 @@
 				<condition var1="tw_operation_state" var2="1"/>
 				<actions>
 					<action function="set">tw_back=restore_select</action>
-					<action function="set">tw_complete_text1={@restore_completed=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>
@@ -2437,7 +2437,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>{usb_storage_hdr=USB Storage}</text>
+				<text>{@usb_storage_hdr=USB Storage}</text>
 			</text>
 
 			<text style="text_m_accent">
@@ -2505,7 +2505,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>{@reboot_hdr=Reboot Menu}</text>
+				<text>{@reboot_hdr=Reboot}</text>
 			</text>
 
 			<button style="main_button">
diff --git a/gui/theme/common/languages/en.xml b/gui/theme/common/languages/en.xml
index 47c7e76..8e2fba8 100755
--- a/gui/theme/common/languages/en.xml
+++ b/gui/theme/common/languages/en.xml
@@ -90,7 +90,7 @@
 		<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="installing_zip_xml">Installing Zip: %tw_file%</string>
 		<string name="failed">Failed</string>
 		<string name="successful">Successful</string>
 		<string name="install_failed">Installation Failed</string>
@@ -219,7 +219,6 @@
 		<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>
@@ -238,7 +237,7 @@
 		<string name="restore_backup_date">Backup made on %tw_restore_file_date%</string>
 		<string name="restore_sel_part">Select Partitions to Restore:</string>
 		<string name="restore_enable_md5_chk">Enable MD5 Verification of Backup Files</string>
-		<string name="restore_completed">Restore Complete</string>
+		<string name="restore_complete">Restore Complete</string>
 		<string name="swipe_restore">Swipe to Restore</string>
 		<string name="swipe_restore_s">   Restore</string>
 		<string name="rename_backup_hdr">Rename Backup</string>
@@ -250,7 +249,6 @@
 		<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>
@@ -263,7 +261,6 @@
 		<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>
@@ -479,7 +476,6 @@
 		<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>
@@ -488,7 +484,6 @@
 		<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>
@@ -497,7 +492,7 @@
 		<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="no_space">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>
@@ -518,7 +513,7 @@
 		<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>
+		<string name="restore_completed">[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>
@@ -536,7 +531,7 @@
 		<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="decrypt_success_dev">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>
@@ -568,17 +563,18 @@
 		<!-- {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="fail_unmount">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="fail_decrypt_tar">Failed to decrypt tar file '{1}'</string>
 		<string name="format_data_msg">You may need to reboot recovery to be able to use /data again.</string>
 		<string name="format_data_err">Unable to format to remove encryption.</string>
 		<string name="formatting_using">Formatting {1} using {2}...</string>
 		<string name="unable_to_wipe">Unable to wipe {1}.</string>
+		<string name="cannot_wipe">Partition {1} cannot be wiped.</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>
@@ -586,11 +582,11 @@
 		<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="restoring_hdr">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="backup_folder_set">Backup folder set to '{1}'</string>
 		<string name="locate_backup_err">Unable to locate backup '{1}'</string>
 		<string name="set_restore_opt">Setting restore options: '{1}':</string>
 		<string name="md5_check_skip">MD5 check skip is on</string>
@@ -616,7 +612,7 @@
 		<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="backup_clean">Backup Failed. Cleaning Backup Folder.</string>
 		<string name="running_recovery_commands">Running Recovery Commands</string>
 		<string name="recovery_commands_complete">Recovery Commands Complete</string>
 		<string name="running_ors">Running OpenRecoveryScript</string>
@@ -648,7 +644,7 @@
 		<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="backup_cancel">Backup Cancelled</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>
@@ -663,7 +659,6 @@
 		<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>
diff --git a/gui/theme/common/portrait.xml b/gui/theme/common/portrait.xml
index d93a273..fdcbb08 100755
--- a/gui/theme/common/portrait.xml
+++ b/gui/theme/common/portrait.xml
@@ -2431,7 +2431,7 @@
 				<condition var1="tw_operation_state" var2="1"/>
 				<actions>
 					<action function="set">tw_back=restore_select</action>
-					<action function="set">tw_complete_text1={@restore_completed=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>
@@ -2547,7 +2547,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_header%" y="%row4_header_y%"/>
-				<text>{usb_storage_hdr=USB Storage}</text>
+				<text>{@usb_storage_hdr=USB Storage}</text>
 			</text>
 
 			<text style="text_m_accent">
@@ -2615,7 +2615,7 @@
 
 			<text style="text_l">
 				<placement x="%col1_x_header%" y="%row3_header_y%"/>
-				<text>{@reboot_hdr=Reboot Menu}</text>
+				<text>{@reboot_hdr=Reboot}</text>
 			</text>
 
 			<button style="main_button">
diff --git a/gui/theme/common/watch.xml b/gui/theme/common/watch.xml
index 6ed0b83..7f951bc 100755
--- a/gui/theme/common/watch.xml
+++ b/gui/theme/common/watch.xml
@@ -643,7 +643,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>{@installing_zip=Installing Zip: %tw_file%}</text>
+				<text>{@installing_zip_xml=Installing Zip: %tw_file%}</text>
 			</text>
 
 			<template name="console"/>
@@ -737,7 +737,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>{@install_image_hdr=Install Image} &gt; {install_sel_target=Select Target Partition}</text>
+				<text>{@install_image_hdr=Install Image} &gt; {@install_sel_target=Select Target Partition}</text>
 			</text>
 
 			<partitionlist style="partitionlist_headerless_rb">
@@ -2922,7 +2922,7 @@
 				<condition var1="tw_operation_state" var2="1"/>
 				<actions>
 					<action function="set">tw_back=restore</action>
-					<action function="set">tw_complete_text1={@restore_completed=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>
@@ -3074,7 +3074,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>{@mount_hdr=Mount} &gt; {usb_storage_hdr=USB Storage}</text>
+				<text>{@mount_hdr=Mount} &gt; {@usb_storage_hdr=USB Storage}</text>
 			</text>
 
 			<text style="text_m_accent">
@@ -3144,7 +3144,7 @@
 
 			<text style="text_m">
 				<placement x="%col1_x_left%" y="%row1_header_y%"/>
-				<text>{@reboot_hdr=Reboot Menu}</text>
+				<text>{@reboot_hdr=Reboot}</text>
 			</text>
 
 			<button style="main_button">
diff --git a/openrecoveryscript.cpp b/openrecoveryscript.cpp
index eee64ff..d66e16f 100644
--- a/openrecoveryscript.cpp
+++ b/openrecoveryscript.cpp
@@ -166,7 +166,7 @@
 						remove_nl = 0;
 					strncpy(value2, tok, line_len - remove_nl);
 					DataManager::SetValue(TW_BACKUP_NAME, value2);
-					gui_msg(Msg("backup_folder=Backup folder set to '{1}'")(value2));
+					gui_msg(Msg("backup_folder_set=Backup folder set to '{1}'")(value2));
 					if (PartitionManager.Check_Backup_Name(true) != 0) {
 						ret_val = 1;
 						continue;
@@ -568,7 +568,7 @@
 		gui_err("backup_fail=Backup Failed");
 		return 1;
 	}
-	gui_msg("backup_complete=Backup complete!");
+	gui_msg("backup_complete=Backup Complete");
 	return 0;
 }
 
diff --git a/partition.cpp b/partition.cpp
index a8de4a9..71d6f22 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -1141,7 +1141,7 @@
 	string Layout_Filename = Mount_Point + "/.layout_version";
 
 	if (!Can_Be_Wiped) {
-		gui_msg(Msg(msg::kError, "cannot_wipe=Partition {1} cannot be wiped.\n")(Display_Name));
+		gui_msg(Msg(msg::kError, "cannot_wipe=Partition {1} cannot be wiped.")(Display_Name));
 		return false;
 	}
 
@@ -1480,7 +1480,7 @@
 bool TWPartition::Restore(string restore_folder, const unsigned long long *total_restore_size, unsigned long long *already_restored_size) {
 	string Restore_File_System;
 
-	TWFunc::GUI_Operation_Text(TW_RESTORE_TEXT, Display_Name, gui_parse_text("{@restoring}"));
+	TWFunc::GUI_Operation_Text(TW_RESTORE_TEXT, Display_Name, gui_parse_text("{@restoring_hdr}"));
 	LOGINFO("Restore filename is: %s\n", Backup_FileName.c_str());
 
 	Restore_File_System = Get_Restore_File_System(restore_folder);
@@ -2048,7 +2048,7 @@
 	tw_set_default_metadata(Full_FileName.c_str());
 	if (TWFunc::Get_File_Size(Full_FileName) == 0) {
 		// Actual size may not match backup size due to bad blocks on MTD devices so just check for 0 bytes
-		gui_msg(Msg(msg::kError, "backup_size=Backup file size for '%s' is 0 bytes.")(Full_FileName));
+		gui_msg(Msg(msg::kError, "backup_size=Backup file size for '{1}' is 0 bytes.")(Full_FileName));
 		return false;
 	}
 	return true;
@@ -2107,7 +2107,7 @@
 				return false;
 		}
 	}
-	TWFunc::GUI_Operation_Text(TW_RESTORE_TEXT, Backup_Display_Name, gui_parse_text("{@restore}"));
+	TWFunc::GUI_Operation_Text(TW_RESTORE_TEXT, Backup_Display_Name, gui_parse_text("{@restoring_hdr}"));
 	gui_msg(Msg("restoring=Restoring {1}...")(Backup_Display_Name));
 
 	if (!Mount(true))
@@ -2155,7 +2155,7 @@
 	double display_percent, progress_percent;
 	char size_progress[1024];
 
-	TWFunc::GUI_Operation_Text(TW_RESTORE_TEXT, Backup_Display_Name, gui_parse_text("{@restore}"));
+	TWFunc::GUI_Operation_Text(TW_RESTORE_TEXT, Backup_Display_Name, gui_parse_text("{@restoring_hdr}"));
 	gui_msg(Msg("restoring=Restoring {1}...")(Backup_Display_Name));
 	Full_FileName = restore_folder + "/" + Backup_FileName;
 
diff --git a/partitionmanager.cpp b/partitionmanager.cpp
index eeeafb2..5dd2ce5 100644
--- a/partitionmanager.cpp
+++ b/partitionmanager.cpp
@@ -458,7 +458,7 @@
 	sprintf(tw_image_dir,"%s/%s", backup_loc, Backup_Name.c_str());
 	if (TWFunc::Path_Exists(tw_image_dir)) {
 		if (Display_Error)
-			gui_err("backup_name_exists=A backup with this name already exists.");
+			gui_err("backup_name_exists=A backup with that name already exists!");
 		return -4;
 	}
 	// No problems found, return 0
@@ -940,7 +940,7 @@
 	Update_System_Details();
 	UnMount_Main_Partitions();
 	time(&rStop);
-	gui_msg(Msg(msg::kHighlight, "restore_complete=[RESTORE COMPLETED IN {1} SECONDS]")((int)difftime(rStop,rStart)));
+	gui_msg(Msg(msg::kHighlight, "restore_completed=[RESTORE COMPLETED IN {1} SECONDS]")((int)difftime(rStop,rStart)));
 	DataManager::SetValue("tw_file_progress", "");
 	return true;
 }
@@ -1204,7 +1204,7 @@
 
 		return dat->Wipe_Encryption();
 	} else {
-		gui_msg(Msg(msg::kError, "unable_to_locate=Unable to locate {1].")("/data"));
+		gui_msg(Msg(msg::kError, "unable_to_locate=Unable to locate {1}.")("/data"));
 		return false;
 	}
 	return false;
@@ -1228,7 +1228,7 @@
 		Add_MTP_Storage(dat->MTP_Storage_ID);
 		return true;
 	} else {
-		gui_msg(Msg(msg::kError, "unable_to_locate=Unable to locate {1].")("/data"));
+		gui_msg(Msg(msg::kError, "unable_to_locate=Unable to locate {1}.")("/data"));
 		return false;
 	}
 	return false;
@@ -1458,7 +1458,7 @@
 			dat->Decrypted_Block_Device = crypto_blkdev;
 			dat->Setup_File_System(false);
 			dat->Current_File_System = dat->Fstab_File_System; // Needed if we're ignoring blkid because encrypted devices start out as emmc
-			gui_msg(Msg("decrypt_success=Data successfully decrypted, new block device: '{1}'")(crypto_blkdev));
+			gui_msg(Msg("decrypt_success_dev=Data successfully decrypted, new block device: '{1}'")(crypto_blkdev));
 
 			// Sleep for a bit so that the device will be ready
 			sleep(1);
diff --git a/twrp-functions.cpp b/twrp-functions.cpp
index def265c..e73a52d 100644
--- a/twrp-functions.cpp
+++ b/twrp-functions.cpp
@@ -409,7 +409,7 @@
 		cur_path += "/" + parts[i];
 		if (!TWFunc::Path_Exists(cur_path)) {
 			if (mkdir(cur_path.c_str(), 0777)) {
-				gui_msg(Msg(msg::kError, "create_folder_strerr=Can not create '{1}' folder ({2})")(cur_path)(strerror(errno)));
+				gui_msg(Msg(msg::kError, "create_folder_strerr=Can not create '{1}' folder ({2}).")(cur_path)(strerror(errno)));
 				return false;
 			} else {
 				tw_set_default_metadata(cur_path.c_str());
diff --git a/twrpTar.cpp b/twrpTar.cpp
index 968f3aa..76c8920 100644
--- a/twrpTar.cpp
+++ b/twrpTar.cpp
@@ -1322,7 +1322,7 @@
 		}
 	}
 	if (TWFunc::Get_File_Size(tarfn) == 0) {
-		gui_msg(Msg(msg::kError, "backup_size=Backup file size for '%s' is 0 bytes.")(tarfn));
+		gui_msg(Msg(msg::kError, "backup_size=Backup file size for '{1}' is 0 bytes.")(tarfn));
 		return -1;
 	}
 #ifndef BUILD_TWRPTAR_MAIN
