Jak dodać tłumaczenia nowych słów w Magento?

23

Używam angielskiego, hiszpańskiego i niemieckiego jako trzech wyświetleń sklepu dla mojej witryny. Jaki jest najłatwiejszy sposób dodawania tłumaczeń dla nowych słów?

Nawet jeśli dodam nowe słowa do tłumaczeń, nie będą one wyświetlane w interfejsie użytkownika.

Sukeshini
źródło

Odpowiedzi:

38

Dla tego:

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

Dodaj jak:

app / locale / {lang_ISO} /Mage_Catalog.csv

"Text here","Translation here"

Dla tego:

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

Lub to (w motywie local.xmlzanotuj translateatrybut; zobacz także /programming//a/8408058/794071 ):

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

Dodaj jak:

app / design / frontend / {interface} / {theme} / locale / {lang_ISO} /translate.csv

"Text here","Translation here"

Np .: w folderze motywów:

/locale/fr_FR/translate.csv

"Inspiration","Your France Translation"
TBI Infotech
źródło
1
Ponadto {lang_ISO} zależy od domyślnego języka skonfigurowanego dla sklepu w System> Konfiguracja> Ogólne> Opcje lokalizacji> Profil ustawień regionalnych.
Julien Lachal
3

Naprawdę nie tłumaczysz słów. Musisz przetłumaczyć statyczne bloki, strony, atrybuty, szablony e-mail i elementy związane z konfiguracją z backendu. Aby przetłumaczyć ciągi systemowe, istniejeapp/design/frontend/{package}/{theme]/locale/{locale}/translate.csv

{locale} może być na przykład de_DE dla języka niemieckiego używanego w Niemczech.

Modyfikacja plików tłumaczeń app/locale/{locale}/NIE jest odradzana, ponieważ stanowią one część pakietów językowych i powinny być traktowane jako podstawowe elementy, które mogą zostać zastąpione, gdy tylko pakiet zostanie zaktualizowany.

Pronto
źródło
0

Można to zrobić w tych prostych krokach. Krok 1: Utwórz nowy widok sklepu. Przez administratora naszego sklepu przejdź do SKLEPY-> Ustawienia-> Wszystkie sklepy. Create Store View. Wybierz sklep i podaj nazwę, na przykład hindi. Przejdź do SKLEPY-> Ustawienia-> Konfiguracja. W lewym górnym rogu w Store ViewWybierz widok sklepu Hindi. W Generalzakładce Locale OptionWybierz Hindi(India)z menu rozwijanego.

Krok 2: Ustaw motyw w tym widoku Sklepu. Od administratora Przejdź do SPIS TREŚCI-> Projektowanie-> Konfiguracja Editwidoku Sklepu i ustaw motyw.

Krok 3: Utwórz plik csv w <magento dir>/app/design/frontend/<vendorName>/<themeName>/i18n/hi_IN.csv(hi_IN dla hindi). Zawartość to:

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

Krok 4: Wdróż zawartość. w katalogu magento terminala php bin/magento setup:static-content:deploy -f en_US hi_IN Oczyść pamięć podręczną i odśwież stronę. Po przejściu do widoku nowego sklepu zmiany będą widoczne. Będzie to działać w Magento 2.2.x.

Punit sharma
źródło
0

Jaki jest najłatwiejszy sposób dodawania tłumaczeń dla nowych słów?

Chyba część techniczną odpowiedziano ... :)

Aby uczynić to „łatwym” - lub przyspieszyć L18n - możesz automatycznie tłumaczyć CSV pliki.

Może to być przydatne, jeśli zainstalowałeś lub zbudowałeś rozszerzenie, które ma tylko en_US.csv zawiera.

Wymagane:

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

    composer require chriskonnertz/deeply
  • Dodaj CSV do przetłumaczenia
  • dodaj prosty skrypt 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);

Nie bardzo ładne, ale działa ...: P.


Uwagi

  • ten pakiet używa (nieudokumentowanego?) interfejsu API, który nie wymaga klucza AUTH. Wydaje się, że istnieje próg, ale nie został przetestowany
  • za dostęp programisty dostępna jest płatna APIv2 ( 5 € / miesiąc )
  • obsługuje DE, EN, ES, FR, IT, NL, PL, automatyczne wykrywanie

Nie jestem głęboko związany , tylko zaoszczędziłem kilka godzin ... przepraszam za reklamę.

sv3n
źródło