Magento 2: Diferentes arquivos de conteúdo estático por localidade?

15

No Magento 2, um URL de conteúdo estático se parece com isso

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

Isso inclui uma en_USparte do código do idioma. Isso implica fortemente que

  1. O Magento 2 permite criar diferentes arquivos de conteúdo estático por localidade
  2. Magento 2 processa arquivos de conteúdo estático para seqüências de caracteres local / gettext

Qual das alternativas acima é verdadeira? Ou ambos são verdadeiros? Ou não?

Como eu, como desenvolvedor do módulo Magento, forneço arquivos de conteúdo estático por localidade? Isso seria diferente se eu fosse um desenvolvedor de temas?

Alan Storm
fonte

Respostas:

12

O Magento permite fornecer arquivos de ativos estáticos por localidade no módulo ou tema. Para fornecer esses arquivos localizados, coloque-os na web/i18n/<locale>pasta dentro do módulo ou tema. Esses arquivos têm prioridade acima dos arquivos não localizados.

BuskaMuza
fonte
como podemos fazer as mudanças no phtml? é possível, porque em alguns casos eu preciso adicionar ou remover algo no nível phtml; nesse caso, como fazê-lo e também o layout xml?
Pradeep Kumar
e também alguns dos meus variável personalizada ou menos arquivos também precisam ser alterados nesse caso como fazê-lo
Pradeep Kumar
3
Mesmo. Apenas arquivos phtml devem estar localizados em templatese layouts em layoutpastas. Para temas - este é o primeiro nível de diretórios, para módulos - ele deve estar abaixo view/<area>.
BuskaMuza
@BuskaMuza Sinto muito, mas tentei variações diferentes para XML e PHTML, mas não o fiz. Digamos que meu local seja ar_EG e desejo inserir um novo arquivo CSS default_head_blocks.xml. O arquivo é chamado de theme\Magento_Theme\layout... qual deve ser exatamente o URL da minha substituição?
Ahmad Alfy 17/03/16
2
default_head_blocks.xmlnão deve saber nada sobre localidade. Os caminhos para CSS devem ser referenciados em XML como <module>::css/<file>.css(para arquivo modular) ou css/<file>.css(para arquivo de tema). Se você colocar o arquivo CSS localizado dentro <modue>/view/<area>/web/i18n/ar_EG/css/<file>.cssou dentro <theme>/web/i18n/ar_EG/css/<file>.css, ele deve ser usado automaticamente para uma loja ar_EGescolhida como local.
BuskaMuza
1

Em vez de completar o arquivo separado para um idioma diferente, você pode estender o tema substituindo os arquivos padrão. No arquivo extends.less ou theme.less. Abaixo pode ser a estrutura a ser substituída.

yourtheme / web / i18n / yourlocale

Por exemplo :

aplicativo \ design \ front-end \ Magento \ luma_custom \ web \ i18n \ ar_KW \ css \ source_theme.less

H.Husain
fonte