-
-
Couldn't load subscription status.
- Fork 404
Closed
Labels
readyReady for implementationReady for implementationrestricted: maintainersOnly maintainers can resolve this issueOnly maintainers can resolve this issuework: backendRelated to Python, Django, and simple SQLRelated to Python, Django, and simple SQLwork: documentationImprovements or additions to documentationImprovements or additions to documentationwork: frontendRelated to frontend code in the mathesar_ui directoryRelated to frontend code in the mathesar_ui directory
Milestone
Description
This is a meta issue that tracks the implementation of the i18n project.
Important Links:
### FE Tasks
- [x] Install and initialize the typesafe-i18n library in the project
- [x] Create a `RichText` component for rendering strings with embedded components
- [x] Internationalize strings in routes dir
- [x] Internationalize strings in pages dir
- [x] Internationalize strings in the systems dir
- [x] Internationalize strings in components dir
- [x] Internationalize strings in components-lib
- [x] Internationalize strings in the layout dir
- [x] Translate the application when the user changes language from the profile page
- [x] Language selector on the profile page
### Documentation Tasks
- [ ] Write a doc for developers, outlining the approaches and best practices for making sure the new code written is translatable as per the spec.
- [x] Write a doc outlining the workflow for sending the strings for translation, reviewing, and receiving the translations from a translator(non-technical person).
- [ ] Publish documentation for volunteer translators, making it possible for community members to contribute to translations without very much technical knowledge.
### BE Tasks
- [x] Enabling Django and DRF translations
- [x] Internationalize templates on the BE.
- [x] Let authorized users choose the preferred language from the profile page & save it in the DB
- [x] Let anon users choose language from un-auth pages
- [x] Load translations file parallel to the FE code's first chunk
- [x] Update the styling of the language selector on un-auth page as per the product's design lang
### Tooling tasks
- [x] Set up a translation management service.
- [ ] Create an ESLint rule to catch all untranslated strings & fix all the current errors.
- [x] Create a system for exporting translations to the translations management service.
- [x] Create a system for importing translations from the translations management service.
### Testing
- [ ] Run through all of the flows in en lang
- [ ] Check the app with 10-15 strings rendered in Japaneese lang
Metadata
Metadata
Assignees
Labels
readyReady for implementationReady for implementationrestricted: maintainersOnly maintainers can resolve this issueOnly maintainers can resolve this issuework: backendRelated to Python, Django, and simple SQLRelated to Python, Django, and simple SQLwork: documentationImprovements or additions to documentationImprovements or additions to documentationwork: frontendRelated to frontend code in the mathesar_ui directoryRelated to frontend code in the mathesar_ui directory