Skip to content

Surface shortcode/hooks help in-plugin and fix Gutenberg block JS translations #48

@erseco

Description

@erseco

Summary

Three related improvements, shipped together.

1. In-plugin help for shortcode & hooks

The [exelearning] shortcode and developer hooks are only documented on GitHub (docs/SHORTCODES.md, docs/HOOKS.md). Surface a lightweight (summary + links) reference inside WordPress in two places:

  • A Help card on Settings → eXeLearning.
  • A == Frequently Asked Questions == section in readme.txt (shown on the WordPress.org listing and the in-admin "View details" modal).

2. Fix untranslated Gutenberg block strings

In the block sidebar, "Download options", "Show download button", "Available formats" and the format labels ("Download .elpx", "Web (_web.zip)", "SCORM 1.2 (_scorm.zip)", "IMS Package (_ims.zip)", "EPUB3 (.epub)") render untranslated. Root causes:

  • The block uses a manual translation-injection list (ExeLearning_Elp_Upload_Block::inject_block_translations()) that omits the newer download strings.
  • The format labels are referenced via a variable (__( fmt.labelKey, ... )), which wp i18n make-pot cannot extract.

Fix: migrate to the standard wp_set_script_translations() + wp i18n make-json flow, make the format labels literal __() calls, and remove the manual injection.

3. Translate all shipped locales

New/affected UI strings must be translated in every shipped locale (ca, ca_valencia, de_DE, eo, es_ES, eu, gl_ES, it_IT, pt_PT, ro_RO), not just es_ES. The i18n pipeline (composer update-po) currently only updates es_ES; it will be changed to update all locales and to keep the #: references that make-json needs.

Approach

Tests first where practical (admin help render + a JS-translation regression test), then implementation, docs, and translations for all locales. English throughout.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions