1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-06-25 01:05:37 +00:00

SMJS: Babelfish smartprefix

Port the Lua Babelfish smartprefix
This commit is contained in:
Miciah Dashiel Butler Masters 2006-06-23 03:55:08 +00:00 committed by Miciah Dashiel Butler Masters
parent 4206716d2a
commit a8cb377325

View File

@ -112,3 +112,52 @@ function bugzilla (base_url, arguments)
return base_url + 'buglist.cgi?short_desc_type=allwordssubstr'
+ '&short_desc=' + escape(arguments);
}
/* javascript:babelfish("%s"); */
function babelfish (url)
{
var lang2code = {
"chinese-simp": 'zh',
"chinese-simple": 'zh',
"chinese-simplified": 'zh',
"chinese-trad": 'zt',
"chinese-traditional": 'zt',
"dutch": 'nl',
"nederlands": 'nl',
"Nederlands": 'nl',
"german": 'de',
"deutsch": 'de',
"Deutsch": 'de',
"english": 'en',
"french": 'fr',
"fran\231ais": 'fr',
"greek": 'el',
"italian": 'it',
"italiano": 'it',
"japanese": 'ja',
"korean": 'ko',
"portuguese": 'pt',
"portugu\234s": 'pt',
"russian": 'ru',
"spanish": 'es',
"espanol": 'es',
"espa\241ol": 'es',
};
var parts = url.match(/^(\S+)\s+(\S+)\s*(.*)/);
if (!parts) return "";
var from = parts[1], to = parts[2], text = parts[3];
if (lang2code[from]) from = lang2code[from];
if (lang2code[to]) to = lang2code[to];
if (text.match(/:[^[:blank:]]/))
url = "http://babelfish.altavista.com/babelfish/urltrurl?url=";
else
url = "http://babelfish.altavista.com/babelfish/tr?trtext=";
url += escape(text) + "&lp=" + from + "_" + to;
return url;
}