Skip to content

Comments

i18n#437

Merged
hiheyhello123 merged 36 commits intostagingfrom
crowdin
Mar 14, 2025
Merged

i18n#437
hiheyhello123 merged 36 commits intostagingfrom
crowdin

Conversation

@hiheyhello123
Copy link
Contributor

@hiheyhello123 hiheyhello123 commented Mar 14, 2025

Summary by CodeRabbit

  • New Features

    • Users now receive an instant confirmation message when changing the interface language.
    • Expanded localization support with new languages including Arabic, German, and Portuguese, along with updates to existing translations for a more accessible experience.
  • Chores

    • Improved language file loading to ensure accurate localization based on user settings.
    • Integrated translation management to streamline and maintain ongoing translation updates.

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 (2)
apps/mail/locales/fr.json (2)

107-128: 🛠️ Refactor suggestion

⚠️ Potential issue

Duplicate Keys in "threadDisplay":
There are two sets of definitions for the same keys – the original French translations (lines 107–117) and the new Turkish translations (lines 118–128). This duplication not only causes JSON parsing errors (as indicated by the static analysis and pipeline failure) but also means that only the latter values will be used. If the intention is to replace French content with Turkish text, please remove the older French entries (lines 107–117) entirely.

Diff suggestion:

-      "exitFullscreen": "Quitter le mode plein écran",
-      "enterFullscreen": "Passer en mode plein écran",
-      "archive": "Archiver",
-      "reply": "Répondre",
-      "moreOptions": "Plus d'options",
-      "moveToSpam": "Déplacer vers le spam",
-      "replyAll": "Répondre à tous",
-      "forward": "Transférer",
-      "markAsUnread": "Marquer comme non lu",
-      "addLabel": "Ajouter un label",
-      "muteThread": "Mettre en sourdine",
🧰 Tools
🪛 Biome (1.9.4)

[error] 119-119: expected , but instead found "exitFullscreen"

Remove "exitFullscreen"

(parse)


[error] 107-108: The key exitFullscreen was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 108-109: The key enterFullscreen was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 110-111: The key archive was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 111-111: The key reply was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 112-112: The key moreOptions was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 113-113: The key moveToSpam was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 114-114: The key replyAll was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 115-115: The key forward was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 116-116: The key markAsUnread was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 117-117: The key addLabel was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 118-118: The key muteThread was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)

🪛 GitHub Actions: check-pull-requests

[error] 118-118: SyntaxError: Unexpected token, expected ','


160-177: 🛠️ Refactor suggestion

⚠️ Potential issue

Resolve Duplicate Keys in "settings → general":
In the "general" section of "settings", there are duplicate key definitions. The original French translations (lines 160–168) are immediately followed by Turkish translations (lines 169–177) for keys such as "title", "description", "language", "timezone", "dynamicContent", "externalImages", and "languageChangedTo". To prevent JSON duplicate key issues and consolidate the translations, remove the older French entries (lines 160–168) if Turkish is the intended language for this locale file.

Diff suggestion:

-        "title": "Paramètres généraux",
-        "description": "Gérez les paramètres de votre langue et vos préférences de visualisation des emails.",
-        "language": "Langue",
-        "timezone": "Fuseau horaire",
-        "dynamicContent": "Contenu dynamique",
-        "dynamicContentDescription": "Autoriser les emails à afficher du contenu dynamique.",
-        "externalImages": "Afficher les images externes",
-        "externalImagesDescription": "Autoriser les emails à afficher des images provenant de sources externes.",
-        "languageChangedTo": "Langue changée en {language}",
🧰 Tools
🪛 Biome (1.9.4)

[error] 171-171: expected , but instead found "title"

Remove "title"

(parse)


[error] 161-161: The key title was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 161-161: The key description was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 164-164: The key language was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 165-165: The key timezone was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 165-165: The key dynamicContent was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 166-166: The key dynamicContentDescription was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 167-167: The key externalImages was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 167-168: The key externalImagesDescription was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 170-170: The key languageChangedTo was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)

🧹 Nitpick comments (2)
apps/mail/locales/fr.json (2)

77-82: Consistency in "mailCategories" Translations:
While most values have been updated to Turkish (e.g., "Birincil", "Önemli", "Kişisel", etc.), the key "social" still has the value "Social". For consistency, please consider updating it to the Turkish equivalent (for example, "Sosyal").


237-244: Mixed Language in "createEmail":
In the "createEmail" section, most keys have been updated to Turkish (e.g., "Ekler", "Eklemek için dosyaları bırakın", "Mesajınızı buraya yazın…") but the keys "emailSentSuccessfully" and "failedToSendEmail" are still in English. To ensure a consistent user experience, please update these messages to Turkish (for example, "E-posta başarıyla gönderildi" and "E-posta gönderilemedi. Lütfen tekrar deneyin.").

Diff suggestion:

-      "emailSentSuccessfully": "Email sent successfully",
-      "failedToSendEmail": "Failed to send email. Please try again."
+      "emailSentSuccessfully": "E-posta başarıyla gönderildi",
+      "failedToSendEmail": "E-posta gönderilemedi. Lütfen tekrar deneyin."
📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 7e4c518 and 5350e04.

📒 Files selected for processing (1)
  • apps/mail/locales/fr.json (4 hunks)
🧰 Additional context used
🪛 Biome (1.9.4)
apps/mail/locales/fr.json

[error] 119-119: expected , but instead found "exitFullscreen"

Remove "exitFullscreen"

(parse)


[error] 118-118: The key muteThread was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 171-171: expected , but instead found "title"

Remove "title"

(parse)


[error] 167-167: The key externalImages was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 167-168: The key externalImagesDescription was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)


[error] 170-170: The key languageChangedTo was already declared.

This where a duplicated key was declared again.

If a key is defined multiple times, only the last definition takes effect. Previous definitions are ignored.

(lint/suspicious/noDuplicateObjectKeys)

🪛 GitHub Actions: check-pull-requests
apps/mail/locales/fr.json

[error] 118-118: SyntaxError: Unexpected token, expected ','

@hiheyhello123 hiheyhello123 marked this pull request as draft March 14, 2025 00:39
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.

3 participants