Skip to content

feat: add project-wide i18n support#209

Draft
NAO-200 wants to merge 37 commits into
devfrom
feat-155-project-33-i18n
Draft

feat: add project-wide i18n support#209
NAO-200 wants to merge 37 commits into
devfrom
feat-155-project-33-i18n

Conversation

@NAO-200
Copy link
Copy Markdown
Collaborator

@NAO-200 NAO-200 commented May 18, 2026

Closes #155

Adapts the project to the existing i18n setup across the frontend, including dashboard views, modals, navigation, model-driven forms, validation messages, and backend-provided messages.

@NAO-200 NAO-200 self-assigned this May 18, 2026
@karimouf
Copy link
Copy Markdown
Collaborator

There were a lot of files changed, very hard to look at everything, but in general looks fine from my point of view. Don't forget to add docstrings and specify which files you said were incorrectly merged

},

async down(queryInterface, Sequelize) {
// Intentionally left as no-op because original free-text values were not uniquely preserved.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any way that we can avoid breaking undoing of migrations? Once we run these migrations we cannot go back to a previous version of the app.

},

async down(queryInterface, Sequelize) {
// No-op: reverse mapping is intentionally omitted.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as mentioned before

},

async down(queryInterface, Sequelize) {
// No-op: reverse mapping intentionally omitted.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and here too

@NAO-200
Copy link
Copy Markdown
Collaborator Author

NAO-200 commented May 20, 2026

There were a lot of files changed, very hard to look at everything, but in general looks fine from my point of view. Don't forget to add docstrings and specify which files you said were incorrectly merged

The commit where I adapted the first ~100 files and where old logic was accidentally merged is:

refactor: port safe frontend i18n changes
25a3edddfdbfb5c5c0fce99ee78b0e0a1ff2a1ca

This was the part where I initially tried to port changes that looked safe, but later noticed that some old logic had been brought back unintentionally. Because of that, I manually re-checked these files afterwards against the current dev version to make sure that only the i18n-related changes remained.

(caution, a lot of files)

Full list of files included in this commit
frontend/src/assets/utils.js
frontend/src/auth/ConsentModal.vue
frontend/src/auth/EmailVerificationModal.vue
frontend/src/auth/ForgotPasswordModal.vue
frontend/src/auth/NotFound.vue
frontend/src/auth/ResetPassword.vue
frontend/src/auth/TermsModal.vue
frontend/src/basic/Form.vue
frontend/src/basic/Table.vue
frontend/src/basic/dashboard/Coordinator.vue
frontend/src/basic/download/DownloadSet.vue
frontend/src/basic/download/DownloadSingle.vue
frontend/src/basic/download/ExportSingle.vue
frontend/src/basic/editor/CommandMessage.vue
frontend/src/basic/editor/JsonEditor.vue
frontend/src/basic/editor/Modal.vue
frontend/src/basic/form/DataTable.vue
frontend/src/basic/form/DatetimePicker.vue
frontend/src/basic/form/Default.vue
frontend/src/basic/form/Editor.vue
frontend/src/basic/form/Element.vue
frontend/src/basic/form/Password.vue
frontend/src/basic/form/Select.vue
frontend/src/basic/form/Slider.vue
frontend/src/basic/form/Switch.vue
frontend/src/basic/form/Textarea.vue
frontend/src/basic/icon/IconLoading.vue
frontend/src/basic/modal/ApplySkillSetupStepper.vue
frontend/src/basic/modal/ConfigurationModal.vue
frontend/src/basic/modal/ConfirmModal.vue
frontend/src/basic/modal/ConsentUpdateModal.vue
frontend/src/basic/modal/InformationModal.vue
frontend/src/basic/modal/PasswordModal.vue
frontend/src/basic/modal/PlaceholdersStep.vue
frontend/src/basic/modal/ServicesStep.vue
frontend/src/basic/modal/StepperModal.vue
frontend/src/basic/modal/skills/InputConfirm.vue
frontend/src/basic/modal/skills/InputFiles.vue
frontend/src/basic/modal/skills/InputGroup.vue
frontend/src/basic/modal/skills/InputMap.vue
frontend/src/basic/modal/skills/SkillSelector.vue
frontend/src/basic/service/NLPService.vue
frontend/src/basic/service/NlpRequest.vue
frontend/src/basic/table/Pagination.vue
frontend/src/components/StudySession.vue
frontend/src/components/annotator/pdfViewer/PDFToolbar.vue
frontend/src/components/annotator/pdfViewer/PDFViewer.vue
frontend/src/components/annotator/sidebar/Sidebar.vue
frontend/src/components/annotator/sidebar/card/AnnoCard.vue
frontend/src/components/annotator/sidebar/card/Collaboration.vue
frontend/src/components/annotator/sidebar/card/Comment.vue
frontend/src/components/annotator/sidebar/card/TagSelector.vue
frontend/src/components/annotator/sidebar/card/VoteButtons.vue
frontend/src/components/common/FloatingInfoPanel.vue
frontend/src/components/dashboard/Configurations.vue
frontend/src/components/dashboard/Documents.vue
frontend/src/components/dashboard/Log.vue
frontend/src/components/dashboard/NlpSkills.vue
frontend/src/components/dashboard/Projects.vue
frontend/src/components/dashboard/StudySession.vue
frontend/src/components/dashboard/Tags.vue
frontend/src/components/dashboard/UserStatistics.vue
frontend/src/components/dashboard/Users.vue
frontend/src/components/dashboard/coordinator/Project.vue
frontend/src/components/dashboard/coordinator/Study.vue
frontend/src/components/dashboard/coordinator/TagSet.vue
frontend/src/components/dashboard/documents/DownloadPDFModal.vue
frontend/src/components/dashboard/documents/EditModal.vue
frontend/src/components/dashboard/documents/PublishModal.vue
frontend/src/components/dashboard/documents/UploadModal.vue
frontend/src/components/dashboard/nlp_skills/NlpSkillModal.vue
frontend/src/components/dashboard/nlp_skills/SkillListing.vue
frontend/src/components/dashboard/projects/AssignProjectModal.vue
frontend/src/components/dashboard/projects/ExportModal.vue
frontend/src/components/dashboard/projects/FilterModal.vue
frontend/src/components/dashboard/settings/ChangeUserSettingsModal.vue
frontend/src/components/dashboard/settings/SettingItem.vue
frontend/src/components/dashboard/study/AddAssignmentModal.vue
frontend/src/components/dashboard/study/SavedTemplatesModal.vue
frontend/src/components/dashboard/study/StudySessionModal.vue
frontend/src/components/dashboard/submission/AssignModal.vue
frontend/src/components/dashboard/submission/ImportModal.vue
frontend/src/components/dashboard/submission/PublishModal.vue
frontend/src/components/dashboard/submission/ValidatorSelector.vue
frontend/src/components/dashboard/users/ImportModal.vue
frontend/src/components/dashboard/users/RightsModal.vue
frontend/src/components/dashboard/users/UploadModal.vue
frontend/src/components/dashboard/users/UserCreateModal.vue
frontend/src/components/editor/Editor.vue
frontend/src/components/editor/editor/Editor.vue
frontend/src/components/editor/sidebar/History.vue
frontend/src/components/stepmodal/StepModal.vue
frontend/src/components/stepmodal/placeholders/Chart.vue
frontend/src/components/stepmodal/placeholders/Comparison.vue
frontend/src/components/stepmodal/placeholders/Text.vue
frontend/src/components/study/FinishModal.vue
frontend/src/components/study/ReportItem.vue
frontend/src/components/study/ReportModal.vue
frontend/src/components/study/ReviewModal.vue
frontend/src/components/study/assessment/AssessmentCriteria.vue
utils/modules/i18n/de/dashboard.json
utils/modules/i18n/en/dashboard.json

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Integrate internationalization (i18n) support into CARE

3 participants