GithubHelp home page GithubHelp logo

magento2-deepl's Introduction

Magento 2 Aromicon DeepL Translate

This Magento 2 module extends your shop with the possibility to automatically translate CMS pages, CMS blocks, products, attributes, ratings and categories with the help of DeepL API.

A DeepL API Key is required and can be created here

FREE DEEPL API KEY + 500.000 Words monthly

You can register for new Deepl Free API here

Currently Supported Languages:

  • BG - Bulgarian
  • CS - Czech
  • DA - Danish
  • DE - German
  • EL - Greek
  • EN - English
  • ES - Spanish
  • ET - Estonian
  • FI - Finnish
  • FR - French
  • HU - Hungarian
  • ID - Indonesian
  • IT - Italian
  • JA - Japanese
  • KO - Korean
  • LT - Lithuanian
  • LV - Latvian
  • NB - Norwegian (Bokmål)
  • NL - Dutch
  • PL - Polish
  • PT - Portuguese (all Portuguese varieties mixed)
  • RO - Romanian
  • RU - Russian
  • SK - Slovak
  • SL - Slovenian
  • SV - Swedish
  • TR - Turkish
  • UK - Ukrainian
  • ZH - Chinese

Installation

Requirements

Magento CE > 2.2.5

Composer

Go to Magento 2 Root Folder and execute following commands as web user (mostly www-data).

composer config repositories.aromicon_deepl vcs [email protected]:aromicon/magento2-deepl.git
composer require aromicon/module-deepl
bin/magento module:enable Aromicon_Deepl
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:enable (only needed, if caches were enabled before)

Manual (not recommended)

Go to your Magento 2 root directory and create a folder app/code/Aromicon/Deepl. Extract Archive to this folder and execute following commands as web user (mostly www-data).

bin/magento module:enable Aromicon_Deepl
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:enable (only needed, if caches were enabled before)

Magento 2 Configuration

Aromicon Deepl Translation Configuration can be found under Stores > Configuration > Aromicon > Deepl Translate

First, you need to Specifiy your Default Storeview, this is your storeview where you normally add your content ind your default language.

Second, you need to chosse between API Version wih depends on Your Account. You can choose "Free" or "Pro"

Third, you need to enter your API Key provided by DeepL Pro.

You can also configure, which fields should be translated by default for CMS Pages, Products and Categories.

Usage

All translation will be added per storeview. The target language will be recieved from your storeview locale settings.

Translate Magento 2 CMS Blocks

Goto Content > CMS > Blocks and open the block, you want to translate. At the edit form on top right corner, there will be a new Translate Button. Select the Storeview, where the Block should be translated and copied. By Default the block will be copied to selected storeview and the Title and Content will be translated.

Translate CMS Pages

Goto Content > CMS > Pages and open the page, you want to translate. At the edit form on top right corner, there will be a new Translate Button. Select the Storeview, where the Block should be translated and copied. By Default the page will be copied to selected storeview and the Title, Url Key, Meta Information and Content will be translated.

Translate Attributes

All Magento 2 Attributes can be translated, but only the Store Labels will be translated. If the attribute is a dropdown or multiselect attribute, without a custom source model, the option walues will be translated as well.

Goto Stores > Attributes > Product and select the needed attribute. Use the translate button on top right corner.

Translate Magento 2 Categories

Name, Page Title, Content, Url Key and Meta Information will be translated on Categories. If you open a Category you will see the Translate button on top right corner. Translated Content will be copied to the selected storeview.

Translate Products

By Default Name, Short Description, Description, Url Key and Meta Information will be translated. You can also configure all attributes of type text or textarea to be translated as well. Just go to your Product Edit View and hit the Translate Button for your desired storeview. Translated data will be copied to selected storeview.

Translate Products Reviews

Product Reviews can be translated too. Just go to Marketing > User Content > Reviews and open a review, then select a storeview from the Translate Button.

Aromicon Deepl Pro

You are looking for Batch Translation from Backend or Console? Try our Aromicon Translate Pro Magento 2 Module

Support

Pull request, issues and features are always welcome.

We ❤ Magento. by [aromicon](https://www.aromicon.de)
Made by [aromicon](https://www.aromicon.de)

magento2-deepl's People

Contributors

frank-bokdam avatar sraromicon avatar theuargb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

magento2-deepl's Issues

Composer autoload error

If you install the extension via composer and rum setup:upgrade, you'll get an error "Module Aromicon .... is already defined in app/code/Aromican ...

I think that problem is ....

"extra": {
    "map": [
        [
            "*",
            "Aromicon/Deepl"
        ]
    ]
}

... that copies all files to app/code.

Default website isn't defined error while running integration tests.

While running integration tests, an error was thrown:

In WebsiteRepository.php line 159: [DomainException] The default website isn't defined. Set the website and try again.

Looking at the call stack we saw that
Aromicon\Deepl\Helper\Config->getTimeout() at /var/www/html/vendor/aromicon/module-deepl/Model/Client/Deepl.php:51,
Aromicon\Deepl\Model\Client\Deepl->__construct() at /var/www/html/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php:121
are being called.

Debbuging into Aromicon\Deepl\Helper\Config->getTimeout() did not retrieve the value and throws the error mentioned above. A simple solution to this would be to add a Proxy to the respective dependency of the CLI command, as discribed here

translate:category does not work for all categories

When you run 'translate:category --category=all', the categories are collected by $this->categoryRepository->getList($filter)->getItems().
categoryRepository is an instance of \Magento\Catalog\Api\CategoryRepositoryInterface.
And there is no function getList().

Please be so kind and fix that. Currently, the command is not working at all.

Wrong API URL (v1 instead of v2)

After I've saved my API key in config section, the page didnt load corrrectly and a this is logged to system.log

main.CRITICAL: Authorization failed. Please supply a valid auth_key parameter.  

I changed API url in config.xml to v2 and it seems to work now.

License clarification

Could you please indicate under which license this module is distributed? From Packagist.org:

There is no license information available for the latest version (dev-master) of this package. You should require license clarification from the author.

Configuration Tab for "Aromicon" Not Displayed due to Missing Resource ID in acl.xml

Hello,

While trying to navigate to the configuration settings of the module, I noticed that the configuration tab for "Aromicon" is missing from the path Store → Settings → Configuration → “Aromicon”. Upon investigation, it appears the root cause might be that the resource ID specified in the system.xml file is not defined in the acl.xml file.

Steps to reproduce:

Install the module within the Magento engine version 2.4.6-p2

Navigate to Store → Settings → Configuration

Try to locate the "Aromicon" tab

Expected result:

The "Aromicon" tab should be visible under Store → Settings → Configuration.

Actual result:

The "Aromicon" tab is missing.

Possible solution:

Please verify the resource ID in system.xml and ensure it is correctly defined in acl.xml.

Thanks for your attention to this issue. Looking forward to a resolution.

PHP 7.4 Support

According to the composer.json, this module does not support PHP 7.4 yet, which is highly recommended for Magento 2.4. Could you please add compatibility for it? Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.