跳到主要内容
版本:YiLOC

本地化翻译中的Key和Value

键值对(即Key:Value)是一种广泛应用于数据存储(如数据库)、配置管理(如配置文件)及编程(如哈希表)的基础数据结构。本地化翻译往往以键值对的格式存储、拉取和回传翻译内容。


以下图中JSON文件字符串"Lemon_Tree":"@, I have a hobby, but I keep it as a secret.#$e#"为例,以“:”为界,左端"Lemon_Tree"即为Key,右端"@, I have a hobby, but I keep it as a secret.#$e#"即为Value。

Key和Value

Key

Key的定义

Key是用于在源代码/模板文件标识和访问特定字符的标识符。在本地化翻译中,Key是标识和访问Value的唯一标识符,同一Key可对应多个Value,即各个语言的相应译文。

Key的特点

唯一性在同一文件或模块内,Key的ID必须唯一,不可重复
稳定性在本地化翻译中应避免更改Key,否则会导致无法定位至对应的Value,引发映射错误
说明性命名规范的Key能清晰表述其代表的文本内容/功能
代码绑定性若修改Key,代码需同步调整,否则运行时会引发错误
简洁性Key的ID通常较为简短,可以减少内存占用、提高索引速度
元数据扩展性Key常携带截图、参考链接等辅助信息,帮助译者理解语境
用户不可见Key本身对最终用户不可见,是供本地化流程相关人员使用的标识

Value

Value的定义

Value即为Key映射的实际文本内容。在本地化翻译中,Value指各个语种的译文。由于各语种的本地化翻译进度不一,为给开发和测试流程提供便利,有时也会暂用Key的名称(ID)、原文、伪翻译内容、机器翻译译文填充译文的Value,后续再由翻译团队定稿。

Value的特点

非译元素需保留Value中常包含动态内容非译元素(如变量{name}、占位符@、HTML标签 < br/ >等),需要保留。在映射时,动态内容非译元素会被实际值替换(如"Hi there, {name}!"替换为"Hi there, Alice!"),或用于格式化
语言本地化处理Value按ICU信息语法,呈现语种不同的复数形式(如英语One、Other),还支持性别变体、动态插值等
字符长度限制为适应落地场景,Value需要严格控制字符长度
文本重复多出于产品设计的语言模式、功能模块等因素,导航标签、状态提示、产品文案或模板条款等会反复出现
支持版本追溯支持追溯Value更新历史,便于版本控制
用户可见Value会最终呈现对应语言产品界面上,用户可见

Key:Value的储存特点

  • 快速索引:可通过Key直接定位至对应的Value,无需像传统文档翻译一样在编辑器中按照句段顺序查找。对于大规模的本地化翻译业务,快速索引有助于提升整体效率和更新速度。

  • 更新灵活:Key:Value存储支持各种类型数据,并且可以按需随时添加、删除或修改,适应不同的本地化翻译需求和内容调整。

  • 多语管理:同一Key可对应多个Value,即多语对应。通过Key可以直接定位至对应的Value,实现高效管理。