1

So we have a registration form with the fields Email, Password and Confirm Password as you can see in the picture:

English

What happens is that the messages which appear once the input has been written keep being showed in English after changing the language to Spanish:

Spanish

I have modified the: <vendor>\app\i18n\<module>\es_ES\es_ES.csv file:

"Please enter the same value again.","Por favor, ingrese el mismo valor." "Please enter a valid email address (Ex: johndoe@domain.com).","Por favor, ingrese una dirección de correo electrónico válida. (Ej: johndoe@dominio.com)." "Minimum length of this field must be equal or greater than %1 symbols. Leading and trailing spaces will be ignored.","La longitud mínima de este campo tiene que ser igual o superior a %1 símbolos. Los espacios iniciales y finales serán ignorados."

As far as I have understood, about the .csv columns is that if I only write the first 2 (the old translation and the new one), it applies everywhere it finds it. And I did search the sentences in the vendor folder and the email sentence comes from a translation csv but I could only find the other 2 sentences in javascript files.

After changing all this I ran the below commands:

rm -rf pub/static/*; php bin/magento setup:upgrade; php bin/magento setup:static-content:deploy; php bin/magento setup:static-content:deploy es_ES;

I also know and read about that both files:

app/design/frontend/vendor/theme/i18n/en_US.csv
app/design/frontend/vendor/theme/i18n/es_ES.csv

Don't have priority over(Atleast in my version):

app/i18n/...

I've read aswell some info about javascript translation but I don't understand it because i don't know about it.

0

you need to create your module in app/i18n directory

create below directory

app/i18n/ModuleName/es_ES

create registration.php file include below code in it.

\Magento\Framework\Component\ComponentRegistrar::register(
   \Magento\Framework\Component\ComponentRegistrar::LANGUAGE,
   'moduleName_es_es',
   __DIR__
);

create language.xml file include below code

enter image description here

add translate csv file es_ES.csv in above directory

app/i18n/ModuleName/es_ES/es_ES.csv

add translatation in above file

Please enter a valid email.,Bitte geben Sie eine gültige eMail-Adresse ein.,module,Magento_CustomerImportExport

run below command to register language pack

php bin/magento setup:upgrade

php bin/magento setup:static-content:deploy es_ES
| improve this answer | |
  • I have already done that. Of course I checked again and run the commands in case something was wrong, but it's not working yet. – Raül Jun 25 '18 at 14:09
  • have you first removed pub/static and then run above command – Prashant Valanda Jun 26 '18 at 5:36
  • Doesn't work, I have removed pub/static, upgrade and deploy and in case I tried doing the same and flushing after but no difference. Maybe is there any other way to do it through javascript? – Raül Jun 26 '18 at 7:21
0

I managed to fix it parcially, I couldn't do it totally because we don't modify vendor.

You need to modify the javascript libraries and make sure the strings are translatable. Have a look at these:

https://github.com/magento/magento2/commit/3109c8e96bcd08041f558be65a2a4e3d213d22a4

https://github.com/magento/magento2/commit/f67e5989f5efb36ca331e5cc28ee109961fcb99c#diff-008039a39f72563bcec8459724e505b0

The first one fixes the email and confirm password and the second one in theory fixes the Password Validation.

I got stuck in the Password validation because as I said, I can't modify Magento main folders, I want to overwrite them.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.