Як перекласти повідомлення про помилку JS або текст у Magento 2?


13

У мене є два перегляди англійською та арабською мовою за замовчуванням js перевірку js потрібно перекласти арабською мовою, так як це зробити? А також у мене є кілька власних текстів про те, як це зробити.

Я створив i18n для арабської мови добре працює, якщо я повторюю у файлі PHTML або PHP, так само, як підключити його до js також у Magento 2

хтось допоможе мені

Відповіді:


29

Ви можете перевести повідомлення про помилку js таким чином

require([
'jquery', // jquery Library
'jquery/ui', // Jquery UI Library
'mage/translate' // Magento text translate (Validation message translte as per language)
], function($){ 
    $(window).load(function() {
        alert($.mage.__('Enter Your message here'));
    });
});

Magento2 використовувати mage/translate.jsдля перекладу


створив ar_KW.csv в папці i18n мого модуля в перекладеному "Введіть своє повідомлення сюди" в моєму джи, він намагався не працювати, але в phtml, якщо я повторюю перекладений текст і відображається
Pradeep Kumar

Ви очистили кеш і розгортання статичного вмісту? @PradeepKumar
Keyur Shah

Просто відповідь, яку я шукав! +1
thoan

Майте на увазі, що це не буде працювати, якщо ви будете використовувати його безпосередньо у файлах phtml. Magento буде лише розбирати та переводити з js та html-файлів.
eInyzant

Це буде працювати, але не є чистим кодом; Ви вимагаєте передати / перекласти, але не використовуєте його. .
Олівер де Креймер



5

після копання глибоко я пізнаю поняття локалізації в magento2

нижче - те, що вам потрібно дотримуватися, на моєму веб-сайті у нас є два перегляди en та ar_kw арабська

  1. Створіть мовний пакет http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-i18n.html#config-cli-subcommands-xlate-example2

  2. щоб отримати всі фрази, вам потрібно запустити команду ex

    php D:\xampp\htdocs\magento2\bin\magento i18n:collect-phrases -o "D:\xampp\htdocs\magento2\app\code\Sugarcode\Test\i18n\ar_KW.csv" D:\xampp\htdocs\magento2\app\code\Sugarcode\Test

    погано прочитав мій тестовий модуль і створив csv Sugarcode \ Test \ i18n \ ar_KW.csv

він отримає все __('Some Text') and $.mage.__('Some Text')в js і підготує csv

  1. тепер перекладіть новостворений файл на арабську мову, який ви можете зберегти в імені локального коду ar_KW.csv (він може бути всередині вашого модуля або може бути всередині вас мовним модулем)
  2. видаліть папку var і запустіть bin\magento setup:static-content:deploy en_US ar_KW

  3. він створить всі js разом з файлом js-translation.json у кожній темі / ex luma / ar_KW, js-translation.json матиме всі js сторонні перекладені дані у форматі json, коли коли-небудь ви побачите помилку msg, вона погано відображається з цього файлу тільки


Здравствуйте, я зробив усі кроки відповідно до вашої відповіді, кодом, який я додав для ex: alert ($. Mage .__ ('js test')); правильно потрапляє в генеруючий мовний файл, але коли я змінюю переклад, повідомлення js все-таки приходить те саме. Я щось пропускаю?
Суніл Верма

2

це помилка кидання, якщо ви використовуєте __, тому дотримуйтесь нижче коду

  require([
    'jquery', // jquery Library
    'mage/translate'
   ], function($,$t){ 
        $(window).load(function() {
            alert($t('Enter Your message here'));
        });
    });


0

Додайте в шаблон .phtml своє повідомлення про помилку, наприклад:
<?php echo __('This is a required field.'); ?>
- активний переклад онлайн
- переклад

зроблено


Чи можете ви додати ще детальну інформацію для відповіді про те, як і чому це працює?
tjons
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.