Once a second language is active, you can write your own content in it. Pages, blog posts, categories and tags — and the items of the Booking module — each keep one version per language, side by side.
Content can only be translated into active languages. Add and switch on a language in Languages first. The default language is your base version; every other language is a translation of it.
| Content | Where | How you translate it |
|---|---|---|
| Pages | Pages → Manage Pages | A flag column for each extra language: + adds the translation, the pencil edits it. The page content is then edited in the Page Builder for that language. |
| Blog posts | Posts | A tab for each language on the post form: title, content, excerpt and search details. |
| Categories and tags | Posts → Categories / Tags | One set of name, title, description and meta fields per language on the form. |
| Booking items | Booking | Services, service categories, extras, packages, locations, taxes, staff profiles, forms, custom fields, events, customer groups, statuses and notification templates have language tabs on their forms. |
| Interface text | Translations | Buttons and labels, not your content. |
What stays the same in every language
Some details belong to the item, not to a language: the page status, the author, a post’s categories, tags and featured image, prices, durations, schedules and stock. Change them once and every language follows.

With several languages active, the Pages list gets a flag column for each. The green + adds a translation.
The pencil in the Action column always edits the default language. If a page has no translation for a visitor’s language, TruCMS shows the default-language version instead of an empty page.

Posts have a tab per active language. The right-hand column is shared by all languages.
Open the post and choose the language tab. Write the title, content, excerpt and search details for that language. A tab left empty simply has no translation: visitors in that language see the default-language version.
| Version | Address |
|---|---|
| Default language (English) | https://your-site.com/about |
| Spanish | https://your-site.com/es/about |
| French | https://your-site.com/fr/about |
The visitor chooses a language with the language switcher; TruCMS then keeps them in that language while they browse.
| Symptom | What to do |
|---|---|
| No language tabs or flags appear | Only one language is active. Switch on another in Languages, and clear the cache if it still does not appear. |
| The translated page is still in English | The page has no translation yet (the flag shows +), or the translation was saved with the English text. Edit its content for that language. |
| The wrong language is shown | Visitors keep the language they last chose. Use the language switcher, or the language prefix in the address. |
| A translated address returns “not found” | The language is switched off, or the page status is off. |
Languages · Translations · Pages · Blog Posts