Skip to main content

Translating memberships (OS Membership)

Anyone selling 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:

  • Translate OS Membership along — the main switch. While it is off, TranslatePilot does not look at the extension at all.
  • Plans and categories — title, short and long description, page title and meta description. This is what a visitor reads, and the usual case.
  • Form fields — labels, placeholder texts, help texts, error messages and option values of the fields in the order process.
  • E-mail templates and system messages — the texts of the confirmation, reminder and renewal mails.
  • May create missing language fields — an emergency switch; see below.

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:

  1. Open the OS Membership backend once (Components → Membership Pro). While doing so it creates the language fields, in full and to match its own version.
  2. Should fields still be missing afterwards: in OS Membership, under Tools, run the repair for the row size or for missing multilingual fields.
  3. If OS Membership reports a database error about an invalid default value: the plans table carries date defaults that the database server rejects in its strict setting. That has to be put right once, on the table or on the server setting — by you or your host.

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:

  • Meta keywords. A translated keyword list is not a translation but fresh research — machine-translated it produces words nobody searches for.
  • Card layouts and control values of the form fields. That is not prose but mechanics; translated, the form breaks quietly.
  • Country names. OS Membership usually ships them in the target language already.
  • Subscribers and invoices. TranslatePilot does not touch customer data.

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.

Deutsche Fassung