Como adicionar traduções para novas palavras no Magento?


23

Estou usando inglês, espanhol e alemão como três visualizações de loja para o meu site. Qual é a maneira mais fácil de adicionar traduções para novas palavras?

Mesmo se eu adicionar novas palavras com as traduções, elas não aparecerão no frontend.

Respostas:


38

Por esta:

<?php echo Mage::helper('catalog')->__('Text here');?>

Adicionar como:

app / locale / {lang_ISO} /Mage_Catalog.csv

"Text here","Translation here"

Por esta:

<?php echo $this->__('Text here'); ?>

Ou isto (no tema local.xml, observe o translateatributo; veja também /programming//a/8408058/794071 ):

<reference name="top.links">
    <action method="addLink" translate="label title">
        <label>Text here</label>
        <title>Text here</title>
    </action>
</reference>

Adicionar como:

app / design / frontend / {interface} / {tema} / localidade / {lang_ISO} /translate.csv

"Text here","Translation here"

Por exemplo: na sua pasta de temas:

/locale/fr_FR/translate.csv

"Inspiration","Your France Translation"

1
Além disso, o {lang_ISO} depende do idioma padrão configurado para sua loja em Sistema> Configuração> Geral> Opções de localização> Perfil de localidade.
Julien Lachal

3

Você realmente não traduz palavras. Você precisa converter blocos estáticos, páginas, atributos, modelos de email e elementos relacionados à configuração do back-end. Para traduzir seqüências de caracteres do sistema, háapp/design/frontend/{package}/{theme]/locale/{locale}/translate.csv

{locale} pode ser, por exemplo, de_DE para o idioma alemão usado na Alemanha.

A modificação dos arquivos de tradução em app/locale/{locale}/NÃO é recomendada, pois eles fazem parte dos pacotes de idiomas e devem ser considerados como elementos principais que podem ser substituídos assim que o pacote for atualizado.


0

Isso pode ser feito nessas etapas fáceis. Etapa 1: Crie uma nova visualização da loja. Por administrador da nossa loja, vá para LOJAS-> Configurações-> Todas as lojas. Create Store View. Selecione a loja e dê um nome, por exemplo, Hindi. Vá para LOJAS-> Configurações-> Configuração. No canto superior esquerdo em Store ViewSelecione a visualização da sua loja Hindi. Na Generalguia Locale OptionSelecionar Hindi(India)no menu suspenso.

Etapa 2: defina seu tema para esta visualização da loja. Do administrador Vá para CONTEÚDO-> Design-> Configuração Editda visualização da Loja e defina o tema.

Etapa 3: Crie o arquivo csv em <magento dir>/app/design/frontend/<vendorName>/<themeName>/i18n/hi_IN.csv(hi_IN para Hindi). Os conteúdos são:

"Sign In", "Your Text" "My Account","Your Text" "My Wish List", "Your Text"

Etapa 4: implante o conteúdo. no diretório magento do seu terminal php bin/magento setup:static-content:deploy -f en_US hi_IN Limpe o cache e atualize a página. Depois de mudar para a nova loja, suas alterações serão exibidas. Isso funcionará para o magento 2.2.x


0

Qual é a maneira mais fácil de adicionar traduções para novas palavras?

Eu acho que a tecnologia parte é respondida ... :)

Para tornar "fácil" - ou acelerar l18n - você pode traduzir automaticamente CSV arquivos .

Isso pode ser útil se você instalou ou construiu uma extensão que possui apenas en_US.csv incluiu.

Req:

  • https://github.com/chriskonnertz/DeepLy

    composer require chriskonnertz/deeply
  • adicionar CSV para traduzir
  • adicionar script PHP simples

    <?php
    require 'vendor/autoload.php';
    
    use ChrisKonnertz\DeepLy\DeepLy;
    
    $deepLy = new DeepLy();
    
    $read = fopen('en_US.csv','r');
    $write = fopen('de_DE.csv','w');
    
    while (($data = fgetcsv($read, 0, ",")) !== false) {
        $data[1] = $deepLy->translate($data[0], 'DE', 'EN');
        echo "From: " . $data[0] . "\n";
        echo "To: " . $data[1] . "\n";
        fputcsv($write, $data);
    }
    fclose($read);
    fclose($write);

Não é muito bom, mas funciona ...: P


Notas

  • este pacote usa uma API (não documentada?), que não requer chave AUTH. Parece haver um limite, mas não foi testado
  • para acesso de desenvolvedor, existe uma APIv2 paga ( 5 € / mês )
  • suporta DE, EN, ES, FR, IT, NL, PL, detecção automática

Não estou profundamente relacionado , apenas me salvou algumas horas ... desculpe pela publicidade.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.