出于语义版本控制的目的,i18n字符串键是否被视为“公共API”?

问题描述 投票:2回答:1

我正在维护一个PHP模块,它具有相当不稳定和过时的i18n覆盖范围,我们正在尝试更新。为了得到应有的东西,我们需要组合一些键(例如OrderInformation.ss.QUANTITY和ProductCategoryItem.ss.QUANTITY)并重命名其他键。

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

internationalization semantic-versioning
1个回答
0
投票

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

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

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

如果客户修复是微不足道的,特别是如果它不是您的客户群的很大一部分,您可能会失去一个小的或补丁。

© www.soinside.com 2019 - 2024. All rights reserved.