Skip to content

Translations update from Hosted Weblate#369

Merged
n-ce merged 32 commits into
n-ce:dev-nextfrom
weblate:weblate-ytify-web
Feb 11, 2026
Merged

Translations update from Hosted Weblate#369
n-ce merged 32 commits into
n-ce:dev-nextfrom
weblate:weblate-ytify-web

Conversation

@weblate
Copy link
Copy Markdown
Contributor

@weblate weblate commented Jan 15, 2026

Translations update from Hosted Weblate for ytify/web.

Current translation status:

Weblate translation status

Summary by CodeRabbit

  • New Features

    • Full Croatian, Serbian, and Bosnian UI translations added.
    • Additional locale (cnr) scaffold added.
  • Documentation / Localization

    • German translations refined and a new German notification string added.
    • Dutch translations updated and a new Dutch notification string added.

✏️ Tip: You can customize this high-level summary in your review settings.

weblate and others added 19 commits January 11, 2026 00:01
Currently translated at 97.7% (219 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/ru/
Currently translated at 97.7% (219 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/zh_Hans/
Currently translated at 96.8% (217 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/pt/
Currently translated at 98.6% (221 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/nl/
Currently translated at 98.2% (220 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/ar/
Currently translated at 95.0% (213 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/ro/
Currently translated at 96.4% (216 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/id/
Currently translated at 97.7% (219 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/ur/
Currently translated at 98.6% (221 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/de/
Currently translated at 100.0% (224 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/fr/
Currently translated at 100.0% (224 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/fr/
Currently translated at 97.3% (218 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/es/
Currently translated at 92.8% (208 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/bn/
Currently translated at 95.9% (215 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/hi/
Currently translated at 96.4% (216 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/ja/
Currently translated at 97.3% (218 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/pl/
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jan 15, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds multiple new locale files (Croatian, Serbian, Bosnian, CNR) and updates German and Dutch locale entries, including a new queue_reload_notification key in de.json and nl.json plus several wording adjustments in de.json and nl.json.

Changes

Cohort / File(s) Summary
New — South Slavic locales
src/locales/hr.json, src/locales/sr.json, src/locales/bs.json
Three new locale files added, each containing a full set of localization keys (~226 entries each) with translations for navigation, player, queue, library, hub, search, settings, updater, login, sync, lyrics, etc.
New — CNR scaffold
src/locales/cnr.json
New locale file added with a full set of localization keys populated (CNR variant).
Updated — German
src/locales/de.json
Several German strings updated (phrasing adjustments) and a new key queue_reload_notification added.
Updated — Dutch
src/locales/nl.json
Minor value updates and addition of queue_reload_notification.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰
I hopped through keys both near and far,
Croatian, Serbian — each a star,
Bosnian and CNR—lines in a row,
German and Dutch got a gentle glow,
I nibble keys and watch the UI grow.

🚥 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 accurately reflects the main change: translation updates synchronized from Hosted Weblate for multiple locales (Croatian, Serbian, Bosnian, Montenegrin, German, and Dutch).
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.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

Issue Planner is now in beta. Read the docs and try it out! 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
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: 1

🤖 Fix all issues with AI agents
In `@src/locales/hr.json`:
- Around line 1-226: The hr.json locale file contains 223 empty translation
values causing t() to return key names (e.g., "nav_search") in the UI; either
remove src/locales/hr.json from the PR or populate every key with non-empty
Croatian strings (matching the other locales' keys/count), ensuring keys like
"nav_search", "player_play_button", and "settings_theming_scheme_dark" have
proper translations (or temporary placeholders) before merging; if filling,
export from Weblate or copy the English strings as placeholders and replace them
with real translations, then re-run any localization validation/tests.
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 99e3051 and e80822b.

📒 Files selected for processing (1)
  • src/locales/hr.json

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment thread src/locales/hr.json
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: 1

🤖 Fix all issues with AI agents
In `@src/locales/sr.json`:
- Around line 1-226: The Serbian locale file src/locales/sr.json contains 224
keys with empty string values, causing the t() fallback (translations[key] ||
key) to return the key names (e.g., "nav_search", "player_play_button") instead
of Serbian text; fix by either removing sr.json from this PR or populating every
key in sr.json with proper Serbian translations (ensure keys like "nav_search",
"player_play_button", "library_imported", "settings_theming_scheme", etc. are
non-empty) so the t() lookup returns the translated string rather than the
fallback key.
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e80822b and ab19c86.

📒 Files selected for processing (2)
  • src/locales/hr.json
  • src/locales/sr.json
🔇 Additional comments (1)
src/locales/hr.json (1)

1-226: LGTM — Croatian translations are now fully populated.

The previous critical issue has been resolved. All 225 translation keys now contain Croatian text, and the locale file is ready for use.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment thread src/locales/sr.json
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: 1

🤖 Fix all issues with AI agents
In `@src/locales/bs.json`:
- Around line 1-226: bs.json contains 224 keys with empty string values so the
translation lookup (translations[key] || key) falls back to raw keys (e.g.,
"nav_search", "player_play_button"); either remove bs.json from the PR or
populate each key with proper Bosnian strings, making sure no values are empty
(non-empty Unicode strings for "nav_search", "player_play_button", etc.), then
re-run localization checks/CI to verify translations are used instead of key
fallbacks.
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ab19c86 and 9f6a5fa.

📒 Files selected for processing (2)
  • src/locales/bs.json
  • src/locales/sr.json
🔇 Additional comments (1)
src/locales/sr.json (1)

1-226: Serbian translations are now complete — previous issue resolved.

All 224 keys are populated with Serbian (Cyrillic) translations, addressing the critical issue from the previous review. The file is ready for merging.

Minor translation quality observations (non-blocking):

  • Line 52: "search_filter_videos": "Важност" — "Важност" means "Relevance/Importance", consider using "Видео снимци" for "Videos"
  • Line 111: "list_mark_mode": "Марк Моде" — transliterated English; consider a native Serbian term
  • Line 169: "settings_clear_discoveries" contains "1 долара" which may be a placeholder interpolation issue (should likely be $ placeholder)
  • Line 194: "clear_hub": "Клир ХАБ" — transliterated English; consider native Serbian

These are minor localization polish items that can be addressed in a follow-up.

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment thread src/locales/bs.json
Currently translated at 100.0% (224 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/hr/
Currently translated at 100.0% (224 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/nl/
Currently translated at 100.0% (224 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/de/
Currently translated at 100.0% (224 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/bs/
Currently translated at 100.0% (224 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/sr/
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: 1

🤖 Fix all issues with AI agents
In `@src/locales/cnr.json`:
- Around line 1-226: cnr.json currently contains 225 empty translation values
which, due to the app's fallback (translations[key] || key) and dynamic
registration via readdirSync in vite.config.ts, will show raw keys in the UI;
either populate cnr.json with actual Montenegrin translations for all keys
(replacing each "" with the translated string) or remove cnr.json from the PR so
it isn't registered via readdirSync until translations are ready. Ensure you
update the same file name (cnr.json) and rerun any lint/i18n checks before
merging.
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 9f6a5fa and 3b87272.

📒 Files selected for processing (6)
  • src/locales/bs.json
  • src/locales/cnr.json
  • src/locales/de.json
  • src/locales/hr.json
  • src/locales/nl.json
  • src/locales/sr.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/locales/sr.json
🔇 Additional comments (4)
src/locales/nl.json (1)

60-60: LGTM!

The Dutch locale updates are well-formed:

  • search_filter_youtube_music updated to "YouTube Muziek" (proper Dutch localization)
  • Settings keys updated with clearer wording
  • New queue_reload_notification key added with appropriate translation

All keys have non-empty values and the translations appear correct.

Also applies to: 167-169, 224-225

src/locales/hr.json (1)

1-226: LGTM! Previous issue resolved.

The Croatian locale now contains all 225 translation keys with proper Croatian text. The previously flagged issue (empty translations) has been addressed.

src/locales/bs.json (1)

1-226: LGTM! Previous issue resolved.

The Bosnian locale now contains all 225 translation keys with proper Bosnian text. The previously flagged issue (empty translations causing UI to display raw key names) has been addressed - all values are now populated.

src/locales/de.json (1)

9-9: LGTM!

The German locale updates are well-formed:

  • about_description updated with clearer wording
  • search_filter_youtube_music localized to "YouTube Musik"
  • Settings keys updated with improved translations
  • New queue_reload_notification key added with appropriate German translation ("Änderungen werden ab der nächsten Sitzung angezeigt")

All updates maintain consistency with other locale changes in this PR.

Also applies to: 60-60, 167-169, 224-225

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment thread src/locales/cnr.json
Currently translated at 100.0% (224 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/sr/
Currently translated at 100.0% (224 of 224 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/cnr/
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: 1

🤖 Fix all issues with AI agents
In `@src/locales/sr.json`:
- Around line 193-195: The value for the localization key "clear_hub" in
src/locales/sr.json is an untranslated/mixed-language string ("Клир ХАБ");
confirm the correct Serbian translation with Weblate or a translator and replace
the value for the "clear_hub" key (currently "Клир ХАБ") with the consistent
Serbian phrase (for example "Очисти чвориште") so all entries are fully
localized and consistent with other keys like "clear_hub_prompt" and
"library_search_placeholder".
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3b87272 and 37307a2.

📒 Files selected for processing (2)
  • src/locales/cnr.json
  • src/locales/sr.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/locales/cnr.json

✏️ Tip: You can disable this entire section by setting review_details to false in your review settings.

Comment thread src/locales/sr.json
Comment on lines +193 to +195
"clear_hub_prompt": "Да ли сте сигурни да желите да обришете све податке о чворишту?",
"clear_hub": "Клир ХАБ",
"library_search_placeholder": "Претражи локалну библиотеку",
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 | 🟡 Minor

Possible untranslated/mixed-language string ("Клир ХАБ").
Everything else reads Serbian, but this looks like an English calque. Please confirm with Weblate/translator and replace with a consistent Serbian translation (e.g., “Очисти чвориште”).

🤖 Prompt for AI Agents
In `@src/locales/sr.json` around lines 193 - 195, The value for the localization
key "clear_hub" in src/locales/sr.json is an untranslated/mixed-language string
("Клир ХАБ"); confirm the correct Serbian translation with Weblate or a
translator and replace the value for the "clear_hub" key (currently "Клир ХАБ")
with the consistent Serbian phrase (for example "Очисти чвориште") so all
entries are fully localized and consistent with other keys like
"clear_hub_prompt" and "library_search_placeholder".

@n-ce n-ce changed the base branch from main to dev-next February 11, 2026 18:17
@n-ce n-ce merged commit 4221459 into n-ce:dev-next Feb 11, 2026
1 of 2 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Feb 19, 2026
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.

5 participants