Home » Blog » WPML versions » WPML 1.8.0 With Multilingual Menus

WPML 1.8.0 With Multilingual Menus

July 8th, 2010 by

One of the best new features in WordPress 3.0 has to be the new menu system. And now, it’s multilingual too.

We’ve already gone through two developer releases and are thankful for the help we got testing it.

In a nutshell, menus now have languages. When you view the public pages, you’ll see the menu for that language. Got several languages? Add menus for each.

I’m going to recycle Mihai’s how-to video and show it again. If you haven’t yet seen how to translate menus in WordPress, check out the following video:

We know that there is room for improvement, but not having multilingual menus at all is a bit of a pressing issue. We checked and cleaned this version with the basic functionality and will consider adding more multilingual power to menus in the near future.

Next Up – Systematic Translation Process

The next (huge) leap for WPML is a complete translation process. We wrote a bit about that before highlighting side-by-side translation. This is going to take a while to complete, but when it’s done, you’ll get a brand new WPML.

Web developers are not going to feel much difference. The folks who will enjoy this are the actual content managers and translators. They’re going to have a world-class tool for managing translations. With WordPress turning into a real CMS, we believe that now is the time.

We Love Feedback

Let us know how it’s working for you. We’re doing our best to accommodate feature suggestions and fix bugs. Remember that if you need immediate attention, the fastest route is via a support subscription.

30 Responses to “WPML 1.8.0 With Multilingual Menus”

  1. Btw I had a problem with burning or viewing feeds in translated CATEGORIES (and that’s a huge problem for the site I’m making):((( hope you can fix it soon.

  2. quicoto says:

    What can I say… Thank you for this new feature ;)

  3. Luigi Barbati says:

    Hi,

    Very thanks for this useful plugin.

    I just installed the last version but the menu translation game me this error:

    Warning: Invalid argument supplied for foreach() in C:\xampplite\htdocs\poggioalsantino\wp-content\plugins\sitepress-multilingual-cms\inc\wp-nav-menus\iclNavMenu.class.php on line 478

    what’s wrong?

  4. Trouffman says:

    YYYeeeaaaahhhhh that’s awesome !

    Nest add a waay to only display categorie / page in a specific languages ^^ usually from the EN menu we do’nt redirect to a NON-EN page ^^ !

    Enjoy !

  5. Amir and Mihai,

    Thank you for this version. I have tested and multilingual menus works great now. Keep up the good work!

  6. David Mail says:

    Hi guys,
    Thanks for your efforts, it’s a long awaited feature, much appreciated.

    Unfortunately, could not manage it to work with my Mystique theme 2.4.2.
    The menu translated to Russian still showed English everywhere, so I had to manually overwrite everything in PHP in the theme’ header.

  7. phocean says:

    Hi,

    Thanks for the great work, but with this version something broke within the admin pages.

    Everytime I am trying to save a translation or dismiss the disclaimer message on top, I get a weired redirection :

    “OPTIONS /wp-admin/admin.php?page=sitepress-multilingual-cms/menu/languages.php HTTP/1.1″ 302 346 “-”

    Any idea ?

  8. Hi.
    I seem to have some trouble getting this to work, dos it require anything in the template? I have a custom one.

    When I press add translation to get a english translation, it dosent ad the menu I was on as the copy, and I still have the add translation on the old page.

    • I’ve done the following to get it working:

      In functions.php:
      register_nav_menus(
      array(
      ‘nb’ => __(“Main Menu NO”, ‘lehb3′ ),
      ‘en’ => __(“Main Menu EN”, ‘lehb3′ )
      )
      );
      Note that the menus are the contry codes for the languages I’m using.

      in header.php:
      if(function_exists(‘icl_get_languages’)){
      $languages = icl_get_languages(‘skip_missing=N&orderby=KEY&order=DIR’);
      foreach ($languages as $language) {
      if($language["active"] == 1){
      wp_nav_menu( array( ‘theme_location’ => $language["language_code"] ) );
      }
      }
      }
      It’s not much of a fix, but it works for now.

      I can now make 2 menus, and select the norwegian as Main Menu NO, and the english one as Main Menu EN

  9. Joscha says:

    Works nicely, thanks for the great job! The only thing i didnt realize was that you do NOT have to replace anything in the header anymore (as wpml pointed out here: http://wpml.org/documentation/getting-started-guide/site-navigation/ ).

    So: No custom menu call needed – just leave the header file as it is, generate your menus and it should all be up and running.

    Again, thanks for this.

  10. Igor says:

    Hi guys,
    Thanks for your efforts, much appreciated.

    Unfortunately, could not manage it to work with my site. The menu translated to Russian still showed English everywhere. I also still get the following error:

    Warning: Invalid argument supplied for foreach() in /home/content/56/6133856/html/wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 478

  11. Ararat says:

    Hi i like WPML very much
    But i got the same error described by Igor after upgrading to 1.8.0

    Warning: Invalid argument supplied for foreach() in /home/*****/public_html/wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 478

    This warning comes when i enter the posts zone in admin panel, but not the default languagues.

    Also there is a big problem in frontend
    The link “Older posts” in non default languages is not working

    My theme is Arras theme for WPML

  12. Mike says:

    This error appears when you haven’t nav_menu. I use small patch, and it’s work fine fo now

    Just change line 477 in /wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php like this:

    if(($sitepress->get_default_language() != $this->current_lang) && ($val)){

    • wolf says:

      your fix works great for me!!!

      if(($sitepress->get_default_language() != $this->current_lang) && ($val)){
      instead of
      if($sitepress->get_default_language() != $this->current_lang){

      I had the warning:
      Warning: Invalid argument supplied for foreach() in /home/content/56/6133856/html/wp-content/plugins/sitepress-multilingual-cms/inc/wp-nav-menus/iclNavMenu.class.php on line 478

      I am using a subdomain setup for my different languages (i.e. http://de.mysite.com for German vs mysite.com) and whenever I was in http://de.mysite.com and performed a search this warning was thrown…

      Now with your fix search works like a charm! Thank You!

  13. Mike says:

    hmmm… sorry, this only hide the warning, menu translation still not working

  14. Chrissi says:

    Hi,

    i like the plugin a lot but now i have a problem with my side since i upgraded to wpml 1.8.0.

    In the side doesn´t appear any text. just the design of the side is still there.
    only the posts in the non default language are shown. all the pages are empty.
    and wordpress didn´t gave mi any error message.

    does anyone know what it can be?

    thanks a lot for your help

  15. The problem that I have is that I would like that whenever someone clicks on one the links on the menu to open a new window. How do you fix this?

    Francisco

  16. Buzzard says:

    Everytime I want to activate the plug in I get an HTTP 500 – Internal Server Error page. I use version 1.8.3 of this plugin and I have WP 3.0.1 installed. When I remove the plugin from my plugins folder the admin page is accesable again.

    These are the other plugins that are installed:
    Audio player
    Bookmarkify
    Breadcrumb NavXT
    Contact Form 7
    Events
    Exclude Pages from Navigation
    External Videos
    Hello Dolly
    Kadom Ads Management
    My Recent YouTube Widget
    Page Links To
    Profile Pic
    Really Simple CAPTCHA
    Sidebar Login
    Simplr User Registration Form – BETA
    Thumbnail For Excerpts
    WP-Paginate
    WP-Polls
    WPML Multilingual CMS

    I have tried to change the order of indstallation and de-installation but everytime WPML has to be activated the 500 server error occurs.

    I hope that someone has a clue on this, as multilanguage is the base of this particular website.

    • amir says:

      Have you checked the minimum requirements?

      Since your’re using quite a few plugins, you may be running out of memory, if your web host is setting a limit. On that page, there are instructions for raising the memory limit.

  17. Buzzard says:

    Amir,

    Thank you for your quick response. Will it be sufficient to do this in config.php?

  18. Buzzard01 says:

    Hi Amir,

    I just checked my hosting account and it appears to be PHP 5.2.1 en is limited to 24 M.
    That is beyond the requirements. Is it better to install an older version of WPML then?

    • amir says:

      I suggest that you take this discussion to the technical forum, as it’s not related to this post.

      We fix problems and add features between versions and we cannot give support for older WPML versions.

Leave a Reply

Please leave here comments about this page only.
For technical support and feature suggestions, head to our forum. We are waiting there!

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>