设计翻译API - 如何处理空间

时间:2011-03-21 21:43:59

标签: c# api formatting translation

我的应用程序使用外部翻译API(没有使用其他翻译引擎的选项)。当我调用翻译引擎时,我看到以下意外行为。

输入
<b1> Hello World. </b1>

预期产量
<b1> Hola a todos. </b1>

实际输出
<b1>Hola a todos.</b1>

API修剪空间是否合适?这对我来说不合适。

注意:记录了使用<b1></b1>标记对替换非html标记(数字增加以保持标记对唯一)。

更新:最终结果是我不得不解决这个问题,在调用转换API之前编码空格。我不喜欢它,但我无法说服API所有者将其更改为GIGO(Garbage In,Garbage Out)。

2 个答案:

答案 0 :(得分:2)

嗯,一般来说,空格不被认为是一个单词的一部分,所以API正在这样做并不奇怪。这种行为是否正常可能是有争议的(至少应该记录在案),但你应该遵循“你接受的是自由的,对你所生产的东西严格”的规则。当你制作代币时,你应该更加严格。

答案 1 :(得分:1)

据我所知,HTML中的空格并不是特别重要,多个空格会折叠到单个空格,新行会被忽略等等。因此,删除该字符串中的前导和尾随空格并不奇怪。从浏览器的角度来看,它们是等价的。

那么问题就变成了,API中是否有一个选项来保留空格或将传入的文本视为“纯文本”而不​​是html?