This was asked on Zulip:

I am starting an online group attempting to offer free therapy and am using Backdrop, I have some relatives who do not speak English well and I would like them to still be able to use my website, I have installed the Localization update page, and would like to translate this: [site] into Russian. I have the Russian translation, how can I do this?

Accepted answer

The best solution for you is to translate content, and provide a "language switcher" to allow people to see the content of the page in the other language. This can be done as follows:

  1. Enable Locale, Language and Content Translation (all core modules)
  2. Visit admin/config/regional/language and install Russian. This will NOT install the translations - it's simply telling Backdrop that there is another language available for translation
  3. Visit admin/config/regional/language/detection and be sure URL selection is selected
  4. Install the Internationalization module
  5. Enable Multilingual Content (this will enable other needed modules from that suite)
  6. Edit the Content Type in Structure > content types. For example, Page, here, admin/structure/types/manage/page
  7. Under the tab "Multilingual support" select "Enabled, with translation". Then be sure at least "Normal" is selected. The other options allow different things, but at this point they are not needed.
  8. Create a Page. You'll see a language selector:

 

  1. Select English (or your default language) and create your page. Save
  2. After saving the page you'll see a Translate tab

  1. Click on it, then click "add translation" for the language you want to translate to.
  2. Re-create the page, but in the NEW language and save.
  3. Now, when you visit the original page you created you'll see a link that says "Español" (or Russian in your case). Clicking that link will take you to the translated version

You also want to add a language switcher:

  1. Go to Structure > Layouts and edit the Default Layout (or create a special layout to override node/%)
  2. On the sidebar, add the block "Language Switcher". SAVE the layout

 

  1. That's it. Now visit your original node (Content, then click on the node). You'll see the switcher

Comments

The best solution for you is to translate content, and provide a "language switcher" to allow people to see the content of the page in the other language. This can be done as follows:

  1. Enable Locale, Language and Content Translation (all core modules)
  2. Visit admin/config/regional/language and install Russian. This will NOT install the translations - it's simply telling Backdrop that there is another language available for translation
  3. Visit admin/config/regional/language/detection and be sure URL selection is selected
  4. Install the Internationalization module
  5. Enable Multilingual Content (this will enable other needed modules from that suite)
  6. Edit the Content Type in Structure > content types. For example, Page, here, admin/structure/types/manage/page
  7. Under the tab "Multilingual support" select "Enabled, with translation". Then be sure at least "Normal" is selected. The other options allow different things, but at this point they are not needed.
  8. Create a Page. You'll see a language selector:

 

  1. Select English (or your default language) and create your page. Save
  2. After saving the page you'll see a Translate tab

  1. Click on it, then click "add translation" for the language you want to translate to.
  2. Re-create the page, but in the NEW language and save.
  3. Now, when you visit the original page you created you'll see a link that says "Español" (or Russian in your case). Clicking that link will take you to the translated version

You also want to add a language switcher:

  1. Go to Structure > Layouts and edit the Default Layout (or create a special layout to override node/%)
  2. On the sidebar, add the block "Language Switcher". SAVE the layout

 

  1. That's it. Now visit your original node (Content, then click on the node). You'll see the switcher

Olafski's picture

A helpful step by step guide! I configure multilingual sites the same way,  including the Internationalization module (i18n). But as far as I know, i18n isn't strictly necessary.

This backdrop site (https://www.agriturismoilfelcino.it/en) is how I want to build a multilingual site for a friend's business.
Is there a tutorial for how to do this, with the same functionality?
I note that the language switcher (top right, header), switches menus, text, etc, without needing to switch individual nodes, which is, I would expect, how most visitors to the site would prefer.

Olafski's picture

Hi Steve, you can add a site-wide language switcher for visitors as a block to your layout(s). To do so, go to your layout, click  "Add block", e.g. in the Header region, search for "language", and choose the upcoming "Language switcher" block (see screenshot).

Thank you, olafski

I had already done that, but switching languages wasn't tied to whatever layouts were needed.

I'll work with the other reply, see if I can replicate the functionality of the Italian site.

Hello,

Backdrop CMS has options for multilingual sites, but they are limited and do not cover all needs. A complete solution for a multilingual site requires the installation of i18. I have done it many times and i18n is a module that can be relied on for reliable operation and support.

All necessary preliminary actions are described above by argiepiano - follow them point by point and in this sequence.

For a multilingual site you will also need a solution for a multilingual homepage. This can be achieved (although complicated) with Layouts, but it is much easier to use the module:

Frontpage Multilingual

With Frontpage Multilingual, the multilingual homepage is set up via admin/config/system/site-information - after installing this module, settings for setting the homepage in the active languages ​​appear there. 

Additionally, it may be useful to check whether the following modules will be useful to you, in addition to the standard language selector described above:

Language Icons

Language Switcher Dropdown

Don't miss the step of activating the languages ​​you need and setting their switching method - this becomes possible after installing i18n.

When working with Drupal 7 for a multilingual site, a Transliteration module was also required. Fortunately, this module is integrated into the Backdrop CMS core.

For those perhaps like me, not all that familiar with Backdrop, I'll post my progress here, with my understanding of what works.

  1. I set up a local site, with two languages English (US), and British English, for ease of navigation, etc
  2. enabled all the modules  related to translation (except for synchronization, to avoid unnecessary complexity). ps if anyone is interested I'll detail which modules were enabled.
  3. I duplicated the home layout, with name home-page-gb, with visibility condition- see attached, all else default setting

  4. home page EN

    now with the path /en-gb/home for that layout, that provided the correct switching of menu items, etc. 
    I've appended GB to menu items, etc for ease of seeing what works, and what doesn't.
    I've added CSS to emphasize the selected language.
    Site information strings translated at admin/config/regional/translate
     

    home page switched to GB

     Home page 'promoted content' views block was cloned, filtered by language (one of ...). 'Promoted content-gb' block then used instead of default block for the home page gb layout.