Browse Source

Добавлен механизм обработки слов-исключений

master
Maxim Lihachev 9 years ago
parent
commit
cb8f221a1c
  1. 53
      js/feminitives.js

53
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").toLowerCase(); }, input: function() { return this._select("word"); },
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"); },
@ -129,10 +129,25 @@ FEM.endings = {
}; };
//Слова со специфичными определениями //Слова со специфичными определениями
FEM.exeptions = { FEM.exceptions = {
'феминист' : [['профеминист', 'союзник'], "Мифическое создание, якобы поддерживающее феминизм."] 'феминист' : [['профеминист', 'союзник'], "Мифическое создание, якобы поддерживающее феминизм."]
} }
//Проверка на исключение
FEM.exceptions.contains = function(word) {
return Object.keys(this).indexOf(word) === -1 ? false : true;
}
//Список значений
FEM.exceptions.feminitives = function(word) {
return [random_word(this[word][0]), this[word][0]];
}
//Дефиниция слова-исключения
FEM.exceptions.definition = function(word) {
return this[word][1];
}
//Слова для замены //Слова для замены
FEM.words = { FEM.words = {
'тот' : 'т_а', 'тот' : 'т_а',
@ -294,27 +309,27 @@ function get_wiktionary(term) {
//Создание и вывод феминитива //Создание и вывод феминитива
function tr(word) { function tr(word) {
//Исходное слово //Исходное слово
var wd = word || HTML.input().value.trim().split(" ")[0]; var wd = word || HTML.input().value.trim().toLowerCase().split(" ")[0];
var feminitives = "";
if (wd) { HTML.dict().innerHTML = "";
HTML.dict().innerHTML = ""; HTML.content().innerHTML = "";
HTML.content().innerHTML = "";
//Вывод дефиниции //Вывод информации
get_wiktionary(wd); if (!wd) {
var feminitives = make_feminitives(wd);
//Вывод информации
HTML.dict().innerHTML = feminitives[1].join(" | ")
|| "Это слово и так прекрасно. Оставим его как есть.";
HTML.content().innerHTML = feminitives[0].replace(/(.)/, s => s.toUpperCase());
//
HTML.input().value = wd;
} else {
show_help(); show_help();
} else if (FEM.exceptions.contains(wd)) {
HTML.full().innerHTML = FEM.exceptions.definition(wd);
feminitives = FEM.exceptions.feminitives(wd);
} else {
get_wiktionary(wd);
feminitives = make_feminitives(wd);
} }
//Вывод информации
HTML.input().value = wd;
HTML.content().innerHTML = feminitives[0].replace(/(.)/, s => s.toUpperCase());
HTML.dict().innerHTML = feminitives[1].join(" | ")
|| "Это слово и так прекрасно. Оставим его как есть.";
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

Loading…
Cancel
Save