Auto Translation Pro


Installation instructions, documentation and FAQs for the Shopware plugin

Installation instructions

Install the extension via the extension area.

API key

Google Translate API

  1. Go to https://console.cloud.google.com/ .
  2. Create a new project with your account.
  3. Enter the name of the project and click on "Create".
  4. Open the new project and go to API & Services.
  5. Activate API and services.
  6. Search for "Cloud Translation API" in the list and activate it.
  7. Now create a new Google Translate API key via "Create credentials" and enter it in the settings of the Shopware extension.

DeepL API

  1. Go to https://www.deepl.com/en/login
  2. Create an account or log in.
  3. Go to the "API Keys & Limits" section
  4. Create a new "key" and copy the key.
  5. Add the key to the settings of the Shopware extension.
  6. We recommend activating cost control so that no unnecessary costs are incurred in the event of an unexpected error.
Activate cost control and set a limit for the APi key

Setting up the extension in Shopware

API settings

Google API key: If Google Translate is to be used, enter the key here

DeepL API key: If DeepL API key is to be used, enter the key here

Setting the subscription type of DeepL

DeepL offers various API subscription types. The two important ones for the extension are

  1. DeepL API Free, offers up to 500,000 free characters per month
  2. DeepL API Pro, free number of characters, EUR 20 per 1,000,000 characters

Please note: the correct subscription type must be selected to match the DeepL API Plan.

Setting for the translation

Translatable HTML attributes, activates the translation of e.g. links or images.

Translate links

Translates a link on the page and determines whether there is an alternative link in another language in the sales channel.

The following user-defined fields are ignored during translation

A selection of custom fields that can be ignored during translation.

The following product fields are ignored during translation

Here you will find a selection of product fields that can be ignored during translation. Do not select mandatory fields such as "Name". For technical reasons, translations can no longer be saved once these fields have been selected.

Check API login information

The API keys entered above can be checked here after they have been saved.

Languages

Settings -> Shop -> Languages

Select an existing language or create a new language.

Choose a name, create the localisation and the ISO code of the language.

"Inherit from" - indicates which language this language inherits from.

After saving, the translation settings can be made:

  1. API Choose between Google and DeepL here.
  2. Source language specifies the language from which the translation is made. The main language of the shop should be used here.
    • If you select a language other than the default language when selecting the source language, make sure that all mandatory fields are filled in. Otherwise the translations cannot be saved for technical reasons.

With the main extension English only available. Other languages can be added with the Language package be set.

Use of the extension, without bulk extension

Product

  1. To translate a product, open the product in Catalogues->Products.
  2. Change the language in the bar at the top to the desired language.
  3. Select "Translate (empty fields)" to translate only the empty fields or "Translate all" to overwrite filled fields as well.

Categories (More areas)

  1. To translate a category, open the category in Catalogues->Categories.
  2. Change the language in the bar at the top to the desired language.
  3. Select "Translate (empty fields)" to translate only the empty fields or "Translate all" to overwrite filled fields as well.

Manufacturer (More areas)

  1. To translate a manufacturer, open the manufacturer in Catalogues->Manufacturers.
  2. Change the language in the bar at the top to the desired language.
  3. Select "Translate (empty fields)" to translate only the empty fields or "Translate all" to overwrite filled fields as well.

E-mail templates (More areas)

  1. To translate an email template, open the email template in Settings-> Shop->Email templates.
  2. Change the language in the bar at the top to the desired language.
  3. Select "Translate (empty fields)" to translate only the empty fields or "Translate all" to overwrite filled fields as well.

Dynamic product groups (more areas)

  1. To translate a dynamic product group, open the dynamic product groups in Catalogues->dynamic product groups.
  2. Change the language in the bar at the top to the desired language.
  3. Select "Translate (empty fields)" to translate only the empty fields or "Translate all" to overwrite filled fields as well.

Worlds of experience (More areas)

  1. To translate a world of experience, open the worlds of experience in Content->Worlds of Experience.
  2. Change the language in the bar at the top to the desired language.
  3. Select "Translate (empty fields)" to translate only the empty fields or "Translate all" to overwrite filled fields as well.

Use of the extension, with the bulk extension

Product

  1. Open the bulk menu under Contents -> Biloba Translation Pro Bulk
  2. Select the target language
  3. Select the area you want to translate, some areas are only available with the More areas bulk Extension available
  4. Each area has its own settings, most of which offer the following points:
    • Translate only active "...": Select the option to translate only active entities.
    • Translate already translated "...": Select this option if you want to start the translation a second time and translate all "old" entities and new entities again.
    • Translate only empty fields: translates only empty fields in a similar way to "Single translation".

Biloba Translation Pro Log

Under Contents -> Translation Pro you will find a log for all translated entities

Biloba Auto Translation Pro Lexicon

Under Contents -> Biloba Translation Pro Dictionary, fixed words can be set which are always translated in the same way.

  1. Open the Dictionary menu
  2. Open a new "Dictionary entry"
  3. Create the word in the main system language
  4. Save the entry
  5. Change the language and enter the fixed word in this language into which you want to translate.

CSV Import/Export

It is also possible to create the entries via CSV export / import.

To see what the CSV must look like, create the CSV as an export for an entry.

The CSV file must start with Semicolons be separated. In the 1st column the dictionary entry of the Default language be created. In the 2nd column the entry of the Target language stand. Existing entries are overwritten.

Example of entries in English with German as the main language

FAQs

Upload app
Download the app in the administration under Extensions → My extensions high.

Install & activate app
Install the app and then activate it.

Store translation service ID
Open the app configuration and enter the required translation service ID.

Create private key
Create a private key for your favourite translation service (recommended: DeepL).

You need the developer package to obtain a DeepL key.
If you use a Google Translate API key instead, insert it here as well.

Check key
Check in the app configuration whether your private key is valid.

Set up languages
Go to Settings → Shop → Languages.
For each language to be translated, define the Source language and the desired Translation API fixed.

Translate
As soon as a language is configured, you can use it directly for translation.

If you would like to try out the plugin before purchasing an API key, test your text here:

DeepL Translation
Google Translator

The translation button is located under "Catalogue/Products/ProductX" next to the cancel button.

This error can occur if the database table was not created correctly during installation. This can be added with the following SQL commands.

Table 1
CREATE TABLE IF NOT EXISTS biloba_intl_translation_log (
id BINARY(16) NOT NULL,
initiator VARCHAR(255) NOT NULL,
entity_id BINARY(16) NOT NULL,
target_language_id BINARY(16) NOT NULL,
entity_type VARCHAR(255) NOT NULL,
type VARCHAR(255) NOT NULL,
status VARCHAR(255) NOT NULL,
context JSON NOT NULL,
created_at DATETIME(3) NOT NULL,
updated_at DATETIME(3) NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

2. table
CREATE TABLE IF NOT EXISTS biloba_intl_translation_config (
id BINARY(16) NOT NULL,
source_language_id BINARY(16),
target_language_id BINARY(16) NOT NULL,
translation_api VARCHAR(255) NOT NULL,
created_at DATETIME(3) NOT NULL,
updated_at DATETIME(3) NULL,
PRIMARY KEY (id),
CONSTRAINT fk.biloba_intl_translation_config.target_language_id FOREIGN KEY (target_language_id)
REFERENCES language (id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk.biloba_intl_translation_config.source_language_id FOREIGN KEY (source_language_id)
REFERENCES language (id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

There is currently an error in Shopware that the wrong ISO code is stored in the database table for the text modules. This setting cannot be changed via the admin area, but must be entered directly in the snippet_set database table. Please make sure that the ISO code is also entered that is stored for the language in the settings under Language.

To make the translation button clickable, you have to create and activate the language in the backend as usual. This corresponds to the standard procedure in Shopware. Note, however, that the language only becomes visible in the frontend when you assign it to a sales channel. This way you can use the translation function without making the entire language publicly available.

Shopware uses the following inheritance sequence for the experience worlds:

  1. The main language inherits from the world of experience.
  2. The new language inherits from the main language.

If changes are now made to the layout area in the main language, the changes are adopted in the new language, as the new language inherits from the main language.

When the translation is started, the translatable elements from the main shop language are transferred to the new language, which are the text elements. The images are now taken from the original, the world of experience, as the new language no longer inherits from the main shop language, but now from the world of experience and the images are not "translatable".

Shopware 6 currently has an error that the sample images of the world of experience are not displayed, therefore no images are currently displayed after the translation.

The SEO URLs are generated by Shopware from the category title. This part is not translated by the extension.

These links are not recognised as links by our extension because the meta description cannot be edited with an HTML editor.

If these links are not to be translated, it is possible to create a new entry in the lexicon extension and enter this link in all required languages.

The translations of the extension are processed in the background via the Shopware Scheduler.

This stores the individual translations in the database table "messenger_messages" (version 6.5 & 6.6) or "enqueue" (version 6.4) with the help of the message queue. There you can also check whether entries are generated. As soon as a translation has been initiated, you can continue working. The translation overview of the main extension shows whether articles have already been translated.

To ensure that the CLI Worker also runs when you are not logged into the admin area, it is recommended that you make the following adjustments recommended by Shopware (Set up CLI Worker).

The translations are processed via the Shopware message queue. To prevent an error on the part of Shopware from generating unnecessary costs at DeepL, we recommend activating cost control at DeepL.

These can be found in the DeepL account under "Consumption".