diff --git a/README.md b/README.md
index 95a9fc8f8e7ba..ac2a312040b48 100644
--- a/README.md
+++ b/README.md
@@ -33,7 +33,7 @@ Use the following table to verify you have the correct prerequisites to install
"
-"Variable ID","Variable ID"
-Options,Options
-"Magento Admin","Magento Admin"
"Community Edition","Community Edition"
-"Last Orders","Last Orders"
-"Last Search Terms","Last Search Terms"
-"Top Search Terms","Top Search Terms"
-"Your Password","Your Password"
-"You saved the account.","You saved the account."
-"Current User Identity Verification","Current User Identity Verification"
-Marketing,Marketing
-Communications,Communications
-"SEO & Search","SEO & Search"
-"User Content","User Content"
-"Data Transfer","Data Transfer"
-"Import History","Import History"
-Extensions,Extensions
-"Web Setup Wizard","Web Setup Wizard"
-"VAT number","VAT number"
-"Top destinations","Top destinations"
-"Store Hours of Operation","Store Hours of Operation"
-"Any of the fields allow fully qualified URLs that end with '/' (slash) e.g. http://example.com/magento/","Any of the fields allow fully qualified URLs that end with '/' (slash) e.g. http://example.com/magento/"
-"Any of the fields allow fully qualified URLs that end with '/' (slash) e.g. https://example.com/magento/","Any of the fields allow fully qualified URLs that end with '/' (slash) e.g. https://example.com/magento/"
-"Use Secure URLs on Storefront","Use Secure URLs on Storefront"
-"Use SID on Storefront","Use SID on Storefront"
-"Email template chosen based on theme fallback when ""Default"" option is selected.","Email template chosen based on theme fallback when ""Default"" option is selected."
-"For Windows server only.","For Windows server only."
-"Enabled Template Path Hints for Storefront","Enabled Template Path Hints for Storefront"
-"Enabled Template Path Hints for Admin","Enabled Template Path Hints for Admin"
-"Minify Html","Minify Html"
-"Enabled for Storefront","Enabled for Storefront"
-"Translate, blocks and other output caches should be disabled for both Storefront and Admin inline translations.", "Translate, blocks and other output caches should be disabled for both Storefront and Admin inline translations."
-"Enable Javascript Bundling","Enable Javascript Bundling"
-"Minify CSS Files","Minify CSS Files"
-"When the adapter was changed, please, flush Catalog Images Cache.","When the adapter was changed, please, flush Catalog Images Cache."
-"Average Order","Average Order"
-"Last Orders","Last Orders"
-"Last Search Terms","Last Search Terms"
-"Top Search Terms","Top Search Terms"
-"Reload Data","Reload Data"
-"Welcome, please sign in","Welcome, please sign in"
-"Sign in","Sign in"
+"Default Theme","Default Theme"
+"Applied Theme","Applied Theme"
+"If no value is specified, the system default is used. The system default may be modified by third party extensions.","If no value is specified, the system default is used. The system default may be modified by third party extensions."
+"Design Rule","Design Rule"
+"User Agent Rules","User Agent Rules"
+Magento_Ui/js/dynamic-rows/record,Magento_Ui/js/dynamic-rows/record
+Pagination,Pagination
+"Pagination Frame","Pagination Frame"
+"How many links to display at once.","How many links to display at once."
+"Pagination Frame Skip","Pagination Frame Skip"
+"If current frame position does not cover utmost pages, it renders the link to current position plus/minus this value.","If current frame position does not cover utmost pages, it renders the link to current position plus/minus this value."
+"Anchor Text for Previous","Anchor Text for Previous"
+"Alternative text for the previous pages link in the pagination menu. If empty, the default arrow image is used.","Alternative text for the previous pages link in the pagination menu. If empty, the default arrow image is used."
+"Anchor Text for Next","Anchor Text for Next"
+"Alternative text for the next pages link in the pagination menu. If empty, default arrow image is used.","Alternative text for the next pages link in the pagination menu. If empty, default arrow image is used."
+"Theme Name","Theme Name"
diff --git a/app/code/Magento/Backup/composer.json b/app/code/Magento/Backup/composer.json
index a847ec3d13933..8789de08142af 100644
--- a/app/code/Magento/Backup/composer.json
+++ b/app/code/Magento/Backup/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-backup",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/module-backend": "100.0.*",
"magento/module-cron": "100.0.*",
diff --git a/app/code/Magento/Backup/i18n/en_US.csv b/app/code/Magento/Backup/i18n/en_US.csv
index 03be8da7ef6a8..9aee00c33c393 100644
--- a/app/code/Magento/Backup/i18n/en_US.csv
+++ b/app/code/Magento/Backup/i18n/en_US.csv
@@ -1,67 +1,59 @@
-Cancel,Cancel
-Action,Action
-failed,failed
-successful,successful
-Delete,Delete
-Name,Name
-Type,Type
-System,System
-"We can't save the Cron expression.","We can't save the Cron expression."
-Database,Database
-Time,Time
"System Backup","System Backup"
"Database and Media Backup","Database and Media Backup"
"Database Backup","Database Backup"
"The archive can be uncompressed with %2 on Windows systems.","The archive can be uncompressed with %2 on Windows systems."
-Backups,Backups
-Tools,Tools
-Backup,Backup
"You need more permissions to activate maintenance mode right now.","You need more permissions to activate maintenance mode right now."
-"To continue with the backup, you need to either deselect ' '""Put store on the maintenance mode"" or update your permissions.","To continue with the backup, you need to either deselect ' '""Put store on the maintenance mode"" or update your permissions."
-"Something went wrong putting your store into maintenance mode.","Something went wrong putting your store into maintenance mode."
+"To create the backup, please deselect ""Put store into maintenance mode"" or update your permissions.","To create the backup, please deselect ""Put store into maintenance mode"" or update your permissions."
+"Something went wrong while putting your store into maintenance mode.","Something went wrong while putting your store into maintenance mode."
"You need more free space to create a backup.","You need more free space to create a backup."
"You need more permissions to create a backup.","You need more permissions to create a backup."
-"Something went wrong creating the backup.","Something went wrong creating the backup."
+"We can\'t create the backup right now.","We can\'t create the backup right now."
+Backups,Backups
+System,System
+Tools,Tools
+Backup,Backup
+"We can\'t delete one or more backups.","We can\'t delete one or more backups."
+failed,failed
+successful,successful
+"You deleted the selected backup(s).","You deleted the selected backup(s)."
+"Can\'t load snapshot archive","Can\'t load snapshot archive"
"Please correct the password.","Please correct the password."
-"To continue with the rollback, you need to either deselect ' '""Put store on the maintenance mode"" or update your permissions.","To continue with the rollback, you need to either deselect ' '""Put store on the maintenance mode"" or update your permissions."
-"The backup file was not found.","The backup file was not found."
-"We couldn't connect to the FTP.","We couldn't connect to the FTP."
-"Failed to validate FTP","Failed to validate FTP"
-"Not enough permissions to perform rollback.","Not enough permissions to perform rollback."
-"Failed to rollback","Failed to rollback"
-"We couldn't delete one or more backups.","We couldn't delete one or more backups."
-"The selected backup(s) has been deleted.","The selected backup(s) has been deleted."
+"To complete the rollback, please deselect ""Put store into maintenance mode"" or update your permissions.","To complete the rollback, please deselect ""Put store into maintenance mode"" or update your permissions."
+"We can\'t find the backup file.","We can\'t find the backup file."
+"We can\'t connect to the FTP right now.","We can\'t connect to the FTP right now."
+"Failed to validate FTP.","Failed to validate FTP."
+"You need more permissions to perform a rollback.","You need more permissions to perform a rollback."
+"Failed to rollback.","Failed to rollback."
+Database,Database
"Database and Media","Database and Media"
"System (excluding Media)","System (excluding Media)"
-"The system backup has been created.","The system backup has been created."
-"The system backup (excluding media) has been created.","The system backup (excluding media) has been created."
-"The database and media backup has been created.","The database and media backup has been created."
-"The database backup has been created.","The database backup has been created."
+"You created the system backup.","You created the system backup."
+"You created the system backup (excluding media).","You created the system backup (excluding media)."
+"You created the database and media backup.","You created the database and media backup."
+"You created the database backup.","You created the database backup."
"Please correct the order of creation for a new backup.","Please correct the order of creation for a new backup."
"The backup file does not exist.","The backup file does not exist."
"The backup file path was not specified.","The backup file path was not specified."
"The backup file ""%1"" does not exist.","The backup file ""%1"" does not exist."
"Sorry, but we cannot read from or write to backup file ""%1"".","Sorry, but we cannot read from or write to backup file ""%1""."
"The backup file handler was unspecified.","The backup file handler was unspecified."
-"Something went wrong writing to the backup file ""%1"".","Something went wrong writing to the backup file ""%1""."
-Warning,Warning
-"Any data created since the backup was made will be lost including admin users, customers and orders.","Any data created since the backup was made will be lost including admin users, customers and orders."
-"Are you sure you want to proceed?","Are you sure you want to proceed?"
-OK,OK
-"It will take time to create a backup.","It will take time to create a backup."
-"Please wait until the action ends.","Please wait until the action ends."
+"Something went wrong while writing to the backup file ""%1"".","Something went wrong while writing to the backup file ""%1""."
+"We can\'t save the Cron expression.","We can\'t save the Cron expression."
+"You will lose any data created since the backup was made, including admin users, customers and orders.","You will lose any data created since the backup was made, including admin users, customers and orders."
"Are you sure you want to continue?","Are you sure you want to continue?"
-"Backup options","Backup options"
-"Please specify backup creation option.","Please specify backup creation option."
+"This may take a few moments.","This may take a few moments."
+"Be sure your store is in maintenance mode during backup.","Be sure your store is in maintenance mode during backup."
"Backup Name","Backup Name"
"Please use only letters (a-z or A-Z), numbers (0-9) or spaces in this field.","Please use only letters (a-z or A-Z), numbers (0-9) or spaces in this field."
+"Maintenance mode","Maintenance mode"
"Please put your store into maintenance mode during backup.","Please put your store into maintenance mode during backup."
+Exclude,Exclude
"Exclude media folder from backup","Exclude media folder from backup"
-"Please enter a password.","Please enter a password."
"Please enter the password to confirm rollback.","Please enter the password to confirm rollback."
"This action cannot be undone.","This action cannot be undone."
"User Password","User Password"
"Please put your store into maintenance mode during rollback processing.","Please put your store into maintenance mode during rollback processing."
+FTP,FTP
"Use FTP Connection","Use FTP Connection"
"FTP credentials","FTP credentials"
"FTP Host","FTP Host"
@@ -69,16 +61,18 @@ OK,OK
"FTP Password","FTP Password"
"Magento root directory","Magento root directory"
"Create Backup","Create Backup"
-Download,Download
-"Start Time","Start Time"
-Frequency,Frequency
+Rollback,Rollback
"Scheduled Backup Settings","Scheduled Backup Settings"
"Enable Scheduled Backup","Enable Scheduled Backup"
"Backup Type","Backup Type"
+"Start Time","Start Time"
+Frequency,Frequency
"Maintenance Mode","Maintenance Mode"
+Delete,Delete
"Are you sure you want to delete the selected backup(s)?","Are you sure you want to delete the selected backup(s)?"
+Time,Time
+Name,Name
Size(bytes),Size(bytes)
-Rollback,Rollback
-"Maintenance mode","Maintenance mode"
-"This may take a few moments.","This may take a few moments."
-"Be sure your store is in maintenance mode during backup.","Be sure your store is in maintenance mode during backup."
+Type,Type
+Download,Download
+Action,Action
diff --git a/app/code/Magento/Braintree/composer.json b/app/code/Magento/Braintree/composer.json
index e5001d4932aa8..46e21dac3fc58 100644
--- a/app/code/Magento/Braintree/composer.json
+++ b/app/code/Magento/Braintree/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-braintree",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/framework": "*",
"magento/magento-composer-installer": "*",
"magento/module-config": "*",
diff --git a/app/code/Magento/Braintree/i18n/en_US.csv b/app/code/Magento/Braintree/i18n/en_US.csv
index acc96d04ebec0..f912e59c2edac 100644
--- a/app/code/Magento/Braintree/i18n/en_US.csv
+++ b/app/code/Magento/Braintree/i18n/en_US.csv
@@ -1,3 +1,133 @@
+Country,Country
+"Allowed Credit Card Types","Allowed Credit Card Types"
+"Add Rule","Add Rule"
+Month,Month
+Year,Year
+"Stored Card","Stored Card"
+"Credit Card Type","Credit Card Type"
+"Credit Card Number","Credit Card Number"
+"Credit card successfully added","Credit card successfully added"
+"Something went wrong while saving the card.","Something went wrong while saving the card."
+"Credit card does not exist","Credit card does not exist"
+"Delete Credit Card","Delete Credit Card"
+"There was error deleting the credit card","There was error deleting the credit card"
+"Credit card successfully deleted","Credit card successfully deleted"
+"Edit Credit Card","Edit Credit Card"
+"My Credit Cards","My Credit Cards"
+"New Credit Card","New Credit Card"
+"There was error during saving card data","There was error during saving card data"
+"We can\'t initialize checkout.","We can\'t initialize checkout."
+"Please agree to all the terms and conditions before placing the order.","Please agree to all the terms and conditions before placing the order."
+"We can\'t place the order.","We can\'t place the order."
+"Incorrect payment method.","Incorrect payment method."
+"We can\'t initialize checkout review.","We can\'t initialize checkout review."
+"We can\'t update shipping method.","We can\'t update shipping method."
+"The processor declined your transaction, please re-enter your payment information","The processor declined your transaction, please re-enter your payment information"
+"Transaction declined by gateway: Check card details or try another card","Transaction declined by gateway: Check card details or try another card"
+"Transaction declined: ","Transaction declined: "
+.,.
+"The processor responded with an unknown error","The processor responded with an unknown error"
+"Credit card type is not allowed for your country.","Credit card type is not allowed for your country."
+"Credit card type is not allowed for this payment method.","Credit card type is not allowed for this payment method."
+"Selected payment type is not allowed for billing country.","Selected payment type is not allowed for billing country."
+"Incomplete payment information.","Incomplete payment information."
+"Please try again later","Please try again later"
+"Can not find original authorization transaction for partial capture","Can not find original authorization transaction for partial capture"
+"There was an error capturing the transaction: %1.","There was an error capturing the transaction: %1."
+"This refund is for a partial amount but the Transaction has not settled.","This refund is for a partial amount but the Transaction has not settled."
+"Please wait 24 hours before trying to issue a partial refund.","Please wait 24 hours before trying to issue a partial refund."
+"There was an error refunding the transaction: %1.","There was an error refunding the transaction: %1."
+"Some transactions are already settled or voided and cannot be voided.","Some transactions are already settled or voided and cannot be voided."
+"Voided capture.","Voided capture."
+"There was an error voiding the transaction: %1.","There was an error voiding the transaction: %1."
+Invoice,Invoice
+Shipment,Shipment
+Authorize,Authorize
+"Authorize and Capture","Authorize and Capture"
+"--Please Select--","--Please Select--"
+"Invalid Customer ID provided","Invalid Customer ID provided"
+"some error","some error"
+"a,b,c","a,b,c"
+"Something went wrong while processing.","Something went wrong while processing."
+error,error
+exception,exception
+"Payment Information","Payment Information"
+"Add new card","Add new card"
+"Please Select","Please Select"
+"Expiration Date","Expiration Date"
+"Card Verification Number","Card Verification Number"
+"Save this card for future use","Save this card for future use"
+or,or
+"Please confirm that you want to delete this credit card","Please confirm that you want to delete this credit card"
+"Cardholder Name","Cardholder Name"
+Delete,Delete
+Back,Back
+"* Required Fields","* Required Fields"
+"Credit Card","Credit Card"
+CVV,CVV
+"Card Verification Number Visual Reference","Card Verification Number Visual Reference"
+"What is this?","What is this?"
+"Make Default","Make Default"
+"Billing Address","Billing Address"
+"First Name","First Name"
+"Last Name","Last Name"
+Company,Company
+Address,Address
+City,City
+State/Province,State/Province
+"Please select region, state or province","Please select region, state or province"
+"Zip/Postal Code","Zip/Postal Code"
+Submit,Submit
+"Add Credit Card","Add Credit Card"
+Type,Type
+"Card Number","Card Number"
+"Is Default","Is Default"
+Actions,Actions
+Yes,Yes
+No,No
+Edit,Edit
+"Place Order","Place Order"
+"Credit Card Information","Credit Card Information"
+"An error occured with payment processing.","An error occured with payment processing."
+"Can not initialize PayPal (Braintree)","Can not initialize PayPal (Braintree)"
+"Please try again with another form of payment.","Please try again with another form of payment."
+Braintree,Braintree
+ ,
+"Enable this Solution","Enable this Solution"
+"Enable PayPal through Braintree","Enable PayPal through Braintree"
+"Basic Braintree Settings","Basic Braintree Settings"
+Title,Title
+Environment,Environment
+"Payment Action","Payment Action"
+"Merchant Account ID","Merchant Account ID"
+"Merchant ID","Merchant ID"
+"Public Key","Public Key"
+"Private Key","Private Key"
+"Advanced Braintree Settings","Advanced Braintree Settings"
+Debug,Debug
+"Capture Action","Capture Action"
+"New Order Status","New Order Status"
+"Use Vault","Use Vault"
+"Allow Duplicate Cards","Allow Duplicate Cards"
+"CVV Verification","CVV Verification"
+"Credit Card Types","Credit Card Types"
+"Enable Credit Card auto-detection on Storefront","Enable Credit Card auto-detection on Storefront"
+"Advanced Fraud Protection","Advanced Fraud Protection"
+"Your Kount ID","Your Kount ID"
+"Use Cache","Use Cache"
+"Sort Order","Sort Order"
+"Country Specific Settings","Country Specific Settings"
+"Payment from Applicable Countries","Payment from Applicable Countries"
+"Payment from Specific Countries","Payment from Specific Countries"
+"Country Specific Credit Card Types","Country Specific Credit Card Types"
+"PayPal through Braintree","PayPal through Braintree"
+"Override Merchant Name","Override Merchant Name"
+"Display on Shopping Cart","Display on Shopping Cart"
+"Require Customer's Billing Address","Require Customer's Billing Address"
+"Allow to Edit Shipping Address Entered During Checkout on PayPal Side","Allow to Edit Shipping Address Entered During Checkout on PayPal Side"
+"3D Secure Verification Settings","3D Secure Verification Settings"
+"3D Secure Verification","3D Secure Verification"
+"Edit My Credit Cards","Edit My Credit Cards"
"cc_type","Credit Card Type"
"cc_number","Credit Card Number"
"avsPostalCodeResponseCode","AVS Postal Code Response Code"
diff --git a/app/code/Magento/Bundle/composer.json b/app/code/Magento/Bundle/composer.json
index 562672fb3c016..e6cea7d6c75a7 100644
--- a/app/code/Magento/Bundle/composer.json
+++ b/app/code/Magento/Bundle/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-bundle",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/module-catalog": "100.0.*",
"magento/module-tax": "100.0.*",
diff --git a/app/code/Magento/Bundle/i18n/en_US.csv b/app/code/Magento/Bundle/i18n/en_US.csv
index 3af5498737efa..e6ecf7d43df4a 100644
--- a/app/code/Magento/Bundle/i18n/en_US.csv
+++ b/app/code/Magento/Bundle/i18n/en_US.csv
@@ -1,21 +1,3 @@
-None,None
-Close,Close
-Cancel,Cancel
-Product,Product
-Price,Price
-ID,ID
-SKU,SKU
-Qty,Qty
-"Excl. Tax","Excl. Tax"
-Total,Total
-"Incl. Tax","Incl. Tax"
-"Total incl. tax","Total incl. tax"
-Delete,Delete
-Name,Name
-From,From
-To,To
-Required,Required
-Position,Position
"Percent Discount","Percent Discount"
"-- Select --","-- Select --"
Dynamic,Dynamic
@@ -23,40 +5,77 @@ Fixed,Fixed
"Create New Option","Create New Option"
"Bundle Items","Bundle Items"
"Add Products to Option","Add Products to Option"
+Close,Close
"Delete Option","Delete Option"
-"Please enter search conditions to view products.","Please enter search conditions to view products."
+"What are you looking for?","What are you looking for?"
+ID,ID
+Product,Product
+SKU,SKU
+Price,Price
+Delete,Delete
"Use Default Value","Use Default Value"
"There is no defined renderer for ""%1"" option type.","There is no defined renderer for ""%1"" option type."
-"As Low as","As Low as"
+"Only implemented for bundle product","Only implemented for bundle product"
+"Product with specified sku: ""%1"" is not a bundle product","Product with specified sku: ""%1"" is not a bundle product"
+"Bundle product could not contain another composite product","Bundle product could not contain another composite product"
+"Id field of product link is required","Id field of product link is required"
+"Can not find product link with id ""%1""","Can not find product link with id ""%1"""
+"Could not save child: ""%1""","Could not save child: ""%1"""
+"Product with specified sku: ""%1"" does not contain option: ""%2""","Product with specified sku: ""%1"" does not contain option: ""%2"""
+"Child with specified sku: ""%1"" already assigned to product: ""%2""","Child with specified sku: ""%1"" already assigned to product: ""%2"""
+"Product with specified sku: %1 is not a bundle product","Product with specified sku: %1 is not a bundle product"
+"Requested bundle option product doesn\'t exist","Requested bundle option product doesn\'t exist"
+"Requested option doesn\'t exist","Requested option doesn\'t exist"
+"Cannot delete option with id %1","Cannot delete option with id %1"
+"Could not save option","Could not save option"
"Price Range","Price Range"
+"As Low as","As Low as"
+Together,Together
+Separately,Separately
"Please specify product option(s).","Please specify product option(s)."
-"Please select all required options.","Please select all required options."
+"The options you selected are not available.","The options you selected are not available."
"The required options you selected are not available.","The required options you selected are not available."
-"We cannot add this item to your shopping cart.","We cannot add this item to your shopping cart."
+"Please select all required options.","Please select all required options."
+"We can\'t add this item to your shopping cart right now.","We can\'t add this item to your shopping cart right now."
N/A,N/A
Percent,Percent
-Qty:,Qty:
-"Choose a selection...","Choose a selection..."
"Ship Bundle Items","Ship Bundle Items"
-Separately,Separately
-Together,Together
+"We can\'t save custom-defined options for bundles with dynamic pricing.","We can\'t save custom-defined options for bundles with dynamic pricing."
+Cancel,Cancel
+"Add Selected Products","Add Selected Products"
+[GLOBAL],[GLOBAL]
+"Add Option","Add Option"
+"New Option","New Option"
"Option Title","Option Title"
-"Store View Title","Store View Title"
"Input Type","Input Type"
-"There are no products in this option.","There are no products in this option."
-"New Option","New Option"
+Drop-down,Drop-down
+"Radio Buttons","Radio Buttons"
+Checkbox,Checkbox
+"Multiple Select","Multiple Select"
+Required,Required
Default,Default
-"Price Type","Price Type"
+Name,Name
"Default Quantity","Default Quantity"
"User Defined","User Defined"
+"Price Type","Price Type"
+"Dynamic Price","Dynamic Price"
+"Dynamic SKU","Dynamic SKU"
+"Dynamic Weight","Dynamic Weight"
+None,None
+Quantity:,Quantity:
+"Choose a selection...","Choose a selection..."
+"Store View Title","Store View Title"
+Position,Position
+"There are no products in this option.","There are no products in this option."
Ordered,Ordered
Invoiced,Invoiced
Shipped,Shipped
Refunded,Refunded
Canceled,Canceled
"As low as","As low as"
-From:,From:
-To:,To:
+"Regular Price","Regular Price"
+From,From
+To,To
"Buy %1 with %2 discount each","Buy %1 with %2 discount each"
"Go back to product details","Go back to product details"
"Customize and Add to Cart","Customize and Add to Cart"
@@ -68,13 +87,22 @@ Availability,Availability
Summary,Summary
"%1 x %2","%1 x %2"
Availability:,Availability:
+Quantity,Quantity
"Customize %1","Customize %1"
"No options of this product are available.","No options of this product are available."
"Gift Message","Gift Message"
+From:,From:
+To:,To:
Message:,Message:
-"Excl. Tax:","Excl. Tax:"
-"Incl. Tax:","Incl. Tax:"
-"Total Incl. Tax","Total Incl. Tax"
+"Product Name","Product Name"
+Subtotal,Subtotal
+"Discount Amount","Discount Amount"
+"Row Total","Row Total"
+"Qty Invoiced","Qty Invoiced"
+"Qty Shipped","Qty Shipped"
"Add Products to New Option","Add Products to New Option"
"Add Products to Option ""%1""","Add Products to Option ""%1"""
-"Add Selected Products","Add Selected Products"
+Select...,Select...
+Status,Status
+Thumbnail,Thumbnail
+Type,Type
diff --git a/app/code/Magento/BundleImportExport/composer.json b/app/code/Magento/BundleImportExport/composer.json
index 209f28b5df827..b498045ba3714 100644
--- a/app/code/Magento/BundleImportExport/composer.json
+++ b/app/code/Magento/BundleImportExport/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-bundle-import-export",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-catalog": "100.0.*",
"magento/module-import-export": "100.0.*",
"magento/module-catalog-import-export": "100.0.*",
diff --git a/app/code/Magento/CacheInvalidate/composer.json b/app/code/Magento/CacheInvalidate/composer.json
index cd5bb4a4e155b..44b42b4d18203 100644
--- a/app/code/Magento/CacheInvalidate/composer.json
+++ b/app/code/Magento/CacheInvalidate/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-cache-invalidate",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-page-cache": "100.0.*",
"magento/framework": "100.0.*"
},
diff --git a/app/code/Magento/Captcha/composer.json b/app/code/Magento/Captcha/composer.json
index 30dbf2953ae41..ce8d8b0b59c30 100644
--- a/app/code/Magento/Captcha/composer.json
+++ b/app/code/Magento/Captcha/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-captcha",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/module-customer": "100.0.*",
"magento/module-checkout": "100.0.*",
diff --git a/app/code/Magento/Captcha/i18n/en_US.csv b/app/code/Magento/Captcha/i18n/en_US.csv
index 949b840055a4e..2de4ab5345c88 100644
--- a/app/code/Magento/Captcha/i18n/en_US.csv
+++ b/app/code/Magento/Captcha/i18n/en_US.csv
@@ -1,11 +1,14 @@
Always,Always
"After number of attempts to login","After number of attempts to login"
+"Provided form does not exist","Provided form does not exist"
"Incorrect CAPTCHA","Incorrect CAPTCHA"
"Incorrect CAPTCHA.","Incorrect CAPTCHA."
-"Please enter the letters from the image:","Please enter the letters from the image:"
-"Reload captcha","Reload captcha"
+"The account is locked. Please wait and try again or contact %1.","The account is locked. Please wait and try again or contact %1."
+"Please enter the letters from the image","Please enter the letters from the image"
"Attention: Captcha is case sensitive.","Attention: Captcha is case sensitive."
+"Reload captcha","Reload captcha"
"Please type the letters below","Please type the letters below"
+"Attention: Captcha is case sensitive.","Attention: Captcha is case sensitive."
CAPTCHA,CAPTCHA
"Enable CAPTCHA in Admin","Enable CAPTCHA in Admin"
Font,Font
@@ -23,6 +26,5 @@ Forms,Forms
Please use only letters (a-z or A-Z) or numbers (0-9) in this field. No spaces or other characters are allowed. Similar looking characters (e.g. ""i"", ""l"", ""1"") decrease chance of correct recognition by customer.
"
"Case Sensitive","Case Sensitive"
-"Enable CAPTCHA on Frontend","Enable CAPTCHA on Frontend"
-"CAPTCHA for ""Create user"" and ""Forgot password"" forms is always enabled if chosen.","CAPTCHA for ""Create user"" and ""Forgot password"" forms is always enabled if chosen."
"Enable CAPTCHA on Storefront","Enable CAPTCHA on Storefront"
+"CAPTCHA for ""Create user"" and ""Forgot password"" forms is always enabled if chosen.","CAPTCHA for ""Create user"" and ""Forgot password"" forms is always enabled if chosen."
diff --git a/app/code/Magento/Catalog/Model/Attribute/ScopeOverriddenValue.php b/app/code/Magento/Catalog/Model/Attribute/ScopeOverriddenValue.php
index 7ec725b01de34..559bf8d6a2596 100644
--- a/app/code/Magento/Catalog/Model/Attribute/ScopeOverriddenValue.php
+++ b/app/code/Magento/Catalog/Model/Attribute/ScopeOverriddenValue.php
@@ -140,7 +140,7 @@ private function initAttributeValues($entityType, $entity, $storeId)
'a.attribute_id = t.attribute_id',
['attribute_code' => 'a.attribute_code']
)
- ->where($metadata->getLinkField() . ' = ?', $entity->getId())
+ ->where($metadata->getLinkField() . ' = ?', $entity->getData($metadata->getLinkField()))
->where('t.attribute_id IN (?)', $attributeCodes)
->where('t.store_id IN (?)', $storeIds);
$selects[] = $select;
diff --git a/app/code/Magento/Catalog/Model/ProductRepository.php b/app/code/Magento/Catalog/Model/ProductRepository.php
index 9f1087544ae23..76d048ebf2e98 100644
--- a/app/code/Magento/Catalog/Model/ProductRepository.php
+++ b/app/code/Magento/Catalog/Model/ProductRepository.php
@@ -498,12 +498,16 @@ public function save(\Magento\Catalog\Api\Data\ProductInterface $product, $saveO
$product->setCanSaveCustomOptions(true);
}
- $validationResult = $this->resourceModel->validate($product);
- if (true !== $validationResult) {
- throw new \Magento\Framework\Exception\CouldNotSaveException(
- __('Invalid product data: %1', implode(',', $validationResult))
- );
+ $useValidation = \Magento\Store\Model\Store::ADMIN_CODE === $this->storeManager->getStore()->getCode();
+ if ($useValidation) {
+ $validationResult = $this->resourceModel->validate($product);
+ if (true !== $validationResult) {
+ throw new \Magento\Framework\Exception\CouldNotSaveException(
+ __('Invalid product data: %1', implode(',', $validationResult))
+ );
+ }
}
+
try {
if ($tierPrices !== null) {
$product->setData('tier_price', $tierPrices);
diff --git a/app/code/Magento/Catalog/Test/Unit/Model/ProductRepositoryTest.php b/app/code/Magento/Catalog/Test/Unit/Model/ProductRepositoryTest.php
index 43aa01721c584..cb4fe91cae552 100644
--- a/app/code/Magento/Catalog/Test/Unit/Model/ProductRepositoryTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Model/ProductRepositoryTest.php
@@ -256,7 +256,9 @@ protected function setUp()
->setMethods([])
->getMockForAbstractClass();
$storeMock->expects($this->any())->method('getWebsiteId')->willReturn('1');
+ $storeMock->expects($this->any())->method('getCode')->willReturn(\Magento\Store\Model\Store::ADMIN_CODE);
$this->storeManagerMock->expects($this->any())->method('getStore')->willReturn($storeMock);
+ $this->storeManagerMock->expects($this->any())->method('getWebsites')->willReturn([1 => 'default']);
$this->mediaGalleryProcessor = $this->getMock(
'Magento\Catalog\Model\Product\Gallery\Processor',
diff --git a/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/AbstractModifierTest.php b/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/AbstractModifierTest.php
index 218507d0dd145..1bdad7d3147f5 100644
--- a/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/AbstractModifierTest.php
+++ b/app/code/Magento/Catalog/Test/Unit/Ui/DataProvider/Product/Form/Modifier/AbstractModifierTest.php
@@ -77,7 +77,7 @@ protected function setUp()
->willReturnArgument(1);
$this->arrayManagerMock->expects($this->any())
->method('get')
- ->willReturnArgument(3);
+ ->willReturnArgument(2);
$this->arrayManagerMock->expects($this->any())
->method('set')
->willReturnArgument(1);
diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/AdvancedPricing.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/AdvancedPricing.php
index 1418967884a50..8858512a4cce9 100644
--- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/AdvancedPricing.php
+++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/AdvancedPricing.php
@@ -122,9 +122,6 @@ public function modifyMeta(array $meta)
{
$this->meta = $meta;
- $this->preparePriceFields(ProductAttributeInterface::CODE_PRICE);
- $this->preparePriceFields(ProductAttributeInterface::CODE_SPECIAL_PRICE);
- $this->preparePriceFields(ProductAttributeInterface::CODE_COST);
$this->specialPriceDataToInline();
$this->customizeTierPrice();
@@ -182,7 +179,7 @@ protected function customizeTierPrice()
$tierPricePath = $this->getElementArrayPath($this->meta, ProductAttributeInterface::CODE_TIER_PRICE);
if ($tierPricePath) {
- $this->meta = $this->arrayManager->set(
+ $this->meta = $this->arrayManager->merge(
$tierPricePath,
$this->meta,
$this->getTierPriceStructure($tierPricePath)
@@ -439,7 +436,7 @@ protected function getTierPriceStructure($tierPricePath)
'formElement' => Select::NAME,
'componentType' => Field::NAME,
'dataScope' => 'website_id',
- 'label' => __('Web Site'),
+ 'label' => __('Website'),
'options' => $this->getWebsites(),
'value' => $this->getDefaultWebsite(),
'visible' => $this->isMultiWebsites(),
diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/CustomOptions.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/CustomOptions.php
index 3adcd5b57fc87..0496c42e2d1d1 100644
--- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/CustomOptions.php
+++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/CustomOptions.php
@@ -279,7 +279,7 @@ protected function getHeaderContainerConfig($sortOrder)
'componentType' => Container::NAME,
'template' => 'ui/form/components/complex',
'sortOrder' => $sortOrder,
- 'content' => __('Custom options let shoppers choose the product variations they want.'),
+ 'content' => __('Custom options let customers choose the product variations they want.'),
],
],
],
diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php
index 7ae19a7861048..9370390ad7bec 100644
--- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php
+++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Eav.php
@@ -20,6 +20,7 @@
use Magento\Framework\Api\SortOrderBuilder;
use Magento\Framework\App\RequestInterface;
use Magento\Framework\Filter\Translit;
+use Magento\Framework\Stdlib\ArrayManager;
use Magento\Store\Model\StoreManagerInterface;
use Magento\Ui\Component\Form\Field;
use Magento\Ui\Component\Form\Fieldset;
@@ -129,6 +130,11 @@ class Eav extends AbstractModifier
*/
private $translitFilter;
+ /**
+ * @var ArrayManager
+ */
+ private $arrayManager;
+
/**
* @var ScopeOverriddenValue
*/
@@ -150,8 +156,6 @@ class Eav extends AbstractModifier
private $attributesToEliminate;
/**
- * Initialize dependencies
- *
* @param LocatorInterface $locator
* @param EavValidationRules $eavValidationRules
* @param Config $eavConfig
@@ -166,6 +170,7 @@ class Eav extends AbstractModifier
* @param SortOrderBuilder $sortOrderBuilder
* @param EavAttributeFactory $eavAttributeFactory
* @param Translit $translitFilter
+ * @param ArrayManager $arrayManager
* @param ScopeOverriddenValue $scopeOverriddenValue
* @param array $attributesToDisable
* @param array $attributesToEliminate
@@ -186,6 +191,7 @@ public function __construct(
SortOrderBuilder $sortOrderBuilder,
EavAttributeFactory $eavAttributeFactory,
Translit $translitFilter,
+ ArrayManager $arrayManager,
ScopeOverriddenValue $scopeOverriddenValue,
$attributesToDisable = [],
$attributesToEliminate = []
@@ -204,6 +210,7 @@ public function __construct(
$this->sortOrderBuilder = $sortOrderBuilder;
$this->eavAttributeFactory = $eavAttributeFactory;
$this->translitFilter = $translitFilter;
+ $this->arrayManager = $arrayManager;
$this->scopeOverriddenValue = $scopeOverriddenValue;
$this->attributesToDisable = $attributesToDisable;
$this->attributesToEliminate = $attributesToEliminate;
@@ -239,68 +246,75 @@ public function modifyMeta(array $meta)
* @param string $groupCode
* @return array
* @throws \Magento\Framework\Exception\LocalizedException
- * @SuppressWarnings(PHPMD.CyclomaticComplexity)
- * @SuppressWarnings(PHPMD.NPathComplexity)
*/
protected function getAttributesMeta(array $attributes, $groupCode)
{
$meta = [];
- foreach ($attributes as $sortKey => $attribute) {
+ foreach ($attributes as $sortOrder => $attribute) {
if (in_array($attribute->getFrontendInput(), $this->bannedInputTypes)) {
continue;
}
- $code = $attribute->getAttributeCode();
- if (in_array($code, $this->attributesToEliminate)) {
+ if (in_array($attribute->getAttributeCode(), $this->attributesToEliminate)) {
continue;
}
- $child = $this->setupMetaProperties($attribute);
- $meta[static::CONTAINER_PREFIX . $code] = [
- 'arguments' => [
- 'data' => [
- 'config' => [
- 'formElement' => 'container',
- 'componentType' => 'container',
- 'breakLine' => false,
- 'label' => __('%1', $attribute->getDefaultFrontendLabel()),
- 'sortOrder' => $sortKey * self::SORT_ORDER_MULTIPLIER,
- 'required' => $attribute->getIsRequired(),
- 'scopeLabel' => $this->getScopeLabel($attribute),
- ],
- ],
- ],
- ];
-
- if ($attribute->getIsWysiwygEnabled()) {
- $meta[static::CONTAINER_PREFIX . $code]['arguments']['data']['config']['component'] =
- 'Magento_Ui/js/form/components/group';
+ if (!($attributeContainer = $this->setupAttributeContainerMeta($attribute))) {
+ continue;
}
- $child['arguments']['data']['config']['code'] = $code;
- $child['arguments']['data']['config']['source'] = $groupCode;
- $child['arguments']['data']['config']['scopeLabel'] = $this->getScopeLabel($attribute);
- $child['arguments']['data']['config']['globalScope'] = $this->isScopeGlobal($attribute);
- $child['arguments']['data']['config']['sortOrder'] = $sortKey * self::SORT_ORDER_MULTIPLIER;
+ $attributeContainer = $this->addContainerChildren($attributeContainer, $attribute, $groupCode, $sortOrder);
- if (!isset($child['arguments']['data']['config']['componentType'])) {
- $child['arguments']['data']['config']['componentType'] = Field::NAME;
- }
+ $meta[static::CONTAINER_PREFIX . $attribute->getAttributeCode()] = $attributeContainer;
+ }
- if (in_array($code, $this->attributesToDisable)) {
- $child['arguments']['data']['config']['disabled'] = true;
- }
- // TODO: getAttributeModel() should not be used when MAGETWO-48284 is complete
- $childData = $child['arguments']['data']['config'];
- if (($rules = $this->eavValidationRules->build($this->getAttributeModel($attribute), $childData))) {
- $child['arguments']['data']['config']['validation'] = $rules;
- }
+ return $meta;
+ }
- $meta[static::CONTAINER_PREFIX . $code]['children'][$code] = $child;
+ /**
+ * Add container children
+ *
+ * @param array $attributeContainer
+ * @param ProductAttributeInterface $attribute
+ * @param string $groupCode
+ * @param int $sortOrder
+ * @return array
+ */
+ public function addContainerChildren(
+ array $attributeContainer,
+ ProductAttributeInterface $attribute,
+ $groupCode,
+ $sortOrder
+ ) {
+ foreach ($this->getContainerChildren($attribute, $groupCode, $sortOrder) as $childCode => $child) {
+ $attributeContainer['children'][$childCode] = $child;
}
- return $meta;
+ $attributeContainer = $this->arrayManager->merge(
+ ltrim(static::META_CONFIG_PATH, ArrayManager::DEFAULT_PATH_DELIMITER),
+ $attributeContainer,
+ ['sortOrder' => $sortOrder * self::SORT_ORDER_MULTIPLIER]
+ );
+
+ return $attributeContainer;
+ }
+
+ /**
+ * Retrieve container child fields
+ *
+ * @param ProductAttributeInterface $attribute
+ * @param string $groupCode
+ * @param int $sortOrder
+ * @return array
+ */
+ public function getContainerChildren(ProductAttributeInterface $attribute, $groupCode, $sortOrder)
+ {
+ if (!($child = $this->setupAttributeMeta($attribute, $groupCode, $sortOrder))) {
+ return [];
+ }
+
+ return [$attribute->getAttributeCode() => $child];
}
/**
@@ -308,13 +322,18 @@ protected function getAttributesMeta(array $attributes, $groupCode)
*/
public function modifyData(array $data)
{
+ $productId = $this->locator->getProduct()->getId();
+
/** @var string $groupCode */
foreach (array_keys($this->getGroups()) as $groupCode) {
+ /** @var ProductAttributeInterface[] $attributes */
$attributes = !empty($this->getAttributes()[$groupCode]) ? $this->getAttributes()[$groupCode] : [];
- /* @var EavAttribute $attribute */
foreach ($attributes as $attribute) {
- $data = $this->setAttributeValueToData($data, $attribute->getAttributeCode());
+ if (null !== ($attributeValue = $this->setupAttributeData($attribute))) {
+ $data[$productId][self::DATA_SOURCE_DEFAULT][$attribute->getAttributeCode()] = $attributeValue;
+ }
+
}
}
@@ -455,43 +474,85 @@ protected function getPrevSetAttributes()
* Initial meta setup
*
* @param ProductAttributeInterface $attribute
+ * @param string $groupCode
+ * @param int $sortOrder
* @return array
* @throws \Magento\Framework\Exception\LocalizedException
+ * @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
- protected function setupMetaProperties(ProductAttributeInterface $attribute)
+ public function setupAttributeMeta(ProductAttributeInterface $attribute, $groupCode, $sortOrder)
{
- $meta = [
- 'arguments' => [
- 'data' => [
- 'config' => [
- 'dataType' => $attribute->getFrontendInput(),
- 'formElement' => $this->getFormElementsMapValue($attribute->getFrontendInput()),
- 'visible' => $attribute->getIsVisible(),
- 'required' => $attribute->getIsRequired(),
- 'notice' => $attribute->getNote(),
- 'default' => $attribute->getDefaultValue(),
- 'label' => __('%1', $attribute->getDefaultFrontendLabel()),
- ],
- ],
- ],
- ];
- foreach ($meta as $key => $value) {
- if ($value === null) {
- unset($meta[$key]);
- }
- }
+ $configPath = ltrim(static::META_CONFIG_PATH, ArrayManager::DEFAULT_PATH_DELIMITER);
+
+ $meta = $this->arrayManager->set($configPath, [], [
+ 'dataType' => $attribute->getFrontendInput(),
+ 'formElement' => $this->getFormElementsMapValue($attribute->getFrontendInput()),
+ 'visible' => $attribute->getIsVisible(),
+ 'required' => $attribute->getIsRequired(),
+ 'notice' => $attribute->getNote(),
+ 'default' => $attribute->getDefaultValue(),
+ 'label' => $attribute->getDefaultFrontendLabel(),
+ 'code' => $attribute->getAttributeCode(),
+ 'source' => $groupCode,
+ 'scopeLabel' => $this->getScopeLabel($attribute),
+ 'globalScope' => $this->isScopeGlobal($attribute),
+ 'sortOrder' => $sortOrder * self::SORT_ORDER_MULTIPLIER,
+ ]);
// TODO: Refactor to $attribute->getOptions() when MAGETWO-48289 is done
$attributeModel = $this->getAttributeModel($attribute);
if ($attributeModel->usesSource()) {
- $meta['arguments']['data']['config']['options'] = $attributeModel->getSource()->getAllOptions();
+ $meta = $this->arrayManager->merge($configPath, $meta, [
+ 'options' => $attributeModel->getSource()->getAllOptions(),
+ ]);
+ }
+
+ if ($this->canDisplayUseDefault($attribute)) {
+ $meta = $this->arrayManager->merge($configPath, $meta, [
+ 'service' => [
+ 'template' => 'ui/form/element/helper/service',
+ ]
+ ]);
+ }
+
+ if (!$this->arrayManager->exists($configPath . '/componentType', $meta)) {
+ $meta = $this->arrayManager->merge($configPath, $meta, [
+ 'componentType' => Field::NAME,
+ ]);
+ }
+
+ if (in_array($attribute->getAttributeCode(), $this->attributesToDisable)) {
+ $meta = $this->arrayManager->merge($configPath, $meta, [
+ 'disabled' => true,
+ ]);
+ }
+
+ // TODO: getAttributeModel() should not be used when MAGETWO-48284 is complete
+ $childData = $this->arrayManager->get($configPath, $meta, []);
+ if (($rules = $this->eavValidationRules->build($this->getAttributeModel($attribute), $childData))) {
+ $meta = $this->arrayManager->merge($configPath, $meta, [
+ 'validation' => $rules,
+ ]);
}
- $meta = $this->addWysiwyg($attribute, $meta);
- $meta = $this->customizeCheckbox($attribute, $meta);
- $meta = $this->customizePriceAttribute($attribute, $meta);
$meta = $this->addUseDefaultValueCheckbox($attribute, $meta);
+ switch ($attribute->getFrontendInput()) {
+ case 'boolean':
+ $meta = $this->customizeCheckbox($attribute, $meta);
+ break;
+ case 'textarea':
+ $meta = $this->customizeWysiwyg($attribute, $meta);
+ break;
+ case 'price':
+ $meta = $this->customizePriceAttribute($attribute, $meta);
+ break;
+ case 'gallery':
+ // Gallery attribute is being handled by "Images And Videos Tab"
+ $meta = [];
+ break;
+ }
+
return $meta;
}
@@ -518,6 +579,60 @@ private function addUseDefaultValueCheckbox(ProductAttributeInterface $attribute
return $meta;
}
+ /**
+ * Setup attribute container meta
+ *
+ * @param ProductAttributeInterface $attribute
+ * @return array
+ */
+ public function setupAttributeContainerMeta(ProductAttributeInterface $attribute)
+ {
+ $containerMeta = $this->arrayManager->set(
+ 'arguments/data/config',
+ [],
+ [
+ 'formElement' => 'container',
+ 'componentType' => 'container',
+ 'breakLine' => false,
+ 'label' => $attribute->getDefaultFrontendLabel(),
+ 'required' => $attribute->getIsRequired(),
+ ]
+ );
+
+ if ($attribute->getIsWysiwygEnabled()) {
+ $containerMeta = $this->arrayManager->merge(
+ 'arguments/data/config',
+ $containerMeta,
+ [
+ 'component' => 'Magento_Ui/js/form/components/group'
+ ]
+ );
+ }
+
+ return $containerMeta;
+ }
+
+ /**
+ * Setup attribute data
+ *
+ * @param ProductAttributeInterface $attribute
+ * @return mixed|null
+ */
+ public function setupAttributeData(ProductAttributeInterface $attribute)
+ {
+ $product = $this->locator->getProduct();
+ $productId = $product->getId();
+ $prevSetId = $this->getPrevSetId();
+ $notUsed = !$prevSetId
+ || ($prevSetId && !in_array($attribute->getAttributeCode(), $this->getPrevSetAttributes()));
+
+ if ($productId && $notUsed) {
+ return $this->getValue($attribute);
+ }
+
+ return null;
+ }
+
/**
* Customize checkboxes
*
@@ -563,7 +678,7 @@ private function customizePriceAttribute(ProductAttributeInterface $attribute, a
* @param array $meta
* @return array
*/
- private function addWysiwyg(ProductAttributeInterface $attribute, array $meta)
+ private function customizeWysiwyg(ProductAttributeInterface $attribute, array $meta)
{
if (!$attribute->getIsWysiwygEnabled()) {
return $meta;
@@ -588,41 +703,18 @@ protected function getFormElementsMapValue($value)
return isset($valueMap[$value]) ? $valueMap[$value] : $value;
}
- /**
- * Set attribute to loaded data
- *
- * @param array $data
- * @param string $attributeCode
- * @return $this
- */
- protected function setAttributeValueToData(array $data, $attributeCode)
- {
- $product = $this->locator->getProduct();
- $productId = $product->getId();
- $prevSetId = $this->getPrevSetId();
- $notUsed = !$prevSetId || ($prevSetId && !in_array($attributeCode, $this->getPrevSetAttributes()));
-
- if ($productId && $notUsed) {
- if (null !== ($value = $this->getValue($attributeCode))) {
- $data[$productId][self::DATA_SOURCE_DEFAULT][$attributeCode] = $value;
- }
- }
-
- return $data;
- }
-
/**
* Retrieve attribute value
*
- * @param string $attributeCode
+ * @param ProductAttributeInterface $attribute
* @return mixed
*/
- protected function getValue($attributeCode)
+ protected function getValue(ProductAttributeInterface $attribute)
{
/** @var Product $product */
$product = $this->locator->getProduct();
- return $product->getData($attributeCode);
+ return $product->getData($attribute->getAttributeCode());
}
/**
diff --git a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Related.php b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Related.php
index f39c5c69a2be7..fec81ba4aa6ab 100644
--- a/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Related.php
+++ b/app/code/Magento/Catalog/Ui/DataProvider/Product/Form/Modifier/Related.php
@@ -5,6 +5,8 @@
*/
namespace Magento\Catalog\Ui\DataProvider\Product\Form\Modifier;
+use Magento\Catalog\Api\Data\ProductInterface;
+use Magento\Catalog\Api\Data\ProductLinkInterface;
use Magento\Catalog\Api\ProductLinkRepositoryInterface;
use Magento\Catalog\Api\ProductRepositoryInterface;
use Magento\Catalog\Model\Locator\LocatorInterface;
@@ -185,18 +187,7 @@ public function modifyData(array $data)
false,
$this->locator->getStore()->getId()
);
- $data[$productId]['links'][$dataScope][] = [
- 'id' => $linkedProduct->getId(),
- 'thumbnail' => $this->imageHelper->init($linkedProduct, 'product_listing_thumbnail')->getUrl(),
- 'name' => $linkedProduct->getName(),
- 'status' => $this->status->getOptionText($linkedProduct->getStatus()),
- 'attribute_set' => $this->attributeSetRepository
- ->get($linkedProduct->getAttributeSetId())
- ->getAttributeSetName(),
- 'sku' => $linkItem->getLinkedProductSku(),
- 'price' => $linkedProduct->getPrice(),
- 'position' => $linkItem->getPosition(),
- ];
+ $data[$productId]['links'][$dataScope][] = $this->fillData($linkedProduct, $linkItem);
}
}
@@ -206,6 +197,29 @@ public function modifyData(array $data)
return $data;
}
+ /**
+ * Prepare data column
+ *
+ * @param ProductInterface $linkedProduct
+ * @param ProductLinkInterface $linkItem
+ * @return array
+ */
+ protected function fillData(ProductInterface $linkedProduct, ProductLinkInterface $linkItem)
+ {
+ return [
+ 'id' => $linkedProduct->getId(),
+ 'thumbnail' => $this->imageHelper->init($linkedProduct, 'product_listing_thumbnail')->getUrl(),
+ 'name' => $linkedProduct->getName(),
+ 'status' => $this->status->getOptionText($linkedProduct->getStatus()),
+ 'attribute_set' => $this->attributeSetRepository
+ ->get($linkedProduct->getAttributeSetId())
+ ->getAttributeSetName(),
+ 'sku' => $linkItem->getLinkedProductSku(),
+ 'price' => $linkedProduct->getPrice(),
+ 'position' => $linkItem->getPosition(),
+ ];
+ }
+
/**
* Retrieve all data scopes
*
@@ -228,7 +242,7 @@ protected function getDataScopes()
protected function getRelatedFieldset()
{
$content = __(
- 'Related products are shown to shoppers in addition to the item the shopper is looking at.'
+ 'Related products are shown to customers in addition to the item the customer is looking at.'
);
return [
@@ -529,56 +543,66 @@ protected function getGrid($scope)
],
],
],
- 'children' => [
- 'id' => $this->getTextColumn('id', false, 'ID', 0),
- 'thumbnail' => [
- 'arguments' => [
- 'data' => [
- 'config' => [
- 'componentType' => Field::NAME,
- 'formElement' => Input::NAME,
- 'elementTmpl' => 'ui/dynamic-rows/cells/thumbnail',
- 'dataType' => Text::NAME,
- 'dataScope' => 'thumbnail',
- 'fit' => true,
- 'label' => __('Thumbnail'),
- 'sortOrder' => 10,
- ],
- ],
- ],
+ 'children' => $this->fillMeta(),
+ ],
+ ],
+ ];
+ }
+
+ /**
+ * Retrieve meta column
+ *
+ * @return array
+ */
+ protected function fillMeta()
+ {
+ return [
+ 'id' => $this->getTextColumn('id', false, __('ID'), 0),
+ 'thumbnail' => [
+ 'arguments' => [
+ 'data' => [
+ 'config' => [
+ 'componentType' => Field::NAME,
+ 'formElement' => Input::NAME,
+ 'elementTmpl' => 'ui/dynamic-rows/cells/thumbnail',
+ 'dataType' => Text::NAME,
+ 'dataScope' => 'thumbnail',
+ 'fit' => true,
+ 'label' => __('Thumbnail'),
+ 'sortOrder' => 10,
],
- 'name' => $this->getTextColumn('name', false, 'Name', 20),
- 'status' => $this->getTextColumn('status', true, 'Status', 30),
- 'attribute_set' => $this->getTextColumn('attribute_set', false, 'Attribute Set', 40),
- 'sku' => $this->getTextColumn('sku', true, 'SKU', 50),
- 'price' => $this->getTextColumn('price', true, 'Price', 60),
- 'actionDelete' => [
- 'arguments' => [
- 'data' => [
- 'config' => [
- 'additionalClasses' => 'data-grid-actions-cell',
- 'componentType' => 'actionDelete',
- 'dataType' => Text::NAME,
- 'label' => __('Actions'),
- 'sortOrder' => 70,
- 'fit' => true,
- ],
- ],
- ],
+ ],
+ ],
+ ],
+ 'name' => $this->getTextColumn('name', false, __('Name'), 20),
+ 'status' => $this->getTextColumn('status', true, __('Status'), 30),
+ 'attribute_set' => $this->getTextColumn('attribute_set', false, __('Attribute Set'), 40),
+ 'sku' => $this->getTextColumn('sku', true, __('SKU'), 50),
+ 'price' => $this->getTextColumn('price', true, __('Price'), 60),
+ 'actionDelete' => [
+ 'arguments' => [
+ 'data' => [
+ 'config' => [
+ 'additionalClasses' => 'data-grid-actions-cell',
+ 'componentType' => 'actionDelete',
+ 'dataType' => Text::NAME,
+ 'label' => __('Actions'),
+ 'sortOrder' => 70,
+ 'fit' => true,
],
- 'position' => [
- 'arguments' => [
- 'data' => [
- 'config' => [
- 'dataType' => Number::NAME,
- 'formElement' => Input::NAME,
- 'componentType' => Field::NAME,
- 'dataScope' => 'position',
- 'sortOrder' => 80,
- 'visible' => false,
- ],
- ],
- ],
+ ],
+ ],
+ ],
+ 'position' => [
+ 'arguments' => [
+ 'data' => [
+ 'config' => [
+ 'dataType' => Number::NAME,
+ 'formElement' => Input::NAME,
+ 'componentType' => Field::NAME,
+ 'dataScope' => 'position',
+ 'sortOrder' => 80,
+ 'visible' => false,
],
],
],
@@ -591,11 +615,11 @@ protected function getGrid($scope)
*
* @param string $dataScope
* @param bool $fit
- * @param string $label
+ * @param Phrase $label
* @param int $sortOrder
* @return array
*/
- protected function getTextColumn($dataScope, $fit, $label, $sortOrder)
+ protected function getTextColumn($dataScope, $fit, Phrase $label, $sortOrder)
{
$column = [
'arguments' => [
diff --git a/app/code/Magento/Catalog/composer.json b/app/code/Magento/Catalog/composer.json
index c403388e3e4ab..ba0704158dc18 100644
--- a/app/code/Magento/Catalog/composer.json
+++ b/app/code/Magento/Catalog/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-catalog",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/module-eav": "100.0.*",
"magento/module-cms": "100.0.*",
diff --git a/app/code/Magento/Catalog/i18n/en_US.csv b/app/code/Magento/Catalog/i18n/en_US.csv
index 8580eb33942b2..0745c98d7169a 100644
--- a/app/code/Magento/Catalog/i18n/en_US.csv
+++ b/app/code/Magento/Catalog/i18n/en_US.csv
@@ -1,100 +1,23 @@
-All,All
-None,None
-"Are you sure?","Are you sure?"
-Cancel,Cancel
-Back,Back
-Product,Product
-Price,Price
-Quantity,Quantity
-Products,Products
-ID,ID
-SKU,SKU
-No,No
-Qty,Qty
-Action,Action
-Reset,Reset
-Edit,Edit
-"Add to Cart","Add to Cart"
-"Images (.gif, .jpg, .png)","Images (.gif, .jpg, .png)"
-"First Name","First Name"
-"Last Name","Last Name"
-Email,Email
-[GLOBAL],[GLOBAL]
-[WEBSITE],[WEBSITE]
-"[STORE VIEW]","[STORE VIEW]"
-"Use Default","Use Default"
+Root,Root
Delete,Delete
Save,Save
-Store,Store
-"-- Please Select --","-- Please Select --"
-"Custom Design","Custom Design"
-Yes,Yes
-"Web Site","Web Site"
-Name,Name
-Status,Status
-Disabled,Disabled
-Enabled,Enabled
-"Save and Continue Edit","Save and Continue Edit"
-Title,Title
-"Store View","Store View"
-Type,Type
-Home,Home
-Search,Search
-"Select All","Select All"
-"Add New","Add New"
-"Please select items.","Please select items."
-Required,Required
-Website,Website
-"All Websites","All Websites"
-Next,Next
-"Please enter a valid number in this field.","Please enter a valid number in this field."
-Catalog,Catalog
-Images,Images
-"per page","per page"
-"Mass Actions","Mass Actions"
-"Unselect All","Unselect All"
-"Select Visible","Select Visible"
-"Unselect Visible","Unselect Visible"
-"items selected","items selected"
-"The information in this tab has been changed.","The information in this tab has been changed."
-"This tab contains invalid data. Please solve the problem before saving.","This tab contains invalid data. Please solve the problem before saving."
-Loading...,Loading...
-OK,OK
-Visibility,Visibility
-Position,Position
-Fixed,Fixed
-"Use Default Value","Use Default Value"
-N/A,N/A
-Percent,Percent
-"Option Title","Option Title"
-"Input Type","Input Type"
-"New Option","New Option"
-"Price Type","Price Type"
-"* Required Fields","* Required Fields"
-Availability,Availability
-"In stock","In stock"
-"Out of stock","Out of stock"
-"Excl. Tax:","Excl. Tax:"
-"Incl. Tax:","Incl. Tax:"
-Root,Root
-"Save Category","Save Category"
-"Delete Category","Delete Category"
-"New Subcategory","New Subcategory"
-"New Root Category","New Root Category"
-"Set Root Category for Store","Set Root Category for Store"
"Use Config Settings","Use Config Settings"
"Use All Available Attributes","Use All Available Attributes"
-"General Information","General Information"
-"Category Data","Category Data"
-"Category Products","Category Products"
+ID,ID
+Name,Name
+SKU,SKU
+Price,Price
+Position,Position
"Add Subcategory","Add Subcategory"
"Add Root Category","Add Root Category"
-"Create Permanent Redirect for old URL","Create Permanent Redirect for old URL"
Day,Day
Month,Month
Year,Year
"",""
"",""
+[GLOBAL],[GLOBAL]
+[WEBSITE],[WEBSITE]
+"[STORE VIEW]","[STORE VIEW]"
"WYSIWYG Editor","WYSIWYG Editor"
"Add Product","Add Product"
label,label
@@ -102,35 +25,44 @@ label,label
"Add New Attribute","Add New Attribute"
"Save in New Attribute Set","Save in New Attribute Set"
"Enter Name for New Attribute Set","Enter Name for New Attribute Set"
+"Save and Continue Edit","Save and Continue Edit"
"Save Attribute","Save Attribute"
"Delete Attribute","Delete Attribute"
"Edit Product Attribute ""%1""","Edit Product Attribute ""%1"""
"New Product Attribute","New Product Attribute"
"Advanced Attribute Properties","Advanced Attribute Properties"
"Attribute Code","Attribute Code"
-"For internal use. Must be unique with no spaces. Maximum length of attribute code must be less than %1 symbols","For internal use. Must be unique with no spaces. Maximum length of attribute code must be less than %1 symbols"
+"This is used internally. Make sure you don\'t use spaces or more than %1 symbols.","This is used internally. Make sure you don\'t use spaces or more than %1 symbols."
"Default Value","Default Value"
"Unique Value","Unique Value"
"Unique Value (not shared with other products)","Unique Value (not shared with other products)"
-"Not shared with other products","Not shared with other products"
+"Not shared with other products.","Not shared with other products."
"Input Validation for Store Owner","Input Validation for Store Owner"
+"Add to Column Options","Add to Column Options"
+"Select ""Yes"" to add this attribute to the list of column options in the product grid.","Select ""Yes"" to add this attribute to the list of column options in the product grid."
+"Use in Filter Options","Use in Filter Options"
+"Select ""Yes"" to add this attribute to the list of filter options in the product grid.","Select ""Yes"" to add this attribute to the list of filter options in the product grid."
+"Store View","Store View"
+Website,Website
Global,Global
Scope,Scope
-"Declare attribute value saving scope","Declare attribute value saving scope"
-"Frontend Properties","Frontend Properties"
-"Use in Quick Search","Use in Quick Search"
-"Use in Advanced Search","Use in Advanced Search"
-"Comparable on Frontend","Comparable on Frontend"
+"Declare attribute value saving scope.","Declare attribute value saving scope."
+"Storefront Properties","Storefront Properties"
+"Use in Search","Use in Search"
+"Visible in Advanced Search","Visible in Advanced Search"
+"Comparable on Storefront","Comparable on Storefront"
"Use for Promo Rule Conditions","Use for Promo Rule Conditions"
"Enable WYSIWYG","Enable WYSIWYG"
-"Allow HTML Tags on Frontend","Allow HTML Tags on Frontend"
-"Visible on Catalog Pages on Frontend","Visible on Catalog Pages on Frontend"
+"Allow HTML Tags on Storefront","Allow HTML Tags on Storefront"
+"Visible on Catalog Pages on Storefront","Visible on Catalog Pages on Storefront"
"Used in Product Listing","Used in Product Listing"
-"Depends on design theme","Depends on design theme"
+"Depends on design theme.","Depends on design theme."
"Used for Sorting in Product Listing","Used for Sorting in Product Listing"
"Media Image","Media Image"
Gallery,Gallery
"System Properties","System Properties"
+No,No
+Yes,Yes
"Data Type for Saving in Database","Data Type for Saving in Database"
Text,Text
Varchar,Varchar
@@ -143,26 +75,26 @@ Integer,Integer
Properties,Properties
"Manage Labels","Manage Labels"
Visible,Visible
+"Website","Website"
Searchable,Searchable
Comparable,Comparable
"Delete Selected Group","Delete Selected Group"
-"Delete Attribute Set","Delete Attribute Set"
-"You are about to delete all products in this set. ' 'Are you sure you want to delete this attribute set?","You are about to delete all products in this set. ' 'Are you sure you want to delete this attribute set?"
-"Save Attribute Set","Save Attribute Set"
+"Add New","Add New"
+Back,Back
+Reset,Reset
+"You are about to delete all products in this attribute set. Are you sure you want to do that?","You are about to delete all products in this attribute set. Are you sure you want to do that?"
"New Set Name","New Set Name"
"Edit Attribute Set '%1'","Edit Attribute Set '%1'"
Empty,Empty
"Add Attribute","Add Attribute"
"Add New Group","Add New Group"
"Add Group","Add Group"
-"Edit Set Name","Edit Set Name"
+"Edit Attribute Set Name","Edit Attribute Set Name"
"For internal use","For internal use"
"Based On","Based On"
"Add New Attribute Set","Add New Attribute Set"
-"Add New Set","Add New Set"
+"Add Attribute Set","Add Attribute Set"
"Attribute Sets","Attribute Sets"
-"Product Templates","Product Templates"
-"Product Template","Product Template"
"Close Window","Close Window"
"New Product","New Product"
"Save & Edit","Save & Edit"
@@ -174,27 +106,35 @@ Change,Change
"Advanced Inventory","Advanced Inventory"
Websites,Websites
"Products Information","Products Information"
+"Create Category","Create Category"
"Category Name","Category Name"
"Parent Category","Parent Category"
-"If there are no custom parent categories, please use the default parent category. ' 'You can reassign the category at any time in ' 'Products > Categories.","If there are no custom parent categories, please use the default parent category. ' 'You can reassign the category at any time in ' 'Products > Categories."
-"We saved the price alert subscription.","We saved the price alert subscription."
-"We saved the stock notification.","We saved the stock notification."
+"If there are no custom parent categories, please use the default parent category. You can reassign the category at any time in Products > Categories.","If there are no custom parent categories, please use the default parent category. You can reassign the category at any time in Products > Categories."
+"Price Alert Subscriptions","Price Alert Subscriptions"
+"Stock Alert Subscriptions","Stock Alert Subscriptions"
"There are no customers for this alert.","There are no customers for this alert."
+"First Name","First Name"
+"Last Name","Last Name"
+Email,Email
"Subscribe Date","Subscribe Date"
"Last Notified","Last Notified"
"Send Count","Send Count"
"New Attribute","New Attribute"
+Type,Type
"Attribute Set","Attribute Set"
+Status,Status
+Visibility,Visibility
"Add New Option","Add New Option"
"Import Options","Import Options"
+"Use Default","Use Default"
Import,Import
"Add New Row","Add New Row"
"Delete Row","Delete Row"
"Tier Pricing","Tier Pricing"
"Default Price","Default Price"
-"Add Group Price","Add Group Price"
+"All Websites","All Websites"
"ALL GROUPS","ALL GROUPS"
-"Add Tier","Add Tier"
+"Add Price","Add Price"
"Default Values","Default Values"
"Related Products","Related Products"
Up-sells,Up-sells
@@ -203,113 +143,108 @@ Cross-sells,Cross-sells
"Watermark File for %1","Watermark File for %1"
"Position of Watermark for %1","Position of Watermark for %1"
"Name in %1","Name in %1"
-"Notify Low Stock RSS","Notify Low Stock RSS"
-"Change status","Change status"
+Quantity,Quantity
+Edit,Edit
+"Are you sure?","Are you sure?"
+"Change Status","Change Status"
"Update Attributes","Update Attributes"
-"Click here or drag and drop to add images.","Click here or drag and drop to add images."
-"Delete image","Delete image"
-"Make Base","Make Base"
-Hidden,Hidden
-"Image Management","Image Management"
"start typing to search category","start typing to search category"
"New Category","New Category"
+"Images (.gif, .jpg, .png)","Images (.gif, .jpg, .png)"
"Add New Images","Add New Images"
"Inc. Tax","Inc. Tax"
-lbs,lbs
-"Add New Search Term","Add New Search Term"
-"Save Search","Save Search"
-"Delete Search","Delete Search"
-"Edit Search '%1'","Edit Search '%1'"
-"New Search","New Search"
-"Search Information","Search Information"
-"Search Query","Search Query"
-"Number of results","Number of results"
-"Number of results (For the last time placed)","Number of results (For the last time placed)"
-"For the last time placed.","For the last time placed."
-"Number of Uses","Number of Uses"
-"Synonym For","Synonym For"
-"Will make search for the query above return results for this search","Will make search for the query above return results for this search"
-"Redirect URL","Redirect URL"
-"ex. http://domain.com","ex. http://domain.com"
-"Display in Suggested Terms","Display in Suggested Terms"
+"Does this have a weight?","Does this have a weight?"
+Product,Product
+"Notify Low Stock RSS","Notify Low Stock RSS"
+"Low Stock Products","Low Stock Products"
+"%1 has reached a quantity of %2.","%1 has reached a quantity of %2."
+Home,Home
"Go to Home Page","Go to Home Page"
-"%1 RSS Feed","%1 RSS Feed"
+"Subscribe to RSS Feed","Subscribe to RSS Feed"
"Products Comparison List","Products Comparison List"
+N/A,N/A
AM,AM
PM,PM
+"-- Please Select --","-- Please Select --"
+None,None
+"New Products from %1","New Products from %1"
+"New Products","New Products"
+"%1 - Special Products","%1 - Special Products"
+"Click for price","Click for price"
+"Special Expires On: %1","Special Expires On: %1"
+"Price: %1","Price: %1"
+"Special Price: %1","Special Price: %1"
+"Special Products","Special Products"
+"You deleted the category.","You deleted the category."
+"Something went wrong while trying to delete the category.","Something went wrong while trying to delete the category."
Categories,Categories
"Manage Catalog Categories","Manage Catalog Categories"
"Manage Categories","Manage Categories"
+"Category is not available for requested store.","Category is not available for requested store."
+"There was a category move error.","There was a category move error."
+"There was a category move error. %1","There was a category move error. %1"
+"You moved the category","You moved the category"
"Attribute ""%1"" is required.","Attribute ""%1"" is required."
-"Unable to save the category","Unable to save the category"
"You saved the category.","You saved the category."
-"There was a category move error.","There was a category move error."
-"There was a category move error %1","There was a category move error %1"
-"You deleted the category.","You deleted the category."
-"Something went wrong while trying to delete the category.","Something went wrong while trying to delete the category."
-"This product no longer exists.","This product no longer exists."
-"Unable to save product","Unable to save product"
-"You saved the product.","You saved the product."
-"SKU for product %1 has been changed to %2.","SKU for product %1 has been changed to %2."
-"You duplicated the product.","You duplicated the product."
-"Please select product(s).","Please select product(s)."
-"A total of %1 record(s) have been deleted.","A total of %1 record(s) have been deleted."
-"A total of %1 record(s) have been updated.","A total of %1 record(s) have been updated."
-"Something went wrong while updating the product(s) status.","Something went wrong while updating the product(s) status."
+"Something went wrong while saving the category.","Something went wrong while saving the category."
+"Please select products for attributes update.","Please select products for attributes update."
"Please make sure to define SKU values for all processed products.","Please make sure to define SKU values for all processed products."
"A total of %1 record(s) were updated.","A total of %1 record(s) were updated."
"Something went wrong while updating the product(s) attributes.","Something went wrong while updating the product(s) attributes."
-"Please select products for attributes update.","Please select products for attributes update."
+"Please, specify attributes","Please, specify attributes"
+Catalog,Catalog
"Manage Product Attributes","Manage Product Attributes"
+"We can\'t delete the attribute.","We can\'t delete the attribute."
+"You deleted the product attribute.","You deleted the product attribute."
+"We can\'t find an attribute to delete.","We can\'t find an attribute to delete."
"This attribute no longer exists.","This attribute no longer exists."
"This attribute cannot be edited.","This attribute cannot be edited."
"Edit Product Attribute","Edit Product Attribute"
-"An attribute with this code already exists.","An attribute with this code already exists."
-"Attribute with the same code (%1) already exists.","Attribute with the same code (%1) already exists."
-"Attribute Set with name '%1' already exists.","Attribute Set with name '%1' already exists."
-"Something went wrong saving the attribute.","Something went wrong saving the attribute."
-"Attribute code ""%1"" is invalid. Please use only letters (a-z), ' 'numbers (0-9) or underscore(_) in this field, first character should be a letter.","Attribute code ""%1"" is invalid. Please use only letters (a-z), ' 'numbers (0-9) or underscore(_) in this field, first character should be a letter."
-"You can't update your attribute.","You can't update your attribute."
+"An attribute set named \'%1\' already exists.","An attribute set named \'%1\' already exists."
+"Something went wrong while saving the attribute.","Something went wrong while saving the attribute."
+"Attribute code ""%1"" is invalid. Please use only letters (a-z), numbers (0-9) or underscore(_) in this field, first character should be a letter.","Attribute code ""%1"" is invalid. Please use only letters (a-z), numbers (0-9) or underscore(_) in this field, first character should be a letter."
+"We can\'t update the attribute.","We can\'t update the attribute."
"You saved the product attribute.","You saved the product attribute."
-"This attribute cannot be deleted.","This attribute cannot be deleted."
-"The product attribute has been deleted.","The product attribute has been deleted."
-"We can't find an attribute to delete.","We can't find an attribute to delete."
+"An attribute with this code already exists.","An attribute with this code already exists."
+"An attribute with the same code (%1) already exists.","An attribute with the same code (%1) already exists."
+"You duplicated the product.","You duplicated the product."
+"This product no longer exists.","This product no longer exists."
+Products,Products
"A group with the same name already exists.","A group with the same name already exists."
"Something went wrong while saving this group.","Something went wrong while saving this group."
-"Manage Attribute Sets","Manage Attribute Sets"
+"A total of %1 record(s) have been deleted.","A total of %1 record(s) have been deleted."
+"A total of %1 record(s) have been updated.","A total of %1 record(s) have been updated."
+"Something went wrong while updating the product(s) status.","Something went wrong while updating the product(s) status."
+"Unable to save product","Unable to save product"
+"You saved the product.","You saved the product."
+"SKU for product %1 has been changed to %2.","SKU for product %1 has been changed to %2."
+"The image cannot be removed as it has been assigned to the other image role","The image cannot be removed as it has been assigned to the other image role"
+"New Attribute Set","New Attribute Set"
+"The attribute set has been removed.","The attribute set has been removed."
+"We can\'t delete this set right now.","We can\'t delete this set right now."
"New Set","New Set"
"Manage Product Sets","Manage Product Sets"
+"Manage Attribute Sets","Manage Attribute Sets"
"This attribute set no longer exists.","This attribute set no longer exists."
"You saved the attribute set.","You saved the attribute set."
-"An error occurred while saving the attribute set.","An error occurred while saving the attribute set."
-"New Attribute Set","New Attribute Set"
-"New Product Template","New Product Template"
-"The attribute set has been removed.","The attribute set has been removed."
-"An error occurred while deleting this set.","An error occurred while deleting this set."
-"Search Terms","Search Terms"
-"This search no longer exists.","This search no longer exists."
-"Edit Search","Edit Search"
-"You already have an identical search term query.","You already have an identical search term query."
-"Something went wrong while saving the search query.","Something went wrong while saving the search query."
-"You deleted the search.","You deleted the search."
-"We can't find a search term to delete.","We can't find a search term to delete."
-"Please select catalog searches.","Please select catalog searches."
-"Total of %1 record(s) were deleted","Total of %1 record(s) were deleted"
+"Something went wrong while saving the attribute set.","Something went wrong while saving the attribute set."
"You added product %1 to the comparison list.","You added product %1 to the comparison list."
-"You removed product %1 from the comparison list.","You removed product %1 from the comparison list."
"You cleared the comparison list.","You cleared the comparison list."
"Something went wrong clearing the comparison list.","Something went wrong clearing the comparison list."
-"To see product price, add this item to your cart. You can always remove it later.","To see product price, add this item to your cart. You can always remove it later."
-"See price before order confirmation.","See price before order confirmation."
-"The product is not loaded.","The product is not loaded."
+"You removed product %1 from the comparison list.","You removed product %1 from the comparison list."
+"1 item","1 item"
+"%1 items","%1 items"
"Invalid attribute %1","Invalid attribute %1"
Grid,Grid
List,List
-"Product is not loaded","Product is not loaded"
+All,All
"Bad controller interface for showing product","Bad controller interface for showing product"
-"Sorry, but we can't move the category because we can't find the new parent category you selected.","Sorry, but we can't move the category because we can't find the new parent category you selected."
-"Sorry, but we can't move the category because we can't find the new category you selected.","Sorry, but we can't move the category because we can't find the new category you selected."
-"We can't perform this category move operation because the parent category matches the child category.","We can't perform this category move operation because the parent category matches the child category."
+"Product is not loaded","Product is not loaded"
+"Make sure the To Date is later than or the same as the From Date.","Make sure the To Date is later than or the same as the From Date."
+"Sorry, but we can\'t find the new parent category you selected.","Sorry, but we can\'t find the new parent category you selected."
+"Sorry, but we can\'t find the new category you selected.","Sorry, but we can\'t find the new category you selected."
+"We can\'t move the category because the parent category name matches the child category name.","We can\'t move the category because the parent category name matches the child category name."
+"Can\'t delete root category.","Can\'t delete root category."
"The value of attribute ""%1"" must be unique.","The value of attribute ""%1"" must be unique."
"Default Product Listing Sort by does not exist in Available Product Listing Sort By.","Default Product Listing Sort by does not exist in Available Product Listing Sort By."
"No layout updates","No layout updates"
@@ -318,6 +253,13 @@ List,List
"Static block and products","Static block and products"
"Please select a static block.","Please select a static block."
frontend_label,frontend_label
+"Could not save product ""%1"" with position %2 to category %3","Could not save product ""%1"" with position %2 to category %3"
+"Category does not contain specified product","Category does not contain specified product"
+"Could not save product ""%product"" with position %position to category %category","Could not save product ""%product"" with position %position to category %category"
+"Operation do not allow to move a parent category to any of children category","Operation do not allow to move a parent category to any of children category"
+"Could not move category","Could not move category"
+"Could not save category: %1","Could not save category: %1"
+"Cannot delete category with id %1","Cannot delete category with id %1"
"-- Please Select a Category --","-- Please Select a Category --"
"Grid Only","Grid Only"
"List Only","List Only"
@@ -326,6 +268,8 @@ frontend_label,frontend_label
"Automatic (equalize price ranges)","Automatic (equalize price ranges)"
"Automatic (equalize product counts)","Automatic (equalize product counts)"
Manual,Manual
+Fixed,Fixed
+Percent,Percent
"-- Please select --","-- Please select --"
"Product Thumbnail Itself","Product Thumbnail Itself"
"Parent Product Thumbnail","Parent Product Thumbnail"
@@ -338,106 +282,205 @@ Top/Right,Top/Right
Bottom/Left,Bottom/Left
Bottom/Right,Bottom/Right
Center,Center
-"Could not rebuild index for undefined product","Could not rebuild index for undefined product"
+"%1 doesn\'t extends \Magento\Framework\Model\AbstractModel","%1 doesn\'t extends \Magento\Framework\Model\AbstractModel"
+"Something went wrong while saving the file(s).","Something went wrong while saving the file(s)."
+"File can not be saved to the destination folder.","File can not be saved to the destination folder."
+"Unknown EAV indexer type ""%1"".","Unknown EAV indexer type ""%1""."
+"We can\'t rebuild the index for an undefined product.","We can\'t rebuild the index for an undefined product."
"Bad value was supplied.","Bad value was supplied."
-"The Flat Catalog module has a limit of %2\$d filterable and/or sortable attributes."" ""Currently there are %1\$d of them."" ""Please reduce the number of filterable/sortable attributes in order to use this module","The Flat Catalog module has a limit of %2\$d filterable and/or sortable attributes."" ""Currently there are %1\$d of them."" ""Please reduce the number of filterable/sortable attributes in order to use this module"
+"The Flat Catalog module has a limit of %2$d filterable and/or sortable attributes.Currently there are %1$d of them.Please reduce the number of filterable/sortable attributes in order to use this module","The Flat Catalog module has a limit of %2$d filterable and/or sortable attributes.Currently there are %1$d of them.Please reduce the number of filterable/sortable attributes in order to use this module"
"Unsupported product type ""%1"".","Unsupported product type ""%1""."
-"Index product and categories URL Rewrites","Index product and categories URL Rewrites"
-"The category must be an instance of \Magento\Catalog\Model\Category.","The category must be an instance of \Magento\Catalog\Model\Category."
"Please correct the category.","Please correct the category."
+"Must be category model instance or its id.","Must be category model instance or its id."
"The attribute model is not defined.","The attribute model is not defined."
Category,Category
"%1 - %2","%1 - %2"
-"The filter must be an object. Please set correct filter.","The filter must be an object. Please set correct filter."
-"%1 and above","%1 and above"
+"%1 was not found in algorithms","%1 was not found in algorithms"
+"%1 doesn\'t extend \Magento\Catalog\Model\Layer\Filter\Dynamic\AlgorithmInterface","%1 doesn\'t extend \Magento\Catalog\Model\Layer\Filter\Dynamic\AlgorithmInterface"
+"%1 doesn\'t extends \Magento\Catalog\Model\Layer\Filter\AbstractFilter","%1 doesn\'t extends \Magento\Catalog\Model\Layer\Filter\AbstractFilter"
+"The filter must be an object. Please set the correct filter.","The filter must be an object. Please set the correct filter."
"Clear Price","Clear Price"
+"%1 and above","%1 and above"
"The filters must be an array.","The filters must be an array."
-"We found a duplicate website group price customer group.","We found a duplicate website group price customer group."
"Group price must be a number greater than 0.","Group price must be a number greater than 0."
-"The image does not exist.","The image does not exist."
-"Please correct the image file type.","Please correct the image file type."
-"We couldn't move this file: %1.","We couldn't move this file: %1."
-"We couldn't copy file %1. Please delete media with non-existing images and try again.","We couldn't copy file %1. Please delete media with non-existing images and try again."
+"Media Gallery converter should be an instance of EntryConverterInterface.","Media Gallery converter should be an instance of EntryConverterInterface."
+"There is no MediaGalleryEntryConverter for given type","There is no MediaGalleryEntryConverter for given type"
"Please enter a number 0 or greater in this field.","Please enter a number 0 or greater in this field."
"The value of attribute ""%1"" must be set","The value of attribute ""%1"" must be set"
"SKU length should be %1 characters maximum.","SKU length should be %1 characters maximum."
-"The From Date value should be less than or equal to the To Date value.","The From Date value should be less than or equal to the To Date value."
+"Please enter a valid number in this field.","Please enter a valid number in this field."
"We found a duplicate website, tier price, customer group and quantity.","We found a duplicate website, tier price, customer group and quantity."
+"Invalid option id %1","Invalid option id %1"
+"Can not create attribute set based on non product attribute set.","Can not create attribute set based on non product attribute set."
+"Can not create attribute set based on not existing attribute set","Can not create attribute set based on not existing attribute set"
+"Provided Attribute set non product Attribute set.","Provided Attribute set non product Attribute set."
"Use config","Use config"
-"In Cart","In Cart"
-"Before Order Confirmation","Before Order Confirmation"
-"On Gesture","On Gesture"
-"We can't find the image file.","We can't find the image file."
-"Index product attributes for layered navigation building","Index product attributes for layered navigation building"
+Enabled,Enabled
+Disabled,Disabled
+"Attribute Set already exists.","Attribute Set already exists."
+"We couldn\'t copy file %1. Please delete media with non-existing images and try again.","We couldn\'t copy file %1. Please delete media with non-existing images and try again."
+"The image content is not valid.","The image content is not valid."
+"Cannot save product.","Cannot save product."
+"Failed to save new media gallery entry.","Failed to save new media gallery entry."
+"There is no image with provided ID.","There is no image with provided ID."
+"Such product doesn\'t exist","Such product doesn\'t exist"
+"Such image doesn\'t exist","Such image doesn\'t exist"
+"The image does not exist.","The image does not exist."
+"Please correct the image file type.","Please correct the image file type."
+"We couldn\'t move this file: %1.","We couldn\'t move this file: %1."
+"We can\'t find the image file.","We can\'t find the image file."
"The option type to get group instance is incorrect.","The option type to get group instance is incorrect."
"Select type options required values rows.","Select type options required values rows."
+"Could not remove custom option","Could not remove custom option"
"Please specify date required option(s).","Please specify date required option(s)."
"Please specify time required option(s).","Please specify time required option(s)."
-"Please specify the product's required option(s).","Please specify the product's required option(s)."
+"Please specify product\'s required option(s).","Please specify product\'s required option(s)."
"The option instance type in options group is incorrect.","The option instance type in options group is incorrect."
"The product instance type in options group is incorrect.","The product instance type in options group is incorrect."
"The configuration item option instance in options group is incorrect.","The configuration item option instance in options group is incorrect."
"The configuration item instance in options group is incorrect.","The configuration item instance in options group is incorrect."
"The BuyRequest instance in options group is incorrect.","The BuyRequest instance in options group is incorrect."
-"We couldn't add the product to the cart because of an option validation issue.","We couldn't add the product to the cart because of an option validation issue."
-"The file you uploaded is larger than %1 Megabytes allowed by server","The file you uploaded is larger than %1 Megabytes allowed by server"
+"We can\'t add the product to the cart because of an option validation issue.","We can\'t add the product to the cart because of an option validation issue."
+"%1 doesn\'t extends \Magento\Catalog\Model\Product\Option\Type\DefaultType","%1 doesn\'t extends \Magento\Catalog\Model\Product\Option\Type\DefaultType"
+"The file options format is not valid.","The file options format is not valid."
+px.,px.
"The file '%1' for '%2' has an invalid extension.","The file '%1' for '%2' has an invalid extension."
-"Maximum allowed image size for '%1' is %2x%3 px.","Maximum allowed image size for '%1' is %2x%3 px."
+"The maximum allowed image size for '%1' is %2x%3 px.","The maximum allowed image size for '%1' is %2x%3 px."
"The file '%1' you uploaded is larger than the %2 megabytes allowed by our server.","The file '%1' you uploaded is larger than the %2 megabytes allowed by our server."
-px.,px.
-"The file options format is not valid.","The file options format is not valid."
+"The file '%1' is empty. Please choose another one","The file '%1' is empty. Please choose another one"
+"The file '%1' is invalid. Please choose another one","The file '%1' is invalid. Please choose another one"
+"File \'%1\' is not an image.","File \'%1\' is not an image."
+"Validation failed. Required options were not filled or the file was not uploaded.","Validation failed. Required options were not filled or the file was not uploaded."
+"The file you uploaded is larger than %1 Megabytes allowed by server","The file you uploaded is larger than %1 Megabytes allowed by server"
+"Option required.","Option required."
+"The file is empty. Please choose another one","The file is empty. Please choose another one"
"Some of the selected item options are not currently available.","Some of the selected item options are not currently available."
"The text is too long.","The text is too long."
-"We can't create writeable directory ""%1"".","We can't create writeable directory ""%1""."
+"This product doesn\'t have tier price","This product doesn\'t have tier price"
+"Product hasn\'t group price with such data: customerGroupId = \'%1\', website = %2, qty = %3","Product hasn\'t group price with such data: customerGroupId = \'%1\', website = %2, qty = %3"
+"Invalid data provided for tier_price","Invalid data provided for tier_price"
+"Please provide valid data","Please provide valid data"
+"Values of following attributes are invalid: %1","Values of following attributes are invalid: %1"
+"Could not save group price","Could not save group price"
+"We can\'t create writeable directory ""%1"".","We can\'t create writeable directory ""%1""."
"The file upload failed.","The file upload failed."
"The product has required options.","The product has required options."
"Something went wrong while processing the request.","Something went wrong while processing the request."
+"%1 doesn\'t extends \Magento\Catalog\Model\Product\Type\AbstractType","%1 doesn\'t extends \Magento\Catalog\Model\Product\Type\AbstractType"
+"%1 doesn\'t extends \Magento\Catalog\Model\Product\Type\Price","%1 doesn\'t extends \Magento\Catalog\Model\Product\Type\Price"
"Not Visible Individually","Not Visible Individually"
+Search,Search
"Catalog, Search","Catalog, Search"
-"Something went wrong removing products from the websites.","Something went wrong removing products from the websites."
-"Something went wrong adding products to websites.","Something went wrong adding products to websites."
-"Attribute '%1' is locked. ","Attribute '%1' is locked. "
-"Do not change the scope. ","Do not change the scope. "
-"We found an unknown EAV indexer type ""%1"".","We found an unknown EAV indexer type ""%1""."
+"Something went wrong while removing products from the websites.","Something went wrong while removing products from the websites."
+"Something went wrong while adding products to websites.","Something went wrong while adding products to websites."
+"Group with id ""%1"" does not exist.","Group with id ""%1"" does not exist."
+"Attribute group that contains system attributes can not be deleted","Attribute group that contains system attributes can not be deleted"
+"Collection provider is not registered","Collection provider is not registered"
+"Unknown link type: %1","Unknown link type: %1"
+"Provided link type ""%1"" does not exist","Provided link type ""%1"" does not exist"
+"Invalid data provided for linked products","Invalid data provided for linked products"
+"Product with SKU %1 is not linked to product with SKU %2","Product with SKU %1 is not linked to product with SKU %2"
+"Product %1 doesn\'t have linked %2 as %3","Product %1 doesn\'t have linked %2 as %3"
+"Requested product doesn\'t exist","Requested product doesn\'t exist"
+"Requested product does not support images.","Requested product does not support images."
+"Product with SKU ""%1"" does not exist","Product with SKU ""%1"" does not exist"
+"Invalid product data: %1","Invalid product data: %1"
+"Unable to remove product %1","Unable to remove product %1"
+"There are not websites for assign to product","There are not websites for assign to product"
+"Could not assign product ""%1"" to websites ""%2""","Could not assign product ""%1"" to websites ""%2"""
+"Could not save product ""%1"" with websites %2","Could not save product ""%1"" with websites %2"
+"We cannot determine the field name.","We cannot determine the field name."
+"Attribute \'%1\' is locked. %2","Attribute \'%1\' is locked. %2"
+"Do not change the scope. %1","Do not change the scope. %1"
"A product type is not defined for the indexer.","A product type is not defined for the indexer."
-"Something went wrong saving the URL rewite.","Something went wrong saving the URL rewite."
+"%1 doesn\'t extend \Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\DefaultPrice","%1 doesn\'t extend \Magento\Catalog\Model\ResourceModel\Product\Indexer\Price\DefaultPrice"
"Multiple Select","Multiple Select"
Dropdown,Dropdown
-"Please specify either a category or a product, or both.","Please specify either a category or a product, or both."
-"A category object is required for determining the product request path.","A category object is required for determining the product request path."
-"As low as:","As low as:"
-"Are you sure you want to delete this category?","Are you sure you want to delete this category?"
-"ID: %1","ID: %1"
-"Set root category for this store in the configuration.","Set root category for this store in the configuration."
+"%1 doesn\'t extend \Magento\Framework\Filter\Template","%1 doesn\'t extend \Magento\Framework\Filter\Template"
+"As low as","As low as"
+message,message
+fl,fl
+123,123
+Images,Images
+Select...,Select...
+"Advanced Pricing","Advanced Pricing"
+"Tier Price","Tier Price"
+"Customer Group","Customer Group"
+"Special Price From","Special Price From"
+To,To
+Cancel,Cancel
+Done,Done
+"Add Selected","Add Selected"
+"Customizable Options","Customizable Options"
+"Custom options let customers choose the product variations they want.","Custom options let customers choose the product variations they want."
+"Add Option","Add Option"
+"New Option","New Option"
+"Select Product","Select Product"
+"Option Title","Option Title"
+"Add Value","Add Value"
+Title,Title
+"Option Type","Option Type"
+Required,Required
+"Price Type","Price Type"
+"Max Characters","Max Characters"
+"Compatible File Extensions","Compatible File Extensions"
+"Maximum Image Size","Maximum Image Size"
+"Please leave blank if it is not an image.","Please leave blank if it is not an image."
+%1,%1
+"This item has weight","This item has weight"
+"This item has no weight","This item has no weight"
+"Set Product as New From","Set Product as New From"
+"Related Products, Up-Sells, and Cross-Sells","Related Products, Up-Sells, and Cross-Sells"
+"Related products are shown to customers in addition to the item the customer is looking at.","Related products are shown to customers in addition to the item the customer is looking at."
+"Add Related Products","Add Related Products"
+"An up-sell item is offered to the customer as a pricier or higher-quality alternative to the product the customer is looking at.","An up-sell item is offered to the customer as a pricier or higher-quality alternative to the product the customer is looking at."
+"Add Up-Sell Products","Add Up-Sell Products"
+"Up-Sell Products","Up-Sell Products"
+"These ""impulse-buy"" products appear next to the shopping cart as cross-sells to the items already in the shopping cart.","These ""impulse-buy"" products appear next to the shopping cart as cross-sells to the items already in the shopping cart."
+"Add Cross-Sell Products","Add Cross-Sell Products"
+"Cross-Sell Products","Cross-Sell Products"
+"Add Selected Products","Add Selected Products"
+Remove,Remove
+Thumbnail,Thumbnail
+Actions,Actions
+"Schedule Update From","Schedule Update From"
+"Product in Websites","Product in Websites"
+"If your Magento site has multiple views, you can set the scope to apply to a specific view.","If your Magento site has multiple views, you can set the scope to apply to a specific view."
+name,name
+"Copy Data from","Copy Data from"
+"If there are no custom parent categories, please use the default parent category. You can reassign the category at any time in Products > Categories.","If there are no custom parent categories, please use the default parent category. You can reassign the category at any time in Products > Categories."
+"This operation can take a long time","This operation can take a long time"
"Collapse All","Collapse All"
"Expand All","Expand All"
-"Please confirm site switching. All data that hasn't been saved will be lost.","Please confirm site switching. All data that hasn't been saved will be lost."
+"Please confirm site switching. All data that hasn\'t been saved will be lost.","Please confirm site switching. All data that hasn\'t been saved will be lost."
+"Use Default Value","Use Default Value"
"Manage Titles (Size, Color, etc.)","Manage Titles (Size, Color, etc.)"
-"Manage Options (values of your attribute)","Manage Options (values of your attribute)"
+"Manage Options (Values of Your Attribute)","Manage Options (Values of Your Attribute)"
"Is Default","Is Default"
-"Add Option","Add Option"
"Sort Option","Sort Option"
Groups,Groups
-"Double click on a group to rename it","Double click on a group to rename it"
+"Double click on a group to rename it.","Double click on a group to rename it."
"Unassigned Attributes","Unassigned Attributes"
"A name is required.","A name is required."
"This group contains system attributes. Please move system attributes to another group and try again.","This group contains system attributes. Please move system attributes to another group and try again."
"Please enter a new group name.","Please enter a new group name."
"An attribute group named ""/name/"" already exists"".","An attribute group named ""/name/"" already exists""."
-"We're unable to complete this request.","We're unable to complete this request."
-"You cannot remove system attributes from this set.","You cannot remove system attributes from this set."
+"Sorry, we\'re unable to complete this request.","Sorry, we\'re unable to complete this request."
+"You can\'t remove attributes from this attribute set.","You can\'t remove attributes from this attribute set."
"Custom Options","Custom Options"
"This is a required option.","This is a required option."
-"Field is not complete","Field is not complete"
-"Allowed file extensions to upload","Allowed file extensions to upload"
+"The field isn\'t complete.","The field isn\'t complete."
+"Compatible file extensions to upload","Compatible file extensions to upload"
"Maximum image width","Maximum image width"
"Maximum image height","Maximum image height"
"Maximum number of characters:","Maximum number of characters:"
+"start typing to search template","start typing to search template"
"Product online","Product online"
"Product offline","Product offline"
"Product online status","Product online status"
"Manage Stock","Manage Stock"
-"Minimum Qty for Item's Status to be Out of Stock","Minimum Qty for Item's Status to be Out of Stock"
+Qty,Qty
+"Out-of-Stock Threshold","Out-of-Stock Threshold"
"Minimum Qty Allowed in Shopping Cart","Minimum Qty Allowed in Shopping Cart"
"Maximum Qty Allowed in Shopping Cart","Maximum Qty Allowed in Shopping Cart"
"Qty Uses Decimals","Qty Uses Decimals"
@@ -450,95 +493,96 @@ Backorders,Backorders
"Out of Stock","Out of Stock"
"Add Product To Websites","Add Product To Websites"
"Remove Product From Websites","Remove Product From Websites"
-"Items that you do not want to show in the catalog or search results should have status 'Disabled' in the desired store.","Items that you do not want to show in the catalog or search results should have status 'Disabled' in the desired store."
-"Bundle with dynamic pricing cannot include custom defined options. Options will not be saved.","Bundle with dynamic pricing cannot include custom defined options. Options will not be saved."
+"To hide an item in catalog or search results, set the status to ""Disabled"".","To hide an item in catalog or search results, set the status to ""Disabled""."
+"We can\'t save custom-defined options for bundles with dynamic pricing.","We can\'t save custom-defined options for bundles with dynamic pricing."
"Delete Custom Option","Delete Custom Option"
"Sort Custom Options","Sort Custom Options"
-"Allowed File Extensions","Allowed File Extensions"
-"Maximum Image Size","Maximum Image Size"
+"Input Type","Input Type"
"%1 x %2 px.","%1 x %2 px."
-"Please leave blank if it is not an image.","Please leave blank if it is not an image."
"Sort Custom Option","Sort Custom Option"
-"Max Characters","Max Characters"
-"Customer Group","Customer Group"
-"Delete Group Price","Delete Group Price"
"Item Price","Item Price"
+Action,Action
"and above","and above"
"Delete Tier","Delete Tier"
"Product In Websites","Product In Websites"
-"Items that you don't want to show in the catalog or search results should have status 'Disabled' in the desired store.","Items that you don't want to show in the catalog or search results should have status 'Disabled' in the desired store."
"(Copy data from: %1)","(Copy data from: %1)"
-"Remove Image","Remove Image"
+"Browse to find or drag image here","Browse to find or drag image here"
+"Delete image","Delete image"
+Hidden,Hidden
"Alt Text","Alt Text"
Role,Role
+"Image Size","Image Size"
+{size},{size}
+"Image Resolution","Image Resolution"
+"{width}^{height} px","{width}^{height} px"
"Hide from Product Page","Hide from Product Page"
-"Close panel","Close panel"
-"Regular Price:","Regular Price:"
-"Special Price:","Special Price:"
"Product Alerts","Product Alerts"
-"Qty for Item's Status to Become Out of Stock","Qty for Item's Status to Become Out of Stock"
-"Can be Divided into Multiple Boxes for Shipping","Can be Divided into Multiple Boxes for Shipping"
+"Allow Multiple Boxes for Shipping","Allow Multiple Boxes for Shipping"
+"start typing to search attribute","start typing to search attribute"
"Basic Settings","Basic Settings"
"Advanced Settings","Advanced Settings"
-"Select Product Actions","Select Product Actions"
-"Price as configured:","Price as configured:"
-"Click for price","Click for price"
-"What's this?","What's this?"
+"Changes have been made to this section that have not been saved.","Changes have been made to this section that have not been saved."
+"This tab contains invalid data. Please resolve this before saving.","This tab contains invalid data. Please resolve this before saving."
+"Mass Actions","Mass Actions"
+"Select All","Select All"
+"Unselect All","Unselect All"
+"Select Visible","Select Visible"
+"Unselect Visible","Unselect Visible"
+"Special Price","Special Price"
+"Regular Price","Regular Price"
"Buy %1 for: ","Buy %1 for: "
-"Buy %1 for %2","Buy %1 for %2"
-each,each
-and,and
-save,save
-"Actual Price","Actual Price"
+"Buy %1 for %2 each and save %4%","Buy %1 for %2 each and save %4%"
+"Buy %1 for %2 each","Buy %1 for %2 each"
"Shop By","Shop By"
"Shopping Options","Shopping Options"
"Compare Products","Compare Products"
-"1 item","1 item"
-"%1 items","%1 items"
"Print This Page","Print This Page"
"Remove Product","Remove Product"
-"Add to Wishlist","Add to Wishlist"
+"Add to Cart","Add to Cart"
+"In stock","In stock"
+"Out of stock","Out of stock"
+"Add to Wish List","Add to Wish List"
"You have no items to compare.","You have no items to compare."
-"Are you sure you would like to remove this item from the compare products?","Are you sure you would like to remove this item from the compare products?"
-"Are you sure you would like to remove all products from your comparison?","Are you sure you would like to remove all products from your comparison?"
"Remove This Item","Remove This Item"
Compare,Compare
"Clear All","Clear All"
Prev,Prev
-"There are no products matching the selection.","There are no products matching the selection."
+Next,Next
+"We can\'t find products matching the selection.","We can\'t find products matching the selection."
"Add to Compare","Add to Compare"
"Learn More","Learn More"
-"You may also be interested in the following product(s)","You may also be interested in the following product(s)"
+"We found other products you might like!","We found other products you might like!"
"More Choices:","More Choices:"
-"New Products","New Products"
"Check items to add to the cart or","Check items to add to the cart or"
"select all","select all"
-"View as","View as"
-"Sort By","Sort By"
-"Set Ascending Direction","Set Ascending Direction"
-"Set Descending Direction","Set Descending Direction"
"Items %1-%2 of %3","Items %1-%2 of %3"
"%1 Item","%1 Item"
-"%1 Item(s)","%1 Item(s)"
+"%1 Items","%1 Items"
Show,Show
-"Additional Information","Additional Information"
-"More Views","More Views"
-"Click on image to view it full sized","Click on image to view it full sized"
-"Click on image to zoom","Click on image to zoom"
-"Email to a Friend","Email to a Friend"
-Details,Details
-Template,Template
-"File extension not known or unsupported type.","File extension not known or unsupported type."
+"per page","per page"
+"Sort By","Sort By"
+"Set Ascending Direction","Set Ascending Direction"
+"Set Descending Direction","Set Descending Direction"
+"View as","View as"
+"More Information","More Information"
+Loading...,Loading...
+"* Required Fields","* Required Fields"
+Availability,Availability
+"Warning message","Warning message"
+Submit,Submit
+"We don\'t recognize or support this file extension type.","We don\'t recognize or support this file extension type."
"Configure Product","Configure Product"
+OK,OK
"Select type of option.","Select type of option."
"Please add rows to option.","Please add rows to option."
-"Select Product","Select Product"
+"Please select items.","Please select items."
"Choose existing category.","Choose existing category."
-"Create Category","Create Category"
+"Image Detail","Image Detail"
+Adding...,Adding...
+Added,Added
"unselect all","unselect all"
-"Maximal Depth","Maximal Depth"
-"Anchor Custom Text","Anchor Custom Text"
-"Anchor Custom Title","Anchor Custom Title"
+Inventory,Inventory
+"Catalog Section","Catalog Section"
"Product Fields Auto-Generation","Product Fields Auto-Generation"
"Mask for SKU","Mask for SKU"
"Use {{name}} as Product Name placeholder","Use {{name}} as Product Name placeholder"
@@ -547,7 +591,7 @@ Template,Template
"Use {{name}} as Product Name or {{sku}} as Product SKU placeholders","Use {{name}} as Product Name or {{sku}} as Product SKU placeholders"
"Mask for Meta Description","Mask for Meta Description"
"Use {{name}} and {{description}} as Product Name and Product Description placeholders","Use {{name}} and {{description}} as Product Name and Product Description placeholders"
-Frontend,Frontend
+Storefront,Storefront
"List Mode","List Mode"
"Products per Page on Grid Allowed Values","Products per Page on Grid Allowed Values"
Comma-separated.,Comma-separated.
@@ -564,45 +608,34 @@ Comma-separated.,Comma-separated.
"E.g. {{media url=""path/to/image.jpg""}} {{skin url=""path/to/picture.gif""}}. Dynamic directives parsing impacts catalog performance.","E.g. {{media url=""path/to/image.jpg""}} {{skin url=""path/to/picture.gif""}}. Dynamic directives parsing impacts catalog performance."
"Product Image Placeholders","Product Image Placeholders"
"Search Engine Optimization","Search Engine Optimization"
-"Category URL Suffix","Category URL Suffix"
-"You need to refresh the cache.","You need to refresh the cache."
-"Product URL Suffix","Product URL Suffix"
-"Use Categories Path for Product URLs","Use Categories Path for Product URLs"
-"Create Permanent Redirect for URLs if URL Key Changed","Create Permanent Redirect for URLs if URL Key Changed"
"Page Title Separator","Page Title Separator"
"Use Canonical Link Meta Tag For Categories","Use Canonical Link Meta Tag For Categories"
"Use Canonical Link Meta Tag For Products","Use Canonical Link Meta Tag For Products"
"Catalog Price Scope","Catalog Price Scope"
"This defines the base currency scope (""Currency Setup"" > ""Currency Options"" > ""Base Currency"").","This defines the base currency scope (""Currency Setup"" > ""Currency Options"" > ""Base Currency"")."
"Category Top Navigation","Category Top Navigation"
+"Maximal Depth","Maximal Depth"
"Date & Time Custom Options","Date & Time Custom Options"
"Use JavaScript Calendar","Use JavaScript Calendar"
"Date Fields Order","Date Fields Order"
"Time Format","Time Format"
"Year Range","Year Range"
"Please use a four-digit year format.","Please use a four-digit year format."
-"Product Image Watermarks","Product Image Watermarks"
-"Watermark Default Size","Watermark Default Size"
-"Watermark Opacity, Percent","Watermark Opacity, Percent"
-Watermark,Watermark
-"Watermark Position","Watermark Position"
"Use Static URLs for Media Content in WYSIWYG for Catalog","Use Static URLs for Media Content in WYSIWYG for Catalog"
"This applies only to catalog products and categories. Media content will be inserted into the editor as a static URL. Media content is not updated if the system configuration base URL changes.","This applies only to catalog products and categories. Media content will be inserted into the editor as a static URL. Media content is not updated if the system configuration base URL changes."
-"Minimum Advertised Price","Minimum Advertised Price"
-"Enable MAP","Enable MAP"
-"Warning! Applying MAP by default will hide all product prices on the front end.","Warning! Applying MAP by default will hide all product prices on the front end."
-"Display Actual Price","Display Actual Price"
-"Default Popup Text Message","Default Popup Text Message"
-"Default ""What's This"" Text Message","Default ""What's This"" Text Message"
+"Top Level Category","Top Level Category"
"Product Flat Data","Product Flat Data"
"Reorganize EAV product structure to flat structure","Reorganize EAV product structure to flat structure"
"Category Flat Data","Category Flat Data"
"Reorganize EAV category structure to flat structure","Reorganize EAV category structure to flat structure"
+"Category Products","Category Products"
"Indexed category/products association","Indexed category/products association"
"Product Categories","Product Categories"
"Indexed product/categories association","Indexed product/categories association"
"Product Price","Product Price"
"Index product prices","Index product prices"
+"Product EAV","Product EAV"
+"Index product EAV","Index product EAV"
"Catalog New Products List","Catalog New Products List"
"List of Products that are set as New","List of Products that are set as New"
"Display Type","Display Type"
@@ -612,6 +645,7 @@ Watermark,Watermark
"Display Page Control","Display Page Control"
"Number of Products per Page","Number of Products per Page"
"Number of Products to Display","Number of Products to Display"
+Template,Template
"New Products Grid Template","New Products Grid Template"
"New Products List Template","New Products List Template"
"New Products Images and Names Template","New Products Images and Names Template"
@@ -621,82 +655,62 @@ Watermark,Watermark
"86400 by default, if not set. To refresh instantly, clear the Blocks HTML Output cache.","86400 by default, if not set. To refresh instantly, clear the Blocks HTML Output cache."
"Catalog Product Link","Catalog Product Link"
"Link to a Specified Product","Link to a Specified Product"
-"If empty, the Product Name will be used","If empty, the Product Name will be used"
+"Select Product...","Select Product..."
+"Anchor Custom Text","Anchor Custom Text"
+"If empty, we'll use the product name here.","If empty, we'll use the product name here."
+"Anchor Custom Title","Anchor Custom Title"
"Product Link Block Template","Product Link Block Template"
"Product Link Inline Template","Product Link Inline Template"
"Catalog Category Link","Catalog Category Link"
"Link to a Specified Category","Link to a Specified Category"
-"If empty, the Category Name will be used","If empty, the Category Name will be used"
+"Select Category...","Select Category..."
+"If empty, we'll use the category name here.","If empty, we'll use the category name here."
"Category Link Block Template","Category Link Block Template"
"Category Link Inline Template","Category Link Inline Template"
Set,Set
-none,none
-Overview,Overview
-"Field ""%1"" was not found in DO ""%2"".","Field ""%1"" was not found in DO ""%2""."
-"Is Active","Is Active"
+"Category Information","Category Information"
+"Enable Category","Enable Category"
+"Include in Menu","Include in Menu"
+Content,Content
+"Category Image","Category Image"
+"Add CMS Block","Add CMS Block"
+"Display Settings","Display Settings"
+Anchor,Anchor
+"Sort Products By","Sort Products By"
+"Use All","Use All"
+"Default Product Sorting","Default Product Sorting"
+"Layered Navigation Price Step","Layered Navigation Price Step"
"URL Key","URL Key"
-"Description","Description"
-"Image","Image"
-"Page Title","Page Title"
+"Meta Title","Meta Title"
"Meta Keywords","Meta Keywords"
"Meta Description","Meta Description"
-"Include in Navigation Menu","Include in Navigation Menu"
-"Display Mode","Display Mode"
-"CMS Block","CMS Block"
-"Is Anchor","Is Anchor"
-"Available Product Listing Sort By","Available Product Listing Sort By"
-"Default Product Listing Sort By","Default Product Listing Sort By"
-"Layered Navigation Price Step","Layered Navigation Price Step"
+"Products in Category","Products in Category"
+Design,Design
"Use Parent Category Settings","Use Parent Category Settings"
-"Apply To Products","Apply To Products"
-"Active From","Active From"
-"Active To","Active To"
-"Page Layout","Page Layout"
-"Custom Layout Update","Custom Layout Update"
-"Name","Name"
-"Product Details","Product Details"
-Configurations,Configurations
-"Show / Hide Editor","Show / Hide Editor"
-"Is this downloadable Product?","Is this downloadable Product?"
-"Configurable products allow customers to choose options (Ex: shirt color).
-You need to create a simple product for each configuration (Ex: a product for each color).","Configurable products allow customers to choose options (Ex: shirt color).
-You need to create a simple product for each configuration (Ex: a product for each color)."
-"Create Configurations","Create Configurations"
-"Edit Configurations","Edit Configurations"
-"Display Settings","Display Settings"
-"Include in Navigation Menu","Include in Navigation Menu"
-"Display Mode","Display Mode"
-"CMS Block","CMS Block"
-"Is Anchor","Is Anchor"
-"Available Product Listing Sort By","Available Product Listing Sort By"
-"Default Product Listing Sort By","Default Product Listing Sort By"
-"Layered Navigation Price Step","Layered Navigation Price Step"
-"Use Parent Category Settings","Use Parent Category Settings"
-"Apply To Products","Apply To Products"
-"Active From","Active From"
-"Active To","Active To"
-"Custom Layout Update","Custom Layout Update"
-"Default View","Default View"
-Columns,Columns
-Filters,Filters
-Storefront,Storefront
-"Base Image","Base Image"
-"Small Image","Small Image"
-"Swatch Image","Swatch Image"
-"Out-of-Stock Threshold","Out-of-Stock Threshold"
-"Does this have a weight?","Does this have a weight?"
-"Add Price","Add Price"
-"Special Price From Date","Special Price From Date"
-"Special Price To Date","Special Price To Date"
-Cost,Cost
-"Tier Price","Tier Price"
-"Advanced Pricing","Advanced Pricing"
-Autosettings,Autosettings
-"Short Description","Short Description"
-"Set Product as New from Date","Set Product as New from Date"
-"Set Product as New to Date","Set Product as New to Date"
-"Country of Manufacture","Country of Manufacture"
-"Allow Gift Message","Allow Gift Message"
-"Meta Title","Meta Title"
-"Maximum 255 chars","Maximum 255 chars"
-"The file is empty. Please choose another one","The file is empty. Please choose another one"
+Theme,Theme
+Layout,Layout
+"Layout Update XML","Layout Update XML"
+"Apply Design to Products","Apply Design to Products"
+"Schedule Design Update","Schedule Design Update"
+AttributeSetText,AttributeSetText
+StatusText,StatusText
+"Product Image Watermarks","Product Image Watermarks"
+Base,Base
+Image,Image
+"Allowed file types: jpeg, gif, png.","Allowed file types: jpeg, gif, png."
+"Image Opacity","Image Opacity"
+"Example format: 200x300.","Example format: 200x300."
+"Image Position","Image Position"
+Small,Small
+"Attribute Label","Attribute Label"
+System,System
+"All Store Views","All Store Views"
+"Delete items","Delete items"
+"Delete selected items?","Delete selected items?"
+"Change status","Change status"
+Enable,Enable
+Disable,Disable
+"Update attributes","Update attributes"
+none,none
+Overview,Overview
+Details,Details
diff --git a/app/code/Magento/CatalogImportExport/composer.json b/app/code/Magento/CatalogImportExport/composer.json
index 632ba17f3a2c7..772f2116112a3 100644
--- a/app/code/Magento/CatalogImportExport/composer.json
+++ b/app/code/Magento/CatalogImportExport/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-catalog-import-export",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-catalog": "100.0.*",
"magento/module-catalog-url-rewrite": "100.0.*",
"magento/module-eav": "100.0.*",
diff --git a/app/code/Magento/CatalogImportExport/i18n/en_US.csv b/app/code/Magento/CatalogImportExport/i18n/en_US.csv
index 1dc4dab023054..23e3ae14a2c93 100644
--- a/app/code/Magento/CatalogImportExport/i18n/en_US.csv
+++ b/app/code/Magento/CatalogImportExport/i18n/en_US.csv
@@ -1,16 +1,19 @@
-"Entity type model must be an instance of' ' \Magento\CatalogImportExport\Model\Export\Product\Type\AbstractType","Entity type model must be an instance of' ' \Magento\CatalogImportExport\Model\Export\Product\Type\AbstractType"
-"There are no product types available for export","There are no product types available for export"
-"Entity type model must be an instance of ' 'Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType","Entity type model must be an instance of ' 'Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType"
-"Invalid custom option store.","Invalid custom option store."
-"Invalid custom option type.","Invalid custom option type."
-"Empty custom option title.","Empty custom option title."
-"Invalid custom option price.","Invalid custom option price."
-"Invalid custom option maximum characters value.","Invalid custom option maximum characters value."
-"Invalid custom option sort order.","Invalid custom option sort order."
-"Invalid custom option value price.","Invalid custom option value price."
-"Invalid custom option value sort order.","Invalid custom option value sort order."
-"Custom option with such title already declared in source file.","Custom option with such title already declared in source file."
-"There are several existing custom options with such name.","There are several existing custom options with such name."
+"Entity type model \'%1\' is not found","Entity type model \'%1\' is not found"
+"Entity type model must be an instance of \Magento\CatalogImportExport\Model\Export\Product\Type\AbstractType","Entity type model must be an instance of \Magento\CatalogImportExport\Model\Export\Product\Type\AbstractType"
+"There are no product types available for export.","There are no product types available for export."
+"Entity type model must be an instance of Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType","Entity type model must be an instance of Magento\CatalogImportExport\Model\Import\Product\Type\AbstractType"
+"Category ""%1"" has not been created.","Category ""%1"" has not been created."
+"File directory \'%1\' is not readable.","File directory \'%1\' is not readable."
+"File directory \'%1\' is not writable.","File directory \'%1\' is not writable."
+"Value for \'price\' sub attribute in \'store\' attribute contains incorrect value","Value for \'price\' sub attribute in \'store\' attribute contains incorrect value"
+"Value for \'type\' sub attribute in \'custom_options\' attribute contains incorrect value, acceptable values are: \'dropdown\', \'checkbox\'","Value for \'type\' sub attribute in \'custom_options\' attribute contains incorrect value, acceptable values are: \'dropdown\', \'checkbox\'"
+"Please enter a value for title.","Please enter a value for title."
+"Value for \'price\' sub attribute in \'custom_options\' attribute contains incorrect value","Value for \'price\' sub attribute in \'custom_options\' attribute contains incorrect value"
+"Value for \'maximum characters\' sub attribute in \'custom_options\' attribute contains incorrect value","Value for \'maximum characters\' sub attribute in \'custom_options\' attribute contains incorrect value"
+"Value for \'sort order\' sub attribute in \'custom_options\' attribute contains incorrect value","Value for \'sort order\' sub attribute in \'custom_options\' attribute contains incorrect value"
+"Value for \'value price\' sub attribute in \'custom_options\' attribute contains incorrect value","Value for \'value price\' sub attribute in \'custom_options\' attribute contains incorrect value"
+"This name is already being used for custom option. Please enter a different name.","This name is already being used for custom option. Please enter a different name."
"Custom options have different types.","Custom options have different types."
-"Option entity must have a parent product entity.","Option entity must have a parent product entity."
+"Every option entity must have a parent product entity.","Every option entity must have a parent product entity."
"Please correct the parameters.","Please correct the parameters."
+"File \'%1\' was not found or has read restriction.","File \'%1\' was not found or has read restriction."
diff --git a/app/code/Magento/CatalogInventory/composer.json b/app/code/Magento/CatalogInventory/composer.json
index 04ed15b9fb90d..28591610e2a39 100644
--- a/app/code/Magento/CatalogInventory/composer.json
+++ b/app/code/Magento/CatalogInventory/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-catalog-inventory",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-config": "100.0.*",
"magento/module-store": "100.0.*",
"magento/module-catalog": "100.0.*",
diff --git a/app/code/Magento/CatalogInventory/i18n/en_US.csv b/app/code/Magento/CatalogInventory/i18n/en_US.csv
index bc03c0c7d4795..6dbbf9a2d2b7a 100644
--- a/app/code/Magento/CatalogInventory/i18n/en_US.csv
+++ b/app/code/Magento/CatalogInventory/i18n/en_US.csv
@@ -1,41 +1,44 @@
-Qty,Qty
"ALL GROUPS","ALL GROUPS"
-"Unsupported product type ""%1"".","Unsupported product type ""%1""."
-"Manage Stock","Manage Stock"
-"Minimum Qty Allowed in Shopping Cart","Minimum Qty Allowed in Shopping Cart"
-"Maximum Qty Allowed in Shopping Cart","Maximum Qty Allowed in Shopping Cart"
-Backorders,Backorders
-"Notify for Quantity Below","Notify for Quantity Below"
-"Enable Qty Increments","Enable Qty Increments"
-"Qty Increments","Qty Increments"
-"In Stock","In Stock"
-"Out of Stock","Out of Stock"
"Customer Group","Customer Group"
"Minimum Qty","Minimum Qty"
"Add Minimum Qty","Add Minimum Qty"
-"Stock Status","Stock Status"
-"Index Product Stock Status","Index Product Stock Status"
+"We can\'t rebuild the index for an undefined product.","We can\'t rebuild the index for an undefined product."
+"Could not rebuild index for empty products array","Could not rebuild index for empty products array"
+"Invalid stock id: %1. Only default stock with id %2 allowed","Invalid stock id: %1. Only default stock with id %2 allowed"
+"Invalid stock item id: %1. Should be null or numeric value greater than 0","Invalid stock item id: %1. Should be null or numeric value greater than 0"
+"Invalid stock item id: %1. Assigned stock item id is %2","Invalid stock item id: %1. Assigned stock item id is %2"
+"The stock item for Product is not valid.","The stock item for Product is not valid."
"This product is out of stock.","This product is out of stock."
-"Some of the products are currently out of stock.","Some of the products are currently out of stock."
+"Some of the products are out of stock.","Some of the products are out of stock."
"The stock item for Product in option is not valid.","The stock item for Product in option is not valid."
"Undefined product type","Undefined product type"
"%1 is not a correct comparison method.","%1 is not a correct comparison method."
"No Backorders","No Backorders"
"Allow Qty Below 0","Allow Qty Below 0"
"Allow Qty Below 0 and Notify Customer","Allow Qty Below 0 and Notify Customer"
+"In Stock","In Stock"
+"Out of Stock","Out of Stock"
+"Stock Item with id ""%1"" does not exist.","Stock Item with id ""%1"" does not exist."
+"Stock with id ""%1"" does not exist.","Stock with id ""%1"" does not exist."
"Not all of your products are available in the requested quantity.","Not all of your products are available in the requested quantity."
-"We cannot specify a product identifier for the order item.","We cannot specify a product identifier for the order item."
+"Product with SKU ""%1"" does not exist","Product with SKU ""%1"" does not exist"
"The fewest you may purchase is %1.","The fewest you may purchase is %1."
"Please correct the quantity for some products.","Please correct the quantity for some products."
"The most you may purchase is %1.","The most you may purchase is %1."
-"We don't have as many ""%1"" as you requested.","We don't have as many ""%1"" as you requested."
-"We don't have as many ""%1"" as you requested, but we'll back order the remaining %2.","We don't have as many ""%1"" as you requested, but we'll back order the remaining %2."
-"We don't have ""%1"" in the requested quantity, so we'll back order the remaining %2.","We don't have ""%1"" in the requested quantity, so we'll back order the remaining %2."
-"You can buy %1 only in increments of %2.","You can buy %1 only in increments of %2."
-"You can buy this product only in increments of %1.","You can buy this product only in increments of %1."
-"%1 is available for purchase in increments of %2","%1 is available for purchase in increments of %2"
+"We don\'t have as many ""%1"" as you requested.","We don\'t have as many ""%1"" as you requested."
+"We don\'t have as many ""%1"" as you requested, but we\'ll back order the remaining %2.","We don\'t have as many ""%1"" as you requested, but we\'ll back order the remaining %2."
+"We don\'t have ""%1"" in the requested quantity, so we\'ll back order the remaining %2.","We don\'t have ""%1"" in the requested quantity, so we\'ll back order the remaining %2."
+"You can buy %1 only in quantities of %2 at a time.","You can buy %1 only in quantities of %2 at a time."
+"You can buy this product only in quantities of %1 at a time.","You can buy this product only in quantities of %1 at a time."
+"Decimal qty increments is not allowed.","Decimal qty increments is not allowed."
+"Stock Status","Stock Status"
+"Advanced Inventory","Advanced Inventory"
+"%1 is available to buy in increments of %2","%1 is available to buy in increments of %2"
"Only %1 left","Only %1 left"
+"Product availability","Product availability"
"Product Name","Product Name"
+Qty,Qty
+"Inventory Section","Inventory Section"
Inventory,Inventory
"Stock Options","Stock Options"
"Decrease Stock When Order is Placed","Decrease Stock When Order is Placed"
@@ -43,14 +46,26 @@ Inventory,Inventory
"Display Out of Stock Products","Display Out of Stock Products"
"Products will still be shown by direct product URLs.","Products will still be shown by direct product URLs."
"Only X left Threshold","Only X left Threshold"
-"Display products availability in stock in the frontend","Display products availability in stock in the frontend"
+"Display Products Availability in Stock on Storefront","Display Products Availability in Stock on Storefront"
"Product Stock Options","Product Stock Options"
"
Please note that these settings apply to individual items in the cart, not to the entire cart.
","
Please note that these settings apply to individual items in the cart, not to the entire cart.
"
-"Qty for Item's Status to Become Out of Stock","Qty for Item's Status to Become Out of Stock"
+"Manage Stock","Manage Stock"
+Backorders,Backorders
+"Maximum Qty Allowed in Shopping Cart","Maximum Qty Allowed in Shopping Cart"
+"Out-of-Stock Threshold","Out-of-Stock Threshold"
+"Minimum Qty Allowed in Shopping Cart","Minimum Qty Allowed in Shopping Cart"
+"Notify for Quantity Below","Notify for Quantity Below"
"Automatically Return Credit Memo Item to Stock","Automatically Return Credit Memo Item to Stock"
-"Display products availability in stock on Storefront.","Display products availability in stock on Storefront."
-"Changing can take some time due to processing whole catalog.","Changing can take some time due to processing whole catalog."
+"Enable Qty Increments","Enable Qty Increments"
+"Qty Increments","Qty Increments"
+Stock,Stock
+"Index stock","Index stock"
+"Use Config Settings","Use Config Settings"
+"Qty Uses Decimals","Qty Uses Decimals"
+"Allow Multiple Boxes for Shipping","Allow Multiple Boxes for Shipping"
+"Use deferred Stock update","Use deferred Stock update"
+Quantity,Quantity
diff --git a/app/code/Magento/CatalogRule/composer.json b/app/code/Magento/CatalogRule/composer.json
index 7d952f9cdd576..266699c658b0c 100644
--- a/app/code/Magento/CatalogRule/composer.json
+++ b/app/code/Magento/CatalogRule/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-catalog-rule",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/module-rule": "100.0.*",
"magento/module-catalog": "100.0.*",
diff --git a/app/code/Magento/CatalogRule/i18n/en_US.csv b/app/code/Magento/CatalogRule/i18n/en_US.csv
index 733899349f2fa..2975dffc57739 100644
--- a/app/code/Magento/CatalogRule/i18n/en_US.csv
+++ b/app/code/Magento/CatalogRule/i18n/en_US.csv
@@ -1,63 +1,41 @@
-Product,Product
-ID,ID
-SKU,SKU
-Apply,Apply
-No,No
-Yes,Yes
-"Web Site","Web Site"
-Status,Status
+"Delete Rule","Delete Rule"
+"Are you sure you want to do this?","Are you sure you want to do this?"
+Reset,Reset
+"Save and Apply","Save and Apply"
"Save and Continue Edit","Save and Continue Edit"
-Type,Type
-Description,Description
-From,From
-To,To
-Catalog,Catalog
-Actions,Actions
-Rule,Rule
-"Start on","Start on"
-"End on","End on"
-Active,Active
-"This rule no longer exists.","This rule no longer exists."
-"General Information","General Information"
-Websites,Websites
-"Attribute Set","Attribute Set"
-"Apply Rules","Apply Rules"
-"Catalog Price Rules","Catalog Price Rules"
+Save,Save
+"Catalog Price Rule","Catalog Price Rule"
"Add New Rule","Add New Rule"
-"Save and Apply","Save and Apply"
-"Edit Rule '%1'","Edit Rule '%1'"
-"New Rule","New Rule"
-"Rule Information","Rule Information"
-"Update Prices Using the Following Information","Update Prices Using the Following Information"
-"By Percentage of the Original Price","By Percentage of the Original Price"
-"By Fixed Amount","By Fixed Amount"
-"To Percentage of the Original Price","To Percentage of the Original Price"
-"To Fixed Amount","To Fixed Amount"
-"Discount Amount","Discount Amount"
-"Enable Discount to Subproducts","Enable Discount to Subproducts"
-"Stop Further Rules Processing","Stop Further Rules Processing"
+"Apply Rules","Apply Rules"
Conditions,Conditions
-"Conditions (leave blank for all products)","Conditions (leave blank for all products)"
-"Rule Name","Rule Name"
-Inactive,Inactive
-"Customer Groups","Customer Groups"
-"From Date","From Date"
-"To Date","To Date"
-Priority,Priority
-"Catalog Price Rule","Catalog Price Rule"
+"Conditions (don\'t add conditions if rule is applied to all products)","Conditions (don\'t add conditions if rule is applied to all products)"
+ID,ID
+Type,Type
+"Attribute Set","Attribute Set"
+SKU,SKU
+Product,Product
Promotions,Promotions
-Promo,Promo
+"We found updated rules that are not applied. Please click ""Apply Rules"" to update your catalog.","We found updated rules that are not applied. Please click ""Apply Rules"" to update your catalog."
+"We can\'t apply the rules.","We can\'t apply the rules."
+"You deleted the rule.","You deleted the rule."
+"We can\'t delete this rule right now. Please review the log and try again.","We can\'t delete this rule right now. Please review the log and try again."
+"We can\'t find a rule to delete.","We can\'t find a rule to delete."
+"This rule no longer exists.","This rule no longer exists."
"New Catalog Price Rule","New Catalog Price Rule"
"Edit Rule","Edit Rule"
-"Wrong rule specified.","Wrong rule specified."
-"The rule has been saved.","The rule has been saved."
-"An error occurred while saving the rule data. Please review the log and try again.","An error occurred while saving the rule data. Please review the log and try again."
-"The rule has been deleted.","The rule has been deleted."
-"An error occurred while deleting the rule. Please review the log and try again.","An error occurred while deleting the rule. Please review the log and try again."
-"Unable to find a rule to delete.","Unable to find a rule to delete."
-"Unable to apply rules.","Unable to apply rules."
-"There are rules that have been changed but were not applied. Please, click Apply Rules in order to see immediate effect in the catalog.","There are rules that have been changed but were not applied. Please, click Apply Rules in order to see immediate effect in the catalog."
-"%1 Catalog Price Rules based on ""%2"" attribute have been disabled.","%1 Catalog Price Rules based on ""%2"" attribute have been disabled."
+"New Rule","New Rule"
+Catalog,Catalog
+"You saved the rule.","You saved the rule."
+"Something went wrong while saving the rule data. Please review the error log.","Something went wrong while saving the rule data. Please review the error log."
+Promo,Promo
+"Unable to save rule %1","Unable to save rule %1"
+"Rule with specified ID ""%1"" not found.","Rule with specified ID ""%1"" not found."
+"Unable to remove rule %1","Unable to remove rule %1"
+"Could not rebuild index for empty products array","Could not rebuild index for empty products array"
+"We can\'t rebuild the index for an undefined product.","We can\'t rebuild the index for an undefined product."
+"Percentage discount should be between 0 and 100.","Percentage discount should be between 0 and 100."
+"Discount value should be 0 or greater.","Discount value should be 0 or greater."
+"Unknown action.","Unknown action."
"Update the Product","Update the Product"
"Rule price","Rule price"
"To Fixed Value","To Fixed Value"
@@ -65,11 +43,27 @@ Promo,Promo
"By Fixed value","By Fixed value"
"By Percentage","By Percentage"
"Update product's %1 %2: %3","Update product's %1 %2: %3"
+"Apply as percentage of original","Apply as percentage of original"
+"Apply as fixed amount","Apply as fixed amount"
+"Adjust final price to this percentage","Adjust final price to this percentage"
+"Adjust final price to discount value","Adjust final price to discount value"
"Conditions Combination","Conditions Combination"
"Product Attribute","Product Attribute"
-"The rules have been applied.","The rules have been applied."
-"Percentage discount should be between 0 and 100.","Percentage discount should be between 0 and 100."
-"Discount value should be 0 or greater.","Discount value should be 0 or greater."
-"Unknown action.","Unknown action."
-"Subproduct discounts","Subproduct discounts"
-"Discard subsequent rules","Discard subsequent rules"
+Active,Active
+Inactive,Inactive
+Yes,Yes
+No,No
+"Updated rules applied.","Updated rules applied."
+"You disabled %1 Catalog Price Rules based on ""%2"" attribute.","You disabled %1 Catalog Price Rules based on ""%2"" attribute."
+"Catalog Rule Product","Catalog Rule Product"
+"Indexed rule/product association","Indexed rule/product association"
+"Catalog Product Rule","Catalog Product Rule"
+"Indexed product/rule association","Indexed product/rule association"
+Rule,Rule
+Start,Start
+End,End
+Status,Status
+"Web Site","Web Site"
+Back,Back
+"Rule Information","Rule Information"
+Actions,Actions
diff --git a/app/code/Magento/CatalogRuleConfigurable/composer.json b/app/code/Magento/CatalogRuleConfigurable/composer.json
index 9e5ec8e6ca8bb..34dc042a562ce 100644
--- a/app/code/Magento/CatalogRuleConfigurable/composer.json
+++ b/app/code/Magento/CatalogRuleConfigurable/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-catalog-rule-configurable",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-configurable-product": "100.0.*",
"magento/framework": "100.0.*",
"magento/magento-composer-installer": "*"
diff --git a/app/code/Magento/CatalogSearch/composer.json b/app/code/Magento/CatalogSearch/composer.json
index c28e68838c7a9..709009300b724 100644
--- a/app/code/Magento/CatalogSearch/composer.json
+++ b/app/code/Magento/CatalogSearch/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-catalog-search",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/module-catalog": "100.0.*",
"magento/module-search": "100.0.*",
diff --git a/app/code/Magento/CatalogSearch/i18n/en_US.csv b/app/code/Magento/CatalogSearch/i18n/en_US.csv
index d701c5b14a78d..1a4a11594f4de 100644
--- a/app/code/Magento/CatalogSearch/i18n/en_US.csv
+++ b/app/code/Magento/CatalogSearch/i18n/en_US.csv
@@ -1,53 +1,36 @@
+Home,Home
+"Go to Home Page","Go to Home Page"
+"Catalog Advanced Search","Catalog Advanced Search"
All,All
-"Are you sure?","Are you sure?"
+Yes,Yes
No,No
-Action,Action
-Edit,Edit
Results,Results
-Uses,Uses
-Delete,Delete
-Store,Store
-Yes,Yes
-Home,Home
-Search,Search
-"Search Query","Search Query"
-"Redirect URL","Redirect URL"
-"Go to Home Page","Go to Home Page"
Grid,Grid
List,List
-"Catalog Advanced Search","Catalog Advanced Search"
+"Search Weight","Search Weight"
Relevance,Relevance
"Search results for: '%1'","Search results for: '%1'"
"Minimum Search query length is %1","Minimum Search query length is %1"
-"Your search query can't be longer than %1, so we had to shorten your query.","Your search query can't be longer than %1, so we had to shorten your query."
-"Sorry, but the maximum word count is %1. We left out this part of your search: %2.","Sorry, but the maximum word count is %1. We left out this part of your search: %2."
"Please specify at least one search term.","Please specify at least one search term."
"%1 and greater","%1 and greater"
"up to %1","up to %1"
-"Attribute setting change related with Search Index. Please run Rebuild Search Index process.","Attribute setting change related with Search Index. Please run Rebuild Search Index process."
-"Catalog Search","Catalog Search"
-"Rebuild Catalog product fulltext search index","Rebuild Catalog product fulltext search index"
-"Please specify correct data.","Please specify correct data."
+Category,Category
+"%1 and above","%1 and above"
+"%1 - %2","%1 - %2"
+"Bucket do not exists","Bucket do not exists"
+Product,Product
"Search Settings","Search Settings"
+Search,Search
+"Advanced Search","Advanced Search"
"%1 item were found using the following search criteria","%1 item were found using the following search criteria"
"%1 items were found using the following search criteria","%1 items were found using the following search criteria"
-"No items were found using the following search criteria.","No items were found using the following search criteria."
-"Modify your search","Modify your search"
+"We can\'t find any items matching these search criteria.","We can\'t find any items matching these search criteria."
+"Modify your search.","Modify your search."
name,name
"Don't see what you're looking for?","Don't see what you're looking for?"
-"Search entire store here...","Search entire store here..."
-"Advanced Search","Advanced Search"
-"Your search returns no results.","Your search returns no results."
-"There are no search terms available.","There are no search terms available."
+"Your search returned no results.","Your search returned no results."
"Popular Search Terms","Popular Search Terms"
+"Catalog Search","Catalog Search"
"Minimal Query Length","Minimal Query Length"
"Maximum Query Length","Maximum Query Length"
-"Maximum Query Words Count","Maximum Query Words Count"
-"Applies for ""Like"" search type only","Applies for ""Like"" search type only"
-"Search Type","Search Type"
-"Apply Layered Navigation if Search Results are Less Than","Apply Layered Navigation if Search Results are Less Than"
-"Enter ""0"" to enable layered navigation for any number of results.","Enter ""0"" to enable layered navigation for any number of results."
-Synonym,Synonym
-"Suggested Terms","Suggested Terms"
-yes,yes
-no,no
+"Rebuild Catalog product fulltext search index","Rebuild Catalog product fulltext search index"
diff --git a/app/code/Magento/CatalogUrlRewrite/composer.json b/app/code/Magento/CatalogUrlRewrite/composer.json
index d2c599cab9b5b..c8d623707961a 100644
--- a/app/code/Magento/CatalogUrlRewrite/composer.json
+++ b/app/code/Magento/CatalogUrlRewrite/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-catalog-url-rewrite",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-backend": "100.0.*",
"magento/module-catalog": "100.0.*",
"magento/module-catalog-import-export": "100.0.*",
diff --git a/app/code/Magento/CatalogUrlRewrite/i18n/en_US.csv b/app/code/Magento/CatalogUrlRewrite/i18n/en_US.csv
index e69de29bb2d1d..4d281e9158b44 100644
--- a/app/code/Magento/CatalogUrlRewrite/i18n/en_US.csv
+++ b/app/code/Magento/CatalogUrlRewrite/i18n/en_US.csv
@@ -0,0 +1,6 @@
+"Create Permanent Redirect for old URL","Create Permanent Redirect for old URL"
+"Category URL Suffix","Category URL Suffix"
+"You need to refresh the cache.","You need to refresh the cache."
+"Product URL Suffix","Product URL Suffix"
+"Use Categories Path for Product URLs","Use Categories Path for Product URLs"
+"Create Permanent Redirect for URLs if URL Key Changed","Create Permanent Redirect for URLs if URL Key Changed"
diff --git a/app/code/Magento/CatalogWidget/composer.json b/app/code/Magento/CatalogWidget/composer.json
index 70ac4a7591a73..6d597ec668475 100644
--- a/app/code/Magento/CatalogWidget/composer.json
+++ b/app/code/Magento/CatalogWidget/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-catalog-widget",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-catalog": "100.0.*",
"magento/module-widget": "100.0.*",
"magento/module-backend": "100.0.*",
diff --git a/app/code/Magento/CatalogWidget/i18n/en_US.csv b/app/code/Magento/CatalogWidget/i18n/en_US.csv
index e69de29bb2d1d..9ecde5cb1a062 100644
--- a/app/code/Magento/CatalogWidget/i18n/en_US.csv
+++ b/app/code/Magento/CatalogWidget/i18n/en_US.csv
@@ -0,0 +1,20 @@
+"Conditions Combination","Conditions Combination"
+"Product Attribute","Product Attribute"
+SKU,SKU
+"Please choose a condition to add.","Please choose a condition to add."
+"Add to Cart","Add to Cart"
+"In stock","In stock"
+"Out of stock","Out of stock"
+"Add to Wish List","Add to Wish List"
+"Add to Compare","Add to Compare"
+"Catalog Products List","Catalog Products List"
+"List of Products","List of Products"
+Title,Title
+"Display Page Control","Display Page Control"
+"Number of Products per Page","Number of Products per Page"
+"Number of Products to Display","Number of Products to Display"
+Template,Template
+"Products Grid Template","Products Grid Template"
+"Cache Lifetime (Seconds)","Cache Lifetime (Seconds)"
+"86400 by default, if not set. To refresh instantly, clear the Blocks HTML Output cache.","86400 by default, if not set. To refresh instantly, clear the Blocks HTML Output cache."
+Conditions,Conditions
diff --git a/app/code/Magento/Checkout/composer.json b/app/code/Magento/Checkout/composer.json
index eee7683d44b25..6dfe4e22c7b2d 100644
--- a/app/code/Magento/Checkout/composer.json
+++ b/app/code/Magento/Checkout/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-checkout",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/module-sales": "100.0.*",
"magento/module-backend": "100.0.*",
diff --git a/app/code/Magento/Checkout/i18n/en_US.csv b/app/code/Magento/Checkout/i18n/en_US.csv
index 5d2f1d9d266a2..644bce05d45ab 100644
--- a/app/code/Magento/Checkout/i18n/en_US.csv
+++ b/app/code/Magento/Checkout/i18n/en_US.csv
@@ -1,167 +1,164 @@
-Remove,Remove
-Back,Back
-Price,Price
"Shopping Cart","Shopping Cart"
-"You added %1 to your shopping cart.","You added %1 to your shopping cart."
-"The coupon code ""%1"" is not valid.","The coupon code ""%1"" is not valid."
-"Shopping Cart Items","Shopping Cart Items"
-Qty,Qty
-Subtotal,Subtotal
-"Excl. Tax","Excl. Tax"
-Total,Total
-"Incl. Tax","Incl. Tax"
-"Total incl. tax","Total incl. tax"
-"Move to Wishlist","Move to Wishlist"
-"Edit item parameters","Edit item parameters"
-Edit,Edit
-"Remove item","Remove item"
-Item,Item
-"Unit Price","Unit Price"
-Loading...,Loading...
-"* Required Fields","* Required Fields"
-Change,Change
-"See price before order confirmation.","See price before order confirmation."
-"What's this?","What's this?"
-"1 item","1 item"
-"%1 items","%1 items"
-"Product Name","Product Name"
"Invalid method: %1","Invalid method: %1"
+City,City
+Country,Country
+State/Province,State/Province
+"Zip/Postal Code","Zip/Postal Code"
"My Cart (1 item)","My Cart (1 item)"
"My Cart (%1 items)","My Cart (%1 items)"
"My Cart","My Cart"
-"New Address","New Address"
-Country,Country
-State/Province,State/Province
-"Billing Information","Billing Information"
-"Checkout Method","Checkout Method"
-"Payment Information","Payment Information"
-"Order Review","Order Review"
-"Shipping Information","Shipping Information"
-"Shipping Method","Shipping Method"
"Minimum order amount is %1","Minimum order amount is %1"
-"We cannot add this item to your shopping cart","We cannot add this item to your shopping cart"
+"For delivery questions.","For delivery questions."
+"Customer is already registered","Customer is already registered"
+"Your session has expired","Your session has expired"
+"You added %1 to your shopping cart.","You added %1 to your shopping cart."
+"We can\'t add this item to your shopping cart right now.","We can\'t add this item to your shopping cart right now."
+"Out of stock","Out of stock"
"We can't find the quote item.","We can't find the quote item."
"We cannot configure the product.","We cannot configure the product."
-"%1 was updated in your shopping cart.","%1 was updated in your shopping cart."
-"We cannot update the item.","We cannot update the item."
-"We cannot update the shopping cart.","We cannot update the shopping cart."
-"We cannot remove the item.","We cannot remove the item."
-"The coupon code ""%1"" was applied.","The coupon code ""%1"" was applied."
-"The coupon code was canceled.","The coupon code was canceled."
+"You used coupon code ""%1"".","You used coupon code ""%1""."
+"The coupon code ""%1"" is not valid.","The coupon code ""%1"" is not valid."
+"You canceled the coupon code.","You canceled the coupon code."
"We cannot apply the coupon code.","We cannot apply the coupon code."
-"The onepage checkout is disabled.","The onepage checkout is disabled."
+"We can\'t remove the item.","We can\'t remove the item."
+"%1 was updated in your shopping cart.","%1 was updated in your shopping cart."
+"We can\'t update the item right now.","We can\'t update the item right now."
+"We can\'t update the shopping cart.","We can\'t update the shopping cart."
+"One-page checkout is turned off.","One-page checkout is turned off."
+"Guest checkout is disabled.","Guest checkout is disabled."
Checkout,Checkout
-"Unable to set Payment Method","Unable to set Payment Method"
+"Page not found.","Page not found."
"Please agree to all the terms and conditions before placing the order.","Please agree to all the terms and conditions before placing the order."
-"Something went wrong processing your order. Please try again later.","Something went wrong processing your order. Please try again later."
-"We can't find the product.","We can't find the product."
+"Something went wrong while processing your order. Please try again later.","Something went wrong while processing your order. Please try again later."
+"%1 doesn\'t extend \Magento\Checkout\CustomerData\ItemInterface","%1 doesn\'t extend \Magento\Checkout\CustomerData\ItemInterface"
+"We can\'t find the product.","We can\'t find the product."
"The product does not exist.","The product does not exist."
"We don't have some of the products you want.","We don't have some of the products you want."
"We don't have as many of some products as you want.","We don't have as many of some products as you want."
"Quantity was recalculated from %1 to %2","Quantity was recalculated from %1 to %2"
-"Some products quantities were recalculated because of quantity increment mismatch.","Some products quantities were recalculated because of quantity increment mismatch."
+"We adjusted product quantities to fit the required increments.","We adjusted product quantities to fit the required increments."
"This quote item does not exist.","This quote item does not exist."
"Display number of items in cart","Display number of items in cart"
"Display item quantities","Display item quantities"
-"Load customer quote error","Load customer quote error"
+"Cannot place order","Cannot place order"
+"Shipping address is not set","Shipping address is not set"
+"Unable to save address. Please check input data.","Unable to save address. Please check input data."
+"Carrier with such method not found: %1, %2","Carrier with such method not found: %1, %2"
+"Unable to save shipping information. Please check input data.","Unable to save shipping information. Please check input data."
+"Cart contains virtual product(s) only. Shipping address is not applicable.","Cart contains virtual product(s) only. Shipping address is not applicable."
+"Shipping method is not applicable for empty cart","Shipping method is not applicable for empty cart"
+" item"," item"
+" items"," items"
+"Totals calculation is not applicable to empty cart","Totals calculation is not applicable to empty cart"
"Invalid data","Invalid data"
"The customer address is not valid.","The customer address is not valid."
-"There is already a registered customer using this email address. Please log in using this email address or enter a different email address to register your account.","There is already a registered customer using this email address. Please log in using this email address or enter a different email address to register your account."
-"Password and password confirmation are not equal.","Password and password confirmation are not equal."
"Invalid shipping method","Invalid shipping method"
-"There are more than one shipping address.","There are more than one shipping address."
-"Sorry, guest checkout is not enabled.","Sorry, guest checkout is not enabled."
-"Account confirmation is required. Please, check your e-mail for confirmation link. To resend confirmation email please click here.","Account confirmation is required. Please, check your e-mail for confirmation link. To resend confirmation email please click here."
-"Discount Codes","Discount Codes"
-"Enter your code","Enter your code"
-"Apply Coupon","Apply Coupon"
+"There are more than one shipping addresses.","There are more than one shipping addresses."
+"Sorry, guest checkout is not available.","Sorry, guest checkout is not available."
+"You must confirm your account. Please check your email for the confirmation link or click here for a new link.","You must confirm your account. Please check your email for the confirmation link or click here for a new link."
+"Load customer quote error","Load customer quote error"
+"Error message!","Error message!"
+Error!,Error!
+"DB exception","DB exception"
+"Wrong minimum amount.","Wrong minimum amount."
+Message,Message
+"Print receipt","Print receipt"
+"Apply Discount Code","Apply Discount Code"
+"Enter discount code","Enter discount code"
+"Apply Discount","Apply Discount"
"Cancel Coupon","Cancel Coupon"
+"Shopping Cart Items","Shopping Cart Items"
+Item,Item
+Price,Price
+Qty,Qty
+Subtotal,Subtotal
"Continue Shopping","Continue Shopping"
-"Update Shopping Cart","Update Shopping Cart"
"Clear Shopping Cart","Clear Shopping Cart"
+"Update Shopping Cart","Update Shopping Cart"
"Update Cart","Update Cart"
-"Unit Price Excl. Tax","Unit Price Excl. Tax"
-"Unit Price Incl. Tax","Unit Price Incl. Tax"
-"Subtotal Excl. Tax","Subtotal Excl. Tax"
-"Subtotal Incl. Tax","Subtotal Incl. Tax"
-"Items in Cart","Items in Cart"
-"Recently added item(s)","Recently added item(s)"
+"See price before order confirmation.","See price before order confirmation."
+"What's this?","What's this?"
+"Edit item parameters","Edit item parameters"
+Edit,Edit
+"Remove item","Remove item"
"You have no items in your shopping cart.","You have no items in your shopping cart."
-"Order total will be displayed before you submit the order","Order total will be displayed before you submit the order"
-"Cart Subtotal","Cart Subtotal"
-"View cart","View cart"
-"Are you sure you would like to remove this item from the shopping cart?","Are you sure you would like to remove this item from the shopping cart?"
"Click here to continue shopping.","Click here to continue shopping."
+"Estimate Tax","Estimate Tax"
"Estimate Shipping and Tax","Estimate Shipping and Tax"
-"Enter your destination to get a shipping estimate.","Enter your destination to get a shipping estimate."
-"Please select region, state or province","Please select region, state or province"
-City,City
-"Zip/Postal Code","Zip/Postal Code"
-"Get a Quote","Get a Quote"
-"Update Total","Update Total"
-"View Details","View Details"
-"Options Details","Options Details"
+"Excl. Tax","Excl. Tax"
+Loading...,Loading...
+"Order #","Order #"
+"Proceed to Checkout","Proceed to Checkout"
+"Product Name","Product Name"
+"Incl. Tax","Incl. Tax"
+"Your order number is: %1.","Your order number is: %1."
+"Your order # is: %1.","Your order # is: %1."
+"We\'ll email you an order confirmation with details and tracking info.","We\'ll email you an order confirmation with details and tracking info."
+"Payment Transaction Failed","Payment Transaction Failed"
+Reason,Reason
+"Checkout Type","Checkout Type"
+Customer:,Customer:
+Items,Items
Total:,Total:
-"Edit item","Edit item"
-"You will see the order total before you submit the order.","You will see the order total before you submit the order."
-"Loading next step...","Loading next step..."
-"Select a billing address from your address book or enter a new address.","Select a billing address from your address book or enter a new address."
+"Billing Address:","Billing Address:"
+"Shipping Address:","Shipping Address:"
+"Shipping Method:","Shipping Method:"
+"Payment Method:","Payment Method:"
+"Date & Time:","Date & Time:"
+"Sign In","Sign In"
"Email Address","Email Address"
-Company,Company
-"VAT Number","VAT Number"
-Address,Address
-"Street Address","Street Address"
-"Street Address %1","Street Address %1"
-Telephone,Telephone
-Fax,Fax
Password,Password
-"Confirm Password","Confirm Password"
+"Forgot Your Password?","Forgot Your Password?"
+"My billing and shipping address are the same","My billing and shipping address are the same"
+Update,Update
+Cancel,Cancel
"Save in address book","Save in address book"
-"Ship to this address","Ship to this address"
-"Ship to different address","Ship to different address"
-Continue,Continue
-"Order #","Order #"
-"Proceed to Checkout","Proceed to Checkout"
+"Estimated Total","Estimated Total"
+"You can create an account after checkout.","You can create an account after checkout."
+"You already have an account with us. Sign in or continue as guest.","You already have an account with us. Sign in or continue as guest."
Login,Login
-"Already registered?","Already registered?"
-"Please log in below:","Please log in below:"
-"Forgot Your Password?","Forgot Your Password?"
-"Checkout as a Guest or Register","Checkout as a Guest or Register"
-"Checkout as a Guest","Checkout as a Guest"
-"Register to Create an Account","Register to Create an Account"
-"Register and save time!","Register and save time!"
-"Register with us for future convenience:","Register with us for future convenience:"
-"Fast and easy check out","Fast and easy check out"
-"Easy access to your order history and status","Easy access to your order history and status"
-"Checkout as Guest","Checkout as Guest"
-Register,Register
+Close,Close
+item,item
+items,items
+"Go to Checkout","Go to Checkout"
+"Recently added item(s)","Recently added item(s)"
+"View and edit cart","View and edit cart"
+"See Details","See Details"
+"Options Details","Options Details"
+Remove,Remove
+"Cart Subtotal","Cart Subtotal"
"No Payment Methods","No Payment Methods"
-"Your Checkout Progress","Your Checkout Progress"
-"Billing Address","Billing Address"
-"Shipping Address","Shipping Address"
-"Shipping method has not been selected yet","Shipping method has not been selected yet"
-"Payment Method","Payment Method"
+"Payment Information","Payment Information"
+"No Payment method available.","No Payment method available."
+"You can track your order status by creating an account.","You can track your order status by creating an account."
+"A letter with further instructions will be sent to your email.","A letter with further instructions will be sent to your email."
"Place Order","Place Order"
"Forgot an Item?","Forgot an Item?"
"Edit Your Cart","Edit Your Cart"
-"Your credit card will be charged for","Your credit card will be charged for"
-"Select a shipping address from your address book or enter a new address.","Select a shipping address from your address book or enter a new address."
-"Use Billing Address","Use Billing Address"
-"Sorry, no quotes are available for this order at this time.","Sorry, no quotes are available for this order at this time."
-"Thank you for your purchase!","Thank you for your purchase!"
-"Your order # is: %1.","Your order # is: %1."
-"You will receive an order confirmation email with details of your order and a link to track its progress.","You will receive an order confirmation email with details of your order and a link to track its progress."
-"Click here to print a copy of your order confirmation.","Click here to print a copy of your order confirmation."
-"Please specify a shipping method.","Please specify a shipping method."
-"Please choose to register or to checkout as a guest.","Please choose to register or to checkout as a guest."
-"We are not able to ship to the selected shipping address. Please choose another address or edit the current address.","We are not able to ship to the selected shipping address. Please choose another address or edit the current address."
-"Please specify payment method.","Please specify payment method."
-"Please agree to all Terms and Conditions before placing the orders.","Please agree to all Terms and Conditions before placing the orders."
-"We can't complete your order because you don't have a payment method available.","We can't complete your order because you don't have a payment method available."
+"Ship Here","Ship Here"
+"Ship To:","Ship To:"
+edit,edit
+"Shipping Address","Shipping Address"
+"New Address","New Address"
+"Shipping Methods","Shipping Methods"
+"Select Method","Select Method"
+"Method Title","Method Title"
+"Carrier Title","Carrier Title"
+Next,Next
+"Sorry, no quotes are available for this order at this time","Sorry, no quotes are available for this order at this time"
+"Order Summary","Order Summary"
+"Item in Cart","Item in Cart"
+"Items in Cart","Items in Cart"
+"View Details","View Details"
+"Provided Zip/Postal Code seems to be invalid.","Provided Zip/Postal Code seems to be invalid."
+" Example: "," Example: "
+"If you believe it is the right one you can ignore this notice.","If you believe it is the right one you can ignore this notice."
+"Review & Payments","Review & Payments"
+Shipping,Shipping
+"Save Address","Save Address"
"Checkout Options","Checkout Options"
"Enable Onepage Checkout","Enable Onepage Checkout"
"Allow Guest Checkout","Allow Guest Checkout"
-"Require Customer To Be Logged In To Checkout","Require Customer To Be Logged In To Checkout"
"Quote Lifetime (days)","Quote Lifetime (days)"
"After Adding a Product Redirect to Shopping Cart","After Adding a Product Redirect to Shopping Cart"
"My Cart Link","My Cart Link"
@@ -173,13 +170,13 @@ Register,Register
"Payment Failed Email Sender","Payment Failed Email Sender"
"Payment Failed Email Receiver","Payment Failed Email Receiver"
"Payment Failed Template","Payment Failed Template"
+"Email template chosen based on theme fallback when ""Default"" option is selected.","Email template chosen based on theme fallback when ""Default"" option is selected."
"Send Payment Failed Email Copy To","Send Payment Failed Email Copy To"
"Separate by "","".","Separate by "",""."
"Send Payment Failed Email Copy Method","Send Payment Failed Email Copy Method"
-"Your order has been received.","Your order has been received."
-"For delivery questions.","For delivery questions."
-"You can create an account after checkout.","You can create an account after checkout."
+"Order Total","Order Total"
+"We'll send your order confirmation here.","We'll send your order confirmation here."
+Payment,Payment
"Not yet calculated","Not yet calculated"
-"Order Summary","Order Summary"
-"Estimated Total","Estimated Total"
-"Phone Number","Phone Number"
+"We received your order!","We received your order!"
+"Thank you for your purchase!","Thank you for your purchase!"
diff --git a/app/code/Magento/CheckoutAgreements/composer.json b/app/code/Magento/CheckoutAgreements/composer.json
index 7eb11ecd779c6..3ed83e008c69d 100644
--- a/app/code/Magento/CheckoutAgreements/composer.json
+++ b/app/code/Magento/CheckoutAgreements/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-checkout-agreements",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-checkout": "100.0.*",
"magento/module-quote": "100.0.*",
"magento/module-store": "100.0.*",
diff --git a/app/code/Magento/CheckoutAgreements/i18n/en_US.csv b/app/code/Magento/CheckoutAgreements/i18n/en_US.csv
index b5db8f4036453..ae966c7743009 100644
--- a/app/code/Magento/CheckoutAgreements/i18n/en_US.csv
+++ b/app/code/Magento/CheckoutAgreements/i18n/en_US.csv
@@ -1,10 +1,3 @@
-ID,ID
-Status,Status
-Disabled,Disabled
-Enabled,Enabled
-"Store View","Store View"
-Content,Content
-Text,Text
"Terms and Conditions","Terms and Conditions"
"Add New Condition","Add New Condition"
"Save Condition","Save Condition"
@@ -13,21 +6,36 @@ Text,Text
"New Terms and Conditions","New Terms and Conditions"
"Terms and Conditions Information","Terms and Conditions Information"
"Condition Name","Condition Name"
+Status,Status
+Enabled,Enabled
+Disabled,Disabled
"Show Content as","Show Content as"
+Text,Text
HTML,HTML
+Applied,Applied
+"Store View","Store View"
"Checkbox Text","Checkbox Text"
+Content,Content
"Content Height (css)","Content Height (css)"
"Content Height","Content Height"
+ID,ID
Condition,Condition
-"This condition no longer exists.","This condition no longer exists."
-"New Condition","New Condition"
-"Edit Condition","Edit Condition"
-"The condition has been saved.","The condition has been saved."
-"Something went wrong while saving this condition.","Something went wrong while saving this condition."
-"The condition has been deleted.","The condition has been deleted."
-"Something went wrong while deleting this condition.","Something went wrong while deleting this condition."
Sales,Sales
"Checkout Conditions","Checkout Conditions"
"Checkout Terms and Conditions","Checkout Terms and Conditions"
+"This condition no longer exists.","This condition no longer exists."
+"You deleted the condition.","You deleted the condition."
+"Something went wrong while deleting this condition.","Something went wrong while deleting this condition."
+"Edit Condition","Edit Condition"
+"New Condition","New Condition"
+"You saved the condition.","You saved the condition."
+"Something went wrong while saving this condition.","Something went wrong while saving this condition."
+Automatically,Automatically
+Manually,Manually
+"Please agree to all the terms and conditions before placing the order.","Please agree to all the terms and conditions before placing the order."
+"Unable to save checkout agreement %1","Unable to save checkout agreement %1"
+"Unable to remove checkout agreement %1","Unable to remove checkout agreement %1"
+"Checkout agreement with specified ID ""%1"" not found.","Checkout agreement with specified ID ""%1"" not found."
+Close,Close
+"Terms & Conditions","Terms & Conditions"
"Enable Terms and Conditions","Enable Terms and Conditions"
-"Please input a valid CSS-height. For example 100px or 77pt or 20em or .5ex or 50%.","Please input a valid CSS-height. For example 100px or 77pt or 20em or .5ex or 50%."
diff --git a/app/code/Magento/Cms/Model/Page/DataProvider.php b/app/code/Magento/Cms/Model/Page/DataProvider.php
index 9decacde3f178..36db6e1e710bf 100644
--- a/app/code/Magento/Cms/Model/Page/DataProvider.php
+++ b/app/code/Magento/Cms/Model/Page/DataProvider.php
@@ -61,10 +61,11 @@ public function getData()
if (isset($this->loadedData)) {
return $this->loadedData;
}
- $items = $this->collection->getItems();
- /** @var \Magento\Cms\Model\Page $page */
- foreach ($items as $page) {
- $this->loadedData[$page->getId()] = $page->getData();
+ foreach ($this->collection->getAllIds() as $pageId) {
+ /** @var \Magento\Cms\Model\Page $page */
+ $page = $this->collection->getNewEmptyItem();
+ /** Load every record separately to make sure the list of associated stores is available */
+ $this->loadedData[$pageId] = $page->load($pageId)->getData();
}
$data = $this->dataPersistor->get('cms_page');
diff --git a/app/code/Magento/Cms/Model/ResourceModel/Page/Grid/Collection.php b/app/code/Magento/Cms/Model/ResourceModel/Page/Grid/Collection.php
index 258391615b54a..7dac815ba58b3 100644
--- a/app/code/Magento/Cms/Model/ResourceModel/Page/Grid/Collection.php
+++ b/app/code/Magento/Cms/Model/ResourceModel/Page/Grid/Collection.php
@@ -6,7 +6,7 @@
namespace Magento\Cms\Model\ResourceModel\Page\Grid;
use Magento\Framework\Api\Search\SearchResultInterface;
-use Magento\Framework\Search\AggregationInterface;
+use Magento\Framework\Api\Search\AggregationInterface;
use Magento\Cms\Model\ResourceModel\Page\Collection as PageCollection;
/**
@@ -20,6 +20,11 @@ class Collection extends PageCollection implements SearchResultInterface
*/
protected $aggregations;
+ /**
+ * @var \Magento\Framework\View\Element\UiComponent\DataProvider\Document[]
+ */
+ private $loadedData;
+
/**
* @param \Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory
* @param \Psr\Log\LoggerInterface $logger
@@ -85,20 +90,6 @@ public function setAggregations($aggregations)
$this->aggregations = $aggregations;
}
-
- /**
- * Retrieve all ids for collection
- * Backward compatibility with EAV collection
- *
- * @param int $limit
- * @param int $offset
- * @return array
- */
- public function getAllIds($limit = null, $offset = null)
- {
- return $this->getConnection()->fetchCol($this->_getAllIdsSelect($limit, $offset), $this->_bindParams);
- }
-
/**
* Get search criteria.
*
@@ -154,4 +145,25 @@ public function setItems(array $items = null)
{
return $this;
}
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getItems()
+ {
+ if (isset($this->loadedData)) {
+ return $this->loadedData;
+ }
+ /** @var \Magento\Cms\Model\Page $page */
+ $page = $this->_entityFactory->create(\Magento\Cms\Model\Page::class);
+ /** Load every record separately to make sure the list of associated stores is available */
+ /** @var \Magento\Framework\View\Element\UiComponent\DataProvider\Document $pageDocument */
+ foreach (parent::getItems() as $pageDocument) {
+ $this->loadedData[$pageDocument->getId()] = $pageDocument->setData(
+ $page->load($pageDocument->getId())->getData()
+ );
+ }
+
+ return $this->loadedData;
+ }
}
diff --git a/app/code/Magento/Cms/composer.json b/app/code/Magento/Cms/composer.json
index 950a88034bedf..19cda436a78c9 100644
--- a/app/code/Magento/Cms/composer.json
+++ b/app/code/Magento/Cms/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-cms",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/module-theme": "100.0.*",
"magento/module-widget": "100.0.*",
diff --git a/app/code/Magento/Cms/i18n/en_US.csv b/app/code/Magento/Cms/i18n/en_US.csv
index 58485f3d9d2c5..5bde5766117f0 100644
--- a/app/code/Magento/Cms/i18n/en_US.csv
+++ b/app/code/Magento/Cms/i18n/en_US.csv
@@ -1,104 +1,102 @@
-ID,ID
-Action,Action
-"Delete File","Delete File"
-"-- Please Select --","-- Please Select --"
-"Custom Design","Custom Design"
-"Block Information","Block Information"
-Status,Status
-Disabled,Disabled
-Enabled,Enabled
-"Save and Continue Edit","Save and Continue Edit"
-Title,Title
-"URL Key","URL Key"
-"Store View","Store View"
-Description,Description
-Home,Home
-"Browse Files...","Browse Files..."
-Content,Content
-"General Information","General Information"
-"Go to Home Page","Go to Home Page"
-px.,px.
-"Collapse All","Collapse All"
-"Expand All","Expand All"
"Static Blocks","Static Blocks"
"Add New Block","Add New Block"
-"Save Block","Save Block"
+Back,Back
"Delete Block","Delete Block"
-"Edit Block '%1'","Edit Block '%1'"
-"New Block","New Block"
-"Block Title","Block Title"
+"Are you sure you want to do this?","Are you sure you want to do this?"
+Reset,Reset
+"Save and Continue Edit","Save and Continue Edit"
+"Save Block","Save Block"
+ID,ID
+Title,Title
Identifier,Identifier
+Status,Status
+Disabled,Disabled
+Enabled,Enabled
"Manage Pages","Manage Pages"
"Add New Page","Add New Page"
-"Save Page","Save Page"
"Delete Page","Delete Page"
-"Edit Page '%1'","Edit Page '%1'"
-"New Page","New Page"
-"Content Heading","Content Heading"
-"Page Layout","Page Layout"
+"Save Page","Save Page"
+"URL Key","URL Key"
Layout,Layout
-"Layout Update XML","Layout Update XML"
-"Custom Design From","Custom Design From"
-"Custom Design To","Custom Design To"
-"Custom Theme","Custom Theme"
-"Custom Layout","Custom Layout"
-"Custom Layout Update XML","Custom Layout Update XML"
-Design,Design
-"Page Information","Page Information"
-"Page Title","Page Title"
-"Relative to Web Site Base URL","Relative to Web Site Base URL"
-"Page Status","Page Status"
-"Meta Data","Meta Data"
-Keywords,Keywords
-"Meta Keywords","Meta Keywords"
-"Meta Description","Meta Description"
+"Store View","Store View"
Created,Created
Modified,Modified
+Action,Action
Preview,Preview
"Media Storage","Media Storage"
"Create Folder...","Create Folder..."
"Delete Folder","Delete Folder"
+"Delete File","Delete File"
"Insert File","Insert File"
"New Folder Name:","New Folder Name:"
"Are you sure you want to delete this folder?","Are you sure you want to delete this folder?"
"Are you sure you want to delete this file?","Are you sure you want to delete this file?"
"Images (%1)","Images (%1)"
"Storage Root","Storage Root"
+Home,Home
+"Go to Home Page","Go to Home Page"
CMS,CMS
-Blocks,Blocks
+"You deleted the block.","You deleted the block."
+"We can\'t find a block to delete.","We can\'t find a block to delete."
"This block no longer exists.","This block no longer exists."
"Edit Block","Edit Block"
-"The block has been saved.","The block has been saved."
-"The block has been deleted.","The block has been deleted."
-"We can't find a block to delete.","We can't find a block to delete."
-Pages,Pages
+"New Block","New Block"
+Blocks,Blocks
+"Please correct the data sent.","Please correct the data sent."
+"A total of %1 record(s) have been deleted.","A total of %1 record(s) have been deleted."
+"You saved the block.","You saved the block."
+"Something went wrong while saving the block.","Something went wrong while saving the block."
+"The page has been deleted.","The page has been deleted."
+"We can\'t find a page to delete.","We can\'t find a page to delete."
"This page no longer exists.","This page no longer exists."
"Edit Page","Edit Page"
-"The page has been saved.","The page has been saved."
+"New Page","New Page"
+Pages,Pages
"Something went wrong while saving the page.","Something went wrong while saving the page."
-"The page has been deleted.","The page has been deleted."
-"We can't find a page to delete.","We can't find a page to delete."
+"A total of %1 record(s) have been disabled.","A total of %1 record(s) have been disabled."
+"A total of %1 record(s) have been enabled.","A total of %1 record(s) have been enabled."
+"Page Title","Page Title"
+"To apply changes you should fill in hidden required ""%1"" field","To apply changes you should fill in hidden required ""%1"" field"
+"You saved the page.","You saved the page."
"The directory %1 is not writable by server.","The directory %1 is not writable by server."
"Make sure that static block content does not reference the block itself.","Make sure that static block content does not reference the block itself."
+"CMS Block with id ""%1"" does not exist.","CMS Block with id ""%1"" does not exist."
"Enabled by Default","Enabled by Default"
"Disabled by Default","Disabled by Default"
"Disabled Completely","Disabled Completely"
+"Could not save the page: %1","Could not save the page: %1"
+"CMS Page with id ""%1"" does not exist.","CMS Page with id ""%1"" does not exist."
+"Could not delete the page: %1","Could not delete the page: %1"
"A block identifier with the same properties already exists in the selected store.","A block identifier with the same properties already exists in the selected store."
-"A page URL key for specified store already exists.","A page URL key for specified store already exists."
"The page URL key contains capital letters or disallowed symbols.","The page URL key contains capital letters or disallowed symbols."
"The page URL key cannot be made of only numbers.","The page URL key cannot be made of only numbers."
-"Please correct the folder name. Use only letters, numbers, underscores and dashes.","Please correct the folder name. Use only letters, numbers, underscores and dashes."
+"Please rename the folder using only letters, numbers, underscores and dashes.","Please rename the folder using only letters, numbers, underscores and dashes."
"We found a directory with the same name. Please try another folder name.","We found a directory with the same name. Please try another folder name."
"We cannot create a new directory.","We cannot create a new directory."
"We cannot delete directory %1.","We cannot delete directory %1."
-"We cannot upload the file.","We cannot upload the file."
-"We cannot delete root directory %1.","We cannot delete root directory %1."
+"We can\'t upload the file right now.","We can\'t upload the file right now."
+"We can\'t delete root directory %1 right now.","We can\'t delete root directory %1 right now."
"Directory %1 is not under storage root path.","Directory %1 is not under storage root path."
+LocalizedException,LocalizedException
+RuntimeException,RuntimeException
+Exception,Exception
+"Could not create a directory.","Could not create a directory."
+"All Store Views","All Store Views"
+Edit,Edit
+Delete,Delete
+"Delete ${ $.$data.title }","Delete ${ $.$data.title }"
+"Are you sure you wan\'t to delete a ${ $.$data.title } record?","Are you sure you wan\'t to delete a ${ $.$data.title } record?"
+"Delete ""${ $.$data.title }""","Delete ""${ $.$data.title }"""
+"Are you sure you wan\'t to delete a ""${ $.$data.title }"" record?","Are you sure you wan\'t to delete a ""${ $.$data.title }"" record?"
+View,View
+px.,px.
"No files found","No files found"
-Block,Block
-Template,Template
-"Anchor Custom Text","Anchor Custom Text"
-"Anchor Custom Title","Anchor Custom Title"
+"Browse Files...","Browse Files..."
+"Collapse All","Collapse All"
+"Expand All","Expand All"
+"We could not detect a size.","We could not detect a size."
+"Media Gallery","Media Gallery"
+"Content Management","Content Management"
"CMS Home Page","CMS Home Page"
"CMS No Route Page","CMS No Route Page"
"CMS No Cookies Page","CMS No Cookies Page"
@@ -107,20 +105,47 @@ Template,Template
"Redirect to CMS-page if Cookies are Disabled","Redirect to CMS-page if Cookies are Disabled"
"Show Notice if JavaScript is Disabled","Show Notice if JavaScript is Disabled"
"Show Notice if Local Storage is Disabled","Show Notice if Local Storage is Disabled"
-"Content Management","Content Management"
"WYSIWYG Options","WYSIWYG Options"
"Enable WYSIWYG Editor","Enable WYSIWYG Editor"
"CMS Page Link","CMS Page Link"
"Link to a CMS Page","Link to a CMS Page"
"CMS Page","CMS Page"
+"Select Page...","Select Page..."
+"Anchor Custom Text","Anchor Custom Text"
"If empty, the Page Title will be used","If empty, the Page Title will be used"
+"Anchor Custom Title","Anchor Custom Title"
+Template,Template
"CMS Page Link Block Template","CMS Page Link Block Template"
"CMS Page Link Inline Template","CMS Page Link Inline Template"
"CMS Static Block","CMS Static Block"
"Contents of a Static Block","Contents of a Static Block"
+Block,Block
+"Select Block...","Select Block..."
"CMS Static Block Default Template","CMS Static Block Default Template"
-Elements,Elements
-Blocks,Blocks
-Widgets,Widgets
-Themes,Themes
-Schedule,Schedule
+"General Information","General Information"
+"Enable Block","Enable Block"
+"Block Title","Block Title"
+"Delete items","Delete items"
+"Are you sure you wan't to delete selected items?","Are you sure you wan't to delete selected items?"
+"Page Information","Page Information"
+"Enable Page","Enable Page"
+Content,Content
+"Content Heading","Content Heading"
+"Search Engine Optimisation","Search Engine Optimisation"
+"Meta Keywords","Meta Keywords"
+"Meta Description","Meta Description"
+"Page in Websites","Page in Websites"
+Design,Design
+"Layout Update XML","Layout Update XML"
+"Custom Design Update","Custom Design Update"
+From,From
+To,To
+"New Theme","New Theme"
+"-- Please Select --","-- Please Select --"
+"New Layout","New Layout"
+Disable,Disable
+Enable,Enable
+"Custom design from","Custom design from"
+"Custom design to","Custom design to"
+"Custom Theme","Custom Theme"
+"Custom Layout","Custom Layout"
diff --git a/app/code/Magento/CmsUrlRewrite/composer.json b/app/code/Magento/CmsUrlRewrite/composer.json
index 13e72d6a08da0..7d75de9984666 100644
--- a/app/code/Magento/CmsUrlRewrite/composer.json
+++ b/app/code/Magento/CmsUrlRewrite/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-cms-url-rewrite",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/module-cms": "100.0.*",
"magento/module-url-rewrite": "100.0.*",
diff --git a/app/code/Magento/Config/composer.json b/app/code/Magento/Config/composer.json
index 569d71071ac79..e436eabaf23b2 100644
--- a/app/code/Magento/Config/composer.json
+++ b/app/code/Magento/Config/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-config",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/framework": "100.0.*",
"magento/module-store": "100.0.*",
"magento/module-cron": "100.0.*",
diff --git a/app/code/Magento/Config/i18n/en_US.csv b/app/code/Magento/Config/i18n/en_US.csv
index 0aa4129389481..0bbeabde93603 100644
--- a/app/code/Magento/Config/i18n/en_US.csv
+++ b/app/code/Magento/Config/i18n/en_US.csv
@@ -1 +1,104 @@
+"Default Config","Default Config"
+"Save Config","Save Config"
+[GLOBAL],[GLOBAL]
+[WEBSITE],[WEBSITE]
+"[STORE VIEW]","[STORE VIEW]"
+"Use Default","Use Default"
+"Use Website","Use Website"
+Add,Add
+"Delete File","Delete File"
+"Search String","Search String"
+"Design Theme","Design Theme"
+"Add \Exception","Add \Exception"
+"-- No Theme --","-- No Theme --"
+Enable,Enable
+Disable,Disable
Configuration,Configuration
+System,System
+"You saved the configuration.","You saved the configuration."
+"Something went wrong while saving this configuration:","Something went wrong while saving this configuration:"
+"Page not found.","Page not found."
+"Please specify the admin custom URL.","Please specify the admin custom URL."
+"Invalid %1. %2","Invalid %1. %2"
+"Value must be a URL or one of placeholders: %1","Value must be a URL or one of placeholders: %1"
+"Specify a URL or path that starts with placeholder(s): %1, and ends with ""/"".","Specify a URL or path that starts with placeholder(s): %1, and ends with ""/""."
+"%1 An empty value is allowed as well.","%1 An empty value is allowed as well."
+"Specify a fully qualified URL.","Specify a fully qualified URL."
+"Selected allowed currency ""%1"" is not available in installed currencies.","Selected allowed currency ""%1"" is not available in installed currencies."
+"Default display currency ""%1"" is not available in allowed currencies.","Default display currency ""%1"" is not available in allowed currencies."
+"Sorry, we haven\'t installed the base currency you selected.","Sorry, we haven\'t installed the base currency you selected."
+"We can\'t save the Cron expression.","We can\'t save the Cron expression."
+"Sorry, we haven\'t installed the default display currency you selected.","Sorry, we haven\'t installed the default display currency you selected."
+"Sorry, the default display currency you selected is not available in allowed currencies.","Sorry, the default display currency you selected is not available in allowed currencies."
+"Please correct the email address: ""%1"".","Please correct the email address: ""%1""."
+"The sender name ""%1"" is not valid. Please use only visible characters and spaces.","The sender name ""%1"" is not valid. Please use only visible characters and spaces."
+"Maximum sender name length is 255. Please correct your settings.","Maximum sender name length is 255. Please correct your settings."
+%1,%1
+"The file you\'re uploading exceeds the server size limit of %1 kilobytes.","The file you\'re uploading exceeds the server size limit of %1 kilobytes."
+"The base directory to upload file is not specified.","The base directory to upload file is not specified."
+"The specified image adapter cannot be used because of: %1","The specified image adapter cannot be used because of: %1"
+"Default scope","Default scope"
+"Base currency","Base currency"
+"Display default currency","Display default currency"
+"website(%1) scope","website(%1) scope"
+"store(%1) scope","store(%1) scope"
+"Currency ""%1"" is used as %2 in %3.","Currency ""%1"" is used as %2 in %3."
+"Please correct the timezone.","Please correct the timezone."
+"The file ""%1"" does not exist","The file ""%1"" does not exist"
+"Always (during development)","Always (during development)"
+"Only Once (version upgrade)","Only Once (version upgrade)"
+"Never (production)","Never (production)"
+Bcc,Bcc
+"Separate Email","Separate Email"
+"%1 (Default)","%1 (Default)"
+title,title
+No,No
+Optional,Optional
+Required,Required
+Website,Website
+Store,Store
+"Store View","Store View"
+"HTTP (unsecure)","HTTP (unsecure)"
+"HTTPS (SSL)","HTTPS (SSL)"
+"Yes (302 Found)","Yes (302 Found)"
+"Yes (301 Moved Permanently)","Yes (301 Moved Permanently)"
+Yes,Yes
+Specified,Specified
+"Config form fieldset clone model required to be able to clone fields","Config form fieldset clone model required to be able to clone fields"
+"Invalid XML in file %1:\n%2","Invalid XML in file %1:\n%2"
+.,.
+some_label,some_label
+some_comment,some_comment
+"some prefix","some prefix"
+"element label","element label"
+"element hint","element hint"
+"element comment","element comment"
+"element tooltip","element tooltip"
+test,test
+test2,test2
+"Add after","Add after"
+Delete,Delete
+"Current Configuration Scope:","Current Configuration Scope:"
+Stores,Stores
+"Group Label","Group Label"
+"Some Label","Some Label"
+"Tab Label","Tab Label"
+"Allow everything","Allow everything"
+"Magento Admin","Magento Admin"
+Dashboard,Dashboard
+"Manage Stores","Manage Stores"
+"Field 2","Field 2"
+"Field 3","Field 3"
+"Field 3.1","Field 3.1"
+"Field 3.1.1","Field 3.1.1"
+"Field 4","Field 4"
+"Advanced Section","Advanced Section"
+"Advanced Admin Section","Advanced Admin Section"
+"Design Section","Design Section"
+"General Section","General Section"
+"System Section","System Section"
+"Currency Setup Section","Currency Setup Section"
+"Developer Section","Developer Section"
+"Web Section","Web Section"
+"Store Email Addresses Section","Store Email Addresses Section"
+"Email to a Friend","Email to a Friend"
diff --git a/app/code/Magento/ConfigurableImportExport/composer.json b/app/code/Magento/ConfigurableImportExport/composer.json
index 74d4cb573d0d8..e43e216d42d22 100644
--- a/app/code/Magento/ConfigurableImportExport/composer.json
+++ b/app/code/Magento/ConfigurableImportExport/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-configurable-import-export",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-catalog": "100.0.*",
"magento/module-catalog-import-export": "100.0.*",
"magento/module-eav": "100.0.*",
diff --git a/app/code/Magento/ConfigurableProduct/composer.json b/app/code/Magento/ConfigurableProduct/composer.json
index cdd088fe64638..15add70fc3b3c 100644
--- a/app/code/Magento/ConfigurableProduct/composer.json
+++ b/app/code/Magento/ConfigurableProduct/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-configurable-product",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/module-catalog": "100.0.*",
"magento/module-catalog-inventory": "100.0.*",
diff --git a/app/code/Magento/ConfigurableProduct/i18n/en_US.csv b/app/code/Magento/ConfigurableProduct/i18n/en_US.csv
index 7622edffece48..ec07c74c8868b 100644
--- a/app/code/Magento/ConfigurableProduct/i18n/en_US.csv
+++ b/app/code/Magento/ConfigurableProduct/i18n/en_US.csv
@@ -1,56 +1,131 @@
-Cancel,Cancel
-Price,Price
-Quantity,Quantity
-ID,ID
-SKU,SKU
-Qty,Qty
-"Incl. Tax","Incl. Tax"
-"Use Default","Use Default"
-Delete,Delete
-Name,Name
-"Add Option","Add Option"
-"Stock Availability","Stock Availability"
-"In Stock","In Stock"
-"Out of Stock","Out of Stock"
-Image,Image
-"Use To Create Configurable Product","Use To Create Configurable Product"
-"Create Empty","Create Empty"
-"Generate Variations","Generate Variations"
-"Create New Variation Set","Create New Variation Set"
-"Associated Products","Associated Products"
-"Quick simple product creation","Quick simple product creation"
-Autogenerate,Autogenerate
-"Select Configurable Attributes","Select Configurable Attributes"
-"Configurable Product Settings","Configurable Product Settings"
+"Add configurable attributes to the current Attribute Set (""%1"")","Add configurable attributes to the current Attribute Set (""%1"")"
+"Add configurable attributes to the new Attribute Set based on current","Add configurable attributes to the new Attribute Set based on current"
+"New attribute set name","New attribute set name"
+"Add configurable attributes to the existing Attribute Set","Add configurable attributes to the existing Attribute Set"
+"Choose existing Attribute Set","Choose existing Attribute Set"
+Configurations,Configurations
+"Attribute Values","Attribute Values"
+"Bulk Images & Price","Bulk Images & Price"
+"Create New Attribute","Create New Attribute"
+"Select Attributes","Select Attributes"
+Summary,Summary
"Choose an Option...","Choose an Option..."
"This attribute is used in configurable products.","This attribute is used in configurable products."
-"Cannot add the item to shopping cart","Cannot add the item to shopping cart"
-"Please specify the product's option(s).","Please specify the product's option(s)."
+"Product has been already attached","Product has been already attached"
+"Product with specified sku: %1 is not a configurable product","Product with specified sku: %1 is not a configurable product"
+"Requested option doesn\'t exist","Requested option doesn\'t exist"
+"Requested option doesn\'t exist: %1","Requested option doesn\'t exist: %1"
+"Cannot delete variations from product: %1","Cannot delete variations from product: %1"
+"Cannot delete option with id: %1","Cannot delete option with id: %1"
+"Option with id ""%1"" not found","Option with id ""%1"" not found"
+"Something went wrong while saving option.","Something went wrong while saving option."
+"Only implemented for configurable product: %1","Only implemented for configurable product: %1"
+"Option attribute ID is not specified.","Option attribute ID is not specified."
+"Option label is not specified.","Option label is not specified."
+"Option values are not specified.","Option values are not specified."
+"Value index is not specified for an option.","Value index is not specified for an option."
+"Product with id ""%1"" does not contain required attribute ""%2"".","Product with id ""%1"" does not contain required attribute ""%2""."
+"Products ""%1"" and ""%2"" have the same set of attribute values.","Products ""%1"" and ""%2"" have the same set of attribute values."
+"You can\'t add the item to shopping cart.","You can\'t add the item to shopping cart."
+"You need to choose options for your item.","You need to choose options for your item."
"Some product variations fields are not valid.","Some product variations fields are not valid."
+"Configuration must have specified attributes","Configuration must have specified attributes"
+"Configurable product ""%1"" do not have sub-products","Configurable product ""%1"" do not have sub-products"
"This group contains attributes used in configurable products. Please move these attributes to another group and try again.","This group contains attributes used in configurable products. Please move these attributes to another group and try again."
"This attribute is used in configurable products. You cannot remove it from the attribute set.","This attribute is used in configurable products. You cannot remove it from the attribute set."
-"Delete Variations Group","Delete Variations Group"
+"Associated Products","Associated Products"
+"Step 2: Attribute Values","Step 2: Attribute Values"
+"Select values from each attribute to include in this product. Each unique combination of values creates a unigue product SKU.","Select values from each attribute to include in this product. Each unique combination of values creates a unigue product SKU."
"Sort Variations","Sort Variations"
-"Variation Label","Variation Label"
-Label,Label
-"Change Price","Change Price"
-Include,Include
-%,%
-"begin typing to add value","begin typing to add value"
-Variations,Variations
+Options,Options
+"Select All","Select All"
+"Deselect All","Deselect All"
+"Remove Attribute","Remove Attribute"
+"Save Option","Save Option"
+"Remove Option","Remove Option"
+"Create New Value","Create New Value"
+"Step 3: Bulk Images, Price and Quantity","Step 3: Bulk Images, Price and Quantity"
+"Based on your selections
+ new products will be created. Use this step to customize images and price for your new products.","Based on your selections
+ new products will be created. Use this step to customize images and price for your new products."
+Images,Images
+"Apply single set of images to all SKUs","Apply single set of images to all SKUs"
+"Apply unique images by attribute to each SKU","Apply unique images by attribute to each SKU"
+"Skip image uploading at this time","Skip image uploading at this time"
+"Browse Files...","Browse Files..."
+"Browse to find or drag image here","Browse to find or drag image here"
+"Remove image","Remove image"
+"Edit role","Edit role"
+Hidden,Hidden
+"Alt Text","Alt Text"
+Role,Role
+"Hide from Product Page","Hide from Product Page"
+"Select attribute","Select attribute"
+Select,Select
+Price,Price
+"Apply single price to all SKUs","Apply single price to all SKUs"
+"Apply unique prices by attribute to each SKU","Apply unique prices by attribute to each SKU"
+"Skip price at this time","Skip price at this time"
+Quantity,Quantity
+"Apply single quantity to each SKUs","Apply single quantity to each SKUs"
+"Apply unique quantity by attribute to each SKU","Apply unique quantity by attribute to each SKU"
+"Skip quantity at this time","Skip quantity at this time"
+"Step 1: Select Attributes","Step 1: Select Attributes"
+"Selected Attributes:","Selected Attributes:"
+"Step 4: Summary","Step 4: Summary"
+"Configurable products allow customers to choose options (Ex: shirt color).
+ You need to create a simple product for each configuration (Ex: a product for each color).","Configurable products allow customers to choose options (Ex: shirt color).
+ You need to create a simple product for each configuration (Ex: a product for each color)."
+"Edit Configurations","Edit Configurations"
+"Create Configurations","Create Configurations"
+"Add Products Manually","Add Products Manually"
"Current Variations","Current Variations"
-Display,Display
+Image,Image
+Name,Name
+SKU,SKU
Weight,Weight
+Actions,Actions
"Upload Image","Upload Image"
-Choose,Choose
-Select,Select
+"Upload image","Upload image"
"No Image","No Image"
-"Attribute set comprising all selected configurable attributes need to be in order to save generated variations.","Attribute set comprising all selected configurable attributes need to be in order to save generated variations."
-"Add configurable attributes to the current set (""%1"")","Add configurable attributes to the current set (""%1"")"
-"Add configurable attributes to the new set based on current","Add configurable attributes to the new set based on current"
-"New attribute set name","New attribute set name"
+"Choose a different Product","Choose a different Product"
+"Remove Product","Remove Product"
+"Create Product Configurations","Create Product Configurations"
"Choose Affected Attribute Set","Choose Affected Attribute Set"
Confirm,Confirm
-"File extension not known or unsupported type.","File extension not known or unsupported type."
+Cancel,Cancel
+"New Product Review","New Product Review"
+"Here are the products you\'re about to create.","Here are the products you\'re about to create."
+"You created these products for this configuration.","You created these products for this configuration."
+"Disassociated Products","Disassociated Products"
+"These products are not associated.","These products are not associated."
+"Disable Product","Disable Product"
+"Enable Product","Enable Product"
+"Incl. Tax","Incl. Tax"
+"Select Associated Product","Select Associated Product"
+Done,Done
+"For better results, add attributes and attribute values to your products.","For better results, add attributes and attribute values to your products."
+"An attribute has been removed. This attribute will no longer appear in your configurations.","An attribute has been removed. This attribute will no longer appear in your configurations."
+"Select options for all attributes or remove unused attributes.","Select options for all attributes or remove unused attributes."
+"Please select attribute for {section} section.","Please select attribute for {section} section."
+"Please fill in the values for {section} section.","Please fill in the values for {section} section."
+"Please fill-in correct values.","Please fill-in correct values."
+"Please select image(s) for your attribute.","Please select image(s) for your attribute."
+"Please choose image(s).","Please choose image(s)."
+"We could not detect a size.","We could not detect a size."
+"We don\'t recognize or support this file extension type.","We don\'t recognize or support this file extension type."
+"Please select attribute(s).","Please select attribute(s)."
+"Generate Products","Generate Products"
"Configurable Product Image","Configurable Product Image"
-"Add Products Manually","Add Products Manually"
+Select...,Select...
+Status,Status
+ID,ID
+Thumbnail,Thumbnail
+"Attribute Code","Attribute Code"
+"Attribute Label","Attribute Label"
+Required,Required
+System,System
+Visible,Visible
+Scope,Scope
+Searchable,Searchable
+Comparable,Comparable
diff --git a/app/code/Magento/Contact/composer.json b/app/code/Magento/Contact/composer.json
index c80a8845f3765..c9bcc372b709e 100644
--- a/app/code/Magento/Contact/composer.json
+++ b/app/code/Magento/Contact/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-contact",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-config": "100.0.*",
"magento/module-store": "100.0.*",
"magento/module-backend": "100.0.*",
diff --git a/app/code/Magento/Contact/i18n/en_US.csv b/app/code/Magento/Contact/i18n/en_US.csv
index 71a433f896125..7d42624e2f7e2 100644
--- a/app/code/Magento/Contact/i18n/en_US.csv
+++ b/app/code/Magento/Contact/i18n/en_US.csv
@@ -1,16 +1,24 @@
-Email,Email
+"Page not found.","Page not found."
+"Thanks for contacting us with your comments and questions. We\'ll respond to you very soon.","Thanks for contacting us with your comments and questions. We\'ll respond to you very soon."
+"We can\'t process your request right now. Sorry, that\'s all we know.","We can\'t process your request right now. Sorry, that\'s all we know."
+"* Required Fields","* Required Fields"
+"Write Us","Write Us"
+"Jot us a note and we’ll get back to you as quickly as possible.","Jot us a note and we’ll get back to you as quickly as possible."
Name,Name
+Email,Email
+"Phone Number","Phone Number"
+"What’s on your mind?","What’s on your mind?"
Submit,Submit
-"* Required Fields","* Required Fields"
-Telephone,Telephone
-"Thanks for contacting us with your comments and questions. We'll respond to you very soon.","Thanks for contacting us with your comments and questions. We'll respond to you very soon."
-"We can't process your request right now. Sorry, that's all we know.","We can't process your request right now. Sorry, that's all we know."
-"Contact Information","Contact Information"
-Comment,Comment
-"Email Template","Email Template"
+"Name: %name","Name: %name"
+"Email: %email","Email: %email"
+"Phone Number: %telephone","Phone Number: %telephone"
+"Comment: %comment","Comment: %comment"
+"Contacts Section","Contacts Section"
Contacts,Contacts
"Contact Us","Contact Us"
"Enable Contact Us","Enable Contact Us"
"Email Options","Email Options"
"Send Emails To","Send Emails To"
"Email Sender","Email Sender"
+"Email Template","Email Template"
+"Email template chosen based on theme fallback when ""Default"" option is selected.","Email template chosen based on theme fallback when ""Default"" option is selected."
diff --git a/app/code/Magento/Cookie/composer.json b/app/code/Magento/Cookie/composer.json
index 74110926a5f7c..5733296939361 100644
--- a/app/code/Magento/Cookie/composer.json
+++ b/app/code/Magento/Cookie/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-cookie",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/framework": "100.0.*"
},
diff --git a/app/code/Magento/Cookie/i18n/en_US.csv b/app/code/Magento/Cookie/i18n/en_US.csv
index e69de29bb2d1d..09424c22833fe 100644
--- a/app/code/Magento/Cookie/i18n/en_US.csv
+++ b/app/code/Magento/Cookie/i18n/en_US.csv
@@ -0,0 +1,13 @@
+"Invalid domain name: %1","Invalid domain name: %1"
+"Invalid cookie lifetime: %1","Invalid cookie lifetime: %1"
+"Invalid cookie path","Invalid cookie path"
+"We use cookies to make your experience better.","We use cookies to make your experience better."
+"To comply with the new e-Privacy directive, we need to ask for your consent to set the cookies.","To comply with the new e-Privacy directive, we need to ask for your consent to set the cookies."
+"Learn more.","Learn more."
+"Allow Cookies","Allow Cookies"
+"Default Cookie Settings","Default Cookie Settings"
+"Cookie Lifetime","Cookie Lifetime"
+"Cookie Path","Cookie Path"
+"Cookie Domain","Cookie Domain"
+"Use HTTP Only","Use HTTP Only"
+"Cookie Restriction Mode","Cookie Restriction Mode"
diff --git a/app/code/Magento/Cron/composer.json b/app/code/Magento/Cron/composer.json
index 61b341a1ac8b2..602d255457f0d 100644
--- a/app/code/Magento/Cron/composer.json
+++ b/app/code/Magento/Cron/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-cron",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-store": "100.0.*",
"magento/framework": "100.0.*"
},
diff --git a/app/code/Magento/Cron/i18n/en_US.csv b/app/code/Magento/Cron/i18n/en_US.csv
index 7f0fe4935b818..404ffa293199e 100644
--- a/app/code/Magento/Cron/i18n/en_US.csv
+++ b/app/code/Magento/Cron/i18n/en_US.csv
@@ -1,7 +1,11 @@
-"We can't save the cron expression.","We can't save the cron expression."
+"We can\'t save the cron expression.","We can\'t save the cron expression."
Daily,Daily
Weekly,Weekly
Monthly,Monthly
+"Invalid cron expression: %1","Invalid cron expression: %1"
+"Invalid cron expression, expecting \'match/modulus\': %1","Invalid cron expression, expecting \'match/modulus\': %1"
+"Invalid cron expression, expecting numeric modulus: %1","Invalid cron expression, expecting numeric modulus: %1"
+"Invalid cron expression, expecting \'from-to\' structure: %1","Invalid cron expression, expecting \'from-to\' structure: %1"
"Cron (Scheduled Tasks)","Cron (Scheduled Tasks)"
"For correct URLs generated during cron runs please make sure that Web > Secure and Unsecure Base URLs are explicitly set. All the times are in minutes.","For correct URLs generated during cron runs please make sure that Web > Secure and Unsecure Base URLs are explicitly set. All the times are in minutes."
"Cron configuration options for group: ","Cron configuration options for group: "
diff --git a/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency.php b/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency.php
index 2a75aaa720363..08485f59c9a28 100644
--- a/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency.php
+++ b/app/code/Magento/CurrencySymbol/Block/Adminhtml/System/Currency.php
@@ -37,6 +37,14 @@ protected function _prepareLayout()
]
);
+ $onClick = "setLocation('" . $this->getUrl('adminhtml/system_config/edit/section/currency') . "')";
+
+ $this->getToolbar()->addChild(
+ 'options_button',
+ 'Magento\Backend\Block\Widget\Button',
+ ['label' => __('Options'), 'onclick' => $onClick]
+ );
+
$this->getToolbar()->addChild(
'reset_button',
'Magento\Backend\Block\Widget\Button',
diff --git a/app/code/Magento/CurrencySymbol/Test/Unit/Block/Adminhtml/System/CurrencyTest.php b/app/code/Magento/CurrencySymbol/Test/Unit/Block/Adminhtml/System/CurrencyTest.php
index b939f876511a0..42afbc2f56e9c 100644
--- a/app/code/Magento/CurrencySymbol/Test/Unit/Block/Adminhtml/System/CurrencyTest.php
+++ b/app/code/Magento/CurrencySymbol/Test/Unit/Block/Adminhtml/System/CurrencyTest.php
@@ -71,6 +71,14 @@ public function testPrepareLayout()
);
$childBlockMock->expects($this->at(1))
+ ->method('addChild')
+ ->with(
+ 'options_button',
+ 'Magento\Backend\Block\Widget\Button',
+ ['label' => __('Options'), 'onclick' => 'setLocation(\'\')']
+ );
+
+ $childBlockMock->expects($this->at(2))
->method('addChild')
->with(
'reset_button',
diff --git a/app/code/Magento/CurrencySymbol/composer.json b/app/code/Magento/CurrencySymbol/composer.json
index de5dcde6c97ce..6361669eb1004 100644
--- a/app/code/Magento/CurrencySymbol/composer.json
+++ b/app/code/Magento/CurrencySymbol/composer.json
@@ -2,7 +2,7 @@
"name": "magento/module-currency-symbol",
"description": "N/A",
"require": {
- "php": "~5.5.0|~5.6.0|~7.0.0",
+ "php": "~5.5.22|~5.6.0|~7.0.0",
"magento/module-config": "100.0.*",
"magento/module-store": "100.0.*",
"magento/module-page-cache": "100.0.*",
diff --git a/app/code/Magento/CurrencySymbol/i18n/en_US.csv b/app/code/Magento/CurrencySymbol/i18n/en_US.csv
index 6caa2d36f3e44..b197ab0b1a5e3 100644
--- a/app/code/Magento/CurrencySymbol/i18n/en_US.csv
+++ b/app/code/Magento/CurrencySymbol/i18n/en_US.csv
@@ -1,20 +1,18 @@
+"Save Currency Rates","Save Currency Rates"
Reset,Reset
-System,System
Import,Import
-"Save Currency Rates","Save Currency Rates"
"Manage Currency Rates","Manage Currency Rates"
"Import Service","Import Service"
"Save Currency Symbols","Save Currency Symbols"
"Currency Symbols","Currency Symbols"
"Use Standard","Use Standard"
-"Currency Rates","Currency Rates"
"Please specify a correct Import Service.","Please specify a correct Import Service."
-"We can't initialize the import model.","We can't initialize the import model."
-"All possible rates were fetched, please click on ""Save"" to apply","All possible rates were fetched, please click on ""Save"" to apply"
-"All rates were fetched, please click on ""Save"" to apply","All rates were fetched, please click on ""Save"" to apply"
-"Please correct the input data for %1 => %2 rate","Please correct the input data for %1 => %2 rate"
+"We can\'t initialize the import model.","We can\'t initialize the import model."
+"Click ""Save"" to apply the rates we found.","Click ""Save"" to apply the rates we found."
+"Currency Rates","Currency Rates"
+"Please correct the input data for ""%1 => %2"" rate.","Please correct the input data for ""%1 => %2"" rate."
"All valid rates have been saved.","All valid rates have been saved."
-"The custom currency symbols were applied.","The custom currency symbols were applied."
-Currency,Currency
-Symbol,Symbol
+System,System
+"You applied the custom currency symbols.","You applied the custom currency symbols."
"Old rate:","Old rate:"
+Currency,Currency
diff --git a/app/code/Magento/CurrencySymbol/view/adminhtml/templates/system/currency/rate/matrix.phtml b/app/code/Magento/CurrencySymbol/view/adminhtml/templates/system/currency/rate/matrix.phtml
index be2df0aae29af..7e2ae3e743ec1 100644
--- a/app/code/Magento/CurrencySymbol/view/adminhtml/templates/system/currency/rate/matrix.phtml
+++ b/app/code/Magento/CurrencySymbol/view/adminhtml/templates/system/currency/rate/matrix.phtml
@@ -17,53 +17,57 @@ $_oldRates = $block->getOldRates();
$_newRates = $block->getNewRates();
$_rates = ($_newRates) ? $_newRates : $_oldRates;
?>
-
+