The panels_renderer_editor::get_category() replaces translated categories with dash character:

   return array(preg_replace('/[^a-z0-9]/', '-', strtolower($category)), $category);

If the 'locale' module is enabled and category name is translated to other than English language they will be replaced with the same strings and will be not visible on the "Add content" page.

For example the localized "abc" and "cde" categories will be replaced with "---" because they don't written on non English language and therefore don't match the regular expression. Due that only one category will be displayed on the "Add content" to pane page and the second one will not be accessible.

Comments

hinikato’s picture

The bug fix is:

  function get_category($content_type) {
    if (isset($content_type['top level'])) {
      $category = 'root';
    }
    else if (isset($content_type['category'])) {
      if (is_array($content_type['category'])) {
        list($category, $weight) = $content_type['category'];
      }
      else {
        $category = $content_type['category'];
      }
    }
    else {
      $category = t('Uncategorized');
    }

    if (preg_match('/[^a-z0-9]/si', $category)) {
      $key = md5($category);
    }
    else {
      $key = strtolower($category);
    }

    return array($key, $category);
  }
japerry’s picture

Issue summary: View changes
Status: Active » Closed (outdated)

Drupal 7 is no longer supported, closing.

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.