AEM人工翻译从服务器获得响应?

时间:2017-07-17 08:59:17

标签: java adobe aem sling

我使用bootstrap翻译框架(Git:https://forums.adobe.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2FAdobe-Marketing-Cloud%2Faem-translation-framework-bootstrap-connector%2Fblob%2Fmaster%2Fbundle%2Fsrc%2Fmain%2Fjava%2Fcom%2Fadobe%2Fgranite%2Ftranslation%2Fconnector%2Fbootstrap%2Fcore%2Fimpl%2FBootstrapTranslationServiceImpl.java):我使用此方法uploadTranslationObject发布到我的服务器并完成一个请求。

我只是有一个小疑问,比如我使用人工翻译,响应将在一段X延迟时间之后出现。现在我想知道如果从我的服务器准备好已翻译的响应后如何得到响应?

我有在我的服务器上返回已翻译的xml的逻辑,但问题是我如何返回它?我的意思是我的服务器应该在某个api上发布什么地方,或者我会不断寻找响应?

有人可以通过小代码或现有方法告诉我吗?我需要找到代码的哪个方法来处理来自服务器的响应?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您必须监控文档的状态(TranslationObjects)。当您通过uploadTranslationObject()上传TO以进行翻译时,请将TO的状态更改为“SUBMITTED”或“TRANSLATION_IN_PROGRESS”。 然后在getTranslationObjectStatus()中,您将向服务器发出请求以了解是否翻译了TO。如果TO被翻译,那么您可以将TO的状态更改为“TRANSLATED”。方法getTranslationObjectStatus()将返回TranslationStatus作为TRANSLATED,这将调用getTranslatedObject(),您将在其中下载已翻译的TO并将其作为InputStream返回。

注意: getTranslationObjectStatus()以及刷新 TranslationJob 页面时将调用其他状态更新帮助程序方法。