diff --git a/src/www/js/langcode.js b/src/www/js/langcode.js
new file mode 100644
index 000000000..5a41a59d3
--- /dev/null
+++ b/src/www/js/langcode.js
@@ -0,0 +1,27 @@
+// Language names and ISO-639 codes (both 3-letter and 2-letter codes)
+// See http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
+
+function lang1(namecode2) {
+ function lang(code,name,code2) {return {code:code, name:name, code2:code2}}
+ var nc=namecode2.split(":")
+ var name=nc[0]
+ var ws=name.split("/")
+ var code2=nc.length>1 ? nc[1] : ""
+ return ws.length==1 ? lang(name.substr(0,3),name,code2)
+ : lang(ws[0],ws[1],code2)
+}
+
+var languages = // [ISO-639-2 code "/"] language name ":" ISO 639-1 code
+ map(lang1,"Amharic:am Arabic:ar Bulgarian:bg Catalan:ca Chinese:zh Danish:da Dutch:nl English:en Finnish:fi French:fr German:de Greek:el Hindi:hi Ina/Interlingua:ia Italian:it Jpn/Japanese:ja Latin:la Norwegian:nb Polish:pl Ron/Romanian:ro Russian:ru Spanish:es Swedish:sv Thai:th Turkish:tr Urdu:ur".split(" "))
+
+var langname={}
+var langcode2={}
+var langcode3={}
+for(var i in languages) {
+ langname[languages[i].code]=languages[i].name
+ langcode2[languages[i].code]=languages[i].code2
+ langcode3[languages[i].code2]=languages[i].code
+}
+
+function concname(code) { return langname[code] || code; }
+function alangcode(code) { return langcode2[code] || code; }
diff --git a/src/www/translator/index.html b/src/www/translator/index.html
index 999f6d9c6..394299eb4 100644
--- a/src/www/translator/index.html
+++ b/src/www/translator/index.html
@@ -78,7 +78,7 @@
HMTL
-Last modified: Tue Jan 21 16:54:12 CET 2014
+Last modified: Wed Feb 19 15:07:10 CET 2014
About
@@ -87,6 +87,7 @@
+
diff --git a/src/www/translator/translator.js b/src/www/translator/translator.js
index 7f98058ca..e128a4c57 100644
--- a/src/www/translator/translator.js
+++ b/src/www/translator/translator.js
@@ -1036,32 +1036,6 @@ function show_translation(o) {
/* --- Auxiliary functions -------------------------------------------------- */
-function lang1(namecode2) {
- function lang(code,name,code2) {return {code:code, name:name, code2:code2}}
- var nc=namecode2.split(":");
- var name=nc[0]
- var ws=name.split("/");
- var code2=nc.length>1 ? nc[1] : ""
- return ws.length==1 ? lang(name.substr(0,3),name,code2)
- : lang(ws[0],ws[1],code2);
-}
-
-// Language names and ISO-639 codes (both 3-letter and 2-letter codes)
-// See http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
-var languages = // [ISO-639-2 code "/"] language name ":" ISO 639-1 code
- map(lang1,"Amharic:am Arabic:ar Bulgarian:bg Catalan:ca Chinese:zh Danish:da Dutch:nl English:en Finnish:fi French:fr German:de Greek:el Hindi:hi Ina/Interlingua:ia Italian:it Jpn/Japanese:ja Latin:la Norwegian:nb Polish:pl Ron/Romanian:ro Russian:ru Spanish:es Swedish:sv Thai:th Turkish:tr Urdu:ur".split(" "));
-
-var langname={};
-var langcode2={}
-var langcode3={}
-for(var i in languages) {
- langname[languages[i].code]=languages[i].name
- langcode2[languages[i].code]=languages[i].code2
- langcode3[languages[i].code2]=languages[i].code
-}
-function concname(code) { return langname[code] || code; }
-function alangcode(code) { return langcode2[code] || code; }
-
// Collect alternative texts in the output from PGF service translate command
function collect_texts(ts) {
var list=[]