Make feature names on the installer translatable.

Created on 17 June 2025, 19 days ago

Problem/Motivation

Feature names on the installer UI are not translatable.
Names are used as keys in the profile.info.yml file which makes them still harder to translate / extract strings.

Extract from drupal_cms_installer.info.yml

optional:
    'Blog':
      - drupal/drupal_cms_blog
    'Case Studies':
      - drupal/drupal_cms_case_study

Proposed resolution

Change the yml format for the 'optional' section to just list the recipes, same as 'required'
Get the recipe name from the recipe itself, translate name.

📌 Task
Status

Active

Component

Code

Created by

🇪🇸Spain jose reyero

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

Comments & Activities

  • Issue created by @jose reyero
  • 🇪🇸Spain jose reyero

    This is the full patch, just to get started for now.

  • 🇪🇸Spain jose reyero

    Converted the patch to a new branch.

    Notes for quick manual testing, examples for es/Spanish:

    * Manually add 'language' into URL, like

    https://drupalcmsmultilingual.ddev.site/core/install.php?langcode=es

    * Add some custom strings translations into settings.php

    $settings['locale_custom_strings_es'][''] = [
       'Case Studies' => 'Casos de Estudio',
       'Events' => 'Eventos',
       'News' => 'Noticias',
    ];
    
  • 🇭🇺Hungary Gábor Hojtsy Hungary

    Is this an API that is being changed or is not? Looks like it is defined by recipe_installer_kit :)

    Is this issue for discussion? I think the ultimate MRs will be against recipe_installer_kit and drupal_cms repos?

  • 🇭🇺Hungary Gábor Hojtsy Hungary

    Also Adam Hoenich may know if it was intended that the recipe name was not pulled dynamically but rather an alternate name was possible to be provided here. That may be a loss of a feature to not allow that anymore. That said it would be harder to translate it then :D

  • 🇮🇳India anjali rathod India

    Yes Gábor, the ultimate MRs will be against recipe_installer_kit and drupal_cms repos , this issue is for review and discussion for the implementation that is done so that all the work can be reviewed and worked upon at a single place and then the work can be splitted into their respective repositories once the review is complete.

  • 🇺🇸United States phenaproxima Massachusetts

    Also Adam Hoenich may know if it was intended that the recipe name was not pulled dynamically but rather an alternate name was possible to be provided here. That may be a loss of a feature to not allow that anymore. That said it would be harder to translate it then :D

    Gábor is correct -- the recipe name is not meant to be pulled dynamically. The idea here is that you can combine multiple recipes under a single arbitrary label. So it is actually the info file itself that needs to be translated.

    So unfortunately I cannot merge this into Recipe Installer Kit as written. :(

  • 🇪🇸Spain jose reyero

    Yes, that makes sense, thanks for the feedback @gábor, @anjali, @phenaproxima

    So I'm wondering whether we can build upon current yml to add support for these - name translation, multiple recipes.. - and other features.. and ideally make something extendable...

    How would something like this look like?

    ...
    optional:
        blog: 
          name: Blog
          recipes: 
            - drupal/drupal_cms_blog
        case_studies:
          name: Case Studies
          recipes: 
             - drupal/drupal_cms_case_study
        ...
    
  • 🇺🇸United States phenaproxima Massachusetts

    I think that makes sense. Recipe Installer Kit will need to do it in a backwards-compatible way, but it could be done.

    I propose this format:

    recipes:
      optional:
        - name: Blog # this is translatable
          packages: ['drupal/drupal_cms_blog']
        - ...
    
  • 🇪🇸Spain jose reyero

    jose reyero → changed the visibility of the branch 3530520-installer-make-features-translatable to hidden.

Production build 0.71.5 2024