Azure Data Studio 西班牙语语言包扩展开发指南:从 localizations 贡献点到 Transifex 翻译同步

发布时间:2026/9/28 3:27:13

Azure Data Studio 西班牙语语言包扩展开发指南:从 localizations 贡献点到 Transifex 翻译同步 数据库客户端桌面应用数据分析【免费下载链接】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 仓库中 i18n/ads-language-pack-es/vsc-extension-quickstart.md 为核心骨架结合语言包真实清单文件与编辑器侧本地化基础设施源码系统讲解 Azure Data Studio 语言包扩展的目录结构、localizations贡献点协议、翻译文件格式以及如何通过 VS Code 仓库的update-localization-extension脚本从 Transifex 拉取并同步翻译串。读完本文你将能够理解语言包扩展的完整生命周期并掌握“新增语言 → 声明贡献点 → 同步翻译 → 安装切换”的端到端工作流。Azure Data Studio 支持 Windows、macOS 与 Linux其多语言 UI 能力正是通过“语言包扩展Language Pack Extension”机制实现的。仓库的 i18n 目录下存放了 10 个官方语言包德语、西班牙语、法语、意大利语、日语、韩语、葡萄牙语、俄语、简体中文、繁体中文其中 ads-language-pack-es 即为西班牙语es语言包。本文以该扩展的快速上手文档为主线逐层拆解其实现原理与维护流程。一、语言包扩展的目录结构与核心角色一个语言包扩展的顶层结构非常精简以西班牙语包为例i18n/ads-language-pack-es/ ├── CHANGELOG.md # 按 Azure Data Studio 版本发布的翻译更新记录 ├── README.md # 双语使用说明es / en与贡献者名单 ├── languagepack.png # 扩展图标 ├── package.json # 扩展清单声明 localizations 贡献点 ├── translations/ # 存放全部翻译字符串文件 │ ├── main.i18n.json │ └── extensions/ └── yarn.lock整个扩展只有两个“灵魂”package.json—— 扩展清单manifest除定义名称、描述、版本外还通过contributes.localizations贡献点声明“本扩展为哪种语言提供翻译”translations/—— 存放翻译字符串的目录由机器生成不应手工编辑其生成的main.i18n.json文件头部即注明Do not edit this file. It is machine generated.。package.json中与本扩展身份直接相关的字段如下摘自 i18n/ads-language-pack-es/package.json{ name: ads-language-pack-es, displayName: Spanish Language Pack for Azure Data Studio, description: Language pack extension for Spanish, version: 1.49.0, publisher: Microsoft, engines: { vscode: *, azdata: ^1.49.0 }, icon: languagepack.png, categories: [Language Packs], keywords: [español] }其中engines.azdata: ^1.49.0明确了该语言包对应的 Azure Data Studio 主版本约束与 CHANGELOG.md 中“May 13, 2024 - Release for Azure Data Studio 1.49”的记录相互印证——语言包版本与 ADS 主版本一一对应、按版本节奏发布。二、localizations 贡献点语言包的核心协议快速上手文档开门见山地指出package.json通过localizations贡献点定义语言 id。西班牙语包的声明如下摘自 package.jsoncontributes: { localization: [{ languageId: es, languageName: Spanish, localizedLanguageName: español }] }注意仓库中语言包实际使用的贡献点键名是复数形式localizations见 package.json快速上手文档中的单数写法是早期模板遗留二者所指协议相同。字段语义与校验规则源码级编辑器侧对该扩展点的解析与校验实现在 src/vs/workbench/contrib/localization/common/localization.contribution.ts通过ExtensionsRegistry.registerExtensionPoint({ extensionPoint: localizations, ... })注册。各字段含义如下字段类型说明西班牙语包取值languageIdstring必填翻译目标语言的 locale ideslanguageNamestring该语言的英文名称SpanishlocalizedLanguageNamestring用该语言自称的名称本地化名称españoltranslationsarray必填默认[{ id: vscode, path: }]与本语言关联的翻译文件清单见下节其中translations数组的每个元素包含两个必填字段id被翻译对象VS Code 核心或某个扩展的标识。VS Code 核心固定为vscode扩展则必须是publisherId.extensionName格式校验正则见 localization.contribution.ts为^((vscode)|([a-z0-9A-Z][a-z0-9A-Z-]*)\.([a-z0-9A-Z][a-z0-9A-Z-]*))$path指向翻译文件的相对路径如./translations/main.i18n.json。这一协议的作用是当用户切换显示语言时编辑器会汇总所有已安装语言包中languageId匹配的扩展点声明按其translations列表加载对应path下的翻译文件。因此翻译覆盖面完全由translations数组决定——它既可以只翻译核心 UI也可以为仓库内的每一个 Microsoft 扩展单独提供翻译。西班牙语包的翻译覆盖面在 i18n/ads-language-pack-es/package.json 中translations数组共列出了 59 个条目可分为三类核心 UI 与内置模块vscode指向./translations/main.i18n.json、vscode.bat、vscode.git、vscode.sql、vscode.markdown-language-features、vscode.python、vscode.yaml等ADS 官方功能扩展Microsoft.mssql、Microsoft.notebook、Microsoft.arc、Microsoft.azurecore、Microsoft.machine-learning、Microsoft.sql-database-projects、Microsoft.schema-compare、Microsoft.sql-migration、Microsoft.import、Microsoft.dacpac、Microsoft.profiler、Microsoft.query-history、Microsoft.agent、Microsoft.kusto、Microsoft.azuremonitor等少数非 Microsoft 前缀的扩展如ms-mssql.sql-bindings-vscode。可以看到translations条目与仓库 extensions 目录下的扩展基本一一对应如 extensions/mssql、extensions/notebook这保证了西班牙语用户在安装了这些官方扩展后扩展内文案同样被本地化。三、translations 目录翻译文件的实际格式快速上手文档将translations定义为“the folder containing the translation strings”。以核心翻译文件 translations/main.i18n.json 为例其顶层结构为{ : [ --------------------------------------------------------------------------------------------, Copyright (c) Microsoft Corporation. All rights reserved., Licensed under the MIT License. See License.txt in the project root for license information., --------------------------------------------------------------------------------------------, Do not edit this file. It is machine generated. ], version: 1.0.0, contents: { vs/base/browser/ui/dialog/dialog: { dialogClose: Cerrar cuadro de diálogo, dialogErrorMessage: Error, dialogInfoMessage: Información, dialogPendingMessage: En curso, dialogWarningMessage: Advertencia, ok: Aceptar }, vs/base/browser/ui/dropdown/dropdownActionViewItem: { moreActions: Más Acciones... } } }要点contents键按源码模块路径module id组织如vs/base/browser/ui/dialog/dialog、vs/base/browser/ui/button/button其键名对应源码中localize()调用的 key值即西班牙语译文文件头部的数组是版权与机器生成声明正文由工具生成编辑会被覆盖该文件达 1.5 万余行覆盖整个核心 UI 的字符串translations/extensions/下则按扩展 id 存放各扩展的独立翻译文件如Microsoft.mssql.i18n.json、vscode.sql.i18n.json。由此可以理解快速上手文档中“download translation files to the foldertranslations, as well as populate atranslationsproperty”这句话的完整含义同步脚本既写入了翻译内容文件又反向更新了package.json中localizations[].translations清单使声明与实际文件始终保持一致。四、翻译同步工作流从 Transifex 拉取最新字符串这是快速上手文档的核心实操章节原文给出的完整流程如下以下命令必须逐字执行前置准备检出 VS Code 仓库的master分支即 Microsoft/vscode 主分支推荐将 VS Code 仓库放在语言包扩展的同级目录二者拥有相同的父目录这样后续命令可以少传一个参数cd vscode后运行yarn初始化 VS Code 仓库安装依赖。获取 Transifex API Token登录 Transifex 后到https://www.transifex.com/user/settings/api生成将 Token 写入环境变量export TRANSIFEX_API_TOKEN你的Token执行同步进入 VS Code 仓库目录后按语言包扩展的位置分两种情况# 情况 A语言包扩展与 VS Code 仓库同级推荐布局 cd vscode npm run update-localization-extension es # 情况 B语言包扩展在其他位置 cd vscode npm run update-localization-extension {path_to_lang_pack_ext}其中es即西班牙语的 Transifex 语言代码其他语言包换用对应代码即可如zh-hans、ja、de等。命令执行后会自动完成两件事将最新翻译文件下载到translations目录同时更新package.json中localizations贡献点内的translations属性即上节所述的条目清单。与仓库现状的印证在 i18n/ads-language-pack-es/package.json 的scripts中官方为这个流程封装了快捷命令scripts: { update: cd ../vscode npm run update-localization-extension es }即在语言包扩展目录下直接运行npm run update即可自动cd到同级vscode目录并执行update-localization-extension es——前提正是“VS Code 仓库与语言包扩展同级”的推荐布局。这条脚本与快速上手文档描述的步骤完全对应是文档流程在真实仓库中的落地实现。说明该流程依赖外部 VS Code 仓库与 Transifex 平台属于语言包维护者的发布期操作作为读者理解其“脚本下载翻译 更新贡献点清单”的机制即可日常使用语言包并不需要执行这些命令。五、安装后的使用Configure Display Language 切换界面语言语言包安装到 Azure Data Studio 后用户即可切换显示语言。此处的使用入口是Configure Display Language命令快速上手文档及双语 README.md给出的操作路径为按下CtrlShiftP打开命令面板输入display过滤出Configure Display Language命令按下Enter弹出已安装语言按 locale 分组的列表当前语言高亮显示选择另一个locale即可切换 UI 语言。这一交互在源码中的实现位于 src/vs/workbench/contrib/localization/common/localizationsActions.ts命令 id 为workbench.action.configureLocale标签即Configure Display Language注册于命令面板菜单MenuId.CommandPalette运行时会调用languagePackService.getInstalledLanguages()获取已安装语言并异步获取getAvailableLanguages()的可用语言在 Quick Pick 中以Installed / Available两个分组separator呈现——这正是“列表显示已安装语言、当前 locale 高亮”的代码来源用户确认选择后通过localeService.setLocale(selectedLanguage)完成切换。同时该文件还注册了ClearDisplayLanguageAction清空显示语言回退默认。这两条命令均由 localization.contribution.ts 中的BaseLocalizationWorkbenchContribution在LifecyclePhase.Eventually阶段注册桌面端与 Web 端分别通过 electron-sandbox/localization.contribution.ts 和 browser/localization.contribution.ts 挂载。六、版本节奏与多语言生态语言包的发布与 Azure Data Studio 版本严格对齐。从 CHANGELOG.md 可见完整发布序列May 13, 2024 - Release for Azure Data Studio 1.49 February 23, 2024 - Release for Azure Data Studio 1.48 October 31, 2023 - Release for Azure Data Studio 1.47 September 14, 2023 - Release for Azure Data Studio 1.46 July 10, 2023 - Release for Azure Data Studio 1.45 May 8, 2023 - Release for Azure Data Studio 1.44 March 30, 2023 - Release for Azure Data Studio 1.43 March 6, 2023 - Release for Azure Data Studio 1.42 January 13, 2023 - Release for Azure Data Studio 1.41 November 16, 2022 - Patch for 1.40 release November 9, 2022 - Release for Azure Data Studio 1.40 ...即每个 ADS 主版本发布后西班牙语语言包随即发布对应版本偶尔还会针对个别版本发布补丁如 1.40 的 Patch。西班牙语包并非孤例。仓库 i18n 目录下还并列存放了ads-language-pack-de、ads-language-pack-fr、ads-language-pack-it、ads-language-pack-ja、ads-language-pack-ko、ads-language-pack-pt-BR、ads-language-pack-ru、ads-language-pack-zh-hans、ads-language-pack-zh-hant等语言包目录结构与ads-language-pack-es完全同构均为package.jsontranslations/CHANGELOG.md。因此本文阐述的贡献点协议与同步流程对所有官方语言包通用——只需替换 Transifex 语言代码即可。七、维护、贡献与许可说明西班牙语语言包的翻译质量维护遵循“社区驱动”模式README 中表述为By the community, for the community翻译字符串托管在Microsoft Localization Platform微软本地化平台上只能在平台上修改再导出到 vscode-loc 仓库因此不接收 pull request翻译改进反馈请在 vscode-loc 仓库提交 Issue源码与字符串遵循仓库根目录 LICENSE.txt 中的许可条款。快速上手文档本身即面向“语言包扩展的维护者/贡献者”而使用侧的用户只需关心第五节的语言切换操作——二者共同构成了语言包从“生产”到“消费”的完整闭环。总结通过本文你可以把 Azure Data Studio 语言包扩展理解为一个“声明 数据”的极简结构package.json用localizations贡献点声明语言身份languageId/languageName/localizedLanguageName与翻译文件清单translationstranslations/目录存放按模块路径组织的翻译 JSON维护期通过TRANSIFEX_API_TOKEN环境变量与npm run update-localization-extension es或语言包内封装的npm run update从 Transifex 拉取最新字符串并回写贡献点运行期则由编辑器的 localization 基础设施注册Configure Display Language命令让用户在已安装的 locale 之间一键切换。延伸阅读仓库内线索语言包清单声明i18n/ads-language-pack-es/package.json翻译文件示例i18n/ads-language-pack-es/translations/main.i18n.json扩展点 schema 与校验src/vs/workbench/contrib/localization/common/localization.contribution.ts语言切换命令实现src/vs/workbench/contrib/localization/common/localizationsActions.ts版本发布记录i18n/ads-language-pack-es/CHANGELOG.md其他官方语言包i18n 目录下ads-language-pack-*系列赞分享数据库客户端桌面应用数据分析【免费下载链接】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点击查看免费下载相关推荐用 SkyPilot API Server 在 Airflow 中编排 SkyPilot 任务从开发到生产的完整实战指南用 SkyPilot API Server 在 Airflow 中编排 SkyPilot 任务从开发到生产的完整实战指南 SkyPilot 与 Airflow数据库客户端桌面应用数据分析Astro Theme Pure部署指南Vercel、Netlify和GitHub Pages对比Astro Theme Pure部署指南Vercel、Netlify和GitHub Pages对比 Astro Theme Pure是一款简单、快速且功能强大notepad-- 快速上手三步玩转这款跨平台文本编辑器notepad 快速上手三步玩转这款跨平台文本编辑器 notepad 是一款中国开发者打造的跨平台文本编辑器Windows、Linux、macOS 都能跑桌面应用上一篇OpenCore Legacy Patcher技术深度解析如何让老款Mac运行最新macOS系统下一篇3步根治Windows虚拟显示器残留终极清理方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/28 3:22:13

基于Java的超市积分管理系统课设:事务与并发全解析

简介:一套基于Java技术的超市积分管理系统完整项目资料,内附项目报告、答辩PPT、源代码与数据库,面向Java Web课程设计、毕业设计及初入企业级开发的学习者,可帮助解决项目选题难、系统不完整、无参考实现等问题。资源以MVC设计模…

2026/9/28 3:22:13

ChatGLM3-6B与Pycorrector级联:文本纠错系统的工程化实践

简介:面向希望掌握中文文本纠错技术的开发者和研究者,提供一套基于ChatGLM3-6B与Pycorrector的完整项目实战资源。资源包含62个文件,以Python源码为主,涵盖数据处理脚本、模型训练代码、gradio服务化演示及Pycorrector接口实现等&…

2026/9/28 4:17:14

用 TaoToken 统一 Key 通道,10 分钟搭一个可用的 AI 助手

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/28 4:17:14

阿里QoderWork实测 – 打工人桌面AI助手,零配置替代OpenClaw

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/28 3:03:23

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/27 0:00:45

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/27 0:00:45

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/28 0:02:03

广州外贸网站建设推广:从零搭建全流程拆解与真实报价避坑

广州外贸网站建设推广:从零搭建全流程拆解与真实报价避坑 改个需求建站公司拖一周,后台改个文案还得再交一笔“技术维护费”。这种憋屈事儿,做外贸的朋友太熟悉了。很多老板在找广州外贸网站建设推广服务商时,光盯着首页好不好看,却忽略了从零搭建一个能…

2026/9/28 0:02:04

搞懂百度竞价推广价格,网站性能优化别掉链子

搞懂百度竞价推广价格,网站性能优化别掉链子 网站突然打不开,浏览器弹出红色警告“此网站存在安全风险”,后台一看全是乱码代码和奇怪的跳转链接。这种网站被黑挂马的绝望感,很多刚转行做网站的朋友都经历过,尤其是那些为了省几百块钱服务器费用的新手。…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/26 19:58:38

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/28 1:59:25

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑