Як додати переклади нових слів у Magento?


23

Я використовую англійську, іспанську та німецьку мови як три перегляди магазину для свого сайту. Який найпростіший спосіб додати переклади для нових слів?

Навіть якщо я додаю нові слова разом із перекладами, це не відображається у фронталі.

Відповіді:


38

Для цього:

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

Додати як:

app / locale / {lang_ISO} /Mage_Catalog.csv

"Text here","Translation here"

Для цього:

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

Або це (у темі local.xml, зверніть увагу на translateатрибут; також див. Https://stackoverflow.com/a/8408058/794071 ):

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

Додати як:

app / дизайн / frontend / {інтерфейс} / {тема} / locale / {lang_ISO} /translate.csv

"Text here","Translation here"

Напр .: у папці тем:

/locale/fr_FR/translate.csv

"Inspiration","Your France Translation"

1
Також {lang_ISO} залежить від мови за замовчуванням, яку ви створили для свого магазину в Системі> Конфігурація> Загальне> Опції локалізації> Профіль локації.
Жульєн Лашал

3

Ви не дуже перекладаєте слова. Вам потрібно перекласти статичні блоки, сторінки, атрибути, шаблони електронної пошти та елементи, пов’язані з конфігурацією, із бекенда. Для перекладу системних рядків єapp/design/frontend/{package}/{theme]/locale/{locale}/translate.csv

{locale} може бути, наприклад, de_DE для німецької мови, що використовується в Німеччині.

Модифікація файлів перекладу на app/locale/{locale}/НЕ рекомендується, оскільки вони є частиною мовних пакетів, і їх слід розглядати як основні елементи, які можуть бути перезаписані, як тільки пакет оновиться.


0

Це можна зробити цими простими кроками. Крок 1: Створіть новий перегляд магазину. За адміністратором нашого магазину перейдіть до магазину-> Налаштування-> Усі магазини. Create Store View. Виберіть магазин та назвіть, наприклад, хінді. Перейдіть до магазину-> Налаштування-> Конфігурація. У верхньому лівому куті у розділі Store ViewВибір подання магазину Hindi. На Generalвкладці Locale OptionВиберіть Hindi(India)зі спадного меню.

Крок 2: Установіть свою тему для цього подання магазину. Від адміністратора Перейдіть до ЗМІСТ-> Дизайн-> Налаштуйте Editподання магазину та встановіть тему.

Крок 3: Створіть файл csv в <magento dir>/app/design/frontend/<vendorName>/<themeName>/i18n/hi_IN.csv(hi_IN для хінді). Зміст:

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

Крок 4: Розгорніть вміст. в каталозі magento вашого терміналу php bin/magento setup:static-content:deploy -f en_US hi_IN Очистіть кеш і оновіть сторінку. Після переходу на новий режим перегляду відображатимуться зміни. Це буде працювати для magento 2.2.x


0

Який найпростіший спосіб додати переклади для нових слів?

Я думаю, відповідь на технічну частину ... :)

Щоб зробити це "просто" - або пришвидшити l18n - ви можете автоматично переводити CSVфайли.

Це може бути корисно, якщо ви встановили або побудували розширення, що включає лише en_US.csv.

Req:

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

    composer require chriskonnertz/deeply
  • додати CSVдля перекладу
  • додати простий скрипт 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);

Не дуже приємно, але це працює ...: P


Примітки

  • цей пакет використовує (недокументований?) API, для якого не потрібен ключ AUTH. Здається, є поріг, але він не перевірений
  • для доступу розробника існує платний APIv2 ( 5 € / місяць )
  • підтримує DE, EN, ES, FR, IT, NL, PL, автоматичне виявлення

Я глибоко не пов’язаний з цим , це просто врятувало мене пару годин ... вибачте за рекламу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.