diff --git a/erpnext/selling/doctype/sales_bom/sales_bom.js b/erpnext/selling/doctype/sales_bom/sales_bom.js
index 33a567a..b52c74d 100644
--- a/erpnext/selling/doctype/sales_bom/sales_bom.js
+++ b/erpnext/selling/doctype/sales_bom/sales_bom.js
@@ -15,12 +15,11 @@
 		query: "selling.doctype.sales_bom.sales_bom.get_new_item_code"
 	}
 }
-cur_frm.fields_dict.new_item_code.query_description = __('Select Item where "Is Stock Item" is "No"')+ 
-__('and "Is Sales Item" is "Yes" and there is no other Sales BOM');
+cur_frm.fields_dict.new_item_code.query_description = __('Please select Item where "Is Stock Item" is "No" and "Is Sales Item" is "Yes" and there is no other Sales BOM');
 
 cur_frm.cscript.item_code = function(doc, dt, dn) {
 	var d = locals[dt][dn];
 	if (d.item_code){
 		return get_server_fields('get_item_details', d.item_code, 'sales_bom_items', doc ,dt, dn, 1);
 	}
-}
\ No newline at end of file
+}
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index 60b917b..a89aaef 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -570,10 +570,7 @@
 
 		if (inList(['Delivery Note', 'Sales Invoice'], doc.doctype)) {
 			help_msg = "<div class='alert alert-warning'>" +
-				__("For 'Sales BOM' items, warehouse, serial no and batch no \
-				will be considered from the 'Packing List' table. \
-				If warehouse and batch no are same for all packing items for any 'Sales BOM' item, \
-				those values can be entered in the main item table, values will be copied to 'Packing List' table.")+
+				__("For 'Sales BOM' items, warehouse, serial no and batch no will be considered from the 'Packing List' table. If warehouse and batch no are same for all packing items for any 'Sales BOM' item, those values can be entered in the main item table, values will be copied to 'Packing List' table.")+
 			"</div>";
 			frappe.meta.get_docfield(doc.doctype, 'sales_bom_help', doc.name).options = help_msg;
 		}
diff --git a/erpnext/setup/doctype/backup_manager/backup_manager.js b/erpnext/setup/doctype/backup_manager/backup_manager.js
index 7782c72..ee2b1a7 100644
--- a/erpnext/setup/doctype/backup_manager/backup_manager.js
+++ b/erpnext/setup/doctype/backup_manager/backup_manager.js
@@ -7,8 +7,7 @@
 		
 		if(!(cint(cur_frm.doc.dropbox_access_allowed) || 
 			cint(cur_frm.doc.gdrive_access_allowed))) {
-				cur_frm.set_intro(__("You can start by selecting backup frequency and \
-					granting access for sync"));
+				cur_frm.set_intro(__("You can start by selecting backup frequency and granting access for sync"));
 		} else {
 			var services = {
 				"dropbox": __("Dropbox"),
@@ -90,4 +89,4 @@
 	// upload_backups_to_gdrive: function() {
 	// 	cur_frm.save();
 	// },
-});
\ No newline at end of file
+});
diff --git a/erpnext/setup/doctype/email_digest/email_digest.js b/erpnext/setup/doctype/email_digest/email_digest.js
index 635b539..a0be163 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.js
+++ b/erpnext/setup/doctype/email_digest/email_digest.js
@@ -3,7 +3,7 @@
 
 cur_frm.cscript.refresh = function(doc, dt, dn) {
 	doc = locals[dt][dn];
-	var save_msg = __("You must ")+ "<b>"+__("Save ")+"</b>"+__("the form before proceeding");
+	var save_msg = __("You must Save the form before proceeding");
 	var err_msg = __("There was an error. One probable reason could be that you haven't saved the form. Please contact support@erpnext.com if the problem persists.")
 	
 	cur_frm.add_custom_button(__('View Now'), function() {
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js
index 77530c4..aff3b2e 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.js
@@ -77,10 +77,8 @@
 			this.title = __("Stock Reconcilation Template");
 			frappe.tools.downloadify([[__("Stock Reconciliation")],
 				["----"],
-				[__("Stock Reconciliation can be used to update the stock on a particular date, ")
-					+ __("usually as per physical inventory.")],
-				[__("When submitted, the system creates difference entries ")
-					+ __("to set the given stock and valuation on this date.")],
+				[__("Stock Reconciliation can be used to update the stock on a particular date, usually as per physical inventory.")],
+				[__("When submitted, the system creates difference entries to set the given stock and valuation on this date.")],
 				[__("It can also be used to create opening stock entries and to fix stock value.")],
 				["----"],
 				[__("Notes:")],
@@ -158,4 +156,4 @@
 	},
 });
 
-cur_frm.cscript = new erpnext.stock.StockReconciliation({frm: cur_frm});
\ No newline at end of file
+cur_frm.cscript = new erpnext.stock.StockReconciliation({frm: cur_frm});
diff --git a/erpnext/stock/page/stock_level/stock_level.js b/erpnext/stock/page/stock_level/stock_level.js
index 370883f..b04882f 100644
--- a/erpnext/stock/page/stock_level/stock_level.js
+++ b/erpnext/stock/page/stock_level/stock_level.js
@@ -38,8 +38,7 @@
 						+ Ordered Qty - Reserved Qty </li> \
 					<ul> \
 						<li>"+__("Actual Qty: Quantity available in the warehouse.") +"</li>"+
-						"<li>"+__("Planned Qty: Quantity, for which, Production Order has been raised,")+
-							__("but is pending to be manufactured.")+ "</li> " +
+						"<li>"+__("Planned Qty: Quantity, for which, Production Order has been raised, but is pending to be manufactured.")+ "</li> " +
 						"<li>"+__("Requested Qty: Quantity requested for purchase, but not ordered.") + "</li>" +
 						"<li>" + __("Ordered Qty: Quantity ordered for purchase, but not received.")+ "</li>" +
 						"<li>" + __("Reserved Qty: Quantity ordered for sale, but not delivered.") +  "</li>" +
