Magento 2에서 JS 오류 메시지 또는 텍스트를 번역하는 방법?


13

영어와 아랍어 기본 js 유효성 검사 오류 메시지가 아랍어로 번역되어야하는 두 가지보기가 있으므로 어떻게해야합니까? 또한 수행 방법에 대한 몇 가지 사용자 정의 텍스트가 있습니다.

아랍어로 i18n을 만들었습니다 .PHTML 또는 PHP 파일로 에코하면 Magento 2에서도 js로 브리징하는 것과 같은 방식으로 작동합니다

누구든지 나를 도와 줘

답변:


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'));
    });
});

mage/translate.js번역에 Magento2 사용


내 지에서 "여기에 메시지를 입력"번역한다는 점에서 내 모듈 국제화 폴더에 ar_KW.csv을 만들어 그것이 작동하지 않는 시도하지만 PHTML에 난 내 번역 된 텍스트 내가 표시 에코 경우
프라 딥 쿠마르

캐시 및 정적 컨텐츠 배포를 지우셨습니까? @PradeepKumar
Keyur Shah

내가 찾던 대답 만! +1
thdoan

phtml 파일에서 직접 사용하면 작동하지 않습니다. Magento는 js 및 html 파일에서만 구문 분석하고 번역합니다.
eInyzant 2019

이것은 작동하지만 코드를 깨끗하게하는 것은 아닙니다. 마법사 / 번역이 필요하지만 사용하고 있지 않습니다. .
올리버 드 Cramer



5

깊이 파고 난 후 magento2의 현지화 개념을 알게되었습니다.

아래는 당신이 따라야 할 것입니다, 내 웹 사이트에서 우리는 두 가지보기 en과 ar_kw Arabic를 가지고 있습니다.

  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-translation.json 파일과 함께 모든 js를 각 테마 / ex luma / ar_KW에 작성합니다. 뿐


안녕하세요, 저는 귀하의 답변에 따라 모든 단계를 완료했습니다. 예를 들어 내가 추가 한 코드는 다음과 같습니다. alert ($. mage .__ ( 'js test')); 언어 파일 생성에 올바르게오고 있지만 번역을 변경하면 js 메시지가 여전히 동일합니다. 내가 뭔가를 놓치고 있습니까?
Sunil Verma

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.