fix: fixed incorrect and broken translations#635
fix: fixed incorrect and broken translations#635maxprilutskiy wants to merge 5 commits intoMail-0:stagingfrom maxprilutskiy:main
Conversation
…anish, French, Hindi, Japanese, Korean, Latvian, Polish, Portuguese, Turkish
|
@maxprilutskiy is attempting to deploy a commit to the Zero Team on Vercel. A member of the Team first needs to authorize it. |
WalkthroughThis pull request updates the CI workflow and localization setup. The CI workflow file now supports manual triggering with a new boolean input to optionally skip the localization step, along with updated permissions and a renamed job. An entry for Changes
Sequence Diagram(s)sequenceDiagram
participant Dev as Developer
participant GH as GitHub Actions
participant CI as CI Workflow
Dev->>GH: Trigger workflow (workflow_dispatch with skip_localization)
GH->>CI: Execute autofix job
CI->>CI: Setup Node.js & install dependencies
alt skip_localization is false
CI->>CI: Run Lingo.dev localization step
else skip_localization is true
CI->>CI: Skip localization step
end
Suggested labels
Suggested reviewers
Poem
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
🔇 Additional comments (7)
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 0
🔭 Outside diff range comments (1)
apps/mail/locales/ru.json (1)
20-21:⚠️ Potential issueTranslation Inconsistency for "movingToSpam"
There appears to be a discrepancy:"movingToSpam"is translated as "Перемещено во входящие" (identical to the inbox translation), while"movedToSpam"(line 20) correctly reads "Перемещено в спам." Please review and adjust"movingToSpam"—for example, to "Перемещение в спам..."—to accurately convey the intended meaning.
🧹 Nitpick comments (6)
apps/mail/locales/hi.json (2)
14-40: Hindi Common Actions Translations – Consistency & Clarity
The updated Hindi translations for common UI actions (refresh, loading, moving, archiving, favorites, etc.) appear comprehensive and context‐appropriate. One minor nitpick: the phrase for “saving” ("सेव कर रहे है...") on line 8 could be grammatically refined to “सेव कर रहे हैं…” for a more formal tone.
165-224: Hindi Notes Section Translations – Detail & Accuracy
The “notes” section has been updated extensively. The translations are comprehensive and capture nuances (e.g., “notePinned”, “noteCopied”). Please double-check consistency of punctuation (for example, quotation styling around {query}) with other locale files.apps/mail/locales/pl.json (1)
148-164: Polish Thread Display – Correct Localization of UI Actions
The thread display section (with keys such as “moveToSpam”, “replyAll”, “markAsUnread”, “addLabel”, “muteThread”) is well translated. Minor consistency checks (e.g., ensuring plural forms in alerts) are recommended.apps/mail/locales/hu.json (1)
165-224: Hungarian Notes Section – Comprehensive & Contextual
The “notes” section is very detailed; it correctly covers status messages (e.g., “Jegyzet rögzítve”, “Jegyzet másolása”) and operational instructions. A final check on ICU pluralization formats is suggested.apps/mail/locales/ja.json (1)
402-407: Japanese Create Email – Error and Success Messages
The “createEmail” section has been updated with messages for “emailSentSuccessfully” and “failedToSendEmail”. The texts are clear; however, consider a small review of phrasing (e.g., ensuring that the polite request form is used consistently in error messages).apps/mail/locales/es.json (1)
16-40: Consistent Spanish Translations for Common Actions
The translations for keys such as"featureNotImplemented","moving","archived", etc., are clear and contextually appropriate. One minor note: the"loading"key (line 15) still shows "Loading..." in English. Please confirm that this is intentional and not an oversight.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
i18n.lockis excluded by!**/*.lock
📒 Files selected for processing (19)
.github/workflows/ci.yml(2 hunks).gitignore(1 hunks)apps/mail/i18n/config.ts(1 hunks)apps/mail/locales/ar.json(1 hunks)apps/mail/locales/ca.json(9 hunks)apps/mail/locales/cs.json(11 hunks)apps/mail/locales/de.json(7 hunks)apps/mail/locales/es.json(7 hunks)apps/mail/locales/fr.json(7 hunks)apps/mail/locales/hi.json(9 hunks)apps/mail/locales/hu.json(1 hunks)apps/mail/locales/ja.json(7 hunks)apps/mail/locales/ko.json(14 hunks)apps/mail/locales/lv.json(7 hunks)apps/mail/locales/pl.json(1 hunks)apps/mail/locales/pt.json(11 hunks)apps/mail/locales/ru.json(7 hunks)apps/mail/locales/tr.json(11 hunks)i18n.json(1 hunks)
🔇 Additional comments (71)
.gitignore (1)
49-49: Great addition to ignore i18n.cache file.Adding the i18n.cache file to .gitignore is appropriate since it's likely a file generated by the Lingo.dev CLI during localization processes and shouldn't be tracked in version control.
.github/workflows/ci.yml (5)
5-11: Well-implemented workflow dispatch with skip option.Adding the workflow_dispatch event with the skip_localization input parameter provides flexibility for manually triggering the CI workflow while optionally bypassing the Lingo.dev localization step.
13-15: Appropriate permissions update.The updated permissions are necessary for the Lingo.dev integration to write to repository contents and pull requests during the CI process.
18-18: Descriptive job name change.Renaming from "prettier" to "autofix" better reflects the broader purpose of this job, which now includes both code formatting and localization tasks.
28-35: Good separation of Node.js setup and dependency installation.Separating the Node.js setup and dependency installation into distinct steps improves readability and maintainability of the workflow.
37-41: Excellent integration of Lingo.dev localization.The conditional execution of the Lingo.dev localization step based on the input parameter is well implemented. This integration will help automate the detection of missing translations in the CI pipeline.
i18n.json (1)
1-31: Well-structured i18n configuration file.The i18n.json file is correctly set up with:
- Schema reference to Lingo.dev
- Source language (English) and all target languages including Hungarian
- Properly configured bucket for localization files
This configuration will ensure that all translations are properly managed and validated by the Lingo.dev tool.
However, there's a minor inconsistency in the target languages list compared to what's mentioned in the PR objectives. The config includes Czech ("cs") which wasn't explicitly mentioned in the PR objectives, but this is likely intentional and beneficial for maintaining complete language support.
apps/mail/locales/tr.json (11)
14-36: Comprehensive translations for mail actions.The added Turkish translations for actions such as refresh, loading, moving, and archiving are complete and well-structured. These translations will enhance the user experience for Turkish users.
95-100: Added AI search feature translations.Good additions of Turkish translations for AI-related search functionality, ensuring a consistent user experience for Turkish users when using advanced search features.
154-163: Thorough thread display action translations.The added translations for thread display actions such as moving to spam, marking as read/unread, and image handling provide a complete user interface for Turkish users.
226-229: Improved settings feedback messages.The added translations for settings feedback messages enhance user communication during settings changes, particularly for language preferences.
249-262: Complete mail action translations.The added translations for mail actions such as marking as read, favoriting, and replying provide comprehensive coverage for all mail management functions.
264-266: Added unit measurement translation.Adding the translation for megabyte units ensures consistent localization throughout the application, including file sizes.
284-284: Added signatures navigation item.The translation for the signatures navigation item aligns with the new email signature feature translations added elsewhere in the file.
309-314: Added AI customization translations.The translations for trusted senders and custom AI prompts ensure Turkish users can fully utilize these advanced features.
337-339: Security settings translations added.The translations for account deletion and image loading security settings enhance Turkish users' ability to manage their security preferences.
347-366: Complete email signatures feature translations.The comprehensive translations for the email signatures feature, including editor types and content management options, ensure Turkish users can fully utilize this functionality.
399-429: Email composition and editor translations.The added translations for email composition features, including signature management and rich text editor functionality, provide a complete localized experience for Turkish users.
apps/mail/i18n/config.ts (1)
15-16: Successfully added Hungarian language support.The Hungarian language has been correctly added to the LANGUAGES constant with code "hu", which aligns with the PR objectives to introduce Hungarian support and enhance the application's internationalization capabilities.
apps/mail/locales/hi.json (3)
95-100: Hindi Search Bar Translations – Clarity in AI Terminology
The search bar translations (e.g., “searching”, “AI सुझाव”, “AI खोज रहा है…”) are clear and maintain technical consistency. No further changes are needed here.
127-127: Hindi Reply Compose – Forward Key
The addition of the “forward” key (“आगे भेजें”) is correct and aligns with other language files.
148-163: Hindi Thread Display Translations – UI Consistency
The translations for thread actions (e.g., “moveToSpam”, “markAsUnread/Read”, “favourites”, “disableImages”, “enableImages”) are well done. Ensure that the term “favourites” (“पसंदीदा”) is used consistently throughout the UI.apps/mail/locales/ar.json (5)
13-40: Arabic Common Actions Translations – Language Accuracy
The Arabic translations for common actions (including “signOutError”, “refresh”, “loading”, etc.) have been updated to replace English terms with clear Arabic phrases. Ensure the tone and formality are consistent with the rest of the Arabic UI.
48-57: Arabic Command Palette Updates – Consistent Terminology
The changes in the command palette (title, description, placeholder, groups such as “help” and “navigation”) are well integrated. Confirm that terms like “Help” ("مساعدة") match the style seen in similar translations.
77-100: Arabic Search Bar Translations – Detailed and Clear
The updated search bar keys (e.g., “searching”, “aiSuggestions”, “aiEnhancedQuery”) are clearly conveyed. The technical terminology (for AI functions) is consistent with other locales.
148-163: Arabic Thread Display Enhancement – UI Refinement
The translations for thread display actions such as “moveToSpam”, “replyAll”, “markAsUnread”, “markAsRead”, “disableImages”, and “enableImages” have been updated effectively. Double-check if “moveToSpam” ("نقل إلى البريد المزعج") aligns with similar wording elsewhere.
264-266: Arabic Units Section – Correct Integration
The addition of the “units” section with key “mb” (“{amount} ميجابايت”) is correctly implemented and consistent with other language files.apps/mail/locales/pl.json (4)
4-40: Polish Common Actions Translations – Completeness & Consistency
The Polish translations for actions (e.g., “logout”, “saveChanges”, “moving”, “archiving”, “favorites”) are thoroughly updated. They clearly reflect the intended meaning. Please ensure that the tone matches the formality used in the rest of the Polish UI.
48-74: Polish Command Palette – Clear and Consistent
The command palette strings are now fully localized (e.g., “Paleta poleceń”, “Wpisz polecenie lub szukaj…”). These are consistent with other sections and require no further modification.
77-100: Polish Search Bar Translations – Accurate Technical Terms
The search bar keys (including “advancedSearch”, “quickFilters”, “aiEnhancedQuery”) are translated accurately. The use of technical terms is consistent and clear for end users.
165-224: Polish Notes Section – Detailed and Culturally Appropriate
The extensive updates to the “notes” section ensure that users receive complete guidance in Polish. Please verify that the pluralization rules (using ICU message format) are accurately reflected in all keys.apps/mail/locales/hu.json (2)
1-41: Hungarian Locale File – Solid Initial Translation
As a newly added locale, the Hungarian translations for common actions are well structured. The phrases (e.g., “Kijelentkezés”, “Módosítások mentése”) appear native and correct. A quick review for consistency (such as ensuring that “Mentés…” is used uniformly) is recommended.
47-75: Hungarian Command Palette & Search Bar – Clear and Intuitive
The command palette and search bar keys are clearly localized. The terminology is appropriate, and the placeholders effectively guide user input.apps/mail/locales/ja.json (3)
1-13: Japanese Common Actions – Accurate and Polite
The changes in the common actions section (e.g., “logout”, “back”, “create”, “signingOut”) use polite and clear Japanese expressions. The phrase “サインアウトエラー” for signOutError is concise.
16-24: Japanese Feature & Movement Translations – Clear Communication
The updated keys for “featureNotImplemented”, “moving”, “movedToInbox/Spam”, “archiving”, and “failedToMove” are well rendered. They clearly communicate process status in Japanese.
148-163: Japanese Thread Display Updates – Consistent UI Terminology
The thread display section now includes the “favourites” key (“お気に入り”), as well as “disableImages” and “enableImages”. These modifications are consistent with the overall UI language and aid user familiarity.apps/mail/locales/lv.json (2)
16-40: Translation Consistency in Common Actions
The updated translation strings in the "actions" section (e.g.,"featureNotImplemented": "Šī funkcija vēl nav ieviesta","moving": "Pārvieto...","addedToFavorites": "Pievienots izlasei", etc.) are clear and consistent. Please double-check that these translations fully capture the intended UI behavior and tone for Latvian users.
264-266: Units Section Translation
The new"units"section using{amount} MBappears correctly formatted and is consistent with similar implementations in other locale files. Verify that the placeholder syntax remains uniform with the rest of the project.apps/mail/locales/ko.json (5)
14-40: Consistent Translation in Common Actions
The translations for the core action keys (e.g.,"refresh": "새로고침","loading": "로딩 중...","hiddenImagesWarning": "보안상의 이유로 이미지는 기본적으로 숨겨져 있습니다.", etc.) are well rendered in Korean. Please ensure that terms like those for favorites and moving actions naturally align with the app’s terminology.
95-100: Search and AI Query Localization
The search-related keys – including"searching": "검색 중...","aiSuggestions": "AI 추천","aiSearching": "AI가 검색 중...", and"aiSearchError": "AI 검색에 실패했습니다. 다시 시도해 주세요."– have been localized appropriately. Confirm that they clearly convey the real-time search behavior and AI functionality for Korean users.
127-127: Forward Action Translation
The"forward"key is translated as"전달", which is succinct and clear. Please verify that this choice is consistent with other similar action labels in the application.
264-266: Units Localization Check
The"units"section with{amount} MBis correctly implemented and aligns with the formatting used in the other locale files.
399-428: Create Email Section and Signature Configuration
The updates in the "createEmail" section—including keys like"addMore","failedToSendEmail", and the new"signature"configuration along with the editor menu options—are detailed and enhance usability. Make sure that technical terms and instructions (e.g., for attaching files or formatting a signature) are uniformly applied throughout the app.apps/mail/locales/ca.json (4)
14-40: Consistent Translation in Common Actions
The updated action strings (such as"refresh": "Actualitzar","loading": "Carregant...","hiddenImagesWarning": "Les imatges estan ocultes per defecte per raons de seguretat.", etc.) in the "actions" section are well localized in Catalan. Please ensure that the nuances of each command match native usage.
95-100: Search and AI Query Localization
The localized strings for search functionalities and AI-related queries (e.g.,"searching": "Cercant...","aiEnhancedQuery": "Consulta de cerca millorada") are accurate. It would be beneficial to have a final review by a native speaker for any subtle idiomatic adjustments.
127-127: Forward Action Localization
The"forward"action is now set to"Reenviar", which is concise and appropriate.
399-428: Create Email and Signature Settings Enhancement
The "createEmail" section—including new keys for email signatures (e.g.,"enableSignature","signatureContent","signaturePreview") and link creation—is comprehensive. The editor menu options (for headings, bolding, etc.) also appear to be correctly translated. A quick check to ensure that all technical terms are consistent with other parts of the app is recommended.apps/mail/locales/pt.json (5)
14-40: Accurate Translation of Common Actions
The Portuguese translations for core actions (like"refresh": "Atualizar","loading": "Carregando...","featureNotImplemented": "Este recurso ainda não foi implementado", etc.) are clear and contextually appropriate.
95-100: Search and AI Suggestions Localization
The keys in the search bar section (e.g.,"searching": "Pesquisando...","aiSuggestions": "Sugestões de IA") are well translated. Ensure that these terms consistently reflect the dynamic search behavior experienced by users.
127-127: Forward Action Translation Check
The"forward"action is rendered as"Encaminhar", which clearly communicates the intended function.
264-266: Units Section Consistency
The"units"entry{amount} MBis correctly implemented and matches the formatting in the rest of the codebase.
399-428: Enhanced Create Email Section and Signature Configurations
The updates to the "createEmail" section—especially the new blocks for email signatures and link creation—are thorough. The detailed sub-sections under"signature"and the editor menu translations are well done. A final review to confirm that technical and domain-specific terminology is uniformly applied is recommended.apps/mail/locales/cs.json (5)
14-40: Comprehensive Translation in Common Actions
The Czech translations in the "actions" section (including keys like"refresh": "Obnovit","loading": "Načítání...", and"featureNotImplemented": "Tato funkce ještě není implementována") are precise and consistent with the application’s style.
95-100: Search and AI-Related String Localization
The localized terms for search functionality (e.g.,"Vyhledávání...","AI návrhy", etc.) are clear. These should effectively communicate the underlying functionality to Czech users.
127-127: Forward Action Translation Accuracy
The"forward"key is appropriately translated. Please verify that this translation is used consistently in the context of email actions throughout the application.
264-266: Units Localization Consistency
The"units"definition using{amount} MBis correctly formatted and consistent with similar entries in other locales.
399-430: Create Email Section and Email Signature Enhancements
The modifications in the "createEmail" section—including updates for"addMore", error messaging, and the newly introduced"signature"options (with keys for enabling, including, previewing, and editing the signature)—are well implemented. The accompanying editor menu translations further enhance the user interface. A review to ensure technical accuracy and consistency with other language files is advised.apps/mail/locales/es.json (3)
264-266: Addition of Units Section
The new"units"section with the key"mb": "{amount} MB"is a welcome addition. Ensure that using the abbreviation “MB” meets the style guidelines for Spanish if a localized unit format is preferred.
284-285: Updated Navigation Settings for Signatures
Including the"signatures"key under the navigation settings (translated as"Firmas") provides clearer guidance for users. The translation is accurate and consistent with other languages.
399-429: Enhanced Email Composition Translations
The updated translations in the "createEmail" section – covering prompts for attachments, signature management, and rich text editor menus – are comprehensive and align well with the new localization standards.apps/mail/locales/de.json (4)
16-40: Solid German Translations for Common Actions
The German translations for key email action strings (from"featureNotImplemented"to"remove") are accurate and user-friendly.
161-163: Thread Display Translations
The updated entries for thread display (i.e."favourites","disableImages","enableImages") are precise and improve clarity in the UI.
264-266: Inclusion of Units Section
The new"units"section featuring"mb": "{amount} MB"is consistent with similar updates in other locales.
399-428: Improved Email Composition Translations
The translations in the "createEmail" section—including signature controls and editor options—are comprehensive and well localized.apps/mail/locales/fr.json (3)
16-40: Accurate French Translations for Common Actions
The French strings for action keys (such as"featureNotImplemented","moving", etc.) are clear, precise, and enhance the user experience.
264-266: Addition of Units Section in French
The inclusion of the"units"section with the key"mb": "{amount} Mo"is appropriate. This new section aligns well with the overall localization improvements.
399-429: Enhanced French Translations for Email Creation
The updates in the "createEmail" section – covering prompts for adding links, managing signatures, and the rich text editor menu – are thorough and correctly localized, contributing to a better UI/UX.apps/mail/locales/ru.json (4)
33-40: Improved Russian Translations for Action Keys
The translations for keys from"markingAsUnread"through"remove"are clear and accurate, ensuring consistency in the Russian localization of common actions.
161-163: Thread Display Enhancements
The updated Russian entries for thread display (e.g.,"favourites","disableImages", and"enableImages") are correctly translated and enhance overall clarity.
264-266: Units Section Consistency
The new"units"section with the key"mb": "{amount} МБ"is correctly integrated and maintains consistency with other locale files.
399-428: Detailed Russian Translations for Email Composition
The comprehensive updates in the "createEmail" section—including settings for email signature management and the editor menu—are well executed and fully localized.
Description
Hi @nizzyabi @MrgSub @ahmetskilinc! I've just found out hundreds of incorrect + missing translations in Zero, particularly in Arabic and Hindi where files were basically a mix of English and the target language, while Polish was missing entirely. This PR fixes these issues using @lingodotdev open source CLI to provide accurate translations across all affected language files.
This PR addresses translation issues in multiple languages with the following counts of fixes:
Bonus:
Type of Change
Please delete options that are not relevant.
Areas Affected
Please check all that apply:
Security Considerations
Checklist
By submitting this pull request, I confirm that my contribution is made under the terms of the project's license.
Summary by CodeRabbit
New Features
Chores