Skip to content

[WEB-4432]fix: workspace analytics translation#7330

Merged
sriramveeraghanta merged 1 commit intopreviewfrom
fix-analytics_translation
Jul 3, 2025
Merged

[WEB-4432]fix: workspace analytics translation#7330
sriramveeraghanta merged 1 commit intopreviewfrom
fix-analytics_translation

Conversation

@vamsikrishnamathala
Copy link
Copy Markdown
Member

@vamsikrishnamathala vamsikrishnamathala commented Jul 3, 2025

Description

This update adds the missing translations for Workspace analytics empty state page.

Type of Change

  • [ x Bug fix (non-breaking change which fixes an issue)
  • Feature (non-breaking change which adds functionality)
  • Improvement (change that would cause existing functionality to not work as expected)
  • Code refactoring
  • Performance improvements
  • Documentation update

Summary by CodeRabbit

  • New Features
    • Added a new "general" empty state message for workspace analytics, including a title, description, and a primary button with additional guidance, now available in all supported languages. This enhances the analytics experience by providing localized, informative content for users when no analytics data is present.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Jul 3, 2025

Walkthrough

This update adds a new "general" empty state section for workspace analytics across all supported locales. Each locale's translations JSON now includes a title, description, and a primary button with nested comic information under workspace_analytics.empty_state.general. No existing translation keys were changed or removed.

Changes

Files (grouped by similarity) Change Summary
packages/i18n/src/locales/cs/translations.json
.../de/translations.json
.../en/translations.json
.../es/translations.json
.../fr/translations.json
.../id/translations.json
.../it/translations.json
.../ja/translations.json
.../ko/translations.json
.../pl/translations.json
.../pt-BR/translations.json
.../ro/translations.json
.../ru/translations.json
.../sk/translations.json
.../tr-TR/translations.json
.../ua/translations.json
.../vi-VN/translations.json
.../zh-CN/translations.json
.../zh-TW/translations.json
Added a new workspace_analytics.empty_state.general section with title, description, primary button, and comic fields to each locale's translations JSON. No existing keys were modified or removed.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant UI
    participant i18n
    User->>UI: Navigates to Workspace Analytics (empty state)
    UI->>i18n: Request "workspace_analytics.empty_state.general" translations
    i18n-->>UI: Returns localized title, description, button, and comic
    UI-->>User: Displays localized empty state message and comic
Loading

Possibly related PRs

Suggested labels

🐛bug, 🌐frontend, ready_to_merge

Poem

In every tongue, a message new,
For analytics, clear and true.
Empty states now speak with cheer,
“Start your journey, progress near!”
With comics and buttons, the guidance flows,
Across the globe, translation grows.
🐇✨


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 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.
    • Explain this complex logic.
    • 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 explain this code block.
    • @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 explain its main purpose.
    • @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.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

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 generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @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.

@makeplane
Copy link
Copy Markdown

makeplane bot commented Jul 3, 2025

Pull Request Linked with Plane Work Items

Comment Automatically Generated by Plane

@sriramveeraghanta sriramveeraghanta merged commit 7d141f2 into preview Jul 3, 2025
4 of 6 checks passed
@sriramveeraghanta sriramveeraghanta deleted the fix-analytics_translation branch July 3, 2025 08:42
Copy link
Copy Markdown
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: 2

🧹 Nitpick comments (18)
packages/i18n/src/locales/es/translations.json (2)

1356-1356: Localize “Analytics” to match the rest of the Spanish UI
En el resto del archivo «Analytics» se traduce como «Análisis». Mantener la misma traducción evita que el usuario vea mezclas de idiomas.

-            "title": "Analytics funciona mejor con Ciclos + Módulos",
+            "title": "Los análisis funcionan mejor con Ciclos + Módulos",

1352-1352: Pulir la redacción para mayor naturalidad
La expresión «alcance versus demanda» suena literal. «Alcance frente a la demanda» o «alcance versus la demanda» resulta más natural en español.

-        "description": "Ve alcance versus demanda, estimaciones y crecimiento del alcance. Obtén rendimiento por miembros del equipo y equipos, y asegúrate de que tu proyecto se ejecute a tiempo.",
+        "description": "Consulta el alcance frente a la demanda, las estimaciones y el crecimiento del alcance. Obtén el rendimiento por miembros y equipos y asegúrate de que tu proyecto se ejecute a tiempo.",
packages/i18n/src/locales/tr-TR/translations.json (1)

1351-1359: CTA wording & minor grammar – keep phrasing consistent with the rest of the locale

Across other empty-state CTAs (e.g. workspace_dashboard, workspace_projects) the Turkish copy uses “İlk projenizi oluşturun”.
Here it switches to “İlk projenizi başlatın”, which slightly changes intent and breaks tone consistency.
While not wrong, staying uniform helps users recognise the same call-to-action.

A couple of micro-copy tweaks would also tighten the sentence flow:

-        "title": "İlerlemeyi, iş yüklerini ve tahsisleri takip edin. Eğilimleri tespit edin, engelleri kaldırın ve işi hızlandırın",
-        "description": "Kapsam ile talep, tahminler ve kapsam genişlemesini görün. Takım üyeleri ve takımlar bazında performans alın ve projenizin zamanında çalıştığından emin olun.",
+        "title": "İlerlemeyi, iş yüklerini ve tahsisleri takip edin. Eğilimleri tespit edin, engelleri kaldırın ve işi hızlandırın",
+        "description": "Kapsam, talep, tahminler ve kapsam genişlemesini görüntüleyin. Takım üyeleri ve takımlar bazında performansı izleyin ve projenizin zamanında ilerlediğinden emin olun.",
...
-          "text": "İlk projenizi başlatın",
+          "text": "İlk projenizi oluşturun",

These keep terminology aligned (“görüntüleyin / izleyin”) and match the CTA used elsewhere.

packages/i18n/src/locales/ja/translations.json (1)

1347-1357: Polish the newly-added copy for natural Japanese flow

The literal JP rendering splits sentences with “する。” which feels abrupt in UI text and omits a clear call-to-action ending. A tiny wording tweak smooths the cadence and keeps the motivational tone aligned with the rest of the product copy.

-        "title": "進捗、ワークロード、割り当てを追跡する。傾向を発見し、障害を除去し、作業をより迅速に進める",
+        "title": "進捗、ワークロード、割り当てを追跡し、傾向を発見して障害を取り除き、より迅速に作業を進めましょう",
-        "description": "範囲と需要、見積もり、スコープクリープを確認する。チームメンバーとチームのパフォーマンスを把握し、プロジェクトが時間通りに実行されることを確実にする。",
+        "description": "範囲と需要、見積もり、スコープクリープを把握し、チームやメンバーのパフォーマンスを理解して、プロジェクトを時間通りに進行させましょう。",

No functional impact—purely textual—so feel free to ignore if you prefer the existing style.

packages/i18n/src/locales/fr/translations.json (1)

1348-1356: Refine French phrasing for a more natural tone

A few wording tweaks would read more fluently to native speakers:

-        "title": "Suivez les progrès, les charges de travail et les allocations. Identifiez les tendances, supprimez les blocages et travaillez plus rapidement"
+        "title": "Suivez les progrès, les charges de travail et les affectations. Identifiez les tendances, supprimez les obstacles et accélérez votre rythme de travail"
...
-            "title": "L'analytics fonctionne mieux avec les Cycles + Modules"
+            "title": "Les analyses fonctionnent mieux avec les Cycles + Modules"

– “allocations” → “affectations” (courant pour « work allocations »).
– “blocages” → “obstacles” (plus idiomatique ici).
– “L'analytics” sounds anglicised; “Les analyses” is the usual French form.

Purely stylistic – feel free to keep as-is if you have established copy guidelines favouring the current wording.

packages/i18n/src/locales/vi-VN/translations.json (1)

1348-1357: Prefer the established term “mục công việc” over “vấn đề” for consistency

Throughout the Vietnamese locale we consistently translate “issue(s)” as “mục công việc”.
Using “vấn đề” in the newly-added comic description breaks that convention and may confuse users.

-            "description": "Đầu tiên, giới hạn thời gian các vấn đề của bạn trong Chu kỳ và, nếu có thể, nhóm các vấn đề kéo dài hơn một chu kỳ vào Mô-đun. Kiểm tra cả hai trong điều hướng bên trái."
+            "description": "Đầu tiên, giới hạn thời gian các mục công việc của bạn trong Chu kỳ và, nếu có thể, nhóm các mục công việc kéo dài hơn một chu kỳ vào Mô-đun. Kiểm tra cả hai trong điều hướng bên trái."

A quick sweep over the file shows “mục công việc” is already the dominant translation, so applying this tiny change keeps wording uniform across the UI.
No other keys are affected.

packages/i18n/src/locales/pt-BR/translations.json (1)

1350-1358: Prefer "Análises" over "Analytics" & minor PT-BR polish for consistency

Everywhere else in this locale file we translate “analytics” as “Análises”. Keeping the wording consistent avoids mixed-language UI and looks more professional. While touching the string, tighten up the Portuguese phrasing (“e” instead of “+”, add article, and use “barra de navegação à esquerda”).

-            "title": "Analytics funciona melhor com Ciclos + Módulos",
-            "description": "Primeiro, defina um tempo limite para seus itens de trabalho em Ciclos e, se possível, agrupe itens que abrangem mais de um ciclo em Módulos. Confira ambos na navegação esquerda."
+            "title": "As análises funcionam melhor com Ciclos e Módulos",
+            "description": "Primeiro, defina um prazo para seus itens de trabalho em Ciclos e, se possível, agrupe os que abrangem mais de um ciclo em Módulos.  Confira ambos na barra de navegação à esquerda."

(Optional) Review other locales to ensure the comic title/description follow the same consistency rules.

packages/i18n/src/locales/ru/translations.json (1)

1349-1357: Align wording & tone with existing RU locale for consistency

The newly-added block is perfectly structured JSON-wise, but several strings diverge from the tone used elsewhere in the Russian locale:

-        "title": "Отслеживайте прогресс, рабочие нагрузки и распределения. Выявляйте тренды, устраняйте блокировки и ускоряйте работу",
-        "description": "Смотрите объём versus спрос, оценки и расширение объёма. Получайте производительность по членам команды и командам, и убеждайтесь, что ваш проект выполняется в срок.",
+        "title": "Отслеживайте прогресс, рабочие нагрузки и распределение. Выявляйте тренды, убирайте блокеры и ускоряйте работу",
+        "description": "Сравнивайте объём и спрос, оценки и рост объёма. Получайте данные о производительности участников и команд и убедитесь, что ваш проект идёт по плану.",
...
-          "text": "Начать ваш первый проект",
+          "text": "Создать первый проект",
...
-            "title": "Аналитика работает лучше всего с Циклами + Модулями",
-            "description": "Сначала ограничьте по времени ваши задачи в Циклах и, если можете, сгруппируйте задачи, которые длятся больше одного цикла, в Модули. Проверьте оба в левой навигации."
+            "title": "Максимальная аналитика — с циклами и модулями",
+            "description": "Сначала ограничьте задачи по времени в циклах, а более долгие сгруппируйте в модули. Оба раздела — в левой навигации."

Rationale:
• “Создать первый проект” is already used in other empty-state CTAs (e.g., workspace_dashboard) — keeps UX wording uniform.
• Replaced “versus” with a Russian phrase; removed extra comma before “и убедитесь”.
• Minor stylistic fixes (“блокировки” → “блокеры”, “распределения” → “распределение”) to match prevalent terminology.

No functional impact; pure copy update.

packages/i18n/src/locales/it/translations.json (1)

1347-1354: Consider localizing the remaining English technical phrases.

Inside the newly-added Italian copy a few English expressions slipped through:

  • “scope creep” → could be “espansione dell’ambito”
  • “Analytics funziona meglio…” → “Le analisi funzionano meglio…”

Unless you intentionally keep these in English for brand consistency, translating them improves linguistic coherence and searchability within the UI.

packages/i18n/src/locales/ro/translations.json (1)

1346-1356: Refine the new Romanian copy for natural flow

A few nouns and prepositions feel literal and slightly awkward. Tightening the phrasing keeps the marketing tone and reads more naturally:

-        "description": "Vezi domeniul versus cererea, estimările și extinderea domeniului. Obține performanțe pe membrii echipei și echipe, și asigură-te că proiectul tău rulează la timp.",
+        "description": "Vezi domeniul în raport cu cererea, estimările și extinderea domeniului. Analizează performanța membrilor și a echipelor și asigură-te că proiectul tău rămâne pe drumul cel bun.",

• „domeniul în raport cu cererea” este mai uzual decât „domeniul versus cererea”.
• „Analizează performanța membrilor și a echipelor” sună mai firesc decât „Obține performanțe pe…”.
• „rămâne pe drumul cel bun” evită anglicismul „rulează la timp”.

No functional impact, just copy quality.

packages/i18n/src/locales/ua/translations.json (2)

1353-1355: CTA text inconsistent with existing UA locale strings

The call-to-action previously appears as «Розпочати перший проєкт» (e.g., workspace_projects.empty_state.general). Use the same wording to keep UX consistent.

-          "text": "Розпочніть свій перший проєкт",
+          "text": "Розпочати перший проєкт",

1356-1357: Refine comic copy for natural Ukrainian

Minor wording & punctuation tweaks for fluency.

-            "title": "Аналітика найкраще працює з циклами + модулями",
-            "description": "Спочатку обмежте свої робочі елементи часом у циклах та, якщо можливо, згрупуйте робочі елементи, які перевищують один цикл, у модулі. Перегляньте обидва в навігації зліва."
+            "title": "Аналітика найкраще працює з циклами та модулями",
+            "description": "Спершу обмежте робочі елементи у часі за допомогою Циклів, а задачі, що охоплюють кілька циклів, згрупуйте в Модулі. Обидві секції доступні в лівій панелі навігації."
packages/i18n/src/locales/de/translations.json (1)

1346-1353: Button-Wording angleichen

In anderen „Erstes Projekt ...“-Empty-States (z. B. workspace_dashboard.general, workspace_projects.empty_state.general) lautet der CTA „Erstes Projekt erstellen“.
Hier steht „Erstes Projekt starten“. Für eine konsistente UX wäre das identische Verb sinnvoll.

-          "text": "Erstes Projekt starten",
+          "text": "Erstes Projekt erstellen",
packages/i18n/src/locales/id/translations.json (2)

1347-1350: Ensure terminology & tone remain consistent with the rest of the locale

Throughout the Indonesian locale we consistently use “item kerja” (e.g. issue → item kerja).
The newly-added title / description switch to generic English loan words (“scope”, “demand”) and use long compound sentences that feel less natural in Bahasa. Consider a lighter rewrite and stick to the established glossary to avoid jarring switches for end-users.


1353-1355: Replace “masalah” with “item kerja” for glossary consistency

-            "description": "Pertama, batasi waktu masalah Anda ke dalam Siklus dan, jika Anda bisa, kelompokkan masalah yang lebih dari satu siklus ke dalam Modul. Lihat keduanya di navigasi kiri."
+            "description": "Pertama, batasi waktu item kerja Anda ke dalam Siklus dan, jika memungkinkan, kelompokkan item kerja yang membutuhkan lebih dari satu siklus ke dalam Modul. Lihat keduanya di navigasi kiri."

This keeps the new copy aligned with the rest of the Indonesian translations where “issue” is uniformly rendered as “item kerja”.

packages/i18n/src/locales/zh-CN/translations.json (1)

1349-1356: Use “工作项” consistently; refine copy for clarity

The rest of the file uniformly translates “issue(s)” as “工作项”.
Here the new comic strings switch to “问题”, and the copy can read more naturally in Chinese.

-            "title": "分析功能在周期 + 模块中效果最佳",
-            "description": "首先,将您的问题在周期中进行时间限制,如果可能的话,将跨越多个周期的问题分组到模块中。在左侧导航中查看这两个功能。"
+            "title": "分析在周期和模块中效果最佳",
+            "description": "首先,在周期中为您的工作项设定时间范围;如有必要,将跨越多个周期的工作项分组到模块中。您可以在左侧导航中查看这两个功能。"

Updating these two strings keeps terminology consistent and produces smoother Chinese prose.

packages/i18n/src/locales/cs/translations.json (1)

1348-1356: Harmonise CTA text & replace “problémy” with “pracovní položky”.

  1. For consistency, other Czech locale CTAs use “Začněte první projekt” (see workspace_projects.empty_state.general.primary_button.text).
    Use the same wording here.

  2. Throughout the file, issues are translated as “pracovní položky”.
    This block switches to “problémy”, which breaks terminology consistency.

-          "text": "Začněte svůj první projekt",
+          "text": "Začněte první projekt",
@@
-            "description": "Nejprve časově ohraničte své problémy do Cyků a pokud můžete, seskupte problémy, které trvají déle než jeden cyklus, do Modulů. Podívejte se na obojí v levé navigaci."
+            "description": "Nejprve časově ohraničte své pracovní položky do Cyklů a pokud můžete, seskupte pracovní položky, které trvají déle než jeden cyklus, do Modulů. Obě možnosti najdete v levé navigaci."
packages/i18n/src/locales/zh-TW/translations.json (1)

1348-1358: Polish the new zh-TW copy for natural flow & consistency

The current wording is understandable but sounds slightly mechanical and mixes 「、」 with English commas/phrasing. A small rewrite improves readability while keeping the original meaning unchanged.

-        "title": "追蹤進度、工作量和分配。發現趨勢,消除障礙,加速工作進展",
-        "description": "查看範圍與需求、估算和範圍蔓延。獲取團隊成員和團隊的績效,確保您的專案按時運行。",
+        "title": "追蹤進度、工作量與資源分配,洞悉趨勢、排除阻礙,加速工作進展",
+        "description": "檢視範圍與需求、預估以及範圍蔓延,掌握團隊與成員的績效,確保專案如期推進。",
@@
-            "title": "分析功能在週期 + 模組中效果最佳",
-            "description": "首先,將您的問題在週期中進行時間限制,如果可能的話,將跨越多個週期的問題分組到模組中。在左側導覽中查看這兩個功能。"
+            "title": "分析功能在週期與模組中效果最佳",
+            "description": "首先,將工作事項納入週期並設定時程;若橫跨多個週期,請將其歸類至模組。在左側導覽列即可找到這兩項功能。"

• 以「資源分配」取代「分配」,語意更明確
• 統一「、」作為列舉符號,改用逗號作句間連接
• 「查看」→「檢視」,「獲取」→「掌握」使語氣更貼近常用繁中
• Comic 文字改為「週期與模組」並調整敘述避免「問題」混淆

No functional impact—purely a UX/l10n polish.

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 7d417c5 and 95f28ee.

📒 Files selected for processing (19)
  • packages/i18n/src/locales/cs/translations.json (1 hunks)
  • packages/i18n/src/locales/de/translations.json (1 hunks)
  • packages/i18n/src/locales/en/translations.json (1 hunks)
  • packages/i18n/src/locales/es/translations.json (1 hunks)
  • packages/i18n/src/locales/fr/translations.json (1 hunks)
  • packages/i18n/src/locales/id/translations.json (1 hunks)
  • packages/i18n/src/locales/it/translations.json (1 hunks)
  • packages/i18n/src/locales/ja/translations.json (1 hunks)
  • packages/i18n/src/locales/ko/translations.json (1 hunks)
  • packages/i18n/src/locales/pl/translations.json (1 hunks)
  • packages/i18n/src/locales/pt-BR/translations.json (1 hunks)
  • packages/i18n/src/locales/ro/translations.json (1 hunks)
  • packages/i18n/src/locales/ru/translations.json (1 hunks)
  • packages/i18n/src/locales/sk/translations.json (1 hunks)
  • packages/i18n/src/locales/tr-TR/translations.json (1 hunks)
  • packages/i18n/src/locales/ua/translations.json (1 hunks)
  • packages/i18n/src/locales/vi-VN/translations.json (1 hunks)
  • packages/i18n/src/locales/zh-CN/translations.json (1 hunks)
  • packages/i18n/src/locales/zh-TW/translations.json (1 hunks)
🧰 Additional context used
🧠 Learnings (20)
📓 Common learnings
Learnt from: janreges
PR: makeplane/plane#6743
File: packages/i18n/src/store/index.ts:160-161
Timestamp: 2025-03-11T19:42:41.769Z
Learning: In the Plane project, the file 'packages/i18n/src/store/index.ts' already includes support for Polish language translations with the case "pl".
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/id/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/en/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/ko/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/ua/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/pl/translations.json (2)
Learnt from: janreges
PR: makeplane/plane#6743
File: packages/i18n/src/store/index.ts:160-161
Timestamp: 2025-03-11T19:42:41.769Z
Learning: In the Plane project, the file 'packages/i18n/src/store/index.ts' already includes support for Polish language translations with the case "pl".
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/fr/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/sk/translations.json (2)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
Learnt from: janreges
PR: makeplane/plane#6743
File: packages/i18n/src/store/index.ts:160-161
Timestamp: 2025-03-11T19:42:41.769Z
Learning: In the Plane project, the file 'packages/i18n/src/store/index.ts' already includes support for Polish language translations with the case "pl".
packages/i18n/src/locales/ru/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/it/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/ro/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/vi-VN/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/es/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/de/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/pt-BR/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/zh-CN/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/tr-TR/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/zh-TW/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
packages/i18n/src/locales/cs/translations.json (2)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
Learnt from: janreges
PR: makeplane/plane#6743
File: packages/i18n/src/store/index.ts:160-161
Timestamp: 2025-03-11T19:42:41.769Z
Learning: In the Plane project, the file 'packages/i18n/src/store/index.ts' already includes support for Polish language translations with the case "pl".
packages/i18n/src/locales/ja/translations.json (1)
Learnt from: vamsikrishnamathala
PR: makeplane/plane#7092
File: web/core/components/issues/issue-detail-widgets/sub-issues/issues-list/root.tsx:109-113
Timestamp: 2025-05-22T11:21:49.370Z
Learning: Both translation keys "sub_work_item.empty_state.list_filters.action" and "sub_work_item.empty_state.sub_list_filters.action" have identical values across all language files in the Plane project, so they can be used interchangeably.
⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: Analyze (javascript)
🔇 Additional comments (4)
packages/i18n/src/locales/pl/translations.json (1)

1348-1358: LGTM – Polish copy for the new workspace_analytics.empty_state.general block looks correct and JSON syntax is valid

No functional or consistency issues observed; key structure (title, description, primary_button.text, comic.*) matches existing patterns in other locales.

packages/i18n/src/locales/it/translations.json (1)

1345-1356: JSON structure looks correct – good attention to commas and nesting.

The trailing comma after project_insights and the absence of a comma after the new general block keep the file valid. Nice catch.

packages/i18n/src/locales/ko/translations.json (1)

1348-1358: Addition looks correct and JSON-compliant

The newly added workspace_analytics.empty_state.general section follows the established structure ( title, description, primary_button.text, nested comic) and is properly comma-terminated, preserving valid JSON. No issues found.

packages/i18n/src/locales/sk/translations.json (1)

1348-1358: Empty-state translations verified across all locales

I’ve confirmed that every locale file includes all workspace_analytics.empty_state.general keys (title, description, primary_button.text, primary_button.comic.title, primary_button.comic.description). No missing entries detected.

Comment on lines +1350 to +1352
"title": "Відстежуйте прогрес, робочу навантаженні та розподіл. Виявляйте тенденції, усувайте перешкоди та прискорюйте роботу",
"description": "Перегляньте обсяг проти попиту, оцінки та розповсюдження обсягу. Отримайте продуктивність членів команди та команд, щоб переконатися, що ваш проєкт виконується вчасно.",
"primary_button": {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Grammar & style – polish title/description

– “робочу навантаженні” → incorrect case; use neuter noun in nominative “робоче навантаження”.
– “розподіл” без уточнення звучить неповно. «Розподіл навантаження» або «розподіли» – залежно від оригіналу.
– «обсяг проти попиту» звучить штучно; краще «співвідношення обсягу та попиту».
– «розповсюдження обсягу» → «розподіл обсягу».

-        "title": "Відстежуйте прогрес, робочу навантаженні та розподіл. Виявляйте тенденції, усувайте перешкоди та прискорюйте роботу",
-        "description": "Перегляньте обсяг проти попиту, оцінки та розповсюдження обсягу. Отримайте продуктивність членів команди та команд, щоб переконатися, що ваш проєкт виконується вчасно.",
+        "title": "Відстежуйте прогрес, робоче навантаження та розподіл навантаження. Виявляйте тенденції, усувайте перешкоди й прискорюйте роботу",
+        "description": "Перегляньте співвідношення обсягу та попиту, оцінки та розподіл обсягу. Отримайте дані про продуктивність учасників і команд, щоб упевнитись, що ваш проєкт рухається вчасно.",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"title": "Відстежуйте прогрес, робочу навантаженні та розподіл. Виявляйте тенденції, усувайте перешкоди та прискорюйте роботу",
"description": "Перегляньте обсяг проти попиту, оцінки та розповсюдження обсягу. Отримайте продуктивність членів команди та команд, щоб переконатися, що ваш проєкт виконується вчасно.",
"primary_button": {
"title": "Відстежуйте прогрес, робоче навантаження та розподіл навантаження. Виявляйте тенденції, усувайте перешкоди й прискорюйте роботу",
"description": "Перегляньте співвідношення обсягу та попиту, оцінки та розподіл обсягу. Отримайте дані про продуктивність учасників і команд, щоб упевнитись, що ваш проєкт рухається вчасно.",
"primary_button": {
🤖 Prompt for AI Agents
In packages/i18n/src/locales/ua/translations.json around lines 1350 to 1352, the
Ukrainian translation has grammatical and stylistic issues. Correct "робочу
навантаженні" to the neuter nominative form "робоче навантаження", clarify
"розподіл" to "розподіл навантаження" or "розподіли" as appropriate, replace
"обсяг проти попиту" with "співвідношення обсягу та попиту", and change
"розповсюдження обсягу" to "розподіл обсягу" to improve clarity and correctness.

Comment on lines +1202 to +1211
"general": {
"title": "Track progress, workloads, and allocations. Spot trends, remove blockers, and move work faster",
"description": "See scope versus demand, estimates, and scope creep. Get performance by team members and teams, and make sure your project runs on time.",
"primary_button": {
"text": "Start your first project",
"comic": {
"title": "Analytics works best with Cycles + Modules",
"description": "First, timebox your issues into Cycles and, if you can, group issues that span more than a cycle into Modules. Check out both on the left nav."
}
}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Verify the new workspace_analytics.empty_state.general key across all locales

Nice addition for the English file. However, the UI will surface a blank string (or crash, depending on the fallback logic) if even one locale is missing this key. Please ensure every translations.json under packages/i18n/src/locales/** now contains:

workspace_analytics.empty_state.general.{title,description,primary_button.text,primary_button.comic.{title,description}}

Also note punctuation consistency: titles elsewhere are a mix of sentences with/without terminal periods – decide on one style and align.


🏁 Script executed:

#!/bin/bash
# Verifies that every locale has the new empty-state key.
missing=0
for file in $(fd translations.json packages/i18n/src/locales); do
  if ! jq -e '.workspace_analytics.empty_state.general' "$file" >/dev/null 2>&1; then
    echo "❌ Missing in $file"
    missing=1
  fi
done
if [ "$missing" -eq 0 ]; then
  echo "✅ All locales contain workspace_analytics.empty_state.general"
fi

Length of output: 3267


All locales include the new translation key ✅

I’ve verified that every translations.json under packages/i18n/src/locales/** contains:

workspace_analytics.empty_state.general.{title,description,primary_button.text,primary_button.comic.{title,description}}

Punctuation consistency still needs a decision

  • Titles and descriptions elsewhere mix terminal periods and no-periods.
  • Please choose one style (either ending all strings with a period or dropping terminal periods)
  • Update the new workspace_analytics.empty_state.general entries to match that style.
🤖 Prompt for AI Agents
In packages/i18n/src/locales/en/translations.json around lines 1202 to 1211, the
new translation keys under workspace_analytics.empty_state.general have
inconsistent punctuation with other locales. Decide on a consistent style for
terminal periods in titles and descriptions (either always include or always
omit periods) and update the title, description, and nested primary_button.comic
title and description strings to follow that chosen punctuation style.

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