MetaMask / MetaMask/metamask-extension
Remove uploading of crowdin translated translation files
- Dominant language
- TypeScript
- Stars
- 13.2k
- Forks
- 5.6k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 451
Description
### What is this about?
In Extension we have quiet a few languages which are community supported. We have traditionally uploaded translations to crowdin via the crowdin github action to allow for proofreading of community translations. However, this causes problems for languages which are strictly translated by crowdin and not community based translations.
In the case where a language is supported officially by our crowdin translation partners we should not upload our translations file. When we do upload the translations file it causes an issue on the crowdin side in which it marks keys/strings as "unapproved" rather than "untranslated". This leaves updated keys/strings in a sort of limbo state because when you create a new task in crowdin it doesn't pull "unapproved" keys.
The languages which we should not upload translations for are the following:
1. de
2. el (Greek)
3. es
4. fr
5. hi
6. id
7. ja
8. ko
9. pt
10. ru
11. tl
12. tr
13. vi
14. zh-cn
To make this work we can change: `upload_translations: true` to `upload_translations: false`
We currently do not have proofreading services with our translation partners for our community backed translations so making this change is ok. In the future, when we do start to have those proofread by our translator services we will need to upload those and that can be done in a separate action.
There was a previous [PR](https://github.com/MetaMask/metamask-extension/pull/20218) opened by Seth that I think was attempting to do essentially the same thing. The feedback there indicated we should also [update the contributor documentation](https://github.com/MetaMask/metamask-extension/blob/6e5ab2a9457207e3e527132383ac62534887704c/docs/translating-guide.md) to indicate how to contribute needed changes to the officially supported 14 languages vs the community backed languages. That should be included in this issue as well.
### Scenario
- Given I am a MetaMask developer
- And I change a string in the EN local file
- Then it should be marked as untranslated in crowdin in the individual 14 languages listed above
- And when the string has been translated again
- Then it should be included in the crowdin PR
### Design
N/A
### Technical Details
- See description
### Threat Modeling Framework
_No response_
### Acceptance Criteria
Acceptance Criteria:
1. Updating a string for a key in the EN locale returns the translated string
2. Languages not included in the 14 translator backed list are not uploaded to crowdin as part of the github action
3. [Contributor documentation](https://github.com/MetaMask/metamask-extension/blob/6e5ab2a9457207e3e527132383ac62534887704c/docs/translating-guide.md) indicates that bugs should be submitted for needed corrections related to the 14 translator supported languages.
4. We should also update MetaMask internal contributor documentation to indicate that changes to an EN file key/string pair should trigger them to remove those translations from the rest of the community supported locales so that the community can retranslate them. (Desi needs to find where this is documented and confirm this is correct understanding).
### Stakeholder review needed before the work gets merged
- [X] Engineering (needed in most cases)
- [ ] Design
- [ ] Product
- [ ] QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
- [ ] Security
- [ ] Legal
- [ ] Marketing
- [ ] Management (please specify)
- [ ] Other (please specify)
### References
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.