【问题标题】:Are i18n string keys considered to be "public API" for the purposes of semantic versioning?出于语义版本控制的目的,i18n 字符串键是否被视为“公共 API”?
【发布时间】:2016-01-19 14:36:44
【问题描述】:

我正在维护一个 PHP 模块,该模块的 i18n 覆盖范围很差且过时,我们正在尝试对其进行更新。为了将内容放在应有的位置,我们需要组合一些键(例如 OrderInformation.ss.QUANTITY 和 ProductCategoryItem.ss.QUANTITY)并重命名其他键。

理论上,这可能会导致之前翻译的某些网站在更新时还原一些字符串。这是否符合语义版本控制下向后不兼容的更改?

【问题讨论】:

    标签: internationalization semantic-versioning


    【解决方案1】:

    理论上,这可能会导致之前翻译的某些网站在更新时还原一些字符串。这是否符合语义版本控制下向后不兼容的更改?

    从技术上讲,是的。如果你破坏了你的客户,它需要一个主要的版本。见SemVer #8。实际的答案是这种理论破坏的可能性有多大?从理论上讲,任何更改都有可能破坏某些人,但我们不会针对每个小错误修复更改主要版本,这就是补丁的用途。

    通常,当行为改变导致 API 背后的原始意图趋向时,就会出现这个问题,但是您有一些客户依赖于原始设计/实施缺陷。当一些人采取他们认为是非破坏性的改变时,你必须权衡所带来的成本,但事实并非如此;面对拥有大量客户的成本,甚至没有尝试新的主要版本发布,因为担心他们会有很多工作要做。

    如果客户修复将是微不足道的,特别是如果它不是您的客户群的很大一部分,您可能会侥幸逃脱较小的或补丁的碰撞。

    【讨论】:

      猜你喜欢
      • 2013-04-08
      • 2012-03-16
      • 2015-03-10
      • 2015-08-10
      • 2019-09-14
      • 2013-05-25
      • 1970-01-01
      • 2014-01-14
      • 1970-01-01
      相关资源
      最近更新 更多