Magento 2: разные файлы со статическим контентом в каждой локали?

16

В Magento 2 статический URL-адрес контента выглядит следующим образом

http://magento-2-with-keys.dev/static/adminhtml/Magento/science/en_US/Pulsestorm_FrontendTutorial1/hello.js

Это включает в себя en_USчасть локали. Это сильно подразумевает, что либо

  1. Magento 2 позволяет создавать различные файлы статического содержимого для каждой локали
  2. Magento 2 обрабатывает файлы статического содержимого для строк locale / gettext

Что из перечисленного является правдой? Или оба верны? Или нет?

Как мне, как разработчику модуля Magento, предоставлять файлы статического контента для каждой локали? Было бы по-другому, если бы я был разработчиком темы?

Алан Сторм
источник

Ответы:

13

Magento позволяет предоставлять статические файлы ресурсов для каждой локали в модуле или теме. Чтобы предоставить такие локализованные файлы, поместите их в web/i18n/<locale>папку внутри модуля или темы. Эти файлы имеют приоритет над нелокализованными файлами.

BuskaMuza
источник
как мы можем сделать изменения в phtml? это возможно, потому что в некоторых случаях мне нужно добавить или удалить что-то на уровне phtml, в таком случае, как это сделать, а также макет XML?
Прадип Кумар
а также несколько моих пользовательских переменных или меньше файлов также необходимо изменить в этом случае, как это сделать
Pradeep Kumar
3
Одна и та же. Просто phtml файлы должны быть расположены под, templatesа макеты под layoutпапками. Для тем - это первый уровень каталогов, для модулей - под ним view/<area>.
BuskaMuza
@BuskaMuza Извините, но я пробовал разные варианты для XML и PHTML, но это не так. Скажем, мой local is ar_EG, и я хочу вставить новый файл CSS в default_head_blocks.xml. Файл вызывается из theme\Magento_Theme\layout... каким должен быть URL моего переопределения?
Ахмад Алфи
2
default_head_blocks.xmlне должен ничего знать о локали. Пути к CSS должны указываться в XML как <module>::css/<file>.css(для модульного файла) или css/<file>.css(для файла темы). Если вы поместите свой локализованный CSS-файл в <modue>/view/<area>/web/i18n/ar_EG/css/<file>.cssили внутри <theme>/web/i18n/ar_EG/css/<file>.css, он должен автоматически использоваться для магазина с ar_EGвыбранным в качестве локали.
BuskaMuza
1

Вместо полного отдельного файла для другого языка, вы можете расширить тему, переопределив файлы по умолчанию. В файле extends.less или theme.less. Ниже может быть структура для переопределения.

yourtheme / веб / i18n / yourlocale

Например :

Приложение \ дизайн \ интерфейс \ Magento \ luma_custom \ Web \ i18n \ ar_KW \ CSS \ source_theme.less

H.Husain
источник