0

我在 magento2.1 中有一个自定义主题。我创建了一个类别并在其下添加了一个产品。当我转到类别页面查看列表中的该产品时,我收到一条错误消息,

1 exception(s):
Exception #0 (Exception): File "/i18n/en_US.csv" does not exist

Exception #0 (Exception): File "/i18n/en_US.csv" does not exist

从错误中我了解到语言文件不存在。所以我复制了语言文件夹,即: i18n 文件夹

vendor\magento\theme-frontend-blank

并将其粘贴到我的

app\design\frontend\custom\theme

然后我部署了静态文件。仍然显示错误。主页运行良好。有人可以帮我解决吗?

4

1 回答 1

0

因为i18n你可以这样

  • 使文件夹命名为i18ninapp文件夹

  • 使子文件夹与您的主题同名,如文件夹customi18n

  • 在文件夹中创建语言包文件i18n -> custom夹,例如en_usen_gb

  • 现在您的文件夹结构将像这样app/i18n/custom/en_us/

现在在您的语言包文件夹中制作以下文件,所有文件都将在此文件夹结构中app/i18n/custom/en_us/

app/i18n/custom/en_us/composer.json

{
    "name": "custom/en_us",
    "description": "English (US) language",
    "version": "100.0.1",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "require": {
        "magento/framework": "100.0.*"
    },
    "type": "magento2-language",
    "autoload": {
        "files": [
            "registration.php"
        ]
    }
}

app/i18n/custom/en_us/language.xml

<?xml version="1.0"?>
<language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/Language/package.xsd">
    <code>en_US</code>
    <vendor>custom</vendor>
    <package>en_us</package>
</language>

app/i18n/custom/en_us/registration.php

<?php
/**
 * Copyright © 2016 Magento. All rights reserved.
 * See COPYING.txt for license details.
 */
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::LANGUAGE,
    'custom_en_us',
    __DIR__
);

之后将您的en_US.csv放入您的语言包文件夹中

  • app/i18n/custom/en_us/en_US.csv

之后运行以下命令

  • php bin/magento setup:upgrade
  • php bin/magento setup:static-content:deploy
  • php bin/magento cache:clean

希望这会帮助你

于 2017-07-14T08:10:25.220 回答