If no category is defined in the block attribute, the category defaults to the plain, untranslatable string "System"

Created on 25 September 2015, almost 10 years ago
Updated 26 June 2025, 11 days ago

Follow-up to and postponed on 🐛 Some block categories are not translatable Needs work

Problem/Motivation

If no category is defined in the block annotation, the category defaults to the plain, untranslatable string "System".

See steps in 🐛 Some block categories are not translatable Needs work

Proposed resolution

If no category is defined, the default category should be a translatable string "Other", because "System" is a core module and therefore it's confusing if contrib modules with no category will show up unter the "System" category.

Remaining tasks

Change the default category from "System" to @Translation("Other")

API changes

No.

🐛 Bug report
Status

Postponed: needs info

Version

11.0 🔥

Component

system.module

Created by

🇨🇭Switzerland axooh

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • 🇦🇺Australia mstrelan

    I'm not sure this is still relevant. In \Drupal\Core\Block\BlockManager::processDefinition we call \Drupal\Core\Plugin\CategorizingPluginManagerTrait::processDefinitionCategory. If the category is empty we get the "provider" name, which is the name of the module. There are some system blocks that still say system, but for all "other" blocks we get the module name. Unless perhaps the provider defaults to system? Changing to PMNMI for steps to reproduce.

    Also note we have attributes now, so updating the title to reflect that.

Production build 0.71.5 2024