Skip to content

i18n - translations#18013

Merged
charlesBochet merged 2 commits intomainfrom
i18n
Feb 17, 2026
Merged

i18n - translations#18013
charlesBochet merged 2 commits intomainfrom
i18n

Conversation

@github-actions
Copy link
Contributor

Created by Github action

@charlesBochet charlesBochet merged commit 98482f3 into main Feb 17, 2026
9 checks passed
@charlesBochet charlesBochet deleted the i18n branch February 17, 2026 18:18
@github-actions
Copy link
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:4259:19)�[39m
�[90m    at successSteps (node:internal/deps/undici/undici:6882:27)�[39m
�[90m    at readAllBytes (node:internal/deps/undici/undici:5807:13)�[39m
�[90m    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)�[39m
danger-results://tmp/danger-results-985c38a0.json

Generated by 🚫 dangerJS against 0f024d5

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 17, 2026

Greptile Summary

This is an automated i18n PR generated by the i18n-push GitHub Actions workflow, triggered by the merge of PR #17776 ("New onboarding plan"). It propagates translation key changes extracted from ChooseYourPlanContent.tsx across all 31 supported locales and their compiled TypeScript catalogs.

Key changes:

  • Removes the obsolete "Change Plan" translation key (wRtBJP) from all 31 locale .po files and all 31 generated .ts catalogs — this key was replaced by more specific plan-specific labels in the source component
  • Adds two new translation keys to all .po files: "Organization plan" (zi/p7n) and "Pro plan" (r5je1s), both sourced from ChooseYourPlanContent.tsx
  • All non-English locales have empty msgstr "" for the new keys, which is expected — Crowdin will supply translations; the lingui fallbackLocales config ensures the English source text is displayed in the meantime
  • The compiled generated/*.ts files correctly reflect the English fallback for all untranslated locales (verified in fr-FR.ts, ja-JP.ts, de-DE.ts)
  • The 27 languages that previously had a translation for "Change Plan" will lose that translation temporarily; these will be re-translated via Crowdin
  • The aa-ER.po file (present in the filesystem but not included in this PR) retains the old "Change Plan" key — this is acceptable since aa-ER is not registered in APP_LOCALES and is not compiled or served to users

Confidence Score: 5/5

  • This PR is safe to merge — it is a fully automated, deterministic output of the lingui extract/compile pipeline with no manual changes.
  • All 62 files are auto-generated by the i18n-push GitHub Actions workflow. The changes are structurally consistent across all 31 locales: each .po file removes the same obsolete key and adds the same two new keys, and each generated .ts file reflects the compiled result with correct English fallbacks for untranslated strings. The lingui fallback configuration (fallbackLocales: { default: SOURCE_LOCALE }) ensures the app gracefully falls back to English for the new untranslated strings. No application logic, components, or non-i18n files were modified.
  • No files require special attention

Important Files Changed

Filename Overview
packages/twenty-front/src/locales/en.po Source locale updated: "Change Plan" key (wRtBJP) removed, "Organization plan" (zi/p7n) and "Pro plan" (r5je1s) keys added, matching the new strings in ChooseYourPlanContent.tsx
packages/twenty-front/src/locales/fr-FR.po French locale updated: old "Change Plan" translation "Changer de plan" removed; new "Organization plan" and "Pro plan" keys added with empty msgstr, awaiting Crowdin translation
packages/twenty-front/src/locales/generated/en.ts Generated English TypeScript catalog: minified JSON updated to reflect new keys "zi/p7n" (Organization plan) and "r5je1s" (Pro plan), old "wRtBJP" (Change Plan) removed
packages/twenty-front/src/locales/generated/fr-FR.ts Generated French TypeScript catalog: updated with new translation keys; untranslated strings fall back to English ("Organization plan", "Pro plan") per lingui fallback config
packages/twenty-front/src/locales/pseudo-en.po Pseudo-English locale (used for i18n testing) correctly reflects the same changes - old key removed, new keys added with empty msgstr as expected for a pseudo locale
packages/twenty-front/src/locales/ja-JP.po Japanese locale: previous "Change Plan" translation "プランを変更" removed; new keys added with empty msgstr, consistent with all other non-English locales

Flowchart

flowchart TD
    A[New onboarding PR merged to main\n'New onboarding plan' #17776] --> B[i18n-push workflow triggered\non push to main]
    B --> C[Extract translations\nnpx nx run twenty-front:lingui:extract]
    C --> D[.po files updated\n- Remove 'Change Plan' key wRtBJP\n- Add 'Organization plan' key zi/p7n\n- Add 'Pro plan' key r5je1s]
    D --> E[Compile translations\nnpx nx run twenty-front:lingui:compile]
    E --> F[generated/*.ts files updated\n- English values for new keys\n- English fallback for untranslated locales]
    F --> G[Commits pushed to i18n branch\n1. 'chore: extract translations'\n2. 'chore: compile translations']
    G --> H[PR #18013 opened by github-actions\n'i18n - translations']
    H --> I{Review & Merge}
    I --> J[New strings uploaded to Crowdin]
    J --> K[Translators provide translations\nfor 28 languages]
    K --> L[i18n-pull workflow\npulls approved translations]
    L --> M[Next automated PR\nupdates .po msgstr values]
Loading

Last reviewed commit: 0f024d5

Copy link
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

Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

15 issues found across 62 files

Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="packages/twenty-front/src/locales/pt-BR.po">

<violation number="1" location="packages/twenty-front/src/locales/pt-BR.po:9558">
P2: New pt-BR strings were added with empty msgstr values, so these labels will show as blank or fall back to English. Provide Portuguese translations for the newly added msgids before shipping.</violation>
</file>

<file name="packages/twenty-front/src/locales/pt-PT.po">

<violation number="1" location="packages/twenty-front/src/locales/pt-PT.po:9558">
P2: Provide a Portuguese translation for the new "Pro plan" label; leaving msgstr empty will show the fallback text in the pt-PT UI.</violation>
</file>

<file name="packages/twenty-front/src/locales/es-ES.po">

<violation number="1" location="packages/twenty-front/src/locales/es-ES.po:9558">
P2: Provide the Spanish translation for “Pro plan” so it doesn’t render as an untranslated string in es-ES.</violation>
</file>

<file name="packages/twenty-front/src/locales/zh-CN.po">

<violation number="1" location="packages/twenty-front/src/locales/zh-CN.po:9558">
P2: Provide a Chinese translation for "Organization plan"; leaving msgstr empty results in an untranslated label in the zh-CN locale.</violation>
</file>

<file name="packages/twenty-front/src/locales/ca-ES.po">

<violation number="1" location="packages/twenty-front/src/locales/ca-ES.po:9558">
P2: Provide a Catalan translation for the new "Organization plan" string so the locale doesn’t display a blank value.</violation>
</file>

<file name="packages/twenty-front/src/locales/ko-KR.po">

<violation number="1" location="packages/twenty-front/src/locales/ko-KR.po:9558">
P2: Provide a Korean translation for the newly added "Organization plan" string so it doesn’t render in English.</violation>
</file>

<file name="packages/twenty-front/src/locales/sv-SE.po">

<violation number="1" location="packages/twenty-front/src/locales/sv-SE.po:9560">
P3: Provide a Swedish translation for this new onboarding plan label; leaving msgstr empty causes the UI to display English for sv-SE.</violation>
</file>

<file name="packages/twenty-front/src/locales/zh-TW.po">

<violation number="1" location="packages/twenty-front/src/locales/zh-TW.po:9558">
P3: Provide a zh-TW translation for the new "Organization plan" string to avoid falling back to English in the UI.</violation>
</file>

<file name="packages/twenty-front/src/locales/nl-NL.po">

<violation number="1" location="packages/twenty-front/src/locales/nl-NL.po:9558">
P2: Provide a Dutch translation for the new "Organization plan" string to avoid English fallback in the nl-NL locale.</violation>
</file>

<file name="packages/twenty-front/src/locales/de-DE.po">

<violation number="1" location="packages/twenty-front/src/locales/de-DE.po:9558">
P2: Provide the German translation for this new string instead of leaving msgstr empty.</violation>
</file>

<file name="packages/twenty-front/src/locales/tr-TR.po">

<violation number="1" location="packages/twenty-front/src/locales/tr-TR.po:9558">
P3: Provide a Turkish translation for the new "Organization plan" label so the UI doesn’t fall back to English.</violation>
</file>

<file name="packages/twenty-front/src/locales/vi-VN.po">

<violation number="1" location="packages/twenty-front/src/locales/vi-VN.po:9558">
P2: The new "Organization plan" string is added without a Vietnamese translation, so the UI will display the fallback/empty text in vi-VN.</violation>
</file>

<file name="packages/twenty-front/src/locales/it-IT.po">

<violation number="1" location="packages/twenty-front/src/locales/it-IT.po:9558">
P3: Provide an Italian translation for the new "Organization plan" label; leaving msgstr empty results in a missing translation at runtime.</violation>
</file>

<file name="packages/twenty-front/src/locales/fr-FR.po">

<violation number="1" location="packages/twenty-front/src/locales/fr-FR.po:9558">
P3: Provide the French translation for the new “Organization plan” label so the French locale doesn’t fall back to English.</violation>
</file>

<file name="packages/twenty-front/src/locales/el-GR.po">

<violation number="1" location="packages/twenty-front/src/locales/el-GR.po:9558">
P3: Provide a Greek translation for this new onboarding label; leaving msgstr empty will show the English text in the el-GR locale.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

#. js-lingui-id: zi/p7n
#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
msgid "Organization plan"
msgstr ""
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 17, 2026

Choose a reason for hiding this comment

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

P2: New pt-BR strings were added with empty msgstr values, so these labels will show as blank or fall back to English. Provide Portuguese translations for the newly added msgids before shipping.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/locales/pt-BR.po, line 9558:

<comment>New pt-BR strings were added with empty msgstr values, so these labels will show as blank or fall back to English. Provide Portuguese translations for the newly added msgids before shipping.</comment>

<file context>
@@ -9557,6 +9552,11 @@ msgstr ""
+#. js-lingui-id: zi/p7n
+#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
+msgid "Organization plan"
+msgstr ""
+
 #. js-lingui-id: nV6twc
</file context>
Fix with Cubic

#. js-lingui-id: zi/p7n
#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
msgid "Organization plan"
msgstr ""
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 17, 2026

Choose a reason for hiding this comment

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

P2: Provide a Portuguese translation for the new "Pro plan" label; leaving msgstr empty will show the fallback text in the pt-PT UI.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/locales/pt-PT.po, line 9558:

<comment>Provide a Portuguese translation for the new "Pro plan" label; leaving msgstr empty will show the fallback text in the pt-PT UI.</comment>

<file context>
@@ -9557,6 +9552,11 @@ msgstr ""
+#. js-lingui-id: zi/p7n
+#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
+msgid "Organization plan"
+msgstr ""
+
 #. js-lingui-id: nV6twc
</file context>
Suggested change
msgstr ""
msgstr "Plano Pro"
Fix with Cubic

#. js-lingui-id: zi/p7n
#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
msgid "Organization plan"
msgstr ""
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 17, 2026

Choose a reason for hiding this comment

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

P2: Provide the Spanish translation for “Pro plan” so it doesn’t render as an untranslated string in es-ES.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/locales/es-ES.po, line 9558:

<comment>Provide the Spanish translation for “Pro plan” so it doesn’t render as an untranslated string in es-ES.</comment>

<file context>
@@ -9557,6 +9552,11 @@ msgstr "Lista ordenada"
+#. js-lingui-id: zi/p7n
+#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
+msgid "Organization plan"
+msgstr ""
+
 #. js-lingui-id: nV6twc
</file context>
Suggested change
msgstr ""
msgstr "Plan Pro"
Fix with Cubic

#. js-lingui-id: zi/p7n
#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
msgid "Organization plan"
msgstr ""
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 17, 2026

Choose a reason for hiding this comment

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

P2: Provide a Chinese translation for "Organization plan"; leaving msgstr empty results in an untranslated label in the zh-CN locale.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/locales/zh-CN.po, line 9558:

<comment>Provide a Chinese translation for "Organization plan"; leaving msgstr empty results in an untranslated label in the zh-CN locale.</comment>

<file context>
@@ -9557,6 +9552,11 @@ msgstr ""
+#. js-lingui-id: zi/p7n
+#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
+msgid "Organization plan"
+msgstr ""
+
 #. js-lingui-id: nV6twc
</file context>
Suggested change
msgstr ""
msgstr "组织计划"
Fix with Cubic

#. js-lingui-id: zi/p7n
#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
msgid "Organization plan"
msgstr ""
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 17, 2026

Choose a reason for hiding this comment

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

P2: Provide a Catalan translation for the new "Organization plan" string so the locale doesn’t display a blank value.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/locales/ca-ES.po, line 9558:

<comment>Provide a Catalan translation for the new "Organization plan" string so the locale doesn’t display a blank value.</comment>

<file context>
@@ -9557,6 +9552,11 @@ msgstr ""
+#. js-lingui-id: zi/p7n
+#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
+msgid "Organization plan"
+msgstr ""
+
 #. js-lingui-id: nV6twc
</file context>
Suggested change
msgstr ""
msgstr "Pla d'organització"
Fix with Cubic

#. js-lingui-id: zi/p7n
#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
msgid "Organization plan"
msgstr ""
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 17, 2026

Choose a reason for hiding this comment

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

P3: Provide a zh-TW translation for the new "Organization plan" string to avoid falling back to English in the UI.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/locales/zh-TW.po, line 9558:

<comment>Provide a zh-TW translation for the new "Organization plan" string to avoid falling back to English in the UI.</comment>

<file context>
@@ -9557,6 +9552,11 @@ msgstr ""
+#. js-lingui-id: zi/p7n
+#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
+msgid "Organization plan"
+msgstr ""
+
 #. js-lingui-id: nV6twc
</file context>
Fix with Cubic

#. js-lingui-id: zi/p7n
#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
msgid "Organization plan"
msgstr ""
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 17, 2026

Choose a reason for hiding this comment

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

P3: Provide a Turkish translation for the new "Organization plan" label so the UI doesn’t fall back to English.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/locales/tr-TR.po, line 9558:

<comment>Provide a Turkish translation for the new "Organization plan" label so the UI doesn’t fall back to English.</comment>

<file context>
@@ -9557,6 +9552,11 @@ msgstr ""
+#. js-lingui-id: zi/p7n
+#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
+msgid "Organization plan"
+msgstr ""
+
 #. js-lingui-id: nV6twc
</file context>
Fix with Cubic

#. js-lingui-id: zi/p7n
#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
msgid "Organization plan"
msgstr ""
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 17, 2026

Choose a reason for hiding this comment

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

P3: Provide an Italian translation for the new "Organization plan" label; leaving msgstr empty results in a missing translation at runtime.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/locales/it-IT.po, line 9558:

<comment>Provide an Italian translation for the new "Organization plan" label; leaving msgstr empty results in a missing translation at runtime.</comment>

<file context>
@@ -9557,6 +9552,11 @@ msgstr ""
+#. js-lingui-id: zi/p7n
+#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
+msgid "Organization plan"
+msgstr ""
+
 #. js-lingui-id: nV6twc
</file context>
Fix with Cubic

#. js-lingui-id: zi/p7n
#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
msgid "Organization plan"
msgstr ""
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 17, 2026

Choose a reason for hiding this comment

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

P3: Provide the French translation for the new “Organization plan” label so the French locale doesn’t fall back to English.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/locales/fr-FR.po, line 9558:

<comment>Provide the French translation for the new “Organization plan” label so the French locale doesn’t fall back to English.</comment>

<file context>
@@ -9557,6 +9552,11 @@ msgstr ""
+#. js-lingui-id: zi/p7n
+#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
+msgid "Organization plan"
+msgstr ""
+
 #. js-lingui-id: nV6twc
</file context>
Fix with Cubic

#. js-lingui-id: zi/p7n
#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
msgid "Organization plan"
msgstr ""
Copy link
Contributor

@cubic-dev-ai cubic-dev-ai bot Feb 17, 2026

Choose a reason for hiding this comment

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

P3: Provide a Greek translation for this new onboarding label; leaving msgstr empty will show the English text in the el-GR locale.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At packages/twenty-front/src/locales/el-GR.po, line 9558:

<comment>Provide a Greek translation for this new onboarding label; leaving msgstr empty will show the English text in the el-GR locale.</comment>

<file context>
@@ -9557,6 +9552,11 @@ msgstr ""
+#. js-lingui-id: zi/p7n
+#: src/pages/onboarding/internal/ChooseYourPlanContent.tsx
+msgid "Organization plan"
+msgstr ""
+
 #. js-lingui-id: nV6twc
</file context>
Fix with Cubic

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