czech_declensions 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Rakefile +1 -0
- data/czech_declensions.gemspec +24 -0
- data/lib/czech_declensions/version.rb +3 -0
- data/lib/czech_declensions.rb +885 -0
- data/readme.md +37 -0
- metadata +52 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "czech_declensions/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "czech_declensions"
|
7
|
+
s.version = CzechDeclensions::VERSION
|
8
|
+
s.authors = ["Dominik Formánek"]
|
9
|
+
s.email = ["dominik.formanek@gmail.com"]
|
10
|
+
s.homepage = ""
|
11
|
+
s.summary = %q{Czech declensions}
|
12
|
+
s.description = %q{Tool for czech declensions}
|
13
|
+
|
14
|
+
s.rubyforge_project = "czech_declensions"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
# specify any dependencies here; for example:
|
22
|
+
# s.add_development_dependency "rspec"
|
23
|
+
# s.add_runtime_dependency "rest-client"
|
24
|
+
end
|
@@ -0,0 +1,885 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require "czech_declensions/version"
|
3
|
+
|
4
|
+
module CzechDeclensions
|
5
|
+
|
6
|
+
def self.initialize
|
7
|
+
@vzor = []
|
8
|
+
@isdbgmode = false
|
9
|
+
#
|
10
|
+
# Přídavná jména a zájmena
|
11
|
+
#
|
12
|
+
@vzor << [ "m","-ký","kého","kému","ký/kého","ký","kém","kým", "-ké/-cí","kých","kým","ké","-ké/-cí","kých","kými" ]
|
13
|
+
@vzor << [ "m","-rý","rého","rému","rý/rého","rý","rém","rým", "-ré/-ří","rých","rým","ré","-ré/-ří","rých","rými" ]
|
14
|
+
@vzor << [ "m","-chý","chého","chému","chý/chého","chý","chém","chým", "-ché/-ší","chých","chým","ché","-ché/-ší","chých","chými" ]
|
15
|
+
@vzor << [ "m","-hý","hého","hému","hý/hého","hý","hém","hým", "-hé/-zí","hých","hým","hé","-hé/-zí","hých","hými" ]
|
16
|
+
@vzor << [ "m","-ý","ého","ému","ý/ého","ý","ém","ým", "-é/-í","ých","ým","é","-é/-í","ých","ými" ]
|
17
|
+
@vzor << [ "m","-[aeěií]cí","0cího","0címu","0cí/0cího","0cí","0cím","0cím", "0cí","0cích","0cím","0cí","0cí","0cích","0cími" ]
|
18
|
+
@vzor << [ "ž","-[aeěií]cí","0cí","0cí","0cí","0cí","0cí","0cí", "0cí","0cích","0cím","0cí","0cí","0cích","0cími" ]
|
19
|
+
@vzor << [ "s","-[aeěií]cí","0cího","0címu","0cí/0cího","0cí","0cím","0cím", "0cí","0cích","0cím","0cí","0cí","0cích","0cími" ]
|
20
|
+
@vzor << [ "m","-[bcčdhklmnprsštvzž]ní","0ního","0nímu","0ní/0ního","0ní","0ním","0ním", "0ní","0ních","0ním","0ní","0ní","0ních","0ními" ]
|
21
|
+
@vzor << [ "ž","-[bcčdhklmnprsštvzž]ní","0ní","0ní","0ní","0ní","0ní","0ní", "0ní","0ních","0ním","0ní","0ní","0ních","0ními" ]
|
22
|
+
@vzor << [ "s","-[bcčdhklmnprsštvzž]ní","0ního","0nímu","0ní/0ního","0ní","0ním","0ním", "0ní","0ních","0ním","0ní","0ní","0ních","0ními" ]
|
23
|
+
|
24
|
+
@vzor << [ "m","-[i]tel","0tele","0teli","0tele","0tel","0teli","0telem", "0telé","0telů","0telům","0tele","0telé","0telích","0teli" ]
|
25
|
+
@vzor << [ "m","-[í]tel","0tele","0teli","0tele","0tel","0teli","0telem", "átelé","áteli","átelům","átele","átelé","átelích","áteli" ]
|
26
|
+
|
27
|
+
|
28
|
+
@vzor << [ "s","-é","ého","ému","é","é","ém","ým", "-á","ých","ým","á","á","ých","ými" ]
|
29
|
+
@vzor << [ "ž","-á","é","é","ou","á","é","ou", "-é","ých","ým","é","é","ých","ými" ]
|
30
|
+
@vzor << [ "-","já","mne","mně","mne/mě","já","mně","mnou", "my","nás","nám","nás","my","nás","námi" ]
|
31
|
+
@vzor << [ "-","ty","tebe","tobě","tě/tebe","ty","tobě","tebou", "vy","vás","vám","vás","vy","vás","vámi" ]
|
32
|
+
@vzor << [ "-","my","","","","","","", "my","nás","nám","nás","my","nás","námi" ]
|
33
|
+
@vzor << [ "-","vy","","","","","","", "vy","vás","vám","vás","vy","vás","vámi" ]
|
34
|
+
@vzor << [ "m","on","něho","mu/jemu/němu","ho/jej","on","něm","ním", "oni","nich","nim","je","oni","nich","jimi/nimi" ]
|
35
|
+
@vzor << [ "m","oni","","","","","","", "oni","nich","nim","je","oni","nich","jimi/nimi" ]
|
36
|
+
@vzor << [ "ž","ony","","","","","","", "ony","nich","nim","je","ony","nich","jimi/nimi" ]
|
37
|
+
@vzor << [ "s","ono","něho","mu/jemu/němu","ho/jej","ono","něm","ním", "ona","nich","nim","je","ony","nich","jimi/nimi" ]
|
38
|
+
@vzor << [ "ž","ona","ní","ní","ji","ona","ní","ní", "ony","nich","nim","je","ony","nich","jimi/nimi" ]
|
39
|
+
@vzor << [ "m","ten","toho","tomu","toho","ten","tom","tím", "ti","těch","těm","ty","ti","těch","těmi" ]
|
40
|
+
@vzor << [ "ž","ta","té","té","tu","ta","té","tou", "ty","těch","těm","ty","ty","těch","těmi" ]
|
41
|
+
@vzor << [ "s","to","toho","tomu","toho","to","tom","tím", "ta","těch","těm","ta","ta","těch","těmi" ]
|
42
|
+
|
43
|
+
# přivlastňovací zájmena
|
44
|
+
@vzor << [ "m","můj", "mého", "mému", "mého", "můj", "mém", "mým", "mí", "mých","mým","mé","mí","mých","mými" ]
|
45
|
+
@vzor << [ "ž","má", "mé", "mé", "mou", "má", "mé", "mou", "mé", "mých","mým","mé","mé","mých","mými" ]
|
46
|
+
@vzor << [ "ž","moje","mé", "mé", "mou", "má", "mé", "mou", "mé", "mých","mým","mé","mé","mých","mými" ]
|
47
|
+
@vzor << [ "s","mé", "mého", "mému", "mého", "moje", "mém", "mým", "má", "mých","mým","mé","má","mých","mými" ]
|
48
|
+
@vzor << [ "s","moje","mého", "mému", "mého", "moje", "mém", "mým", "má", "mých","mým","mé","má","mých","mými" ]
|
49
|
+
|
50
|
+
@vzor << [ "m","tvůj", "tvého", "tvému", "tvého", "tvůj", "tvém", "tvým", "tví", "tvých","tvým","tvé","tví","tvých","tvými" ]
|
51
|
+
@vzor << [ "ž","tvá", "tvé", "tvé", "tvou", "tvá", "tvé", "tvou", "tvé", "tvých","tvým","tvé","tvé","tvých","tvými" ]
|
52
|
+
@vzor << [ "ž","tvoje","tvé", "tvé", "tvou", "tvá", "tvé", "tvou", "tvé", "tvých","tvým","tvé","tvé","tvých","tvými" ]
|
53
|
+
@vzor << [ "s","tvé", "tvého", "tvému", "tvého", "tvůj", "tvém", "tvým", "tvá", "tvých","tvým","tvé","tvá","tvých","tvými" ]
|
54
|
+
@vzor << [ "s","tvoje","tvého", "tvému", "tvého", "tvůj", "tvém", "tvým", "tvá", "tvých","tvým","tvé","tvá","tvých","tvými" ]
|
55
|
+
|
56
|
+
@vzor << [ "m","náš", "našeho", "našemu", "našeho", "náš", "našem", "našim", "naši", "našich","našim","naše","naši","našich","našimi" ]
|
57
|
+
@vzor << [ "ž","naše", "naší", "naší", "naši", "naše", "naší", "naší", "naše", "našich","našim","naše","naše","našich","našimi" ]
|
58
|
+
@vzor << [ "s","naše", "našeho", "našemu", "našeho", "naše", "našem", "našim", "naše", "našich","našim","naše","naše","našich","našimi" ]
|
59
|
+
|
60
|
+
@vzor << [ "m","váš", "vašeho", "vašemu", "vašeho", "váš", "vašem", "vašim", "vaši", "vašich","vašim","vaše","vaši","vašich","vašimi" ]
|
61
|
+
@vzor << [ "ž","vaše", "vaší", "vaší", "vaši", "vaše", "vaší", "vaší", "vaše", "vašich","vašim","vaše","vaše","vašich","vašimi" ]
|
62
|
+
@vzor << [ "s","vaše", "vašeho", "vašemu", "vašeho", "vaše", "vašem", "vašim", "vaše", "vašich","vašim","vaše","vaše","vašich","vašimi" ]
|
63
|
+
|
64
|
+
@vzor << [ "m","jeho","jeho","jeho","jeho","jeho","jeho","jeho", "jeho","jeho","jeho","jeho","jeho","jeho","jeho" ]
|
65
|
+
@vzor << [ "ž","jeho","jeho","jeho","jeho","jeho","jeho","jeho", "jeho","jeho","jeho","jeho","jeho","jeho","jeho" ]
|
66
|
+
@vzor << [ "s","jeho","jeho","jeho","jeho","jeho","jeho","jeho", "jeho","jeho","jeho","jeho","jeho","jeho","jeho" ]
|
67
|
+
|
68
|
+
@vzor << [ "m","její", "jejího", "jejímu", "jejího", "její", "jejím", "jejím", "její","jejích","jejím","její","její","jejích","jejími" ]
|
69
|
+
@vzor << [ "s","její", "jejího", "jejímu", "jejího", "její", "jejím", "jejím", "její","jejích","jejím","její","její","jejích","jejími" ]
|
70
|
+
@vzor << [ "ž","její", "její", "její", "její", "její", "její", "její", "její","jejích","jejím","její","její","jejích","jejími" ]
|
71
|
+
|
72
|
+
@vzor << [ "m","jejich","jejich","jejich","jejich","jejich","jejich","jejich", "jejich","jejich","jejich","jejich","jejich","jejich","jejich" ]
|
73
|
+
@vzor << [ "s","jejich","jejich","jejich","jejich","jejich","jejich","jejich", "jejich","jejich","jejich","jejich","jejich","jejich","jejich" ]
|
74
|
+
@vzor << [ "ž","jejich","jejich","jejich","jejich","jejich","jejich","jejich", "jejich","jejich","jejich","jejich","jejich","jejich","jejich" ]
|
75
|
+
|
76
|
+
|
77
|
+
# výjimky (zvl. běžná slova)
|
78
|
+
@vzor << [ "m","-bůh", "boha","bohu","boha","bože","bohovi","bohem","bozi/bohové","bohů","bohům","bohy","bozi/bohové","bozích","bohy" ]
|
79
|
+
@vzor << [ "m","-pan", "pana","panu","pana","pane","panu", "panem","páni/pánové","pánů","pánům","pány","páni/bohové","pánech","pány" ]
|
80
|
+
@vzor << [ "-","-dveře", "","","","","","","dveře","dveří","dveřím","dveře","dveře","dveřích","dveřmi" ]
|
81
|
+
@vzor << [ "m","-vztek", "vzteku","vzteku","vztek","vzteku","vzteku", "vztekem","vzteky","vzteků","vztekům","vzteky","vzteky","vztecích","vzteky" ]
|
82
|
+
@vzor << [ "m","-dotek", "doteku","doteku","dotek","doteku","doteku", "dotekem","doteky","doteků","dotekům","doteky","doteky","dotecích","doteky" ]
|
83
|
+
@vzor << [ "ž","-hra", "hry","hře","hru","hro","hře", "hrou","hry","her","hrám","hry","hry","hrách","hrami" ]
|
84
|
+
|
85
|
+
# číslovky
|
86
|
+
@vzor << [ "-","-tdva", "tidvou", "tidvoum", "tdva", "tdva", "tidvou", "tidvěmi","?","?","?","?","?","?","?" ]
|
87
|
+
@vzor << [ "-","-tdvě", "tidvou", "tidvěma", "tdva", "tdva", "tidvou", "tidvěmi","?","?","?","?","?","?","?" ]
|
88
|
+
@vzor << [ "-","-ttři", "titří", "titřem", "ttři", "ttři", "titřech", "titřemi","?","?","?","?","?","?","?" ]
|
89
|
+
@vzor << [ "-","-tčtyři", "tičtyřech", "tičtyřem","tčtyři","tčtyři","tičtyřech", "tičtyřmi","?","?","?","?","?","?","?" ]
|
90
|
+
@vzor << [ "-","-tpět", "tipěti", "tipěti", "tpět", "tpět", "tipěti", "tipěti","?","?","?","?","?","?","?" ]
|
91
|
+
@vzor << [ "-","-tšest", "tišesti", "tišesti", "tšest", "tšest","tišesti", "tišesti","?","?","?","?","?","?","?" ]
|
92
|
+
@vzor << [ "-","-tsedm", "tisedmi", "tisedmi", "tsedm", "tsedm","tisedmi", "tisedmi","?","?","?","?","?","?","?" ]
|
93
|
+
@vzor << [ "-","-tosm", "tiosmi", "tiosmi", "tosm", "tosm", "tiosmi", "tiosmi","?","?","?","?","?","?","?" ]
|
94
|
+
@vzor << [ "-","-tdevět", "tidevíti", "tidevíti", "tdevět", "tdevět","tidevíti","tidevíti","?","?","?","?","?","?","?" ]
|
95
|
+
|
96
|
+
@vzor << [ "ž","-jedna", "jedné","jedné","jednu","jedno","jedné", "jednou","?","?","?","?","?","?","?" ]
|
97
|
+
@vzor << [ "m","-jeden", "jednoho","jednomu","jednoho","jeden","jednom", "jedním","?","?","?","?","?","?","?" ]
|
98
|
+
@vzor << [ "s","-jedno", "jednoho","jednomu","jednoho","jedno","jednom", "jedním","?","?","?","?","?","?","?" ]
|
99
|
+
@vzor << [ "-","-dva", "dvou","dvoum","dva","dva","dvou", "dvěmi","?","?","?","?","?","?","?" ]
|
100
|
+
@vzor << [ "-","-dvě", "dvou","dvoum","dva","dva","dvou", "dvěmi","?","?","?","?","?","?","?" ]
|
101
|
+
@vzor << [ "-","-tři", "tří","třem","tři","tři","třech", "třemi","?","?","?","?","?","?","?" ]
|
102
|
+
@vzor << [ "-","-čtyři", "čtyřech","čtyřem","čtyři","čtyři","čtyřech", "čtyřmi","?","?","?","?","?","?","?" ]
|
103
|
+
@vzor << [ "-","-pět", "pěti","pěti","pět","pět","pěti", "pěti","?","?","?","?","?","?","?" ]
|
104
|
+
@vzor << [ "-","-šest", "šesti","šesti","šest","šest","šesti", "šesti","?","?","?","?","?","?","?" ]
|
105
|
+
@vzor << [ "-","-sedm", "sedmi","sedmi","sedm","sedm","sedmi", "sedmi","?","?","?","?","?","?","?" ]
|
106
|
+
@vzor << [ "-","-osm", "osmi","osmi","osm","osm","osmi", "osmi","?","?","?","?","?","?","?" ]
|
107
|
+
@vzor << [ "-","-devět", "devíti","devíti","devět","devět","devíti", "devíti","?","?","?","?","?","?","?" ]
|
108
|
+
|
109
|
+
@vzor << [ "-","deset", "deseti","deseti","deset","deset","deseti", "deseti","?","?","?","?","?","?","?" ]
|
110
|
+
@vzor << [ "-","-ná[cs]t","ná0ti","ná0ti","ná0t","náct","ná0ti","ná0ti", "?","?","?","?","?","?","?" ]
|
111
|
+
|
112
|
+
@vzor << [ "-","-dvacet", "dvaceti","dvaceti","dvacet","dvacet","dvaceti", "dvaceti","?","?","?","?","?","?","?" ]
|
113
|
+
@vzor << [ "-","-třicet", "třiceti","třiceti","třicet","třicet","třiceti", "třiceti","?","?","?","?","?","?","?" ]
|
114
|
+
@vzor << [ "-","-čtyřicet", "čtyřiceti","čtyřiceti","čtyřicet","čtyřicet","čtyřiceti", "čtyřiceti","?","?","?","?","?","?","?" ]
|
115
|
+
@vzor << [ "-","-desát", "desáti","desáti","desát","desát","desáti", "desáti","?","?","?","?","?","?","?" ]
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
#
|
120
|
+
# Spec. přídady skloňování(+předseda, srdce jako úplná výjimka)
|
121
|
+
#
|
122
|
+
@vzor << [ "m","-[i]sta", "0sty","0stovi","0stu","0sto","0stovi","0stou", "-0sté","0stů","0stům","0sty","0sté","0stech","0sty" ]
|
123
|
+
@vzor << [ "m","-[o]sta", "0sty","0stovi","0stu","0sto","0stovi","0stou", "-0stové","0stů","0stům","0sty","0sté","0stech","0sty" ]
|
124
|
+
@vzor << [ "m","-předseda", "předsedy","předsedovi","předsedu","předsedo","předsedovi","předsedou", "předsedové","předsedů","předsedům","předsedy","předsedové","předsedech","předsedy" ]
|
125
|
+
@vzor << [ "m","-srdce", "srdce","srdi","sdrce","srdce","srdci","srdcem", "srdce","srdcí","srdcím","srdce","srdce","srdcích","srdcemi" ]
|
126
|
+
@vzor << [ "m","-[db]ce", "0ce","0ci","0ce","0če","0ci","0cem", "0ci/0cové","0ců","0cům","0ce","0ci/0cové","0cích","0ci" ]
|
127
|
+
@vzor << [ "m","-[jň]ev", "0evu", "0evu", "0ev", "0eve", "0evu", "0evem", "-0evy", "0evů","0evům","0evy", "0evy", "0evech", "0evy" ]
|
128
|
+
@vzor << [ "m","-[lř]ev", "0evu/0va", "0evu/0vovi", "0ev/0va", "0eve/0ve", "0evu/0vovi", "0evem/0vem", "-0evy/0vové", "0evů/0vů","0evům/0vům","0evy/0vy", "0evy/0vové", "0evech/0vech", "0evy/0vy" ]
|
129
|
+
|
130
|
+
@vzor << [ "m","-ů[lz]","o0u/o0a","o0u/o0ovi","ů0/o0a","o0e","o0u","o0em", "o-0y/o-0ové","o0ů","o0ům","o0y","o0y/o0ové","o0ech","o0y" ]
|
131
|
+
|
132
|
+
# výj. nůž (vzor muž)
|
133
|
+
@vzor << [ "m","nůž","nože","noži","nůž","noži","noži","nožem", "nože","nožů","nožům","nože","nože","nožích","noži" ]
|
134
|
+
|
135
|
+
|
136
|
+
#
|
137
|
+
# Vzor kolo
|
138
|
+
#
|
139
|
+
@vzor << [ "s","-[bcčdghksštvzž]lo","0la","0lu","0lo","0lo","0lu","0lem", "-0la","0el","0lům","0la","0la","0lech","0ly" ]
|
140
|
+
@vzor << [ "s","-[bcčdnsštvzž]ko","0ka","0ku","0ko","0ko","0ku","0kem", "-0ka","0ek","0kům","0ka","0ka","0cích/0kách","0ky" ]
|
141
|
+
@vzor << [ "s","-[bcčdksštvzž]no","0na","0nu","0no","0no","0nu","0nem", "-0na","0en","0nům","0na","0na","0nech/0nách","0ny" ]
|
142
|
+
@vzor << [ "s","-o","a","u","o","o","u","em", "-a","","ům","a","a","ech","y" ]
|
143
|
+
|
144
|
+
|
145
|
+
#
|
146
|
+
# Vzor stavení
|
147
|
+
#
|
148
|
+
@vzor << [ "s","-í","í","í","í","í","í","ím", "-í","í","ím","í","í","ích","ími" ]
|
149
|
+
#
|
150
|
+
# Vzor děvče (če,dě,tě,ně,pě) výj.-také sele
|
151
|
+
#
|
152
|
+
@vzor << [ "s","-[čďť][e]","10te","10ti","10","10","10ti","10tem", "1-ata","1at","1atům","1ata","1ata","1atech","1aty" ]
|
153
|
+
@vzor << [ "s","-[pb][ě]","10te","10ti","10","10","10ti","10tem", "1-ata","1at","1atům","1ata","1ata","1atech","1aty" ]
|
154
|
+
|
155
|
+
#
|
156
|
+
# Vzor žena
|
157
|
+
#
|
158
|
+
@vzor << [ "ž","-[aeiouyáéíóúý]ka","0ky","0ce","0ku","0ko","0ce","0kou", "-0ky","0k","0kám","0ky","0ky","0kách","0kami" ]
|
159
|
+
@vzor << [ "ž","-ka","ky","ce","ku","ko","ce","kou", "-ky","ek","kám","ky","ky","kách","kami" ]
|
160
|
+
@vzor << [ "ž","-[bdghkmnptvz]ra","0ry","0ře","0ru","0ro","0ře","0rou", "-0ry","0er","0rám","0ry","0ry","0rách","0rami" ]
|
161
|
+
@vzor << [ "ž","-ra","ry","ře","ru","ro","ře","rou", "-ry","r","rám","ry","ry","rách","rami" ]
|
162
|
+
@vzor << [ "ž","-[tdbnvmp]a","0y","0ě","0u","0o","0ě","0ou", "-0y","0","0ám","0y","0y","0ách","0ami" ]
|
163
|
+
@vzor << [ "ž","-cha","chy","še","chu","cho","še","chou", "-chy","ch","chám","chy","chy","chách","chami" ]
|
164
|
+
@vzor << [ "ž","-[gh]a","0y","ze","0u","0o","ze","0ou", "-0y","0","0ám","0y","0y","0ách","0ami" ]
|
165
|
+
@vzor << [ "ž","-ňa","ni","ně","ňou","ňo","ni","ňou", "-ně/ničky","ň","ňám","ně/ničky","ně/ničky","ňách","ňami" ]
|
166
|
+
@vzor << [ "ž","-[šč]a", "0i","0e","0u","0o","0e","0ou", "-0e/0i","0","0ám","0e/0i","0e/0i","0ách","0ami" ]
|
167
|
+
@vzor << [ "ž","-a", "y","e","u","o","e","ou", "-y","","ám","y","y","ách","ami" ]
|
168
|
+
|
169
|
+
# vz. píseň
|
170
|
+
@vzor << [ "ž","-eň","ně","ni","eň","ni","ni","ní", "-ně","ní","ním","ně","ně","ních","němi" ]
|
171
|
+
@vzor << [ "ž","-oň","oně","oni","oň","oni","oni","oní", "-oně","oní","oním","oně","oně","oních","oněmi" ]
|
172
|
+
@vzor << [ "ž","-[ě]j","0je","0ji","0j","0ji","0ji","0jí", "-0je","0jí","0jím","0je","0je","0jích","0jemi" ]
|
173
|
+
|
174
|
+
#
|
175
|
+
# Vzor růže
|
176
|
+
#
|
177
|
+
@vzor << [ "ž","-ev","ve","vi","ev","vi","vi","ví", "-ve","ví","vím","ve","ve","vích","vemi" ]
|
178
|
+
@vzor << [ "ž","-ice", "ice", "ici", "ici", "ice", "ici", "icí", "-ice", "ic", "icím", "ice", "ice", "icích", "icemi" ]
|
179
|
+
@vzor << [ "ž","-e", "e", "i", "i", "e", "i", "í", "-e", "í", "ím", "e", "e", "ích", "emi" ]
|
180
|
+
|
181
|
+
#
|
182
|
+
# Vzor píseň
|
183
|
+
#
|
184
|
+
@vzor << [ "ž","-[eaá][jžň]","10e/10i","10i","10","10i","10i","10í", "-10e/10i","10í","10ím","10e","10e","10ích","10emi" ]
|
185
|
+
@vzor << [ "ž","-[eayo][š]","10e/10i","10i","10","10i","10i","10í", "10e/10i","10í","10ím","10e","10e","10ích","10emi" ]
|
186
|
+
@vzor << [ "ž","-[íy]ň","0ně","0ni","0ň","0ni","0ni","0ní", "-0ně","0ní","0ním","0ně","0ně","0ních","0němi" ]
|
187
|
+
@vzor << [ "ž","-[íyý]ňe","0ně","0ni","0ň","0ni","0ni","0ní", "-0ně","0ní","0ním","0ně","0ně","0ních","0němi" ]
|
188
|
+
@vzor << [ "ž","-[ťďž]","0e","0i","0","0i","0i","0í", "-0e","0í","0ím","0e","0e","0ích","0emi" ]
|
189
|
+
@vzor << [ "ž","-toř","toře","toři","toř","toři","toři","toří", "-toře","toří","tořím","toře","toře","tořích","tořemi" ]
|
190
|
+
|
191
|
+
#
|
192
|
+
# Vzor kost
|
193
|
+
#
|
194
|
+
@vzor << [ "ž","-st","sti","sti","st","sti","sti","stí", "-sti","stí","stem","sti","sti","stech","stmi" ]
|
195
|
+
@vzor << [ "ž","ves","vsi","vsi","ves","vsi","vsi","vsí", "vsi","vsí","vsem","vsi","vsi","vsech","vsemi" ]
|
196
|
+
|
197
|
+
|
198
|
+
#
|
199
|
+
# Vzor Amadeus, Celsius, Kumulus, rektikulum, praktikum
|
200
|
+
#
|
201
|
+
@vzor << [ "m","-[e]us", "0a", "0u/0ovi", "0a", "0e", "0u/0ovi", "0em", "0ové", "0ů", "0ům", "0y", "0ové", "0ích", "0y" ]
|
202
|
+
@vzor << [ "m","-[i]us", "0a", "0u/0ovi", "0a", "0e", "0u/0ovi", "0em", "0ové", "0ů", "0ům", "0usy", "0ové", "0ích", "0usy" ]
|
203
|
+
@vzor << [ "m","-[i]s", "0se", "0su/0sovi", "0se", "0se/0si", "0su/0sovi", "0sem", "0sy/0sové", "0sů", "0sům", "0sy", "0sy/0ové", "0ech", "0sy" ]
|
204
|
+
@vzor << [ "m","výtrus", "výtrusu", "výtrusu", "výtrus", "výtruse", "výtrusu", "výtrusem", "výtrusy", "výtrusů", "výtrusům", "výtrusy", "výtrusy", "výtrusech", "výtrusy" ]
|
205
|
+
@vzor << [ "m","trus", "trusu", "trusu", "trus", "truse", "trusu", "trusem", "trusy", "trusů", "trusům", "trusy", "trusy", "trusech", "trusy" ]
|
206
|
+
@vzor << [ "m","-[aeioumpts][lnmrktp]us", "10u/10a", "10u/10ovi", "10us/10a", "10e", "10u/10ovi", "10em", "10y/10ové", "10ů", "10ům", "10y", "10y/10ové", "10ech", "10y" ]
|
207
|
+
@vzor << [ "s","-[l]um", "0a", "0u", "0um", "0um", "0u", "0em", "0a", "0", "0ům", "0a", "0a", "0ech", "0y" ]
|
208
|
+
@vzor << [ "s","-[k]um", "0a", "0u", "0um", "0um", "0u", "0em", "0a", "0", "0ům", "0a", "0a", "0cích", "0y" ]
|
209
|
+
@vzor << [ "s","-[i]um", "0a", "0u", "0um", "0um", "0u", "0em", "0a", "0í", "0ům", "0a", "0a", "0iích", "0y" ]
|
210
|
+
@vzor << [ "s","-[i]um", "0a", "0u", "0um", "0um", "0u", "0em", "0a", "0ejí", "0ům", "0a", "0a", "0ejích", "0y" ]
|
211
|
+
@vzor << [ "s","-io", "0a", "0u", "0", "0", "0u", "0em", "0a", "0í", "0ům", "0a", "0a", "0iích", "0y" ]
|
212
|
+
|
213
|
+
#
|
214
|
+
# Vzor sedlák
|
215
|
+
#
|
216
|
+
|
217
|
+
@vzor << [ "m","-[aeiouyáéíóúý]r","0ru/0ra","0ru/0rovi","0r/0ra","0re","0ru/0rovi","0rem", "-0ry/-0rové","0rů","0rům","0ry","0ry/0rové", "0rech","0ry" ]
|
218
|
+
# @vzor << [ "m","-[aeiouyáéíóúý]r","0ru/0ra","0ru/0rovi","0r/0ra","0re","0ru/0rovi","0rem", "-0ry/-0ři","0rů","0rům","0ry","0ry/0ři", "0rech","0ry" ]
|
219
|
+
@vzor << [ "m","-r", "ru/ra", "ru/rovi", "r/ra", "ře", "ru/rovi", "rem", "-ry/-rové", "rů","rům","ry", "ry/rové", "rech", "ry" ]
|
220
|
+
# @vzor << [ "m","-r", "ru/ra", "ru/rovi", "r/ra", "ře", "ru/rovi", "rem", "-ry/-ři", "rů","rům","ry", "ry/ři", "rech", "ry" ]
|
221
|
+
@vzor << [ "m","-[bcčdnmprstvz]en","0nu/0na","0nu/0novi","0en/0na","0ne", "0nu/0novi", "0nem", "-0ny/0nové", "0nů","0nům","0ny", "0ny/0nové", "0nech", "0ny" ]
|
222
|
+
@vzor << [ "m","-[dglmnpbtvzs]", "0u/0a", "0u/0ovi", "0/0a", "0e", "0u/0ovi", "0em", "-0y/0ové", "0ů","0ům","0y", "0y/0ové", "0ech", "0y" ]
|
223
|
+
@vzor << [ "m","-[x]", "0u/0e", "0u/0ovi", "0/0e", "0i", "0u/0ovi", "0em", "-0y/0ové", "0ů","0ům","0y", "0y/0ové", "0ech", "0y" ]
|
224
|
+
@vzor << [ "m","sek", "seku/seka","seku/sekovi","sek/seka","seku","seku/sekovi","sekem", "seky/sekové","seků","sekům","seky", "seky/sekové","secích","seky" ]
|
225
|
+
@vzor << [ "m","výsek", "výseku/výseka","výseku/výsekovi","výsek/výseka","výseku","výseku/výsekovi","výsekem", "výseky/výsekové","výseků","výsekům","výseky", "výseky/výsekové","výsecích","výseky" ]
|
226
|
+
@vzor << [ "m","zásek", "záseku/záseka","záseku/zásekovi","zásek/záseka","záseku","záseku/zásekovi","zásekem", "záseky/zásekové","záseků","zásekům","záseky", "záseky/zásekové","zásecích","záseky" ]
|
227
|
+
@vzor << [ "m","průsek", "průseku/průseka","průseku/průsekovi","průsek/průseka","průseku","průseku/průsekovi","průsekem", "průseky/průsekové","průseků","výsekům","průseky", "průseky/průsekové","průsecích","průseky" ]
|
228
|
+
@vzor << [ "m","-[cčšždnňmpbrstvz]ek", "0ku/0ka","0ku/0kovi","0ek/0ka","0ku","0ku/0kovi","0kem", "-0ky/0kové","0ků","0kům","0ky", "0ky/0kové","0cích","0ky" ]
|
229
|
+
@vzor << [ "m","-[k]", "0u/0a", "0u/0ovi", "0/0a", "0u", "0u/0ovi", "0em", "-0y/0ové", "0ů","0ům","0y", "0y/0ové", "cích", "0y" ]
|
230
|
+
@vzor << [ "m","-ch", "chu/cha", "chu/chovi","ch/cha","chu/cha","chu/chovi","chem", "-chy/chové","chů","chům","chy", "chy/chové","ších", "chy" ]
|
231
|
+
@vzor << [ "m","-[h]", "0u/0a", "0u/0ovi", "0/0a", "0u/0a", "0u/0ovi", "0em", "-0y/0ové", "0ů","0ům","0y", "0y/0ové", "zích", "0y" ]
|
232
|
+
@vzor << [ "m","-e[mnz]", "0u/0a", "0u/0ovi", "e0/e0a","0e", "0u/0ovi", "0em", "-0y/0ové", "0ů","0ům","0y", "0y/0ové", "0ech", "0y" ]
|
233
|
+
|
234
|
+
|
235
|
+
#
|
236
|
+
# Vzor muž
|
237
|
+
#
|
238
|
+
@vzor << [ "m","-ec", "ce", "ci/covi", "ec/ce", "če", "ci/covi", "cem", "-ce/cové", "ců", "cům", "ce", "ce/cové", "cích", "ci" ]
|
239
|
+
@vzor << [ "m","-[cčďšňřťž]", "0e", "0i/0ovi", "0e", "0i", "0i/0ovi", "0em", "-0e/0ové", "0ů", "0ům", "0e", "0e/0ové", "0ích", "0i" ]
|
240
|
+
@vzor << [ "m","-oj", "oje", "oji/ojovi", "oj/oje", "oji", "oji/ojovi", "ojem", "-oje/ojové", "ojů", "ojům", "oje", "oje/ojové", "ojích", "oji" ]
|
241
|
+
|
242
|
+
# Vzory pro přetypování rodu
|
243
|
+
@vzor << [ "m","-[gh]a", "0y","0ovi","0u","0o","0ovi","0ou", "0ové", "0ů", "0ům", "0y", "0ové", "zích", "0y" ]
|
244
|
+
@vzor << [ "m","-[k]a", "0y","0ovi","0u","0o","0ovi","0ou", "0ové", "0ů", "0ům", "0y", "0ové", "cích", "0y" ]
|
245
|
+
@vzor << [ "m","-a", "y", "ovi", "u", "o", "ovi", "ou", "ové", "ů", "ům", "y", "ové", "ech", "y" ]
|
246
|
+
|
247
|
+
@vzor << [ "ž","-l", "le", "li", "l", "li", "li", "lí", "le", "lí", "lím", "le", "le", "lích", "lemi" ]
|
248
|
+
@vzor << [ "ž","-í", "í", "í", "í", "í", "í", "í", "í", "ích", "ím", "í", "í", "ích", "ími" ]
|
249
|
+
@vzor << [ "ž","-[jř]", "0e", "0i", "0", "0i", "0i", "0í", "0e", "0í", "0ím", "0e", "0e", "0ích", "0emi" ]
|
250
|
+
@vzor << [ "ž","-[č]", "0i", "0i", "0", "0i", "0i", "0í", "0i", "0í", "0ím", "0i", "0i", "0ích", "0mi" ]
|
251
|
+
@vzor << [ "ž","-[š]", "0i", "0i", "0", "0i", "0i", "0í", "0i", "0í", "0ím", "0i", "0i", "0ích", "0emi" ]
|
252
|
+
|
253
|
+
@vzor << [ "s","-[sljřň]e", "0ete", "0eti", "0e", "0e", "0eti", "0etem", "0ata", "0at", "0atům", "0ata", "0ata", "0atech", "0aty" ]
|
254
|
+
# @vzor << [ "ž","-cí", "cí", "cí", "cí", "cí", "cí", "cí", "cí", "cích", "cím", "cí", "cí", "cích", "cími" ]
|
255
|
+
# čaj, prodej, Ondřej, žokej
|
256
|
+
@vzor << [ "m","-j", "je", "ji", "j", "ji", "ji", "jem", "je/jové", "jů", "jům", "je", "je/jové", "jích", "ji" ]
|
257
|
+
# Josef, Detlef, ... ?
|
258
|
+
@vzor << [ "m","-f", "fa", "fu/fovi", "f/fa", "fe", "fu/fovi", "fem", "fy/fové", "fů", "fům", "fy", "fy/fové", "fech", "fy" ]
|
259
|
+
# zbroj, výzbroj, výstroj, trofej, neteř
|
260
|
+
# jiří, podkoní, ... ?
|
261
|
+
@vzor << [ "m","-í", "ího", "ímu", "ího", "í", "ímu", "ím", "í", "ích", "ím", "í", "í", "ích", "ími" ]
|
262
|
+
# Hugo
|
263
|
+
@vzor << [ "m","-go", "a", "govi", "ga", "ga", "govi", "gem", "gové", "gů", "gům", "gy", "gové", "zích", "gy" ]
|
264
|
+
# Kvido
|
265
|
+
@vzor << [ "m","-o", "a", "ovi", "a", "a", "ovi", "em", "ové", "ů", "ům", "y", "ové", "ech", "y" ]
|
266
|
+
|
267
|
+
|
268
|
+
# doplňky
|
269
|
+
# některá pomnožná jména
|
270
|
+
@vzor << [ "?","-[tp]y", "?", "?", "?", "?", "?", "?", "-0y", "0", "0ům", "0y", "0y", "0ech", "0ami" ]
|
271
|
+
@vzor << [ "?","-[k]y", "?", "?", "?", "?", "?", "?", "-0y", "e0", "0ám", "0y", "0y", "0ách", "0ami" ]
|
272
|
+
|
273
|
+
# Výjimky:
|
274
|
+
# v1 - přehlásky
|
275
|
+
# : důl ... dol, stůl ... stol, nůž ... nož, hůl ... hole, půl ... půle
|
276
|
+
@v1 = []
|
277
|
+
# 1.p náhrada 4.p.
|
278
|
+
#
|
279
|
+
@v1 << [ "osel", "osl", "osla" ]
|
280
|
+
@v1 << [ "karel", "karl", "karla" ]
|
281
|
+
@v1 << [ "Karel", "Karl", "Karla" ]
|
282
|
+
@v1 << [ "pavel", "pavl", "pavla" ]
|
283
|
+
@v1 << [ "Pavel", "Pavl", "Pavla" ]
|
284
|
+
@v1 << [ "Havel", "Havl", "Havla" ]
|
285
|
+
@v1 << [ "havel", "havl", "havla" ]
|
286
|
+
@v1 << [ "Bořek", "Bořk", "Bořka" ]
|
287
|
+
@v1 << [ "bořek", "bořk", "bořka" ]
|
288
|
+
@v1 << [ "Luděk", "Luďk", "Luďka" ]
|
289
|
+
@v1 << [ "luděk", "luďk", "luďka" ]
|
290
|
+
@v1 << [ "pes", "ps", "psa" ]
|
291
|
+
@v1 << [ "pytel", "pytl","pytel" ]
|
292
|
+
@v1 << [ "ocet", "oct", "octa" ]
|
293
|
+
@v1 << [ "chléb", "chleb","chleba" ]
|
294
|
+
@v1 << [ "chleba", "chleb","chleba" ]
|
295
|
+
@v1 << [ "pavel", "pavl", "pavla" ]
|
296
|
+
@v1 << [ "kel", "kl", "kel" ]
|
297
|
+
@v1 << [ "sopel", "sopl", "sopel" ]
|
298
|
+
@v1 << [ "posel", "posl", "posla" ]
|
299
|
+
@v1 << [ "důl", "dol", "důl" ]
|
300
|
+
@v1 << [ "sůl", "sole", "sůl" ]
|
301
|
+
@v1 << [ "vůl", "vol", "vola" ]
|
302
|
+
@v1 << [ "půl", "půle", "půli" ]
|
303
|
+
@v1 << [ "hůl", "hole", "hůl" ]
|
304
|
+
@v1 << [ "stůl", "stol", "stůl" ]
|
305
|
+
@v1 << [ "líh", "lih", "líh" ]
|
306
|
+
@v1 << [ "sníh", "sněh", "sníh" ]
|
307
|
+
@v1 << [ "zář", "záře", "zář" ]
|
308
|
+
@v1 << [ "svatozář", "svatozáře", "svatozář" ]
|
309
|
+
@v1 << [ "kůň", "koň", "koně" ]
|
310
|
+
@v1 << [ "tůň", "tůňe", "tůň" ]
|
311
|
+
# --- !
|
312
|
+
@v1 << [ "prsten", "prstýnek", "prstýnku" ]
|
313
|
+
@v1 << [ "smrt", "smrť", "smrt" ]
|
314
|
+
@v1 << [ "vítr", "větr", "vítr" ]
|
315
|
+
@v1 << [ "stupeň", "stupň", "stupeň" ]
|
316
|
+
@v1 << [ "peň", "pň", "peň" ]
|
317
|
+
@v1 << [ "cyklus", "cykl", "cyklus" ]
|
318
|
+
@v1 << [ "dvůr", "dvor", "dvůr" ]
|
319
|
+
@v1 << [ "zeď", "zď", "zeď" ]
|
320
|
+
@v1 << [ "účet", "účt", "účet" ]
|
321
|
+
@v1 << [ "mráz", "mraz", "mráz" ]
|
322
|
+
@v1 << [ "hnůj", "hnoj", "hnůj" ]
|
323
|
+
@v1 << [ "skrýš", "skrýše", "skrýš" ]
|
324
|
+
@v1 << [ "nehet", "neht", "nehet" ]
|
325
|
+
@v1 << [ "veš", "vš", "veš" ]
|
326
|
+
@v1 << [ "déšť", "dešť", "déšť" ]
|
327
|
+
@v1 << [ "myš", "myše", "myš" ]
|
328
|
+
|
329
|
+
# v10 - zmena rodu na muzsky
|
330
|
+
@v10 = []
|
331
|
+
@v10 << "sleď"
|
332
|
+
@v10 << "saša"
|
333
|
+
@v10 << "Saša"
|
334
|
+
@v10 << "dešť"
|
335
|
+
@v10 << "koň"
|
336
|
+
@v10 << "chlast"
|
337
|
+
@v10 << "plast"
|
338
|
+
@v10 << "termoplast"
|
339
|
+
@v10 << "vězeň"
|
340
|
+
@v10 << "sťežeň"
|
341
|
+
@v10 << "papež"
|
342
|
+
@v10 << "ďeda"
|
343
|
+
@v10 << "zeť"
|
344
|
+
@v10 << "háj"
|
345
|
+
@v10 << "lanýž"
|
346
|
+
@v10 << "sluha"
|
347
|
+
@v10 << "muž"
|
348
|
+
@v10 << "velmož"
|
349
|
+
@v10 << "Maťej"
|
350
|
+
@v10 << "maťej"
|
351
|
+
@v10 << "táta"
|
352
|
+
@v10 << "kolega"
|
353
|
+
@v10 << "mluvka"
|
354
|
+
@v10 << "strejda"
|
355
|
+
@v10 << "polda"
|
356
|
+
@v10 << "moula"
|
357
|
+
@v10 << "šmoula"
|
358
|
+
@v10 << "slouha"
|
359
|
+
@v10 << "drákula"
|
360
|
+
@v10 << "test"
|
361
|
+
@v10 << "rest"
|
362
|
+
@v10 << "trest"
|
363
|
+
@v10 << "arest"
|
364
|
+
@v10 << "azbest"
|
365
|
+
@v10 << "ametyst"
|
366
|
+
@v10 << "chřest"
|
367
|
+
@v10 << "protest"
|
368
|
+
@v10 << "kontest"
|
369
|
+
@v10 << "motorest"
|
370
|
+
@v10 << "most"
|
371
|
+
@v10 << "host"
|
372
|
+
@v10 << "kříž"
|
373
|
+
@v10 << "stupeň"
|
374
|
+
@v10 << "peň"
|
375
|
+
@v10 << "čaj"
|
376
|
+
@v10 << "prodej"
|
377
|
+
@v10 << "výdej"
|
378
|
+
@v10 << "výprodej"
|
379
|
+
@v10 << "ďej"
|
380
|
+
@v10 << "zloďej"
|
381
|
+
@v10 << "žokej"
|
382
|
+
@v10 << "hranostaj"
|
383
|
+
@v10 << "dobroďej"
|
384
|
+
@v10 << "darmoďej"
|
385
|
+
@v10 << "čaroďej"
|
386
|
+
@v10 << "koloďej"
|
387
|
+
@v10 << "sprej"
|
388
|
+
@v10 << "displej"
|
389
|
+
@v10 << "Aleš"
|
390
|
+
@v10 << "aleš"
|
391
|
+
@v10 << "Ambrož"
|
392
|
+
@v10 << "ambrož"
|
393
|
+
@v10 << "Tomáš"
|
394
|
+
@v10 << "Lukáš"
|
395
|
+
@v10 << "Tobiáš"
|
396
|
+
@v10 << "Jiří"
|
397
|
+
@v10 << "tomáš"
|
398
|
+
@v10 << "lukáš"
|
399
|
+
@v10 << "tobiáš"
|
400
|
+
@v10 << "jiří"
|
401
|
+
@v10 << "podkoní"
|
402
|
+
@v10 << "komoří"
|
403
|
+
@v10 << "Jirka"
|
404
|
+
@v10 << "jirka"
|
405
|
+
@v10 << "Ilja"
|
406
|
+
@v10 << "ilja"
|
407
|
+
@v10 << "Pepa"
|
408
|
+
@v10 << "Ondřej"
|
409
|
+
@v10 << "Andrej"
|
410
|
+
# @v10 << "josef"
|
411
|
+
@v10 << "mikuláš"
|
412
|
+
@v10 << "Mikuláš"
|
413
|
+
@v10 << "Mikoláš"
|
414
|
+
@v10 << "mikoláš"
|
415
|
+
@v10 << "Kvido"
|
416
|
+
@v10 << "kvido"
|
417
|
+
@v10 << "Hugo"
|
418
|
+
@v10 << "hugo"
|
419
|
+
@v10 << "Oto"
|
420
|
+
@v10 << "oto"
|
421
|
+
@v10 << "Otto"
|
422
|
+
@v10 << "otto"
|
423
|
+
@v10 << "Alexej"
|
424
|
+
@v10 << "alexej"
|
425
|
+
@v10 << "Ivo"
|
426
|
+
@v10 << "ivo"
|
427
|
+
@v10 << "Bruno"
|
428
|
+
@v10 << "bruno"
|
429
|
+
@v10 << "Alois"
|
430
|
+
@v10 << "alois"
|
431
|
+
@v10 << "bartoloměj"
|
432
|
+
@v10 << "Bartoloměj"
|
433
|
+
|
434
|
+
# v11 - zmena rodu na zensky
|
435
|
+
@v11 = []
|
436
|
+
@v11 << "vš"
|
437
|
+
@v11 << "dešť"
|
438
|
+
@v11 << "zteč"
|
439
|
+
@v11 << "řeč"
|
440
|
+
@v11 << "křeč"
|
441
|
+
@v11 << "kleč"
|
442
|
+
@v11 << "maštal"
|
443
|
+
@v11 << "vš"
|
444
|
+
@v11 << "kancelář"
|
445
|
+
@v11 << "závěj"
|
446
|
+
@v11 << "zvěř"
|
447
|
+
@v11 << "sbeř"
|
448
|
+
@v11 << "neteř"
|
449
|
+
@v11 << "ves"
|
450
|
+
@v11 << "rozkoš"
|
451
|
+
# @v11 << "myša"
|
452
|
+
@v11 << "postel"
|
453
|
+
@v11 << "prdel"
|
454
|
+
@v11 << "koudel"
|
455
|
+
@v11 << "koupel"
|
456
|
+
@v11 << "ocel"
|
457
|
+
@v11 << "digestoř"
|
458
|
+
@v11 << "konzervatoř"
|
459
|
+
@v11 << "oratoř"
|
460
|
+
@v11 << "zbroj"
|
461
|
+
@v11 << "výzbroj"
|
462
|
+
@v11 << "výstroj"
|
463
|
+
@v11 << "trofej"
|
464
|
+
@v11 << "obec"
|
465
|
+
@v11 << "Miriam"
|
466
|
+
@v11 << "miriam"
|
467
|
+
@v11 << "Ester"
|
468
|
+
@v11 << "Dagmar"
|
469
|
+
|
470
|
+
# @v11 << "transmise"
|
471
|
+
|
472
|
+
# v12 - zmena rodu na stredni
|
473
|
+
@v12 = []
|
474
|
+
@v12 << "nemluvňe"
|
475
|
+
@v12 << "slůně"
|
476
|
+
@v12 << "kůzle"
|
477
|
+
@v12 << "sele"
|
478
|
+
@v12 << "osle"
|
479
|
+
@v12 << "zvíře"
|
480
|
+
@v12 << "kuře"
|
481
|
+
@v12 << "tele"
|
482
|
+
@v12 << "prase"
|
483
|
+
@v12 << "house"
|
484
|
+
@v12 << "vejce"
|
485
|
+
|
486
|
+
|
487
|
+
# v0 - nedořešené výjimky
|
488
|
+
@v0 = []
|
489
|
+
# @v0 << "ondřej"
|
490
|
+
# @v0 << "josef"
|
491
|
+
# @v0 << "déšť"
|
492
|
+
@v0 << "moře"
|
493
|
+
@v0 << "Ester"
|
494
|
+
@v0 << "Dagmar"
|
495
|
+
# @v0 << "vejce"
|
496
|
+
@v0 << "housle"
|
497
|
+
@v0 << "šle"
|
498
|
+
@v0 << "ovoce"
|
499
|
+
# @v0 << "sleď"
|
500
|
+
@v0 << "Zeus"
|
501
|
+
# @v0 << "zbroj"
|
502
|
+
# @v0 << "výzbroj"
|
503
|
+
# @v0 << "výstroj"
|
504
|
+
# @v0 << "obec"
|
505
|
+
# @v0 << "konzervatoř"
|
506
|
+
# @v0 << "digestoř"
|
507
|
+
@v0 << "humus"
|
508
|
+
@v0 << "muka"
|
509
|
+
@v0 << "noe"
|
510
|
+
@v0 << "Noe"
|
511
|
+
@v0 << "Miriam"
|
512
|
+
@v0 << "miriam"
|
513
|
+
# Je Nikola ženské nebo mužské jméno??? (podobně Sáva)
|
514
|
+
|
515
|
+
# v3 - různé odchylky ve skloňování
|
516
|
+
# - časem by bylo vhodné opravit
|
517
|
+
@v3 = []
|
518
|
+
@v3 << "jméno"
|
519
|
+
@v3 << "myš"
|
520
|
+
@v3 << "vězeň"
|
521
|
+
@v3 << "sťežeň"
|
522
|
+
@v3 << "oko"
|
523
|
+
@v3 << "sole"
|
524
|
+
@v3 << "šach"
|
525
|
+
@v3 << "veš"
|
526
|
+
@v3 << "myš"
|
527
|
+
@v3 << "klášter"
|
528
|
+
@v3 << "kněz"
|
529
|
+
@v3 << "král"
|
530
|
+
@v3 << "zď"
|
531
|
+
@v3 << "sto"
|
532
|
+
@v3 << "smrt"
|
533
|
+
@v3 << "leden"
|
534
|
+
@v3 << "len"
|
535
|
+
@v3 << "les"
|
536
|
+
@v3 << "únor"
|
537
|
+
@v3 << "březen"
|
538
|
+
@v3 << "duben"
|
539
|
+
@v3 << "květen"
|
540
|
+
@v3 << "červen"
|
541
|
+
@v3 << "srpen"
|
542
|
+
@v3 << "říjen"
|
543
|
+
@v3 << "pantofel"
|
544
|
+
@v3 << "žába"
|
545
|
+
@v3 << "zoja"
|
546
|
+
@v3 << "Zoja"
|
547
|
+
@v3 << "Zoe"
|
548
|
+
@v3 << "zoe"
|
549
|
+
|
550
|
+
@astrtvar = []
|
551
|
+
@prefrod = "0"
|
552
|
+
|
553
|
+
@ncmpreg = 0
|
554
|
+
@acmpreg = ["","","","","","","","","","","",""]
|
555
|
+
|
556
|
+
|
557
|
+
end
|
558
|
+
|
559
|
+
def self.sklonovani(slovo,pad)
|
560
|
+
initialize
|
561
|
+
on_sklonuj(slovo)
|
562
|
+
#puts @astrtvar.inspect
|
563
|
+
return @astrtvar[pad]
|
564
|
+
end
|
565
|
+
|
566
|
+
def self.on_sklonuj(vstup)
|
567
|
+
slova = vstup.split(" ")
|
568
|
+
@prefrod = "0"
|
569
|
+
slova.reverse.each do |slovo|
|
570
|
+
# vysklonovani
|
571
|
+
CzechDeclensions.skl2(slovo)
|
572
|
+
# vynuceni rodu podle posledniho slova
|
573
|
+
@prefrod = @astrtvar[0][0] if slovo == slova.first
|
574
|
+
# pokud nenajdeme vzor tak nesklonujeme
|
575
|
+
if slovo != slova.first && @astrtvar[0][0] == '?' && @prefrod[0] != '?'
|
576
|
+
for j in 1..14 do
|
577
|
+
@astrtvar[j] = slovo
|
578
|
+
end
|
579
|
+
end
|
580
|
+
end
|
581
|
+
end
|
582
|
+
|
583
|
+
def self.isshoda(vz,txt)
|
584
|
+
txt = txt.mb_chars.downcase
|
585
|
+
vz = vz.mb_chars.downcase
|
586
|
+
i = vz.mb_chars.length
|
587
|
+
j = txt.mb_chars.length
|
588
|
+
|
589
|
+
if i == 0 || j == 0
|
590
|
+
return -1
|
591
|
+
end
|
592
|
+
i -= 1
|
593
|
+
j -= 1
|
594
|
+
|
595
|
+
@ncmpreg = 0
|
596
|
+
|
597
|
+
while i >= 0 && j >= 0 do
|
598
|
+
if vz[i] == "]"
|
599
|
+
i -= 1
|
600
|
+
quit = 1
|
601
|
+
while i >= 0 && vz[i] != "[" do
|
602
|
+
if vz[i] == txt[j]
|
603
|
+
quit = 0
|
604
|
+
@acmpreg[@ncmpreg] = vz[i]
|
605
|
+
@ncmpreg += 1
|
606
|
+
end
|
607
|
+
i -= 1
|
608
|
+
end
|
609
|
+
|
610
|
+
if quit == 1
|
611
|
+
return -1
|
612
|
+
end
|
613
|
+
else
|
614
|
+
if vz[i] == '-'
|
615
|
+
return j + 1
|
616
|
+
end
|
617
|
+
if vz[i] != txt[j]
|
618
|
+
return -1
|
619
|
+
end
|
620
|
+
end
|
621
|
+
|
622
|
+
i -= 1
|
623
|
+
j -= 1
|
624
|
+
end
|
625
|
+
if i < 0 && j < 0
|
626
|
+
return 0
|
627
|
+
end
|
628
|
+
|
629
|
+
if vz[i] == '-'
|
630
|
+
return 0
|
631
|
+
end
|
632
|
+
|
633
|
+
return -1
|
634
|
+
end
|
635
|
+
|
636
|
+
def self.skl2(slovo)
|
637
|
+
|
638
|
+
@astrtvar[0] = "???"
|
639
|
+
for ii in 1..14 do
|
640
|
+
@astrtvar[ii] = ""
|
641
|
+
end
|
642
|
+
|
643
|
+
#flgv1 = ndxv1(slovo) # je ve vyjímkách???
|
644
|
+
flgv1 = @v1.transpose.slice(0).index(slovo)
|
645
|
+
if flgv1.nil?
|
646
|
+
flgv1 = -1
|
647
|
+
else
|
648
|
+
flgv1 = flgv1 / 3
|
649
|
+
end
|
650
|
+
|
651
|
+
if flgv1 >= 0
|
652
|
+
# pokud ano, bereme náhradu
|
653
|
+
slovov1 = slovo
|
654
|
+
slovo = @v1[flgv1][1]
|
655
|
+
end
|
656
|
+
|
657
|
+
# if( ii>=0 )
|
658
|
+
# {
|
659
|
+
# astrTvar[1] = "v1: " + ii;
|
660
|
+
# SklV1( slovo, ii );
|
661
|
+
# return SklFmt( astrTvar );
|
662
|
+
# return 0;
|
663
|
+
# }
|
664
|
+
|
665
|
+
slovo = xedeten(slovo)
|
666
|
+
|
667
|
+
vndx = 0
|
668
|
+
|
669
|
+
# Pretypovani rodu?
|
670
|
+
if !@v10.index(slovo).nil?
|
671
|
+
@prefrod = "m"
|
672
|
+
elsif !@v11.index(slovo).nil?
|
673
|
+
@prefrod = "ž"
|
674
|
+
elsif !@v12.index(slovo).nil?
|
675
|
+
@prefrod = "s"
|
676
|
+
end
|
677
|
+
|
678
|
+
# Nalezeni vzoru
|
679
|
+
ii = stdndx(slovo)
|
680
|
+
|
681
|
+
if ii< 0
|
682
|
+
puts "Chyba: proto toto slovo nebyl nalezen vzor."
|
683
|
+
end
|
684
|
+
|
685
|
+
# Vlastni sklonovani
|
686
|
+
sklstd(slovo,ii)
|
687
|
+
|
688
|
+
if flgv1 >= 0
|
689
|
+
@astrtvar[1] = slovov1 #1.p nechame jak je
|
690
|
+
@astrtvar[4] = @v1[flgv1][2]
|
691
|
+
end
|
692
|
+
end
|
693
|
+
|
694
|
+
def self.xedeten(txt2)
|
695
|
+
xdetenerv = ""
|
696
|
+
for xdetenei in 0...txt2.length-1 do
|
697
|
+
if txt2[xdetenei] == "d" && (txt2[xdetenei + 1] == "ě" || txt2[xdetenei + 1]=="i")
|
698
|
+
xdetenerv += "ď"
|
699
|
+
if txt2[xdetenei + 1] == "ě"
|
700
|
+
xdetenerv += "e"
|
701
|
+
xdetenei += 1
|
702
|
+
end
|
703
|
+
elsif txt2[xdetenei] == "t" && (txt2[xdetenei + 1] == "ě" || txt2[xdetenei + 1]=="i")
|
704
|
+
xdetenerv += "ť"
|
705
|
+
if txt2[xdetenei + 1] == "ě"
|
706
|
+
xdetenerv += "e"
|
707
|
+
xdetenei += 1
|
708
|
+
end
|
709
|
+
elsif txt2[xdetenei] == "n" && (txt2[xdetenei + 1] == "ě" || txt2[xdetenei + 1]=="i")
|
710
|
+
xdetenerv += "ň";
|
711
|
+
if txt2[xdetenei + 1] == "ě"
|
712
|
+
xdetenerv += "e"
|
713
|
+
xdetenei += 1
|
714
|
+
end
|
715
|
+
else
|
716
|
+
xdetenerv += txt2[xdetenei]
|
717
|
+
end
|
718
|
+
end
|
719
|
+
|
720
|
+
xdetenei += 1
|
721
|
+
if xdetenei == txt2.length-1
|
722
|
+
xdetenerv += txt2[xdetenei]
|
723
|
+
end
|
724
|
+
|
725
|
+
return xdetenerv
|
726
|
+
end
|
727
|
+
|
728
|
+
def self.xdetene(txt2)
|
729
|
+
xdetenerv = ""
|
730
|
+
for xdetenei in 0...txt2.length-1 do
|
731
|
+
if txt2[xdetenei] == "ď" && (txt2[xdetenei + 1] == "e" || txt2[xdetenei + 1] == "i" || txt2[xdetenei + 1] == "í")
|
732
|
+
xdetenerv += "d"
|
733
|
+
if txt2[xdetenei + 1] == "e"
|
734
|
+
xdetenerv += "ě"
|
735
|
+
xdetenei += 1
|
736
|
+
end
|
737
|
+
elsif txt2[xdetenei] == "ť" && (txt2[xdetenei + 1] == "e" || txt2[xdetenei + 1] == "i" || txt2[xdetenei + 1] == "í")
|
738
|
+
xdetenerv += "t"
|
739
|
+
if txt2[xdetenei + 1] == "e"
|
740
|
+
xdetenerv += "ě"
|
741
|
+
xdetenei += 1
|
742
|
+
end
|
743
|
+
elsif txt2[xdetenei] == "ň" && (txt2[xdetenei + 1] == "e" || txt2[xdetenei + 1] == "i" || txt2[xdetenei + 1] == "í")
|
744
|
+
xdetenerv += "n"
|
745
|
+
if txt2[xdetenei + 1] == "e"
|
746
|
+
xdetenerv += "ě"
|
747
|
+
xdetenei += 1
|
748
|
+
end
|
749
|
+
else
|
750
|
+
xdetenerv += txt2[xdetenei]
|
751
|
+
end
|
752
|
+
end
|
753
|
+
|
754
|
+
xdetenei += 1
|
755
|
+
if xdetenei == txt2.length - 1
|
756
|
+
xdetenerv += txt2[xdetenei]
|
757
|
+
end
|
758
|
+
|
759
|
+
return xdetenerv
|
760
|
+
end
|
761
|
+
|
762
|
+
def self.stdndx(slovo)
|
763
|
+
for iii in 0...@vzor.length
|
764
|
+
# filtrace rodu
|
765
|
+
if @prefrod[0] != "0" && @prefrod[0] != @vzor[iii][0][0]
|
766
|
+
next
|
767
|
+
end
|
768
|
+
|
769
|
+
if isshoda(@vzor[iii][1],slovo) >= 0
|
770
|
+
break
|
771
|
+
end
|
772
|
+
end
|
773
|
+
|
774
|
+
if iii >= @vzor.length
|
775
|
+
return -1
|
776
|
+
end
|
777
|
+
|
778
|
+
return iii
|
779
|
+
end
|
780
|
+
|
781
|
+
def self.sklstd(slovo,ii)
|
782
|
+
|
783
|
+
if ii < 0 || ii > @vzor.length
|
784
|
+
@astrtvar[0] = "!!!???"
|
785
|
+
end
|
786
|
+
|
787
|
+
# - seznam nedoresenych slov
|
788
|
+
for jj in 0...@v0.length
|
789
|
+
if isshoda(@v0[jj], slovo) >= 0
|
790
|
+
str = "Seznam výjimek [" + jj + "]. "
|
791
|
+
puts str + "Lituji, toto slovo zatím neumím správně vyskloňovat."
|
792
|
+
return
|
793
|
+
end
|
794
|
+
end
|
795
|
+
|
796
|
+
# nastaveni rodu
|
797
|
+
@astrtvar[0] = @vzor[ii][0]
|
798
|
+
|
799
|
+
# vlastni sklonovani
|
800
|
+
for jj in 1...15 do
|
801
|
+
@astrtvar[jj] = sklon(jj,ii,slovo)
|
802
|
+
end
|
803
|
+
|
804
|
+
# - seznam nepresneho sklonovani
|
805
|
+
for jj in 0...@v3.length do
|
806
|
+
if isshoda(@v3[jj], slovo) >= 0
|
807
|
+
puts "Pozor, v některých pádech nemusí být skloňování tohoto slova přesné."
|
808
|
+
return
|
809
|
+
end
|
810
|
+
end
|
811
|
+
end
|
812
|
+
|
813
|
+
def self.sklon(npad,vzndx,txt)
|
814
|
+
if vzndx >= @vzor.length || vzndx < 0
|
815
|
+
return "???"
|
816
|
+
end
|
817
|
+
|
818
|
+
txt3 = xedeten(txt)
|
819
|
+
kndx = isshoda(@vzor[vzndx][1], txt3)
|
820
|
+
if kndx < 0 || npad < 1 || npad > 14 #8-14 je pro plural
|
821
|
+
return "???"
|
822
|
+
end
|
823
|
+
|
824
|
+
if @vzor[vzndx][npad] == "?"
|
825
|
+
return "?"
|
826
|
+
end
|
827
|
+
|
828
|
+
if !@isdbgmode & npad == 1 # 1. pad nemenime
|
829
|
+
rv = xdetene(txt3)
|
830
|
+
else
|
831
|
+
rv = txt3[0...kndx] + '-' + cmpfrm(@vzor[vzndx][npad])
|
832
|
+
end
|
833
|
+
|
834
|
+
if @isdbgmode #preskoceni filtrovani
|
835
|
+
return rv
|
836
|
+
end
|
837
|
+
|
838
|
+
ndx1 = rv.index("-")
|
839
|
+
ndx1 = rv.length if ndx1.nil?
|
840
|
+
|
841
|
+
ndx2 = rv.index("/")
|
842
|
+
ndx2 = rv.length if ndx2.nil?
|
843
|
+
|
844
|
+
zivotne = 1
|
845
|
+
if ndx1 != rv.length && ndx2 != rv.length
|
846
|
+
if zivotne
|
847
|
+
# "text-xxx/yyy" -> "textyyy"
|
848
|
+
rv = rv[0...ndx1] + rv[(ndx2 + 1)..-1]
|
849
|
+
else
|
850
|
+
# "text-xxx/yyy" -> "text-xxx"
|
851
|
+
rv = rv[0...ndx2]
|
852
|
+
end
|
853
|
+
end
|
854
|
+
|
855
|
+
# vypusteni pomocnych znaku
|
856
|
+
txt3 = ""
|
857
|
+
for nnn in 0...rv.length do
|
858
|
+
if !(rv[nnn] == '-' || rv[nnn] == '/')
|
859
|
+
txt3 += rv[nnn]
|
860
|
+
end
|
861
|
+
end
|
862
|
+
|
863
|
+
rv = xdetene(txt3)
|
864
|
+
|
865
|
+
return rv
|
866
|
+
# return LeftStr( kndx, txt ) + vzor[vzndx][nPad];
|
867
|
+
end
|
868
|
+
|
869
|
+
def self.cmpfrm(txt)
|
870
|
+
cmpfrmrv = ""
|
871
|
+
for cmpfrmi in 0...txt.length do
|
872
|
+
if txt[cmpfrmi] == "0"
|
873
|
+
cmpfrmrv += @acmpreg[0]
|
874
|
+
elsif txt[cmpfrmi] == "1"
|
875
|
+
cmpfrmrv += @acmpreg[1]
|
876
|
+
elsif txt[cmpfrmi] == "2"
|
877
|
+
cmpfrmrv += @acmpreg[2]
|
878
|
+
else
|
879
|
+
cmpfrmrv += txt[cmpfrmi]
|
880
|
+
end
|
881
|
+
end
|
882
|
+
return cmpfrmrv
|
883
|
+
end
|
884
|
+
|
885
|
+
end
|
data/readme.md
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
# Czech declensions
|
2
|
+
|
3
|
+
Czech declensions were rewritten from Javascript from original site [pteryx.net](http://pteryx.net/sklonovani.html)
|
4
|
+
by author Pavel Sedlak under LGPL 2.1. Actual version is 0.96b.
|
5
|
+
|
6
|
+
## Installation
|
7
|
+
|
8
|
+
### From Git
|
9
|
+
|
10
|
+
You can check out the latest source from git:
|
11
|
+
|
12
|
+
git clone git://github.com/dominikform/czech_declensions.git
|
13
|
+
|
14
|
+
### From RubyGems
|
15
|
+
|
16
|
+
Installation from RubyGems
|
17
|
+
|
18
|
+
gem install czech_declensions
|
19
|
+
|
20
|
+
Alternatively, add the following to your Gemfile
|
21
|
+
|
22
|
+
gem 'czech_declensions', :git => 'git://github.com/dominikform/czech_declensions.git'
|
23
|
+
|
24
|
+
## Usage
|
25
|
+
|
26
|
+
slovo = sklonovani("moje slovo",2) => "mojeho slova"
|
27
|
+
|
28
|
+
## Contributing
|
29
|
+
|
30
|
+
The source code is hosted at [GitHub](http://github.com/dominikform/czech_declensions), and can be fetched using:
|
31
|
+
|
32
|
+
git clone git://github.com/dominikform/czech_declensions.git
|
33
|
+
|
34
|
+
Please don't touch the CHANGELOG in your pull requests, we'll add the appropriate CHANGELOG entries
|
35
|
+
at release time.
|
36
|
+
|
37
|
+
[![Build Status](https://secure.travis-ci.org/Shopify/active_merchant.png)](http://travis-ci.org/Shopify/active_merchant)
|
metadata
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: czech_declensions
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Dominik Formánek
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-07-27 00:00:00.000000000Z
|
13
|
+
dependencies: []
|
14
|
+
description: Tool for czech declensions
|
15
|
+
email:
|
16
|
+
- dominik.formanek@gmail.com
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- .gitignore
|
22
|
+
- Gemfile
|
23
|
+
- Rakefile
|
24
|
+
- czech_declensions.gemspec
|
25
|
+
- lib/czech_declensions.rb
|
26
|
+
- lib/czech_declensions/version.rb
|
27
|
+
- readme.md
|
28
|
+
homepage: ''
|
29
|
+
licenses: []
|
30
|
+
post_install_message:
|
31
|
+
rdoc_options: []
|
32
|
+
require_paths:
|
33
|
+
- lib
|
34
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
requirements: []
|
47
|
+
rubyforge_project: czech_declensions
|
48
|
+
rubygems_version: 1.8.8
|
49
|
+
signing_key:
|
50
|
+
specification_version: 3
|
51
|
+
summary: Czech declensions
|
52
|
+
test_files: []
|