Advance Wayland and KDE package bring-up
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
// kdelibs4.js of Ukrainian KDE translation
|
||||
|
||||
// ------------------------------
|
||||
// Pick a phrase depending on a dynamic context field.
|
||||
// Input is the keyword of the context field, followed by pairs of
|
||||
// regex matcher on context value and corresponding phrase,
|
||||
// and optionally followed by default phrase in case the value does not match.
|
||||
// If the value does not match and default phrase is not given,
|
||||
// fallback is signaled.
|
||||
// If requested dynamic context field does not exist, fallback is signaled.
|
||||
function select_by_context (/* ctxt_key,
|
||||
valrx_1, phrase_1, ..., valrx_N, phrase_N
|
||||
[, default_phrase]*/)
|
||||
{
|
||||
if (arguments.length < 1)
|
||||
throw Error("Selector by context takes at least the context keyword.");
|
||||
|
||||
var ctxtkey = arguments[0];
|
||||
var ctxtval = Ts.dynctxt(ctxtkey);
|
||||
|
||||
var phrase;
|
||||
for (var i = 1; i < arguments.length; i += 2) {
|
||||
if (ctxtval.match(RegExp(arguments[i]))) {
|
||||
phrase = arguments[i + 1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (phrase == undefined) {
|
||||
if (arguments.length % 2 == 0) {
|
||||
phrase = arguments[arguments.length - 1];
|
||||
} else {
|
||||
throw Ts.fallback();
|
||||
}
|
||||
}
|
||||
|
||||
return phrase;
|
||||
}
|
||||
Ts.setcall("за-контекстом", select_by_context);
|
||||
|
||||
// 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;
|
||||
}
|
||||
Ts.setcall("без-префікса", without_prefix);
|
||||
|
||||
// Simple replacer. Thanks to Alexander Potashev from Russian team
|
||||
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;
|
||||
}
|
||||
Ts.setcall("заміна-пар", replaceMultiplePairs)
|
||||
Reference in New Issue
Block a user