마 젠토 2 번역이 작동하지 않습니다


10

결제 페이지에서 일부 텍스트를 번역하려고합니다.

"제공된 우편 번호가 유효하지 않은 것 같습니다."

그러나 다음을 추가 frontend/..theme../Magento_Checkout/i18n/en_US.csv하고 다시 배포하면 번역이 없습니다.

"제공된 우편 번호가 유효하지 않은 것 같습니다.", "테스트."

캐시도 지 웠습니다. 내가 무엇을 잘못하고 있지?


업데이트 된 답변을 확인하십시오. 나는 지금 당신을 위해 일하기를 바랍니다.
Suresh Chikani

답변:


15

디렉토리 만들기 app/i18n/Vendorname/en_US

문제 명령 :

bin/magento i18n:collect-phrases --output "app/i18n/Vendorname/en_US/en_US.csv" --magento그러면 번역 가능한 모든 문구가 CSV 파일로 수집되어 지정된 경로에 배치됩니다. 요구 사항에 따라 및 준비 문제 명령에 따라 csv 파일을 변경하십시오.

bin/magento i18n:pack app/i18n/Vendorname/en_US/en_US.csv -d en_US

파일에서 번역이 배포됩니다.

캐시 등을 지우면 변경 사항이 표시됩니다.


이것은 유망 해 보인다. 언어 패키지가 성공적으로 저장되었지만 번역은 아직 없습니다 ..
Cake

collect-phrases 명령을 다시 수행하면 번역이 원래 상태로 돌아갑니다. 왜 절약되지 않습니까?
케이크

마 젠토가 모든 기본 문구를 다시 수집했기 때문에 문구를 다시 수집하면 변경 사항이 무시됩니다. 프로세스는 문구를 수집하고 변경하여 배포하는 것입니다. 일단 배치되면 관련 모듈로 이동할 수 있습니다. 장바구니에 추가하기 위해 장바구니에 추가를 변경했다고 가정하면 공급 업체 / 모듈 카탈로그 / i18n / en_US로 이동할 수 있습니다. csv에서 변경 사항을 찾으십시오. 방금 이것을 다시 테스트했으며 정상적으로 작동합니다. 번역에서 두 번째 인스턴스를 변경하고 캐시를 올바르게 지워야합니다. 정적 컨텐츠를 다시 한 번 배치 할 수도 있습니다.
Devtype

정말 고마워요. 그러나 일부 번역은 이루어지지 않습니다. '예 :'번역 및 '필수 필드'는 번역되지 않습니다. 어떻게 오세요?
케이크

문제를 찾았습니다. 나는 bin / magento setup : upgrade를 PHP로해야했다. 그 후 내 사이트가 엉망이되었지만 테마를 정의하면 문제가 해결되었습니다. 왜 이것이 효과가 있었는지 모릅니다. 감사합니다
Cake

4

번역으로 작성된 텍스트 만 변경할 수 있습니다

처럼 : $this->__("Sample Taxt");

추천 텍스트는 번역으로 작성되지 않으므로 번역으로 변경할 수 없습니다.

변경하려면 JS 파일 에서 찾을 수 있습니다.

vendor/magento/module-checkout/view/frontend/web/js/model/shipping-rates-validator.js

참고 : 테마에서 JS 파일을 재정의해야합니다 .

술집 / 정적 / * 삭제

명령 실행 :

php bin/magento setup:static-content:deploy 

php bin/magento cache:clean

브라우저 캐시를 삭제하십시오.


나는 이것을 시도했지만 어떤 이유로 작동하지 않았다.
케이크

해당 파일을 복사하고 번역을 변경 한 후 app / design / frontend / <vendor> / <theme> / Magento_Checkout / web / js / model에 넣고 캐시를 다시 배포하고 정리했습니다. 하지만 변화는 없습니다.
Cake

업데이트 된 답변을 확인하십시오. 나는 지금 당신을 위해 일하기를 바랍니다.
Suresh Chikani

이것은 실제로 효과가있었습니다. 그러나 Devtype이 제공하는 솔루션은이 경우 내 요구에 더 적합합니다. 도와 주셔서 감사합니다! :)
Cake

1

내 Magento 2 웹 사이트에서 동일한 문제가 있었지만 문제를 해결하는 방법에 대한 모든 종류의 제안을 시도했지만 나를 위해 일한 유일한 것은-

  1. 이동 /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>

  2. js-translation.json그것을 찾아서 삭제하십시오 (만약 사본을 만드십시오!)

  3. magento 루트 폴더로 돌아가서 다음을 실행하십시오. php bin/magento setup:static-content:deploy pl_PL

  4. 그런 다음 실행 php bin/magento cache:flush

그게 다야. /pub/static/frontend/<theme>/<theme>/<language for example pl_PL>폴더 로 돌아 가면 다시 js-translation.json생성 된 것을 확인하십시오.

정적 배포를 실행할 때 magento는 모든 번역이이 파일에 삽입 된 js-translation.json 파일을 생성하고 페이지가로드 될 때마다 호출하기 때문에이 문제가 발생합니다. 따라서 이미 생성되어 있고 보통 비어 있으면 새 정보로 덮어 쓸 수 없습니다. 삭제하고 다시 생성하면 문제가 해결됩니다.

이것이 누군가를 도울 수 있기를 바랍니다.


안녕하세요 @Pinky_P, 제 경우에는 js-translation.json이 예상 번역으로 업데이트되었습니다. 그러나 프론트 엔드에는 나타나지 않습니다. 이 문제를 해결하도록 도와 주시겠습니까?
Ramya

0

🎗 알림 ...

Magento는 일부 번역 데이터를 브라우저 저장소에 저장합니다.

Magento 내부 캐시 외에 브라우저 저장소 항목을 정리해야 할 수도 있습니다.

여기에 이미지 설명을 입력하십시오

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