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?

[Webinar] Streamline your web hosting managementRegister Today

x
 
nettromConnect With a Mentor Commented:
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
 
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
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
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
 
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
 
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
All Courses

From novice to tech pro — start learning today.