我想知道 API 是否可以执行以下操作:
我用预定的语言发送一个词
如果该词存在于该语言中,则 API 回答。
为了给这个问题添加一些上下文,这个想法是开发一个类似拼字游戏的游戏,我正在研究一种检测有效单词的方法,适用于所有(或最常见的)语言。
我已经在他们的一个论坛中寻求解决方案,但他们已经死了。
我想知道 API 是否可以执行以下操作:
我用预定的语言发送一个词
如果该词存在于该语言中,则 API 回答。
为了给这个问题添加一些上下文,这个想法是开发一个类似拼字游戏的游戏,我正在研究一种检测有效单词的方法,适用于所有(或最常见的)语言。
我已经在他们的一个论坛中寻求解决方案,但他们已经死了。
我测试了 MS 翻译服务。
var result = MST.TranslateText("xyz", "en", "de"); // custom routine that calls MS service
var result2 = MST.TranslateText("dog", "en", "de");
var result2 = MST.TranslateText("sdfasfgd", "en", "de");
Result = XYZ // 源 xyz
Result2 = Hund // 源狗
Result3 = sdfasfgd // sdfasfgd
看起来当找不到或无法翻译时,字符串会原封不动地返回。
我注意到的唯一奇怪的行为是将某些 3 个字母的场景转换为大写字母,这两种语言都不是明显的 TLA。
public string TranslateText(string sourceText, string fromLang, string toLang) {
var httpRequestProperty = GetAuthorizationRequestHeader();
var msTransClient = new TranslatorService.LanguageServiceClient();
// Creates a block within which an OperationContext object is in scope.
using (var scope = new OperationContextScope(msTransClient.InnerChannel))
{
OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;
//Keep appId parameter blank as we are sending access token in authorization header.
var translationResult = msTransClient.Translate("", sourceText, fromLang, toLang, "text/plain", "");
return translationResult;
}
}