What's Changed
1. Translation System Overhaul
- Auto-translation removed: The translation workflow no longer uses the Google Translate API. All automatic translation logic, scripts, and documentation were removed.
- Manual translation enforced: All strings marked with
[TO_TRANSLATE]
must be manually reviewed and translated by a human. Documentation and scripts now reflect this. - Docs update: The documentation at
apps/docs/content/docs/3.0-beta/translation-management.mdx
was rewritten to explain the new manual-only translation process and best practices for localization teams. - Script refactor:
- Main script (
run_translations.py
) cleaned up and rewritten to only support manual translation workflows. - All CLI and workflow documentation updated accordingly.
- The old
translate_missing.py
script (auto-translate) was deleted. - NPM scripts in
apps/web/package.json
updated: all references totranslations:translate
removed.
- Main script (
2. SMTP Connection Test Feature
- Backend
- New POST endpoint
/app/test-smtp
for administrators to test SMTP connectivity with the current or provided config. - New methods in
EmailService
for actually testing SMTP credentials using Nodemailer. - Proper request/response validation and error handling.
- New POST endpoint
- Frontend
- New API proxy route in Next.js:
apps/web/src/app/api/(proxy)/app/test-smtp/route.ts
. - New React component and UI in settings: Adds a “Test SMTP Connection” button to the email settings group (
SmtpTestButton
component). - Button allows admins to validate SMTP config before saving, with real-time feedback and error handling.
- All UI/UX feedback (success, error, loading) is translatable and localized.
- New API proxy route in Next.js:
3. Multi-language and Translations
- All supported languages updated:
- Adds new translations for SMTP test actions, tooltips, messages, and bulk file operations in all
messages/*.json
. - New bulk actions for files: select all, bulk copy to my files, bulk delete, and bulk download, fully localized.
- Consistent keys for all new and changed features in all supported languages (EN, ES, DE, FR, AR, HI, IT, JA, KO, NL, PL, PT-BR, RU, TR, ZH-CN).
- Adds new translations for SMTP test actions, tooltips, messages, and bulk file operations in all
4. Bulk File Actions in Reverse Shares
- Frontend major improvement:
- Adds bulk select, download (as ZIP), copy to my files, and delete actions to the reverse share “received files” modal (
received-files-modal.tsx
). - Includes loading states, confirmation modals for destructive actions, and full accessibility support.
- Full integration with backend and proper error/success toast feedback.
- Adds bulk select, download (as ZIP), copy to my files, and delete actions to the reverse share “received files” modal (
5. Other Notable Improvements
- Settings UI: The settings group for email now includes the new SMTP test button, integrated with form validation.
- Refactorings and cleanups:
- Improved argument filtering for translation scripts.
- More robust code for CLI options and error handling.
- General UI/UX improvements in file and settings management.
6. Removed/Deleted Files
apps/web/scripts/translate_missing.py
: The script for automatic translation was deleted as part of the move to a manual translation workflow.
Summary Table of Major Changes
Area | Description / Change |
---|---|
Translation | Auto-translation removed, manual process enforced, documentation and scripts overhauled |
SMTP | New test endpoint (backend), new button/UI (frontend), full internationalization |
Bulk File Ops | Bulk select, download (ZIP), copy, delete in received files modal, with multi-language support |
Localization | New/updated translation keys for all features in every supported language file |
Scripts/CLI | CLI refactor for translation management, argument filtering, help docs improved |
UI/UX | Settings and files UI improved, with feedback and accessibility |
Cleanup | Removal of unused scripts and dead code, improved error handling throughout |
For a full diff of all changes, see:
If you want a breakdown of any specific file or subsystem, let me know!
Full Changelog: v3.0.0-beta.10...v3.0.0-beta.11