Reputation: 2442
When the translation function is enabled in Outlook, I was wondering if anyone knows how to get the results of language identification of the email body.
As shown in the figure below, Outlook has a "Translate" button in the "Language" group by default, and Microsoft offers Microsoft Machine Translation in Outlook. This is designed to detect and translate the language of the body of an email. In other words, there should be information about what language the body of the e-mail is presumed to be written in.
Thanks,
Upvotes: 0
Views: 241
Reputation: 66255
You can try to use IMultilanguage2
interface and its DetectInputCodepage method - it returns a ranked list of all locale matches.
Upvotes: 0
Reputation: 49405
There is no trivial to get add-in results if you don't know any public property or method for that. Try to contact add-in developers to provide public members that can be called from other add-ins.
Note, you can use the Word object model to detect the message body language. The WordEditor
property of the Inspector
class returns an instance of the Document
class from the Word object model. So, you can use the Document
instance in the following way:
With WordDocumentInstance
If .LanguageDetected = True Then
x = MsgBox("This document has already " _
& "been checked. Do you want to check " _
& "it again?", vbYesNo)
If x = vbYes Then
.LanguageDetected = False
.DetectLanguage
End If
Else
.DetectLanguage
End If
If .Range.LanguageID = wdEnglishUS Then
MsgBox "This is a U.S. English document."
Else
MsgBox "This is not a U.S. English document."
End If
End With
The results of the DetectLanguage
method are stored in the LanguageID
property on a character-by-character basis. To read the LanguageID
property, you must first specify a selection or range of text.
When applied to a Document
object, the DetectLanguage
method checks all available text in the document (headers, footers, text boxes, and so forth). If the specified text contains a partial sentence, the selection or range is extended to the end of the sentence.
If the DetectLanguage
method has already been applied to the specified text, the LanguageDetected
property is set to True
. To reevaluate the language of the specified text, you must first set the LanguageDetected
property to False
.
Upvotes: 1