尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

Azure Data Studio 简体中文语言包解析:本地化架构、使用指南与源码实现

发布时间:2026/9/29 7:19:10

资讯中心
01
ARTICLE

Azure Data Studio 简体中文语言包解析:本地化架构、使用指南与源码实现

Azure Data Studio 简体中文语言包解析:本地化架构、使用指南与源码实现
数据库客户端桌面应用数据分析【免费下载链接】azuredatastudioAzure Data Studio is a data management and development tool with connectivity to popular cloud and on-premises databases. Azure Data Studio supports Windows, macOS, and Linux, with immediate capability to connect to Azure SQL and SQL Server. Browse the extension library for more database support options including MySQL, PostgreSQL, and MongoDB.项目地址https://gitcode.com/gh_mirrors/az/azuredatastudio点击查看免费下载Azure Data Studio 作为面向 Windows、macOS、Linux 的跨平台数据管理与开发工具其简体中文界面由ads-language-pack-zh-hans语言包扩展提供。本文以该语言包的 CHANGELOG.md 为骨架结合仓库源码深入剖析语言包的组成结构、工作机理、安装使用方法以及从 1.29 到 1.49 的版本演进脉络帮助读者掌握 Azure Data Studio 多语言体系的完整视图。一、语言包是什么从 CHANGELOG 看它的定位ads-language-pack-zh-hans 的 CHANGELOG.md 记录了一条简单却极具信息量的发布线该语言包以 Azure Data Studio 的主版本为对齐基准几乎每个主版本都会同步更新一次本地化字符串个别版本还会发布修正补丁发布日期对应 Azure Data Studio 版本说明2024-05-131.49最新发布2024-02-231.48同步发布2023-10-311.47同步发布2023-09-141.46同步发布2023-07-101.45同步发布2023-05-081.44同步发布2023-03-301.43同步发布2023-03-061.42同步发布2023-01-131.41同步发布2022-11-161.40 Patch针对 1.40 的修正补丁2022-11-091.40同步发布2022-08-121.39同步发布2022-07-201.38同步发布2022-06-031.37同步发布2022-04-061.36同步发布2022-02-231.35同步发布2021-12-141.34同步发布2021-05-211.29早期记录2021-09-021.33同步发布这一表格揭示了语言包的两大特性版本强绑定语言包的版本号与 Azure Data Studio 主版本一一对应。查看 package.json 可见其version: 1.49.0与engines中声明的azdata: ^1.49.0恰好匹配这正是语言包“随产品主版本迭代”的机制保障。发布节奏稳定从 1.35 起基本保持每 68 周随产品主版本发布一次的节奏且偶发 Patch 用于修正紧急问题如 1.40 Patch说明本地化团队与产品研发周期深度耦合。需要说明的是CHANGELOG 的条目顺序并非严格按时间倒序1.29 的条目排在 1.33 之后但这不影响其作为版本演进证据的有效性。以仓库当前内容为准该语言包最新版本对应 Azure Data Studio 1.49。二、语言包目录结构与内部组成简体中文语言包在仓库中的路径为i18n/ads-language-pack-zh-hans/其内部结构如下i18n/ads-language-pack-zh-hans/ ├── CHANGELOG.md # 版本发布记录 ├── README.md # 中英双语使用说明与致谢 ├── package.json # 扩展清单localizations 贡献点 ├── languagepack.png # 语言包图标 ├── vsc-extension-quickstart.md # 开发者快速上手如何拉取/更新翻译 ├── translations/ │ ├── main.i18n.json # Azure Data Studio 主程序 UI 字符串约 1.5 万行 │ └── extensions/ # 各扩展的本地化字符串 │ ├── Microsoft.mssql.i18n.json │ ├── Microsoft.arc.i18n.json │ ├── Microsoft.azurecore.i18n.json │ ├── Microsoft.notebook.i18n.json │ ├── Microsoft.sql-database-projects.i18n.json │ ├── ...共 60 个 JSON 文件package.json是扩展的清单文件核心是contributes.localizations贡献点声明了语言 ID、语言名称与全部翻译文件的映射translations/存放实际翻译字符串其中 main.i18n.json 覆盖产品主程序extensions/子目录则按扩展 ID 逐一组织如 Microsoft.mssql.i18n.json 负责 SQL Server 连接与查询相关界面。2.1 package.json 中的 localizations 贡献点打开 package.json 可以看到语言包如何“宣告自己”{ name: ads-language-pack-zh-hans, displayName: Chinese (Simplified) (简体中文) Language Pack for Azure Data Studio, version: 1.49.0, publisher: Microsoft, engines: { vscode: *, azdata: ^1.49.0 }, categories: [Language Packs], keywords: [中文(简体)], contributes: { localizations: [ { languageId: zh-cn, languageName: Chinese Simplified, localizedLanguageName: 中文(简体), translations: [ { id: vscode, path: ./translations/main.i18n.json }, { id: vscode.bat, path: ./translations/extensions/vscode.bat.i18n.json }, { id: Microsoft.mssql, path: ./translations/extensions/Microsoft.mssql.i18n.json }, { id: Microsoft.arc, path: ./translations/extensions/Microsoft.arc.i18n.json }, ... ] } ] } }关键字段逐一说明字段值含义languageIdzh-cn语言 ID是运行时匹配的核心键值languageNameChinese Simplified英文语言名localizedLanguageName中文(简体)本地化语言名即语言列表里显示的名称translations[].id如vscode、Microsoft.mssql翻译所属的模块/扩展 ID与扩展的package.json中name对应translations[].path./translations/...翻译 JSON 文件的相对路径这份清单里出现了 60 多个id既有vscode.*前缀的内置功能bat、git、json、markdown、python、r、sql、主题等也有Microsoft.*前缀的 Azure Data Studio 专属扩展admin-tool-ext-win、agent、arc、azcli、azurecore、azuremonitor、cms、dacpac、data-workspace、datavirtualization、import、kusto、machine-learning、mssql、notebook、profiler、query-history、query-store、resource-deployment、schema-compare、server-report、sql-assessment、sql-database-projects、sql-migration、sql-bindings-vscode 等几乎覆盖了产品全部功能面。2.2 翻译文件的数据结构每个*.i18n.json都遵循同一套结构文件头部明确标注 “Do not edit this file. It is machine generated.”即机器生成、禁止手改{ : [版权声明..., Do not edit this file. It is machine generated.], version: 1.0.0, contents: { vs/base/browser/ui/dialog/dialog: { dialogClose: 关闭对话框, ok: 确定, error: 错误 }, dist/features: { mssql.missingLinkedAzureAccount: Azure Data Studio 需要连接 Azure Key Vault 才能访问 Always Encrypted 的列主密钥... } } }其中contents的外层键是源码模块路径如vs/base/browser/ui/dialog/dialog、dist/localizedConstants内层键是源码中的英文字符串键值即翻译文本。运行时NLS 加载器会按模块路径字符串键精确替换界面文案。这也解释了为何文件体积庞大——main.i18n.json 全文件约 1.5 万余行覆盖了 Azure Data Studio 主程序几乎每一个可交互界面元素。三、工作原理语言包如何被加载与生效语言包不是一个普通的功能扩展而是一种特殊的“本地化扩展”。理解它的工作方式需要分两层注册层与加载层。3.1 注册层语言包如何被发现Azure Data Studio 的扩展管理服务会扫描所有已安装扩展的 manifest凡是contributes.localizations非空的扩展都会被识别为语言包提供者。对应源码在 src/vs/platform/languagePacks/node/languagePacks.tscreateLanguagePacksFromExtension第 142168 行遍历扩展的localizations贡献点按languageId聚合语言包并把每条translations[].path拼接为翻译文件的绝对路径存入languagePack.translations[id]updateHash第 170178 行基于扩展 ID 与版本计算 MD5用于判断语言包是否需要更新聚合结果缓存到用户数据目录下的languagepacks.json见LanguagePacksCache构造函数第 113 行getInstalledLanguages第 6477 行据此返回所有已安装语言列表并额外固定追加一项enEnglish。从源码结构可以推断只要把一个符合规范的语言包扩展放入扩展目录或通过扩展商店安装languagepacks.json就会在扩展安装/卸载时自动重建对应postInstallExtension/postUninstallExtension钩子语言选项随即出现在“配置显示语言”列表中。3.2 加载层翻译字符串如何替换界面文案界面文案的替换依赖 NLSNational Language Support加载器。核心逻辑位于 src/vs/nls.ts 的load函数第 170 行起从 AMD 配置中读取availableLanguages确定当前模块应使用哪种语言若useDefaultLanguage为假则加载带语言后缀的 bundle如.nls.zh-cn若配置了translationServiceUrl则直接向翻译服务按语言拉取消息失败时回退到泛化语言如de-CH失败回退de见第 214219 行注释再失败则回退英文默认字符串保证界面永不因缺翻译而空白。当前生效语言由 src/vs/base/common/platform.ts 解析桌面端读取VSCODE_NLS_CONFIG环境变量第 116128 行其availableLanguages[*]决定_languageWeb 端则通过nls.getConfiguredDefaultLocale获取第 93102 行默认语言常量LANGUAGE_DEFAULT en第 7 行——这意味着未安装任何语言包时界面始终回退为英文中文界面必须依赖语言包显式安装并选中。3.3 语言设置如何持久化当用户通过命令面板选中“中文(简体)”后桌面端 src/vs/workbench/services/localization/electron-sandbox/localeService.ts 的NativeLocaleService.setLocale第 88 行起会执行一套完整流程validateLocaleFile第 54 行先校验运行时设置文件argvResource即argv.json的 JSON 合法性若文件损坏则弹出错误通知并提供“打开运行时设置”修复入口writeLocaleValue第 80 行通过jsonEditingService.write向argv.json写入{ locale: zh-cn }若语言包尚未安装会先判断发布者是否为ms-ceintl第 101 行是则后台静默安装否则在扩展视图里搜索该语言包引导用户手动安装showRestartDialog第 142 行弹出确认框用户确认后调用hostService.restart()重启应用使新语言生效。命令行层面--locale参数也可以直接指定语言见 src/vs/platform/environment/node/argv.ts 的locale: { type: string, ... }定义帮助文本为 “The locale to use (e.g. en-US or zh-TW)”它与argv.json中locale字段属于同一设置通道。四、安装与切换语言完整操作指南4.1 安装简体中文语言包三种途径均可扩展商店安装推荐打开 Azure Data Studio 的“扩展”视图搜索Chinese (Simplified)或zh-hans找到微软发布的简体中文语言包后点击安装离线 VSIX 安装通过命令行--install-extension安装 VSIX 包该参数的语义定义同样位于 argv.ts支持publisher.name或本地.vsix路径仓库内置本仓库已将语言包源码随产品一起维护在i18n/ads-language-pack-zh-hans/开发者可从源码构建。4.2 切换显示语言按照 README.md 的官方说明操作路径为按CtrlShiftP打开命令面板输入display过滤命令选择并回车执行“配置显示语言”Configure Display Language弹出已安装语言列表当前语言处于高亮状态选择中文(简体)按提示确认重启 Azure Data Studio界面即切换为简体中文。这条命令在源码中的实现位于 src/vs/workbench/contrib/localization/common/localizationsActions.tsConfigureDisplayLanguageAction第 16 行的命令 ID 为workbench.action.configureLocale执行时会通过languagePackService.getInstalledLanguages()获取已安装语言、getAvailableLanguages()获取可安装语言并以分隔线分组展示“已安装 / 可安装”两段列表第 4164 行选中后调用localeService.setLocale完成切换。同一文件还提供了ClearDisplayLanguageActionworkbench.action.clearLocalePreference第 96 行用于清除语言偏好、恢复到默认英文界面。4.3 撤销语言设置如果希望回到默认英文界面可在命令面板执行“清除显示语言偏好”Clear Display Language Preference。源码中对应clearLocalePreference第 131 行它会向argv.json写入locale: undefined并在当前非默认语言时提示重启localeService.ts。五、字符串覆盖范围从主程序到每个扩展语言包的价值体现在覆盖广度。以仓库中翻译文件清单为准translations/extensions/目录下 60 余个翻译文件大致可归为四类1. 编辑器基础设施vscode.*前缀bat、docker、git、git-base、github、github-authentication、ipynb、javascript、json、json-language-features、markdown、markdown-language-features、markdown-math、media-preview、merge-conflict、microsoft-authentication、powershell、python、r、search-result、simple-browser、sql、theme-*abyss、defaults、kimbie-dark、monokai、monokai-dimmed、quietlight、red、solarized-dark、solarized-light、tomorrow-night-blue、seti、xml、yaml、builtin-notebook-renderers、configuration-editing。2. 核心数据体验Microsoft.*前缀mssqlSQL Server 连接、查询编辑、Always Encrypted 等、arcAzure Arc 数据服务、azurecoreAzure 账户与订阅、azuremonitor、notebook笔记本、kustoAzure Data Explorer、query-history、query-store、profiler、schema-compare、sql-assessment、server-report、dacpac、datavirtualization、data-workspace、sql-database-projectsSQL 数据库项目、sql-migrationSQL 迁移。3. 云端与部署能力azcli、asde-deploymentAzure SQL Edge/Edge 部署、resource-deployment资源部署、machine-learning、import、cms、agent、admin-tool-ext-win、sql-bindings-vscode。4. 主程序main.i18n.json 单独覆盖工作台 UI 基础组件对话框、按钮、输入框、弹窗、菜单等。以 Microsoft.mssql.i18n.json 为例其翻译内容涉及dist/errorDiagnostics连接错误诊断如“启用信任服务器证书”提示、dist/featuresAlways Encrypted 的 Azure Key Vault 访问提示、dist/localizedConstants令牌刷新、笔记本转换等常量文案。这些字符串与 extensions/mssql 目录下的源码模块路径一一对应印证了“翻译键 源码模块路径 字符串键”的映射关系。六、社区化翻译流程如何参与贡献语言包的另一面是社区本地化协作。README.md 明确说明翻译字符串在微软社区本地化平台MLCP的 “DevTools - Azure Data Studio” 项目中维护这是“来自社区奉献社区”的项目社区成员可参与翻译与改进杰出贡献者 Joel Yang 在项目向社区开放后翻译了大部分新增字符串累计 4 万余字。对于想要从源码层面同步翻译的开发者vsc-extension-quickstart.md 给出了技术路径将 VS Code 仓库克隆到语言包扩展的相邻目录在vscode目录运行yarn初始化依赖从 Transifex 获取 API Token 并设置为环境变量TRANSIFEX_API_TOKEN运行npm run update-localization-extension zh-hans语言包在相邻目录时或npm run update-localization-extension {path_to_lang_pack_ext}指定路径时拉取最新翻译。该脚本会自动下载翻译文件到translations目录并同步更新localizations贡献点中的translations属性——这也解释了 package.json 中scripts.update为何写为cd ../vscode npm run update-localization-extension zh-hans第 291 行翻译文件本质上是机器生成的产物。七、小结通过把 CHANGELOG 的版本记录、package.json 的贡献点声明、translations 的字符串结构以及languagePacks.ts、nls.ts、localeService.ts、localizationsActions.ts等核心源码串联起来可以看到 Azure Data Studio 简体中文语言包是一套声明式注册 运行时按需加载 配置持久化的完整本地化闭环注册contributes.localizations声明语言与翻译映射扩展服务扫描后写入languagepacks.json加载NLS 加载器依据当前 locale 按模块替换字符串缺译时优雅回退英文切换workbench.action.configureLocale命令经ILocaleService.setLocale写argv.json并重启生效演进语言包随 Azure Data Studio 主版本迭代当前为 1.49并由社区平台持续维护。对于使用 Azure Data Studio 的中文用户安装并选中该语言包即可获得与英文版完全一致的完整中文界面对于希望深度定制或参与本地化的开发者本仓库的 语言包目录 与上述源码路径提供了从“翻译文件格式”到“加载机制”再到“更新流程”的全链路参考。赞分享数据库客户端桌面应用数据分析【免费下载链接】azuredatastudioAzure Data Studio is a data management and development tool with connectivity to popular cloud and on-premises databases. Azure Data Studio supports Windows, macOS, and Linux, with immediate capability to connect to Azure SQL and SQL Server. Browse the extension library for more database support options including MySQL, PostgreSQL, and MongoDB.项目地址https://gitcode.com/gh_mirrors/az/azuredatastudio点击查看免费下载相关推荐Azure Data Studio 日语语言包扩展结构解析与 Transifex 本地化同步实战指南Azure Data Studio 日语语言包扩展结构解析与 Transifex 本地化同步实战指南 Azure Data Studio 是一套面向 Wind数据库客户端桌面应用数据分析Azure Data Studio 日语语言包ads-language-pack-ja使用指南与本地化机制全解析Azure Data Studio 日语语言包ads language pack ja使用指南与本地化机制全解析 Azure Data Studio 的日语数据库客户端桌面应用数据分析Azure Data Studio 西班牙语语言包Spanish Language Pack使用与本地化机制详解Azure Data Studio 西班牙语语言包Spanish Language Pack使用与本地化机制详解 本指南以 Azure Data Studi数据库客户端桌面应用数据分析上一篇effect 4 新特性为 Effect Cluster 提供 Deno 原生 Socket Runner 层下一篇JuiceFS 多主机间同步账户用 Ansible 确保 UID/GID 全局一致的实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。