This walkthrough creates an English and Russian About page on your own oCMS installation. You will finish with two separately published pages, a link between their translations, and navigation that keeps readers in the right language.

Start with a working local site and an administrator account. The editor's guide covers ordinary drafts and images. The shared demo is useful for exploring the interface, but content editing is disabled there.

1. Set up the two languages

In Admin → Languages, keep English (en) as the default and add or enable Russian (ru, native name Русский, left-to-right). Leave the existing default unchanged for this exercise. The default language uses unprefixed page URLs; Russian uses the /ru/ prefix.

Changing the admin interface language is a separate preference. It does not translate a page's content. Keep an English and Russian copy of the exercise text ready so you can review each saved version deliberately.

2. Prepare the English draft

Create a new Page in English with Draft status. Use the following example, or adapt the same fields to a real project. Choose unused slugs if these pages already exist; edit the existing item when it is the page you intend to maintain.

Title and slug
About the workshop · about-workshop
Body
We build small websites and publish practical guides. Contact our team to discuss your next project.
Summary
Meet the team behind our websites and practical guides.
Meta title
About the workshop | Workshop
Meta description
Meet the Workshop team. We build small websites and publish practical guides for their owners.

Save, then preview the draft while signed in. Its intended public path is /about-workshop. Keep it as a draft until its text and links are ready.

3. Add the linked Russian draft

Open the English item's Translations panel and use Add Translation for Russian. Work from this linked item rather than creating an unrelated page with a similar title. Review its language, then fill in the Russian version:

Title and slug
О мастерской · o-masterskoy
Body
Мы создаём небольшие сайты и публикуем практические руководства. Свяжитесь с нашей командой, чтобы обсудить ваш следующий проект.
Summary
Познакомьтесь с командой, которая создаёт сайты и практические руководства.
Meta title
О мастерской | Workshop
Meta description
Команда Workshop создаёт небольшие сайты и публикует практические руководства для их владельцев.

The slug field contains o-masterskoy, without ru/. The language prefix produces /ru/o-masterskoy. Save the translation as a draft and confirm that each item's Translations panel points back to the other.

Review featured and social images separately. A shared photograph may suit both pages, while text embedded in an image needs a translated version. Check body-image alt text and captions in each saved page; a translation link does not write them for you.

4. Prepare language-specific navigation

In Admin → Menus, review the English header menu with slug main. If its Russian version is missing, choose New Menu, give it a name such as Main Menu — RU, use the same slug main, and select Russian as its language. Menu slugs are unique per language.

Add an English About link to /about-workshop and a Russian О нас link to /ru/o-masterskoy in their respective menus. Use the page picker where available; for custom links, enter the exact path. Arrange the items and choose Save Order.

Header and footer menus have separate roles. Follow the active theme's menu convention and check both rendered menus. The theme navigation example uses the menu data supplied by oCMS. A theme with hardcoded links needs its own language-aware links; editing a CMS menu cannot change that markup.

Confirm that your theme exposes the page's linked translations in a language switcher. Switching from an About page should reach its translated counterpart. A link to the other language's homepage is useful as a fallback, but does not prove these two pages are linked correctly.

5. Publish and check both versions

Save and preview each version, then publish each one separately when ready. One page's status does not publish its translation. Before launch, use a signed-out browser window for these checks:

  1. Open /about-workshop and /ru/o-masterskoy directly. Both should show the intended title, text and images without an editor session.
  2. Follow the language switcher in both directions. Verify the full destination path, rather than just a translated label.
  3. Follow header and footer links on both pages. Russian navigation should not send the reader back to the English page unintentionally.
  4. Check the document title and description, the page language, and alternate-language links in the rendered HTML. With a theme that exposes oCMS metadata, the alternatives should identify the actual paired URLs.
  5. Open both pages on a narrow screen. Check Cyrillic text, long labels, image captions and the keyboard focus on the language controls.

If one version is still a draft, test anonymously that it stays unavailable. A signed-in preview can display a draft, so it is not evidence of public access. When a switcher is missing or points to the wrong place, check the translation relationship, language activation and theme rendering before changing slugs.

6. Keep the pair in sync

For each substantive edit, record which language versions need review. Recheck dates, contact details, links and images in the other page before treating the update as complete. Preserve established URLs where possible; if one changes, update its menu links and verify both translation directions again.

Translated categories and tags matter when you repeat this workflow for Posts. Review each language's listings and subscriptions as well as the individual article. Use the backup walkthrough before larger content or navigation changes.

For the complete reference, see languages and translation relationships, menu management, and SEO metadata.

Source: https://ocms.tech/multilingual-publishing