The existing answers work for text that is present in the outline. Unfortunately in my case this didn't cover a significant part of the text, including figures, tables, etc.
This macro solved the problem for me :
Sub ChangeProofingLanguageToEnglish()
Dim j As Integer, k As, Integerm, scount As Integer, fcount, gcount As Integer
scount = ActivePresentation.Slides.Count
For j = 1 To scount
fcount = ActivePresentation.Slides(j).Shapes.Count
For k = 1 To fcount
If ActivePresentation.Slides(j).Shapes(k).HasTextFrame Then
ActivePresentation.Slides(j).Shapes(k) _
.TextFrame.TextRange.LanguageID = msoLanguageIDEnglishUS
End If
If ActivePresentation.Slides(j).Shapes(k).Type = msoGroup Then
gcount = ActivePresentation.Slides(j).Shapes(k).GroupItems.Count
For m = 1 To gcount
If ActivePresentation.Slides(j).Shapes(k).GroupItems.Item(m).HasTextFrame Then
ActivePresentation.Slides(j).Shapes(k).GroupItems.Item(m) _
.TextFrame.TextRange.LanguageID = msoLanguageIDEnglishUS
End If
Next m
End If
Next k
Next j
End Sub
The "msoLanguageIDEnglishUS" which is used in the above macro can be replaced by any desired language. The full list of languages can be found in this article
(Credit goes to Ganesh Kumar who posted the original macro here. I added support for first level of shape grouping. To further improve it the macro can be made recursive to look for groups which contain other groups, etc.)