Trying to work with Ultimenu.
If menu items named with non-Latin (cyrillic in my case) characters region shown only for last menu item. Also region don't have name and looks like: "regions[ultimenu_main_]". Standard drupal workaround for non-Latin names is to choose name manually - for example for fields, content-types or we use "transliteration" module for paths.

Comments

gausarts’s picture

Sorry, I have no idea how to deal with it yet.

But could you check ultimenu/includes/ultimenu.utilities.inc line #151, and uncomment the 3 lines there like shown below, and clear cache and see if that makes any difference:

<?php
function ultimenu_truncate_menu_property($property, $max_length = 60) {
  // @todo: its very expensive, add option.
  if (function_exists('transliteration_clean_filename')) {
     $property = transliteration_clean_filename($property);
  }

}
?>

Make sure you have transliteration module installed before.

If that doesn't do any good, you may need to place some sample of cyrillic words here so I can test it directly.

cancel.allow’s picture

Thank you so much!
Uncommented this lines and everything works like a charm. Transliteration enabled and now regions have transliterated names.

My menu items for testing purposes:
regions[ultimenu_main_zhenskaya_odezhda] = Женская одежда
regions[ultimenu_main_muzhskaya_odezhda] = Мужская одежда
regions[ultimenu_main_detskaya_odezhda] = Детская одежда
regions[ultimenu_main_dlya_doma] = Для Дома
regions[ultimenu_main_kanctovary] = Канцтовары
regions[ultimenu_main_suvenirnaya_produkciya] = Сувенирная продукция

gausarts’s picture

Status: Active » Postponed

Ok, great. Thanks for the update.
We will add an option for this, so only when needed they are available.
In the mean time, I 'll postpone this till next update.
Later when available, you can check the ultimenu settings to enable this option.

  • gausarts committed 9b9b84b on 7.x-1.x
    Issue #2344997 by cancel.allow, gausarts: Working with non-latin menu...
gausarts’s picture

Status: Postponed » Fixed

Sorry for delay, I must have been very busy these years ;)
I changed the approach a bit, to avoid another extra option. Instead I added a check for when locale.module and translation.module enabled. This at least ensures it is run at a multilingual site.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.