From e71701c18db0576019129e25ad1e52961877c3bf Mon Sep 17 00:00:00 2001 From: quanfanpro-code Date: Mon, 12 Oct 2026 02:10:21 +0800 Subject: [PATCH] Add Simplified Chinese (zh-CN) GUI translations (#799) --- Config/Languages/zh-CN/Apps.json | 566 +++++++++++++++++++ Config/Languages/zh-CN/Categories.json | 38 ++ Config/Languages/zh-CN/Chrome.json | 333 +++++++++++ Config/Languages/zh-CN/Features.json | 751 +++++++++++++++++++++++++ Scripts/FileIO/Import-LanguageFile.ps1 | 1 + Tests/Import-LanguageFile.Tests.ps1 | 26 +- Tests/LanguageCatalogs.Tests.ps1 | 91 +++ 7 files changed, 1800 insertions(+), 6 deletions(-) create mode 100644 Config/Languages/zh-CN/Apps.json create mode 100644 Config/Languages/zh-CN/Categories.json create mode 100644 Config/Languages/zh-CN/Chrome.json create mode 100644 Config/Languages/zh-CN/Features.json create mode 100644 Tests/LanguageCatalogs.Tests.ps1 diff --git a/Config/Languages/zh-CN/Apps.json b/Config/Languages/zh-CN/Apps.json new file mode 100644 index 0000000..d325767 --- /dev/null +++ b/Config/Languages/zh-CN/Apps.json @@ -0,0 +1,566 @@ +{ + "Clipchamp.Clipchamp": { + "FriendlyName": "视频编辑器(Clipchamp)", + "Description": "微软出品的视频编辑器" + }, + "Microsoft.3DBuilder": { + "FriendlyName": "三维建模(3D Builder)", + "Description": "基础三维建模软件" + }, + "Microsoft.549981C3F5F10": { + "FriendlyName": "小娜(Cortana)", + "Description": "微软 Cortana 语音助手(已停止维护)" + }, + "Microsoft.BingFinance": { + "FriendlyName": "必应财经", + "Description": "必应财经新闻和行情跟踪服务(已停止维护)" + }, + "Microsoft.BingFoodAndDrink": { + "FriendlyName": "必应美食", + "Description": "必应食谱和美食资讯(已停止维护)" + }, + "Microsoft.BingHealthAndFitness": { + "FriendlyName": "必应健康", + "Description": "必应健康与健身记录及资讯(已停止维护)" + }, + "Microsoft.BingNews": { + "FriendlyName": "必应资讯", + "Description": "通过必应聚合新闻(已停止支持)" + }, + "Microsoft.BingSports": { + "FriendlyName": "必应体育", + "Description": "必应体育新闻和比分服务(已停止维护)" + }, + "Microsoft.BingTranslator": { + "FriendlyName": "必应翻译", + "Description": "必应翻译服务" + }, + "Microsoft.BingTravel": { + "FriendlyName": "必应旅游", + "Description": "必应旅行规划和旅游资讯(已停止维护)" + }, + "Microsoft.BingWeather": { + "FriendlyName": "必应天气", + "Description": "必应天气预报" + }, + "XP9CXNGPPJ97XX": { + "FriendlyName": "AI助手(Microsoft Copilot)", + "Description": "集成在 Windows 中的AI助手" + }, + "Microsoft.Windows.AIHub": { + "FriendlyName": "Copilot+ AI中心", + "Description": "Copilot+ AI中心应用(Windows 11 24H2 及更高版本)" + }, + "Microsoft.PCManager": { + "FriendlyName": "微软电脑管家", + "Description": "微软提供的系统清理和优化工具,通常为预装应用" + }, + "Microsoft.Getstarted": { + "FriendlyName": "入门", + "Description": "Windows 使用技巧和入门指南(在 Windows 11 中无法卸载)" + }, + "Microsoft.Messaging": { + "FriendlyName": "消息", + "Description": "消息应用,通常与 Skype 集成(大部分功能已停止维护)" + }, + "Microsoft.Microsoft3DViewer": { + "FriendlyName": "三维查看器", + "Description": "用于查看 3D 模型(已停止支持)" + }, + "Microsoft.MicrosoftJournal": { + "FriendlyName": "日记(Microsoft Journal)", + "Description": "针对触控笔输入优化的数字笔记应用" + }, + "Microsoft.MicrosoftOfficeHub": { + "FriendlyName": "Office 中心", + "Description": "用于访问 Microsoft Office 应用和文档(Microsoft 365 应用的前身)" + }, + "Microsoft.MicrosoftPowerBIForWindows": { + "FriendlyName": "商业分析(Power BI)", + "Description": "商业分析服务客户端" + }, + "Microsoft.MicrosoftSolitaireCollection": { + "FriendlyName": "Microsoft 纸牌合集", + "Description": "多款纸牌游戏合集" + }, + "Microsoft.MicrosoftStickyNotes": { + "FriendlyName": "便笺", + "Description": "用于快速创建和同步便笺" + }, + "Microsoft.MixedReality.Portal": { + "FriendlyName": "混合现实门户", + "Description": "用于 Windows 混合现实头戴设备的门户应用" + }, + "Microsoft.NetworkSpeedTest": { + "FriendlyName": "网络速度测试", + "Description": "互联网连接速度测试工具" + }, + "Microsoft.News": { + "FriendlyName": "Microsoft 资讯", + "Description": "适用于 Windows 的 Microsoft 新闻应用" + }, + "Microsoft.Office.OneNote": { + "FriendlyName": "笔记(OneNote)", + "Description": "数字笔记应用(通用 Windows 平台版本)" + }, + "Microsoft.Office.Sway": { + "FriendlyName": "演示文稿(Sway)", + "Description": "用于制作演示文稿和交互式叙事内容" + }, + "Microsoft.OneConnect": { + "FriendlyName": "One Connect(移动连接)", + "Description": "移动运营商管理应用(已由“移动套餐”取代)" + }, + "Microsoft.Print3D": { + "FriendlyName": "Print 3D(三维打印)", + "Description": "用于准备三维打印任务的软件" + }, + "Microsoft.PowerAutomateDesktop": { + "FriendlyName": "流程自动化(Power Automate)", + "Description": "桌面流程自动化工具(RPA)" + }, + "Microsoft.SkypeApp": { + "FriendlyName": "Skype(UWP 版)", + "Description": "Skype 通信应用的通用 Windows 平台版本(已停止维护)" + }, + "Microsoft.Todos": { + "FriendlyName": "微软待办(Microsoft To Do)", + "Description": "待办事项和任务管理应用" + }, + "Microsoft.Windows.DevHome": { + "FriendlyName": "开发者主页", + "Description": "开发者仪表板和工具配置应用(已停止维护)" + }, + "Microsoft.WindowsAlarms": { + "FriendlyName": "时钟", + "Description": "提供闹钟、计时器、秒表和专注时段功能" + }, + "Microsoft.WindowsFeedbackHub": { + "FriendlyName": "反馈中心", + "Description": "用于向微软提交 Windows 使用反馈" + }, + "Microsoft.WindowsMaps": { + "FriendlyName": "Windows 地图", + "Description": "地图与导航应用(已停止支持)" + }, + "Microsoft.WindowsSoundRecorder": { + "FriendlyName": "录音机", + "Description": "基础录音应用" + }, + "Microsoft.XboxApp": { + "FriendlyName": "Xbox 主机小帮手", + "Description": "旧版 Xbox 主机小帮手应用(已停止维护)" + }, + "Microsoft.ZuneVideo": { + "FriendlyName": "电影和电视", + "Description": "用于租借、购买和播放视频内容(已停止支持)" + }, + "MicrosoftCorporationII.MicrosoftFamily": { + "FriendlyName": "Microsoft 家庭安全", + "Description": "用于管理家庭屏幕使用时间、内容筛选和活动报告" + }, + "MicrosoftCorporationII.QuickAssist": { + "FriendlyName": "快速助手", + "Description": "远程协助工具" + }, + "MicrosoftTeams": { + "FriendlyName": "Microsoft Teams(旧版)", + "Description": "旧版 Microsoft Teams 个人版(Microsoft Store 版本)" + }, + "MSTeams": { + "FriendlyName": "Microsoft Teams(新版)", + "Description": "新版 Microsoft Teams 应用(工作、学校或个人账户)" + }, + "ACGMediaPlayer": { + "FriendlyName": "ACG 播放器", + "Description": "媒体播放器应用" + }, + "ActiproSoftwareLLC": { + "FriendlyName": "界面组件(Actipro Software)", + "Description": "可能为界面控件或软件组件,通常由设备厂商捆绑预装" + }, + "AdobeSystemsIncorporated.AdobePhotoshopExpress": { + "FriendlyName": "照片编辑(Adobe Photoshop Express)", + "Description": "Adobe 出品的基础照片编辑应用" + }, + "Amazon.com.Amazon": { + "FriendlyName": "亚马逊购物", + "Description": "亚马逊购物应用" + }, + "AmazonVideo.PrimeVideo": { + "FriendlyName": "亚马逊视频(Prime Video)", + "Description": "亚马逊 Prime Video 流媒体视频应用" + }, + "Asphalt8Airborne": { + "FriendlyName": "狂野飙车 8", + "Description": "赛车游戏" + }, + "AutodeskSketchBook": { + "FriendlyName": "素描绘图(Autodesk SketchBook)", + "Description": "数字绘画和素描应用" + }, + "CaesarsSlotsFreeCasino": { + "FriendlyName": "凯撒老虎机(Caesars Slots)", + "Description": "模拟赌场老虎机游戏" + }, + "COOKINGFEVER": { + "FriendlyName": "烹饪发烧友(Cooking Fever)", + "Description": "餐厅经营模拟游戏" + }, + "CyberLinkMediaSuiteEssentials": { + "FriendlyName": "CyberLink 多媒体套件", + "Description": "多媒体软件套件,通常由设备厂商预装" + }, + "DisneyMagicKingdoms": { + "FriendlyName": "迪士尼梦幻王国(Disney Magic Kingdoms)", + "Description": "迪士尼主题乐园建造游戏" + }, + "Disney.37853FC22B2CE": { + "FriendlyName": "迪士尼视频(Disney+)", + "Description": "Disney+ 流媒体视频应用" + }, + "DrawboardPDF": { + "FriendlyName": "PDF 批注(Drawboard PDF)", + "Description": "PDF 阅读和批注应用,侧重触控笔操作" + }, + "Duolingo-LearnLanguagesforFree": { + "FriendlyName": "多邻国(Duolingo)", + "Description": "语言学习应用" + }, + "EclipseManager": { + "FriendlyName": "设备管理工具(Eclipse Manager)", + "Description": "通常与特定设备厂商的软件或实用工具有关,例如屏幕设置管理" + }, + "FACEBOOK.FACEBOOK": { + "FriendlyName": "社交应用(Facebook)", + "Description": "Facebook 社交应用" + }, + "FarmVille2CountryEscape": { + "FriendlyName": "农场乡村度假(FarmVille 2)", + "Description": "农场经营模拟游戏" + }, + "Flipboard": { + "FriendlyName": "新闻阅读(Flipboard)", + "Description": "以杂志形式呈现新闻和社交网络内容的聚合应用" + }, + "HiddenCity": { + "FriendlyName": "隐秘之城(Hidden City)", + "Description": "寻找隐藏物品的解谜冒险游戏" + }, + "HULULLC.HULUPLUS": { + "FriendlyName": "视频(Hulu)", + "Description": "Hulu 流媒体视频应用" + }, + "iHeartRadio": { + "FriendlyName": "网络电台(iHeartRadio)", + "Description": "网络广播应用" + }, + "Facebook.Instagram": { + "FriendlyName": "图片社交(Instagram)", + "Description": "Instagram 社交应用" + }, + "king.com.BubbleWitch3Saga": { + "FriendlyName": "魔法气泡 3(Bubble Witch 3)", + "Description": "King 出品的益智游戏" + }, + "king.com.CandyCrushSaga": { + "FriendlyName": "糖果传奇(Candy Crush Saga)", + "Description": "King 出品的益智游戏" + }, + "king.com.CandyCrushSodaSaga": { + "FriendlyName": "糖果苏打传奇(Candy Crush Soda)", + "Description": "King 出品的益智游戏" + }, + "LinkedInforWindows": { + "FriendlyName": "领英(LinkedIn)", + "Description": "领英职业社交应用" + }, + "MarchofEmpires": { + "FriendlyName": "帝国征服者(March of Empires)", + "Description": "策略游戏" + }, + "4DF9E0F8.Netflix": { + "FriendlyName": "奈飞(Netflix)", + "Description": "Netflix 流媒体视频应用" + }, + "NYTCrossword": { + "FriendlyName": "纽约时报填字游戏", + "Description": "《纽约时报》填字游戏应用" + }, + "OneCalendar": { + "FriendlyName": "日历(One Calendar)", + "Description": "用于集中管理多个日历" + }, + "PandoraMediaInc": { + "FriendlyName": "音乐(Pandora)", + "Description": "Pandora 流媒体音乐应用" + }, + "PhototasticCollage": { + "FriendlyName": "照片拼贴(Phototastic Collage)", + "Description": "照片拼贴制作应用" + }, + "PicsArt-PhotoStudio": { + "FriendlyName": "照片创作(PicsArt)", + "Description": "照片编辑和创意制作应用" + }, + "PolarrPhotoEditorAcademicEdition": { + "FriendlyName": "泼辣修图(Polarr Photo Editor)", + "Description": "照片编辑应用(教育版)" + }, + "flaregamesGmbH.RoyalRevolt": { + "FriendlyName": "皇家起义(Royal Revolt)", + "Description": "塔防和策略游戏" + }, + "Sidia.LiveWallpaper": { + "FriendlyName": "动态壁纸", + "Description": "动态壁纸应用" + }, + "SlingTV": { + "FriendlyName": "电视直播(Sling TV)", + "Description": "在线电视直播应用" + }, + "SpotifyAB.SpotifyMusic": { + "FriendlyName": "音乐(Spotify)", + "Description": "Spotify 流媒体音乐应用" + }, + "BytedancePte.Ltd.TikTok": { + "FriendlyName": "短视频(TikTok)", + "Description": "TikTok 短视频应用" + }, + "TuneInRadio": { + "FriendlyName": "网络电台(TuneIn Radio)", + "Description": "网络广播应用" + }, + "WinZipUniversal": { + "FriendlyName": "压缩工具(WinZip)", + "Description": "文件压缩和解压工具(通用 Windows 平台版本)" + }, + "Microsoft.BingSearch": { + "FriendlyName": "必应搜索", + "Description": "微软必应网络搜索(集成在 Windows 搜索中)" + }, + "Microsoft.Edge": { + "FriendlyName": "Edge 浏览器", + "Description": "Windows 默认浏览器。警告:移除此应用也会移除 Windows 沙盒中唯一的浏览器,并且可能影响其他应用。" + }, + "Microsoft.GamingApp": { + "FriendlyName": "Xbox 应用", + "Description": "适用于 Windows 的 Xbox 游戏应用,安装部分电脑游戏时需要" + }, + "Microsoft.GetHelp": { + "FriendlyName": "获取帮助", + "Description": "部分 Windows 11 疑难解答工具和支持服务需要此应用" + }, + "Microsoft.M365Companions": { + "FriendlyName": "Microsoft 365 配套应用", + "Description": "Microsoft 365 商业版的日历、文件和人员小应用;如果管理员启用这些应用,它们可能会被重新安装" + }, + "Microsoft.MSPaint": { + "FriendlyName": "画图 3D", + "Description": "3D 绘图应用(已停止支持)" + }, + "Microsoft.OneDrive": { + "FriendlyName": "OneDrive 云盘", + "Description": "OneDrive 个人版云存储客户端" + }, + "Microsoft.OutlookForWindows": { + "FriendlyName": "Outlook(Windows 版)", + "Description": "新版 Outlook Windows 邮件客户端" + }, + "Microsoft.Paint": { + "FriendlyName": "画图", + "Description": "经典画图应用,用于二维绘图" + }, + "Microsoft.People": { + "FriendlyName": "人脉", + "Description": "“邮件和日历”的配套组件,其运行需要此应用(已停止维护)" + }, + "Microsoft.RemoteDesktop": { + "FriendlyName": "远程桌面", + "Description": "远程桌面客户端应用" + }, + "Microsoft.ScreenSketch": { + "FriendlyName": "截图工具", + "Description": "用于截取、批注、保存和分享屏幕截图" + }, + "Microsoft.StartExperiencesApp": { + "FriendlyName": "小组件体验", + "Description": "为 Windows 小组件的“我的资讯”提供支持" + }, + "Microsoft.Whiteboard": { + "FriendlyName": "白板(Microsoft Whiteboard)", + "Description": "数字协作白板应用" + }, + "Microsoft.Windows.Photos": { + "FriendlyName": "照片", + "Description": "默认照片查看和基础编辑应用" + }, + "Microsoft.WindowsCalculator": { + "FriendlyName": "计算器", + "Description": "计算器应用" + }, + "Microsoft.WindowsCamera": { + "FriendlyName": "相机", + "Description": "用于内置摄像头或外接摄像头的相机应用" + }, + "Microsoft.windowscommunicationsapps": { + "FriendlyName": "邮件和日历", + "Description": "邮件和日历应用套件(已停止维护)" + }, + "Microsoft.WindowsNotepad": { + "FriendlyName": "记事本", + "Description": "记事本文本编辑器" + }, + "Microsoft.WindowsStore": { + "FriendlyName": "微软商店(Microsoft Store)", + "Description": "微软应用商店。警告:移除此应用后很难重新安装!" + }, + "Microsoft.WindowsTerminal": { + "FriendlyName": "Windows 终端", + "Description": "Windows 11 默认终端应用,支持命令提示符、PowerShell 和 WSL。警告:如果从 Windows 终端启动了 Win11Debloat,请勿移除此应用,否则脚本将运行失败。" + }, + "Microsoft.Xbox.TCUI": { + "FriendlyName": "Xbox TCUI 框架", + "Description": "界面框架,Microsoft Store、“照片”和某些游戏可能需要此组件" + }, + "Microsoft.XboxGameOverlay": { + "FriendlyName": "Xbox 游戏覆盖层", + "Description": "游戏内叠加界面,部分游戏需要或可利用此功能(Xbox 游戏栏的组成部分)。警告:在搭载某些较新处理器的电脑上,卸载此应用可能降低游戏性能。" + }, + "Microsoft.XboxGamingOverlay": { + "FriendlyName": "Xbox 游戏栏覆盖层", + "Description": "游戏内叠加界面,部分游戏需要或可利用此功能(Xbox 游戏栏的组成部分)。警告:在搭载某些较新处理器的电脑上,卸载此应用可能降低游戏性能。" + }, + "Microsoft.XboxIdentityProvider": { + "FriendlyName": "Xbox 身份验证提供程序", + "Description": "Xbox 登录框架,部分游戏和 Xbox 服务需要此组件" + }, + "Microsoft.XboxSpeechToTextOverlay": { + "FriendlyName": "Xbox 语音转文字", + "Description": "部分游戏所需的辅助功能。警告:此应用很难重新安装!" + }, + "Microsoft.YourPhone": { + "FriendlyName": "手机连接", + "Description": "将 Android 或 iOS 手机连接到电脑" + }, + "Microsoft.ZuneMusic": { + "FriendlyName": "媒体播放器", + "Description": "新版媒体播放器,已取代 Groove 音乐,可播放本地音频和视频" + }, + "MicrosoftWindows.CrossDevice": { + "FriendlyName": "跨设备体验", + "Description": "在文件资源管理器、“相机”等应用中提供手机集成功能(“手机连接”功能的一部分)" + }, + "MicrosoftWindows.Client.WebExperience": { + "FriendlyName": "Windows Web 体验包", + "Description": "通过 Microsoft Store 提供和更新小组件等部分功能" + }, + "Microsoft.WidgetsPlatformRuntime": { + "FriendlyName": "小组件平台运行时", + "Description": "Windows 小组件正常运行所需的组件" + }, + "LGElectronics.LGMonitorApp": { + "FriendlyName": "LG 显示器应用", + "Description": "LG 提供的显示器控制软件;连接 LG 显示器时,Windows 更新可能会自动重新安装此应用" + }, + "AD2F1837.HPAIExperienceCenter": { + "FriendlyName": "HP AI体验中心", + "Description": "惠普预装软件,提供AI增强功能和支持服务" + }, + "AD2F1837.HPConnectedMusic": { + "FriendlyName": "惠普音乐(HP Connected Music)", + "Description": "惠普预装音乐软件(可能已停止维护)" + }, + "AD2F1837.HPConnectedPhotopoweredbySnapfish": { + "FriendlyName": "惠普照片(HP Connected Photo)", + "Description": "惠普预装照片软件,与 Snapfish 集成(可能已停止维护)" + }, + "AD2F1837.HPDesktopSupportUtilities": { + "FriendlyName": "HP 桌面支持工具", + "Description": "惠普预装的桌面支持工具" + }, + "AD2F1837.HPEasyClean": { + "FriendlyName": "惠普设备清洁(HP Easy Clean)", + "Description": "暂时禁用输入设备,方便清洁设备" + }, + "AD2F1837.HPFileViewer": { + "FriendlyName": "HP 文件查看器", + "Description": "惠普预装软件,用于查看特定类型的文件" + }, + "AD2F1837.HPJumpStarts": { + "FriendlyName": "惠普入门(HP JumpStarts)", + "Description": "惠普预装软件,提供教程、应用推荐或惠普功能快捷入口" + }, + "AD2F1837.HPPCHardwareDiagnosticsWindows": { + "FriendlyName": "HP 电脑硬件诊断", + "Description": "惠普预装的电脑硬件诊断工具" + }, + "AD2F1837.HPPowerManager": { + "FriendlyName": "HP 电源管理器", + "Description": "惠普预装软件,用于管理电源设置和电池" + }, + "AD2F1837.HPPrinterControl": { + "FriendlyName": "HP 打印机控制", + "Description": "惠普预装的打印机管理软件" + }, + "AD2F1837.HPPrivacySettings": { + "FriendlyName": "HP 隐私设置", + "Description": "惠普预装的隐私设置管理软件" + }, + "AD2F1837.HPQuickDrop": { + "FriendlyName": "惠普快传(HP QuickDrop)", + "Description": "HP 设备间快速传输文件的预装软件(已停止支持)" + }, + "AD2F1837.HPQuickTouch": { + "FriendlyName": "惠普触控(HP QuickTouch)", + "Description": "惠普预装软件,可能用于触控快捷操作或控制" + }, + "AD2F1837.HPRegistration": { + "FriendlyName": "HP 产品注册", + "Description": "惠普预装的产品注册软件" + }, + "AD2F1837.HPSupportAssistant": { + "FriendlyName": "HP 支持助手", + "Description": "惠普预装软件,提供支持、更新和故障排查功能" + }, + "AD2F1837.HPSureShieldAI": { + "FriendlyName": "惠普安全防护(HP Sure Shield AI)", + "Description": "惠普预装安全软件,可能用于基于AI的威胁防护" + }, + "AD2F1837.HPSystemInformation": { + "FriendlyName": "HP 系统信息", + "Description": "惠普预装的系统信息查看软件" + }, + "AD2F1837.HPWelcome": { + "FriendlyName": "HP 欢迎", + "Description": "惠普预装软件,提供欢迎页面或初始设置帮助" + }, + "AD2F1837.HPWorkWell": { + "FriendlyName": "惠普健康办公(HP WorkWell)", + "Description": "惠普预装的健康办公软件,可能提供休息提醒或人体工学建议" + }, + "AD2F1837.myHP": { + "FriendlyName": "惠普设备中心(myHP)", + "Description": "惠普预装的设备信息、支持和服务入口" + }, + "E046963F.LenovoCompanion": { + "FriendlyName": "Lenovo Vantage", + "Description": "联想预装软件,用于管理设备设置、更新和支持服务" + }, + "LenovoCompanyLimited.LenovoVantageService": { + "FriendlyName": "Lenovo Vantage 服务", + "Description": "Lenovo Vantage 的后台服务组件" + }, + "DellInc.DellSupportAssistforPCs": { + "FriendlyName": "戴尔支持助手(Dell SupportAssist)", + "Description": "戴尔预装的支持、诊断和更新工具" + }, + "DellInc.DellDigitalDelivery": { + "FriendlyName": "戴尔数字交付(Dell Digital Delivery)", + "Description": "戴尔预装软件,用于交付已购买的软件" + }, + "DellInc.DellMobileConnect": { + "FriendlyName": "戴尔移动连接(Dell Mobile Connect)", + "Description": "戴尔预装软件,用于将 Android 或 iOS 手机连接到电脑(已由“手机连接”取代)" + } +} diff --git a/Config/Languages/zh-CN/Categories.json b/Config/Languages/zh-CN/Categories.json new file mode 100644 index 0000000..d689e20 --- /dev/null +++ b/Config/Languages/zh-CN/Categories.json @@ -0,0 +1,38 @@ +{ + "PrivacySuggestedContent": { + "Label": "隐私与推荐内容" + }, + "System": { + "Label": "系统" + }, + "StartMenuSearch": { + "Label": "开始菜单与搜索" + }, + "AI": { + "Label": "AI" + }, + "WindowsUpdate": { + "Label": "Windows 更新" + }, + "Taskbar": { + "Label": "任务栏" + }, + "Appearance": { + "Label": "外观" + }, + "FileExplorer": { + "Label": "文件资源管理器" + }, + "Gaming": { + "Label": "游戏" + }, + "MultiTasking": { + "Label": "多任务处理" + }, + "OptionalWindowsFeatures": { + "Label": "Windows 可选功能" + }, + "Other": { + "Label": "其他" + } +} diff --git a/Config/Languages/zh-CN/Chrome.json b/Config/Languages/zh-CN/Chrome.json new file mode 100644 index 0000000..5dc1ec6 --- /dev/null +++ b/Config/Languages/zh-CN/Chrome.json @@ -0,0 +1,333 @@ +{ + "TitleBarAppName": "Win11Debloat", + "MessageBoxOk": "确定", + "MessageBoxCancel": "取消", + "MessageBoxYes": "是", + "MessageBoxNo": "否", + "TitleBarSupportCreator": "支持作者", + "TitleBarOptions": "选项", + "SettingsTitle": "设置", + "SettingsSave": "保存", + "SettingsTheme": "主题", + "SettingsThemeAuto": "自动", + "SettingsThemeLight": "浅色", + "SettingsThemeDark": "深色", + "SettingsLanguage": "语言", + "SettingsLanguageAuto": "跟随系统", + "SettingsSaveError": "无法保存设置,请重试。", + "TitleBarClose": "关闭", + "MenuImportConfig": "导入配置", + "MenuImportConfigTooltip": "导入配置", + "MenuExportConfig": "导出配置", + "MenuExportConfigTooltip": "导出配置", + "MenuRestoreBackup": "恢复备份", + "MenuRestoreBackupTooltip": "恢复注册表备份", + "MenuDocumentation": "使用文档", + "MenuReportBug": "反馈问题", + "MenuLogs": "日志", + "MenuAbout": "关于", + "HomeTabHeader": "首页", + "HomeTitle": "欢迎使用 Win11Debloat", + "HomeSubtitle": "只需几步,让 Windows 更清爽!", + "HomeUserQuestion": "要为哪个用户应用更改?", + "HomeUserSelectionAutomationName": "应用更改的目标用户", + "HomeUserOptionCurrentUser": "当前用户", + "HomeUserOptionOtherUser": "其他用户", + "HomeUserOptionSysprep": "Windows 默认用户(Sysprep)", + "HomeUsernamePlaceholder": "输入用户名", + "HomeDefaultModeBtn": "默认模式", + "HomeDefaultModeBtnTooltip": "快速选择推荐设置", + "HomeCustomSetupBtn": "自定义设置", + "HomeCustomSetupBtnTooltip": "手动选择所需设置", + "AppRemovalTabHeader": "卸载应用", + "AppRemovalTitle": "卸载应用", + "AppRemovalSubtitle": "选择要卸载的应用", + "AppQuickSelect": "快速选择", + "AppQuickSelectAutomationName": "应用预设", + "AppClearSelection": "清空选择", + "AppClearSelectionTooltip": "取消选择所有应用", + "AppPresetDefaultApps": "默认应用列表", + "AppPresetDefaultAppsAutomationName": "默认选择", + "AppPresetDefaultAppsTooltip": "选择对大多数用户而言可安全卸载的应用", + "AppPresetLastUsed": "上次选择的应用", + "AppPresetLastUsedTooltip": "选择上次运行 Win11Debloat 时卸载的应用", + "AppOnlyInstalledCheckbox": "仅显示已安装的应用", + "AppOnlyInstalledCheckboxTooltip": "仅显示当前系统中已安装的应用", + "AppSearchPlaceholder": "搜索应用…", + "AppSearchAutomationName": "搜索应用", + "AppTableHeaderName": "名称", + "AppTableHeaderDescription": "说明", + "AppTableHeaderAppId": "应用标识", + "AppLoadingIndicator": "正在加载应用…", + "AppLegendTitle": "图例:", + "AppLegendRecommendedTooltip": "[推荐] 对大多数用户而言可安全卸载", + "AppLegendRecommended": "推荐", + "AppLegendOptionalTooltip": "[可选] 如果不需要此应用,可以安全卸载", + "AppLegendOptional": "可选", + "AppLegendNotRecommendedTooltip": "[不推荐] 仅在了解影响的情况下卸载", + "AppLegendNotRecommended": "不推荐", + "TweaksTabHeader": "系统调整", + "TweaksTitle": "系统调整", + "TweaksSubtitle": "选择要进行的更改,将鼠标悬停在设置上可查看详细说明", + "TweaksQuickSelect": "快速选择", + "TweaksQuickSelectAutomationName": "系统调整预设", + "TweaksClearSelection": "清空选择", + "TweaksClearSelectionTooltip": "取消选择所有系统调整", + "TweaksPresetDefault": "默认设置", + "TweaksPresetDefaultTooltip": "选择适合大多数用户的推荐设置", + "TweaksPresetLastUsed": "上次选择的设置", + "TweaksPresetLastUsedTooltip": "选择上次运行 Win11Debloat 时应用的设置", + "TweaksPresetPrivacy": "隐私与推荐内容", + "TweaksPresetPrivacyAutomationName": "所有隐私与推荐内容设置", + "TweaksPresetPrivacyTooltip": "选择所有与隐私和推荐内容相关的系统调整", + "TweaksPresetAI": "AI功能", + "TweaksPresetAIAutomationName": "所有AI功能", + "TweaksPresetAITooltip": "选择所有与AI相关的系统调整", + "TweaksDetectApplied": "检测已应用的调整", + "TweaksDetectAppliedTooltip": "检测当前用户已应用的所有系统调整", + "TweaksSearchPlaceholder": "搜索系统调整…", + "TweaksSearchAutomationName": "搜索系统调整", + "DeployTabHeader": "部署设置", + "DeployTitle": "部署设置", + "DeploySubtitle": "设置如何将所选更改应用到系统", + "DeployApplyToTitle": "更改将应用于", + "DeployUserSelectionDescription": "当前登录用户的配置文件。", + "DeployAppRemovalScopeTitle": "卸载应用的用户范围", + "DeployAppRemovalScopeAutomationName": "应用卸载范围", + "DeployAppRemovalScopeAllUsers": "所有用户", + "DeployAppRemovalScopeCurrentUser": "仅当前用户", + "DeployAppRemovalScopeTargetUser": "仅目标用户", + "DeployOptionsTitle": "选项", + "DeployOptionRegistryBackup": "创建注册表备份(推荐)", + "DeployOptionRestorePoint": "创建系统还原点(推荐)", + "DeployOptionRestartExplorer": "重启 Windows 资源管理器进程,使所有更改立即生效", + "DeployReviewChanges": "查看所选更改", + "DeployApplyChanges": "应用更改", + "BubbleViewChanges": "在此查看所选更改", + "AboutTitle": "关于 Win11Debloat", + "AboutVersionLabel": "版本:", + "AboutAuthorLabel": "作者:", + "AboutProjectLabel": "项目:", + "AboutDonationMessage": "Win11Debloat 是我利用业余时间维护的个人项目。如果这个工具对你有帮助,欢迎捐赠支持它的开发。非常感谢!", + "AboutKofiLink": "在 Ko-fi 上支持我", + "AppSelectionWindowTitle": "Win11Debloat 应用选择", + "AppSelectionWindowInstructions": "勾选要卸载的应用,取消勾选要保留的应用", + "AppSelectionWindowCheckAll": "全选/取消全选", + "AppSelectionWindowCheckAllAutomationName": "全选或取消全选", + "AppSelectionWindowConfirm": "确认", + "AppSelectionWindowCancel": "取消", + "ApplyCancelTooltip": "取消", + "ApplyInProgressTitle": "正在应用更改", + "ApplyPreparing": "正在准备…", + "ApplyStepCounter": "第 {0} 步,共 {1} 步", + "ApplyCreatingRegistryBackup": "正在创建注册表备份…", + "ApplyCreatingRestorePoint": "正在创建系统还原点,请稍候…", + "ApplyCompletionTitleSuccess": "更改已应用", + "ApplyCompletionMessageDefault": "部分更改需要重启后才能生效。感谢使用 Win11Debloat!", + "ApplyRebootRequiredHeader": "以下更改需要重启后才能生效:", + "ApplyCompletionTitleCancelled": "已取消", + "ApplyCompletionMessageCancelled": "用户已取消脚本执行。", + "ApplyCompletionTitleErrors": "更改已应用,但存在错误", + "ApplyCompletionMessageVerificationUnavailable": "应用所有更改时均未报错,但 Win11Debloat 无法确认所选应用是否已全部成功卸载。", + "ApplyCompletionMessageFailures_one": "{0} 项更改失败。详情请查看控制台。", + "ApplyCompletionMessageFailures_other": "{0} 项更改失败。详情请查看控制台。", + "ApplyCompletionMessageReady": "系统已准备就绪。感谢使用 Win11Debloat!", + "ApplyCompletionTitleError": "错误", + "ApplyCompletionMessageError": "应用更改时发生错误:{0}", + "NavBack": "上一步", + "NavNext": "下一步", + "NavProgressAppRemoval": "卸载应用", + "NavProgressSystemTweaks": "系统调整", + "NavProgressDeploymentSettings": "部署设置", + "RestoreWindowTitle": "恢复备份", + "RestoreChooseRegistryTitle": "恢复注册表备份", + "RestoreChooseRegistryDescription": "从备份恢复系统注册表配置", + "RestoreChooseStartMenuTitle": "恢复开始菜单备份", + "RestoreChooseStartMenuDescription": "从备份恢复开始菜单中固定应用的布局", + "RestoreSelectTypePrompt": "选择要恢复的更改类型。", + "RestoreRegistryStepTitle": "恢复注册表备份", + "RestoreRegistryIntro": "这会将 Win11Debloat 对系统注册表所做的更改恢复到此前的状态。选择备份文件后可以查看将要恢复的更改。已卸载的应用需要手动重新安装。", + "RestoreRegistryWarning": "警告:请仅使用 Win11Debloat 生成的备份文件。", + "RestoreStartMenuStepTitle": "恢复开始菜单备份", + "RestoreStartMenuIntro": "使用 Win11Debloat 自动创建的备份,恢复所选用户的开始菜单固定应用布局。也可以使用手动创建的备份。", + "RestoreStartMenuScopeCurrentUser": "当前用户", + "RestoreStartMenuScopeAllUsers": "所有用户", + "RestoreStartMenuAutoBackupCheckbox": "自动查找开始菜单备份", + "RestoreFileLabel": "文件:", + "RestoreFileNotSelected": "未选择", + "RestoreCreatedLabel": "创建时间:", + "RestoreCreatedUnavailable": "不适用", + "RestoreCreatedUnknown": "未知", + "RestoreTargetLabel": "目标:", + "RestoreRevertibleFeaturesTitle": "将撤销以下更改:", + "RestoreReappliedFeaturesTitle": "将重新应用以下更改:", + "RestoreNonRevertibleFeaturesTitle": "以下更改不会被撤销:", + "RestoreWikiLink": "访问 Wiki 了解更多信息", + "RestoreStartMenuSummary": "将使用所选备份替换{0}当前的开始菜单固定应用布局。", + "RestoreStartMenuSummaryScopeCurrentUser": "当前用户", + "RestoreStartMenuSummaryScopeAllUsers": "所有用户", + "RestorePrimaryActionSelectBackupFile": "选择备份文件", + "RestorePrimaryActionRestoreBackup": "恢复备份", + "RestorePrimaryActionRestoreFromBackup": "从备份恢复", + "RestoreBackBtnCancel": "取消", + "RestoreBackBtnBack": "上一步", + "RestoreInvalidBackupTitle": "备份文件无效", + "RestoreInvalidBackupMessage": "无法加载所选文件:\n{0}", + "RestoreNoBackupFoundTitle": "未找到备份", + "RestoreNoBackupFoundMessage": "未找到{0}的开始菜单备份文件。取消勾选“自动查找开始菜单备份”可手动选择备份文件。", + "RestoreNoRestorableChangesError": "所选备份中没有可恢复的更改。", + "RestoreSelectRegistryFileDialogTitle": "选择注册表备份文件", + "RestoreSelectStartMenuFileDialogTitle": "选择开始菜单备份文件", + "RestoreUnknownFeature": "未知功能", + "RestoreTargetUnknown": "未知", + "RestoreTargetDefaultUserProfile": "默认用户配置文件", + "RestoreTargetCurrentUser": "当前用户", + "RestoreTargetAllUsers": "所有用户", + "RestoreTargetCurrentUserNamed": "当前用户({0})", + "RestoreTargetUserNamed": "用户({0})", + "RestoreTargetUser": "用户", + "RestoreBackupRestoredTitle": "备份已恢复", + "RestoreRegistryWhatIfMessage": "[模拟运行] 将恢复注册表备份(未进行任何更改)。", + "RestoreRegistrySuccessMessage": "注册表备份已成功恢复。部分更改可能需要重启后才能生效。", + "RestoreStartMenuFailedMessage": "恢复开始菜单备份失败。\n{0}", + "RestoreStartMenuPartialSuccessMessage": "已成功为 {0} 位用户恢复开始菜单备份。\n以下用户未能恢复:\n{1}", + "RestoreStartMenuWhatIfMessage": "[模拟运行] 将恢复开始菜单备份(未进行任何更改)。", + "RestoreStartMenuAllUsersSuccessMessage": "已成功为所有用户恢复开始菜单备份。更改将在用户下次登录时生效。", + "RestoreStartMenuCurrentUserSuccessMessage": "已成功为当前用户恢复开始菜单备份。更改将在你下次登录时生效。", + "RestoreOperationFailedMessage": "恢复失败:{0}", + "RestoreUnexpectedError": "发生意外错误。", + "ImportExportCategoryApplications": "应用", + "ImportExportCategorySystemTweaks": "系统调整", + "ImportExportCategoryDeploymentSettings": "部署设置", + "ImportExportCategoryDisabledTooltip": "此类别中未选择任何内容", + "ImportExportSchemaMissingMessage": "未找到导入/导出窗口的界面定义文件。", + "ImportExportExportTitle": "导出配置", + "ImportExportExportPrompt": "根据当前选择的设置创建配置文件。你可以选择要导出的设置类别。", + "ImportExportExportActionLabel": "导出设置", + "ImportExportSelectExportFileDialogTitle": "导出配置", + "ImportExportWhatIfExportMessage": "[模拟运行] 将配置导出到此文件(未写入文件)。", + "ImportExportExportSuccessMessage": "配置已成功导出。", + "ImportExportExportFailedMessage": "导出配置失败", + "ImportExportImportTitle": "导入配置", + "ImportExportImportPrompt": "选择要导入的设置类别。应用设置前,你可以查看并修改导入的设置。", + "ImportExportImportActionLabel": "导入设置", + "ImportExportSelectImportFileDialogTitle": "选择配置文件", + "ImportExportInvalidConfigTitle": "配置无效", + "ImportExportReadFailedMessage": "读取配置文件失败", + "ImportExportInvalidConfigMessage": "配置文件无效:{0}", + "ImportExportImportSuccessMessage": "配置已成功导入。", + "ImportExportDeployUserCurrentUser": "用户:当前用户", + "ImportExportDeployUserOther": "用户:{0}", + "ImportExportDeployUserOtherFallback": "其他用户", + "ImportExportDeployUserSysprep": "用户:Sysprep", + "ImportExportAppRemovalAllUsers": "卸载应用:所有用户", + "ImportExportAppRemovalCurrentUser": "卸载应用:当前用户", + "ImportExportAppRemovalOther": "卸载应用:{0}", + "ImportExportOptionRestorePoint": "还原点", + "ImportExportOptionRegistryBackup": "注册表备份", + "ImportExportOptionRestartExplorer": "重启资源管理器", + "ImportExportOptionsPrefix": "选项:{0}", + "ImportExportDefaultDeploymentSettings": "默认部署设置", + "ImportExportAppsSelected_one": "已选择 {0} 个应用", + "ImportExportAppsSelected_other": "已选择 {0} 个应用", + "ImportExportNoAppsSelected": "未选择应用", + "ImportExportTweaksSelected_one": "已选择 {0} 项系统调整", + "ImportExportTweaksSelected_other": "已选择 {0} 项系统调整", + "ImportExportNoTweaksSelected": "未选择系统调整", + "AppSelectionWinGetLoadFailedMessage": "无法通过 WinGet 加载已安装的应用列表。", + "ErrorTitle": "错误", + "AppSelectionStatusSelected_one": "已选择卸载 {0} 个应用", + "AppSelectionStatusSelected_other": "已选择卸载 {0} 个应用", + "AppRemovalScopeDescriptionAllUsers": "将为所有用户卸载应用,并从 Windows 映像中移除,防止为新用户重新安装。", + "AppRemovalScopeDescriptionCurrentUser": "仅为当前用户卸载应用。", + "AppRemovalScopeDescriptionTargetUser": "仅为指定的目标用户卸载应用。", + "TweaksCategoryHelpTooltip": "打开 Wiki,了解“{0}”相关的系统调整", + "TweaksOptionNoChange": "不更改", + "TweaksOptionApply": "应用", + "TweaksOptionDisable": "禁用", + "TweaksOptionEnable": "启用", + "TweaksAlreadyAppliedTooltip": "此项调整已应用,无法自动撤销。请访问 Win11Debloat Wiki,查看手动撤销此更改的说明。", + "DeployChangeRemoveApps_one": "卸载 {0} 个应用", + "DeployChangeRemoveApps_other": "卸载 {0} 个应用", + "DeployChangeUndoPrefix": "撤销:{0}", + "DeployNoChangesSelectedMessage": "未选择任何更改。", + "DeploySelectedChangesTitle": "所选更改", + "DeployUserDescriptionCurrentUser": "当前登录用户的配置文件", + "DeployUserDescriptionCurrentUserNamed": "当前登录用户的配置文件:{0}", + "DeployUserDescriptionOtherUser": "此系统上其他用户的配置文件", + "DeployUserDescriptionOtherUserNamed": "此系统上其他用户的配置文件:{0}", + "DeployUserDescriptionSysprep": "默认用户模板,影响此后创建的所有新用户。适用于 Sysprep 部署。", + "LogsMenuTitle": "日志", + "LogsFolderNotFoundMessage": "未在以下位置找到日志文件夹:{0}", + "ExportConfigFailedTitle": "导出配置失败", + "ExportConfigFailedMessage": "无法打开导出配置对话框:{0}", + "ImportConfigFailedTitle": "导入配置失败", + "ImportConfigFailedMessage": "无法打开导入配置对话框:{0}", + "RestoreBackupFailedTitle": "恢复备份失败", + "RestoreBackupFailedMessage": "无法打开恢复备份对话框:{0}", + "AppPresetSelectTooltip": "选择{0}", + "InvalidUsernameFallbackMessage": "请输入有效的用户名。", + "InvalidUsernameTitle": "用户名无效", + "NoChangesSelectedTitle": "未选择更改", + "NoChangesSelectedMessage": "未选择任何更改,请至少选择一项后继续。", + "HomeCurrentUserWithName": "当前用户({0})", + "InitializationErrorTitle": "初始化错误", + "InitializationErrorMessage": "初始化时发生错误:{0}", + "WhatIfModeTitle": "模拟模式(WhatIf)", + "WhatIfModeMessage": "已启用模拟模式(WhatIf)。在此模式下,脚本不会对系统进行任何更改。\n\n你可以在控制台输出中查看脚本原本将执行的操作。", + "ConfirmTitle": "确定要继续吗?", + "ConfirmRemoveStoreMessage": "确定要卸载 Microsoft Store 吗?此应用不易重新安装。", + "ConfirmRemoveTerminalMessage": "确定要卸载 Windows 终端吗?Windows 终端是 Windows 的默认命令行应用。继续前请确保 Win11Debloat 不是通过 Windows 终端运行的,以免执行过程中断。", + "ConfigEmptyOrUnreadable": "配置为空或无法读取。", + "ConfigMissingVersion": "配置缺少 Version 字段。", + "ConfigNoImportableData": "配置文件中没有可导入的数据。", + "ConfigAppsMustBeStrings": "配置中的 Apps 条目必须为字符串。", + "ConfigEntriesMustHaveNameAndValue": "配置中的 {0} 条目必须包含 Name 和 Value 属性。", + "ConfigInvalidAppRemovalScopeIndex": "AppRemovalScopeIndex 必须为支持的数值(0、1 或 2)。", + "ConfigInvalidUserSelectionIndex": "UserSelectionIndex 必须为支持的数值(0、1 或 2)。", + "ConfigScopeRequiresCurrentUserTarget": "卸载范围“仅当前用户”(AppRemovalScopeIndex 1)要求部署目标为“当前用户”(UserSelectionIndex 0)。", + "ConfigScopeRequiresOtherUserTarget": "卸载范围“仅目标用户”(AppRemovalScopeIndex 2)要求部署目标为“其他用户”(UserSelectionIndex 1)。", + "ConfigScopeRequiresOtherUsername": "卸载范围“仅目标用户”(AppRemovalScopeIndex 2)要求提供 OtherUsername 值。", + "UsernameValidationEmpty": "请输入用户名", + "UsernameValidationOwnUsername": "不能输入自己的用户名,请选择“当前用户”", + "UsernameValidationNotFound": "未找到用户,请输入有效的用户名", + "UsernameValidationFound": "已找到用户:{0}", + "RestorePointFailedTitle": "创建还原点失败", + "RestorePointFailedMessage": "创建系统还原点失败。是否在没有还原点的情况下继续?", + "ForceRemoveEdgeTitle": "强制卸载 Microsoft Edge?", + "ForceRemoveEdgeMessage": "无法通过 WinGet 卸载 Microsoft Edge。是否强制卸载?不推荐这样做!", + "RemovingAppsSubStep": "正在卸载应用({0}/{1})", + "BackupFileNotFound": "未找到备份文件:{0}", + "BackupFileNotValidJson": "读取备份文件“{0}”失败。该文件不是有效的 JSON。", + "BackupValidationSingleError": "验证失败:{0}", + "BackupValidationMultipleErrors": "验证失败,共 {0} 个错误。详情请查看控制台输出。", + "BackupMissingProperty": "缺少属性:{0}", + "BackupUnsupportedVersion": "不支持的备份版本“{0}”。", + "BackupUnsupportedType": "不支持的 BackupType“{0}”。", + "BackupInvalidUser": "用户“{0}”无效", + "BackupUserScopedWrongContext": "此备份针对用户“{0}”,仅限该用户使用。请以该用户身份重新运行;SYSTEM 无法恢复 CurrentUser 备份。", + "BackupUserMismatch": "此备份针对用户“{0}”,与当前用户“{1}”不符。", + "BackupUnsupportedTarget": "不支持的 Target“{0}”。", + "BackupSelectedFeaturesMustBeStrings": "SelectedFeatures 必须包含非空字符串形式的功能 ID。", + "BackupSelectedUndoFeaturesMustBeStrings": "SelectedUndoFeatures 必须包含非空字符串形式的功能 ID。", + "BackupMissingSelectedFeatures": "备份的 SelectedFeatures 或 SelectedUndoFeatures 中必须至少包含一个功能 ID。", + "BackupAllowlistValidationFailed": "验证备份失败:{0}", + "BackupSnapshotMissingPath": "备份验证失败:注册表项快照缺少 Path。", + "BackupFeatureCatalogNotLoaded": "功能定义尚未加载,无法验证注册表备份的允许列表。", + "BackupNoAllowedRegistryPaths": "备份包含注册表快照,但无法从所选功能中确定任何允许的注册表路径。", + "BackupFeatureNotInCatalog": "当前功能列表中未找到所选功能“{0}”。", + "BackupUnsupportedRegistryPath": "备份包含不支持的注册表路径“{0}”。", + "BackupUnexpectedRegistryPath": "备份包含 SelectedFeatures 未允许的注册表路径“{0}”。", + "BackupUnexpectedValue": "备份中“{1}”下包含非预期的值“{0}”。", + "BackupUnsupportedValueKind": "备份中“{1}”的注册表值类型“{0}”不受支持。", + "BackupInvalidValueData": "备份中“{1}”处的注册表数据对类型“{0}”无效。", + "BackupValueMustNotDefineKind": "当 Exists 为 false 时,备份值“{0}”不得定义 Kind。", + "StartMenuNoBackupFoundForUser": "未找到用户 {0} 的开始菜单备份文件。", + "StartMenuWhatIfRestoredForUser": "[模拟运行] 将为用户 {0} 恢复开始菜单。", + "StartMenuRestoredForUser": "已为用户 {0} 恢复开始菜单。", + "StartMenuRestoreFailedForUser": "为用户 {0} 恢复开始菜单失败。{1}", + "StartMenuWhatIfRemovedDefaultProfile": "[模拟运行] 将移除默认用户配置文件中的 start2.bin。", + "StartMenuRemovedDefaultProfile": "已移除默认用户配置文件中的 start2.bin。", + "StartMenuRemoveFailedDefaultProfile": "移除默认用户配置文件中的 start2.bin 失败。{0}", + "StartMenuNoUserLocationsFound": "未找到任何用户的开始菜单位置。" +} diff --git a/Config/Languages/zh-CN/Features.json b/Config/Languages/zh-CN/Features.json new file mode 100644 index 0000000..7ccf7a0 --- /dev/null +++ b/Config/Languages/zh-CN/Features.json @@ -0,0 +1,751 @@ +{ + "Features": { + "RemoveApps": { + "Label": "卸载通过 Apps 参数指定的应用", + "ApplyText": "正在卸载所选应用" + }, + "Apps": { + "Label": "要卸载的应用,以逗号分隔。使用 Default(或省略此参数)以采用默认应用列表", + "ApplyText": "正在卸载所选应用" + }, + "RemoveGamingApps": { + "Label": "卸载 Xbox 应用和 Xbox Game Bar", + "ApplyText": "正在卸载游戏相关应用" + }, + "RemoveHPApps": { + "Label": "卸载 HP 预装应用", + "ApplyText": "正在卸载 HP 应用" + }, + "CreateRestorePoint": { + "Label": "创建系统还原点", + "ApplyText": "正在创建系统还原点" + }, + "DisableTelemetry": { + "Label": "禁用遥测、跟踪和个性化广告", + "ToolTip": "禁用遥测、诊断数据收集、活动历史记录、应用启动跟踪、个性化广告等功能,减少发送给 Microsoft 的设备和使用数据。如果你参加了 Windows 预览体验计划,可能需要重新开启可选诊断数据收集才能继续获取更新。", + "ApplyText": "正在禁用遥测和诊断数据收集", + "UndoLabel": "启用遥测、跟踪和个性化广告", + "ApplyUndoText": "正在启用遥测和诊断数据收集" + }, + "DisableSuggestions": { + "Label": "禁用 Windows 中的提示、技巧和推荐内容", + "ToolTip": "移除 Windows 中的多种干扰内容,包括通知、提醒和同步提供商广告,同时阻止自动安装推荐应用。", + "ApplyText": "正在禁用 Windows 中的提示、技巧、推荐内容和广告", + "UndoLabel": "启用 Windows 中的提示、技巧和推荐内容", + "ApplyUndoText": "正在启用 Windows 中的提示、技巧、推荐内容和广告" + }, + "DisableNotifications": { + "Label": "禁用 Windows 通知(来自应用和其他发送者)", + "ToolTip": "禁用来自应用和其他发送者的 Windows 原生通知,包括 Discord、WhatsApp、Teams 和 Slack 等应用的通知。", + "ApplyText": "正在禁用 Windows 通知和提醒", + "UndoLabel": "启用 Windows 通知和提醒", + "ApplyUndoText": "正在启用 Windows 通知和提醒" + }, + "DisableLocationServices": { + "Label": "禁用 Windows 定位服务及应用的位置访问权限", + "ToolTip": "关闭 Windows 定位服务,并拒绝应用访问你的位置信息。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用 Windows 定位服务及应用的位置访问权限", + "UndoLabel": "启用 Windows 定位服务及应用的位置访问权限", + "ApplyUndoText": "正在启用 Windows 定位服务及应用的位置访问权限" + }, + "DisableFindMyDevice": { + "Label": "禁用“查找我的设备”的位置跟踪", + "ToolTip": "关闭“查找我的设备”功能。该功能会定期将设备位置发送给 Microsoft。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用“查找我的设备”的位置跟踪", + "UndoLabel": "启用“查找我的设备”的位置跟踪", + "ApplyUndoText": "正在启用“查找我的设备”的位置跟踪" + }, + "DisableLockscreenTips": { + "Label": "禁用锁屏上的提示和技巧", + "ToolTip": "关闭锁屏的 Windows 聚焦选项,并禁用锁屏上的提示、技巧和趣闻。", + "ApplyText": "正在禁用锁屏上的提示和技巧", + "UndoLabel": "启用锁屏上的提示和技巧", + "ApplyUndoText": "正在启用锁屏上的提示和技巧" + }, + "EnableDesktopSpotlight": { + "Label": "启用 Windows 聚焦桌面背景和快捷方式", + "ToolTip": "恢复 Windows 聚焦桌面背景及“了解此图片”快捷方式。", + "ApplyText": "正在恢复 Windows 聚焦桌面背景和快捷方式" + }, + "DisableDesktopSpotlight": { + "Label": "禁用 Windows 聚焦桌面背景", + "ToolTip": "关闭桌面背景的 Windows 聚焦功能。该功能会轮换显示图片,也可能显示提示和趣闻。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用 Windows 聚焦桌面背景", + "UndoLabel": "启用 Windows 聚焦桌面背景", + "ApplyUndoText": "正在恢复 Windows 聚焦桌面背景和快捷方式" + }, + "HideDesktopSpotlightIcon": { + "Label": "隐藏“了解此图片”桌面快捷方式", + "ToolTip": "隐藏“了解此图片”桌面快捷方式,同时保留 Windows 聚焦壁纸轮换。不会禁用 Windows 聚焦。", + "ApplyText": "正在隐藏 Windows 聚焦的“了解此图片”桌面快捷方式", + "UndoLabel": "显示“了解此图片”桌面快捷方式", + "ApplyUndoText": "正在显示 Windows 聚焦的“了解此图片”桌面快捷方式" + }, + "DisableEdgeAds": { + "Label": "禁用 Edge 中的广告、推荐内容和资讯流", + "ToolTip": "关闭 Microsoft Edge 中的广告、推荐内容和 MSN 资讯流等干扰内容。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用 Microsoft Edge 中的广告、推荐内容和 MSN 资讯流", + "UndoLabel": "启用 Edge 中的广告、推荐内容和资讯流", + "ApplyUndoText": "正在启用 Microsoft Edge 中的广告、推荐内容和 MSN 资讯流" + }, + "DisableCopilot": { + "Label": "禁用 Microsoft Copilot", + "ToolTip": "禁用并卸载 Windows 内置的AI助手 Microsoft Copilot。", + "ApplyText": "正在禁用 Microsoft Copilot", + "UndoLabel": "启用 Microsoft Copilot", + "ApplyUndoText": "正在启用 Microsoft Copilot" + }, + "DisableRecall": { + "Label": "禁用 Windows 回顾(Recall)", + "ToolTip": "禁用 Windows 回顾(Recall)。该AI功能可快速访问最近使用的文件、应用和活动。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用 Windows 回顾(Recall)", + "UndoLabel": "启用 Windows 回顾(Recall)", + "ApplyUndoText": "正在启用 Windows 回顾(Recall)" + }, + "DisableClickToDo": { + "Label": "禁用“单击以执行”的AI文本与图像分析", + "ToolTip": "禁用“单击以执行”(Click to Do)。该功能在 Windows 中提供AI文本与图像分析。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用“单击以执行”", + "UndoLabel": "启用“单击以执行”的AI文本与图像分析", + "ApplyUndoText": "正在启用“单击以执行”" + }, + "DisableAISvcAutoStart": { + "Label": "阻止AI服务自动启动", + "ToolTip": "将 WSAIFabricSvc 服务设为手动启动,阻止它随 Windows 自动启动。", + "ApplyText": "正在阻止AI服务自动启动", + "UndoLabel": "允许AI服务自动启动", + "ApplyUndoText": "正在允许AI服务自动启动" + }, + "DisableDVR": { + "Label": "禁用 Xbox 游戏录制和屏幕录制", + "ToolTip": "禁用 Game Bar 应用提供的 Xbox 游戏录制和屏幕录制功能。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用 Xbox 游戏录制和屏幕录制", + "UndoLabel": "启用 Xbox 游戏录制和屏幕录制", + "ApplyUndoText": "正在启用 Xbox 游戏录制和屏幕录制" + }, + "DisableGameBarIntegration": { + "Label": "禁用 Game Bar 集成", + "ToolTip": "禁用 Game Bar 与游戏及控制器的集成,阻止启动游戏或连接控制器时出现 ms-gamebar 弹窗。", + "ApplyText": "正在禁用 Game Bar 集成", + "UndoLabel": "启用 Game Bar 集成", + "ApplyUndoText": "正在启用 Game Bar 集成" + }, + "ClearStart": { + "Label": "仅取消当前用户开始菜单中所有应用的固定", + "ApplyText": "正在取消开始菜单中所有应用的固定" + }, + "ClearStartAllUsers": { + "Label": "取消所有现有用户和新用户开始菜单中所有应用的固定", + "ApplyText": "正在取消所有用户开始菜单中所有应用的固定" + }, + "ReplaceStart": { + "Label": "仅使用提供的模板文件替换当前用户的开始菜单布局", + "ApplyText": "正在替换开始菜单布局" + }, + "ReplaceStartAllUsers": { + "Label": "使用提供的模板文件替换所有现有用户和新用户的开始菜单布局", + "ApplyText": "正在替换所有用户的开始菜单布局" + }, + "DisableStartRecommended": { + "Label": "隐藏开始菜单的“推荐的项目”区域", + "ToolTip": "隐藏开始菜单中显示最近添加的应用、最近打开的文件和应用推荐的区域。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用开始菜单的“推荐的项目”区域", + "UndoLabel": "显示开始菜单的“推荐的项目”区域", + "ApplyUndoText": "正在启用开始菜单的“推荐的项目”区域" + }, + "DisableStartAllApps": { + "Label": "隐藏开始菜单的“所有应用”区域", + "ToolTip": "隐藏开始菜单中列出所有已安装应用的“所有应用”区域。警告:隐藏后可能更难找到已安装的应用。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用开始菜单的“所有应用”区域", + "UndoLabel": "显示开始菜单的“所有应用”区域", + "ApplyUndoText": "正在启用开始菜单的“所有应用”区域" + }, + "DisableStartPhoneLink": { + "Label": "禁用开始菜单中的手机连接集成", + "ToolTip": "当电脑关联了移动设备时,移除开始菜单中的手机连接集成。", + "ApplyText": "正在禁用开始菜单中的手机连接移动设备集成", + "UndoLabel": "启用开始菜单中的手机连接集成", + "ApplyUndoText": "正在启用开始菜单中的手机连接移动设备集成" + }, + "DisableBing": { + "Label": "禁用搜索中的必应网络搜索和 Copilot 集成", + "ToolTip": "关闭 Windows 搜索中的必应网络搜索结果和 Copilot 集成。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用 Windows 搜索中的必应网络搜索和 Copilot 集成", + "UndoLabel": "启用搜索中的必应网络搜索和 Copilot 集成", + "ApplyUndoText": "正在启用 Windows 搜索中的必应网络搜索和 Copilot 集成" + }, + "DisableStoreSearchSuggestions": { + "Label": "禁用搜索中的 Microsoft Store 应用推荐", + "ToolTip": "禁用 Windows 搜索中的 Microsoft Store 应用推荐。", + "ApplyText": "正在禁用搜索中的 Microsoft Store 应用推荐", + "UndoLabel": "启用搜索中的 Microsoft Store 应用推荐", + "ApplyUndoText": "正在启用搜索中的 Microsoft Store 应用推荐" + }, + "DisableSettings365Ads": { + "Label": "隐藏“设置”主页的 Microsoft 365 Copilot 广告", + "ToolTip": "关闭“设置”主页中的 Microsoft 365 Copilot 广告。", + "ApplyText": "正在禁用“设置”主页的 Microsoft 365 Copilot 广告", + "UndoLabel": "显示“设置”主页的 Microsoft 365 Copilot 广告", + "ApplyUndoText": "正在启用“设置”主页的 Microsoft 365 Copilot 广告" + }, + "DisableSettingsHome": { + "Label": "隐藏“设置”的“主页”页面", + "ToolTip": "移除“设置”应用中的“主页”页面。", + "ApplyText": "正在禁用“设置”主页", + "UndoLabel": "显示“设置”的“主页”页面", + "ApplyUndoText": "正在启用“设置”主页" + }, + "DisableChromeAI": { + "Label": "禁用 Google Chrome 中的AI功能", + "ToolTip": "禁用 Google Chrome 内置的AI工具及集成功能,包括 Gemini、AI搜索与建议、写作辅助、自动填充等,同时移除本地AI模型。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用 Google Chrome 中的AI功能", + "UndoLabel": "启用 Google Chrome 中的AI功能", + "ApplyUndoText": "正在启用 Google Chrome 中的AI功能" + }, + "DisableEdgeAI": { + "Label": "禁用 Microsoft Edge 中的AI功能", + "ToolTip": "关闭 Microsoft Edge 中的AI功能,例如AI侧边栏和 Copilot。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用 Microsoft Edge 中的AI功能", + "UndoLabel": "启用 Microsoft Edge 中的AI功能", + "ApplyUndoText": "正在启用 Microsoft Edge 中的AI功能" + }, + "DisablePaintAI": { + "Label": "禁用画图中的AI功能", + "ToolTip": "关闭画图中的AI功能,例如AI图像生成和编辑工具。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用画图中的AI功能", + "UndoLabel": "启用画图中的AI功能", + "ApplyUndoText": "正在启用画图中的AI功能" + }, + "DisableNotepadAI": { + "Label": "禁用记事本中的AI功能", + "ToolTip": "关闭记事本中的AI功能,例如AI写作建议。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用记事本中的AI功能", + "UndoLabel": "启用记事本中的AI功能", + "ApplyUndoText": "正在启用记事本中的AI功能" + }, + "EnableDarkMode": { + "Label": "为系统和应用启用深色主题", + "ToolTip": "将应用和系统主题设为深色模式。", + "ApplyText": "正在为系统和应用启用深色模式", + "UndoLabel": "禁用系统和应用的深色主题", + "ApplyUndoText": "正在禁用系统和应用的深色模式" + }, + "DisableDragTray": { + "Label": "禁用用于共享和移动文件的拖放托盘", + "ToolTip": "拖放托盘是 Windows 11 用于共享和移动文件的新功能,会在拖动文件时出现在屏幕顶部。", + "ApplyText": "正在禁用拖放托盘", + "UndoLabel": "启用用于共享和移动文件的拖放托盘", + "ApplyUndoText": "正在启用拖放托盘" + }, + "RevertContextMenu": { + "Label": "使用经典 Windows 10 右键菜单样式", + "ToolTip": "恢复经典 Windows 10 风格的右键菜单。在 Windows 11 中,通常需要点击“显示更多选项”才能打开此菜单。", + "ApplyText": "正在恢复经典 Windows 10 右键菜单样式", + "UndoLabel": "使用 Windows 11 右键菜单样式", + "ApplyUndoText": "正在恢复 Windows 11 右键菜单样式" + }, + "DisableMouseAcceleration": { + "Label": "禁用“提高指针精确度”(鼠标加速)", + "ToolTip": "禁用 Windows 默认开启的鼠标加速,使鼠标移动更一致、更可预测。", + "ApplyText": "正在关闭“提高指针精确度”", + "UndoLabel": "启用“提高指针精确度”(鼠标加速)", + "ApplyUndoText": "正在开启“提高指针精确度”" + }, + "DisableStickyKeys": { + "Label": "禁用粘滞键快捷键(连按 5 次 Shift)", + "ToolTip": "阻止连续按 5 次 Shift 键时弹出粘滞键对话框。", + "ApplyText": "正在禁用粘滞键快捷键", + "UndoLabel": "启用粘滞键快捷键(连按 5 次 Shift)", + "ApplyUndoText": "正在启用粘滞键快捷键" + }, + "DisableWindowSnapping": { + "Label": "禁用窗口贴靠", + "ToolTip": "关闭将窗口贴靠到屏幕边缘或角落的功能。", + "ApplyText": "正在禁用窗口贴靠", + "UndoLabel": "启用窗口贴靠", + "ApplyUndoText": "正在启用窗口贴靠" + }, + "DisableSnapAssist": { + "Label": "禁用窗口贴靠时的应用建议", + "ToolTip": "关闭将窗口贴靠到屏幕边缘或角落时显示的应用建议。", + "ApplyText": "正在禁用贴靠助手建议", + "UndoLabel": "启用窗口贴靠时的应用建议", + "ApplyUndoText": "正在启用贴靠助手建议" + }, + "DisableSnapLayouts": { + "Label": "隐藏屏幕顶部和最大化按钮上的贴靠布局", + "ToolTip": "关闭将鼠标悬停在最大化按钮上,或将窗口拖到屏幕顶部时出现的贴靠布局浮窗。", + "ApplyText": "正在隐藏屏幕顶部和最大化按钮上的贴靠布局", + "UndoLabel": "显示屏幕顶部和最大化按钮上的贴靠布局", + "ApplyUndoText": "正在显示屏幕顶部和最大化按钮上的贴靠布局" + }, + "HideTabsInAltTab": { + "Label": "贴靠窗口或按 Alt+Tab 时隐藏应用标签页", + "ApplyText": "正在禁用贴靠窗口或按 Alt+Tab 时显示应用标签页" + }, + "Show3TabsInAltTab": { + "Label": "贴靠窗口或按 Alt+Tab 时显示 3 个应用标签页", + "ApplyText": "正在启用贴靠窗口或按 Alt+Tab 时显示 3 个应用标签页" + }, + "Show5TabsInAltTab": { + "Label": "贴靠窗口或按 Alt+Tab 时显示 5 个应用标签页", + "ApplyText": "正在启用贴靠窗口或按 Alt+Tab 时显示 5 个应用标签页" + }, + "Show20TabsInAltTab": { + "Label": "贴靠窗口或按 Alt+Tab 时显示 20 个应用标签页", + "ApplyText": "正在启用贴靠窗口或按 Alt+Tab 时显示 20 个应用标签页" + }, + "TaskbarAlignLeft": { + "Label": "任务栏左对齐", + "ToolTip": "Windows 11 默认将任务栏按钮居中。启用此设置后,按钮将移到左侧,与旧版 Windows 类似。", + "ApplyText": "正在将任务栏按钮设为左对齐", + "UndoLabel": "任务栏居中对齐", + "ApplyUndoText": "正在将任务栏按钮设为居中对齐" + }, + "HideSearchTb": { + "Label": "隐藏任务栏上的搜索图标", + "ApplyText": "正在隐藏任务栏上的搜索图标", + "UndoLabel": "在任务栏上显示搜索框", + "ApplyUndoText": "正在将任务栏搜索设为搜索框" + }, + "ShowSearchIconTb": { + "Label": "在任务栏上显示搜索图标", + "ApplyText": "正在将任务栏搜索设为仅显示图标", + "UndoLabel": "在任务栏上显示搜索框", + "ApplyUndoText": "正在将任务栏搜索设为搜索框" + }, + "ShowSearchLabelTb": { + "Label": "在任务栏上显示搜索图标和标签", + "ApplyText": "正在将任务栏搜索设为图标和标签", + "UndoLabel": "在任务栏上显示搜索框", + "ApplyUndoText": "正在将任务栏搜索设为搜索框" + }, + "ShowSearchBoxTb": { + "Label": "在任务栏上显示搜索框", + "ApplyText": "正在将任务栏搜索设为搜索框" + }, + "HideTaskview": { + "Label": "隐藏任务栏上的“任务视图”按钮", + "ToolTip": "禁用任务栏上的“任务视图”按钮。该按钮用于查看所有已打开的窗口和虚拟桌面。", + "ApplyText": "正在隐藏任务栏上的“任务视图”按钮", + "UndoLabel": "显示任务栏上的“任务视图”按钮", + "ApplyUndoText": "正在显示任务栏上的“任务视图”按钮" + }, + "DisableWidgets": { + "Label": "禁用任务栏和锁屏上的小组件", + "ToolTip": "禁用 Windows 小组件功能,包括任务栏上的小组件按钮和锁屏上可能出现的小组件。", + "ApplyText": "正在禁用任务栏和锁屏上的小组件" + }, + "HideChat": { + "Label": "隐藏任务栏上的聊天(立即开会)图标", + "ToolTip": "禁用任务栏上的聊天(立即开会)图标。", + "ApplyText": "正在隐藏任务栏上的聊天图标", + "UndoLabel": "显示任务栏上的聊天(立即开会)图标", + "ApplyUndoText": "正在显示任务栏上的聊天图标" + }, + "DisableStorageSense": { + "Label": "禁用存储感知自动磁盘清理", + "ToolTip": "禁用存储感知。该功能通过删除临时文件、清空回收站和清理“下载”文件夹中的文件来自动释放磁盘空间。", + "ApplyText": "正在禁用存储感知自动磁盘清理", + "UndoLabel": "启用存储感知自动磁盘清理", + "ApplyUndoText": "正在启用存储感知自动磁盘清理" + }, + "DisableFastStartup": { + "Label": "禁用快速启动", + "ToolTip": "快速启动会将系统映像保存到磁盘,以加快关机后的启动速度。禁用后可能解决某些问题,但开机时间可能略有增加。", + "ApplyText": "正在禁用快速启动", + "UndoLabel": "启用快速启动", + "ApplyUndoText": "正在启用快速启动" + }, + "DisableBitlockerAutoEncryption": { + "Label": "禁用 BitLocker 自动设备加密", + "ToolTip": "Windows 11 会在支持的设备上自动启用 BitLocker 设备加密。禁用后将停止自动加密,但仍可按需手动启用 BitLocker。已使用 BitLocker 加密的驱动器会保持加密状态。", + "ApplyText": "正在禁用 BitLocker 自动设备加密", + "UndoLabel": "启用 BitLocker 自动设备加密", + "ApplyUndoText": "正在启用 BitLocker 自动设备加密" + }, + "DisableModernStandbyNetworking": { + "Label": "禁用现代待机期间的网络连接", + "ToolTip": "支持现代待机的设备默认在睡眠期间保持网络连接。禁用现代待机期间的网络连接有助于节省电量。", + "ApplyText": "正在禁用现代待机期间的网络连接", + "UndoLabel": "启用现代待机期间的网络连接", + "ApplyUndoText": "正在启用现代待机期间的网络连接" + }, + "EnableEndTask": { + "Label": "在任务栏右键菜单中显示“结束任务”", + "ToolTip": "在任务栏应用的右键菜单中添加“结束任务”选项,方便快速强制关闭应用。", + "ApplyText": "正在启用任务栏右键菜单中的“结束任务”选项", + "UndoLabel": "隐藏任务栏右键菜单中的“结束任务”", + "ApplyUndoText": "正在禁用任务栏右键菜单中的“结束任务”选项" + }, + "EnableLastActiveClick": { + "Label": "点击任务栏应用时切换到上次活动窗口", + "ToolTip": "启用后,点击任务栏上的应用会切换到该应用上次活动的窗口,而不只是显示缩略图预览。", + "ApplyText": "正在启用点击任务栏应用时切换到上次活动窗口", + "UndoLabel": "禁用点击任务栏应用时切换到上次活动窗口", + "ApplyUndoText": "正在禁用点击任务栏应用时切换到上次活动窗口" + }, + "CombineTaskbarAlways": { + "Label": "始终合并主显示器的任务栏按钮并隐藏标签", + "ApplyText": "正在将主显示器的任务栏设为始终合并按钮并隐藏标签" + }, + "CombineMMTaskbarAlways": { + "Label": "始终合并其他显示器的任务栏按钮并隐藏标签", + "ApplyText": "正在将其他显示器的任务栏设为始终合并按钮并隐藏标签" + }, + "CombineTaskbarWhenFull": { + "Label": "主显示器的任务栏已满时合并按钮并隐藏标签", + "ApplyText": "正在将主显示器的任务栏设为仅在已满时合并按钮并隐藏标签", + "UndoLabel": "始终合并主显示器的任务栏按钮并隐藏标签", + "ApplyUndoText": "正在将主显示器的任务栏设为始终合并按钮并隐藏标签" + }, + "CombineMMTaskbarWhenFull": { + "Label": "其他显示器的任务栏已满时合并按钮并隐藏标签", + "ApplyText": "正在将其他显示器的任务栏设为仅在已满时合并按钮并隐藏标签", + "UndoLabel": "始终合并其他显示器的任务栏按钮并隐藏标签", + "ApplyUndoText": "正在将其他显示器的任务栏设为始终合并按钮并隐藏标签" + }, + "CombineTaskbarNever": { + "Label": "从不合并主显示器的任务栏按钮,并显示标签", + "ApplyText": "正在将主显示器的任务栏设为从不合并按钮,也不隐藏标签", + "UndoLabel": "始终合并主显示器的任务栏按钮并隐藏标签", + "ApplyUndoText": "正在将主显示器的任务栏设为始终合并按钮并隐藏标签" + }, + "CombineMMTaskbarNever": { + "Label": "从不合并其他显示器的任务栏按钮,并显示标签", + "ApplyText": "正在将其他显示器的任务栏设为从不合并按钮,也不隐藏标签", + "UndoLabel": "始终合并其他显示器的任务栏按钮并隐藏标签", + "ApplyUndoText": "正在将其他显示器的任务栏设为始终合并按钮并隐藏标签" + }, + "MMTaskbarModeAll": { + "Label": "在所有任务栏上显示应用图标", + "ApplyText": "正在设置为在所有任务栏上显示应用图标" + }, + "MMTaskbarModeMainActive": { + "Label": "在主任务栏和窗口所在的任务栏上显示应用图标", + "ApplyText": "正在设置为在主任务栏和窗口所在的任务栏上显示应用图标", + "UndoLabel": "在所有任务栏上显示应用图标", + "ApplyUndoText": "正在设置为在所有任务栏上显示应用图标" + }, + "MMTaskbarModeActive": { + "Label": "仅在窗口所在的任务栏上显示应用图标", + "ApplyText": "正在设置为仅在窗口所在的任务栏上显示应用图标", + "UndoLabel": "在所有任务栏上显示应用图标", + "ApplyUndoText": "正在设置为在所有任务栏上显示应用图标" + }, + "ExplorerToHome": { + "Label": "将文件资源管理器的默认打开位置设为“主页”", + "ApplyText": "正在将文件资源管理器的默认打开位置设为“主页”" + }, + "ExplorerToThisPC": { + "Label": "将文件资源管理器的默认打开位置设为“此电脑”", + "ApplyText": "正在将文件资源管理器的默认打开位置设为“此电脑”", + "UndoLabel": "将文件资源管理器的默认打开位置设为“主页”", + "ApplyUndoText": "正在将文件资源管理器的默认打开位置设为“主页”" + }, + "ExplorerToDownloads": { + "Label": "将文件资源管理器的默认打开位置设为“下载”", + "ApplyText": "正在将文件资源管理器的默认打开位置设为“下载”", + "UndoLabel": "将文件资源管理器的默认打开位置设为“主页”", + "ApplyUndoText": "正在将文件资源管理器的默认打开位置设为“主页”" + }, + "ExplorerToOneDrive": { + "Label": "将文件资源管理器的默认打开位置设为 OneDrive", + "ApplyText": "正在将文件资源管理器的默认打开位置设为 OneDrive", + "UndoLabel": "将文件资源管理器的默认打开位置设为“主页”", + "ApplyUndoText": "正在将文件资源管理器的默认打开位置设为“主页”" + }, + "ShowKnownFileExt": { + "Label": "显示已知文件类型的扩展名", + "ToolTip": "显示已知文件类型的扩展名。Windows 默认会隐藏这些扩展名,可能导致混淆和安全风险。", + "ApplyText": "正在启用显示已知文件类型的扩展名", + "UndoLabel": "隐藏已知文件类型的扩展名", + "ApplyUndoText": "正在禁用显示已知文件类型的扩展名" + }, + "ShowHiddenFolders": { + "Label": "显示隐藏的文件、文件夹和驱动器", + "ToolTip": "Windows 默认会隐藏某些文件、文件夹和驱动器,以防误改或误删。启用后可在文件资源管理器中显示所有文件。", + "ApplyText": "正在显示隐藏的文件、文件夹和驱动器", + "UndoLabel": "隐藏已设为隐藏的文件、文件夹和驱动器", + "ApplyUndoText": "正在隐藏已设为隐藏的文件、文件夹和驱动器" + }, + "HideDupliDrive": { + "Label": "隐藏重复的可移动驱动器条目", + "ToolTip": "Windows 默认会在“此电脑”下和导航窗格的独立条目中同时显示可移动驱动器。启用后仅在“此电脑”下显示。", + "ApplyText": "正在隐藏文件资源管理器导航窗格中重复的可移动驱动器条目", + "UndoLabel": "显示重复的可移动驱动器条目", + "ApplyUndoText": "正在显示文件资源管理器导航窗格中重复的可移动驱动器条目" + }, + "HideHome": { + "Label": "隐藏导航窗格中的“主页”", + "ToolTip": "隐藏文件资源管理器导航窗格中的“主页”。警告:这可能导致快速访问链接无法更新,直到重启电脑或 Windows 资源管理器。", + "ApplyText": "正在隐藏文件资源管理器导航窗格中的“主页”", + "UndoLabel": "显示导航窗格中的“主页”", + "ApplyUndoText": "正在显示文件资源管理器导航窗格中的“主页”" + }, + "HideGallery": { + "Label": "隐藏导航窗格中的“图库”", + "ToolTip": "隐藏文件资源管理器导航窗格中的“图库”。", + "ApplyText": "正在隐藏文件资源管理器导航窗格中的“图库”", + "UndoLabel": "显示导航窗格中的“图库”", + "ApplyUndoText": "正在显示文件资源管理器导航窗格中的“图库”" + }, + "DisableTransparency": { + "Label": "禁用透明效果", + "ToolTip": "禁用 Windows 窗口和界面的透明效果,有助于改善旧硬件上的性能。", + "ApplyText": "正在禁用透明效果", + "UndoLabel": "启用透明效果", + "ApplyUndoText": "正在启用透明效果" + }, + "DisableAnimations": { + "Label": "禁用动画和视觉效果", + "ToolTip": "禁用 Windows 中的动画和部分视觉效果,让界面响应感觉更快,尤其是在旧硬件上。", + "ApplyText": "正在禁用动画和视觉效果", + "UndoLabel": "启用动画和视觉效果", + "ApplyUndoText": "正在启用动画和视觉效果" + }, + "DisableUpdateASAP": { + "Label": "关闭“在最新更新可用后立即获取”", + "ToolTip": "避免让你的电脑成为首批接收非安全更新的设备。电脑之后仍会收到这些更新。", + "ApplyText": "正在阻止 Windows 在最新更新可用后立即获取", + "UndoLabel": "允许在最新更新可用后立即获取", + "ApplyUndoText": "正在允许 Windows 在最新更新可用后立即获取" + }, + "PreventUpdateAutoReboot": { + "Label": "用户已登录时阻止更新后自动重启", + "ToolTip": "只要有用户处于登录状态,就阻止电脑在更新后自动重启。", + "ApplyText": "正在阻止用户已登录时更新后自动重启", + "UndoLabel": "用户已登录时允许更新后自动重启", + "ApplyUndoText": "正在允许用户已登录时更新后自动重启" + }, + "DisableDeliveryOptimization": { + "Label": "禁用与其他电脑共享已下载的更新", + "ToolTip": "阻止电脑向局域网或 Internet 上的其他电脑共享已下载的更新,同时阻止从其他电脑下载更新。", + "ApplyText": "正在禁用与其他电脑共享已下载的更新", + "UndoLabel": "启用与其他电脑共享已下载的更新", + "ApplyUndoText": "正在启用与其他电脑共享已下载的更新" + }, + "DisableDeviceAutoAppDownload": { + "Label": "阻止 Windows 自动安装设备配套应用", + "ToolTip": "连接 LG、Alienware 等品牌的显示器或某些设备时,阻止 Windows 通过 Windows 更新静默安装设备配套应用。设备仍可正常工作;此设置仅阻止未经同意自动安装附加应用。", + "ApplyText": "正在阻止自动安装设备配套应用", + "UndoLabel": "允许自动安装设备配套应用", + "ApplyUndoText": "正在允许自动安装设备配套应用" + }, + "ForceRemoveEdge": { + "Label": "强制卸载 Microsoft Edge。不推荐!", + "ApplyText": "正在强制卸载 Microsoft Edge" + }, + "HideOnedrive": { + "Label": "隐藏导航窗格中的 OneDrive", + "ToolTip": "隐藏文件资源管理器导航窗格中的 OneDrive。", + "ApplyText": "正在隐藏文件资源管理器导航窗格中的 OneDrive", + "UndoLabel": "显示导航窗格中的 OneDrive", + "ApplyUndoText": "正在显示文件资源管理器导航窗格中的 OneDrive" + }, + "Hide3dObjects": { + "Label": "隐藏“此电脑”下的“3D 对象”文件夹", + "ToolTip": "隐藏文件资源管理器导航窗格中的“3D 对象”文件夹。", + "ApplyText": "正在隐藏文件资源管理器导航窗格中的“3D 对象”文件夹", + "UndoLabel": "显示“此电脑”下的“3D 对象”文件夹", + "ApplyUndoText": "正在显示文件资源管理器导航窗格中的“3D 对象”文件夹" + }, + "HideMusic": { + "Label": "隐藏“此电脑”下的“音乐”文件夹", + "ToolTip": "隐藏文件资源管理器导航窗格中的“音乐”文件夹。", + "ApplyText": "正在隐藏文件资源管理器导航窗格中的“音乐”文件夹", + "UndoLabel": "显示“此电脑”下的“音乐”文件夹", + "ApplyUndoText": "正在显示文件资源管理器导航窗格中的“音乐”文件夹" + }, + "AddFoldersToThisPC": { + "Label": "将常用文件夹添加回“此电脑”", + "ToolTip": "将桌面、文档、下载、音乐、图片和视频等常用文件夹添加回文件资源管理器的“此电脑”页面。", + "ApplyText": "正在将桌面、下载等所有常用文件夹添加回文件资源管理器的“此电脑”", + "UndoLabel": "从“此电脑”移除常用文件夹", + "ApplyUndoText": "正在从文件资源管理器的“此电脑”移除桌面、下载等所有常用文件夹" + }, + "HideIncludeInLibrary": { + "Label": "隐藏右键菜单中的“包含到库中”", + "ToolTip": "隐藏文件资源管理器右键菜单中的“包含到库中”选项。", + "ApplyText": "正在隐藏右键菜单中的“包含到库中”", + "UndoLabel": "显示右键菜单中的“包含到库中”", + "ApplyUndoText": "正在显示右键菜单中的“包含到库中”" + }, + "HideGiveAccessTo": { + "Label": "隐藏右键菜单中的“授予访问权限”", + "ToolTip": "隐藏文件资源管理器右键菜单中的“授予访问权限”选项。", + "ApplyText": "正在隐藏右键菜单中的“授予访问权限”", + "UndoLabel": "显示右键菜单中的“授予访问权限”", + "ApplyUndoText": "正在显示右键菜单中的“授予访问权限”" + }, + "HideShare": { + "Label": "隐藏右键菜单中的“共享”", + "ToolTip": "隐藏文件资源管理器右键菜单中的“共享”选项。", + "ApplyText": "正在隐藏右键菜单中的“共享”", + "UndoLabel": "显示右键菜单中的“共享”", + "ApplyUndoText": "正在显示右键菜单中的“共享”" + }, + "DisableBraveBloat": { + "Label": "禁用 Brave 浏览器中的附加功能(AI、加密货币等)", + "ToolTip": "禁用 Brave 内置的AI、加密货币钱包、新闻、Rewards、Talk 和 VPN 功能。此功能通过策略实现,会锁定部分设置。", + "ApplyText": "正在禁用 Brave 浏览器中的AI、加密货币、新闻、Rewards、Talk 和 VPN", + "UndoLabel": "启用 Brave 浏览器功能(AI、加密货币等)", + "ApplyUndoText": "正在启用 Brave 浏览器中的AI、加密货币、新闻、Rewards、Talk 和 VPN" + }, + "EnableWindowsSandbox": { + "Label": "启用 Windows 沙盒", + "ToolTip": "Windows 沙盒是轻量级桌面环境,可在隔离环境中安全运行应用。安装在其中的软件与主机相互隔离。仅支持 Windows 11 专业版、专业工作站版和企业版。", + "ApplyText": "正在启用 Windows 沙盒", + "UndoLabel": "禁用 Windows 沙盒", + "ApplyUndoText": "正在禁用 Windows 沙盒" + }, + "EnableWindowsSubsystemForLinux": { + "Label": "启用适用于 Linux 的 Windows 子系统", + "ToolTip": "适用于 Linux 的 Windows 子系统(WSL)可直接在 Windows 上运行 Linux 环境,无需另建虚拟机。", + "ApplyText": "正在启用适用于 Linux 的 Windows 子系统", + "UndoLabel": "禁用适用于 Linux 的 Windows 子系统", + "ApplyUndoText": "正在禁用适用于 Linux 的 Windows 子系统" + }, + "ShowDriveLettersFirst": { + "Label": "在驱动器名称前显示盘符", + "ToolTip": "在文件资源管理器中,将盘符显示在驱动器名称前。", + "ApplyText": "正在将盘符显示在驱动器名称前", + "UndoLabel": "在驱动器名称后显示盘符", + "ApplyUndoText": "正在将盘符显示在驱动器名称后" + }, + "ShowDriveLettersLast": { + "Label": "在驱动器名称后显示盘符", + "ToolTip": "在文件资源管理器中,将盘符显示在驱动器名称后(Windows 默认行为)。", + "ApplyText": "正在将盘符显示在驱动器名称后" + }, + "ShowNetworkDriveLettersFirst": { + "Label": "仅将网络驱动器的盘符显示在名称前", + "ToolTip": "在文件资源管理器中,仅将网络驱动器的盘符显示在驱动器名称前。", + "ApplyText": "正在将网络驱动器的盘符显示在名称前", + "UndoLabel": "在驱动器名称后显示盘符", + "ApplyUndoText": "正在将盘符显示在驱动器名称后" + }, + "HideDriveLetters": { + "Label": "隐藏所有盘符", + "ToolTip": "隐藏文件资源管理器导航窗格和“此电脑”中的所有盘符。", + "ApplyText": "正在隐藏所有盘符", + "UndoLabel": "在驱动器名称后显示盘符", + "ApplyUndoText": "正在将盘符显示在驱动器名称后" + }, + "StartAllAppsCategory": { + "Label": "以类别视图显示所有应用(默认)", + "ToolTip": "将开始菜单的“所有应用”区域设为按类别分组显示。", + "ApplyText": "正在将“所有应用”设为类别视图" + }, + "StartAllAppsGrid": { + "Label": "以网格视图显示所有应用", + "ToolTip": "将开始菜单的“所有应用”区域设为按字母顺序排列的网格布局。", + "ApplyText": "正在将“所有应用”设为网格视图", + "UndoLabel": "以类别视图显示所有应用", + "ApplyUndoText": "正在将“所有应用”设为类别视图" + }, + "StartAllAppsList": { + "Label": "以列表视图显示所有应用", + "ToolTip": "将开始菜单的“所有应用”区域设为按字母顺序排列的列表布局。", + "ApplyText": "正在将“所有应用”设为列表视图", + "UndoLabel": "以类别视图显示所有应用", + "ApplyUndoText": "正在将“所有应用”设为类别视图" + } + }, + "UiGroups": { + "DesktopSpotlight": { + "Label": "Windows 聚焦桌面背景", + "ToolTip": "设置 Windows 聚焦桌面背景。可以保留轮换壁纸并选择是否显示“了解此图片”快捷方式,也可以完全禁用 Windows 聚焦。", + "Values": { + "EnableDesktopSpotlight": "显示“了解此图片”快捷方式(默认)", + "HideDesktopSpotlightIcon": "隐藏“了解此图片”快捷方式", + "DisableDesktopSpotlight": "禁用 Windows 聚焦桌面背景" + } + }, + "SearchIcon": { + "Label": "任务栏搜索样式", + "ToolTip": "自定义任务栏搜索框的显示样式。", + "Values": { + "ShowSearchBoxTb": "显示搜索框(默认)", + "ShowSearchLabelTb": "显示搜索图标和标签", + "ShowSearchIconTb": "仅显示搜索图标", + "HideSearchTb": "隐藏" + } + }, + "MultiMon": { + "Label": "任务栏应用的显示位置", + "ToolTip": "使用多台显示器时,选择在哪些任务栏上显示应用按钮。", + "Values": { + "MMTaskbarModeAll": "所有任务栏(默认)", + "MMTaskbarModeMainActive": "主任务栏和窗口所在的任务栏", + "MMTaskbarModeActive": "窗口所在的任务栏" + } + }, + "CombineButtons": { + "Label": "合并主显示器的任务栏按钮", + "ToolTip": "选择主显示器上任务栏按钮的合并方式。", + "Values": { + "CombineTaskbarAlways": "始终(默认)", + "CombineTaskbarWhenFull": "任务栏已满时", + "CombineTaskbarNever": "从不" + } + }, + "CombineMMButtons": { + "Label": "合并其他显示器的任务栏按钮", + "ToolTip": "选择其他显示器上任务栏按钮的合并方式。", + "Values": { + "CombineMMTaskbarAlways": "始终(默认)", + "CombineMMTaskbarWhenFull": "任务栏已满时", + "CombineMMTaskbarNever": "从不" + } + }, + "ClearStart": { + "Label": "取消开始菜单中的应用固定", + "ToolTip": "快速取消开始菜单中所有应用的固定,不会卸载应用。", + "Values": { + "ClearStart": "为所选用户取消固定", + "ClearStartAllUsers": "为所有用户取消固定" + } + }, + "ExplorerLocation": { + "Label": "打开文件资源管理器时显示", + "ToolTip": "选择文件资源管理器的默认打开位置。", + "Values": { + "ExplorerToHome": "主页(默认)", + "ExplorerToThisPC": "此电脑", + "ExplorerToDownloads": "下载", + "ExplorerToOneDrive": "OneDrive" + } + }, + "DriveLetterPosition": { + "Label": "盘符位置", + "ToolTip": "选择盘符在文件资源管理器中的显示位置。", + "Values": { + "ShowDriveLettersLast": "在驱动器名称后显示盘符(默认)", + "ShowDriveLettersFirst": "在驱动器名称前显示盘符", + "ShowNetworkDriveLettersFirst": "仅将网络驱动器的盘符显示在名称前", + "HideDriveLetters": "隐藏所有盘符" + } + }, + "ShowTabsInAltTab": { + "Label": "贴靠窗口或按 Alt+Tab 时显示应用标签页", + "ToolTip": "选择贴靠窗口或按 Alt+Tab 时是否显示应用标签页,例如 Edge 浏览器标签页。", + "Values": { + "HideTabsInAltTab": "不显示标签页", + "Show3TabsInAltTab": "显示最近的 3 个标签页(默认)", + "Show5TabsInAltTab": "显示最近的 5 个标签页", + "Show20TabsInAltTab": "显示最近的 20 个标签页" + } + }, + "StartAllAppsView": { + "Label": "开始菜单的“所有应用”视图", + "ToolTip": "更改开始菜单中“所有应用”区域的布局,或将其完全隐藏。隐藏后可能更难找到已安装的应用。此功能通过策略实现,会锁定部分设置。", + "Values": { + "DisableStartAllApps": "隐藏", + "StartAllAppsCategory": "类别(默认)", + "StartAllAppsGrid": "网格", + "StartAllAppsList": "列表" + } + } + } +} diff --git a/Scripts/FileIO/Import-LanguageFile.ps1 b/Scripts/FileIO/Import-LanguageFile.ps1 index 48744a4..0008162 100644 --- a/Scripts/FileIO/Import-LanguageFile.ps1 +++ b/Scripts/FileIO/Import-LanguageFile.ps1 @@ -135,6 +135,7 @@ function Get-PluralCategory { $languagePrefix = ($LanguageCode -split '-')[0].ToLowerInvariant() switch ($languagePrefix) { + 'zh' { return 'other' } # Portuguese CLDR rule: 'one' for 0 and 1, 'many' for positive multiples # of 1,000,000, and 'other' for every remaining count. 'pt' { diff --git a/Tests/Import-LanguageFile.Tests.ps1 b/Tests/Import-LanguageFile.Tests.ps1 index 57e8bb9..7855cf0 100644 --- a/Tests/Import-LanguageFile.Tests.ps1 +++ b/Tests/Import-LanguageFile.Tests.ps1 @@ -125,13 +125,27 @@ Describe 'Get-PluralCategory' { Get-PluralCategory -LanguageCode 'en-US' -Count $Count | Should -Be $Expected } - It 'returns other for a Japanese count of ' -ForEach @( - @{ Count = 0 } - @{ Count = 1 } - @{ Count = 2 } - @{ Count = 5 } + It 'returns other for with a count of ' -ForEach @( + foreach ($languageCode in @('ja-JP', 'zh-CN')) { + foreach ($count in @(0, 1, 2, 5, 100)) { + @{ LanguageCode = $languageCode; Count = $count } + } + } ) { - Get-PluralCategory -LanguageCode 'ja-JP' -Count $Count | Should -Be 'other' + Get-PluralCategory -LanguageCode $LanguageCode -Count $Count | Should -Be 'other' + } + + It 'returns for a Portuguese count of ' -ForEach @( + @{ Count = 0; Expected = 'one' } + @{ Count = 1; Expected = 'one' } + @{ Count = 2; Expected = 'other' } + @{ Count = 100; Expected = 'other' } + @{ Count = 999999; Expected = 'other' } + @{ Count = 1000000; Expected = 'many' } + @{ Count = 1000001; Expected = 'other' } + @{ Count = 2000000; Expected = 'many' } + ) { + Get-PluralCategory -LanguageCode 'pt-BR' -Count $Count | Should -Be $Expected } } diff --git a/Tests/LanguageCatalogs.Tests.ps1 b/Tests/LanguageCatalogs.Tests.ps1 new file mode 100644 index 0000000..6e57d1f --- /dev/null +++ b/Tests/LanguageCatalogs.Tests.ps1 @@ -0,0 +1,91 @@ +BeforeDiscovery { + # Inspect every folder, including incomplete ones that language discovery would exclude. + $languageCases = @(Get-ChildItem -LiteralPath (Join-Path $PSScriptRoot '..\Config\Languages') -Directory | + Sort-Object Name | ForEach-Object { + @{ LanguageCode = $_.Name } + }) +} + +BeforeAll { + . (Join-Path $PSScriptRoot '..\Scripts\FileIO\Import-JsonFile.ps1') + . (Join-Path $PSScriptRoot '..\Scripts\FileIO\Import-LanguageFile.ps1') + $script:LanguagesPath = Join-Path $PSScriptRoot '..\Config\Languages' + $featureConfig = Import-JsonFile -filePath (Join-Path $PSScriptRoot '..\Config\Features.json') + + function Add-CatalogValues { + param($Catalog, [string]$Prefix, [hashtable]$Values) + + foreach ($property in $Catalog.PSObject.Properties) { + $path = "$Prefix.$($property.Name)" + if ($property.Value -is [PSCustomObject]) { + Add-CatalogValues -Catalog $property.Value -Prefix $path -Values $Values + } + else { + $Values[$path] = $property.Value + } + } + } + + $baselineValues = @{} + foreach ($catalog in (Get-LanguageCatalogNames)) { + $content = Get-Content -LiteralPath (Join-Path $script:LanguagesPath "en-US/$catalog.json") -Raw -Encoding UTF8 | + ConvertFrom-Json -ErrorAction Stop + Add-CatalogValues -Catalog $content -Prefix $catalog -Values $baselineValues + } +} + +Describe 'Shipped language catalogs: ' -ForEach $languageCases { + BeforeAll { + $lang = Import-LanguageFile -LanguageCode $LanguageCode -LanguagesPath $script:LanguagesPath + $catalogs = @{} + $translationValues = @{} + foreach ($catalog in (Get-LanguageCatalogNames)) { + $catalogs[$catalog] = Get-Content -LiteralPath (Join-Path $script:LanguagesPath "$LanguageCode/$catalog.json") -Raw -Encoding UTF8 | + ConvertFrom-Json -ErrorAction Stop + Add-CatalogValues -Catalog $catalogs[$catalog] -Prefix $catalog -Values $translationValues + } + } + + It 'is discoverable and loads all required catalogs without falling back' { + @(Get-AvailableLanguageFolders -LanguagesPath $script:LanguagesPath | Select-Object -ExpandProperty Name) | + Should -Contain $LanguageCode + $lang.LanguageCode | Should -Be $LanguageCode + foreach ($section in @('Chrome', 'Features', 'UiGroups', 'Categories', 'Apps')) { + $lang.$section | Should -Not -BeNullOrEmpty -Because "$LanguageCode must load $section" + } + if ($LanguageCode -ne 'en-US') { + $lang.Fallback.LanguageCode | Should -Be 'en-US' + } + } + + It 'has nonempty translations with the same format placeholders as English' { + $pattern = '\{\d+(?:,[^{}]+)?(?::[^{}]+)?\}' + foreach ($key in ($translationValues.Keys | Sort-Object)) { + $value = $translationValues[$key] + $value | Should -BeOfType ([string]) -Because "$LanguageCode/$key must be text" + [string]::IsNullOrWhiteSpace($value) | Should -BeFalse -Because "$LanguageCode/$key must not be blank" + $referenceKey = $key + if (-not $baselineValues.ContainsKey($key) -and $key -match '^(Chrome\..+)_(zero|one|two|few|many|other)$') { + $referenceKey = "$($Matches[1])_other" + } + $baselineValues.ContainsKey($referenceKey) | Should -BeTrue -Because "$LanguageCode/$key needs an English reference" + $expected = @([regex]::Matches($baselineValues[$referenceKey], $pattern).Value | Sort-Object) + $actual = @([regex]::Matches($value, $pattern).Value | Sort-Object) + ($actual -join ',') | Should -Be ($expected -join ',') -Because "$LanguageCode/$key must preserve placeholders" + } + } + + It 'preserves UTF-8 UI and app names when loading the catalogs' { + $lang.Chrome.SettingsTitle | Should -BeExactly $catalogs.Chrome.SettingsTitle + $lang.Apps.'Microsoft.WindowsCalculator'.FriendlyName | + Should -BeExactly $catalogs.Apps.'Microsoft.WindowsCalculator'.FriendlyName + } + + It 'displays translated labels instead of internal IDs for all UI features' { + foreach ($feature in @($featureConfig.Features | Where-Object { $_.Category })) { + $label = Get-Translation -Key $feature.FeatureId -Field 'Label' -Section 'Features' -Lang $lang + $label | Should -Not -BeNullOrEmpty -Because "$LanguageCode/$($feature.FeatureId) needs a label" + $label | Should -Not -Be $feature.FeatureId + } + } +}