How to translate content with Speedy Translate
Speedy Translate adds language tabs under the fields of Joomla's edit forms. You translate an item where you write it, and save every language at once.
The language tabs
Open an item whose Language is All. Under each translatable field, a row of flags shows the site's content languages. The first flag is the original, in the site's default language; the others open that language's translation of the field.
The French tabs of an article's title, alias and text.
- Type the translation in the tab, or press Translate from en-GB for a machine translation to review.
- Leave a tab empty and that language shows the original.
- Press Save once: the item and all its translations are stored together.
- Give each language its own address in the alias tab:
paris-au-printemps. Speedy Translate turns what you type into a valid alias, the way Joomla does. With the alias tab empty, the language uses the original alias.
NOTE Why "All"? In Speedy Translate's own mode, an item stays one item for every language. An article set to French is a French-only article; an article set to All is shown in every language, in its translation where there is one. So you translate the items set to All.
What you can translate
| Content | Edition |
|---|---|
| Articles, categories, menu items, modules, tags | Lite and Pro |
| Custom fields and field groups, and the values of custom fields | Lite and Pro |
| Contacts, banners, news feeds, users (their custom field values) | Lite and Pro |
| Solidres: properties, room types, extras, tariffs, coupons, custom fields, facilities, themes, experiences and more | Lite and Pro |
| Restaurant Management System: restaurants, menus, menu groups, dishes, promotions | Lite and Pro |
| HikaShop products, J2Store options, JEvents events, K2 items, categories, tags, extra fields and users, SP Page Builder, Creative Contact Form | Pro |
Other extensions can bring their own adapter: see For developers.
A component can be kept out of translation with Exclude components in the options. Solidshop translates its products itself, in its own Translations window. Its categories and tags are Joomla categories and tags, so Speedy Translate translates them like any other.
Options, parameters and custom fields
The Options of an article, the parameters of a module and the settings of a menu item get language tabs too. A language stores only the parameters you change in its tab: the rest follow the original. So when you later change a module's count or ordering on the original, every language follows, except where a language set its own value.
Custom fields get tabs in each form that shows them: the field's own title, label and description in Content → Fields, and each item's value in the item's form. User fields are translated in the user's form.
Translation status
For each item and language, Speedy Translate knows one of three states:
- Translated: the translation was made from the original as it is now.
- Outdated: the original changed after it was translated.
- Not translated: the language has no translation yet.
Each translation keeps a copy of the original it was made from. When the original changes, Speedy Translate compares the two and marks the translation outdated; a parameter counts as outdated only when the parameter it translates changed.
Outdated translations
In the edit form, an orange dot on a flag marks an outdated translation, and its tab says what changed.
The English text changed after it was translated: the French and German tabs are outdated.
Either update the translation, or tick Still right for the new original when the change does not affect it (a typo fixed in English, for example). Saving then records the translation against the new original, and it counts as translated again.
Batch translations: the list of everything
Batch translations, under Content translation on the dashboard, lists every item of a content type set to All languages, with its status in each language. Pick the content type in the first drop-down; articles can also be filtered by category, and every list can be searched and sorted.
A check mark: translated. A warning sign: outdated. A dash: not translated.
Click a title to open the item's own edit form and translate it there. In Pro, the dashboard's Translation coverage card sums the same statuses per language and content type; see Coverage.
Translating on the front end
Where an extension lets editors write on the front end, the language tabs appear there too, for logged-in users allowed to edit: Solidres's and K2's front-end forms, for example. Visitors never load Speedy Translate's editing scripts.
Multilingual modes
The Multilingual mode option decides how translations are stored.
| Mode | How it works | Choose it when |
|---|---|---|
| Speedy (Recommended) | Each item stays one item. Its translations are stored with it, in Speedy Translate's own table, and shown in place of the original on each language's pages. | Almost always. It is the only mode with bulk translation, XLIFF, coverage and the Falang import. |
| Joomla! Multilingual Associations | Each language gets its own copy of the item, linked to the others by Joomla's associations. Speedy Translate creates and links the copies from the same language tabs. | You want Joomla's native model, where each language's item can differ freely. |
Speedy Translate 2 had a third mode, which saved translations in Falang's tables. Version 3.0 removed it: Moving from Falang explains how such a site moves to the Speedy mode.
Language blocks in your text
Sometimes a piece of text belongs to one language only: a notice for French visitors, a phone number for Germany. Wrap it in {lang} tags in any article or module:
{lang fr}Livraison gratuite en France métropolitaine.{/lang}
{lang de}Kostenloser Versand innerhalb Deutschlands.{/lang}
The code after lang is the language's URL code, as in /fr/. A page keeps the blocks of its own language and drops the others. To show a language string anywhere in your content, write its key between {spt} tags: {spt}COM_CONTENT_READ_MORE{/spt}.