DAT 本地化可视化插件
Visual Studio 插件,用于可视化和编辑本地化 .dat 文件。

功能特性
✅ 核心功能
- 多文件聚合视图:将 WordKey.dat、Chinese.dat、English.dat 合并为统一表格
- 自动触发:打开任意本地化文件时自动启动工具窗口
- 可视化编辑:类似 Excel 的表格编辑体验
- 缺失翻译高亮:自动标记未翻译的条目(橙色背景)
- 保持文件结构:保存时不改变原文件顺序,不删除未知 Key
📋 UI 特性
- 三列表格:Key(只读)| 中文 | English
- 统计信息:显示总条目数、缺失中文数、缺失英文数
- 实时更新:编辑后立即显示未保存状态
- 工具栏:保存、刷新按钮
文件格式
WordKey.dat(主 Key 文件)
auto
start
stop
- 每行一个 Key
- 无 Tab 分隔符
- 顺序即逻辑顺序
语言文件(Chinese.dat / English.dat)
auto 自动
start 启动
stop 停止
- 格式:
Key<TAB>Value
- 使用 Tab 分隔
- Key 必须与 WordKey.dat 对齐
使用方法
安装
- 双击
.vsix 文件安装插件
- 重启 Visual Studio
使用
- 自动触发:在 Visual Studio 中打开任意
.dat 文件(WordKey.dat、Chinese.dat、English.dat)
- 手动打开:工具 → DAT 本地化编辑器
- 编辑翻译:直接在表格中编辑中文或英文列
- 保存更改:点击"保存"按钮
快捷操作
- Tab:在单元格间切换
- Enter:进入/退出编辑模式
- Ctrl+S:保存(需先点击表格获得焦点)
技术架构
MVVM 架构
Models/
├── LocalizationRow.cs # 数据模型
└── DatFileParser.cs # 文件解析器
ViewModels/
└── LocalizationViewModel.cs # 视图模型
Views/
├── LocalizationToolWindow.cs # 工具窗口
├── LocalizationToolWindowControl.xaml # WPF UI
└── LocalizationToolWindowControl.xaml.cs
Commands/
└── OpenLocalizationWindowCommand.cs # 命令处理
DatLocalizationViewerPackage.cs # 主包(文件监听)
关键特性实现
1. 文件监听(IVsRunningDocTableEvents)
public int OnBeforeDocumentWindowShow(uint docCookie, int fFirstShow, IVsWindowFrame pFrame)
{
// 检测打开的文件是否为本地化文件
// 如果是,自动打开工具窗口
}
2. 保存策略
// 保持原文件顺序
// 不删除未知 Key
// 只更新已存在 Key 的 Value
SaveLanguageFile(filePath, updatedValues);
3. 缺失翻译高亮
<DataTrigger Binding="{Binding IsChineseMissing}" Value="True">
<Setter Property="Background" Value="#FFFFEBCD"/>
</DataTrigger>
设计原则
✅ 必须遵守
- 以 WordKey.dat 为唯一基准
- 不改变原文件顺序
- 不删除未知 Key
- Key 区分大小写
- 使用 Tab 分隔符
❌ 禁止操作
- 不合并三个文件为一个
- 不改变 dat 文件格式
- 不自动排序 Key
- 不在插件中生成或删除 Key
扩展性
支持更多语言
修改 DatFileParser.LoadLocalizationData() 和 LocalizationViewModel.LoadData():
var languageFiles = new List<string>
{
"Chinese.dat",
"English.dat",
"Japanese.dat" // 新增语言
};
添加新列
在 LocalizationRow 中添加属性,然后在 XAML 中添加对应列。
构建
要求
- Visual Studio 2022
- .NET Framework 4.8
- Visual Studio SDK
构建步骤
# 1. 打开解决方案
# 2. 还原 NuGet 包
# 3. 构建项目(Release 配置)
# 4. 输出:bin\Release\DatLocalizationViewer.vsix
故障排除
工具窗口未自动打开
- 确保文件名为
WordKey.dat、Chinese.dat 或 English.dat
- 确保同目录下存在
WordKey.dat
保存失败
高亮不显示
- 确保单元格为空或只包含空白字符
- 刷新窗口重新加载数据
许可证
MIT License
作者
Wenmingming
版本历史
v1.0.0 (2025-12-31)
- 初始版本
- 支持 WordKey.dat、Chinese.dat、English.dat
- 自动文件监听
- 缺失翻译高亮
- MVVM 架构