Come aggiungere traduzioni per nuove parole in Magento?


23

Sto usando inglese, spagnolo e tedesco come tre visualizzazioni del mio sito. Qual è il modo più semplice per aggiungere traduzioni per nuove parole?

Anche se aggiungo nuove parole con le traduzioni, questo non viene visualizzato nel frontend.

Risposte:


38

Per questo:

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

Aggiungi come:

app / locale / {} lang_ISO /Mage_Catalog.csv

"Text here","Translation here"

Per questo:

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

O questo (nel tema local.xml, nota l' translateattributo; vedi anche /programming//a/8408058/794071 ):

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

Aggiungi come:

app / design / frontend / {interfaccia} / {} tema / locale / {} lang_ISO /translate.csv

"Text here","Translation here"

Ad esempio: nella cartella del tema:

/locale/fr_FR/translate.csv

"Inspiration","Your France Translation"

1
Inoltre, {lang_ISO} dipende dalla lingua predefinita che hai impostato per il tuo negozio in Sistema> Configurazione> Generale> Opzioni di localizzazione> Profilo locale.
Julien Lachal,

3

Non traduci davvero le parole. È necessario tradurre dal back-end blocchi statici, pagine, attributi, modelli di posta elettronica ed elementi relativi alla configurazione. Per tradurre le stringhe di sistema, c'èapp/design/frontend/{package}/{theme]/locale/{locale}/translate.csv

{locale} potrebbe essere ad esempio de_DE per la lingua tedesca utilizzata in Germania.

La modifica dei file di traduzione su app/locale/{locale}/NON è consigliata in quanto fanno parte dei pacchetti di lingue e devono essere considerati elementi fondamentali che possono essere sovrascritti non appena il pacchetto viene aggiornato.


0

Può essere fatto in questi semplici passaggi. Passaggio 1: creare una nuova vista dello store. Dall'amministratore del nostro negozio vai su NEGOZI-> Impostazioni-> Tutti i negozi. Create Store View. Seleziona il negozio e dai il nome, ad esempio, l'hindi. Vai su NEGOZI-> Impostazioni-> Configurazione. Nell'angolo in alto a sinistra in Store ViewSeleziona la vista del tuo negozio Hindi. Nella Generalscheda Locale OptionSelezionare Hindi(India)dal menu a discesa.

Passaggio 2: imposta il tema su questa vista Store. Da admin Vai a CONTENUTO-> Design-> Configura Editla vista del tuo negozio e imposta il tema.

Passaggio 3: creare il file CSV in <magento dir>/app/design/frontend/<vendorName>/<themeName>/i18n/hi_IN.csv(hi_IN per Hindi). I contenuti sono:

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

Passaggio 4: distribuire il contenuto. nella directory magento del tuo terminale php bin/magento setup:static-content:deploy -f en_US hi_IN Pulisci la cache e aggiorna la pagina. Dopo essere passati alla nuova visualizzazione del negozio, verranno visualizzate le modifiche. Questo funzionerà con magento 2.2.x


0

Qual è il modo più semplice per aggiungere traduzioni per nuove parole?

Immagino che la parte tecnica abbia una risposta ... :)

Per renderlo "facile" - o per accelerare l18n - puoi tradurre automaticamente i CSVfile.

Questo può essere utile se hai installato o creato un'estensione che ha en_US.csvincluso solo .

Req:

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

    composer require chriskonnertz/deeply
  • aggiungi CSVper tradurre
  • aggiungi un semplice script PHP

    <?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);

Non proprio carino, ma funziona ...: P


Gli appunti

  • questo pacchetto utilizza un'API (non documentata?), che non richiede chiave AUTH. Sembra che ci sia una soglia, ma non è stata testata
  • per l'accesso degli sviluppatori, esiste un APIv2 a pagamento ( 5 € / mese )
  • supporta DE, EN, ES, FR, IT, NL, PL, rilevamento automatico

Non sono imparentato a fondo , mi ha risparmiato solo un paio d'ore ... mi dispiace per la pubblicità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.