Skip to content

feat: 优化翻译#641

Merged
Yundi339 merged 4 commits into
masterfrom
feat_macos
May 11, 2026
Merged

feat: 优化翻译#641
Yundi339 merged 4 commits into
masterfrom
feat_macos

Conversation

@Yundi339
Copy link
Copy Markdown
Collaborator

No description provided.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 11, 2026

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 6806d4f5-6c47-415d-bb21-98d2d8de2854

📥 Commits

Reviewing files that changed from the base of the PR and between cbe9fb7 and 06ee42d.

📒 Files selected for processing (23)
  • src_assets/common/assets/web/components/SetupWizard.vue
  • src_assets/common/assets/web/components/common/ResourceCard.vue
  • src_assets/common/assets/web/composables/useBackground.js
  • src_assets/common/assets/web/public/assets/locale/bg.json
  • src_assets/common/assets/web/public/assets/locale/cs.json
  • src_assets/common/assets/web/public/assets/locale/de.json
  • src_assets/common/assets/web/public/assets/locale/en.json
  • src_assets/common/assets/web/public/assets/locale/en_GB.json
  • src_assets/common/assets/web/public/assets/locale/en_US.json
  • src_assets/common/assets/web/public/assets/locale/es.json
  • src_assets/common/assets/web/public/assets/locale/fr.json
  • src_assets/common/assets/web/public/assets/locale/it.json
  • src_assets/common/assets/web/public/assets/locale/ja.json
  • src_assets/common/assets/web/public/assets/locale/ko.json
  • src_assets/common/assets/web/public/assets/locale/pl.json
  • src_assets/common/assets/web/public/assets/locale/pt.json
  • src_assets/common/assets/web/public/assets/locale/pt_BR.json
  • src_assets/common/assets/web/public/assets/locale/ru.json
  • src_assets/common/assets/web/public/assets/locale/sv.json
  • src_assets/common/assets/web/public/assets/locale/tr.json
  • src_assets/common/assets/web/public/assets/locale/uk.json
  • src_assets/common/assets/web/public/assets/locale/zh.json
  • src_assets/common/assets/web/public/assets/locale/zh_TW.json

Summary by CodeRabbit

发布说明

  • 新功能

    • 新增 Android Moonlight V+、Moonlight macOS 增强版与 Moonlight PC 客户端下载项,并在下载列表中单独展示 macOS 增强版。
  • 国际化

    • 资源卡片标题与描述改为多语言翻译键,新增并补全 20+ 语言的客户端文案,改善本地化显示。
  • 杂项

    • 更新默认背景图与展示方式,优化页面背景显示细节。

Walkthrough

将客户端下载卡片的标题改为 i18n 键、在资源卡内新增 macOS Enhanced 项并移除重复条目;为多语言 locale 添加相应 resource_card 键;同时更新 useBackground 的默认图片 URL 与背景尺寸行为。

变更内容

Vue 组件国际化重构

Layer / File(s) Summary
组件 i18n 接入
src_assets/common/assets/web/components/SetupWizard.vue, src_assets/common/assets/web/components/common/ResourceCard.vue
SetupWizard.vue 与 ResourceCard.vue 的客户端下载卡片标题改为 $t(...) 翻译键;新增 macOS Enhanced 卡片并移除第三方区重复条目。
多语言翻译字符串
src_assets/common/assets/web/public/assets/locale/{bg,cs,de,en_GB,en_US,es,fr,it,ja,ko,pl,pt,pt_BR,ru,sv,tr,uk,zh,zh_TW}.json
在各语言的 resource_card 下新增 android_vplus_titlecrown_edition_descmoonlight_macos_enhancedmoonlight_macos_enhanced_descmoonlight_ohosmoonlight_ohos_descmoonlight_pc_title 等条目。
en/zh 配置重排与新增 config 项
src_assets/common/assets/web/public/assets/locale/en.json, src_assets/common/assets/web/public/assets/locale/zh.json
对 apps、config、setup、troubleshooting 等部分键值做了重排序;在 config 中添加 amd_capture_no_virtual_display 与 capture_compute_shader 相关分组。
背景资源与样式
src_assets/common/assets/web/composables/useBackground.js
更新 DEFAULT_BACKGROUND 的 URL 到 s1.locimg.com;设置背景时将 background-sizecover 改为 contain

预计代码审查工作量

🎯 3 (中等) | ⏱️ ~20 分钟

可能相关的 PR

  • AlkaidLab/foundation-sunshine#570: 修改相同 UI 组件(ResourceCard.vue / SetupWizard.vue)并替换硬编码客户端标题为 i18n 键,内容存在直接关联。
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive 作者未提供PR描述,无法评估描述与变更内容的关联性。 建议添加PR描述,说明本次变更的目的和内容,例如新增Moonlight macOS和Android客户端的多语言支持。
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed PR标题"优化翻译"(Optimize translations)与实际变更内容相关,涉及添加多语言资源卡片翻译键,但标题过于宽泛,未具体说明是新增Moonlight客户端相关的翻译。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat_macos

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

@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: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src_assets/common/assets/web/components/common/ResourceCard.vue`:
- Around line 143-148: The external anchor in ResourceCard.vue (the <a> with
class "resource-link resource-link-apple" and target="_blank") lacks a rel
attribute; update that anchor to include rel="noopener noreferrer" to prevent
window.opener exploitation when opening the external GitHub link; locate the
anchor by its class "resource-link-apple" or the href
"https://github.com/skyhua0224/moonlight-macos-enhanced" and add the rel
attribute alongside the existing target.

In `@src_assets/common/assets/web/components/SetupWizard.vue`:
- Around line 259-262: The anchor element with class "resource-link
resource-link-apple" currently opens in a new tab via target="_blank" without
safe attributes; update the <a> element that links to
"https://github.com/skyhua0224/moonlight-macos-enhanced" (the resource-link
resource-link-apple anchor) to include rel="noopener noreferrer" alongside
target="_blank" to prevent reverse tabnabbing and ensure safe external linking.

In `@src_assets/common/assets/web/public/assets/locale/en.json`:
- Around line 678-679: 新增的翻译键 resource_card.moonlight_ohos 和
resource_card.moonlight_ohos_desc 只出现在 en.json,需要在其它语言包(例如
pl.json、tr.json、de.json)中补齐相同键以避免回退或 key 回显;在各对应 locale 文件中按现有 resource_card
对象结构添加这两个键,首选填入相应翻译,暂无法翻译时请使用英文文案作为占位,并确保 JSON
格式合法、键名精确匹配(resource_card.moonlight_ohos / resource_card.moonlight_ohos_desc)。

In `@src_assets/common/assets/web/public/assets/locale/ja.json`:
- Line 665: The value for the key "moonlight_macos_enhanced_desc" includes a
Chinese wording ("强化版"); update the string to a full Japanese phrasing to avoid
mixed-language UI, e.g. replace the current value with a proper Japanese
sentence such as "by skyhua0224 · macOS ネイティブで強化されたクライアント" (or another
equivalent natural Japanese translation), ensuring the key name
"moonlight_macos_enhanced_desc" is left unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 5e672f60-de6d-4aa2-a1f4-d660492ebdbb

📥 Commits

Reviewing files that changed from the base of the PR and between 31ee5b3 and cbe9fb7.

📒 Files selected for processing (22)
  • src_assets/common/assets/web/components/SetupWizard.vue
  • src_assets/common/assets/web/components/common/ResourceCard.vue
  • src_assets/common/assets/web/public/assets/locale/bg.json
  • src_assets/common/assets/web/public/assets/locale/cs.json
  • src_assets/common/assets/web/public/assets/locale/de.json
  • src_assets/common/assets/web/public/assets/locale/en.json
  • src_assets/common/assets/web/public/assets/locale/en_GB.json
  • src_assets/common/assets/web/public/assets/locale/en_US.json
  • src_assets/common/assets/web/public/assets/locale/es.json
  • src_assets/common/assets/web/public/assets/locale/fr.json
  • src_assets/common/assets/web/public/assets/locale/it.json
  • src_assets/common/assets/web/public/assets/locale/ja.json
  • src_assets/common/assets/web/public/assets/locale/ko.json
  • src_assets/common/assets/web/public/assets/locale/pl.json
  • src_assets/common/assets/web/public/assets/locale/pt.json
  • src_assets/common/assets/web/public/assets/locale/pt_BR.json
  • src_assets/common/assets/web/public/assets/locale/ru.json
  • src_assets/common/assets/web/public/assets/locale/sv.json
  • src_assets/common/assets/web/public/assets/locale/tr.json
  • src_assets/common/assets/web/public/assets/locale/uk.json
  • src_assets/common/assets/web/public/assets/locale/zh.json
  • src_assets/common/assets/web/public/assets/locale/zh_TW.json
📜 Review details
🧰 Additional context used
📓 Path-based instructions (1)
src_assets/**/*.{vue,js,html}

⚙️ CodeRabbit configuration file

src_assets/**/*.{vue,js,html}: 基于 Vue.js 的 Web 配置面板。审查 XSS/CSRF 安全性、 组件设计、状态管理和可访问性。

Files:

  • src_assets/common/assets/web/components/SetupWizard.vue
  • src_assets/common/assets/web/components/common/ResourceCard.vue
🔇 Additional comments (15)
src_assets/common/assets/web/public/assets/locale/zh_TW.json (1)

651-666: 本段新增的 resource_card 本地化键实现正确。

键名与现有 i18n 结构一致,文案可用于资源卡标题/描述渲染,且未破坏 JSON 结构。

src_assets/common/assets/web/public/assets/locale/bg.json (1)

651-666: 保加利亚语资源卡新增键与多语言键集保持一致。

这组新增键覆盖了新资源卡场景,结构与命名规范统一,变更可接受。

src_assets/common/assets/web/public/assets/locale/pt_BR.json (1)

651-666: pt_BR 新增翻译键设计合理,落地完整。

新增字段与资源卡展示需求匹配,键名一致性良好,可直接用于前端渲染。

src_assets/common/assets/web/public/assets/locale/en_GB.json (1)

651-666: en_GB 的新增资源卡翻译键完整且可用。

新增 key 覆盖新 UI 文案点,命名稳定,符合当前 locale 结构。

src_assets/common/assets/web/public/assets/locale/es.json (1)

651-666: es 资源卡新增键与组件需求匹配,未见结构风险。

该变更可支持新卡片标题与描述的国际化渲染,整体实现通过。

src_assets/common/assets/web/public/assets/locale/pt.json (1)

651-651: 新增的 resource_card 翻译键结构正确且与现有命名保持一致。

这些新增键与同模块命名风格一致,且 JSON 语法完整,能够安全支持新资源卡片文案渲染。

Also applies to: 664-666

src_assets/common/assets/web/public/assets/locale/uk.json (1)

651-651: resource_card 新增键覆盖完整,变更范围清晰。

本次新增项与其他语言文件保持同一键集合,便于前端统一按 key 渲染,未发现语法或结构问题。

Also applies to: 664-666

src_assets/common/assets/web/public/assets/locale/sv.json (1)

651-651: 瑞典语资源卡片新增翻译键实现良好。

键名、层级与现有 resource_card 保持一致,新增内容可直接被现有 i18n 流程消费。

Also applies to: 664-666

src_assets/common/assets/web/public/assets/locale/it.json (1)

651-651: 意大利语文件中的新增 i18n 键与目标功能匹配。

新增字段集中、可读性好,未引入格式错误或潜在运行风险。

Also applies to: 664-666

src_assets/common/assets/web/public/assets/locale/cs.json (1)

651-651: 新增资源卡翻译键结构正确,和现有 i18n 组织方式保持一致。

这些键位于正确的命名空间下,命名与用途清晰,可直接支撑新增资源卡片文案渲染。

Also applies to: 664-666

src_assets/common/assets/web/public/assets/locale/ko.json (1)

651-651: 韩文本地化新增键与其他语言版本对齐,落位正确。

键名和分组一致,便于多语言资源卡统一渲染,当前改动看起来可靠。

Also applies to: 664-666

src_assets/common/assets/web/public/assets/locale/fr.json (1)

651-651: 法语资源卡新增文案键设计合理,兼容现有 i18n 结构。

这组新增键完整覆盖了新增卡片需要的标题/描述字段,改动方向正确。

Also applies to: 664-666

src_assets/common/assets/web/public/assets/locale/ru.json (1)

651-651: 俄语 locale 的新增资源卡键保持了良好的跨语言一致性。

键路径与命名规范符合当前文件模式,可稳定支撑对应 UI 文案。

Also applies to: 664-666

src_assets/common/assets/web/public/assets/locale/en_US.json (1)

651-651: en_US 基线文案键补充完整,适合作为多语言对齐参考。

新增键命名清晰、结构稳定,能够支持新增资源卡的 i18n 引用。

Also applies to: 664-666

src_assets/common/assets/web/public/assets/locale/de.json (1)

664-666: 该处无需重复评论

resource_card 键一致性问题已在 src_assets/common/assets/web/public/assets/locale/en.json 的根因位置集中指出。

Comment thread src_assets/common/assets/web/components/common/ResourceCard.vue
Comment thread src_assets/common/assets/web/components/SetupWizard.vue
Comment thread src_assets/common/assets/web/public/assets/locale/en.json
Comment thread src_assets/common/assets/web/public/assets/locale/ja.json Outdated
@Yundi339 Yundi339 merged commit 2b886ce into master May 11, 2026
3 of 4 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request May 11, 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.

1 participant