openedx / openedx/xblocks-core

Implement localization on xblocks-core, xblocks-extra

Open
#241 7 comments 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

epic
Dominant language
Python
Stars
0
Forks
15
Avg merge
5d 16m
Merged PRs (30d)
7

Description

Summary

Define and document the translation architecture for consolidated XBlock repositories:

  • xblocks-contrib
  • xblocks-extra

Relevant References

Proposed Strategy
  1. No shared root-level conf directory in consolidated repositories (xblocks-contrib / xblocks-extra) as per current implementation
  2. Each XBlock maintains its own conf directory within its module_name
  3. Each XBlock has a separate entry in openedx-translations/transifex.yml
  4. Update make extract_translations in xblocks-* repos to extract translations
    • It will extract per block
  5. The daily cron job in openedx-translations should: - Checkout xblocks-extra / xblocks-contrib
    • Extract translation source files for each XBlock independently
  6. Ensure translation path resolution remains compatible with openedx-platform

Path Compatibility Validation

Current lookup pattern in openedx-platform:

translations/*/{module_name}/conf/locale:{module_name}

Proposed path of xblock translations for consolidated (xblocks-*) repositories:

openedx-translations/translations/xblocks-*/MODULE_NAME/conf/locale/en/LC_MESSAGES/django.po

Example path:

openedx-translations/translations/xblocks-contrib/xblock_pdf/conf/locale/en/LC_MESSAGES/django.po

This path is compatible for openedx-platform lookup pattern.

Example of existing path of Audio xblock:

openedx-translations/translations/AudioXBlock/audio/conf/locale

Cleanup / Migration Tasks
  • Verify whether legacy translation paths are auto-removed
  • If not, remove obsolete translation directories explicitly
  • Validate full extraction + pull flow after migration

Definition of Done
  • Architecture finalized for consolidated XBlock repos
  • Extraction workflow updated
  • transifex.yml updated with per-XBlock entries
  • Compatibility with openedx-platform verified
  • Legacy paths cleaned up
  • End-to-end translation flow validated
  • Translation works after the deletion of older repositories translations or builtin blocks code

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.