Skip to content

feat(i18n): Translate BatchAnonymization, EntityReview, add 92 keys (133→225)#108

Closed
rubenvdlinde wants to merge 7 commits into
developmentfrom
feature/i18n-complete-translations
Closed

feat(i18n): Translate BatchAnonymization, EntityReview, add 92 keys (133→225)#108
rubenvdlinde wants to merge 7 commits into
developmentfrom
feature/i18n-complete-translations

Conversation

@rubenvdlinde
Copy link
Copy Markdown
Contributor

Summary

  • Wrap all user-facing strings in t() / $this->l10n->t() translation calls
  • Ensure English is the primary language for all translation keys (per ADR-007)
  • Convert any hardcoded Dutch strings to English keys with Dutch in nl.json
  • Complete l10n/en.json (identity-mapped) and l10n/nl.json (Dutch translations)
  • Fix <script setup> components missing direct t import from @nextcloud/l10n

Test plan

  • Verify app loads without JavaScript errors
  • Switch Nextcloud language to Dutch and verify translations display correctly
  • Switch back to English and verify English strings display correctly
  • Spot-check key pages (dashboard, settings, detail views) in both languages

🤖 Generated with Claude Code

- Extend base webpack config instead of replacing resolve/module
- Add NodePolyfillPlugin for process polyfill compatibility
- Add CnObjectSidebar + objectSidebarState for proper sidebar positioning
- Follows ADR-017 (component composition) and ADR-018 (header actions)
- Fix Views.vue: remove <script setup>, fix merged template tags
- Fix BatchAnonymizationView.vue: convert from <script setup> to Options API, fix escaped quotes
- Fix EntityReviewTable.vue: fix escaped quotes throughout
- Fix navigation.ts: merge duplicate interface property definitions
- All files had corruption from bad code generation (merged lines, \x27 quotes)
Settings link in gear foldout now opens NcAppSettingsDialog modal
instead of routing to /settings page. Matches ADR-004 pattern:
- Admin config: /settings/admin/{appid} (NC admin panel)
- In-app settings: NcAppSettingsDialog modal from gear menu
- Wrap all strings in BatchAnonymizationView and EntityReviewTable
- Wrap signing option labels and error fallbacks
- Expand l10n files from 133 to 225 keys with Dutch translations
All translation keys now use sentence case per ADR-007.
Only first word capitalized, except proper nouns and acronyms.
…omplete-translations

# Conflicts:
#	js/docudesk-dashboard.js
#	js/docudesk-dashboard.js.LICENSE.txt
#	js/docudesk-dashboard.js.map
#	js/docudesk-main.js
#	js/docudesk-main.js.LICENSE.txt
#	js/docudesk-main.js.map
#	js/docudesk-settings.js
#	js/docudesk-settings.js.LICENSE.txt
#	js/docudesk-settings.js.map
#	l10n/en.js
#	l10n/en.json
#	l10n/nl.js
#	l10n/nl.json
#	src/navigation/MainMenu.vue
#	src/store/modules/navigation.ts
#	src/views/Views.vue
#	src/views/anonymization/BatchAnonymizationView.vue
#	src/views/anonymization/EntityReviewTable.vue
#	src/views/signing/SigningRequestForm.vue
#	webpack.config.js
@github-actions
Copy link
Copy Markdown
Contributor

Quality Report — ConductionNL/docudesk @ f865529

Check PHP Vue Security License Tests
lint
phpcs
phpmd
psalm
phpstan
phpmetrics
eslint
stylelint
composer ✅ 108/108
npm ✅ 529/529
PHPUnit
Newman ⏭️
Playwright ⏭️

Coverage: 0% (0/10 statements)


Quality workflow — 2026-05-19 03:43 UTC

Download the full PDF report from the workflow artifacts.

@rubenvdlinde
Copy link
Copy Markdown
Contributor Author

Closing in prep for docudesk's manifest-system refactor (Tier-4 adoption) on development. This PR's diff is too large to cheaply rebase across the upcoming manifest changes — please reopen against post-manifest development if the work is still relevant. The 5 spec/docs/gitignore PRs (#101, #133, #134, #148, #149) just landed; the manifest sweep follows.

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.

1 participant