Canvas language selector is shown on multilingual site even if Canvas pages are not translatable and has misleading/non-standard default labeling

There are 3 problems with the Canvas language selector:

1. The language selector shows up even if Canvas pages are not translatable

This screenshot from a site where canvas pages are not configured to be translatable:

Screenshot 2026-07-09 at 08.15.25.png

The dropdown is dependent on whether either content or config translation MODULE is enabled. This code from CanvasController:

    $content_translation_enabled = $this->moduleHandler->moduleExists('content_translation');
    $config_translation_enabled = $this->moduleHandler->moduleExists('config_translation');

And this from Topbar.tsx

  const isTranslationEnabled =
    canvasSettings?.contentTranslationEnabled ||
    canvasSettings?.configTranslationEnabled;

But this does not mean Canvas Pages themselves are configured for translation, they may not be. In this case the UI is misleading and sets up the wrong expectation.

Also Configuration Translation module is just a UI module and is not needed at all for translating config entities, so it should not be required for this feature. Canvas Translate itself does not even require Configuration Translation as one of its dependencies to work.

2. A "Default" marker is appended which is different terminology from both core translation modules and Canvas Translate

The dropdown shows the site default language version as ("Default"). For all other translation UIs in Drupal, the original version of the entity itself is marked as "original" or "Original language". To be consistent with that (and in the future allow for creating Canvas pages in other languages), we should use "(Original)" as well. This is what people will see in other translation UIs:

Content Translation (node): Screenshot_2026-08-13_at_15.05.47

Config Translation: Screenshot_2026-08-13_at_15.04.56

Alternatively Canvas Translate uses "Source" as the label for the original language of the entity, which is also what TMGMT is using. I think "(Source)" would also be a fine label personally.

Post MR state current is this (entity is originally in English):

Screenshot_2026-08-13_at_21.03.13

Same site other entity originally in Hungarian (but also has an English translation I created with Canvas Translate) Screenshot_2026-08-13_at_21.04.09

3. The horizontal line is shown even if the user does not have permission to edit the languages

The configure languages link is correctly missing but the horizontal line remains in this case, which is quite odd visually.

Edited by Gábor Hojtsy