Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manage translations outside of repository using a specialized software #2642

Open
sleidig opened this issue Oct 29, 2024 · 1 comment
Open
Assignees
Labels
Client: by X Type: Refactoring / Technical Enh. Technical Enhancement without changes for the user

Comments

@sleidig
Copy link
Member

sleidig commented Oct 29, 2024

Currently, UI translation keys are extracted using an npm script, manually translated and then commited in our git repository. This requires the translator to have git access and be comfortable with a large, technical xml (.xliff) file. Instead, we should use some cloud-based system to manage translations to outsource these tasks and decouple them from software development.

https://poeditor.com/ is free for open source projects and could be a good solution

EDIT: our project has been approved for the free FOSS licence
https://poeditor.com/projects/view?id=740876


An ideal process would be:

Automatic updates of tokens for translation:

  • whenever there is an update to "master" branch, the translation platform automatically receives updated translation tokens

Automatic updates of translations for app users:

  • whenever someone adds/updates a translation for a token in some language on the translation platform, the translations for deployed systems automatically update for users
    • this would make corrections to translations faster and easier
    • how can different app versions be handled with this? (some systems might run an older version, where certain translation tokens are different - so the system would need to have version-related translations?)
    • if translations are loaded by devices directly, we need to ensure they are cached by service worker so that offline-functionality is fully supported
    • this approach will require code changes to dynamically load translation files instead of delivering them as static angular assets (which is the current approach)
  • OR: we can easily open a PR in GitHub to commit new translations that were done on the translation platform
    • this would allow us to keep the existing architecture where translation files are part of the code base and packaged with the app directly

--> read about approaches recommended by POEditor; they support CI integration with GitHub etc.

@github-project-automation github-project-automation bot moved this to Triage / Analysis in All Tasks & Issues Oct 29, 2024
@sleidig sleidig added Client: by X Type: Refactoring / Technical Enh. Technical Enhancement without changes for the user labels Oct 29, 2024
@tomwwinter tomwwinter self-assigned this Nov 13, 2024
@sleidig
Copy link
Member Author

sleidig commented Nov 13, 2024

For now, it seems best to not change the architecture how translation files are delivered to users (i.e. stick with the translations being part of our code repository; option 2 above) and get the integration with the translation platform set up. We can always come back to the question of delivering translation files to users dynamically (independent of a new app release) at a later time.

@sleidig sleidig moved this from Triage / Analysis to Todo (ready for work) in All Tasks & Issues Nov 13, 2024
@sleidig sleidig assigned rathorevaibhav and unassigned tomwwinter Nov 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Client: by X Type: Refactoring / Technical Enh. Technical Enhancement without changes for the user
Projects
Status: Todo (ready for work)
Development

No branches or pull requests

3 participants