Bikarhêner:Balyozxane/creationrules.js
Zanibe: Piştî weşandinê, ji bo dîtina guhartinan dibe ku hewce be "cache"ya geroka xwe paqij bikî.
- Firefox / Safari: Pê li Shift û Reload bike an jî Ctrl-F5 an Ctrl-R bike (ji bo Mac: ⌘-R)
- Google Chrome: Pê li Ctrl-Shift-R (ji bo Mac: ⌘-Shift-R) bike
- Internet Explorer / Edge: Pê li Ctrl û Refresh bike, an jî Ctrl-F5 bike
- Opera: Pê li Ctrl-F5 bike.
// <nowiki> This prevents the parser from processing the file and generating transclusions and categories for it.
/*Çavkanî: [[en:User:Conrad.Irwin/creationrules.js]]
* Language-specific entry generation rules for form-of entries, generated by [[WT:ACCEL]].
* [[MediaWiki:Gadget-WiktAccFormCreation.js]]
* Each function has two parameters.
* params holds the parameters given in the template.
* entry holds the various parts of the entry to be created.
*
* The function's task is to provide new values for some of the parts of the new entry.
* In most cases, entry.def (the definition line) will be overridden, but the headword (entry.head)
* or even the part-of-speech or language headers can be overridden if necessary.
*
* If the function is not able to handle the current form for whatever reason, throw an exception:
* throw new PreloadTextError();
*/
/* jshint maxerr: 600, sub: true */
window.creation_rules = window.creation_rules || {};
// Generate the entry's text
window.generate_entry = function (params)
{
try
{
var param = params.lang;
if (!creation_rules[param])
param = 'others';
if (params.pos == 'cardinal number' || params.pos == 'ordinal number')
pos = 'numeral';
else
pos = params.pos;
if (params.pos.search("[0-9]") > -1) {
pos_header = 'Formeke ' + params.pos.replace(/ ([0-9]+)/gi, "ê");
}else{
pos_header = 'Formeke ' + params.pos + 'ê';
}
if (params.pos.search("[0-9]") > -1) {
params.pos = params.pos.replace(/ ([0-9]+)/gi, "");
}
if (params.gender == "m") {
zayend = "mê";
}else if (params.gender == "n") {
zayend = "nêr";
}
var entry = {
pronunc: null,
pos_header: pos_header,
head: '{{' + pos.replace(/ ([0-9]+)/gi, "") + '|' + params.lang + '|' + 'form=erê' + (params.target != params.target_pagename ? '|' + params.target : '') + (params.transliteration ? ('|tr=' + params.transliteration) : '') + (params.gender ? ('|z=' + params.gender) : '') + '}}',
def: null,
inflection: null,
declension: null,
conjugation: null };
creation_rules[param](params, entry);
return entry;
}
catch (e)
{
if (e instanceof PreloadTextError)
{
console.log(e.message);
return false;
}
else
{
throw e;
}
}
};
// Kurdish
creation_rules['ku'] =
function (params, entry)
{
var formparam = {
'niha|1|yj': 'forma|niha|ya|1|a|yj',
'niha|2|yj': 'forma|niha|ya|2|a|yj',
'niha|3|yj': 'forma|niha|ya|3|a|yj',
'niha|123|p': 'forma|niha|ya|123|ya|p',
'fer|yj': 'forma|fer|ya|yj',
'fer|p': 'forma|fer|ya|p',
'borî|1|yj': 'forma|borî|sade|ya|1|a|yj',
'borî|2|yj': 'forma|borî|sade|ya|2|a|yj',
'borî|3|yj': 'forma|borî|sade|ya|3|a|yj',
'borî|123|p': 'forma|borî|sade|ya|123|ya|p',
};
entry.def = '{{formeke peyvê|ku|' + params.origin + '||' + formparam[params.form] + '}}';
var origin_title = params.origin;
var guharto;
if (origin_title.endsWith("e")) {
guharto = "|guherto=2";
}else{
guharto= "";
}
switch (params.form)
{
case 'def|constr|s':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|îzafe|binavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||îzafe|ya|binavkirî|ya|yekjimar}}';
break;
case 'def|constr|p':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|îzafe|binavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||îzafe|ya|binavkirî|ya|pirjimar}}';
break;
case 'def|obl|s':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|çemandî|binavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||çemandî|ya|binavkirî|ya|yekjimar}}';
break;
case 'def|obl|p':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|çemandî|binavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||çemandî|ya|binavkirî|ya|pirjimar}}';
break;
case 'voc|s':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|bangkirin|binavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||baneşanî|ya|binavkirî|ya|yekjimar}}';
break;
case 'voc|p':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|bangkirin|binavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||baneşanî|ya|binavkirî|ya|pirjimar}}';
break;
case 'indef|nom|s':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|navkî|nebinavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||navkî|ya|nebinavkirî|ya|yekjimar}}';
break;
case 'indef|nom|p':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|navkî|nebinavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||navkî|ya|nebinavkirî|ya|pirjimar}}';
break;
case 'indef|constr|s':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|îzafe|nebinavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||îzafe|ya|nebinavkirî|ya|yekjimar}}';
break;
case 'indef|constr|p':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|îzafe|nebinavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||îzafe|ya|nebinavkirî|ya|pirjimar}}';
break;
case 'indef|obl|s':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|çemandî|nebinavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||çemandî|ya|nebinavkirî|ya|yekjimar}}';
break;
case 'indef|obl|p':
entry.head = '{{ku-tew-nav|' + params.origin + '|'+ zayend + '|çemandî|nebinavkirî' + guharto + '}}\n{{' + params.pos + '|ku|form=erê|z=' + params.gender + '}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||çemandî|ya|nebinavkirî|ya|pirjimar}}';
break;
default:
entry.head = '{{' + params.pos + '|ku|form=erê}}';
entry.def = '{{formeke peyvê|ku|' + params.origin + '||' + formparam[params.form] + '}}';
}
};
// erebî
creation_rules['ar'] =
function (params, entry)
{
switch (params.form)
{
case 'mê':
entry.def = '{{dem2|ar|' + params.origin + '|Forma mê ya yekjimar ji' + '}}';
break;
case 'pirjimar':
entry.def = '{{pirjimar|' + params.lang + '|' + params.origin + '}}';
break;
default:
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
}
};
// German
creation_rules['de'] =
function (params, entry)
{
entry.def = '{{' + params.form.replace(/-/g, ' ') + '|' + params.lang + '|' + params.origin + '}}';
if (params.form == "diminutive")
{
entry.declension = "{{de-decl-noun-n|s}}";
entry.head = "{{de-noun|n|"+params.target+"s|"+params.target+"}}";
}
else if (params.form == "zu")
{
entry.def = '{{de-zu-infinitive of|' + params.origin + '}}';
}
};
// English
creation_rules['en'] =
function (params, entry)
{
switch (params.form)
{
case 'comparative':
entry.head = '{{' + params.pos + '|' + params.lang + '|' + 'form=erê}}';
entry.def = '{{komparatîv|en|' + params.origin + '}}';
break;
case 'superlative':
entry.head = '{{' + params.pos + '|' + params.lang + '|' + 'form=erê}}';
entry.def = '{{sûperlatîv|en|' + params.origin + '}}';
break;
case '3|s|pres':
entry.head = '{{lêker|' + params.lang + '|form=erê}}';
entry.def = '{{en-dema-niha|' + params.origin + '|sêyem|yekjimar}}';
break;
case 'pres|ptcp':
entry.head = '{{lêker|' + params.lang + '|form=erê}}';
entry.def = '{{partîsîpa niha|' + params.lang + '|' + params.origin + '}}';
break;
case 'past':
entry.head = '{{lêker|' + params.lang + '|form=erê}}';
entry.def = '{{en-dema-borî-sade|' + params.origin + '}}';
break;
case 'past|and|past|ptcp':
entry.head = '{{lêker|' + params.lang + '|form=erê}}';
entry.def = '{{en-dema-borî|' + params.origin + '}}';
break;
case 'past|ptcp':
entry.head = '{{lêker|' + params.lang + '|form=erê}}';
entry.def = '{{partîsîpa borî|' + params.lang + '|' + params.origin + '}}';
break;
case 'p':
entry.head = '{{navdêr|' + params.lang + '|form=erê}}';
entry.def = '{{pirjimar|' + params.lang + '|' + params.origin + '}}';
break;
case 'plural of':
entry.head = '{{serenav|' + params.lang + '|form=erê}}';
entry.def = '{{pirjimar|' + params.lang + '|' + params.origin + '}}';
break;
default:
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
}
};
// Esperanto
creation_rules['eo'] =
function (params, entry)
{
var template = {
'navkî|y': 'Forma [[navkî]] ya yekjimar ji',
'navkî|p': 'Forma [[navkî]] ya pirjimar ji',
'akûzatîv|y': 'Forma [[akûzatîv]] ya yekjimar ji',
'akûzatîv|p': 'Forma [[akûzatîv]] ya pirjimar ji',
'xwedîtî|y': 'Forma [[xwedîtî|xwedîtiyê]] ya yekjimar ji',
'xwedîtî|p': 'Forma [[xwedîtî|xwedîtiyê]] ya pirjimar ji',
'AX|y': 'Forma [[akûzatîv]] û [[xwedîtî|xwedîtiyê]] ya yekjimar ji',
'AX|p': 'Forma [[akûzatîv]] û [[xwedîtî|xwedîtiyê]] ya pirjimar ji',
'pêşkerî|niha': 'Forma radera [[pêşkerî]] ya [[dema niha]] ji',
'pêşkerî|borî': 'Forma radera [[pêşkerî]] ya [[dema borî]] ji',
'pêşkerî|bê': 'Forma radera [[pêşkerî]] ya [[dema bê]] ji',
'ptcpA|niha': 'Forma [[partîsîp]]a aktîv ya [[dema niha]] ji',
'ptcpA|borî': 'Forma [[partîsîp]]a aktîv ya [[dema borî]] ji',
'ptcpA|bê': 'Forma [[partîsîp]]a aktîv ya [[dema bê]] ji',
'ptcpP|niha': 'Forma [[partîsîp]]a pasîv ya [[dema niha]] ji',
'ptcpP|borî': 'Forma [[partîsîp]]a pasîv ya [[dema borî]] ji',
'ptcpP|bê': 'Forma [[partîsîp]]a pasîv ya [[dema bê]] ji',
'niha|mercî': 'Forma [[mercî]] ji',
'niha|fermanî': 'Forma [[fermanî]] ji'
};
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{dem2|' + params.lang + '|' + params.origin + '|' + template[params.form] + '}}';
};
// Spanish
creation_rules['es'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine-singular':'feminine singular of',
'feminine-plural': 'feminine plural of'};
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// farisî
creation_rules['fa'] =
function (params, entry)
{
var formparam = {
'comparative': 'komparatîv',
'superlative': 'sûperlatîv',
'pirjimar': 'pirjimar'};
if (!formparam[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{' + formparam[params.form] + '|fa' + '|' + params.origin + (params.origin_transliteration ? ('|tr=' + params.origin_transliteration) : '') + '}}';
};
// Finnish
creation_rules['fi'] =
function (params, entry)
{
var headparam = {};
var formparam = {
'plural-nominative':'case=nominative|pl=plural',
'singular-genitive':'case=genitive|pl=singular',
'plural-genitive':'case=genitive|pl=plural',
'singular-partitive':'case=partitive|pl=singular',
'plural-partitive':'case=partitive|pl=plural',
'singular-inessive':'case=inessive|pl=singular',
'plural-inessive':'case=inessive|pl=plural',
'singular-elative':'case=elative|pl=singular',
'plural-elative':'case=elative|pl=plural',
'singular-illative':'case=illative|pl=singular',
'plural-illative':'case=illative|pl=plural',
'singular-adessive':'case=adessive|pl=singular',
'plural-adessive':'case=adessive|pl=plural',
'singular-ablative':'case=ablative|pl=singular',
'plural-ablative':'case=ablative|pl=plural',
'singular-allative':'case=allative|pl=singular',
'plural-allative':'case=allative|pl=plural',
'singular-essive':'case=essive|pl=singular',
'plural-essive':'case=essive|pl=plural',
'singular-translative':'case=translative|pl=singular',
'plural-translative':'case=translative|pl=plural',
'plural-instructive':'case=instructive|pl=plural',
// 'plural-comitative':'case=comitative|pl=plural', // needs alt forms
'singular-abessive':'case=abessive|pl=singular',
'plural-abessive':'case=abessive|pl=plural'};
if (!formparam[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.head = '{{head|' + params.lang + '|' + (headparam[params.form] || params.pos + ' form') + '}}';
entry.def = '{{fi-form of|' + params.origin + '|' + formparam[params.form] + '}}';
};
// French
creation_rules['fr'] =
function (params, entry)
{
var template = {
'pirjimar':'pirjimar',
'masculine-plural': 'masculine plural of',
'feminine-singular':'feminine singular of',
'feminine-plural': 'feminine plural of'};
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
if (params.pos == 'navdêr' && params.form == 'forma pirjimar')
entry.head = '{{navdêr|' + params.lang + '|form=erê}}';
entry.def = '{{' + template[params.form] + '|' + params.lang + '|' + params.origin + '}}';
};
// Italian
creation_rules['it'] =
function (params, entry)
{
var template = {
'pirjimar':'pirjimar',
'masculine-plural': 'masculine plural of',
'feminine-singular':'feminine singular of',
'feminine-plural': 'feminine plural of'};
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{' + template[params.form] + '|' + params.lang + '|' + params.origin + '}}';
};
// Turkish
creation_rules['tr'] =
function (params, entry)
{
var formparam = {
'definite-plural':'def|p',
'definite-accusative':'def|acc|s',
'plural-definite-accusative':'def|acc|p',
'dative':'dat|s',
'plural-dative':'dat|p',
'locative':'loc|s',
'plural-locative':'loc|p',
'ablative':'abl|s',
'plural-ablative':'abl|p',
'genitive':'def|gen|s',
'plural-genitive':'def|gen|p'};
if (!formparam[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{formeke peyvê|' + params.origin + '||' + formparam[params.form] + '|lang=' + params.lang + '}}';
};
// Others
creation_rules['others'] =
function (params, entry)
{
params.form = params.form.replace(/-/g, ' ');
params.form += '';
entry.def = '{{' + params.form + '|' + params.lang + '|' + params.origin + '}}';
};
// </nowiki>