Browse Source

Расширены правила

master
Maxim Lihachev 9 years ago
parent
commit
464d14f4bd
  1. 34
      js/feminitives.js

34
js/feminitives.js

@ -40,7 +40,7 @@ function show_help() {
var HTML = { var HTML = {
container: "", container: "",
_select: function(element) { return document.getElementById(this.container + "-" + element); }, _select: function(element) { return document.getElementById(this.container + "-" + element); },
input: function() { return this._select("word"); }, input: function() { return this._select("word").toLowerCase(); },
dict: function() { return this._select("dict"); }, dict: function() { return this._select("dict"); },
content: function() { return this._select("content"); }, content: function() { return this._select("content"); },
full: function() { return this._select("full"); }, full: function() { return this._select("full"); },
@ -61,10 +61,12 @@ FEM.endings = {
'иня' : [ 'иня' : [
['[аео]р', 0], ['[аео]р', 0],
['[ои]к', 0], ['[ои]к', 0],
['со', 1], //колесо -> колесиня
['ог', 0], //биолог -> биологиня ['ог', 0], //биолог -> биологиня
['рг', 0], ['рг', 0],
['ач', 0], //врач -> врачиня ['ач', 0], //врач -> врачиня
['ст', 0], //специалист -> специалистиня ['ст', 0], //специалист -> специалистиня
['од', 0], //метод -> методиня
['ец', 2] //канадец -> канадиня ['ец', 2] //канадец -> канадиня
], ],
'киня' : [ 'киня' : [
@ -82,6 +84,7 @@ FEM.endings = {
['ач', 0], //врач -> врачесса ['ач', 0], //врач -> врачесса
['ый', 2], //учёный -> учёнесса ['ый', 2], //учёный -> учёнесса
['ст', 0], //специалист -> специалистесса ['ст', 0], //специалист -> специалистесса
['од', 0], //метод -> методесса
['ец', 2] //канадец -> канадесса ['ец', 2] //канадец -> канадесса
], ],
'ица' : [ 'ица' : [
@ -93,7 +96,8 @@ FEM.endings = {
['ив', 0], ['ив', 0],
['рг', 0], ['рг', 0],
['ач', 0], //врач -> врачица ['ач', 0], //врач -> врачица
['ст', 2], //специалист -> специалица ['ст', 3], //специалист -> специалица
['од', 0], //метод -> методица
['ец', 2] //канадец -> канадица ['ец', 2] //канадец -> канадица
], ],
'ница' : [ 'ница' : [
@ -101,7 +105,7 @@ FEM.endings = {
['ец', 2] //канадец -> канадница ['ец', 2] //канадец -> канадница
], ],
'ая' : [ 'ая' : [
['[ыи]й', 2], //учёный -> учёная, знающий -> знающая ['[ыио]й', 2], //учёный -> учёная, знающий -> знающая
], ],
//----- ДАЛЬШЕ ИДЁТ ШИЗА ----- //----- ДАЛЬШЕ ИДЁТ ШИЗА -----
'ии' : [ 'ии' : [
@ -120,18 +124,25 @@ FEM.endings = {
['ти', 2] //области -> облас_ти ['ти', 2] //области -> облас_ти
], ],
'ю' : [ 'ю' : [
['ью', 2] //матерью -> матерь_ю ['ью', 1] //матерью -> матерь_ю
], ],
}; };
//Слова со специфичными определениями
FEM.exeptions = {
'феминист' : [['профеминист', 'союзник'], "Мифическое создание, якобы поддерживающее феминизм."]
}
//Слова для замены //Слова для замены
FEM.words = { FEM.words = {
'тот' : 'т_а', 'тот' : 'т_а',
'того' : 'т_у', 'того' : 'т_у',
'кто' : 'котор_ая', 'кто' : 'котор_ая',
'её' : 'е_ё', 'её' : 'е_ё',
'ее' : 'е_е', 'ее' : 'е_е',
'ий' : 'ая' 'ий' : 'ая',
'человек' : 'человека',
'муж' : 'жен'
}; };
FEM.words.convert = function(string) { FEM.words.convert = function(string) {
@ -226,11 +237,12 @@ function get_wiktionary(term) {
definition = wiki[line+1] definition = wiki[line+1]
.replace(/^# ?/, "") //# дефиниция .replace(/^# ?/, "") //# дефиниция
.replace(/\[{2}([^\]\|]*)\]{2}/g, "$1") //[[1]] .replace(/\[{2}([^\]\|]*)\]{2}/g, "$1") //[[1]]
.replace(/\[{2}[^\|]*\|([^\]]*)\]{2}/, "$1") //[[1|2]] .replace(/\[{2}[^\|]*\|([^\]]*)\]{2}/g, "$1") //[[1|2]]
.replace(/\[{2}([^\]\|]*)\}{2}/g, "$1") //{{1}} .replace(/\[{2}([^\]\|]*)\}{2}/g, "$1") //{{1}}
.replace(/\{{2}[^\{\}]*\}{2} ?/g, "") //{{1|2}} .replace(/\{{2}[^\{\}]*\}{2} ?/g, "") //{{1|2}}
.replace(/\{{2}[^\{\}]*\}{2} ?/g, "") //~ : возможна вложенность .replace(/\{{2}[^\{\}]*\}{2} ?/g, "") //~ : возможна вложенность
.replace(/\[[0-9]{1,}\]/g, "") //ссылки [n] .replace(/\[[0-9]{1,}\]/g, "") //ссылки [n]
.replace(/^ *, */g, "") //^, ...
.replace(/ ?$/,".") //Точка в конце предложения .replace(/ ?$/,".") //Точка в конце предложения
break; break;
} }

Loading…
Cancel
Save