feat: update translations via @LingoDotDev#22776
Conversation
WalkthroughThis change updates and adds permission description strings in the localization files for over 30 languages. The modifications introduce new localization keys related to OAuth client management and directory synchronization, including labels, descriptions, creation prompts, deletion messages, and admin-only management notices. Additionally, new permission descriptions for viewing, creating, updating, and deleting organization attributes are added. Existing permission description strings for managing roles, event types, teams, and bookings have been refined to explicitly specify that these management actions apply within the context of organizational teams or the organization itself, clarifying the scope of these permissions. No changes were made to application logic, exported entities, or control flow; the updates are strictly textual within JSON localization files. Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Complexity label: Simple Possibly related PRs
📜 Recent review detailsConfiguration used: CodeRabbit UI ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (36)
✅ Files skipped from review due to trivial changes (3)
🚧 Files skipped from review as they are similar to previous changes (33)
✨ Finishing Touches🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎ |
|
Lingo.dev seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
There was a problem hiding this comment.
Actionable comments posted: 2
🔭 Outside diff range comments (2)
apps/web/public/static/locales/et/common.json (1)
3300-3340: Duplicatepbac_desc_*keys risk runtime collisionsKeys
pbac_desc_manage_roles,pbac_desc_manage_event_types,pbac_desc_manage_teams, andpbac_desc_manage_bookingsalready exist earlier in the file (look around the 2950-3000 region).
JSON does not forbid duplicate keys, but the LAST occurrence silently overrides the earlier one at load time – easy to miss and painful to debug.- "pbac_desc_manage_roles": "Kõik toimingud rollidega organisatsiooni meeskondades", + "pbac_desc_manage_roles_org": "Kõik toimingud rollidega organisatsiooni meeskondades",Either rename the new keys or drop the older ones to keep the file single-sourced and deterministic.
apps/web/public/static/locales/km/common.json (1)
1-3422: Potential duplicate-key shadowing & JSON-size issues
The file now contains > 3 400 individual key/value pairs in a single object. While syntactically valid, two practical risks pop up:
- Duplicate keys silently override earlier values at parse-time (the last one wins). I spot accidental re-definitions such as
"event_name"/"event_name_in_calendar"vs later"event_name"(around 928 + 930) and"users"(1563 + 1564). If the i18n loader you use is strict this will throw; if not, earlier strings become unreachable at runtime.- The monolithic JSON tops 300 KB; every page-load ships the whole blob even if only a handful of keys are needed. That hurts TTFB on low-bandwidth clients.
- "event_name": "ឈ្មោះព្រឹត្តិការណ៍", + "event_name": "ឈ្មោះព្រឹត្តិការណ៍", // KEEP … - "event_name": "ឈ្មោះព្រឹត្តិការណ៍", // <- remove or renameConsider:
• Running a duplicate-key check in CI (jq -c 'path(..|objects)|select(length>1)' …).
• Splitting locales into feature-scoped chunks and lazy-loading with i18next backend or next-intl.
• Moving long dev-only comments (e.g.ADD_NEW_STRINGS_ABOVE_THIS_LINE…) to a separate.mdto keep the JSON pure.
🧹 Nitpick comments (20)
apps/web/public/static/locales/sv/common.json (2)
3308-3314: Avoid double-“team” phrasing in new PBAC stringsFor the four newly-added keys the wording reads “…inom organisationens team”, e.g.
"pbac_desc_manage_roles": "Alla åtgärder för roller inom organisationens team"Because the entity (roles / händelsetyper / bookings / team) is already scoped to the organisation, adding “inom organisationens team” is redundant and can be confusing (it sounds like a team inside a team).
Suggested phrasing (keep the same pattern used elsewhere such as
pbac_desc_manage_organizations):- "pbac_desc_manage_roles": "Alla åtgärder för roller inom organisationens team", + "pbac_desc_manage_roles": "Alla åtgärder för roller inom organisationen", - "pbac_desc_manage_event_types": "Alla åtgärder för händelsetyper inom organisationens team", + "pbac_desc_manage_event_types": "Alla åtgärder för händelsetyper inom organisationen", - "pbac_desc_manage_teams": "Alla åtgärder för team inom organisationens team", + "pbac_desc_manage_teams": "Alla åtgärder för team inom organisationen", - "pbac_desc_manage_bookings": "Alla åtgärder för bokningar inom organisationens team", + "pbac_desc_manage_bookings": "Alla åtgärder för bokningar inom organisationen",
3341-3346: Consistency: translate “Reset-interval” key the same way
"rr_reset_interval_description"now uses “Bestämmer hur ofta …”.
Earlier keys in this file that describe scheduler intervals use “Avgör hur ofta …” (e.g."rr_distribution_method_balanced_description").For consistency across the sv locale, consider adopting the existing wording:
- "rr_reset_interval_description": "Bestämmer hur ofta bokningsräknaren för Round Robin återställs för att säkerställa en balanserad fördelning.", + "rr_reset_interval_description": "Avgör hur ofta bokningsräknaren för Round Robin återställs för att säkerställa en balanserad fördelning.",apps/web/public/static/locales/vi/common.json (1)
3313-3314: Untranslated string and key-collision riskThe newly added key
"pbac_desc_manage_event_types"is left in English.
• Translate it (e.g. “Tất cả hành động trên các loại sự kiện trong các nhóm của tổ chức”).
• Verify there isn’t another"pbac_desc_manage_event_types"earlier in the file; duplicate keys break i18n at runtime.apps/web/public/static/locales/pt/common.json (1)
3308-3314: Unify terminology – use “equipas” to stay consistent with European-PT vocabularyThroughout this file the string set uses the European Portuguese term “equipa(s)” (e.g. “Gerir esta equipa”, “Membro da equipa”).
The two newly-added entries switch to the Brazilian form “equipe(s)”, breaking consistency.-"pbac_desc_manage_roles": "Todas as ações em funções em todas as equipes da organização", +"pbac_desc_manage_roles": "Todas as ações em funções em todas as equipas da organização", -"pbac_desc_manage_event_types": "Todas as ações em tipos de eventos em todas as equipes da organização", +"pbac_desc_manage_event_types": "Todas as ações em tipos de eventos em todas as equipas da organização",apps/web/public/static/locales/es-419/common.json (1)
3308-3336: Redundant wording in four new permission descriptionsThe sentence pattern “Todas las acciones en X a través de los equipos de la organización” repeats the word equipos and reads slightly awkward in Spanish (“… en equipos … a través de los equipos…”).
Consider a lighter formulation that avoids the double use, e.g.:- "pbac_desc_manage_roles": "Todas las acciones en roles a través de los equipos de la organización", + "pbac_desc_manage_roles": "Todas las acciones sobre roles en todos los equipos de la organización", - "pbac_desc_manage_event_types": "Todas las acciones en tipos de eventos a través de los equipos de la organización", + "pbac_desc_manage_event_types": "Todas las acciones sobre tipos de eventos en todos los equipos de la organización", - "pbac_desc_manage_teams": "Todas las acciones en equipos a través de los equipos de la organización", + "pbac_desc_manage_teams": "Todas las acciones sobre equipos en toda la organización", - "pbac_desc_manage_bookings": "Todas las acciones en reservas a través de los equipos de la organización", + "pbac_desc_manage_bookings": "Todas las acciones sobre reservas en todos los equipos de la organización",This preserves the clarified scope (“todos los equipos de la organización”) while reading more naturally.
No functional impact—purely a copy tweak.apps/web/public/static/locales/da/common.json (1)
3308-3313: Consider harmonising terminology for “roles” vs “rolle”.In other entries we use singular when describing one thing (e.g. “en rolle”), while here we use the plural “roller”. Double-check the English source (“All actions on roles…”) and ensure a consistent Danish phrasing across the PBAC section (either “…på roller…” or “…på rolle-ressourcer…” everywhere).
apps/web/public/static/locales/it/common.json (3)
3306-3310: Uniformare la preposizione (“tra” → “in”) per coerenza.Per le descrizioni analoghe viene usato “in tutti i team” (o simile).
Valutare di sostituire"Tutte le azioni sui ruoli tra i team dell'organizzazione"con
-"Tutte le azioni sui ruoli tra i team dell'organizzazione" +"Tutte le azioni sui ruoli in tutti i team dell'organizzazione"per mantenere coerenza terminologica.
3310-3316: Allineare la terminologia delle descrizioni.La frase:
"Tutte le azioni sui tipi di evento tra i team dell'organizzazione"potrebbe seguire lo stesso schema suggerito sopra (“in tutti i team …”) per evitare ambiguità:
-"Tutte le azioni sui tipi di evento tra i team dell'organizzazione" +"Tutte le azioni sui tipi di evento in tutti i team dell'organizzazione"
3332-3338: Traduzione coerente con le altre voci.Analogamente alle osservazioni precedenti, prendere in considerazione:
-"Tutte le azioni sulle prenotazioni tra i team dell'organizzazione" +"Tutte le azioni sulle prenotazioni in tutti i team dell'organizzazione"per mantenere uniformità stilistica.
apps/web/public/static/locales/ja/common.json (1)
3308-3337: Phrase “組織チーム全体での …” reads awkwardly“組織チーム全体での” literally glues two nouns and can sound unnatural to native readers.
Consider one of the following to make the scope clearer:- "組織チーム全体でのロールに関するすべてのアクション" + "組織およびチーム全体に対するロールのすべてのアクション"Apply the same construction to the three parallel strings introduced for event-types, teams and bookings:
- "組織チーム全体でのイベントタイプに関するすべてのアクション" + "組織およびチーム全体に対するイベントタイプのすべてのアクション" - "組織チーム全体でのチームに関するすべてのアクション" + "組織およびチーム全体に対するチームのすべてのアクション" - "組織チーム全体での予約に関するすべてのアクション" + "組織およびチーム全体に対する予約のすべてのアクション"This keeps the wording consistent with earlier entries (e.g., “組織全体で …”) and removes the slightly forced compound.
No functional impact—purely a localisation polish.apps/web/public/static/locales/de/common.json (1)
3308-3337: Wording is repetitive – suggest clearer phrasingThe four newly-added permission descriptions read
„… über alle Organisationsteams hinweg“.
Because the resource itself is already “Teams”, the phrase becomes a bit tautological:"Alle Aktionen für Teams über alle Organisationsteams hinweg"Consider simplifying to avoid the double “Teams”. For example:
-"Alle Aktionen für Teams über alle Organisationsteams hinweg" +"Alle Aktionen für Teams in der gesamten Organisation"Apply the same pattern to the three neighbouring entries (
pbac_desc_manage_roles,pbac_desc_manage_event_types,pbac_desc_manage_bookings) for cleaner, consistent wording.
No functional impact, purely a translation nit.apps/web/public/static/locales/es/common.json (2)
3308-3314: Inconsistent phrasing and missing article in the new permission descriptionsThe newly-added strings use the pattern
"Todas las acciones sobre roles …"/"… sobre tipos de eventos …"
whereas most of the file still follows
"Todas las acciones **en** los …".Besides the preposition, the article los/las is now missing (“sobre roles”, “sobre tipos de eventos”). For smooth, idiomatic Spanish and consistency across the permission texts, change these lines to e.g.:
-"pbac_desc_manage_roles": "Todas las acciones sobre roles en los equipos de la organización", +"pbac_desc_manage_roles": "Todas las acciones sobre los roles en los equipos de la organización", -"pbac_desc_manage_event_types": "Todas las acciones sobre tipos de eventos en los equipos de la organización", +"pbac_desc_manage_event_types": "Todas las acciones sobre los tipos de eventos en los equipos de la organización",Apply the same article/preposition fix to the other manage_ permission strings you just introduced.
3336-3337: Add definite article for grammatical correctness
"Todas las acciones sobre reservas en los equipos de la organización"→"Todas las acciones sobre **las** reservas …"to keep wording parallel to the other entries.apps/web/public/static/locales/nl/common.json (1)
3308-3336: Improve wording for PBAC descriptionsThe newly added Dutch strings read a bit literal (“Alle acties op …”) and the compound “organisatieteams” is uncommon. A more idiomatic phrasing is:
-"pbac_desc_manage_roles": "Alle acties op rollen binnen organisatieteams", -"pbac_desc_manage_event_types": "Alle acties op gebeurtenistypes binnen organisatieteams", -"pbac_desc_manage_teams": "Alle acties op teams binnen organisatieteams", -"pbac_desc_manage_bookings": "Alle acties op boekingen binnen organisatieteams" +"pbac_desc_manage_roles": "Alle acties voor rollen binnen teams van de organisatie", +"pbac_desc_manage_event_types": "Alle acties voor gebeurtenistypes binnen teams van de organisatie", +"pbac_desc_manage_teams": "Alle acties voor teams binnen de organisatie", +"pbac_desc_manage_bookings": "Alle acties voor boekingen binnen teams van de organisatie"This:
- Replaces the atypical “op” with “voor” to match common Dutch usage.
- Breaks the compound noun into “teams van de organisatie”, which reads more naturally.
- Keeps terminology consistent with other Dutch locale entries.
apps/web/public/static/locales/fi/common.json (1)
3308-3314: Check wording-consistency of organisation-scope stringsThe new permission descriptions (
pbac_desc_manage_event_types,pbac_desc_manage_teams) end with “organisaation tiimien välillä”.
Earlier sibling entries (e.g.pbac_desc_manage_rolesat 3309) use exactly the same suffix, but Finnish style-guides normally prefer “organisaation tiimeissä” (≈ “inside the organisation’s teams”) instead of “between”.Sticking to one preposition across all PBAC strings avoids user-visible jitter. Please double-check with the reference EN text and, if needed, update all four keys in one sweep.
apps/web/public/static/locales/he/common.json (2)
3311-3315: Minor Hebrew wording nit-pick
"כל הפעולות על סוגי אירועים בכל צוותי הארגון"is technically fine, but sounds slightly clunky.
Consider “כל הפעולות על סוגי-האירועים בכל צוותי הארגון” to avoid the double article and read more naturally.
3319-3323: Consistency with previous PBAC strings
pbac_desc_manage_teamsshould mirror the wording used earlier for the singular operations, e.g. the existing “עדכון הגדרות צוות” uses “צוות”.
For full consistency use either “צוותים בארגון” or “בכל צוותי הארגון” everywhere – right now some strings use “בצוותים של הארגון” and some “בכל צוותי הארגון”.apps/web/public/static/locales/uk/common.json (3)
3308-3308: Translation scope sounds too narrow
"Усі дії з ролями в командах організації"implies that role-management is limited only to team roles, whereas the English key - manage roles - generally covers every role at org level as well.
Consider either:
- dropping “в командах”, or
- adding a second string for the organisation scope and keeping this one team-specific.
This avoids under-translation and remains consistent with the neighbouring permission descriptions.
3313-3313: Inconsistent term: “події” vs “заходи”Earlier keys (
_create_event_types,_view_event_types, …) use “типів заходів”, but here we switch to “типами подій”. Mixing the two nouns in the same block looks sloppy and may confuse translators later.-"pbac_desc_manage_event_types": "Усі дії з типами подій у командах організації", +"pbac_desc_manage_event_types": "Усі дії з типами заходів у командах організації",
3336-3336: Check declension agreement
"…з бронюваннями в командах організації"– “з бронюваннями” is grammatically correct, just confirm you really want the instrumental case here (дІї з бронюваннями).
If the intent is “над бронюваннями” or “із бронюваннями”, adjust accordingly.Only a grammar nitpick – logic & JSON syntax are fine.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
i18n.lockis excluded by!**/*.lock
📒 Files selected for processing (36)
apps/web/public/static/locales/ar/common.json(2 hunks)apps/web/public/static/locales/az/common.json(2 hunks)apps/web/public/static/locales/bg/common.json(2 hunks)apps/web/public/static/locales/bn/common.json(2 hunks)apps/web/public/static/locales/ca/common.json(2 hunks)apps/web/public/static/locales/cs/common.json(2 hunks)apps/web/public/static/locales/da/common.json(2 hunks)apps/web/public/static/locales/de/common.json(2 hunks)apps/web/public/static/locales/el/common.json(2 hunks)apps/web/public/static/locales/es-419/common.json(2 hunks)apps/web/public/static/locales/es/common.json(2 hunks)apps/web/public/static/locales/et/common.json(2 hunks)apps/web/public/static/locales/eu/common.json(2 hunks)apps/web/public/static/locales/fi/common.json(2 hunks)apps/web/public/static/locales/fr/common.json(2 hunks)apps/web/public/static/locales/he/common.json(2 hunks)apps/web/public/static/locales/hu/common.json(2 hunks)apps/web/public/static/locales/it/common.json(2 hunks)apps/web/public/static/locales/ja/common.json(2 hunks)apps/web/public/static/locales/km/common.json(2 hunks)apps/web/public/static/locales/ko/common.json(2 hunks)apps/web/public/static/locales/nl/common.json(2 hunks)apps/web/public/static/locales/no/common.json(2 hunks)apps/web/public/static/locales/pl/common.json(2 hunks)apps/web/public/static/locales/pt-BR/common.json(2 hunks)apps/web/public/static/locales/pt/common.json(2 hunks)apps/web/public/static/locales/ro/common.json(2 hunks)apps/web/public/static/locales/ru/common.json(2 hunks)apps/web/public/static/locales/sk-SK/common.json(2 hunks)apps/web/public/static/locales/sr/common.json(2 hunks)apps/web/public/static/locales/sv/common.json(2 hunks)apps/web/public/static/locales/tr/common.json(2 hunks)apps/web/public/static/locales/uk/common.json(2 hunks)apps/web/public/static/locales/vi/common.json(2 hunks)apps/web/public/static/locales/zh-CN/common.json(2 hunks)apps/web/public/static/locales/zh-TW/common.json(2 hunks)
🧰 Additional context used
🧠 Learnings (29)
📓 Common learnings
Learnt from: bandhan-majumder
PR: calcom/cal.com#22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/ru/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/ar/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/zh-TW/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/sr/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/es/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/bn/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/it/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/hu/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/fr/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/es-419/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/ca/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/de/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/pt/common.json (2)
Learnt from: CR
PR: calcom/cal.com#0
File: .cursor/rules/review.mdc:0-0
Timestamp: 2025-07-28T11:50:23.917Z
Learning: Applies to docs/api-reference/v2/openapi.json : When docs changes are made in /docs/api-reference/v2/openapi.json, ensure 'summary' fields are short, concise, do not end with a period, and are written in proper American English
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/sv/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/zh-CN/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/uk/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/eu/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/fi/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/az/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/he/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/ro/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/pl/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/cs/common.json (2)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
Learnt from: CR
PR: calcom/cal.com#0
File: .cursor/rules/review.mdc:0-0
Timestamp: 2025-07-28T11:50:23.917Z
Learning: Applies to docs/api-reference/v2/openapi.json : When docs changes are made in /docs/api-reference/v2/openapi.json, ensure 'summary' fields are short, concise, do not end with a period, and are written in proper American English
apps/web/public/static/locales/pt-BR/common.json (2)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
Learnt from: CR
PR: calcom/cal.com#0
File: .cursor/rules/review.mdc:0-0
Timestamp: 2025-07-28T11:50:23.917Z
Learning: Applies to docs/api-reference/v2/openapi.json : When docs changes are made in /docs/api-reference/v2/openapi.json, ensure 'summary' fields are short, concise, do not end with a period, and are written in proper American English
apps/web/public/static/locales/bg/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/sk-SK/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/el/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
apps/web/public/static/locales/km/common.json (1)
Learnt from: bandhan-majumder
PR: #22359
File: packages/lib/server/locales/en/common.json:1336-1339
Timestamp: 2025-07-14T16:31:45.233Z
Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.
🔇 Additional comments (28)
apps/web/public/static/locales/no/common.json (1)
3308-3314: LGTM – translation update looks consistentThe newly-added PBAC description strings use the same phrasing pattern adopted elsewhere in this file ( «Alle handlinger på … på tvers av organisasjonsteam» ).
No structural or placeholder issues detected.apps/web/public/static/locales/pl/common.json (1)
3308-3313: Translations LGTMNow-added strings read naturally and remain consistent with the surrounding PBAC descriptions.
No further action required.apps/web/public/static/locales/cs/common.json (1)
3308-3314: Consistent phrasing – looks goodThe newly-added
pbac_desc_manage_rolesandpbac_desc_manage_event_typesstrings mirror the style used for the surrounding permission descriptions (imperative, no trailing period, “napříč týmy organizace”). No localisation, punctuation or JSON-syntax issues spotted.apps/web/public/static/locales/sr/common.json (1)
3308-3314: Consistent contextualization looks goodBoth updated strings now clearly specify that the actions are scoped “u timovima organizacije”, matching the pattern introduced across other languages in this PR.
JSON syntax and placeholders remain intact, so no issues here.apps/web/public/static/locales/tr/common.json (1)
3308-3336: Translations look consistent – no action needed.Strings for the new PBAC descriptions were added/updated and syntax is correct (double-quoted keys/values, trailing commas intact).
Nothing else to flag here.apps/web/public/static/locales/zh-CN/common.json (1)
3308-3336: Translations look consistent – no action requiredThe four newly-added permission-description strings (
pbac_desc_manage_roles,pbac_desc_manage_event_types,pbac_desc_manage_teams,pbac_desc_manage_bookings) follow the same wording pattern already used throughout this file (“对组织团队中…的所有操作”). No typos, placeholder mismatches, or glossary-violations detected.apps/web/public/static/locales/ko/common.json (2)
3304-3310: Translations LGTMThe newly-added
pbac_desc_manage_rolesstring looks accurate, context-aware, and is syntactically correct JSON (comma placement is fine). No further action required.
3310-3316: Consistent wording – looks good
pbac_desc_manage_event_typesfollows the same wording pattern («조직 팀 전체의 …») as the other PBAC descriptions—this keeps the UI consistent. JSON syntax also remains valid.apps/web/public/static/locales/sk-SK/common.json (1)
3308-3314: Confirm new permission-description keys exist in all locale files.The newly-added keys
pbac_desc_manage_rolesandpbac_desc_manage_event_typesextend the PBAC matrix.
Please make sure:
- The same keys are present in the source/default locale (usually
en/common.json) so extraction tools don’t treat them as orphaned.- Every other locale received a placeholder translation to avoid runtime fall-back to English or missing-string warnings.
Nothing else to flag – spelling and JSON syntax look good.
apps/web/public/static/locales/ru/common.json (1)
3308-3313: Translations added correctlyThe new PBAC description keys (
pbac_desc_manage_roles,pbac_desc_manage_event_types) follow the existing naming convention, the JSON syntax is valid, and the Russian phrasing is consistent with neighbouring strings. No further action required.apps/web/public/static/locales/vi/common.json (1)
3308-3310: Missing Vietnamese translation + potential duplicate key
"pbac_desc_manage_roles"is still in English (“All actions on roles in organisation teams”).
- Please provide the Vietnamese translation to keep the file consistent.
- Double-check the rest of the file for an earlier occurrence of the same key – JSON silently keeps the last duplicate and drops the previous one, which leads to hard-to-detect data-loss bugs.
apps/web/public/static/locales/bg/common.json (1)
3308-3313: Ensure consistency with other PBAC descriptionsOther PBAC “manage_” strings use the wording “в цялата организация” (e.g.
pbac_desc_manage_teamson line 3321).
The new/modified translations here end with “в екипите на организацията”, which introduces a subtle difference that may confuse users and breaks the pattern.Consider aligning the phrasing for these two keys with the rest of the section, e.g.:
- "pbac_desc_manage_roles": "Всички действия върху роли в екипите на организацията", + "pbac_desc_manage_roles": "Всички действия върху роли в цялата организация", - "pbac_desc_manage_event_types": "Всички действия върху типове събития в екипите на организацията", + "pbac_desc_manage_event_types": "Всички действия върху типове събития в цялата организация",This keeps the messaging uniform and avoids implying a narrower scope than intended.
[ suggest_nitpick ]apps/web/public/static/locales/el/common.json (1)
3308-3314: LGTM – translations read well and follow existing patternsThe newly-added permission descriptions (“pbac_desc_manage_roles” and “pbac_desc_manage_event_types”) are clear, gender-correct in Greek, and consistent with neighbouring keys. No structural or placeholder issues spotted.
apps/web/public/static/locales/it/common.json (1)
3319-3323: Formulazione poco naturale e ripetitiva (“team … team”).La stringa:
"pbac_desc_manage_teams": "Tutte le azioni sui team tra i team dell'organizzazione"contiene una ripetizione (“team … team”) che suona forzata in italiano.
Proposta più scorrevole:-"pbac_desc_manage_teams": "Tutte le azioni sui team tra i team dell'organizzazione" +"pbac_desc_manage_teams": "Tutte le azioni su tutti i team dell'organizzazione"apps/web/public/static/locales/ar/common.json (1)
3308-3314: Translation wording is consistent – no issues foundThe newly-added permission descriptions for managing roles and event types follow the same structure/terminology as the surrounding strings ( «جميع الإجراءات على … عبر فرق المؤسسة» ), so nothing to fix here.
apps/web/public/static/locales/fr/common.json (1)
3308-3322: Translations look goodThe three newly-added permission descriptions follow the existing French style, reuse the same placeholders, and keep the sentence pattern consistent with neighbouring strings.
No variables were introduced or removed, so nothing else to verify.apps/web/public/static/locales/pt-BR/common.json (2)
3308-3308: Refine wording for natural PortugueseCurrent phrase
"Todas as ações em funções em todas as equipes da organização"repete a preposição “em” e soa pouco natural.
Sugestão:-"Todas as ações em funções em todas as equipes da organização" +"Todas as ações sobre funções de todas as equipes da organização"Alternativamente:
Todas as ações relativas às funções de todas as equipes da organização.
[ suggest_nitpick ]
3313-3313: Adjust wording for clarityA mesma construção aparece aqui. Recomendo:
-"Todas as ações em tipos de eventos em todas as equipes da organização" +"Todas as ações sobre tipos de evento de todas as equipes da organização"Isso elimina a repetição “em … em …” e mantém coerência terminológica (“tipo de evento” no singular).
[ suggest_nitpick ]apps/web/public/static/locales/hu/common.json (1)
3308-3313: Check for un-intentional duplicate keys
These two freshly-added keys –pbac_desc_manage_rolesandpbac_desc_manage_event_types– already existed earlier in the file in most locale sets.
If an accidental second occurrence sneaks in during merge conflict resolution, JSON parsers will keep the last value silently, masking the first. Please run a quick duplicate-key check (e.g.jq -cM 'paths(scalars) as $p | select($p|length==1) | $p[0]' … | sort | uniq -d) before shipping.apps/web/public/static/locales/eu/common.json (1)
3308-3336: All new PBAC strings added correctly – nothing blocking.The newly-added permission-description keys (
pbac_desc_manage_roles,pbac_desc_manage_event_types,pbac_desc_manage_teams,pbac_desc_manage_bookings) are:
- JSON-valid (commas + quote pairs are correct)
- Unique – no duplicate keys found above in the file
- Grammatically consistent with the earlier Basque phrasing (“Erakundeko talde guztietako … ekintza guztiak”)
No action required.
apps/web/public/static/locales/he/common.json (1)
3306-3310: No duplicatepbac_desc_manage_rolestranslation key found
I ran a grep overapps/web/public/static/locales/he/common.jsonand only located a single occurrence at line 3308. There are no earlier entries that would be overridden. You can safely merge this change.apps/web/public/static/locales/az/common.json (1)
3306-3313: Translations look consistent and JSON syntax is intactThe newly-added permission descriptions for roles and event-types are well-translated, keep the same grammatical structure as neighbouring strings, and the trailing commas are in place – so the JSON will still parse correctly.
No action needed.
apps/web/public/static/locales/bn/common.json (1)
3300-3305: Translations look consistent – double-check for accidental key duplicationBoth new strings read naturally and mirror the English meaning (“all actions on roles / event types across all organisation teams”).
Just make sure there is no earlier occurrence ofpbac_desc_manage_rolesorpbac_desc_manage_event_typesthat might leave duplicates after the merge – JSON won’t fail to parse, but only the last value will be kept, which can hide outdated text.
Otherwise, nothing to fix here.apps/web/public/static/locales/ro/common.json (2)
3308-3314: Potential duplication / ordering issue for new PBAC keys
pbac_desc_manage_roles,pbac_desc_manage_event_typesand the neighbouring “manage_xxx” strings are inserted a few lines above their peers (pbac_desc_manage_teams,pbac_desc_manage_bookingsetc.).
If the file is alphabetically ordered (as the rest appears to be) these keys should sit after the correspondingpbac_desc_update_*entries — otherwise downstream tooling that relies on lexical ordering (merge-drivers, localisation diff tools, etc.) will always detect a diff.- "pbac_desc_update_event_types": "...", - "pbac_desc_manage_event_types": "..." + "pbac_desc_update_event_types": "...", + "pbac_desc_manage_event_types": "..."Just move the new
"pbac_desc_manage_*"blocks so the key-order remains stable. No functional change – only positioning.
[tag: suggest_nitpick]
3308-3338: Wording consistency – consider “în cadrul …”Most Romanian strings elsewhere use the pattern “în cadrul organizației/echipelor” (e.g.
pbac_desc_manage_organizations).
The new lines read “în echipele organizației”. For consistency and smoother Romanian it would be:-"Toate acțiunile legate de roluri în echipele organizației" +"Toate acțiunile legate de roluri în cadrul echipelor organizației"Apply the same tweak to the four newly-added sentences.
[tag: suggest_nitpick]apps/web/public/static/locales/uk/common.json (1)
3321-3321: Minor wording tweak for clarity
"Усі дії з командами в межах організації"reads well, but the shorter form used above (“в командах організації”) is already clear and avoids repetition. Aligning both strings keeps the style uniform.Not blocking – mentioning for future consistency only.
apps/web/public/static/locales/zh-TW/common.json (1)
3308-3313: Duplicate translation keys break the JSON contract
pbac_desc_update_event_typesandpbac_desc_delete_event_typesare declared twice (see lines 3308-3309 and again at 3311-3312). JSON objects must contain unique keys – on parse the latter occurrence silently overwrites the former, which is almost certainly not what you want.Diff suggestion – keep the first pair and drop the duplicates:
- "pbac_desc_update_event_types": "更新活動類型", - "pbac_desc_delete_event_types": "刪除活動類型",Do the same audit for any other keys you added in this hunk to ensure each identifier is unique within the file.
⛔ Skipped due to learnings
Learnt from: bandhan-majumder PR: calcom/cal.com#22359 File: packages/lib/server/locales/en/common.json:1336-1339 Timestamp: 2025-07-14T16:31:45.233Z Learning: When making localization changes for new features, it's often safer to add new strings rather than modify existing ones to avoid breaking existing functionality that depends on the original strings. This approach allows for feature-specific customization while maintaining backward compatibility.apps/web/public/static/locales/ca/common.json (1)
3308-3314: Duplicate translation key –pbac_desc_manage_event_typesappears twiceThe key is defined at 3308 and again at 3313 with the same value.
Most JSON loaders keep the last occurrence and silently discard the earlier one, so you’ll end up with an unpredictable/hidden override and a noisy diff history.- "pbac_desc_manage_event_types": "Totes les accions sobre tipus d'esdeveniments en els equips de l'organització",Delete one of the duplicates (or merge if you intended different wording).
Do the same sweep for the otherpbac_desc_*blocks to ensure uniqueness.Likely an incorrect or invalid review comment.
| "pbac_desc_manage_teams": "Totes les accions sobre equips en els equips de l'organització", | ||
| "pbac_desc_create_organization": "Crear organització", |
There was a problem hiding this comment.
More duplicate keys – pbac_desc_manage_teams & pbac_desc_manage_bookings
pbac_desc_manage_teams (line 3321) and pbac_desc_manage_bookings (line 3336) are already defined earlier in the same file.
Having multiple definitions of the same key in one JSON file is invalid according to the spec and will bite you during i18n extraction / merge‐tooling.
Search & purge the extras:
- "pbac_desc_manage_teams": "Totes les accions sobre equips en els equips de l'organització",
- "pbac_desc_manage_bookings": "Totes les accions sobre reserves en els equips de l'organització",After cleanup, run a quick jq . common.json (or equivalent) to ensure the file is still valid.
Also applies to: 3336-3337
🤖 Prompt for AI Agents
In apps/web/public/static/locales/ca/common.json around lines 3321-3322 and
3336-3337, there are duplicate keys `pbac_desc_manage_teams` and
`pbac_desc_manage_bookings` that appear earlier in the file. To fix this, search
the entire file for all occurrences of these keys and remove the duplicate
entries, keeping only one unique definition per key. After cleanup, validate the
JSON file using a tool like `jq . common.json` to ensure it remains valid and
correctly formatted.
Graphite Automations"Add consumer team as reviewer" took an action on this PR • (07/28/25)1 reviewer was added to this PR based on Keith Williams's automation. "Add foundation team as reviewer" took an action on this PR • (07/28/25)1 reviewer was added to this PR based on Keith Williams's automation. "Add ready-for-e2e label" took an action on this PR • (07/28/25)1 label was added to this PR based on Keith Williams's automation. |
646043a to
add22c4
Compare
ba4eb11 to
4a1172f
Compare
4a1172f to
b8d27c4
Compare
e8c3740 to
1223fcd
Compare
1223fcd to
439364c
Compare
439364c to
9ec290c
Compare
5c86932 to
942d621
Compare
942d621 to
9a8c029
Compare
9a8c029 to
f3d960e
Compare
f3d960e to
90ad5af
Compare
90ad5af to
d8906c0
Compare
d8906c0 to
1d5e64e
Compare
1d5e64e to
add4401
Compare
add4401 to
fb4668c
Compare
6e7d9f4 to
3e1951c
Compare
3e1951c to
15870c1
Compare
15870c1 to
5311f93
Compare
|
Old, closing. |
Pull request was closed
Hey team,
Lingo.dev here with fresh translations!
In this update
Next Steps