0
Welcome Guest! Login
0 items Join Now

SOLVED Multi-Language Menu Creation after 3.7 update

    • nethead's Avatar
    • nethead
    • Sr. Rocketeer
    • Posts: 127
    • Thanks: 3

    SOLVED Multi-Language Menu Creation after 3.7 update

    Posted 8 years 1 week ago
    • Hello,

      is the documentation on "How to Create a Multilingual Site in Joomla" / www.rockettheme.com/docs/joomla/basic/ho...multilingual_site.md stil valid after the 3.7 upgrade?

      I have problems following the instructions of "step 6: Create a Menu for Each Language". The menu manager insists on my main/root menu to have "languages: ALL" configured. I can only change sub-menus to different levels.

      Question: I really have to define all menu items again for each language instead of just adding a label in a new language?

      best regards,

      Arnd
    • najatuk's Avatar
    • najatuk
    • Rocketeer
    • Posts: 65
    • Thanks: 1

    Re: SOLVED Multi-Language Menu Creation after 3.7 update

    Posted 8 years 1 week ago
    • That is correct. You must have one page and one menu dedicated to all.

      This is how I do it:

      In Menus take mainmenu and copy it or create a new menu so that you have:

      mainMenu or as I prefer mainmenu-AL
      mainmenu-en
      mainmenu-es (we will have a two language English Spanish site in the example).

      Find your language filter by going to modules and search 'language'. Enable it.
      Find your language switcher module and enable it and configure it.
      Assigne the menu to some place on your template.
      Assign a page to each of your lanugages:
      ie create these three pages (before joomla 3.7) but if you have already created the site, it is not going to do it totally automatically. Home-AL or Home, I think you will like my convention to name all language pages -AL as if it were a language. Home-EN, Home-ES. Fpr each of the real pages en e es you should change the default language 'all' of the page to the appropriate page and leave Home-AL assigned to all.
      Now assign them to the default page for the appropriave menu. How you do this is go to the menu manager, in the example we are going to first select the menu manager and then specifically select the english mainmenu-en now make home your default homepage. If your language filter and manager are configured properly, you should see a canadian maple leaf, an american flag, british flag, etc. Do the same for spanish. In yyour default All menu, the page you assign should turn to a star. What happens is that your sight will point to the home-al page, and then instantly be redirected to your default language when it is written from php to html, so you will see the home-en page in the first instance if this is your default language in the language filter. Once that works you can forget about the home-al page for the rest of your life.

      You also need to go into your articles home-es and home-en and assign page associations. I don't always want every page on my sites to have an equivilent because how I deal with tourists from Brazil, in my case, is different than the content I need for international tourists. That said, google requires it if you want to deliver geolocalized content by page language. Just make a page association for every page in every language.

      Now where this all gets complicated with gantry-rocket theme themes whether you are installing and auto configuring the site with the language features from the beginning is that Gantry themes generally have a custom page as the home page, and not a regular template page. When you do an auto install and create languages at the get go it leaves a mess in that your rocket launcher or simple install is now going to point you to a regular page in the site as the default page rather than the pretty home page intended by the template as it is going to generate an article not a custom gantry page, so for the time being, that pretty home page and site model has turned into a mess. What you can do is assign your them home page ie Galeta Theme to all, the default homepage for the site. Then make a copy of the default theme for english and a second for spanish. You will find it easier to customize the template in one language and then copy it and tweek it in the other(s). You need to create and assign an article for each language, not a custom gantry page, so then you need to go to the mainmenu-en and go to the home link wich is assigned as the default page for EN in the menu manager and go a template override to allow it to display the pretty home template that is now been assigned to all as the default 'all page'.

      On a new install you can either allow the automatic creation of the target languages or you can configure your site in one language and then add the other languages manually after. If you intend to use the custom pages in the Gantry -rocket theme templates, I recommend the second and then just follow the well documented instructions for joola 3.6 remmbering that all pages should have file associations for everything to work perfectly. I found the second option easier, but create your target langauges early in the development process. I also find it is easier to develop your initial content and templating system in one language and then copy with batch processing.

      Summing up. What you need to do to resolve your problem is leave the custom theme page assigned to all, copy it and assign a copy to each language or just use a template overide and refer your homepage to the default template. If there was an actual article on the default 'homepage' all you would have to unpublish it, but it seems you can leave the default template with a custom page published since there is no article.

      Sorry for wandering hope that helps.
    • The following users have thanked you: nethead

Time to create page: 0.056 seconds