// ki18n5.js of Russian KDE translation
// Return the phrase without the given prefix if it has it,
// or the full phrase otherwise.
// Thanks to Chusslove Ilich from Serbian team
function without_prefix (prefix, phrase)
{
if (phrase.indexOf(prefix) == 0) {
phrase = phrase.substr(prefix.length);
}
return phrase;
}
//--------------------------------------------------------------------
// This pair of functions can be used for storing/restoring
// any additional form. This is reasonable, because in most
// cases only 2 forms are used.
function setStash(text)
{
Ts.setProp(Ts.msgstrf(), "S", text);
}
function inStash(arg)
{
return Ts.getProp(arg, "S")
}
//--------------------------------------------------------------------
function replaceMultiplePairs(/* text, pattern1, replacement1, ... */)
{
if (arguments.length % 2 != 1)
throw Error("replaceMultiplePairs requires odd number of arguments.");
var text = arguments[0];
for (var i = 1; i < arguments.length; i += 2)
{
text = text.replace(arguments[i], arguments[i + 1]);
}
return text;
}
function replaceMultiplePairsExact(/* text, pattern1, replacement1, ... */)
{
if (arguments.length % 2 != 1)
throw Error("replaceMultiplePairsExact requires odd number of arguments.");
var text = arguments[0];
for (var i = 1; i < arguments.length; i += 2)
{
if (text == arguments[i])
text = arguments[i + 1];
}
return text;
}
//--------------------------------------------------------------------
function toLowerCase(str) {
return str.toLowerCase();
}
function toUpperCase(str) {
return str.toUpperCase();
}
//--------------------------------------------------------------------
Ts.setcall("wo-prefix", without_prefix);
Ts.setcall("store", setStash);
Ts.setcall("restore", inStash);
Ts.setcall("replace-pairs", replaceMultiplePairs);
Ts.setcall("replace-pairs-exact", replaceMultiplePairsExact);
Ts.setcall("lowercase", toLowerCase);
Ts.setcall("uppercase", toUpperCase);