Hi there,
I think "Custom Menus" is a great module. However, I also had problems with a multilingual site, when a client asked for the inclusion of multilingual support on a running site using "Custom Menus" with three different menus. Actually, I couldn't even get the menu items to show up in the frontend except those for the default locale, although the pages had content in all languages.
I found a solution which might be considered ugly, but I had not much time or budget and it helped me out.
I added this line to the Field() method in CustomMenuField.php on line 13:
Translatable::disable_locale_filter();
Now I could access all pages in all languages under the "Pages" tab and build different menus for the separate languages using a unique menu slug with the correct locale, e.g. "footer-menu-en_GB" or "footer-menu-de_DE".
With a simple conditional logic I was now able to render the correct menu for the given language:
<ul>
<% if ContentLocale = de-DE %>
<% control CustomMenu(footer-menu-de_DE) %>
<li><a href="$Link" class="$LinkingMode">$MenuTitle.XML</a></li>
<% end_control %>
<% end_if %>
<% if ContentLocale = en-GB %>
<% control CustomMenu(footer-menu-en_GB) %>
<li><a href="$Link" class="$LinkingMode">$MenuTitle.XML</a></li>
<% end_control %>
<% end_if %>
</ul>
Again, this is probably not the best solution, but it works perfectly and I could keep the old structure of my site. The only drawback is that you end up with a lot of pages under the pages tab. Maybe it would be nice to have a select-field for the languages as a filter.
Hope that was helpful for someone else. In my case it saved my day.