1
|
/*
|
2
|
License: LGPL as per: http://www.gnu.org/copyleft/lesser.html
|
3
|
|
4
|
$Id: LanguageUtils.js 3874 2008-02-27 11:03:22Z gjvoosten $
|
5
|
*/
|
6
|
|
7
|
// Supported languages
|
8
|
var supportedLanguages = new Object();
|
9
|
{
|
10
|
supportedLanguages["en"] = "English";
|
11
|
supportedLanguages["nl"] = "Nederlands";
|
12
|
supportedLanguages["fr"] = "Fran\u00E7ais";
|
13
|
supportedLanguages["it"] = "Italiano";
|
14
|
supportedLanguages["de"] = "Deutsch";
|
15
|
supportedLanguages["es"] = "Espa\u00F1ol";
|
16
|
// Also add as an example an unsupported language to show the fallback
|
17
|
supportedLanguages["nonesuch"] = "unsupported language";
|
18
|
}
|
19
|
var language = "en"; // Default to English
|
20
|
|
21
|
/**
|
22
|
* Set the language for a page by getting it from the page parameters
|
23
|
*/
|
24
|
function setLanguage()
|
25
|
{
|
26
|
var parms = getParameters();
|
27
|
if (parms["language"] && supportedLanguages[parms["language"]]) {
|
28
|
language = parms["language"];
|
29
|
}
|
30
|
}
|
31
|
|
32
|
/**
|
33
|
* Write out the HTML with hrefs for changing the language of the page
|
34
|
* @param flagsDirUrl the (relative) url of the directory containing the flag images
|
35
|
*/
|
36
|
function writeOutLanguages(flagsDirUrl)
|
37
|
{
|
38
|
for (var i in supportedLanguages) {
|
39
|
document.write(" ");
|
40
|
if (language != i) {
|
41
|
document.write('<a href="?language=' + i + '">');
|
42
|
}
|
43
|
document.write('<img src="' + flagsDirUrl + '/' + i +
|
44
|
'.png" title="' + supportedLanguages[i] + '"/>');
|
45
|
if (language != i) {
|
46
|
document.write('</a>');
|
47
|
}
|
48
|
}
|
49
|
}
|
50
|
|
51
|
/**
|
52
|
* Get the page parameters
|
53
|
* @return an object with the parameter names as fields and the parameter values
|
54
|
* as the corresponding values
|
55
|
*/
|
56
|
function getParameters()
|
57
|
{
|
58
|
var args = new Object();
|
59
|
var query = location.search.substring(1);
|
60
|
var pairs = query.split("&");
|
61
|
for (var i in pairs) {
|
62
|
var pos = pairs[i].indexOf('=');
|
63
|
if (pos == -1) continue;
|
64
|
var argname = pairs[i].substring(0, pos);
|
65
|
var value = pairs[i].substring(pos + 1);
|
66
|
args[argname] = unescape(value.replace(/\+/g, " "));
|
67
|
}
|
68
|
return args;
|
69
|
}
|