User:Jimregan/creationrules.js
Note: You may have to bypass your browser’s cache to see the changes. In addition, after saving a sitewide CSS file such as MediaWiki:Common.css, it will take 5-10 minutes before the changes take effect, even if you clear your cache.
- Mozilla / Firefox / Safari: hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (Command-R on a Macintosh);
- Konqueror and Chrome: click Reload or press F5;
- Opera: clear the cache in Tools → Preferences;
- Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl-F5.
- This script lacks a documentation subpage. Please create it.
- Useful links: root page • root page’s subpages • links • redirects • your own
//<br />
//<nowiki>This prevents the parser from processing the file and generating transclusions and categories for it.
/*
* Language-specific entry generation rules for form-of entries, generated by [[WT:ACCEL]].
*
* 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();
*/
window.creation_rules = {};
// Generate the entry's text
window.get_preload_text = function (params)
{
try
{
if (!creation_rules[params.lang])
return false;
var entry = {
lang_header: '<strong class="error"><span class="scribunto-error" id="mw-scribunto-error-0">Lua error in Module:languages/templates at line 28: The language code "' + params.lang + '" is not valid.</span></strong>',
pronunc: null,
pos_header: params.pos.charAt(0).toUpperCase() + params.pos.substr(1),
head: '{{head|' + params.lang + '|' + params.pos + ' form' + (params.target != params.target_pagename ? '|head=' + params.target : '') + (params.transliteration ? ('|tr=' + params.transliteration) : '') + '}}',
def: null,
declension: null,
conjugation: null };
creation_rules[params.lang](params, entry);
entry_text =
'==' + entry.lang_header + '==' +
(entry.pronunc ? '\n\n===Pronunciation===\n' + entry.pronunc : '') +
'\n\n===' + entry.pos_header + '===' +
'\n' + entry.head +
'\n\n' + '# ' + entry.def +
(entry.declension ? '\n\n====Declension====\n' + entry.declension : '') +
(entry.conjugation ? '\n\n====Conjugation====\n' + entry.conjugation : '');
return entry_text;
}
catch (e)
{
if (e instanceof PreloadTextError)
{
console.log(e.message);
return false;
}
else
{
throw e;
}
}
}
// Afrikaans
creation_rules['af'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'diminutive': 'diminutive of',
'present-participle':'present participle of',
'past-participle':'past participle of'};
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
switch (params.form)
{
case 'plural':
entry.head = '{{head|' + params.lang + '|plural}}';
break;
case 'diminutive':
entry.head = '{{af-noun|s}}';
break;
default:
entry.head = '{{head|' + params.lang + '|' + params.form.replace(/-/g, ' ') + '}}';
}
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Asturian
creation_rules['ast'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine of',
'feminine-plural': 'feminine plural of',
'neuter':'neuter 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 + '}}';
};
// Azeri
creation_rules['az'] =
function (params, entry)
{
var formparam = {
'definite-plural':'definite|p',
'definite-accusative':'definite|acc|s',
'plural-definite-accusative':'definite|acc|p',
'dative':'dat|s',
'plural-dative':'dat|p',
'locative':'loc|s',
'plural-locative':'loc|p',
'ablative':'abl|s',
'plural-ablative':'abl|p',
'genitive':'definite|gen|s',
'plural-genitive':'definite|gen|p'};
if (!formparam[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{inflection of|' + params.origin + '||' + formparam[params.form] + '|lang=' + params.lang + '}}';
}
// Bulgarian
creation_rules['bg'] =
function (params, entry)
{
var formparam = {
'singular-definite':'singular|definite',
'singular-definite-subject':'singular|definite|subject',
'singular-definite-object':'singular|definite|object',
'plural-indefinite': 'plural|indefinite',
'plural-definite': 'plural|definite',
'count': 'count',
'vocative': 'vocative'};
if (!formparam[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{bg-noun form of|' + formparam[params.form] + '|noun=' + params.origin + '}}';
}
// Catalan
creation_rules['ca'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 + '}}';
};
// Mandarin pinyin
creation_rules['cmn'] =
function (params, entry)
{
switch (params.form)
{
case 'pinyin-ts':
entry.pos_header = 'Romanization';
entry.head = '{{cmn-pinyin}}';
entry.def = '{{pinyin reading of|' + params.origin + '}}';
break;
case 'pinyin-t':
entry.pos_header = 'Romanization';
entry.head = '{{cmn-pinyin}}';
// the simplified form is passed through the gender parameter
entry.def = '{{pinyin reading of|' + params.origin + '|' + params.transliteration + '}}';
break;
case 'pinyin-s':
entry.pos_header = 'Romanization';
entry.head = '{{cmn-pinyin}}';
// the traditional form is passed through the gender parameter
entry.def = '{{pinyin reading of|' + params.transliteration + '|' + params.origin + '}}';
break;
default:
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
}
};
// Danish
creation_rules['da'] =
function (params, entry)
{
var template = {
'singular-definite':'singular definite of',
'plural-indefinite': 'plural indefinite of',
'plural-definite': 'plural definite of',
'genitive-singular-indefinite':'genitive singular definite of',
'genitive-singular-definite':'genitive singular definite of',
'genitive-plural-indefinite': 'genitive plural indefinite of',
'genitive-plural-definite': 'genitive plural definite of',
'imperative':'imperative of',
'present':'present tense of',
'past':'past tense of',
'past-participle':'past participle 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 + '}}';
}
// German
creation_rules['de'] =
function (params, entry)
{
entry.def = '{{' + params.form.replace(/-/g, ' ') + ' of|' + params.origin + '|lang=' + params.lang + '}}';
};
// English
creation_rules['en'] =
function (params, entry)
{
switch (params.form)
{
case 'comparative':
entry.head = '{{head|' + params.lang + '|' + params.pos + 'comparative form}}';
entry.def = '{{en-comparative of|' + params.origin + (params.pos != 'adjective' ? '|POS=' + params.pos : '') + '}}';
break;
case 'superlative':
entry.head = '{{head|' + params.lang + '|' + params.pos + 'superlative form}}';
entry.def = '{{en-superlative of|' + params.origin + (params.pos != 'adjective' ? '|POS=' + params.pos : '') + '}}';
break;
case 'third-person-singular':
entry.head = '{{head|' + params.lang + '|verb form}}';
entry.def = '{{en-third-person singular of|' + params.origin + '}}';
break;
case 'present-participle':
entry.head = '{{head|' + params.lang + '|verb form}}';
entry.def = '{{present participle of|' + params.origin + '|lang=' + params.lang + '}}';
break;
case 'simple-past':
entry.head = '{{head|' + params.lang + '|verb form}}';
entry.def = '{{en-simple past of|' + params.origin + '}}';
break;
case 'simple-past-and-participle':
entry.head = '{{head|' + params.lang + '|verb form}}';
entry.def = '{{en-past of|' + params.origin + '}}';
break;
case 'past-participle':
entry.head = '{{head|' + params.lang + '|verb form}}';
entry.def = '{{past participle of|' + params.origin + '|lang=' + params.lang + '}}';
break;
case 'plural':
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{plural of|' + params.origin + '|lang=' + params.lang + '}}';
break;
default:
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
}
};
// Esperanto
creation_rules['eo'] =
function (params, entry)
{
var stem = params.origin.substr(0, params.origin.length - 1);
var ending = params.origin.substr(params.origin.length - 1);
if (ending != 'o' && ending != 'a')
throw new PreloadTextError('The Esperanto word "' + params.origin + '" does not end in -o or -a.');
var formparam = {
'uncountable-accusative':'n|unc=yes',
'plural' :'j' + (params.pos == 'proper noun' ? '-proper' : ''),
'accusative' :'n' + (params.pos == 'proper noun' ? '-properpl' : ''),
'accusative-plural' :'jn' + (params.pos == 'proper noun' ? '-properpl' : '')};
if (!formparam[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
if (params.pos != 'proper noun')
entry.head = '{{eo-head}}';
entry.def = '{{eo-form of|' + stem + '|' + ending + formparam[params.form] + '}}';
};
// Spanish
creation_rules['es'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 + '}}';
};
// Persian
creation_rules['fa'] =
function (params, entry)
{
var formparam = {
'comparative':'c',
'superlative':'s'};
if (!formparam[params.form] || params.pos != 'adjective')
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{fa-adj form of|' + formparam[params.form] + '|' + params.origin + '}}';
};
// French
creation_rules['fr'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Middle French
creation_rules['frm'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Irish
creation_rules['ga'] =
function (params, entry)
{
switch (params.form)
{
case 'plural':
entry.def = '{{plural of|' + params.origin + '|lang=' + params.lang + '}}';
break;
case 'genitive':
entry.def = '{{genitive of|' + params.origin + '|lang=' + params.lang + '}}';
break;
case 'genitive-and-plural':
entry.def =
'{{genitive of|' + params.origin + '|lang=' + params.lang + '}}' +
'\n# {{plural of|' + params.origin + '|lang=' + params.lang + '}}';
break;
default:
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
}
};
// Scottish Gaelic
creation_rules['gd'] =
function (params, entry)
{
switch (params.form)
{
case 'plural':
entry.def = '{{plural of|' + params.origin + '|lang=' + params.lang + '}}';
break;
case 'genitive':
entry.def = '{{genitive of|' + params.origin + '|lang=' + params.lang + '}}';
break;
case 'genitive-and-plural':
entry.def =
'{{genitive of|' + params.origin + '|lang=' + params.lang + '}}' +
'\n# {{plural of|' + params.origin + '|lang=' + params.lang + '}}';
break;
default:
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
}
};
// Galician
creation_rules['gl'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 + '}}';
};
// Manx
creation_rules['gv'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'genitive':'genitive 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 + '}}';
};
// Hebrew
creation_rules['he'] =
function (params, entry)
{
var formparam = {
'plural':'|n=p|s=i',
'construct':'|n=s|s=c',
'plural-construct':'|n=p|s=c'};
if (!formparam[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{he-Form of noun|' + params.origin_pagename + (params.origin != params.origin_pagename ? '|wv=' + params.origin : '') + formparam[params.form] + '}}';
};
// Hungarian
creation_rules['hu'] =
function (params, entry)
{
if (params.form == 'comparative' || params.form == 'superlative')
{
entry.head = '{{head|' + params.lang + '|' + params.pos + ' ' + params.form + ' form}}';
entry.def = '{{' + params.form + ' of' + (params.pos != 'adjective' ? '|POS=' + params.pos : '') + '|' + params.origin + '|lang=' + params.lang + '}}';
}
else
{
var formparam = {
'nominative-singular' : 'nom|s',
'accusative-singular' : 'acc|s',
'dative-singular' : 'dat|s',
'instrumental-singular' : 'ins|s',
'causal-final-singular' : 'cfin|s',
'translative-singular' : 'tran|s',
'terminative-singular' : 'term|s',
'essive-formal-singular' : 'efor|s',
'essive-modal-singular' : 'emod|s',
'inessive-singular' : 'ine|s',
'superessive-singular' : 'sup|s',
'adessive-singular' : 'ade|s',
'illative-singular' : 'ill|s',
'sublative-singular' : 'sub|s',
'allative-singular' : 'all|s',
'elative-singular' : 'ela|s',
'delative-singular' : 'del|s',
'ablative-singular' : 'abl|s',
'nominative-plural' : 'nom|p',
'accusative-plural' : 'acc|p',
'dative-plural' : 'dat|p',
'instrumental-plural' : 'ins|p',
'causal-final-plural' : 'cfin|p',
'translative-plural' : 'tran|p',
'terminative-plural' : 'term|p',
'essive-formal-plural' : 'efor|p',
'essive-modal-plural' : 'emod|p',
'inessive-plural' : 'ine|p',
'superessive-plural' : 'sup|p',
'adessive-plural' : 'ade|p',
'illative-plural' : 'ill|p',
'sublative-plural' : 'sub|p',
'allative-plural' : 'all|p',
'elative-plural' : 'ela|p',
'delative-plural' : 'del|p',
'ablative-plural' : 'abl|p'
};
if (!formparam[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{hu-inflection of' + (params.pos != 'noun' ? '|pos=' + params.pos : '') + '|' + params.origin + '|' + formparam[params.form] + '}}';
}
};
// Ido
creation_rules['io'] =
function (params, entry)
{
var template = {
'plural':'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 + '}}';
};
// Japanese
creation_rules['ja'] =
function (params, entry)
{
switch (params.form)
{
case 'romanized':
entry.pos_header = 'Romanization';
entry.head = '{{ja-romaji}}';
entry.def = '{{ja-romanization of|' + params.origin + '}}';
break;
case 'kana-noun':
entry.pos_header = 'Noun';
entry.head = '{{ja-noun}}';
entry.def = '{{ja-def|' + params.origin + '}} ';
break;
case 'kana-proper-noun':
entry.pos_header = 'Proper noun';
entry.head = '{{ja-pos|proper}}';
entry.def = '{{ja-def|' + params.origin + '}} ';
break;
case 'kana-verb':
entry.pos_header = 'Verb';
entry.head = '{{ja-verb}}';
entry.def = '{{ja-def|' + params.origin + '}} ';
break;
case 'kana-adjective':
entry.pos_header = 'Adjective';
entry.head = '{{ja-adj}}';
entry.def = '{{ja-def|' + params.origin + '}} ';
break;
case 'kana-adverb':
entry.pos_header = 'Adverb';
entry.head = '{{ja-pos|adverb}}';
entry.def = '{{ja-def|' + params.origin + '}} ';
break;
default:
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
}
};
// Kurdish
creation_rules['ku'] =
function (params, entry)
{
var template = {
'comparative':'comparative of',
'superlative':'superlative of'};
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.head = '{{head|' + params.lang + '|' + params.pos + ' ' + params.form + ' form}}';
entry.def = '{{' + template[params.form] + (params.pos != 'adjective' ? '|POS=' + params.pos : '') + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Classical Nahuatl
creation_rules['nci'] =
function (params, entry)
{
var template = {
'plural':'plural of'};
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.head = '{{head|' + params.lang + '|plural' + (params.target != params.target_pagename ? '|head=' + params.target : '') + '}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Dutch
creation_rules['nl'] =
function (params, entry)
{
switch (params.form)
{
case 'plural':
entry.head = '{{head|nl|noun plural form}}';
entry.def = '{{nl-noun form of|pl|' + params.origin + '}}';
break;
case 'diminutive':
entry.head = '{{nl-noun-dim}}';
entry.def = '{{nl-noun form of|dim|' + params.origin + '}}';
break;
default:
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
}
};
// Norwegian
creation_rules['no'] =
function (params, entry)
{
var template = {
'singular-definite':'singular definite of',
'plural-indefinite': 'plural indefinite of',
'plural-definite': 'plural definite of',
'genitive-singular-indefinite':'genitive singular definite of',
'genitive-singular-definite':'genitive singular definite of',
'genitive-plural-indefinite': 'genitive plural indefinite of',
'genitive-plural-definite': 'genitive plural definite of',
'imperative':'imperative of',
'present':'present tense of',
'past':'past tense of',
'past-participle':'past participle 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 + '}}';
}
// Bokmål and Nynorsk
creation_rules['nb'] = creation_rules['no']
creation_rules['nn'] = creation_rules['no']
// Occitan
creation_rules['oc'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Polish
creation_rules['pl'] =
function (params, entry)
{
var template = {
'comparative':'comparative of',
'superlative':'superlative of'};
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.head = '{{head|' + params.lang + '|' + params.pos + ' ' + params.form + ' form}}';
entry.def = '{{' + template[params.form] + (params.pos != 'adjective' ? '|POS=' + params.pos : '') + '|' + params.origin + '|lang=' + params.lang + '}}';
entry.pronunc = '* {{pl-IPA-auto}}';
if (params.pos === 'adjective')
entry.declension = '{{pl-decl-adj-auto}}'
};
// Portuguese
creation_rules['pt'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 + '}}';
};
// Romansch
creation_rules['rm'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Romanian
creation_rules['ro'] =
function (params, entry)
{
var template = {
'plural':'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 + '}}';
};
// Gallo
creation_rules['roa-gal'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Guernésiais
creation_rules['roa-grn'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Jèrriais
creation_rules['roa-jer'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Norman
creation_rules['roa-nor'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Russian
creation_rules['ru'] =
function (params, entry)
{
var template = {
'comparative':'comparative of',
}
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
if (params.pos == 'adverb' && params.form == 'comparative')
entry.head = '{{ru-adv|' + params.target + '}}';
entry.def = '{{' + template[params.form] + (params.pos != 'adjective' ? '|POS=' + params.pos : '') + '|' + params.origin + '|lang=' + params.lang + '}}';
}
// Sicilian
creation_rules['scn'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Slovene
creation_rules['sl'] =
function (params, entry)
{
switch (params.form)
{
case 'comparative':
case 'superlative':
entry.pronunc = '{{rfp|lang=sl}}';
entry.head = '{{sl-' + (params.pos == 'adverb' ? 'adv' : 'adj') + '-' + (params.form == 'comparative' ? 'comp' : 'sup') + '|' + params.target + '}}';
// If there is a comma in the head, assume it has multiple accented variants.
// Add a link with an alternative display form instead.
entry.def =
'{{' + params.form + ' of' +
(params.pos != 'adjective' ? '|POS=' + params.pos : '') +
(params.origin.indexOf(',') != -1 ? '|' + params.origin_pagename : '') +
'|' + params.origin +
'|lang=sl}}';
// If it's an adjective, add a declension table
if (params.pos == 'adjective')
{
var stem = params.target.substr(0, params.target.length - 1);
var ending = params.target.substr(params.target.length - 1);
// Adjective comparatives and superlatives must always end in -i
if (ending != 'i')
throw new PreloadTextError('The Slovene comparative/superlative "' + params.target + '" does not end in -i.');
entry.declension = '{{sl-decl-adj|' + stem + '|def=1}}';
}
break;
default:
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
}
}
// Swedish
creation_rules['sv'] =
function (params, entry)
{
var template = {
'positive/n':'sv-adj-form-abs-indef-n',
'positive/m':'sv-adj-form-abs-def-m',
'positive-definite/':'sv-adj-form-abs-def',
'positive-plural/':'sv-adj-form-abs-pl',
'comparative/':'sv-' + (params.pos == 'adjective' ? 'adj' : 'adv') + '-form-comp',
'superlative-attributive/m':'sv-adj-form-sup-attr-m',
'superlative-attributive-definite/':'sv-adj-form-sup-attr',
'superlative-attributive-plural/':'sv-adj-form-sup-attr-pl',
'superlative-predicative/':'sv-adj-form-sup-pred',
'superlative/':'sv-adv-form-sup'};
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{' + template[params.form + '/' + params.gender] + '|' + params.origin + '}}';
}
// Swahili
creation_rules['sw'] =
function (params, entry)
{
var template = {
'plural':'plural of'};
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Tajik
creation_rules['tg'] =
function (params, entry)
{
var formparam = {
'comparative':'c',
'superlative':'s'};
if (!formparam[params.form] || params.pos != 'adjective')
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{tg-adj form of|' + formparam[params.form] + '|' + params.origin + '}}';
};
// Turkish
creation_rules['tr'] =
function (params, entry)
{
var formparam = {
'definite-plural':'definite|p',
'definite-accusative':'definite|acc|s',
'plural-definite-accusative':'definite|acc|p',
'dative':'dat|s',
'plural-dative':'dat|p',
'locative':'loc|s',
'plural-locative':'loc|p',
'ablative':'abl|s',
'plural-ablative':'abl|p',
'genitive':'definite|gen|s',
'plural-genitive':'definite|gen|p'};
if (!formparam[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
entry.def = '{{inflection of|' + params.origin + '||' + formparam[params.form] + '|lang=' + params.lang + '}}';
}
// Venetian
creation_rules['vec'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Walloon
creation_rules['wa'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'masculine-plural': 'masculine plural of',
'feminine':'feminine 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 == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Vilamovian
creation_rules['wym'] =
function (params, entry)
{
var template = {
'plural':'plural of',
'diminutive':'diminutive of',
'masculine-plural': 'masculine plural of',
'feminine-plural': 'feminine plural of',
'neuter-plural': 'neuter plural of'};
if (!template[params.form])
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
if (params.pos == 'noun' && params.form == 'plural')
entry.head = '{{head|' + params.lang + '|plural}}';
entry.def = '{{' + template[params.form] + '|' + params.origin + '|lang=' + params.lang + '}}';
};
// Yiddish
creation_rules['yi'] =
function (params, entry)
{
switch (params.form)
{
case 'plural':
entry.head = '{{head|' + params.lang + '|plural' + (params.transliteration ? '|tr=' + params.transliteration : '') + '}}';
entry.def = '{{plural of|' + params.origin + '|lang=' + params.lang + '}}';
break;
case 'past-participle':
entry.head = '{{head|' + params.lang + '|past participle' + (params.transliteration ? '|tr=' + params.transliteration : '') + '}}';
entry.def = '{{past participle of|' + params.origin + '|lang=' + params.lang + '}}';
break;
default:
throw new PreloadTextError('No rule for "' + params.form + '" in language "' + params.lang + '".');
}
};
// </nowiki>