Accueil / Joomla / Documentation

Documentation AutoLingo pour Joomla

Version 1.1.31 · Joomla 4 & 5 · PHP 8.0+

Installation, configuration et utilisation du plugin AutoLingo Translation : traduction automatique des articles, catégories, champs personnalisés et menus Joomla avec DeepL, Google Translate, OpenAI ou DeepSeek.

Prérequis

  • Joomla 4.x ou 5.x, PHP 8.0 ou plus.
  • Un site multilingue Joomla : au moins deux langues de contenu publiées (Système → Gérer → Langues de contenu) et le plugin Système - Filtre de langue activé.
  • Pour relier les traductions entre elles (sélecteur de langue), activez l’option Associations du plugin Filtre de langue.
  • Une clé API chez l’un des fournisseurs : DeepL (Free ou Pro), Google Cloud Translation, OpenAI ou DeepSeek. Vous payez le fournisseur directement, sans marge de notre part.

Installation

  1. Téléchargez le fichier ZIP depuis le lien reçu après l’achat.
  2. Dans l’administration Joomla : Système → Installer → Extensions, puis déposez le ZIP.
  3. Allez dans Système → Gérer → Plugins, cherchez « AutoLingo » et activez le plugin « AutoLingo Translation » (groupe content).
  4. Ouvrez le plugin pour le configurer (section suivante).
Mises à jour automatiques : votre clé de licence sert aussi de clé de téléchargement. Allez dans Système → Mise à jour → Sites de mise à jour, ouvrez « AutoLingo Updates », collez la clé dans le champ Download Key et enregistrez. Les nouvelles versions apparaissent ensuite dans Système → Mise à jour → Extensions.

Configuration

Tous les réglages se trouvent dans le plugin (Système → Gérer → Plugins → AutoLingo Translation), répartis en onglets.

Fournisseur de traduction

Choisissez le fournisseur et renseignez sa clé API. Seule la clé du fournisseur sélectionné est utilisée.

FournisseurCléRemarques
DeepLClé API DeepLFree ou Pro détecté automatiquement (les clés Free se terminent par :fx). Seul fournisseur compatible glossaire et formalité.
Google TranslateClé API Google Cloud TranslationTraduction HTML native, la plus large couverture de langues.
OpenAIClé sk-…Modèle gpt-4o-mini, balises HTML préservées.
DeepSeekClé API DeepSeekModèle deepseek-chat.

Langues

  • Langue source : la langue dans laquelle vous rédigez (ex. en-GB). La liste reprend vos langues de contenu publiées.
  • Langues cibles : cochez une ou plusieurs langues vers lesquelles traduire (ex. fr-FR, de-DE).

Comportement

  • Traduire automatiquement à l’enregistrement : activé par défaut. Désactivez-le pour ne traduire que via les boutons en masse.
  • Glossaire DeepL et Formalité DeepL : voir plus bas.

Fonctionnement

Quand vous enregistrez un article dont la langue est la langue source, AutoLingo le traduit dans chaque langue cible. Les articles en « Toutes les langues » et ceux rédigés dans une autre langue sont ignorés.

Ce qui est traduit

  • Titre, texte d’introduction, texte complet, méta-description et mots-clés.
  • Les champs personnalisés publiés de type Texte, Zone de texte et Éditeur.
  • La catégorie de l’article : si elle est dans la langue source, elle est traduite (avec ses catégories parentes) et associée. Les catégories en « Toutes les langues » sont partagées telles quelles.

L’article traduit

  • Il reprend l’état de publication, le niveau d’accès, l’auteur, les dates de publication, les images et les liens de l’original. Il n’est pas mis en vedette.
  • Son alias est dérivé du titre traduit, suffixé par la langue (ex. mon-article-frfr).
  • Il est relié à l’original dans les associations Joomla, donc le sélecteur de langue pointe vers la bonne page.

Enregistrements suivants

  • Si vous modifiez l’original, la traduction existante est mise à jour (pas de doublon).
  • Si le texte n’a pas changé, aucun appel API n’est fait.
  • Si vous avez modifié une traduction à la main, AutoLingo ne l’écrase pas : vos corrections sont conservées.
Retraduire une page corrigée à la main : supprimez définitivement la traduction (Corbeille → Vider), puis réenregistrez l’original. Une nouvelle traduction est créée.

La traduction se fait pendant l’enregistrement : sauvegarder un long article vers plusieurs langues peut prendre quelques secondes. Une erreur du fournisseur n’empêche jamais l’enregistrement de l’article.

Traduire les articles existants

Pour un site déjà en ligne, utilisez l’onglet Contenu existant du plugin :

  1. Audit compte les articles en langue source et les traductions manquantes, sans aucun appel API.
  2. Traduire tous les articles traite tous les articles en langue source (hors corbeille), par lots de 5. Laissez la page ouverte jusqu’à la fin.

Les articles inchangés et les traductions modifiées à la main sont ignorés : relancer l’opération ne coûte rien de plus.

Glossaire DeepL

Le glossaire impose une traduction pour certains termes (noms de marque, vocabulaire métier). Il nécessite le fournisseur DeepL.

  1. Dans l’onglet Comportement, saisissez un terme par ligne au format Terme source | Terme cible. Les lignes commençant par # sont ignorées.
  2. Enregistrez le plugin.
  3. Cliquez sur Synchroniser avec DeepL. Un glossaire est créé pour chaque langue cible.

Resynchronisez après chaque modification de la liste de termes.

Formalité DeepL

Choisissez le registre de langue : Par défaut, Plus formel, Moins formel, ou Préférer formel / informel (retombe sur le défaut si la langue ne le prend pas en charge). Ce réglage s’applique uniquement avec DeepL, pour l’allemand, le français, l’italien, l’espagnol, le néerlandais, le polonais, le portugais, le russe et le japonais.

Dépannage

Rien ne se passe à l’enregistrement

  • Le plugin est-il activé ?
  • La langue de l’article est-elle exactement la langue source configurée (et non « Toutes ») ?
  • « Traduire automatiquement à l’enregistrement » est-il activé ?
  • La clé API du fournisseur sélectionné est-elle renseignée ?

Journal

Chaque traduction et chaque erreur (clé invalide, quota dépassé, erreur du fournisseur) est enregistrée dans la table #__autolingo_logs de votre base de données, avec l’ID de l’article et la langue. Joignez les dernières lignes à votre demande de support.

Limites de débit

Si DeepL répond « trop de requêtes » (HTTP 429), AutoLingo réessaie automatiquement jusqu’à 3 fois avec un délai croissant.

Désinstallation

La désinstallation supprime les tables du plugin (journal et état des traductions). Les articles, catégories et menus traduits restent en place.

Besoin d’aide ?

Une question, un bug ou une demande de fonctionnalité : nous répondons sous 24–48 h (jours ouvrés).

Contacter le support
Home / Joomla / Documentation

AutoLingo for Joomla documentation

Version 1.1.31 · Joomla 4 & 5 · PHP 8.0+

How to install, configure and use the AutoLingo Translation plugin to translate Joomla articles, categories, custom fields and menus automatically with DeepL, Google Translate, OpenAI or DeepSeek.

Requirements

  • Joomla 4.x or 5.x, PHP 8.0 or later.
  • A multilingual Joomla site: at least two published content languages (System → Manage → Content Languages) and the System - Language Filter plugin enabled.
  • To link translations together (language switcher), turn on Item Associations in the Language Filter plugin.
  • An API key from one provider: DeepL (Free or Pro), Google Cloud Translation, OpenAI or DeepSeek. You pay the provider directly; we add no markup.

Installation

  1. Download the ZIP from the link you received after purchase.
  2. In the Joomla administrator, go to System → Install → Extensions and upload the ZIP.
  3. Go to System → Manage → Plugins, search for “AutoLingo” and enable “AutoLingo Translation” (group content).
  4. Open the plugin to configure it (next section).
Automatic updates: your licence key is also your download key. Go to System → Update → Update Sites, open “AutoLingo Updates”, paste the key into the Download Key field and save. New versions then appear under System → Update → Extensions.

Configuration

All settings live in the plugin (System → Manage → Plugins → AutoLingo Translation), split into tabs.

Translation provider

Pick a provider and enter its API key. Only the selected provider’s key is used.

ProviderKeyNotes
DeepLDeepL API keyFree or Pro detected automatically (Free keys end with :fx). The only provider that supports glossaries and formality.
Google TranslateGoogle Cloud Translation API keyNative HTML translation, widest language coverage.
OpenAIsk-… keyUses gpt-4o-mini; HTML tags are preserved.
DeepSeekDeepSeek API keyUses deepseek-chat.

Languages

  • Source language: the language you write in (e.g. en-GB). The list shows your published content languages.
  • Target languages: tick one or more languages to translate into (e.g. fr-FR, de-DE).

Behaviour

  • Auto-translate on save: on by default. Turn it off to translate only with the bulk buttons.
  • DeepL glossary and DeepL formality: see below.

How it works

When you save an article whose language is the source language, AutoLingo translates it into every target language. Articles set to “All” languages, and articles written in any other language, are left alone.

What gets translated

  • Title, intro text, full text, meta description and meta keywords.
  • Published custom fields of type Text, Textarea and Editor.
  • The article’s category: if it is in the source language, it is translated (along with its parent categories) and associated. Categories set to “All” languages are shared as they are.

The translated article

  • It copies the original’s publishing state, access level, author, publishing dates, images and links. It is not marked as featured.
  • Its alias comes from the translated title plus a language suffix (e.g. my-article-frfr).
  • It is linked to the original through Joomla associations, so the language switcher points to the right page.

Later saves

  • When you edit the original, the existing translation is updated (no duplicates).
  • If the text hasn’t changed, no API call is made.
  • If you edited a translation by hand, AutoLingo doesn’t overwrite it: your corrections are kept.
To re-translate a page you edited by hand: delete the translation permanently (Trash → Empty), then save the original again. A fresh translation is created.

Translation happens during the save, so saving a long article into several languages can take a few seconds. A provider error never stops the article from being saved.

Translating existing articles

For a site that already has content, use the plugin’s Existing Content tab:

  1. Audit counts source-language articles and missing translations, without any API call.
  2. Translate All Articles processes every source-language article that isn’t trashed, in batches of 5. Keep the page open until it finishes.

Unchanged articles and hand-edited translations are skipped, so running it again costs nothing extra.

DeepL glossary

A glossary forces a fixed translation for specific terms (brand names, industry vocabulary). It requires the DeepL provider.

  1. In the Behaviour tab, enter one term per line as Source term | Target term. Lines starting with # are ignored.
  2. Save the plugin.
  3. Click Sync to DeepL. One glossary is created per target language.

Sync again whenever you change the term list.

DeepL formality

Choose the tone: Default, More formal, Less formal, or Prefer formal / informal (falls back to default when the language doesn’t support it). This setting only applies with DeepL, for German, French, Italian, Spanish, Dutch, Polish, Portuguese, Russian and Japanese.

Troubleshooting

Nothing happens on save

  • Is the plugin enabled?
  • Is the article’s language exactly the configured source language (not “All”)?
  • Is “Auto-translate on save” turned on?
  • Is the API key for the selected provider filled in?

Log

Every translation and every error (invalid key, quota exceeded, provider error) is recorded in the #__autolingo_logs table of your database, with the article ID and language. Include the latest rows when you contact support.

Rate limits

If DeepL answers “too many requests” (HTTP 429), AutoLingo retries automatically up to 3 times with an increasing delay.

Uninstalling

Uninstalling removes the plugin’s tables (log and translation state). Translated articles, categories and menus stay in place.

Need help?

Questions, bugs or feature requests: we reply within 24–48 h (business days).

Contact support