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.
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:Settings → eXeLearning.== Frequently Asked Questions ==section inreadme.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:
ExeLearning_Elp_Upload_Block::inject_block_translations()) that omits the newer download strings.__( fmt.labelKey, ... )), whichwp i18n make-potcannot extract.Fix: migrate to the standard
wp_set_script_translations()+wp i18n make-jsonflow, 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 thatmake-jsonneeds.Approach
Tests first where practical (admin help render + a JS-translation regression test), then implementation, docs, and translations for all locales. English throughout.