Добрый день.
Решил русифицировать magento 2 с помощью готовых csv файлов. Нашел, вроде бы, достойный вариант https://bitbucket.org/etws/m2_russianlanguagepack
Закинул ru_RU.csv в корень, через SSH с помощью команды
php bin/magento i18n:pack -d <корневая папка>/ru_RU.csv <корневая папка> ru_RU
установил языковой пакет, так же использовал setup:upgrade и cache:clean на всякий случай. Большинство важных мне элементов на главной странице перевелось, но, при переходе на любую другую страницу сайта можно лишь увидеть кучу ошибок, начинающихся с
File "/i18n/ru_RU.csv" does not exist
Вот, например.
Не подскажите, где я допустил ошибку, как вообще можно это исправить?
Solved! Go to Solution.
Мы обычно устанавливаем перевод через composer, не создавая language package (не раскидывая фразы из словаря по модулям) и проблем пока не было.
Вы создали из словаря language package, раскидав по модулям фразы из словаря и выглядит всё так, что или для каких-то модулей файлы не создались или у Magento нет прав для чтения этих файлов.
Для начала обратите внимание на права .csv файлов, которые вы создали командой.
ах, да, так же создал директорию /app/i18n/test/ru_ru куда поместил 3 файла
language.xml
<?xml version="1.0"?> <!-- /** * @copyright Copyright (c) 2015 ET Web Solutions (http://etwebsolutions.com) * @contacts support@etwebsolutions.com * @license http://shop.etwebsolutions.com/etws-license-free-v1/ ETWS Free License (EFL1) */ --> <language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../lib/internal/Magento/Framework/App/Language/package.xsd"> <code>ru_RU</code> <vendor>test</vendor> <package>ru_ru</package> <sort_order>100</sort_order> </language>
registration.php
<?php /** * @copyright Copyright (c) 2015 ET Web Solutions (http://etwebsolutions.com) * @contacts support@etwebsolutions.com * @license http://shop.etwebsolutions.com/etws-license-free-v1/ ETWS Free License (EFL1) */ \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::LANGUAGE, 'test_ru_ru', __DIR__ );
composer.json
{ "name": "test/ru_ru", "description": "Russian Language Pack for Magento 2", "keywords": [ "magento2", "translation" ], "type": "magento2-language", "version": "0.0.3", "license": [ "EFL1" ], "authors":[ { "name":"ET Web Solutions", "email": "support@etwebsolutions.com", "homepage": "http://www.etwebsolutions.com/" } ], "support": { "email": "support@etwebsolutions.com", "issues": "https://bitbucket.org/etws/m2_russianlanguagepack/issues", "source": "https://bitbucket.org/etws/m2_russianlanguagepack/src" }, "require": { "magento/framework": "100.0.*" }, "autoload": { "files": [ "registration.php" ] } }
Мы обычно устанавливаем перевод через composer, не создавая language package (не раскидывая фразы из словаря по модулям) и проблем пока не было.
Вы создали из словаря language package, раскидав по модулям фразы из словаря и выглядит всё так, что или для каких-то модулей файлы не создались или у Magento нет прав для чтения этих файлов.
Для начала обратите внимание на права .csv файлов, которые вы создали командой.
Поменял права для тех файлов .csv, что нашел, на 777, не помогло. Установил через composer, тоже не помогло. Попробую заново снести все и поставить на этот раз языковой пакет через composer.
При установке через композитор все работает отлично, ну по крайней мере на установке со стандартными демо данными
спасибо, все действительно заработало через composer
Подскажите пожалуйста, я новичёк в этом деле, даю команду в putty
composer require etws/magento-language-ru_ru:*
Выдаёт ошибку: Problem 1
- etws/magento-language-ru_ru 0.0.3 requires magento/framework 100.0.* -> no matching package found.
- etws/magento-language-ru_ru 0.0.1 requires magento/framework 100.0.* -> no matching package found.
- Installation request for etws/magento-language-ru_ru * -> satisfiable by etws/magento-language-ru_ru[0.0.1, 0.0.3].
Как быть????? Подскажите, заранее спасибо!
В вашем случае данная ошибка произошла скорее всего из-за того, что вы пытались выполнить команду находясь не в корневом каталоге Magento.
Для правильной работу указанной вами команды вам необходимо перейти в корень вашего проекта и запустить команду. Корневой папкой считается папка содержащая в себе:
Пример:
cd /var/www/magento2 && composer require etws/magento-language-ru_ru:*
где "/var/www/magento2" абсолютный путь до корневой папки вашего проекта
Спасибо! Вот только теперь следующая ошибка вылезла:
Problem 1
- magento/product-community-edition 2.0.4 requires composer/composer 1.0.0-alpha10 -> satisfiable by composer/composer[1.0.0-alpha10].
- magento/product-community-edition 2.0.4 requires composer/composer 1.0.0-alpha10 -> satisfiable by composer/composer[1.0.0-alpha10].
- Removal request for composer/composer == 1.0.0.0-alpha10
- Installation request for magento/product-community-edition == 2.0.4.0 -> satisfiable by magento/product-community-edition[2.0.4].
Не подскажите ещё раз) Заранее спасибо!
Composer сам установили?
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer