Skip to content

Translations update from Hosted Weblate#364

Merged
n-ce merged 19 commits into
n-ce:mainfrom
weblate:weblate-ytify-web
Dec 25, 2025
Merged

Translations update from Hosted Weblate#364
n-ce merged 19 commits into
n-ce:mainfrom
weblate:weblate-ytify-web

Conversation

@weblate
Copy link
Copy Markdown
Contributor

@weblate weblate commented Dec 23, 2025

Translations update from Hosted Weblate for ytify/web.

Current translation status:

Weblate translation status

Summary by CodeRabbit

  • Localization
    • Expanded French translations with many new UI strings across navigation, About, player, hub, queue, login/sync, settings, library, lyrics and updater for richer labels and prompts.
    • Standardized copy: switched playlist-related terminology to "playlist" and applied consistent punctuation/spacing for clearer, more user-friendly French text.

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

weblate and others added 15 commits December 22, 2025 20:21
Currently translated at 81.3% (140 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/es/
Currently translated at 77.3% (133 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/ar/
Currently translated at 87.2% (150 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/ru/
Currently translated at 77.3% (133 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/zh_Hans/
Currently translated at 59.8% (103 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/ro/
Currently translated at 94.1% (162 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/ja/
Currently translated at 86.0% (148 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/pl/
Currently translated at 77.3% (133 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/pt/
Currently translated at 77.3% (133 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/id/
Currently translated at 77.3% (133 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/hi/
Currently translated at 36.0% (62 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/tr/
Currently translated at 77.3% (133 of 172 strings)

Translation: ytify/web
Translate-URL: https://hosted.weblate.org/projects/ytify/web/ur/
Currently translated at 77.3% (133 of 172 strings)

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

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

coderabbitai Bot commented Dec 23, 2025

📝 Walkthrough

Walkthrough

This PR updates the French locale file src/locales/fr.json: it standardizes playlist wording to "Playlists"/"playlist", revises one list description, and adds ~50+ new translation keys across navigation, About, player, hub, login/sync, settings, lyrics, updater and other UI labels; minor typographic tweaks applied.

Changes

Cohort / File(s) Summary
French localization (single file)
src/locales/fr.json
Replaced several "Listes de lecture" strings with "Playlists" and updated fetchlist_* and list_info wording; added ~50+ new translation keys (e.g., actions_menu_yt_link, nav_queue, nav_close, about_*, player_*, hub_*, list_*, search_filter_*, settings_quality_*, login_*, sync_*, lyrics_*, updater_*, nav_hub, nav_logout, etc.); minor punctuation/spacing normalization.

Sequence Diagram(s)

(omitted — locale additions and wording updates do not alter multi-component control flow)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Poem

🐰🥕 J'ai sauté sur les mots, ajouté des clés en chemin,
Playlists et paroles brillent au matin,
Le hub, le lecteur, les menus se garnissent,
Les étiquettes chantent — le lapin applaudit, ravi.

Pre-merge checks and finishing touches

✅ 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 describes the main change: a translation update for the French locale file from Hosted Weblate with numerous key additions and modifications.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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: 2

🧹 Nitpick comments (1)
src/locales/fr.json (1)

212-212: Awkward phrasing in fallback message.

"Mes morceaux préférés pour créer une galerie" (My favorite tracks to create a gallery) reads awkwardly. The context suggests this is a prompt encouraging the user to like tracks, not a statement about existing favorites.

🔎 Suggested improvement
-    "hub_gallery_fallback": "Mes morceaux préférés pour créer une galerie.",
+    "hub_gallery_fallback": "Aimez des morceaux pour créer une galerie.",

Or:

-    "hub_gallery_fallback": "Mes morceaux préférés pour créer une galerie.",
+    "hub_gallery_fallback": "Vos morceaux préférés apparaîtront ici pour créer une galerie.",
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dc93517 and 0c22666.

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

30-31: Terminology standardization looks good.

The shift from "liste de lecture" to "playlist" aligns with common French usage in music/tech contexts, where the English loanword is widely accepted and often preferred.

Also applies to: 36-36, 41-41, 51-51


187-211: New translations look good overall.

The majority of the new French translations are grammatically correct and contextually appropriate. The terminology is consistent with French tech/music conventions.

Also applies to: 213-220, 222-274

Comment thread src/locales/fr.json Outdated
Comment thread src/locales/fr.json Outdated
"list_saved_to_library": "Enregistrée dans la bibliothèque",
"actions_menu_listen_later": "Écouter plus tard",
"list_view_on_yt": "Vue sur YouTube",
"list_streams_count": "flux de dollars",
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot Dec 23, 2025

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Translation error: Placeholder mishandled.

"flux de dollars" translates to "cash flow" or "dollar streams," which doesn't make sense in this context. The $ symbol is a placeholder for a number, so the translation should position it correctly within the French phrase structure.

🔎 Suggested fix
-    "list_streams_count": "flux de dollars",
+    "list_streams_count": "$ flux",

Or if more context is needed:

-    "list_streams_count": "flux de dollars",
+    "list_streams_count": "$ élément(s)",
📝 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
"list_streams_count": "flux de dollars",
"list_streams_count": "$ flux",
🤖 Prompt for AI Agents
In src/locales/fr.json around line 221, the translation "flux de dollars"
misinterprets the $ placeholder; replace it with a French string that keeps the
$ placeholder in the correct position and reads naturally, for example use
"nombre de flux : $" (or another natural variant like "nombre de flux $"
depending on surrounding punctuation), preserving the exact $ token and spacing.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

@Mickael81 '$' should remain in the translation, it acts as a placeholder for variable values.

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.

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

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.

@n-ce I understand now. Sorry for the mistake and thank you for the explanation. I'll be more careful next time.

Mickael81 and others added 2 commits December 25, 2025 00:00
Currently translated at 100.0% (220 of 220 strings)

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

♻️ Duplicate comments (1)
src/locales/fr.json (1)

74-74: Grammatical issue persists: Subject-verb agreement.

As flagged in the previous review, this sentence has a subject-verb agreement problem. The subjects "Playlist, chaîne" lack articles and are singular, while "éléments" is plural, creating confusion with the plural verb "s'affichent".

🔎 Suggested fix
-    "list_info": "Playlist, chaîne ou éléments de votre collection s'affichent ici",
+    "list_info": "Les playlists, chaînes ou éléments de votre collection s'affichent ici",
🧹 Nitpick comments (1)
src/locales/fr.json (1)

220-221: Consider terminology consistency.

Two minor suggestions for better consistency:

  1. Line 220: "Vue sur YouTube" could be "Voir sur YouTube" to match other "Voir" actions (see lines 83, 84, 85, 231).
  2. Line 221: "$ streams" mixes English with French. Consider "$ flux" or "$ diffusions" for consistency, though the English loanword may be intentional.
🔎 Suggested fixes
-    "list_view_on_yt": "Vue sur YouTube",
+    "list_view_on_yt": "Voir sur YouTube",
-    "list_streams_count": "$ streams",
+    "list_streams_count": "$ flux",
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0c22666 and 3951a8c.

📒 Files selected for processing (1)
  • src/locales/fr.json
🔇 Additional comments (3)
src/locales/fr.json (3)

30-31: Terminology standardization looks good.

The shift from "liste de lecture" to "playlist" is acceptable in French technical contexts, where "playlist" is widely used and understood as a loanword.

Also applies to: 36-36, 41-41, 51-51


187-211: LGTM!

These new translation keys are grammatically correct and use proper French conventions, including correct placeholder usage and punctuation.


222-279: LGTM!

The remaining new translation keys are grammatically correct, maintain proper French conventions, and correctly preserve all placeholders.

Comment thread src/locales/fr.json Outdated
n-ce and others added 2 commits December 25, 2025 09:46
… incomplete and unclear. It seems to translate to "My favorite tracks to create a gallery," which doesn't convey a clear action or instruction.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…list, chaîne") but uses the plural verb "s'affichent". This creates a grammatical mismatch in French.

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
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

♻️ Duplicate comments (1)
src/locales/fr.json (1)

74-74: Subject-verb agreement issue persists.

The grammatical issue flagged in the previous review remains: "Playlist, chaîne ou éléments de votre collection s'affichent ici" mixes subjects without articles with a plural verb, creating a grammatical mismatch in French.

🔎 Suggested fix
-    "list_info": "Playlist, chaîne ou éléments de votre collection s'affichent ici",
+    "list_info": "La playlist, la chaîne ou les éléments de votre collection s'affichent ici",

Alternatively:

-    "list_info": "Playlist, chaîne ou éléments de votre collection s'affichent ici",
+    "list_info": "Les playlists, chaînes et éléments de votre collection s'affichent ici",
🧹 Nitpick comments (1)
src/locales/fr.json (1)

192-193: Consider using non-breaking spaces before colons.

French typography conventions call for non-breaking spaces (U+00A0) before colons, semicolons, exclamation marks, and question marks for proper text rendering.

🔎 Suggested fix
-    "about_support_project": "Soutenez le projet ytify : via UPI",
-    "about_support_earth": "Soutenons notre planète :",
+    "about_support_project": "Soutenez le projet ytify\u00A0: via UPI",
+    "about_support_earth": "Soutenons notre planète\u00A0:",
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3951a8c and 80020fe.

📒 Files selected for processing (1)
  • src/locales/fr.json
🔇 Additional comments (4)
src/locales/fr.json (4)

30-31: Terminology standardization looks good.

The change from "liste de lecture" to "playlist" is consistent with the broader terminology updates in this file and reflects common usage in French digital contexts.


36-36: Consistent terminology update.

The plural form "Playlists" aligns with the terminology standardization applied throughout this translation update.

Also applies to: 41-41, 51-51


212-212: Improved clarity addresses previous feedback.

The updated fallback message provides a clear call-to-action. While "Likez" is an anglicism, it's widely understood in French digital contexts and makes the instruction actionable.


187-211: Comprehensive translation additions look solid.

The newly added translations cover navigation, about, player, hub, list operations, settings, library, lyrics, login/sync, and updater sections. The translations are grammatically sound, use appropriate terminology, and maintain consistency with existing translations.

Also applies to: 213-220, 222-246, 247-279

Comment thread src/locales/fr.json
"list_saved_to_library": "Enregistrée dans la bibliothèque",
"actions_menu_listen_later": "Écouter plus tard",
"list_view_on_yt": "Vue sur YouTube",
"list_streams_count": "$ streams",
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

Translate the English word "streams" to French.

The word "streams" remains untranslated. While the $ placeholder is correctly preserved, the following word should be in French.

🔎 Suggested fix
-    "list_streams_count": "$ streams",
+    "list_streams_count": "$ flux",

Or alternatively:

-    "list_streams_count": "$ streams",
+    "list_streams_count": "$ éléments",
📝 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
"list_streams_count": "$ streams",
"list_streams_count": "$ flux",
🤖 Prompt for AI Agents
In src/locales/fr.json around line 221 the value for "list_streams_count" still
uses the English word "streams"; update the translation to French while
preserving the $ placeholder (for example change the string to "$ flux") so the
placeholder remains intact and the word is translated.

@n-ce n-ce merged commit 876117f into n-ce:main Dec 25, 2025
0 of 2 checks passed
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

♻️ Duplicate comments (1)
src/locales/fr.json (1)

221-221: Translate the English word "streams" to French.

The word "streams" remains untranslated. This issue was previously flagged and discussed—the $ placeholder must be preserved, but the following word should be in French.

🔎 Suggested fix
-    "list_streams_count": "$ streams",
+    "list_streams_count": "$ flux",

Or alternatively:

-    "list_streams_count": "$ streams",
+    "list_streams_count": "$ éléments",
🧹 Nitpick comments (1)
src/locales/fr.json (1)

74-74: Consider adding articles for consistency.

The grammatical agreement is improved, but for full consistency in French, consider adding articles before each noun in the list.

🔎 Proposed refinement
-    "list_info": "Les playlists, chaînes ou éléments de votre collection s'affichent ici",
+    "list_info": "Les playlists, les chaînes ou les éléments de votre collection s'affichent ici",
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 80020fe and 9c126c8.

📒 Files selected for processing (1)
  • src/locales/fr.json
🔇 Additional comments (5)
src/locales/fr.json (5)

30-31: LGTM! Consistent terminology standardization.

The shift from "liste de lecture" to "playlist" and "Listes de lecture" to "Playlists" maintains consistency across the UI labels and error messages.

Also applies to: 36-36, 41-41, 51-51


187-203: LGTM! Navigation, about, and player translations are accurate.

The new keys for navigation, about section, and player controls are properly translated with correct placeholder handling.


212-216: LGTM! Hub fallback messages are clear and actionable.

The fallback messages for empty hub sections are well-written and provide clear guidance to users.


222-242: LGTM! List operations, settings, and library translations are accurate.

The new keys for list operations, quality settings, and library management are properly translated with correct grammar and placeholder handling.


243-279: LGTM! Lyrics, login, sync, and remaining translations are accurate.

The new keys for lyrics display, authentication, cloud sync, library migration, and miscellaneous UI elements are properly translated with clear, user-friendly messaging.

Comment thread src/locales/fr.json
"list_save_to_library": "Enregistrer dans la bibliothèque",
"list_saved_to_library": "Enregistrée dans la bibliothèque",
"actions_menu_listen_later": "Écouter plus tard",
"list_view_on_yt": "Vue sur YouTube",
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

Use the verb form instead of the noun.

"Vue" is a noun meaning "view/sight," but the context requires the verb infinitive "Voir" (to view/see).

🔎 Proposed fix
-    "list_view_on_yt": "Vue sur YouTube",
+    "list_view_on_yt": "Voir sur YouTube",
🤖 Prompt for AI Agents
In src/locales/fr.json around line 220, the translation uses the noun "Vue" for
the key "list_view_on_yt" but should use the verb infinitive; change the value
to the verb form "Voir sur YouTube" so it correctly conveys the action of
viewing on YouTube.

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.

3 participants