Skip to content

Comments

fix: fixed incorrect and broken translations#635

Closed
maxprilutskiy wants to merge 5 commits intoMail-0:stagingfrom
maxprilutskiy:main
Closed

fix: fixed incorrect and broken translations#635
maxprilutskiy wants to merge 5 commits intoMail-0:stagingfrom
maxprilutskiy:main

Conversation

@maxprilutskiy
Copy link
Collaborator

@maxprilutskiy maxprilutskiy commented Apr 10, 2025

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:

  • Arabic (ar): 344 fixes
  • Catalan (ca): 191 fixes
  • Czech (cs): 89 fixes
  • German (de): 74 fixes
  • Spanish (es): 72 fixes
  • French (fr): 72 fixes
  • Hindi (hi): 186 fixes
  • Japanese (ja): 72 fixes
  • Korean (ko): 101 fixes
  • Latvian (lv): 72 fixes
  • Polish (pl): 356 fixes (completely missing before)
  • Portuguese (pt): 106 fixes
  • Russian (ru): 54 fixes
  • Turkish (tr): 106 fixes

Bonus:


Type of Change

Please delete options that are not relevant.

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • 🎨 UI/UX improvement

Areas Affected

Please check all that apply:

  • User Interface/Experience

Security Considerations

  • No sensitive data is exposed

Checklist

  • I have read the CONTRIBUTING document
  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in complex areas
  • I have updated the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix/feature works
  • All tests pass locally
  • Any dependent changes are merged and published

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

    • Expanded localization support across multiple languages, featuring refined translations for email signatures, image display warnings, and measurement units.
    • Introduced a centralized internationalization configuration to simplify and enhance language management.
  • Chores

    • Improved automation processes to boost build reliability and streamline dependency handling.

@vercel
Copy link

vercel bot commented Apr 10, 2025

@maxprilutskiy is attempting to deploy a commit to the Zero Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Apr 10, 2025

Walkthrough

This 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 i18n.cache has been added to .gitignore. Additionally, numerous localization files across multiple languages have been updated with new translations and keys for email signatures, image handling, and measurement units, and a new internationalization configuration file (i18n.json) has been introduced. Hungarian support has also been added to the mail i18n configuration.

Changes

File(s) Change Summary
.github/workflows/ci.yml Updated workflow name to autofix.ci; simplified on section to only include pull_request; removed permissions section; renamed job from prettier to autofix; reorganized steps including separate Node.js setup and dependency installation.
.gitignore Added an entry to ignore i18n.cache.
apps/mail/i18n/config.ts
i18n.json
Added Hungarian language support in the constants; introduced a new i18n.json file defining locale configuration and schema reference.
apps/mail/locales/*.json Updated multiple localization files with comprehensive translation improvements, new keys for signatures, image handling prompts, and unit measurements; added a new Hungarian locale file.
.github/workflows/main.yml Introduced a new GitHub Actions workflow for the main branch with a job that includes localization steps.

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
Loading

Suggested labels

enhancement, High Priority

Suggested reviewers

  • needleXO
  • MrgSub

Poem

I hopped through lines of code today,
Adding keys in languages in a playful way.
CI workflows now dance at my command,
Localization steps guided by my rabbit hand.
With a twitch of my nose and a joyful cheer,
I celebrate these changes, spreading updates far and near!
🥕 Hop on, team—let’s make our code spring clear!


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2e576ad and ceccaf1.

📒 Files selected for processing (2)
  • .github/workflows/ci.yml (2 hunks)
  • .github/workflows/main.yml (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • .github/workflows/ci.yml
🔇 Additional comments (7)
.github/workflows/main.yml (7)

1-13: Workflow Trigger and Input Configuration Looks Good!
The workflow is configured to trigger on pushes to main and supports manual dispatch through workflow_dispatch with a clear and well-defined skip_localization boolean input. This aligns well with the PR objectives of modularizing translation checks.


14-17: Permissions Configuration is Correct.
The permissions set for contents and pull-requests as write are appropriate for this workflow's requirements. This ensures that the job can make necessary updates while adhering to the repository's security guidelines.


18-24: Job Initialization and Code Checkout are Properly Defined.
The job autofix is set to run on the latest Ubuntu environment and includes a checkout step using actions/checkout@v4, which is the recommended approach for obtaining a clean copy of the code.


25-29: Bun Setup is Configured Correctly.
The step using oven-sh/setup-bun@v1 with bun-version: latest correctly initializes the Bun environment. This is important for projects utilizing Bun, and the configuration is concise and clear.


30-34: Node.js Setup is Accurate and Up-to-Date.
Setting up Node.js with actions/setup-node@v4 and using the latest node version ensures the environment remains current, which is beneficial for dependency management and compatibility.


35-37: Dependency Installation Step is Straightforward.
The use of bun install for dependency management is appropriate given the use of Bun in the project. Consideration for caching dependencies might be explored in the future for speeding up CI if needed, but this setup is clear and functional for now.


38-43: Lingo.dev Localization Step Integrated Effectively.
The localization step is conditionally executed based on the skip_localization input, which provides flexibility during manual dispatch. Using the lingodotdev/lingo.dev@main action with an API key drawn securely from secrets aligns with the enhancement goals of real-time translation checks.


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

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)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🔭 Outside diff range comments (1)
apps/mail/locales/ru.json (1)

20-21: ⚠️ Potential issue

Translation 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

📥 Commits

Reviewing files that changed from the base of the PR and between b1e800c and 2e576ad.

⛔ Files ignored due to path filters (1)
  • i18n.lock is 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:

  1. Schema reference to Lingo.dev
  2. Source language (English) and all target languages including Hungarian
  3. 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} MB appears 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} MB is 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} MB is 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} MB is 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.

@MrgSub MrgSub changed the base branch from main to staging April 10, 2025 21:11
@maxprilutskiy maxprilutskiy closed this by deleting the head repository Apr 10, 2025
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.

2 participants