だから私はついに問題を理解することができました。
実行js-translation.json
中に生成されるJSテンプレート変換が読み取られるようですsetup:static-content:deploy
。このファイルにデータを取り込むために、新しいは、プロジェクト用に言語パッケージを作成する必要があります。
そのため、テーマレベルでCSVを追加する代わりに app/design/<area>/<vendor>/<theme-name>/i18n/xx_XX.csv
に、言語パッケージに追加する必要があります。
最初に新しい言語パッケージproject document root
を作成するには、次のディレクトリを作成する必要があります。
mkdir -p app/i18n/<project-name>/<xx_xx>
重要:小文字のディレクトリ名のみを使用して、キャメルケースされたフォルダ名は機能しません
次に、ディレクトリを新しく作成したフォルダーに変更します。
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テンプレートの翻訳ファイルが生成されたかどうかを確認するにはjs-translation.json
、pub / staticフォルダー内をすべて検索します。
find pub/static -name js-translation.json
これにより、JSテンプレート用に生成されたすべての翻訳ファイルのリストが提供されます。
参照:
- Magento DevDocs
- 関連するGithubの問題
js-translation.json
は、.csvファイルがに挿入されていても、静的コンテンツデプロイからファイルが正しく作成されapp/design/frontend/vendor/theme-name/i18n/xx_XX.csv
ます。唯一の注意は、js-translation.json
静的コンテンツのデプロイを実行する前にすべて削除することです。