Detect Window Version.

Dear all,

I'd like to ask how to detect Window version (English or Chinese) using JavaScript?  Thanks.

Regards,
Alan
alan_cheungAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

maneshrCommented:
save the foll in a .html file and see the result....


==============test.html


<SCRIPT LANGUAGE="JavaScript">


 
function Is ()
{  
    var agt=navigator.userAgent.toLowerCase()

    this.major = parseInt(navigator.appVersion)

    this.nav  = ((agt.indexOf('mozilla')!=-1) && ((agt.indexOf('spoofer')==-1) && (agt.indexOf('compatible') == -1)))
    this.nav2 = (this.nav && (this.major == 2))
    this.nav3 = (this.nav && (this.major == 3))
    this.nav4 = (this.nav && (this.major == 4))
    this.nav4up = this.nav && (this.major >= 4)
    this.navonly = (this.nav && (agt.indexOf(";nav") != -1))

    this.ie   = (agt.indexOf("msie") != -1)
    this.ie3  = (this.ie && (this.major == 2))
    this.ie4  = (this.ie && (this.major == 4))
    this.ie5  = (this.ie && (this.major == 5))
    this.ie4up  = this.ie  && (this.major >= 4)

    this.opera = (agt.indexOf("opera") != -1)

function splitString (stringToSplit,separator)
{  
arrayOfStrings = stringToSplit.split(separator)  
}

    this.minor = parseFloat(navigator.appVersion)

if (this.ie)
{
   var spacer="msie "
   splitString(agt,spacer)
   this.minor = parseFloat(arrayOfStrings[1])
}
     
    if (this.nav2 || this.ie3) this.js = 1.0
    else if (this.nav3 || this.opera) this.js = 1.1
    else if (this.nav4 || this.ie4 || this.ie5) this.js = 1.2
    else if ((this.nav && (this.minor > 4.05)) || (this.ie && (this.major > 4)))
    this.js = 1.2
    else this.js = 0.0

    this.win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1)
)
    this.win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows95")!=-1))
    this.win16 = ((agt.indexOf("win16")!=-1) || (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("windows 16-bit")!=-1))  
    this.win31 = (agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) || (agt.indexOf("windows 16-bit")!=-1)
    this.win98 = ((agt.indexOf("win98")!=-1)||(agt.indexOf("windows 98")!=-1))
    this.winnt = ((agt.indexOf("winnt")!=-1)||(agt.indexOf("windows nt")!=-1))
    this.win32 = this.win95 || this.winnt || this.win98 || ((this.major >= 4) && (navigator.platform == "Win32")) || (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1)
    this.os2   = (agt.indexOf("os/2")!=-1) || (navigator.appVersion.indexOf("OS/2")!=-1) || (agt.indexOf("ibm-webexplorer")!=-1)
    this.mac    = (agt.indexOf("mac")!=-1)
    this.mac68k = this.mac && ((agt.indexOf("68k")!=-1) || (agt.indexOf("68000")!=-1))
    this.macppc = this.mac && ((agt.indexOf("ppc")!=-1) || (agt.indexOf("powerpc")!=-1))
    this.sun   = (agt.indexOf("sunos")!=-1)
    this.sun4  = (agt.indexOf("sunos 4")!=-1)
    this.sun5  = (agt.indexOf("sunos 5")!=-1)
    this.suni86= this.sun && (agt.indexOf("i86")!=-1)
    this.irix  = (agt.indexOf("irix") !=-1)    // SGI
    this.irix5 = (agt.indexOf("irix 5") !=-1)
    this.irix6 = ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1))
    this.hpux  = (agt.indexOf("hp-ux")!=-1)
    this.hpux9 = this.hpux && (agt.indexOf("09.")!=-1)
    this.hpux10= this.hpux && (agt.indexOf("10.")!=-1)
    this.aix   = (agt.indexOf("aix")  !=-1)      // IBM
    this.aix1  = (agt.indexOf("aix 1")  !=-1)    
    this.aix2  = (agt.indexOf("aix 2")  !=-1)    
    this.aix3  = (agt.indexOf("aix 3")  !=-1)    
    this.aix4  = (agt.indexOf("aix 4")  !=-1)    
    this.linux = (agt.indexOf("inux")!=-1)
    this.sco   = (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1)
    this.unixware = (agt.indexOf("unix_system_v")!=-1)
    this.mpras    = (agt.indexOf("ncr")!=-1)
    this.reliant  = (agt.indexOf("reliantunix")!=-1)
    this.dec   = (agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) || (agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) || (agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1)
    this.sinix = (agt.indexOf("sinix")!=-1)
    this.freebsd = (agt.indexOf("freebsd")!=-1)
    this.bsd = (agt.indexOf("bsd")!=-1)
    this.unix  = (agt.indexOf("x11")!=-1) || this.sun || this.irix || this.hpux || this.sco ||this.unixware || this.mpras || this.reliant || this.dec || this.sinix || this.aix || this.linux || this.freebsd
    this.vms   = (agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1)
}

var is;
var isIE3Mac = false;
if ((navigator.appVersion.indexOf("Mac")!=-1) &&
(navigator.userAgent.indexOf("MSIE")!=-1) &&
(parseInt(navigator.appVersion)==3))
isIE3Mac = true;
else
is = new Is();
//-->


</SCRIPT>
</HEAD>
<BODY background="/images/valtxtr_gif2.gif">
<center>
<font face="Arial" size="3" color="#0000FF"><b>Determining Browser Type,
Version, OS and JavaScript Version with JavaScript</b></font>
</center>
<TT><FONT FACE="Arial,Helvetica">
<p>
<B>Browser Profile</B>
<br>
appName : Netscape<BR>userAgent : Mozilla/4.7 [en] (WinNT; U)<BR>appVersion : 4.7 [en] (WinNT; U)<BR>
<BR>
<B>Browser Version</B>
<BR>
You are using Netscape  4<BR>
<P>
<B>Version Number</B>
<BR>
<TT>Major Version : 4</TT><BR><TT>Minor Version : 4.7</TT><BR>
<P>
<B>JavaScript Version</B>
<BR>
You are using JavaScript Version 1.2<BR>
<P>
<B>Operating System</B>
<BR>
You are running  Windows Win32 -  NT<BR>

<HR size=1>



0
alan_cheungAuthor Commented:
In fact, I want to find the Language of OS by JavaScript.  Is it possible?
Thanks.
0
maneshrCommented:
all that info is included in the javascript that i have sent.

save it in a .html file and see it for yourself in the browser :-)
0
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

nettromCommented:
according to my Netscape documentation that browser doesn't release any language information through the navigator object.  maneshr, it looks like your code is somewhat faulty since you seem to not have any calls to document.write() to write the actual sniffed content to the document.

IE4/5 on the other hand, as far as I could see, has 3 properties defining language.  'browserLanguage', 'systemLanguage' and 'userLanguage'.  see

http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/browserlanguage.asp
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/systemlanguage.asp
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/userlanguage.asp
0
alan_cheungAuthor Commented:
If I'm using Netscape, is there any method to detect the window OS language?  Thanks.
0
nettromCommented:
as far as I know: no, you cannot find the language of the OS.

you can, however, find the preferred language of the user if the user has set it up in his/her browser, and if your server has been set up to use that information.  but I'd say it's a long shot.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
daveamourCommented:
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=javascript>
<!--
  alert (navigator.systemLanguage);
//-->
</SCRIPT>
</BODY>
</HTML>
0
daveamourCommented:
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=javascript>
<!--
  alert (navigator.systemLanguage);
//-->
</SCRIPT>
</BODY>
</HTML>
0
nettromCommented:
navigator.systemLanguage: undefined
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
JavaScript

From novice to tech pro — start learning today.