Translating memberships (OS Membership)
WirdAnyone synchronisiertselling …memberships through OS Membership has content that sits on no
article page: the membership plans with their descriptions, the categories above them, the fields
of the order process, and the e-mail templates sent after a subscription. Leave those in the
source language and the English side of the site ends at the price list.
TranslatePilot can translate them along. As delivered it does not — it is somebody else's extension, and writing into its data should be a decision, not a default.
Switching it on
The component options carry a tab OS Membership with five switches:
Where OS Membership is installed but the main switch is off, the wizard points it out once in step 5. The translation then runs as one more section of step 7, together with the other mirroring passes.
Where OS Membership keeps its translations
OS Membership handles its own multilingual support, and it does so differently from Joomla: for every additional language it creates fields of its own in its tables. The base fields carry the site's default language, the additional ones the translations. In the backend you see this as a Translations tab on every plan and every category.
Those fields are created by OS Membership, not by TranslatePilot — at the moment you open its backend. While they are missing there is nothing for a translation to go into.
Where they are missing, the wizard says so in step 7 — in this order:
Only where none of that helps is the option May create missing language fields meant to be used. It is deliberately the last resort: the schema belongs to OS Membership, and stepping in front of it there can stop it adding future fields on its own.
What is translated — and what is not
Translated are the titles and descriptions of the plans and categories, and on request the form fields and the e-mail templates. Each language's address part is derived from the translated title rather than translated — otherwise an address would be made out of a whole sentence.
Deliberately left alone:
Anything translated by hand stays
Where you have already maintained English texts in the OS Membership backend, they are left untouched. TranslatePilot keeps a record of what it wrote itself; finding something in a language field that did not come from it, it reports that and keeps its hands off — no matter how old the translation is. The same applies when you later improve a translation TranslatePilot produced: from then on it counts as yours.
Placeholders in the e-mail templates
The mail texts contain placeholders that OS Membership substitutes when sending — the recipient's name, the plan's title, the expiry date. A translator with such a placeholder in front of it as text has every reason to translate it along; the mail then goes out carrying a placeholder OS Membership no longer recognises, and the recipient reads square brackets.
The placeholders are therefore taken out before the translation and put back afterwards. If even one of them is missing afterwards, the translation is discarded and the template stays as it was. A mail in the source language is the wrong language; a mail without the recipient's name is addressed to nobody.
Before the first live run, do a dry run in step 7. It shows in full what would happen — how many plans, fields and templates are affected — costs nothing and writes nothing.