Excel 往返流程

把一个 XLSX 交给译者,再导回来而不丢失上下文。

最后更新:

Excel 往返是多数本地化团队的主力流程。本指南涵盖导出、译者看到的内容,以及重新 导入时的各种保护机制。

导出 #

打开模型后,选择文件 → 导出翻译…。选择 CSV 或 XLSX,选好目标位置并保存。

导出内容包括:

  • 一个架构版本标记(XLSX 在单元格 A1,CSV 是以 # 开头的注释行)
  • 四个固定的信息列:Object IDTypeParentName
  • 每个区域性两列:Caption ({culture})Description ({culture})
  • 每个可翻译对象一行(表、列、度量值、层次结构、层次结构级别)

模型部分的列跟随导出时网格的视图开关:标题只写标题列,描述只写描述 列,两者则都写。如果文件带报表层,导出会追加第二张工作表报表(或配对的 .report.csv),以每种语言一列的宽表形式承载报表画布文字。完整架构参见 XLSX 与 CSV 文件格式

采用带 BOM 的 UTF-8,这样译者在 Windows 上双击时 Excel 能正确打开。CSV 使用 CRLF 换行也是同样的原因。

译者的使用体验 #

译者打开文件,看到的就是一张熟悉的 Excel 网格。他们把负责的区域性中的空单元格 填好,保存后发回来。他们不需要安装 Daxlate。

第一列(Object ID)是导入时的身份键。译者应当把它当作外键,不要编辑。TypeParentName 同理,它们的作用是帮助译者理解每一行的上下文。

重新导入 #

在应用中选择文件 → 导入翻译…,选好文件并确认。应用会在应用改动前,在对话框 中预览这次导入:

  • 行数,以及将被改动的单元格数量
  • 文件中检测到的新区域性(它们会被添加到模型)
  • 关于未知列、未知 Object ID 和架构版本不匹配的警告(主版本号更新的文件会被直接 拒绝)

点击应用提交。结果会作为一个可撤销的整体进入编辑器,因此一次撤销就能回退整次 导入。

空单元格的含义 #

导入是把文件中的内容叠加到模型上:

  • 有内容的单元格会设置该区域性的翻译。
  • 空白单元格表示**“尚未翻译”**,会被原样保留,因此一份只做了一半的文件永远不会 抹掉译者还没顾上的翻译。导入确认界面会告诉你跳过了多少个空白。

要删除某条翻译,请在网格中清空该单元格,或者从区域性下拉菜单中移除整种语言。

如果文件中的某一列指向模型里尚不存在的区域性,导入会添加该区域性,并用文件中的 单元格填充它。

架构版本 #

CSV 和 XLSX 导出都带有版本标记(Daxlate/1.0,XLSX 在单元格 A1,CSV 在第一行的 注释中)。导入时,主版本号更新的文件会被明确报错拒绝,避免旧版本把不兼容的文件 应用到一半。没有标记的文件按 1.0 处理,以保持向后兼容。