Разработка API перевода - Как обрабатывать пробелы - PullRequest
2 голосов
/ 22 марта 2011

Мое приложение использует внешний API-интерфейс перевода (нет возможности использовать другие механизмы перевода). Я вижу следующее неожиданное поведение при вызове механизма перевода.

ввод
<b1> Hello World. </b1>

ожидаемый результат
<b1> Hola a todos. </b1>

фактическая выработка
<b1>Hola a todos.</b1>

Правильно ли API обрезать пробелы? Мне кажется, что это неправильно.

Примечание: задокументировано заменить теги, отличные от HTML, на пары тегов <b1></b1> (приращение чисел для сохранения уникальности пар тегов).

Обновление : конечным результатом было то, что мне пришлось взломать проблему, кодировать пробелы, прежде чем я вызову API перевода. Мне это не нравится, но я не смог убедить владельца API изменить его на GIGO (Garbage In, Garbage Out).

Ответы [ 2 ]

2 голосов
/ 22 марта 2011

В общем, пробелы не считаются частью слова, поэтому неудивительно, что API это делает. Является ли такое поведение нормально, возможно, спорны (по крайней мере, это должно быть документально), но вы должны следовать правилу «либеральным в том, что вы принимаете и строги в том, что вы производите». Когда вы производите токены, вы должны быть более строгими.

1 голос
/ 22 марта 2011

Насколько я знаю, пробелы в HTML не особенно значимы, несколько пробелов свернуты в один пробел, символы новой строки игнорируются и т. Д., Поэтому неудивительно, что пробелы в начале и в конце этой строки удаляются,С точки зрения браузера, они эквивалентны.

Таким образом, возникает вопрос, есть ли опция в API для сохранения пробелов или обработки входящего текста как «простого текста», а не HTML?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...