그래서 마침내 문제를 알아낼 수있었습니다.
실행 js-translation.json
중에 생성 된 JS 템플리트 변환을 읽은 것 같습니다 setup:static-content:deploy
. 이 파일에 데이터를 채우 려면 프로젝트에 대해 새 언어 패키지 를 작성해야합니다.
따라서 테마 수준에서 CSV를 추가하는 대신 app/design/<area>/<vendor>/<theme-name>/i18n/xx_XX.csv
언어 패키지에 CSV 를 추가해야합니다.
새로운 언어 패키지를 먼저 project document root
만들려면 다음 디렉토리를 만들어야합니다.
mkdir -p app/i18n/<project-name>/<xx_xx>
중요 : 소문자 DIRECTORY NAMES 만 사용하면 camcelcased 폴더 이름 만 작동하지 않습니다
그런 다음 디렉토리를 새로 작성된 폴더로 변경하십시오.
cd app/i18n/<project-name>/<xx_xx>
이제 composer.json
다음 내용 으로 (선택 사항) 파일을 만들 수 있습니다 .
{
"name": "<project-name>/<xx_xx>",
"description": "<sample description>", //Ex:English (United States) language
"version": "<version-number>", //100.0.1
"license": [
"OSL-3.0",
"AFL-3.0"
],
"require": {
"magento/framework": "100.0.*"
},
"type": "magento2-language",
"autoload": {
"files": [
"registration.php"
]
}
}
다음으로 language.xml
다음 내용 의 파일이 필요합니다 .
<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/Language/package.xsd">
<code>xx_XX</code> <!-- example: <code>en_US</code> -->
<vendor><project-name></vendor>
<package><xx_xx></package> <!-- example: <package>en_us</package> -->
</language>
보다 후 registration.php
다음과 같은 내용을 포함하는 것은 필요하다 :
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::LANGUAGE,
'<project-name>_<xx_xx>',
__DIR__
);
이제 번역 CSV를 만들 수 있습니다. 이미 테마 폴더 뭔가 내부에 하나가있는 경우처럼 app/design/<area>/<vendor>/<theme-name>/i18n/xx_XX.csv
당신은 단지에 이동할 수 있습니다app/i18n/<project-name>/<xx_xx>/xx_XX.csv
이제 project document root
다음 명령을 실행해야합니다.
find pub/static -name js-translation.json -exec rm -rf {} \;
js-translation.json
실행하기 전에 이미 생성 된 것을 삭제해야 합니다.setup:static-content:deploy
이제 정적 콘텐츠 배포를 실행합니다.
php bin/magento setup:static-content:deploy <xx_XX>
완료되면 캐시를 지 웁니다.
php bin/magento cache:clean
php bin/magento cache:flush
js-translation.json
pub / static 폴더 내부를 모두 찾아서 JS 템플릿의 번역 파일이 생성되었는지 확인할 수 있습니다 .
find pub/static -name js-translation.json
JS 템플릿에 대해 생성 된 모든 번역 파일 목록이 제공됩니다.
참고:
- 마 젠토 DevDocs
- 관련 Github 문제
js-translation.json
파일에 .csv 파일이 삽입되어 있어도 정적 콘텐츠 배포에서 올바르게 생성됩니다app/design/frontend/vendor/theme-name/i18n/xx_XX.csv
.js-translation.json
정적 컨텐츠 배포를 실행하기 전에 모두 삭제 해야합니다.