Skip to content

Fix _button.text and _button.ariaLabel incorrectly marked as translatable #128

Open

Description

@joe-replin

Subject of the issue/enhancement/features

_tutor._button.text and _tutor._button.ariaLabel in both component.schema.json and course.schema.json are marked "translatable": true, but their defaults are Handlebars template references ({{_globals._extensions._tutor.hideFeedback}}). Because the translation export resolves defaults, these fields appear in the CSV as the raw template string rather than an actual translatable value, polluting every export with content that needs to be manually removed before sending to translators.

The genuinely translatable string — hideFeedback in course.schema.json — is already correctly marked "translatable": true. The four _button fields should be "translatable": false.

Your environment

  • version: adapt-contrib-tutor 4.7.0 / Framework 5.48.2
  • which browser and its version: N/A (schema issue)
  • device(s) + operating system(s): N/A

Steps to reproduce

  1. Install adapt-contrib-tutor into an Adapt course
  2. Run grunt translate:export --format=csv
  3. Open the exported CSV
  4. Search for rows containing {{_globals._extensions._tutor.hideFeedback}}

Expected behaviour

Only genuinely translatable strings should appear in the export. Handlebars template references that resolve at runtime should not be included.

Actual behaviour

_tutor._button.text and _tutor._button.ariaLabel appear twice in the CSV (once from component.schema.json, once from course.schema.json) as the raw string {{_globals._extensions._tutor.hideFeedback}}. These are not translatable values and must be manually removed before the CSV can be sent to translators.

Suggested Fix

The fix in each case is changing "translatable": true to "translatable": false.

Activity

  1. added theissue type on Mar 26, 2026
  2. moved this from New to Awaiting Response in adapt_framework: The TODO Boardon Mar 26, 2026
  3. oliverfoster commented on Mar 26, 2026

    @oliverfoster
    Member

    Regarding the suggested solution: If someone did change the values away from the default handlebars templates, then the new values wouldn't be translated because their schema wouldn't be marked as translatable.

  4. joe-replin commented on Mar 26, 2026

    @joe-replin
    ContributorAuthor

    I personally have never seen an instance of using different variant text for question buttons on a question-by-question basis. I can think of two other solutions:

    1. Modify button text in course.json only (remove per-component variant). Avoids UI bloat in AAT and keeps the model simpler.
    2. Update the export tool to strip out handlebars template references.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions