Magento – Translate checkout strings

localisationmagento2

I want to transalte several strings in the checkout, however, putting them in a CSV or turining on inline translation doesn't seem to rename them.

enter image description here

How can I rename Shipping, Review & Payments and Please enter a valid email address (Ex: johndoe@domain.com).?

Best Answer

In order to override JS validation class you need to create a new module

app/code/local/Vendor/OverrideCore/etc/module.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Vendor_OverrideCore" setup_version="0.1.0" />
</config>

app/code/local/Vendor/OverrideCore/composer.json

{
  "name": "vendor/overridecore",
  "description": "Override Core for Magento 2",
  "require": {
    "php": "~5.5.0|~5.6.0|~7.0.0"
  },
  "type": "magento2-module",
  "version": "0.1.0",
  "authors": [
    {
      "name": "Vendor",
    }
  ],
  "autoload": {
    "files": [
      "registration.php"
    ],
    "psr-4": {
      "Vendor\\OverrideCore\\": ""
    }
  }
}

app/code/local/Vendor/OverrideCore/registration.php

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Vendor_OverrideCore',
    __DIR__
);

Inside your new module create those folders:

app/code/local/Vendor/OverrideCore/view/frontend/web/ app/code/local/Vendor/OverrideCore/view/frontend/web/js/

Create this file app/code/local/Vendor/OverrideCore/view/frontend/web/requirejs-config.js:

/*jshint browser:true jquery:true*/
/*global alert*/
var config = {
    map: {
        '*': {
            'mage/validation': 'Vendor_OverrideCore/js/validation',
            'mage/validation/validation': 'Vendor_OverrideCore/js/validation',
            passwordStrengthIndicator : 'Vendor_OverrideCore/js/password-strength-indicator'
        }
    }
};

Create this file app/code/local/Vendor/OverrideCore/view/frontend/web/js/password-strength-indicator.js:

https://github.com/magento/magento2/blob/develop/app/code/Magento/Customer/view/frontend/web/js/password-strength-indicator.js

Create this file app/code/local/Vendor/OverrideCore/view/frontend/web/js/validation.js:

https://github.com/magento/magento2/blob/develop/lib/web/mage/validation/validation.js

Enable module

php bin/magento module:enable Vendor_OverrideCore

Related Topic