summaryrefslogtreecommitdiff
path: root/src/ru_RU/ru_RU.dat
blob: 512dc254c4ccd9abab10eb3ec9dbe511942ffb18 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
# Sample proofreading rules for Russian (by Yakov Reztsov 2009, 2011)



# test
\bfoo\b -> bar 		# test
# foo -> bar


# punctuation

" ([.?!,:;)”]($| ))" <- option("space") -> \1	# Лишний пробел перед знаком пунктуации.
"([(“]) " <- option("space") -> \1	         	# Лишний пробел после знака пунктуации.
# ( item ) -> (item)

# definitions
abc [a-zа-я]+
ABC [A-ZА-Я]+
Abc [a-zA-Zа-яА-Я]+
punct [?!,:;%‰‱˚“”‘„]
abbr руб|коп|грн|тыс|ул|кв|пос|ст|пр|просп|ед|экз|тел|исп

novvod авось|буквально|будто|вдобавок|вдруг|ведь|вот|даже|исключительно|именно|небось|приблизительно|примерно|притом|почти|поэтому|просто|решительно|словно|якобы|в довершение|в конечном счете|вряд ли|все-таки|как будто|как бы|как раз|к тому же|между тем|по предложению|по постановлению|по решению

vvod итак|следовательно|во-первых|во-вторых|в-третьих|в-четвертых|в-пятых|пожалуйста|как нарочно|как исключение|как правило

adv1 кто|что|где|зачем|кое


{Abc}{punct}{Abc} <- option("space") -> {Abc}{punct} {Abc}	# Пропущен пробел?
{abc}[.]{ABC} <- option("space") -> {abc}. {ABC}		# Пропущен пробел?
# missing,space -> missing, space
# missing.Space -> missing. Space


# typography
"[.]{3}" <- option("typographica") -> "…"			# Символ троеточия.
(\d+)x(\d+) <- option("typographica") -> \1×\2 		# Знак умножения.
"^[-—] " <- option("typographica") -> "– "		# Заменить на тире (n-dash)?
" [-—]([ ,;])" <- option("typographica") -> " –\1"	# Заменить на тире (n-dash)?

# 800x600 -> 800×600
# End... -> End…
# A small - but reliable - example. -> A small – but reliable – example.

"[,]{2}" <- option("comma") -> ","         	# Две запятые подряд.
[ ]{abbr}[ ] <- option("abbreviation") -> " {abbr}. "         # Точка после сокращений.
(^|\b|{punct}|[.]) {2,3}(\b|$) <- option("space") -> "\1 " # Лишний пробел.
# Extra  space -> Extra space
# " мм " -> " мм. "

# quotation

\"(\w[^\"“”]*[\w.?!,])\" <- option("quotation") -> «\1»\n„\1”\n“\1”	# Кавычки.
\B'(\w[^']*[\w.?!,])'\B <- option("quotation") -> ‘\1’		# Кавычки.
# "The 'old' boy"  -> „The ‘old’ boy”\n«The ‘old’ boy»\n“The ‘old’ boy”

# apostrophe

w \w*
(?i){Abc}'{w} <- option("quotation") -> {Abc}’{w}	# Апостроф.
# o'clock -> o’clock
# singers' voices -> singers’ voices

# words


# punctuation

{abc}[ ]а[ ] <- option("comma") ->	"{abc}, а "		# Пропущена запятая перед а.
{abc}[ ]но[ ] <- option("comma") ->	"{abc}, но "		# Пропущена запятая перед но.


# nopunctuation

"{abc}, {novvod}," <- option("comma") -> "{abc} {novvod}"	# Слова, не являющиеся вводными.
# думали, авось, ->  думали авось



# vvodpunctuation

{abc} {vvod}   <- option("comma") -> {abc}, {vvod},  	# Слова, являющиеся вводными, выделяются запятыми.
# дому следовательно   ->  дому, следовательно, 



# frequent mistakes

\bложить\b <- option("common") ->  класть		# Общие ошибки
\bляжь\b <- option("common") -> ляг		# Общие ошибки
\bехай\b <- option("common") -> поезжай		# Общие ошибки

\bихн{abc}\b <- option("common") -> их	# Притяжательное местоимение не склоняется




# common rules
жы   <- option("common") -> жи  	# Через "и"
шы   <- option("common") -> ши  	# Через "и"

# жыр   ->  жир 



# multiword expressions


\bнорд ост\b <- option("hyphen") -> норд-ост\nнордост # Дефис?
# норд ост -> норд-ост\nнордост # Suggestions separated by new lines (\n)

\bнорд вест\b <- option("hyphen") -> норд-вест\nнордвест # Дефис?
# норд вест -> норд-вест\nнордвест # Suggestions separated by new lines (\n)

\bсеверо западн{abc}\b <- option("hyphen") -> северо-западн{abc}\nсеверозападн{abc} # Дефис?
# северо западный -> северо-западный\nсеверозападный # Suggestions separated by new lines (\n)


\bюго западн{abc}\b <- option("hyphen") -> юго-западн{abc}\nюгозападн{abc} # Дефис?
# юго западный -> юго-западный\nюгозападный # Suggestions separated by new lines (\n)

\bсеверо восточн{abc}\b <- option("hyphen") -> северо-восточн{abc}\nсеверовосточн{abc} # Дефис?
# северо восточный -> северо-восточный\nсеверовосточный # Suggestions separated by new lines (\n)

\bюго восточн{abc}\b <- option("hyphen") -> юго-восточн{abc}\nюговосточн{abc} # Дефис?
# юго восточный -> юго-восточный\nюговосточный # Suggestions separated by new lines (\n)


\b{adv1} нибудь\b <- option("hyphen") -> {adv1}-нибудь # Дефис?
# что нибудь -> что-нибудь # Suggestions separated by new lines (\n)

\b{adv1} либо\b <- option("hyphen") -> {adv1}-либо # Дефис?
# что либо -> что-либо # Suggestions separated by new lines (\n)

\b{adv1} то\b <- option("hyphen") -> {adv1}-то # Дефис?
# кто то -> кто-то # Suggestions separated by new lines (\n)

\bточь в точь\b <- option("hyphen") -> точь-в-точь # Дефис?
# точь в точь -> точь-в-точь # Suggestions separated by new lines (\n)

\bиз за\b <- option("hyphen") -> из-за # Дефис?
# из за -> из-за # Suggestions separated by new lines (\n)

\bвсё таки\b <- option("hyphen") -> всё-таки # Дефис?
# всё таки -> всё-таки # Suggestions separated by new lines (\n)

\bкое кто\b <- option("hyphen") -> кое-кто # Дефис?
# кое кто -> кое-кто # Suggestions separated by new lines (\n)

\bкое что\b <- option("hyphen") -> кое-что # Дефис?
# кое что ->  кое-что # Suggestions separated by new lines (\n)

\bво что бы то нe стало\b <- option("multiword") -> во что бы то ни стало # Имелось ввиду:
\bво чтобы то нe стало\b <- option("multiword") -> во что бы то ни стало # Имелось ввиду:
\bво чтобы то ни стало\b <- option("multiword") -> во что бы то ни стало # Имелось ввиду:


\bтакже как и\b <- option("multiword") -> так же как и # Сложный союз.

\bво избежании\b<- option("multiword") -> во избежание # Сложный предлог.

\bравноправны друг другу\b<- option("multiword") -> равноправны друг c другом # Равноправны друг c другом.

\bни кто иной как\b<- option("multiword") -> не кто иной, как # Оборот.
\bни что иное как\b<- option("multiword") -> не что иное, как # Оборот.
\bне кто иной как\b<- option("multiword") -> не кто иной, как # Оборот.
\bне что иное как\b<- option("multiword") -> не что иное, как # Оборот.



\bникто иной, не\b<- option("multiword") -> никто иной не # Оборот.
\bничто иное, не\b<- option("multiword") -> ничто иное не # Оборот.

\bнекто иной, не\b<- option("multiword") -> никто иной не # Оборот.
\bнечто иное, не\b<- option("multiword") -> ничто иное не # Оборот.


\bнекто иной не\b<- option("multiword") -> никто иной не # Оборот.
\bнечто иное не\b<- option("multiword") -> ничто иное не # Оборот.


\bне кто иной, не\b<- option("multiword") -> никто иной не # Оборот.
\bне что иное, не\b<- option("multiword") -> ничто иное не # Оборот.


\bне кто иной не\b<- option("multiword") -> никто иной не # Оборот.
\bне что иное не\b<- option("multiword") -> ничто иное не # Оборот.


\bникто иной, не\b<- option("multiword") -> никто иной не # Оборот.
\bничто иное, не\b<- option("multiword") -> ничто иное не # Оборот.

\bни кто иной, не\b<- option("multiword") -> никто иной не # Оборот.
\bни что иное, не\b<- option("multiword") -> ничто иное не # Оборот.



\bкакбудто<- option("together") -> как будто # Составная частица

\bпо мимо\b <- option("together") -> помимо # Пишется слитно



\bна кануне\b<- option("together") -> накануне # Слитно
\bна подобие\b<- option("together") -> наподобие # Слитно
\bна против\b<- option("together") -> напротив # Слитно
\bв низу\b<- option("together") -> внизу # Слитно
\bс низу\b<- option("together") -> снизу # Слитно
\bна верху\b<- option("together") -> наверху # Слитно
\bв верху\b<- option("together") -> вверху # Слитно
\bс верху\b<- option("together") -> сверху # Слитно
\bс верх\b<- option("together") -> сверх # Слитно
\bс выше\b<- option("together") -> свыше # Слитно
\bсо гласно\b<- option("together") -> согласно # Слитно
\bв глубь\b<- option("together") -> вглубь # Слитно
\bв доль\b<- option("together") -> вдоль # Слитно
\bв замен\b<- option("together") -> взамен # Слитно

# formats

# Thousand separators: 10000 -> 10,000  (common) or 10 000 (ISO standard)

# definitions
d	\d\d\d		# name definition: 3 digits
d2	\d\d		# 2 digits
D	\d|\d\d|\d\d\d	# 1, 2 or 3 digits

# ISO thousand separatos: space, here: no-break space (U+00A0)
\b{d2}{d}\b 	  <- option("numsep") ->	 {d2} {d}			# Добавить разделитель разрядов (ISO)?
\b{D}{d}{d}\b 	  <- option("numsep") ->	 {D} {d} {d}                 # Добавить разделитель разрядов (ISO)?
\b{D}{d}{d}{d}\b  <- option("numsep") ->	 {D} {d} {d} {d}             # Добавить разделитель разрядов (ISO)?
# 1234567890 -> 1 234 567 890


# word duplication

[Word]

W [-\w]{3,}

# within clauses

{W}(?: [-–\w“”]+)* \1 <- option("dup") -> {W} # Повтор слова?

# within sentences

{W}[;,:]?(?: [-–\w“”]+[;,:]?)* \1 <- option("dup2") -> {W} # Повтор слова?