Skip to content

Translations update from Hosted Weblate#368

Merged
n-ce merged 17 commits into
n-ce:mainfrom
weblate:weblate-ytify-web
Jan 12, 2026
Merged

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

Conversation

@weblate
Copy link
Copy Markdown
Contributor

@weblate weblate commented Jan 11, 2026

Translations update from Hosted Weblate for ytify/web.

Current translation status:

Weblate translation status

Summary by CodeRabbit

  • Localization

    • Added French translation for queue reload notification message.
  • Chores

    • Reformatted localization files for consistency across all supported languages.

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

weblate and others added 17 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 11, 2026

📝 Walkthrough

Walkthrough

Re-indentation and formatting adjustments across 15 locale JSON files. A new translation key queue_reload_notification is introduced in French and Chinese locale files with corresponding translated values.

Changes

Cohort / File(s) Summary
Indentation Formatting Only
src/locales/ar.json, src/locales/bn.json, src/locales/de.json, src/locales/es.json, src/locales/hi.json, src/locales/id.json, src/locales/ja.json, src/locales/nl.json, src/locales/pl.json, src/locales/pt.json, src/locales/ro.json, src/locales/ru.json, src/locales/ur.json
Whitespace and indentation adjustments; all key-value pairs preserved unchanged (224 lines each)
Indentation + New Translation Key
src/locales/fr.json, src/locales/zh.json
Formatting adjustments combined with addition of new queue_reload_notification translation key ("Les changements seront visibles dès la prochaine session" in French; equivalent in Chinese)

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • n-ce/ytify#295: Touches src/locales/ro.json with Romanian translation content updates.
  • n-ce/ytify#334: Modifies src/locales/ja.json with Japanese translation additions.
  • n-ce/ytify#301: Updates localization files including src/locales/ar.json and src/locales/pl.json with translation changes.

Poem

🐰 Hop, hop—the locales align,
From French to Farsi, each line refined,
New messages queued for the reload's delight,
With spacing and tabs all perfectly tight!
A rabbit approves of this formatting spree!

🚥 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 describes the main change: automated translation updates from Hosted Weblate across multiple locale 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.


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/zh.json:
- Around line 1-225: Add the missing translation key "queue_reload_notification"
to zh.json by inserting the key-value pair (use a Chinese translation like
"更改将从下一次会话显示") before the final closing brace; ensure the new entry matches the
style of surrounding entries (comma placement, double quotes) and aligns with
the existing keys such as "player_video_resolution" and
"queue_change_notification".
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7cf341d and 0fae2f8.

📒 Files selected for processing (15)
  • src/locales/ar.json
  • src/locales/bn.json
  • src/locales/de.json
  • src/locales/es.json
  • src/locales/fr.json
  • src/locales/hi.json
  • src/locales/id.json
  • src/locales/ja.json
  • src/locales/nl.json
  • src/locales/pl.json
  • src/locales/pt.json
  • src/locales/ro.json
  • src/locales/ru.json
  • src/locales/ur.json
  • src/locales/zh.json
🔇 Additional comments (10)
src/locales/nl.json (1)

2-224: Formatting update applied consistently; verify completeness of new translation keys.

The Dutch locale file shows proper JSON formatting with consistent 4-space indentation throughout. However, the AI summary indicates a new translation key queue_reload_notification was added to French and Chinese locales, but this key is absent from the provided Dutch (nl.json), Bengali (bn.json), and Hindi (hi.json) files.

Please confirm whether:

  1. The queue_reload_notification key should be present in all locales (including nl, bn, hi) or only in French and Chinese
  2. All 15 locales mentioned in the PR commit messages were properly updated with consistent keys

If this key should be in all locales, these files are incomplete.

src/locales/pl.json (1)

1-225: Formatting-only changes confirmed; content unchanged.

All translation entries in pl.json remain semantically identical to their previous versions. The PR only applies consistent indentation/formatting (4-space indent) across the file.

src/locales/pt.json (1)

1-225: Formatting-only changes confirmed; content unchanged.

All translation entries in pt.json remain semantically identical to their previous versions. The PR only applies consistent indentation/formatting (4-space indent) across the file.

src/locales/id.json (1)

1-225: Consistent formatting update, same key completeness concern as ru.json.

Indentation is properly standardized. Like ru.json, this file also lacks the queue_reload_notification key present in fr.json and zh.json. The verification script in the ru.json review comment will confirm whether this is a pattern or an issue.

src/locales/de.json (1)

1-225: Formatting standardized consistently with other locale files.

The indentation changes are consistent with ru.json and id.json. All three files follow the same pattern of formatting-only updates without semantic changes. The key completeness verification from the ru.json comment will apply to this file as well.

src/locales/ru.json (1)

1-225: JSON formatting is valid, but verify translation key completeness.

The indentation has been standardized consistently (4-space spacing) and the file is valid JSON. However, the queue_reload_notification key is present in only en.json and fr.json among the 17 locale files. It is missing from ru.json along with 15 other locales (including zh.json). Determine whether this key is intentionally omitted for these languages or if it represents incomplete translation implementation.

Likely an incorrect or invalid review comment.

src/locales/ja.json (1)

1-224: Verify consistency of new translation keys across locales.

The Japanese locale file looks syntactically correct with proper JSON structure and character encoding. However, the French locale file (fr.json) contains a new key queue_reload_notification (line 225) that is not present in this file. Per the PR summary, this key was added to French and Chinese locales; please confirm whether it should also be added to Japanese and other locales, or if this intentional locale-specific coverage is by design.

src/locales/ur.json (1)

1-224: Verify consistency of new translation keys across locales.

The Urdu locale file is syntactically correct with proper JSON structure and character encoding. However, like ja.json, this file does not contain the queue_reload_notification key that was added to fr.json (line 225). Please confirm whether this new key should also be added to the Urdu locale, or if its absence is intentional.

src/locales/fr.json (1)

225-226: Verify new queue_reload_notification key is added to all appropriate locales.

The new French translation key queue_reload_notification with value "Les changements seront visibles dès la prochaine session" is present and syntactically correct. Per the AI summary, this key was added to French and Chinese, but it is absent from the Japanese and Urdu locales provided in this review. Before approval, confirm that this new key has been consistently added (or intentionally omitted) across all updated locale files in the PR.

src/locales/ro.json (1)

1-224: Verify translation coverage for new queue_reload_notification key across all locales.

The AI summary indicates that queue_reload_notification was added to French and Chinese locales, but this key is absent from the Romanian translation file. Confirm whether:

  1. This new key should be present in all 15 updated locales for consistency
  2. Romanian (and likely other non-French/Chinese locales) intentionally exclude this feature

If the key should be present in all locales, Romanian translations are incomplete.

Comment thread src/locales/zh.json
Comment on lines 1 to +225
{
"nav_search": "搜索",
"nav_library": "媒体库",
"nav_hub": "Hub",
"nav_queue": "队列",
"nav_settings": "设置",
"close": "关闭",
"loading": "加载中...",
"about_description": "ytify是一个资源高效的音频流媒体平台,利用YouTube和YTMusic库。",
"about_learn_more": "详细了解如何有效使用它。",
"about_support_project": "支持ytify项目:通过UPI",
"about_support_earth": "支持我们的地球:",
"about_lifestyle_changes": "应对气候变化的生方式改变",
"about_crypto_any": "或通过Trocador支持任何其他加密货币",
"player_audiostreams_setup": "正在设置音频流…",
"player_audiostreams_insert": "正在将音频源插入播放器…",
"player_livestreams_hls": "开启HLS以收听直播!",
"player_audiostreams_null": "未找到音频流",
"player_now_playing": "正在播放",
"player_from": "来自 $",
"player_channel": "频道",
"player_volume": "音量",
"player_like": "喜欢",
"player_loop": "循环",
"player_lyrics": "歌词",
"player_save_progress": "保存进度",
"player_more": "更多",
"player_play_button": "播放",
"player_play_previous": "播放上一首",
"player_seek_backward": "后退",
"player_seek_forward": "前进",
"player_play_next": "播放下一首",
"queue_clear": "清空队列",
"queue_shuffle": "随机播放",
"queue_persistent_shuffle": "持久随机播放",
"queue_manual_ordering": "手动排序",
"queue_remove_mode": "移除",
"queue_duration_filter": "时长筛选",
"queue_similar_content": "相似内容",
"queue_contextual_fill": "上下文填充",
"queue_allow_duplicates": "允许重复",
"queue_change_notification": "更改将从下一个流开始生效",
"queue_author_grouping": "作者分组",
"queue_prefetch": "队列预取",
"queue_standby_header": "为您推荐",
"fetchlist_url_null": "未提供频道URL",
"fetchlist_error": "无法获取播放列表数据",
"fetchlist_nonexistent": "出现错误:“播放列表不存在。”",
"search_placeholder": "搜索或输入YouTube网址",
"search_filter_all": "全部",
"search_filter_videos": "相关度",
"search_filter_channels": "频道",
"search_filter_playlists": "播放列表",
"search_filter_music_songs": "歌曲",
"search_filter_music_artists": "艺术家",
"search_filter_music_videos": "视频",
"search_filter_music_albums": "专辑",
"search_filter_music_playlists": "播放列表",
"search_filter_youtube": "YouTube",
"search_filter_youtube_music": "YouTube Music",
"search_filter_sort_by": "排序方式",
"search_filter_date": "日期",
"search_filter_views": "观看次数",
"library_discover": "发现",
"library_history": "历史记录",
"library_favorites": "收藏夹",
"library_listen_later": "稍后收听",
"library_liked": "喜欢的音频",
"library_about": "关于",
"hub_gallery": "画廊",
"hub_subfeed": "订阅源",
"hub_frequently_played": "常听",
"hub_recently_listened": "最近听过",
"hub_discovery": "发现",
"hub_refresh": "刷新",
"hub_clear": "清除",
"hub_show_all": "显示全部",
"hub_gallery_fallback": "收藏各种音乐以生成画廊。",
"hub_subfeed_fallback": "订阅YouTube频道,在此获取最近发布的视频。",
"hub_frequently_played_fallback": "您经常播放的曲目将显示在此处。",
"hub_recently_listened_fallback": "您没有收听历史记录。",
"hub_discovery_fallback": "与您收听内容相关的发现将显示在此处。",
"library_collections": "收藏集",
"library_playlists": "播放列表",
"library_albums": "专辑",
"library_artists": "艺术家",
"library_channels": "频道",
"library_import": "导入媒体库",
"library_export": "导出媒体库",
"library_clean": "清空媒体库",
"library_clean_prompt": "确定要从媒体库中清除 $ 个项目吗?",
"library_import_prompt": "这将把您当前的媒体库与导入的媒体库合并,是否继续?",
"library_imported": "媒体库已成功导入",
"list_play": "全部播放",
"list_enqueue": "全部入队",
"list_import": "导入为收藏集",
"list_imported": "$ 已导入到您的收藏集中。",
"list_set_title": "设置标题",
"list_clear_all": "全部清除",
"list_remove": "切换移除",
"list_delete": "删除收藏集",
"list_rename": "重命名收藏集",
"list_share": "分享收藏集",
"list_radio": "开始电台",
"list_export": "快速导出",
"list_save_to_library": "保存到媒体库",
"list_saved_to_library": "已保存到媒体库",
"list_view_on_yt": "在YouTube上查看",
"list_streams_count": "$ 个流",
"list_mark_mode": "标记模式",
"list_mark_all": "标记或取消标记全部",
"list_remove_marked": "移除标记项",
"list_enqueue_marked": "标记项入队",
"list_sort_order": "排序顺序",
"list_sort_modified": "修改时间",
"list_sort_name": "名称",
"list_sort_artist": "艺术家",
"list_sort_duration": "时长",
"list_export_success": "收藏集已复制到剪贴板!",
"list_export_error": "未能将收藏集复制到剪贴板。",
"list_sort": "排序菜单",
"list_info": "播放列表、频道或您的收藏项目显示在此处",
"list_prompt_delete": "确定要删除收藏集 $ 吗?",
"list_prompt_clear": "确定要清除 $ 吗?",
"list_prompt_rename": "输入新标题",
"list_rename_prompt": "输入新标题",
"list_rename_success": "收藏集已成功重命名!",
"list_already_exists": "已存在同名项目!",
"actions_menu_play_next": "下一首播放",
"actions_menu_enqueue": "加入队列",
"actions_menu_start_radio": "开始电台",
"actions_menu_download": "下载",
"actions_menu_downloading": "正在下载...",
"actions_menu_download_success": "下载就绪!",
"actions_menu_watch_on": "在 $ 上观看",
"actions_menu_view_artist": "查看艺术家",
"actions_menu_view_lyrics": "查看歌词",
"actions_menu_view_album": "查看专辑",
"actions_menu_view_channel": "查看频道",
"actions_menu_listen_later": "稍后收听",
"actions_menu_debug_info": "查看详细信息",
"actions_menu_share": "分享链接",
"actions_menu_yt_link": "在YouTube中打开",
"collection_selector_add_to": "添加到收藏集",
"collection_selector_create_new": "创建新收藏集",
"collection_selector_favorites": "收藏夹",
"collection_selector_listen_later": "稍后收听",
"settings_language": "语言",
"settings_pwa_share_action": "PWA分享操作",
"settings_pwa_play": "播放",
"settings_pwa_watch": "观看",
"settings_pwa_download": "下载",
"settings_pwa_always_ask": "总是询问",
"settings_quality_worst": "最差",
"settings_quality_low": "低",
"settings_quality_medium": "中",
"settings_quality_high": "高",
"settings_import_prompt": "这将使用导入的设置覆盖您当前的设置,是否继续?",
"settings_more_options": "更多选项",
"settings_display_suggestions": "显示搜索建议",
"settings_save_recent_searches": "保存最近搜索",
"settings_link_capturing": "在搜索栏中抓取YouTube链接",
"settings_audio_quality": "音频质量",
"settings_prefetch": "队列预取",
"settings_stable_volume": "首选稳定音量",
"settings_watchmode": "视频模式",
"settings_library_sync": "云同步",
"settings_store_discoveries": "存储发现",
"settings_clear_discoveries": "这将清除您现有的 $ 个发现,是否继续?",
"settings_store_history": "存储历史记录",
"settings_clear_history": "这将从您的历史记录中清除 $ 个项目,是否继续?",
"settings_landscape_sections": "最大横向分段",
"settings_load_images": "加载图像",
"settings_roundness": "圆角",
"settings_roundness_none": "无",
"settings_roundness_lighter": "较轻",
"settings_roundness_light": "轻",
"settings_roundness_heavy": "重",
"settings_roundness_heavier": "较重",
"settings_theming_scheme": "主题方案",
"settings_theming_scheme_system": "系统",
"settings_theming_scheme_light": "浅色",
"settings_theming_scheme_dark": "深色",
"settings_fullscreen": "切换全屏",
"settings_clear_cache": "清除缓存",
"settings_restore": "恢复设置",
"settings_export": "导出设置",
"settings_import": "导入设置",
"settings_reload": "重新加载页面以应用更改",
"updater_changelog_full": "阅读所有先前的更改",
"updater_update": "更新",
"updater_later": "稍后",
"clear_hub_prompt": "您确定要清除所有Hub数据吗?",
"clear_hub": "清除Hub",
"library_search_placeholder": "搜索本地媒体库",
"library_migration_in_place": "媒体库迁移中...",
"library_too_many_results": "结果过多。请缩小搜索范围。",
"library_empty": "您的媒体库为空",
"lyrics_artist_not_available": "艺术家名称不可用,无法获取歌词。",
"lyrics_no_found": "未找到此曲目的歌词。",
"lyrics_failed": "获取歌词失败。",
"login_verifying": "正在验证凭据...",
"login_syncing": "正在同步媒体库...",
"login_auth_failed": "身份验证失败: ",
"login_title": "将您的媒体库同步到云端",
"login_email_placeholder": "输入电子邮件",
"login_pw_placeholder": "输入密码",
"login_syncing_btn": "正在同步...",
"login_enable_sync": "启用同步",
"login_cancel": "取消",
"actions_menu_id_not_found": "未找到ID",
"updater_failed": "无法从Github加载数据",
"sync_initial_complete": "初始媒体库同步完成。",
"sync_up_to_date": "媒体库已是最新。",
"sync_changes_synced": "更改已同步到云端。",
"sync_conflict": "冲突:媒体库已被另一台设备更新。请重新同步。",
"sync_failed": "同步失败: ",
"sync_save_to_cloud": "保存到云端",
"sync_import_from_cloud": "从云端导入",
"sync_syncing": "同步中",
"library_migration_v1_v2": "正在将媒体库从v1迁移到v2...",
"library_import_songshift": "从SongShift导入播放列表",
"library_about_ytify": "关于ytify",
"nav_logout": "登出",
"player_video_resolution": "分辨率"
} No newline at end of file
"nav_search": "搜索",
"nav_library": "媒体库",
"nav_hub": "Hub",
"nav_queue": "队列",
"nav_settings": "设置",
"close": "关闭",
"loading": "加载中...",
"about_description": "ytify是一个资源高效的音频流媒体平台,利用YouTube和YTMusic库。",
"about_learn_more": "详细了解如何有效使用它。",
"about_support_project": "支持ytify项目:通过UPI",
"about_support_earth": "支持我们的地球:",
"about_lifestyle_changes": "应对气候变化的生方式改变",
"about_crypto_any": "或通过Trocador支持任何其他加密货币",
"player_audiostreams_setup": "正在设置音频流…",
"player_audiostreams_insert": "正在将音频源插入播放器…",
"player_livestreams_hls": "开启HLS以收听直播!",
"player_audiostreams_null": "未找到音频流",
"player_now_playing": "正在播放",
"player_from": "来自 $",
"player_channel": "频道",
"player_volume": "音量",
"player_like": "喜欢",
"player_loop": "循环",
"player_lyrics": "歌词",
"player_save_progress": "保存进度",
"player_more": "更多",
"player_play_button": "播放",
"player_play_previous": "播放上一首",
"player_seek_backward": "后退",
"player_seek_forward": "前进",
"player_play_next": "播放下一首",
"queue_clear": "清空队列",
"queue_shuffle": "随机播放",
"queue_persistent_shuffle": "持久随机播放",
"queue_manual_ordering": "手动排序",
"queue_remove_mode": "移除",
"queue_duration_filter": "时长筛选",
"queue_similar_content": "相似内容",
"queue_contextual_fill": "上下文填充",
"queue_allow_duplicates": "允许重复",
"queue_change_notification": "更改将从下一个流开始生效",
"queue_author_grouping": "作者分组",
"queue_prefetch": "队列预取",
"queue_standby_header": "为您推荐",
"fetchlist_url_null": "未提供频道URL",
"fetchlist_error": "无法获取播放列表数据",
"fetchlist_nonexistent": "出现错误:“播放列表不存在。”",
"search_placeholder": "搜索或输入YouTube网址",
"search_filter_all": "全部",
"search_filter_videos": "相关度",
"search_filter_channels": "频道",
"search_filter_playlists": "播放列表",
"search_filter_music_songs": "歌曲",
"search_filter_music_artists": "艺术家",
"search_filter_music_videos": "视频",
"search_filter_music_albums": "专辑",
"search_filter_music_playlists": "播放列表",
"search_filter_youtube": "YouTube",
"search_filter_youtube_music": "YouTube Music",
"search_filter_sort_by": "排序方式",
"search_filter_date": "日期",
"search_filter_views": "观看次数",
"library_discover": "发现",
"library_history": "历史记录",
"library_favorites": "收藏夹",
"library_listen_later": "稍后收听",
"library_liked": "喜欢的音频",
"library_about": "关于",
"hub_gallery": "画廊",
"hub_subfeed": "订阅源",
"hub_frequently_played": "常听",
"hub_recently_listened": "最近听过",
"hub_discovery": "发现",
"hub_refresh": "刷新",
"hub_clear": "清除",
"hub_show_all": "显示全部",
"hub_gallery_fallback": "收藏各种音乐以生成画廊。",
"hub_subfeed_fallback": "订阅YouTube频道,在此获取最近发布的视频。",
"hub_frequently_played_fallback": "您经常播放的曲目将显示在此处。",
"hub_recently_listened_fallback": "您没有收听历史记录。",
"hub_discovery_fallback": "与您收听内容相关的发现将显示在此处。",
"library_collections": "收藏集",
"library_playlists": "播放列表",
"library_albums": "专辑",
"library_artists": "艺术家",
"library_channels": "频道",
"library_import": "导入媒体库",
"library_export": "导出媒体库",
"library_clean": "清空媒体库",
"library_clean_prompt": "确定要从媒体库中清除 $ 个项目吗?",
"library_import_prompt": "这将把您当前的媒体库与导入的媒体库合并,是否继续?",
"library_imported": "媒体库已成功导入",
"list_play": "全部播放",
"list_enqueue": "全部入队",
"list_import": "导入为收藏集",
"list_imported": "$ 已导入到您的收藏集中。",
"list_set_title": "设置标题",
"list_clear_all": "全部清除",
"list_remove": "切换移除",
"list_delete": "删除收藏集",
"list_rename": "重命名收藏集",
"list_share": "分享收藏集",
"list_radio": "开始电台",
"list_export": "快速导出",
"list_save_to_library": "保存到媒体库",
"list_saved_to_library": "已保存到媒体库",
"list_view_on_yt": "在YouTube上查看",
"list_streams_count": "$ 个流",
"list_mark_mode": "标记模式",
"list_mark_all": "标记或取消标记全部",
"list_remove_marked": "移除标记项",
"list_enqueue_marked": "标记项入队",
"list_sort_order": "排序顺序",
"list_sort_modified": "修改时间",
"list_sort_name": "名称",
"list_sort_artist": "艺术家",
"list_sort_duration": "时长",
"list_export_success": "收藏集已复制到剪贴板!",
"list_export_error": "未能将收藏集复制到剪贴板。",
"list_sort": "排序菜单",
"list_info": "播放列表、频道或您的收藏项目显示在此处",
"list_prompt_delete": "确定要删除收藏集 $ 吗?",
"list_prompt_clear": "确定要清除 $ 吗?",
"list_prompt_rename": "输入新标题",
"list_rename_prompt": "输入新标题",
"list_rename_success": "收藏集已成功重命名!",
"list_already_exists": "已存在同名项目!",
"actions_menu_play_next": "下一首播放",
"actions_menu_enqueue": "加入队列",
"actions_menu_start_radio": "开始电台",
"actions_menu_download": "下载",
"actions_menu_downloading": "正在下载...",
"actions_menu_download_success": "下载就绪!",
"actions_menu_watch_on": "在 $ 上观看",
"actions_menu_view_artist": "查看艺术家",
"actions_menu_view_lyrics": "查看歌词",
"actions_menu_view_album": "查看专辑",
"actions_menu_view_channel": "查看频道",
"actions_menu_listen_later": "稍后收听",
"actions_menu_debug_info": "查看详细信息",
"actions_menu_share": "分享链接",
"actions_menu_yt_link": "在YouTube中打开",
"collection_selector_add_to": "添加到收藏集",
"collection_selector_create_new": "创建新收藏集",
"collection_selector_favorites": "收藏夹",
"collection_selector_listen_later": "稍后收听",
"settings_language": "语言",
"settings_pwa_share_action": "PWA分享操作",
"settings_pwa_play": "播放",
"settings_pwa_watch": "观看",
"settings_pwa_download": "下载",
"settings_pwa_always_ask": "总是询问",
"settings_quality_worst": "最差",
"settings_quality_low": "低",
"settings_quality_medium": "中",
"settings_quality_high": "高",
"settings_import_prompt": "这将使用导入的设置覆盖您当前的设置,是否继续?",
"settings_more_options": "更多选项",
"settings_display_suggestions": "显示搜索建议",
"settings_save_recent_searches": "保存最近搜索",
"settings_link_capturing": "在搜索栏中抓取YouTube链接",
"settings_audio_quality": "音频质量",
"settings_prefetch": "队列预取",
"settings_stable_volume": "首选稳定音量",
"settings_watchmode": "视频模式",
"settings_library_sync": "云同步",
"settings_store_discoveries": "存储发现",
"settings_clear_discoveries": "这将清除您现有的 $ 个发现,是否继续?",
"settings_store_history": "存储历史记录",
"settings_clear_history": "这将从您的历史记录中清除 $ 个项目,是否继续?",
"settings_landscape_sections": "最大横向分段",
"settings_load_images": "加载图像",
"settings_roundness": "圆角",
"settings_roundness_none": "无",
"settings_roundness_lighter": "较轻",
"settings_roundness_light": "轻",
"settings_roundness_heavy": "重",
"settings_roundness_heavier": "较重",
"settings_theming_scheme": "主题方案",
"settings_theming_scheme_system": "系统",
"settings_theming_scheme_light": "浅色",
"settings_theming_scheme_dark": "深色",
"settings_fullscreen": "切换全屏",
"settings_clear_cache": "清除缓存",
"settings_restore": "恢复设置",
"settings_export": "导出设置",
"settings_import": "导入设置",
"settings_reload": "重新加载页面以应用更改",
"updater_changelog_full": "阅读所有先前的更改",
"updater_update": "更新",
"updater_later": "稍后",
"clear_hub_prompt": "您确定要清除所有Hub数据吗?",
"clear_hub": "清除Hub",
"library_search_placeholder": "搜索本地媒体库",
"library_migration_in_place": "媒体库迁移中...",
"library_too_many_results": "结果过多。请缩小搜索范围。",
"library_empty": "您的媒体库为空",
"lyrics_artist_not_available": "艺术家名称不可用,无法获取歌词。",
"lyrics_no_found": "未找到此曲目的歌词。",
"lyrics_failed": "获取歌词失败。",
"login_verifying": "正在验证凭据...",
"login_syncing": "正在同步媒体库...",
"login_auth_failed": "身份验证失败: ",
"login_title": "将您的媒体库同步到云端",
"login_email_placeholder": "输入电子邮件",
"login_pw_placeholder": "输入密码",
"login_syncing_btn": "正在同步...",
"login_enable_sync": "启用同步",
"login_cancel": "取消",
"actions_menu_id_not_found": "未找到ID",
"updater_failed": "无法从Github加载数据",
"sync_initial_complete": "初始媒体库同步完成。",
"sync_up_to_date": "媒体库已是最新。",
"sync_changes_synced": "更改已同步到云端。",
"sync_conflict": "冲突:媒体库已被另一台设备更新。请重新同步。",
"sync_failed": "同步失败: ",
"sync_save_to_cloud": "保存到云端",
"sync_import_from_cloud": "从云端导入",
"sync_syncing": "同步中",
"library_migration_v1_v2": "正在将媒体库从v1迁移到v2...",
"library_import_songshift": "从SongShift导入播放列表",
"library_about_ytify": "关于ytify",
"nav_logout": "登出",
"player_video_resolution": "分辨率"
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

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify if queue_reload_notification key exists in zh.json and other locales

echo "=== Checking for queue_reload_notification in all locale files ==="
fd -e json . src/locales --exec grep -l "queue_reload_notification" {} \;

echo ""
echo "=== Checking queue_reload_notification content across locales ==="
fd -e json . src/locales --exec grep -B1 -A1 "queue_reload_notification" {} \; 2>/dev/null || echo "Key not found in any locale"

echo ""
echo "=== Counting total lines/keys in each locale file ==="
fd -e json . src/locales --exec sh -c 'filename=$(basename "$1"); lines=$(wc -l < "$1"); echo "$filename: $lines lines"' _ {} \;

echo ""
echo "=== Checking last few lines of zh.json ==="
fd -name "zh.json" src/locales --exec tail -5 {} \;

Repository: n-ce/ytify

Length of output: 1257


🏁 Script executed:

#!/bin/bash
# Read the last 10 lines of zh.json to see what's at the end
echo "=== Last 10 lines of zh.json ==="
tail -10 src/locales/zh.json

echo ""
echo "=== Last 10 lines of fr.json (for comparison - it has the missing key) ==="
tail -10 src/locales/fr.json

echo ""
echo "=== Last 10 lines of en.json (for comparison) ==="
tail -10 src/locales/en.json

Repository: n-ce/ytify

Length of output: 1462


Add missing queue_reload_notification translation key to zh.json.

The zh.json file is missing the queue_reload_notification key that was added to en.json and fr.json. The key should be inserted before the closing brace with an appropriate Chinese translation, for example:

    "player_video_resolution": "分辨率",
    "queue_reload_notification": "更改将从下一次会话显示"
}

This matches the pattern in fr.json ("Les changements seront visibles dès la prochaine session") and en.json ("Changes will appear from next session").

🤖 Prompt for AI Agents
In @src/locales/zh.json around lines 1 - 225, Add the missing translation key
"queue_reload_notification" to zh.json by inserting the key-value pair (use a
Chinese translation like "更改将从下一次会话显示") before the final closing brace; ensure
the new entry matches the style of surrounding entries (comma placement, double
quotes) and aligns with the existing keys such as "player_video_resolution" and
"queue_change_notification".

@n-ce n-ce merged commit 02c8cfc into n-ce:main Jan 12, 2026
1 of 2 checks passed
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