Well, some webpages contain a "lang" or "xml:lang" attribute in the html element. For example:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title></title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
</head>
<body>
</body>
</html>
In this example the attributes "lang" and "xml:lang" are set as "en" (i.e. English). Additionally, some servers may set a "Content-Language" header and you could check that value of that. (Although, to be honest i haven't actually seen a server which sets this value).
However, the value of these attributes or headers could be anything and some servers and webpages won't even state a language at all. But you'll probably want to search for common language codes as defined by ISO-639 and ISO-3166.
As for the implementation of this in C#, i'll admit it: i don't have much of a clue. But I think the WebResponse class has a property called Headers which you may want to look at.
Oh, and for languages like Hindi, i'm pretty sure that they contain characters unique to that language. In which case you could search your htmlText string for any of these particular characters.
There's also a simple method checking your htmlText string for words common to a particular language. For example, if you wanted to know whether to page was french you could search for the word "bonjour" etc.