Как добавить переводы для новых слов в Magento?


23

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

Даже если я добавлю новые слова с переводами, они не отображаются в интерфейсе.

Ответы:


38

За это:

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

Добавить как:

Приложение / национальная_версия / {lang_ISO} /Mage_Catalog.csv

"Text here","Translation here"

За это:

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

Или это (в теме local.xmlобратите внимание на translateатрибут; см. Также /programming//a/8408058/794071 ):

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

Добавить как:

приложение / дизайн / интерфейс / {интерфейс} / {тема} / локаль / {} 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: Создайте новый вид магазина. Администратором нашего магазина зайдите в STORES-> Настройки-> Все магазины. Create Store View, Выберите магазин и дайте имя, например, хинди. Перейдите в STORES-> Настройки-> Конфигурация. В верхнем левом углу окна Store ViewВыберите вид магазина Hindi. На Generalвкладке Locale OptionВыбрать Hindi(India)из выпадающего списка.

Шаг 2: Установите тему в этом представлении магазина. От администратора Перейдите в CONTENT-> Дизайн-> Конфигурация Editвашего магазина и установите тему.

Шаг 3: Создать CSV-файл в <magento dir>/app/design/frontend/<vendorName>/<themeName>/i18n/hi_IN.csv(привет_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

Какой самый простой способ добавить переводы для новых слов?

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

Чтобы сделать это «легко» - или ускорить работу 18 - вы можете автоматически переводить 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.