Skip to content

fix: add missing i18n translation keys for Timestamp Picker in 9 languages#7017

Open
Peersheik wants to merge 2 commits intoRocketChat:developfrom
Peersheik:develop
Open

fix: add missing i18n translation keys for Timestamp Picker in 9 languages#7017
Peersheik wants to merge 2 commits intoRocketChat:developfrom
Peersheik:develop

Conversation

@Peersheik
Copy link

@Peersheik Peersheik commented Feb 28, 2026

Proposed changes

Issue(s)

How to test or reproduce

Screenshots

Types of changes

  • Bugfix (non-breaking change which fixes an issue)
  • Improvement (non-breaking change which improves a current function)
  • New feature (non-breaking change which adds functionality)
  • Documentation update (if none of the other choices apply)

Checklist

  • I have read the CONTRIBUTING doc
  • I have signed the CLA
  • Lint and unit tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works (if applicable)
  • I have added necessary documentation (if applicable)
  • Any dependent changes have been merged and published in downstream modules

Further comments

Summary by CodeRabbit

  • Chores
    • Added localization support for timestamp picker and date/time formatting across nine languages: German, English, Spanish, French, Japanese, Korean, Portuguese, Russian, and Chinese (Simplified).

## What does this PR do?
Adds missing i18n translation keys for the Timestamp Picker feature 
across 9 languages: English, Portuguese, Spanish, German, French, 
Russian, Chinese (Simplified), Japanese, and Korean.

## Why is this needed?
The Timestamp Picker feature (reference: RocketChat#6524) introduced new UI 
strings but translation keys were missing for non-English languages. 
This ensures users worldwide can use the feature in their native language.

## Languages added
- 🇺🇸 English (en)
- 🇧🇷 Portuguese (pt)
- 🇪🇸 Spanish (es)
- 🇩🇪 German (de)
- 🇫🇷 French (fr)
- 🇷🇺 Russian (ru)
- 🇨🇳 Chinese Simplified (zh-CN)
- 🇯🇵 Japanese (ja)
- 🇰🇷 Korean (ko)

## Type of change
- Bug fix / improvement (non-breaking)
@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 28, 2026

Walkthrough

This PR adds timestamp-related localization keys across 9 language locale files (German, English, Spanish, French, Japanese, Korean, Portuguese, Russian, and Simplified Chinese). Each locale receives 13–14 new translation keys for timestamp picker UI components and timestamp format representations. JSON syntax is corrected with trailing commas.

Changes

Cohort / File(s) Summary
Timestamp Localization Keys
app/i18n/locales/de.json, app/i18n/locales/en.json, app/i18n/locales/es.json, app/i18n/locales/fr.json, app/i18n/locales/ja.json, app/i18n/locales/ko.json, app/i18n/locales/pt-PT.json, app/i18n/locales/ru.json, app/i18n/locales/zh-CN.json
Added 13–14 timestamp-related translation keys per locale for timestamp picker UI (Date, Time, Format, Preview, Add, Timezone) and timestamp formats (Short/Long Time/Date, Full, Relative). Corrected JSON syntax with trailing commas.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

type: chore

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'fix: add missing i18n translation keys for Timestamp Picker in 9 languages' accurately describes the main change—adding timestamp-related translation keys across nine localization files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


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

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
app/i18n/locales/en.json (1)

1027-1039: Consider adding locale key-parity validation in CI.

This PR fixes missing keys manually; a keyset parity check across locale JSON files would prevent this class of regression going forward.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@app/i18n/locales/en.json` around lines 1027 - 1039, Add an automated locale
key-parity check to CI so missing keys like "Timestamp_Picker",
"Timestamp_Full", "Timestamp_Relative", etc. are detected; implement a small
validation script (e.g., validate-locales or i18n-parity) that loads all locale
JSONs, compares key sets against the canonical en locale, and exits non-zero on
mismatch, then add a CI job (e.g., i18n-parity) to run that script on PRs;
ensure the script prints missing/extra keys per locale and integrate it into
package.json scripts so CI can call it.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@app/i18n/locales/en.json`:
- Around line 1027-1039: Add an automated locale key-parity check to CI so
missing keys like "Timestamp_Picker", "Timestamp_Full", "Timestamp_Relative",
etc. are detected; implement a small validation script (e.g., validate-locales
or i18n-parity) that loads all locale JSONs, compares key sets against the
canonical en locale, and exits non-zero on mismatch, then add a CI job (e.g.,
i18n-parity) to run that script on PRs; ensure the script prints missing/extra
keys per locale and integrate it into package.json scripts so CI can call it.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 566e100 and ffb9730.

📒 Files selected for processing (9)
  • app/i18n/locales/de.json
  • app/i18n/locales/en.json
  • app/i18n/locales/es.json
  • app/i18n/locales/fr.json
  • app/i18n/locales/ja.json
  • app/i18n/locales/ko.json
  • app/i18n/locales/pt-PT.json
  • app/i18n/locales/ru.json
  • app/i18n/locales/zh-CN.json
📜 Review details
🔇 Additional comments (9)
app/i18n/locales/ko.json (1)

1-13: Timestamp picker localization block looks good.

The added Korean keys are complete and consistent with the new timestamp picker surface.

app/i18n/locales/es.json (1)

481-494: Spanish timestamp keys are correctly integrated.

The new entries are complete and appended safely without breaking the locale file structure.

app/i18n/locales/de.json (1)

912-925: German timestamp localization additions look correct.

All expected timestamp picker keys are present and values are locale-appropriate.

app/i18n/locales/fr.json (1)

805-818: French timestamp picker translations are solid.

The additions are complete and correctly scoped to the new feature keys.

app/i18n/locales/en.json (1)

1026-1039: English timestamp keys and string continuity look correct.

This segment cleanly adds the timestamp picker labels and examples with valid JSON structure.

app/i18n/locales/zh-CN.json (1)

651-664: Simplified Chinese timestamp localization is complete.

The new timestamp picker keys are consistently added and structurally correct.

app/i18n/locales/pt-PT.json (1)

540-553: Portuguese (pt-PT) timestamp additions are in good shape.

Keys are complete and integrated without structural issues.

app/i18n/locales/ja.json (1)

579-592: Japanese timestamp picker localization block looks correct.

The added keys are complete and aligned with the feature’s i18n surface.

app/i18n/locales/ru.json (1)

852-865: LGTM!

The timestamp picker translations are well-implemented:

  • Russian translations are idiomatic and accurate
  • Date format examples correctly use Russian conventions (DD.MM.YYYY format in line 862, Russian month name "июля" in lines 863-864)
  • Key naming follows the existing PascalCase_With_Underscores convention
  • JSON syntax is valid with proper comma placement

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants