Skip to content

i18n - translations#16172

Merged
FelixMalfait merged 2 commits intomainfrom
i18n
Nov 28, 2025
Merged

i18n - translations#16172
FelixMalfait merged 2 commits intomainfrom
i18n

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Created by Github action

Comment on lines 8541 to 8546
msgid "Some folders"
msgstr "Einige Ordner"

#. js-lingui-id: yHwG3y
#: src/modules/command-menu/pages/page-layout/components/ChartTypeSelectionSection.tsx
msgid "Soon"
msgstr "Bald"

#. js-lingui-id: wTrpxV
#: src/modules/error-handler/components/AppRootErrorFallback.tsx
msgid "Sorry, something went wrong"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Bug: Malformed msgstr entries in ru-RU.po cause corrupted JSON-like strings to be displayed in the UI for Russian users.
Severity: HIGH | Confidence: High

🔍 Detailed Analysis

In the Russian locale file (packages/twenty-front/src/locales/ru-RU.po), multiple translation entries contain severely malformed msgstr values with JSON-like structures instead of proper translations. For example, : Future has msgstr " \":[\"Будущее\"]" instead of ": Будущее". When the Lingui i18n library compiles these .po files, Russian users will see corrupted JSON-like strings displayed literally in the UI instead of correct Russian text for filter operations, directly degrading the user experience.

💡 Suggested Fix

Correct the malformed msgstr entries in ru-RU.po to contain proper Russian translations, removing the JSON-like structures.

🤖 Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: packages/twenty-front/src/locales/de-DE.po#L8541-L8546

Potential issue: In the Russian locale file
(`packages/twenty-front/src/locales/ru-RU.po`), multiple translation entries contain
severely malformed `msgstr` values with JSON-like structures instead of proper
translations. For example, `: Future` has `msgstr " \":[\"Будущее\"]"` instead of `":
Будущее"`. When the Lingui i18n library compiles these `.po` files, Russian users will
see corrupted JSON-like strings displayed literally in the UI instead of correct Russian
text for filter operations, directly degrading the user experience.

Did we get this right? 👍 / 👎 to inform future reviews.
Reference ID: 4226656

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Nov 28, 2025

Greptile Overview

Greptile Summary

This PR is an automated translation maintenance update that removes an unused translation string across all supported locales.

Key Changes

  • Removed the "Soon" translation (lingui ID: yHwG3y) from all 31 .po files (source translation files)
  • Updated all 31 corresponding generated .ts files with recompiled translation data
  • The translation was previously referenced in ChartTypeSelectionSection.tsx but is no longer in use

Technical Details

  • All changes follow the standard i18n workflow: extract translations from source → update .po files → compile to .ts files
  • The generated TypeScript files contain minified JSON with all translation strings
  • Changes are consistent across all language files (Afrikaans, Arabic, Catalan, Czech, Danish, German, Greek, English, Spanish, Finnish, French, Hebrew, Hungarian, Italian, Japanese, Korean, Dutch, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Swedish, Turkish, Ukrainian, Vietnamese, Chinese)

Assessment

This is a routine maintenance PR generated by the automated translation workflow. The removal of unused translation strings is a best practice that keeps the translation files clean and maintainable.

Confidence Score: 5/5

  • This PR is completely safe to merge with zero risk
  • This is an automated translation maintenance PR that removes unused translation strings. The changes are mechanical, consistent across all files, follow the established i18n workflow, and only remove unused code. There are no logical changes, no new functionality, and no potential for runtime errors.
  • No files require special attention

Important Files Changed

File Analysis

Filename Score Overview
packages/twenty-front/src/locales/en.po 5/5 Removed unused "Soon" translation string (id: yHwG3y) that was previously referenced in ChartTypeSelectionSection
packages/twenty-front/src/locales/fr-FR.po 5/5 Removed French translation "Bientôt" for unused "Soon" string (id: yHwG3y)
packages/twenty-front/src/locales/de-DE.po 5/5 Removed German translation "Bald" for unused "Soon" string (id: yHwG3y)
packages/twenty-front/src/locales/generated/en.ts 5/5 Auto-generated TypeScript file updated to reflect removal of "Soon" translation
packages/twenty-front/src/locales/es-ES.po 5/5 Removed Spanish translation for unused "Soon" string (id: yHwG3y)
packages/twenty-front/src/locales/ru-RU.po 5/5 Removed Russian translation for unused "Soon" string (id: yHwG3y)

Sequence Diagram

sequenceDiagram
    participant Dev as Developer/GitHub Action
    participant Source as Source Code
    participant Extract as Translation Extractor
    participant PO as .po Files (31 locales)
    participant Compile as Translation Compiler
    participant TS as Generated .ts Files

    Dev->>Source: Remove unused "Soon" string from ChartTypeSelectionSection
    Source->>Extract: Run extraction command
    Extract->>Extract: Parse source code for t() calls
    Extract->>Extract: Identify translation keys
    Extract->>PO: Update all .po files
    Note over PO: Remove "Soon" translation<br/>(id: yHwG3y) from all 31 locales
    PO->>Compile: Run compilation command
    Compile->>Compile: Parse .po files
    Compile->>TS: Generate TypeScript modules
    Note over TS: Update 31 generated .ts files<br/>with minified JSON
    TS->>Dev: Ready for commit
Loading

Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

62 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@FelixMalfait FelixMalfait merged commit 5cea3d4 into main Nov 28, 2025
8 checks passed
@FelixMalfait FelixMalfait deleted the i18n branch November 28, 2025 11:01
@github-actions
Copy link
Copy Markdown
Contributor Author

Fails
🚫

node failed.

Log

Details
�[31mError: �[39m SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
�[90m    at parseJSONFromBytes (node:internal/deps/undici/undici:6433:19)�[39m
�[90m    at successSteps (node:internal/deps/undici/undici:6414:27)�[39m
�[90m    at readAllBytes (node:internal/deps/undici/undici:5380:13)�[39m
�[90m    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)�[39m
danger-results://tmp/danger-results-218639b8.json

Generated by 🚫 dangerJS against 7762b31

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