update ru translation from the translation project
diff --git a/po/ru.po b/po/ru.po
index ab7f905..f89e387 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -1,46 +1,73 @@
-# ðÅÒÅ×ÏÄ ÓÏÏÂÝÅÎÉÊ flex.
-# Copyright (C) 2002 The Flex Project
-# Dmitry S. Sivachenko <dima@Chg.RU>, 1999, 2000, 2001, 2002.
+# Russian translation for flex.
+# Copyright (C) 2013 The Flex Project (msgids)
+# This file is distributed under the same license as the flex package.
 #
+# Dmitry S. Sivachenko <dima@Chg.RU>, 1999, 2000, 2001, 2002.
+# Yuri Kozlov <yuray@komyakino.ru>, 2014.
 msgid ""
 msgstr ""
-"Project-Id-Version: flex 2.5.19\n"
-"POT-Creation-Date: 2002-09-05 12:07-0400\n"
-"PO-Revision-Date: 2002-09-08 10:54+0400\n"
-"Last-Translator: Dmitry S. Sivachenko <mitya@cavia.pp.ru>\n"
-"Language-Team: Russian <ru@li.org>\n"
+"Project-Id-Version: flex 2.5.38\n"
+"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2014-02-11 16:15-0500\n"
+"PO-Revision-Date: 2014-02-16 10:00+0400\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <gnu@mx.ru>\n"
+"Language: ru\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=koi8-r\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 1.4\n"
 
-#: dfa.c:60
+#: buf.c:78
+msgid "Allocation of buffer to print string failed"
+msgstr "Не удалось выделить буфер для выводимой строки"
+
+#: buf.c:100
+msgid "Allocation of buffer for line directive failed"
+msgstr "Не удалось выделить буфер для строковой директивы"
+
+#: buf.c:177
+msgid "Allocation of buffer for m4 def failed"
+msgstr "Не удалось выделить буфер для m4 def"
+
+#: buf.c:197
+msgid "Allocation of buffer for m4 undef failed"
+msgstr "Не удалось выделить буфер для m4 undef"
+
+#: dfa.c:61
 #, c-format
 msgid "State #%d is non-accepting -\n"
-msgstr "óÏÓÔÏÑÎÉÅ #%d ÎÅÄÏÐÕÓÔÉÍÏ -\n"
+msgstr "Состояние #%d не допускает -\n"
 
-#: dfa.c:123
+#: dfa.c:124
 msgid "dangerous trailing context"
-msgstr "ÏÐÁÓÎÙÊ ÚÁÍÙËÁÀÝÉÊ ËÏÎÔÅËÓÔ"
+msgstr "опасный замыкающий контекст"
 
-#: dfa.c:165
+#: dfa.c:166
+#, c-format
 msgid " associated rule line numbers:"
-msgstr " ÎÏÍÅÒÁ ÓÔÒÏË ÁÓÓÏÃÉÉÒÏ×ÁÎÎÏÇÏ ÐÒÁ×ÉÌÁ:"
+msgstr " номера строк ассоциированного правила:"
 
-#: dfa.c:201
+#: dfa.c:202
+#, c-format
 msgid " out-transitions: "
-msgstr ""
+msgstr " out-переходы: "
 
-#: dfa.c:209
+#: dfa.c:210
+#, c-format
 msgid ""
 "\n"
 " jam-transitions: EOF "
 msgstr ""
+"\n"
+" jam-переходы: EOF "
 
-#: dfa.c:340
+#: dfa.c:341
 msgid "consistency check failed in epsclosure()"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÐÒÏ×ÅÒËÅ ÎÁ ÃÅÌÏÓÔÎÏÓÔØ × epsclosure()"
+msgstr "ошибка при проверке на целостность в epsclosure()"
 
-#: dfa.c:428
+#: dfa.c:429
 msgid ""
 "\n"
 "\n"
@@ -49,31 +76,27 @@
 msgstr ""
 "\n"
 "\n"
-"äÁÍÐ äëá:\n"
+"Дамп ДКА:\n"
 "\n"
 
-#: dfa.c:589
+#: dfa.c:604
 msgid "could not create unique end-of-buffer state"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ ÕÎÉËÁÌØÎÏÅ ÓÏÓÔÏÑÎÉÅ ËÏÎÃÁ ÂÕÆÅÒÁ"
+msgstr "невозможно создать уникальное состояние конца буфера"
 
-#: dfa.c:610
+#: dfa.c:625
 #, c-format
 msgid "state # %d:\n"
-msgstr "ÓÏÓÔÏÑÎÉÅ # %d:\n"
+msgstr "состояние # %d:\n"
 
-#: dfa.c:783
+#: dfa.c:785
 msgid "Could not write yynxt_tbl[][]"
-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ yynxt_tbl[][]"
+msgstr "Невозможно записать yynxt_tbl[][]"
 
-#: dfa.c:1006
-msgid "consistency check failed in symfollowset"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÐÒÏ×ÅÒËÅ ÎÁ ÃÅÌÏÓÔÎÏÓÔØ × symfollowset"
-
-#: dfa.c:1054
+#: dfa.c:1049
 msgid "bad transition character detected in sympartition()"
-msgstr "ÏÂÎÁÒÕÖÅÎ ÎÅ×ÅÒÎÙÊ ÐÅÒÅÈÏÄÎÙÊ ÓÉÍ×ÏÌ × sympartition()"
+msgstr "обнаружен неверный переходный символ в sympartition()"
 
-#: gen.c:424 gen.c:463
+#: gen.c:478
 msgid ""
 "\n"
 "\n"
@@ -82,24 +105,32 @@
 msgstr ""
 "\n"
 "\n"
-"ëÌÁÓÓÙ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ:\n"
+"Классы эквивалентности:\n"
 "\n"
 
-#: gen.c:647 gen.c:673 gen.c:1158
+#: gen.c:662 gen.c:691 gen.c:1215
 #, c-format
 msgid "state # %d accepts: [%d]\n"
-msgstr "ÓÏÓÔÏÑÎÉÅ # %d ÄÏÐÕÓËÁÅÔ: [%d]\n"
+msgstr "состояние # %d допускает: [%d]\n"
 
-#: gen.c:1066
+#: gen.c:1110
 #, c-format
 msgid "state # %d accepts: "
-msgstr "ÓÏÓÔÏÑÎÉÅ # %d ÄÏÐÕÓËÁÅÔ: "
+msgstr "состояние # %d допускает: "
 
-#: gen.c:1176
+#: gen.c:1157
+msgid "Could not write yyacclist_tbl"
+msgstr "Невозможно записать yyacclist_tbl"
+
+#: gen.c:1233
 msgid "Could not write yyacc_tbl"
-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ yyacc_tbl"
+msgstr "Невозможно записать yyacc_tbl"
 
-#: gen.c:1202
+#: gen.c:1248 gen.c:1633 gen.c:1656
+msgid "Could not write ecstbl"
+msgstr "Невозможно записать ecstbl"
+
+#: gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -107,376 +138,393 @@
 msgstr ""
 "\n"
 "\n"
-"íÅÔÁÜË×É×ÁÌÅÎÔÎÙÈ ëÌÁÓÓÏ×:\n"
+"Мета-эквивалентные Классы:\n"
 
-#: gen.c:1221
+#: gen.c:1293
 msgid "Could not write yymeta_tbl"
-msgstr "îÅ ÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ yymeta_tbl"
+msgstr "Невозможно записать yymeta_tbl"
 
-#: gen.c:1278
+#: gen.c:1354
 msgid "Could not write yybase_tbl"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yybase_tbl"
+msgstr "Невозможно записать yybase_tbl"
 
-#: gen.c:1308
+#: gen.c:1388
 msgid "Could not write yydef_tbl"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yydef_tbl"
+msgstr "Невозможно записать yydef_tbl"
 
-#: gen.c:1342
+#: gen.c:1428
 msgid "Could not write yynxt_tbl"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yynxt_tbl"
+msgstr "Невозможно записать yynxt_tbl"
 
-#: gen.c:1372
+#: gen.c:1464
 msgid "Could not write yychk_tbl"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yychk_tbl"
+msgstr "Невозможно записать yychk_tbl"
 
-#: gen.c:1511 gen.c:1534
+#: gen.c:1618 gen.c:1647
 msgid "Could not write ftbl"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ftbl"
+msgstr "Невозможно записать ftbl"
 
-#: gen.c:1520 gen.c:1543
-msgid "Could not write ecstbl"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ ecstbl"
+#: gen.c:1624
+msgid "Could not write ssltbl"
+msgstr "Невозможно записать ssltbl"
 
-#: gen.c:1604
+#: gen.c:1675
+msgid "Could not write eoltbl"
+msgstr "Невозможно записать eoltbl"
+
+#: gen.c:1735
 msgid "Could not write yynultrans_tbl"
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÚÁÐÉÓÁÔØ yynultrans_tbl"
+msgstr "Невозможно записать yynultrans_tbl"
 
-#: main.c:164
+#: main.c:191
 msgid "rule cannot be matched"
-msgstr "ÎÅ×ÏÚÎÏÖÎÏ ÐÒÉÍÅÎÉÔØ ÐÒÁ×ÉÌÏ"
+msgstr "невозможно применить правило"
 
-#: main.c:169
+#: main.c:196
 msgid "-s option given but default rule can be matched"
-msgstr "ÕËÁÚÁÎÁ ÏÐÃÉÑ -s, ÎÏ ÐÒÁ×ÉÌÏ ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÒÉÍÅÎÅÎÏ"
+msgstr "указан параметр -s, но правило по умолчанию не может быть применено"
 
-#: main.c:205
+#: main.c:236
 msgid "Can't use -+ with -l option"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ -+ Ó ËÌÀÞÅÍ -l ÎÅ×ÏÚÍÏÖÎÏ"
+msgstr "Невозможно использовать -+ с параметром -l"
 
-#: main.c:208
+#: main.c:239
 msgid "Can't use -f or -F with -l option"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ -f ÉÌÉ -F Ó ËÌÀÞÅÍ -l ÎÅ×ÏÚÍÏÖÎÏ"
+msgstr "Невозможно использовать -f или -F с параметром -l"
 
-#: main.c:212
-msgid "Can't use -R or -Rb with -l option"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ -R ÉÌÉ -Rb Ó ËÌÀÞÅÍ -l ÎÅ×ÏÚÍÏÖÎÏ"
+#: main.c:243
+msgid "Can't use --reentrant or --bison-bridge with -l option"
+msgstr "Невозможно использовать --reentrant или --bison-bridge с параметром -l"
 
-#: main.c:227
-msgid "Can't specify header option if writing to stdout."
-msgstr "îÅ×ÏÚÍÏÖÎÏ ÕËÁÚÁÔØ ÐÁÒÁÍÅÔÒ header ÐÒÉ ×Ù×ÏÄÅ ÎÁ stdout."
-
-#: main.c:253
+#: main.c:275
 msgid "-Cf/-CF and -Cm don't make sense together"
-msgstr "-Cf/-CF É -Cm ×ÍÅÓÔÅ ÎÅ ÉÍÅÀÔ ÓÍÙÓÌÁ"
+msgstr "Параметры -Cf/-CF и -Cm вместе не имеют смысла"
 
-#: main.c:256
+#: main.c:278
 msgid "-Cf/-CF and -I are incompatible"
-msgstr "-Cf/-CF É -I ÎÅÓÏ×ÍÅÓÔÉÍÙ"
+msgstr "Параметры -Cf/-CF и -I несовместимы"
 
-#: main.c:260
+#: main.c:282
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
-msgstr "-Cf/-CF ÎÅÓÏ×ÍÅÓÔÎÙ Ó ÒÅÖÉÍÏÍ lex-ÓÏ×ÍÅÓÔÉÍÏÓÔÉ"
+msgstr "Параметры -Cf/-CF несовместимы с режимом lex-совместимости"
 
-#: main.c:265
+#: main.c:287
 msgid "-Cf and -CF are mutually exclusive"
-msgstr "-Cf É -CF Ñ×ÌÑÀÔÓÑ ×ÚÁÉÍÏÉÓËÌÀÞÁÀÝÉÍÉ"
+msgstr "Параметры -Cf и -CF являются взаимоисключающими"
 
-#: main.c:269
+#: main.c:291
 msgid "Can't use -+ with -CF option"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ -+ Ó ËÌÀÞÅÍ -CF ÎÅ×ÏÚÍÏÖÎÏ"
+msgstr "Невозможно использовать -+ с параметром -CF"
 
-#: main.c:272
+#: main.c:294
 #, c-format
 msgid "%array incompatible with -+ option"
-msgstr "%array ÎÅÓÏ×ÍÅÓÔÉÍ Ó ËÌÀÞÅÍ -+"
+msgstr "%array несовместим с параметром -+"
 
-#: main.c:277
-msgid "Options -+ and -R are mutually exclusive."
-msgstr "ëÌÀÞÉ -+ É -R Ñ×ÌÑÀÔÓÑ ×ÚÁÉÍÏÉÓËÌÀÞÁÀÝÉÍÉ"
+#: main.c:299
+msgid "Options -+ and --reentrant are mutually exclusive."
+msgstr "Параметры -+ и --reentrant являются взаимоисключающими."
 
-#: main.c:323 main.c:343 main.c:556
+#: main.c:302
+msgid "bison bridge not supported for the C++ scanner."
+msgstr "bison bridge не поддерживается для сканера C++."
+
+#: main.c:357 main.c:403
 #, c-format
 msgid "could not create %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÓÏÚÄÁÔØ %s"
+msgstr "невозможно создать %s"
 
-#: main.c:357
+#: main.c:416
 msgid "could not write tables header"
-msgstr "ÎÅÕÄÁÅÔÓÑ ÚÁÐÉÓÁÔØ ÚÁÇÏÌÏ×ÏË ÔÁÂÌÉÃ"
+msgstr "Невозможно записать заголовок таблиц"
 
-#: main.c:361
+#: main.c:420
 #, c-format
 msgid "can't open skeleton file %s"
-msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ-ËÁÒËÁÓ %s"
+msgstr "Невозможно открыть файл-каркас %s"
 
-#: main.c:523
+#: main.c:456
+msgid "allocation of macro definition failed"
+msgstr "Не удалось разместить определение макроса"
+
+#: main.c:504
 #, c-format
 msgid "input error reading skeleton file %s"
-msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ ÆÁÊÌÁ-ËÁÒËÁÓÁ %s"
+msgstr "ошибка чтения файла-каркаса %s"
 
-#: main.c:527
+#: main.c:508
 #, c-format
 msgid "error closing skeleton file %s"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁËÒÙÔÉÉ ÆÁÊÌÁ-ËÁÒËÁÓÁ %s"
+msgstr "ошибка при закрытии файла-каркаса %s"
 
-#: main.c:769
+#: main.c:693
 #, c-format
 msgid "error creating header file %s"
-msgstr "ÏÛÉÂËÁ ÓÏÚÄÁÎÉÑ ÚÁÇÏÌÏ×ÏÞÎÏÇÏ ÆÁÊÌÁ %s"
+msgstr "ошибка создания заголовочного файла %s"
 
-#: main.c:777
+#: main.c:701
 #, c-format
 msgid "error writing output file %s"
-msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ × ×ÙÈÏÄÎÏÊ ÆÁÊÌ %s"
+msgstr "ошибка записи в выходной файл %s"
 
-#: main.c:781
+#: main.c:705
 #, c-format
 msgid "error closing output file %s"
-msgstr "ÏÛÉÂËÁ ÚÁËÒÙÔÉÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ %s"
+msgstr "ошибка закрытия выходного файла %s"
 
-#: main.c:785
+#: main.c:709
 #, c-format
 msgid "error deleting output file %s"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ %s"
+msgstr "ошибка удаления выходного файла %s"
 
-#: main.c:792
+#: main.c:716
+#, c-format
 msgid "No backing up.\n"
-msgstr ""
+msgstr "Резервное копирование отключено.\n"
 
-#: main.c:796
+#: main.c:720
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
-msgstr "×ÏÚ×ÒÁÔ ÎÁ %d (ÎÅÄÏÐÕÓÔÉÍÙÈ) ÓÏÓÔÏÑÎÉÊ.\n"
+msgstr "резервное копирование %d (недопустимых) состояний.\n"
 
-#: main.c:800
+#: main.c:724
+#, c-format
 msgid "Compressed tables always back up.\n"
-msgstr "óÖÁÔÙÅ ÔÁÂÌÉÃÙ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÀÔÓÑ.\n"
+msgstr "Резервное копирование сжатых таблиц выполняется всегда.\n"
 
-#: main.c:803
+#: main.c:727
 #, c-format
 msgid "error writing backup file %s"
-msgstr "ÏÛÉÂËÁ ÚÁÐÉÓÉ ÒÅÚÅÒ×ÎÏÊ ËÏÐÉÉ ÆÁÊÌÁ %s"
+msgstr "ошибка записи резервной копии файла %s"
 
-#: main.c:807
+#: main.c:731
 #, c-format
 msgid "error closing backup file %s"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÚÁËÒÙÔÉÉ ÒÅÚÅÒ×ÎÏÊ ËÏÐÉÉ ÆÁÊÌÁ %s"
+msgstr "ошибка закрытия резервной копии файла %s"
 
-#: main.c:812
+#: main.c:736
 #, c-format
 msgid "%s version %s usage statistics:\n"
-msgstr "ÓÔÁÔÉÓÔÉËÁ ÉÓÐÏÌØÚÏ×ÁÎÉÑ %s ×ÅÒÓÉÉ %s:\n"
+msgstr "статистика использования %s версии %s:\n"
 
-#: main.c:815
+#: main.c:739
+#, c-format
 msgid "  scanner options: -"
-msgstr "  ÏÐÃÉÉ ÓËÁÎÅÒÁ: -"
+msgstr "  параметры сканера: -"
 
-#: main.c:894
+#: main.c:818
 #, c-format
 msgid "  %d/%d NFA states\n"
-msgstr "  %d/%d ÓÏÓÔÏÑÎÉÊ îëá\n"
+msgstr "  %d/%d состояний НКА\n"
 
-#: main.c:896
+#: main.c:820
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
-msgstr "  %d/%d ÓÏÓÔÏÑÎÉÊ äëá (%d ÓÌÏ×)\n"
+msgstr "  %d/%d состояний ДКА (%d слов)\n"
 
-#: main.c:898
+#: main.c:822
 #, c-format
 msgid "  %d rules\n"
-msgstr "  %d ÐÒÁ×ÉÌ\n"
+msgstr "  %d правил\n"
 
-#: main.c:903
+#: main.c:827
+#, c-format
 msgid "  No backing up\n"
-msgstr ""
+msgstr "  Резервное копирование отключено\n"
 
-#: main.c:907
+#: main.c:831
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
-msgstr "  ÓÏÈÒÁÎÅÎÙ %d (ÎÅÄÏÐÕÓÔÉÍÙÈ) ÓÏÓÔÏÑÎÉÊ\n"
+msgstr "  резервное копирование %d (недопустимых) состояний\n"
 
-#: main.c:912
+#: main.c:836
+#, c-format
 msgid "  Compressed tables always back-up\n"
-msgstr "  óÖÁÔÙÅ ÔÁÂÌÉÃÙ ×ÓÅÇÄÁ ÓÏÈÒÁÎÑÀÔÓÑ\n"
+msgstr "  Резервное копирование сжатых таблиц выполняется всегда\n"
+
+#: main.c:840
+#, c-format
+msgid "  Beginning-of-line patterns used\n"
+msgstr "  Используются шаблоны начала строки\n"
+
+#: main.c:842
+#, c-format
+msgid "  %d/%d start conditions\n"
+msgstr "  %d/%d начальных условий\n"
+
+#: main.c:846
+#, c-format
+msgid "  %d epsilon states, %d double epsilon states\n"
+msgstr "  %d эпсилон-состояний, %d двойных эпсилон-состояний\n"
+
+#: main.c:850
+#, c-format
+msgid "  no character classes\n"
+msgstr "  отсутствуют классы символов\n"
+
+#: main.c:854
+#, c-format
+msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
+msgstr "  %d/%d классов символов требуют %d/%d слов для хранения, %d повторно использовано\n"
+
+#: main.c:859
+#, c-format
+msgid "  %d state/nextstate pairs created\n"
+msgstr "  создано %d пар состояние/след_состояние\n"
+
+#: main.c:862
+#, c-format
+msgid "  %d/%d unique/duplicate transitions\n"
+msgstr "  %d/%d уникальных/повторяющихся переходов\n"
+
+#: main.c:867
+#, c-format
+msgid "  %d table entries\n"
+msgstr "  %d элементов таблицы\n"
+
+#: main.c:875
+#, c-format
+msgid "  %d/%d base-def entries created\n"
+msgstr "  создано %d/%d base-def элементов\n"
+
+#: main.c:879
+#, c-format
+msgid "  %d/%d (peak %d) nxt-chk entries created\n"
+msgstr "  создано %d/%d (пик %d) nxt-chk элементов\n"
+
+#: main.c:883
+#, c-format
+msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
+msgstr "  создано %d/%d (пик %d) шаблонных nxt-chk элементов\n"
+
+#: main.c:887
+#, c-format
+msgid "  %d empty table entries\n"
+msgstr "  %d пустых элементов таблицы\n"
+
+#: main.c:889
+#, c-format
+msgid "  %d protos created\n"
+msgstr "  создано %d прототипов\n"
+
+#: main.c:892
+#, c-format
+msgid "  %d templates created, %d uses\n"
+msgstr "  создано %d шаблонов, %d используются\n"
+
+#: main.c:900
+#, c-format
+msgid "  %d/%d equivalence classes created\n"
+msgstr "  созданы классы эквивалентности %d/%d\n"
+
+#: main.c:908
+#, c-format
+msgid "  %d/%d meta-equivalence classes created\n"
+msgstr "  %d/%d мета-эквивалентных классов создано\n"
+
+#: main.c:914
+#, c-format
+msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
+msgstr "  %d (%d записано) коллизий хэш-таблицы, %d эквивалентных ДКА\n"
 
 #: main.c:916
-msgid "  Beginning-of-line patterns used\n"
-msgstr "  éÓÐÏÌØÚÕÀÔÓÑ ÛÁÂÌÏÎÙ ÎÁÞÁÌÁ ÓÔÒÏËÉ\n"
+#, c-format
+msgid "  %d sets of reallocations needed\n"
+msgstr "  требуется %d наборов повторных размещений\n"
 
 #: main.c:918
 #, c-format
-msgid "  %d/%d start conditions\n"
-msgstr "  %d/%d ÓÔÁÒÔÏ×ÙÈ ÕÓÌÏ×ÉÊ\n"
-
-#: main.c:922
-#, c-format
-msgid "  %d epsilon states, %d double epsilon states\n"
-msgstr ""
-
-#: main.c:926
-msgid "  no character classes\n"
-msgstr "  ÏÔÓÕÔÓÔ×ÕÀÔ ËÌÁÓÓÙ ÓÉÍ×ÏÌÏ×\n"
-
-#: main.c:930
-#, c-format
-msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d ËÌÁÓÓÏ× ÓÉÍ×ÏÌÏ× ÔÒÅÂÕÀÔ %d/%d ÓÌÏ× ÄÌÑ ÈÒÁÎÅÎÉÑ, %d ÐÏ×ÔÏÒÎÏ ÉÓÐÏÌØÚÏ×ÁÎÏ\n"
-
-#: main.c:935
-#, c-format
-msgid "  %d state/nextstate pairs created\n"
-msgstr "  ÓÏÚÄÁÎÏ %d ÐÁÒ ÓÏÓÔÏÑÎÉÅ/ÓÌÅÄ_ÓÏÓÔÏÑÎÉÅ\n"
-
-#: main.c:938
-#, c-format
-msgid "  %d/%d unique/duplicate transitions\n"
-msgstr "  %d/%d ÕÎÉËÁÌØÎÙÈ/ÐÏ×ÔÏÒÑÀÝÉÈÓÑ ÐÅÒÅÈÏÄÏ×\n"
-
-#: main.c:943
-#, c-format
-msgid "  %d table entries\n"
-msgstr "  %d ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ\n"
-
-#: main.c:951
-#, c-format
-msgid "  %d/%d base-def entries created\n"
-msgstr "  ÓÏÚÄÁÎÏ %d/%d base-def ÜÌÅÍÅÎÔÏ×\n"
-
-#: main.c:955
-#, c-format
-msgid "  %d/%d (peak %d) nxt-chk entries created\n"
-msgstr "  ÓÏÚÄÁÎÏ %d/%d (ÐÉË %d) nxt-chk ÜÌÅÍÅÎÔÏ×\n"
-
-#: main.c:959
-#, c-format
-msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
-msgstr "  ÓÏÚÄÁÎÏ %d/%d (ÐÉË %d) ÛÁÂÌÏÎÎÙÈ nxt-chk ÜÌÅÍÅÎÔÏ×\n"
-
-#: main.c:963
-#, c-format
-msgid "  %d empty table entries\n"
-msgstr "  %d ÐÕÓÔÙÈ ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ\n"
-
-#: main.c:965
-#, c-format
-msgid "  %d protos created\n"
-msgstr "  ÓÏÚÄÁÎÏ %d ÐÒÏÔÏÔÉÐÏ×\n"
-
-#: main.c:968
-#, c-format
-msgid "  %d templates created, %d uses\n"
-msgstr "  ÓÏÚÄÁÎÏ %d ÛÁÂÌÏÎÏ×, %d ÉÓÐÏÌØÚÏ×ÁÎÉÊ\n"
-
-#: main.c:976
-#, c-format
-msgid "  %d/%d equivalence classes created\n"
-msgstr "  ÓÏÚÄÁÎÙ ËÌÁÓÓÙ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ %d/%d\n"
-
-#: main.c:984
-#, c-format
-msgid "  %d/%d meta-equivalence classes created\n"
-msgstr "  %d/%d ÍÅÔÁÜË×É×ÁÌÅÎÔÎÙÈ ËÌÁÓÓÏ× ÓÏÚÄÁÎÏ\n"
-
-#: main.c:990
-#, c-format
-msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
-msgstr "  %d (%d ÚÁÐÉÓÁÎÏ) ËÏÌÌÉÚÉÊ ÈÜÛ-ÔÁÂÌÉÃÙ, %d ÜË×É×ÁÌÅÎÔÎÙÈ äëá\n"
-
-#: main.c:992
-#, c-format
-msgid "  %d sets of reallocations needed\n"
-msgstr "  ÔÒÅÂÕÅÔÓÑ %d ÎÁÂÏÒÏ× ÐÏ×ÔÏÒÎÙÈ ÒÁÚÍÅÝÅÎÉÊ\n"
-
-#: main.c:994
-#, c-format
 msgid "  %d total table entries needed\n"
-msgstr "  ×ÓÅÇÏ ÔÒÅÂÕÅÔÓÑ %d ÜÌÅÍÅÎÔÏ× ÔÁÂÌÉÃÙ\n"
+msgstr "  всего требуется %d элементов таблицы\n"
 
-#: main.c:1056
+#: main.c:995
+#, c-format
 msgid "Internal error. flexopts are malformed.\n"
-msgstr "÷ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ.  îÅÐÒÁ×ÉÌØÎÏ ÚÁÄÁÎÙ ËÌÀÞÉ flex.\n"
+msgstr "Внутренняя ошибка. Неправильное значение flexopts.\n"
 
-#: main.c:1066
+#: main.c:1005
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr "ðÏÐÒÏÂÕÊÔÅ `%s --help' ÄÌÑ ÐÏÌÕÞÅÎÉÑ ÂÏÌÅÅ ÐÏÄÒÏÂÎÏÇÏ ÏÐÉÓÁÎÉÑ.\n"
+msgstr "Попробуйте «%s --help» для получения более подробного описания.\n"
 
-#: main.c:1123
+#: main.c:1062
 #, c-format
 msgid "unknown -C option '%c'"
-msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ -C ËÌÀÞ '%c'"
+msgstr "неизвестное значение «%c» для -C"
 
-#: main.c:1207
-#, c-format
-msgid "unknown -R option '%c'"
-msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ -R ËÌÀÞ '%c'"
-
-#: main.c:1251
+#: main.c:1191
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1514
+#: main.c:1466
 msgid "fatal parse error"
-msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ ÒÁÚÂÏÒÁ"
+msgstr "фатальная ошибка разбора"
+
+#: main.c:1498
+#, c-format
+msgid "could not create backing-up info file %s"
+msgstr "невозможно создать резервную копию информационного файла %s"
+
+#: main.c:1519
+#, c-format
+msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
+msgstr "Параметр -l совместимости с AT&T lex влечёт значительное снижение производительности\n"
+
+#: main.c:1522
+#, c-format
+msgid " and may be the actual source of other reported performance penalties\n"
+msgstr " и также может быть истинным источником проблем с производительностью\n"
+
+#: main.c:1528
+#, c-format
+msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
+msgstr "%%option yylineno влечёт значительное снижение производительности ТОЛЬКО для правил, которые могут совпадать с символами новой строки\n"
+
+#: main.c:1535
+#, c-format
+msgid "-I (interactive) entails a minor performance penalty\n"
+msgstr "-I (интерактивный) влечёт незначительное снижение производительности\n"
+
+#: main.c:1540
+#, c-format
+msgid "yymore() entails a minor performance penalty\n"
+msgstr "yymore() приводит к небольшому снижению производительности\n"
 
 #: main.c:1546
 #, c-format
-msgid "could not create backing-up info file %s"
-msgstr "ÎÅÕÄÁÅÔÓÑ ÓÏÚÄÁÔØ ÚÁÐÁÓÎÏÊ ÉÎÆÏÒÍÁÃÉÏÎÎÙÊ ÆÁÊÌ %s"
-
-#: main.c:1567
-msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "ïÐÃÉÑ -l ÓÏ×ÍÅÓÔÉÍÏÓÔÉ Ó AT&T lex ×ÌÅÞÅÔ ÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n"
-
-#: main.c:1570
-msgid " and may be the actual source of other reported performance penalties\n"
-msgstr " É ÔÁËÖÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÔÉÎÎÙÍ ÉÓÔÏÞÎÉËÏÍ ÐÒÏÂÌÅÍ Ó ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔØÀ\n"
-
-#: main.c:1576
-#, c-format
-msgid "%%option yylineno entails a large performance penalty\n"
-msgstr "%%option yylineno ×ÌÅÞÅÔ ÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n"
-
-#: main.c:1583
-msgid "-I (interactive) entails a minor performance penalty\n"
-msgstr "-I (ÉÎÔÅÒÁËÔÉ×ÎÙÊ) ×ÌÅÞÅÔ ÎÅÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n"
-
-#: main.c:1588
-msgid "yymore() entails a minor performance penalty\n"
-msgstr "yymore() ÐÒÉ×ÏÄÉÔ Ë ÎÅÂÏÌØÛÏÍÕ ÓÎÉÖÅÎÉÀ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n"
-
-#: main.c:1594
 msgid "REJECT entails a large performance penalty\n"
-msgstr "REJECT ×ÌÅÞÅÔ ÚÎÁÞÉÔÅÌØÎÏÅ ÓÎÉÖÅÎÉÅ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ\n"
+msgstr "REJECT влечёт значительное снижение производительности\n"
 
-#: main.c:1599
+#: main.c:1551
+#, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr ""
+msgstr "Правила с переменным замыкающим контекстом приводят к значительному снижению производительности\n"
 
-#: main.c:1611
+#: main.c:1563
 msgid "REJECT cannot be used with -f or -F"
-msgstr "REJECT ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎ ×ÍÅÓÔÅ Ó -f ÉÌÉ -F"
+msgstr "REJECT не может быть использован вместе с -f или -F"
 
-#: main.c:1614
+#: main.c:1566
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
-msgstr "%option yylineno ÎÅ ÍÏÖÅÔ ÂÙÔØ ÉÓÐÏÌØÚÏ×ÁÎÏ Ó REJECT"
+msgstr "%option yylineno не может быть использован с REJECT"
 
-#: main.c:1617
+#: main.c:1569
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr ""
+msgstr "правила с переменным замыкающим контекстом не могут быть использованы с -f или -F"
 
-#: main.c:1733
+#: main.c:1692
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
-msgstr "%option yyclass ÉÍÅÅÔ ÓÍÙÓÌ ÔÏÌØËÏ ÄÌÑ ÓËÁÎÅÒÏ× ÎÁ C++"
+msgstr "%option yyclass имеет смысл только для сканеров C++"
 
-#: main.c:1840
+#: main.c:1799
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþé] [æáêì]...\n"
+msgstr "Использование: %s [ПАРАМЕТРЫ] [ФАЙЛ]…\n"
 
-#: main.c:1843
+#: main.c:1802
 #, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
@@ -525,8 +573,11 @@
 "  -L,  --noline            suppress #line directives in scanner\n"
 "  -P,  --prefix=STRING     use STRING as prefix instead of \"yy\"\n"
 "  -R,  --reentrant         generate a reentrant C scanner\n"
-"  -Rb, --reentrant-bison   reentrant scanner for bison pure parser.\n"
+"       --bison-bridge      scanner for bison pure parser.\n"
+"       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
+"       --noansi-definitions old-style function definitions\n"
+"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -537,112 +588,118 @@
 "  -h, --help              produce this help message\n"
 "  -V, --version           report %s version\n"
 msgstr ""
-"çÅÎÅÒÉÒÕÅÔ ÐÒÏÇÒÁÍÍÙ, ÐÒÏÉÚ×ÏÄÑÝÉÅ ÍÁÎÉÐÕÌÑÃÉÉ Ó ÔÅËÓÔÏÍ ÐÏ ÛÁÂÌÏÎÁÍ.\n"
+"Генерирует программы, производящие манипуляции с текстом по шаблонам.\n"
 "\n"
-"óÖÁÔÉÅ ÔÁÂÌÉÃ:\n"
-"  -Ca, --align       ÄÏÐÕÓËÁÔØ ÂÏÌØÛÉÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃ ÄÌÑ\n"
-"                     ÌÕÞÛÅÇÏ ×ÙÒÁ×ÎÉ×ÁÎÉÑ × ÐÁÍÑÔÉ\n"
-"  -Ce, --ecs         ÓÏÚÄÁ×ÁÔØ ËÌÁÓÓÙ ÜË×É×ÁÌÅÎÔÎÏÓÔÉ\n"
-"  -Cf                ÎÅ ÓÖÉÍÁÔØ ÔÁÂÌÉÃÙ; ÉÓÐÏÌØÚÏ×ÁÔØ -f ÐÒÅÄÓÔÁ×ÌÅÎÉÅ\n"
-"  -CF                ÎÅ ÓÖÉÍÁÔØ ÔÁÂÌÉÃÙ; ÉÓÐÏÌØÚÏ×ÁÔØ -F ÐÒÅÄÓÔÁ×ÌÅÎÉÅ\n"
-"  -Cm, --meta-ecs    ÓÏÚÄÁ×ÁÔØ ËÌÁÓÓÙ ÍÅÔÁÜË×É×ÁÌÅÎÔÎÏÓÔÉ\n"
-"  -Cr, --read        ÉÓÐÏÌØÚÏ×ÁÔØ read() ×ÍÅÓÔÏ stdio ÄÌÑ\n"
-"                     ×ÈÏÄÎÙÈ ÄÁÎÎÙÈ ÓËÁÎÅÒÁ\n"
-"  -f, --full         ÓÏÚÄÁÔØ ÂÙÓÔÒÙÊ, ÂÏÌØÛÏÊ ÓËÁÎÅÒ.  ôÏ ÖÅ, ÞÔÏ  É -Cfr\n"
-"  -F, --fast         ÉÓÐÏÌØÚÏ×ÁÔØ ÁÌØÔÅÒÎÁÔÉ×ÎÏÅ ÐÒÅÄÓÔÁ×ÌÅÎÉÅ ÔÁÂÌÉÃ.\n"
-"                     ôÏ ÖÅ, ÞÔÏ É -CFr\n"
-"  -Cem               ÓÔÅÐÅÎØ ÓÖÁÔÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ\n"
-"                     (ÔÏ ÖÅ ÞÔÏ É --ecs --meta-ecs)\n"
+"Сжатие таблиц:\n"
+"  -Ca, --align       допускать больший размер таблиц для\n"
+"                     лучшего выравнивания в памяти\n"
+"  -Ce, --ecs         создавать классы эквивалентности\n"
+"  -Cf                не сжимать таблицы; использовать -f представление\n"
+"  -CF                не сжимать таблицы; использовать -F представление\n"
+"  -Cm, --meta-ecs    создавать классы мета-эквивалентности\n"
+"  -Cr, --read        использовать read() вместо stdio для\n"
+"                     входных данных сканера\n"
+"  -f, --full         создать быстрый, большой сканер. То же, что и -Cfr\n"
+"  -F, --fast         использовать альтернативное представление таблиц.\n"
+"                     То же, что и -CFr\n"
+"  -Cem               степень сжатия по умолчанию\n"
+"                     (то же что и --ecs --meta-ecs)\n"
 "\n"
-"ïÔÌÁÄËÁ:\n"
-"  -d, --debug             ×ËÌÀÞÉÔØ ÒÅÖÉÍ ÏÔÌÁÄËÉ × ÓËÁÎÅÒ\n"
-"  -b, --backup            ÚÁÐÉÓÁÔØ ÚÁÐÁÓÎÕÀ ËÏÐÉÀ × %s\n"
-"  -p, --perf-report       ÚÁÐÉÓÁÔØ ÏÔÞÅÔ Ï ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ × stderr\n"
-"  -s, --nodefault         ÐÏÄÁ×ÌÑÔØ ÐÒÁ×ÉÌÏ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ×Ù×ÏÄÁ (ECHO)\n"
-"                          ÔÅËÓÔÁ, ËÏÔÏÒÙÊ ÎÅ ÐÏÄÏÛÅÌ ÎÉ Ë ÏÄÎÏÍÕ ÐÒÁ×ÉÌÕ\n"
-"  -T, --trace             %s ÄÏÌÖÅÎ ÚÁÐÕÓËÁÔØÓÑ × ÒÅÖÉÍÅ ÔÒÁÓÓÉÒÏ×ËÉ\n"
-"  -w, --nowarn            ÎÅ ×ÙÄÁ×ÁÔØ ÐÒÅÄÕÐÒÅÖÄÅÎÉÊ\n"
-"  -v, --verbose           ÚÁÐÉÓÁÔØ ÓÕÍÍÁÒÎÕÀ ÓÔÁÔÉÓÔÉËÕ ÓËÁÎÅÒÁ × stdout\n"
+"Отладка:\n"
+"  -d, --debug             включить режим отладки в сканер\n"
+"  -b, --backup            записать резервную копию в %s\n"
+"  -p, --perf-report       записать отчёт о производительности в stderr\n"
+"  -s, --nodefault         подавлять правило по умолчанию для вывода (ECHO)\n"
+"                          текста, который не подошёл ни к одному правилу\n"
+"  -T, --trace             %s должен запускаться в режиме трассировки\n"
+"  -w, --nowarn            не выдавать предупреждений\n"
+"  -v, --verbose           записать суммарную статистику сканера в stdout\n"
 "\n"
-"æÁÊÌÙ:\n"
-"  -o, --outfile=æáêì      ÕËÁÚÁÔØ ÉÍÑ ×ÙÈÏÄÎÏÇÏ ÆÁÊÌÁ\n"
-"  -S, --skel=æáêì         ÕËÁÚÁÔØ ÆÁÊÌ ËÁÒËÁÓÁ\n"
-"  -t, --stdout            ÚÁÐÉÓÁÔØ ÓËÁÎÅÒ × stdout ×ÍÅÓÔÏ %s\n"
-"      --yyclass=éíñ       ÉÍÑ ËÌÁÓÓÁ óÉ++\n"
-"      --header-file=æáêì  ÓÏÚÄÁÔØ ËÒÏÍÅ ÓËÁÎÅÒÁ ÚÁÇÏÌÏ×ÏÞÎÙÊ ÆÁÊÌ óÉ\n"
-"      --tables-files=æáêì ÚÁÐÉÓÁÔØ ÔÁÂÌÉÃÙ × æáêì\n"
+"Файлы:\n"
+"  -o, --outfile=ФАЙЛ        указать имя выходного файла\n"
+"  -S, --skel=ФАЙЛ           указать файл каркаса\n"
+"  -t, --stdout              записать сканер в stdout вместо %s\n"
+"      --yyclass=ИМЯ         имя класса C++\n"
+"      --header-file=ФАЙЛ    создать кроме сканера заголовочный файл C\n"
+"      --tables-file[=ФАЙЛ] записать таблицы в ФАЙЛ\n"
 "\n"
-"ðÏ×ÅÄÅÎÉÅ ÓËÁÎÅÒÁ:\n"
-"  -7, --7bit              ÓÏÚÄÁÔØ 7-ÂÉÔÎÙÊ ÓËÁÎÅÒ\n"
-"  -8, --8bit              ÓÏÚÄÁÔØ 8-ÂÉÔÎÙÊ ÓËÁÎÅÒ\n"
-"  -B, --batch             ÓÏÚÄÁ×ÁÔØ ÐÁËÅÔÎÙÊ ÓËÁÎÅÒ\n"
-"                          (× ÐÒÏÔÉ×ÏÐÏÌÏÖÎÏÓÔØ Ë -I)\n"
-"  -i, --case-insensitive  ÉÇÎÏÒÉÒÏ×ÁÔØ ÒÅÇÉÓÔÒ ÂÕË× × ÛÁÂÌÏÎÁÈ\n"
-"  -l, --lex-compat        ÍÁËÓÉÍÁÌØÎÁÑ ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó ÐÅÒ×ÏÎÁÞÁÌØÎÙÍ lex\n"
-"  -X, --posix-compat      ÍÁËÓÉÍÁÌØÎÁÑ ÓÏ×ÍÅÓÔÉÍÏÓÔØ Ó POSIX lex\n"
-"  -I, --interactive       ÓÏÚÄÁÔØ ÉÎÔÅÒÁËÔÉ×ÎÙÊ ÓËÁÎÅÒ\n"
-"                          (× ÐÒÏÔÉ×ÏÐÏÌÏÖÎÏÓÔØ Ë -B)\n"
-"      --yylineno          ÏÔÓÌÅÖÉ×ÁÔØ ÞÉÓÌÏ ÓÔÒÏË × yylineno\n"
+"Поведение сканера:\n"
+"  -7, --7bit              создать 7-битный сканер\n"
+"  -8, --8bit              создать 8-битный сканер\n"
+"  -B, --batch             создать пакетный сканер\n"
+"                          (в противоположность к -I)\n"
+"  -i, --case-insensitive  игнорировать регистр букв в шаблонах\n"
+"  -l, --lex-compat        максимальная совместимость с оригинальным lex\n"
+"  -X, --posix-compat      максимальная совместимость с POSIX lex\n"
+"  -I, --interactive       создать интерактивный сканер\n"
+"                          (в противоположность к -B)\n"
+"      --yylineno          отслеживать число строк в yylineno\n"
 "\n"
-"çÅÎÅÒÉÒÕÅÍÙÊ ËÏÄ:\n"
-"  -+,  --c++              ÓÏÚÄÁ×ÁÔØ óÉ++ ËÌÁÓÓ ÓËÁÎÅÒÁ\n"
-"  -Dmacro[=defn]          #define macro defn (ÐÏ ÕÍÏÌÞÁÎÉÀ defn='1')\n"
-"  -L,  --noline           ÐÏÄÁ×ÉÔØ ÄÉÒÅËÔÉ×Ù #line × ÓËÁÎÅÒÅ\n"
-"  -P,  --prefix=óôòïëá    ÉÓÐÏÌØÚÏ×ÁÔØ óôòïëõ × ËÁÞÅÓÔ×Å ÐÒÅÆÉËÓÁ\n"
-"                          ×ÍÅÓÔÏ \"yy\"\n"
-"  -R,  --reentrant        ÓÏÚÄÁ×ÁÔØ ÐÏ×ÔÏÒÎÏ ×ÈÏÄÉÍÙÊ ÓËÁÎÅÒ ÎÁ óÉ\n"
-"  -Rb, --reentrant-bison  ÐÏ×ÔÏÒÎÏ ×ÈÏÄÉÍÙÊ ÓËÁÎÅÒ ÄÌÑ ÐÏ×ÔÏÒÎÏ ×ÈÏÄÉÍÏÇÏ\n"
-"                          ÓÉÎÔÁËÓÉÞÅÓËÏÇÏ ÁÎÁÌÉÚÁÔÏÒÁ bison\n"
-"       --stdinit          ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ yyin/yyout × stdin/stdout\n"
-"       --nounistd         ÎÅ ×ËÌÀÞÁÔØ <unistd.h>\n"
-"       --noæõîëãéñ        ÎÅ ÇÅÎÅÒÉÒÏ×ÁÔØ ÏÐÒÅÄÅÌÅÎÎÕÀ æõîëãéà\n"
+"Генерируемый код:\n"
+"  -+,  --c++                создать класс сканера С++\n"
+"  -Dmacro[=defn]            #define macro defn (по умолчанию defn='1')\n"
+"  -L,  --noline             не создавать директивы #line в сканере\n"
+"  -P,  --prefix=СТРОКА      использовать СТРОКУ в качестве префикса\n"
+"                            вместо «yy»\n"
+"  -R,  --reentrant          создать реентерабельный сканер на C\n"
+"       --bison-bridge       сканер для анализатора только на bison\n"
+"       --bison-locations    включить поддержку yylloc\n"
+"       --stdinit            инициализировать yyin/yyout в stdin/stdout\n"
+"       --noansi-definitions определения функций в старом стиле\n"
+"       --noansi-prototypes  пустой список параметров в прототипах\n"
+"       --nounistd           не включать <unistd.h>\n"
+"       --noФУНКЦИЯ          не генерировать определённую ФУНКЦИЮ\n"
 "\n"
-"òÁÚÎÏÅ:\n"
-"  -Ó                      ËÌÀÞ ÄÌÑ ÓÏÍÅÓÔÉÍÏÓÔÉ Ó POSIX (ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÅÔ)\n"
-"  -n                      ËÌÀÞ ÄÌÑ ÓÏÍÅÓÔÉÍÏÓÔÉ Ó POSIX (ÎÉÞÅÇÏ ÎÅ ÄÅÌÁÅÔ)\n"
+"Разное:\n"
+"  -с                      ничего не делающий параметр POSIX\n"
+"  -n                      ничего не делающий параметр POSIX\n"
 "  -?\n"
-"  -h, --help              ×ÙÄÁÔØ ÜÔÕ ÓÐÒÁ×ËÕ\n"
-"  -V, --version           ×ÙÄÁÔØ ×ÅÒÓÉÀ %s\n"
+"  -h, --help              показать эту справку\n"
+"  -V, --version           показать версию %s\n"
 
-#: misc.c:46
+#: misc.c:65
+msgid "allocation of sko_stack failed"
+msgstr "не удалось разместить sko_stack"
+
+#: misc.c:102 misc.c:128
 #, c-format
 msgid "name \"%s\" ridiculously long"
-msgstr "ÉÍÑ \"%s\" ÎÅÌÅÐÏ ÄÌÉÎÎÏÅ"
+msgstr "имя «%s» нелепо длинное"
 
-#: misc.c:100
+#: misc.c:177
 msgid "memory allocation failed in allocate_array()"
-msgstr "ÏÛÉÂËÁ ×ÙÄÅÌÅÎÉÑ ÐÁÍÑÔÉ × allocate_array()"
+msgstr "ошибка выделения памяти в allocate_array()"
 
-#: misc.c:175
+#: misc.c:230
 #, c-format
 msgid "bad character '%s' detected in check_char()"
-msgstr "ÎÁÊÄÅÎ ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ '%s' × check_char()"
+msgstr "найден неверный символ «%s» в check_char()"
 
-#: misc.c:180
+#: misc.c:235
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
-msgstr "ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÓÉÍ×ÏÌÁ %s ÓËÁÎÅÒÕ ÔÒÅÂÕÅÔÓÑ ËÌÀÞ -8"
+msgstr "для использования символа %s сканеру требуется параметр -8"
 
-#: misc.c:213
+#: misc.c:268
 msgid "dynamic memory failure in copy_string()"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ÒÁÂÏÔÅ Ó ÄÉÎÁÍÉÞÅÓËÏÊ ÐÁÍÑÔØÀ × copy_string()"
+msgstr "ошибка при работе с динамической памятью в copy_string()"
 
-#: misc.c:339
+#: misc.c:367
 #, c-format
 msgid "%s: fatal internal error, %s\n"
-msgstr "%s: ÆÁÔÁÌØÎÁÑ ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ, %s\n"
+msgstr "%s: фатальная внутренняя ошибка, %s\n"
 
-#: misc.c:772
+#: misc.c:803
 msgid "attempt to increase array size failed"
-msgstr "ÏÛÉÂËÁ Õ×ÅÌÉÞÅÎÉÑ ÒÁÚÍÅÒÁ ÍÁÓÓÉ×Á"
+msgstr "ошибка при попытке увеличить размер массива"
 
-#: misc.c:844
+#: misc.c:930
 msgid "bad line in skeleton file"
-msgstr "ÎÅ×ÅÒÎÁÑ ÓÔÒÏËÁ × ÆÁÊÌÅ-ËÁÒËÁÓÅ"
+msgstr "неверная строка в файле-каркасе"
 
-#: misc.c:890
+#: misc.c:979
 msgid "memory allocation failed in yy_flex_xmalloc()"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ×ÙÄÅÌÅÎÉÉ ÐÁÍÑÔÉ × yy_flex_xmalloc()"
+msgstr "ошибка при выделении памяти в yy_flex_xmalloc()"
 
 #: nfa.c:104
 #, c-format
@@ -653,187 +710,237 @@
 msgstr ""
 "\n"
 "\n"
-"******** ÎÁÞÁÌÏ ÄÁÍÐÁ ËÏÎÅÞÎÏÇÏ Á×ÔÏÍÁÔÁ Ó ÎÁÞÁÌØÎÙÍ ÓÏÓÔÏÑÎÉÅÍ %d\n"
+"******** начало дампа конечного автомата с начальным состоянием %d\n"
 
 #: nfa.c:115
 #, c-format
 msgid "state # %4d\t"
-msgstr "ÓÏÓÔÏÑÎÉÅ # %4d\t"
+msgstr "состояние # %4d\t"
 
 #: nfa.c:130
+#, c-format
 msgid "********** end of dump\n"
-msgstr "********* ËÏÎÅÃ ÄÁÍÐÁ\n"
+msgstr "********* конец дампа\n"
 
 #: nfa.c:174
 msgid "empty machine in dupmachine()"
-msgstr "ÐÕÓÔÏÊ Á×ÔÏÍÁÔ × dupmachine()"
+msgstr "пустой автомат в dupmachine()"
 
 #: nfa.c:240
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
-msgstr ""
+msgstr "Правило с переменным замыкающим контекстом в строке %d\n"
 
-#: nfa.c:353
+#: nfa.c:364
 msgid "bad state type in mark_beginning_as_normal()"
-msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÓÏÓÔÏÑÎÉÑ × mark_beginning_as_normal()"
+msgstr "неверный тип состояния в mark_beginning_as_normal()"
 
-#: nfa.c:598
+#: nfa.c:609
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
-msgstr "×ÈÏÄÎÙÅ ÐÒÁ×ÉÌÁ ÓÌÉÛËÏÍ ÓÌÏÖÎÙÅ (>= %d ÓÏÓÔÏÑÎÉÊ îëá)"
+msgstr "входные правила слишком сложные (>= %d состояний НКА)"
 
-#: nfa.c:677
+#: nfa.c:688
 msgid "found too many transitions in mkxtion()"
-msgstr "ÎÁÊÄÅÎÏ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÅÒÅÈÏÄÏ× × mkxtion()"
+msgstr "найдено слишком много переходов в mkxtion()"
 
-#: nfa.c:703
+#: nfa.c:714
 #, c-format
 msgid "too many rules (> %d)!"
-msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÐÒÁ×ÉÌ (> %d)!"
+msgstr "слишком много правил (> %d)!"
 
-#: parse.y:175
+#: parse.y:159
 msgid "unknown error processing section 1"
-msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ ÐÒÉ ÏÂÒÁÂÏÔËÅ ÒÁÚÄÅÌÁ 1"
+msgstr "неизвестная ошибка при обработке раздела 1"
 
-#: parse.y:200 parse.y:365
+#: parse.y:184 parse.y:351
 msgid "bad start condition list"
-msgstr "ÎÅ×ÅÒÎÙÊ ÓÐÉÓÏË ÎÁÞÁÌØÎÙÈ ÕÓÌÏ×ÉÊ"
+msgstr "неверный список начальных условий"
 
-#: parse.y:329
+#: parse.y:315
 msgid "unrecognized rule"
-msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÏÅ ÐÒÁ×ÉÌÏ"
+msgstr "нераспознанное правило"
 
-#: parse.y:448 parse.y:461 parse.y:530
+#: parse.y:434 parse.y:447 parse.y:516
 msgid "trailing context used twice"
-msgstr "ÚÁÍÙËÁÀÝÉÊ ËÏÎÔÅËÓÔ ÉÓÐÏÌØÚÕÅÔÓÑ Ä×ÁÖÄÙ"
+msgstr "замыкающий контекст используется дважды"
 
-#: parse.y:566 parse.y:576 parse.y:649 parse.y:659
+#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
 msgid "bad iteration values"
-msgstr ""
+msgstr "неверные значения итераций"
 
-#: parse.y:594 parse.y:612 parse.y:677 parse.y:695
+#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
 msgid "iteration value must be positive"
-msgstr ""
+msgstr "значение итераций должно быть положительным"
 
-#: parse.y:798
+#: parse.y:804 parse.y:814
+#, c-format
+msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
+msgstr "использование символьного диапазона [%c-%c] сомнительно в сканере, не чувствительном к регистру"
+
+#: parse.y:819
 msgid "negative range in character class"
-msgstr "ÏÔÒÉÃÁÔÅÌØÎÙÊ ÄÉÁÐÁÚÏÎ × ËÌÁÓÓÅ ÓÉÍ×ÏÌÏ×"
+msgstr "отрицательный диапазон в классе символов"
 
-#: scan.l:61 scan.l:162 scan.l:219 scan.l:352 scan.l:491 scan.l:541
+#: parse.y:916
+msgid "[:^lower:] is ambiguous in case insensitive scanner"
+msgstr "использование [:^lower:] сомнительно для сканера, не чувствительного к регистру"
+
+#: parse.y:922
+msgid "[:^upper:] ambiguous in case insensitive scanner"
+msgstr "использование [:^upper:] сомнительно для сканера, не чувствительного к регистру"
+
+#: scan.l:75 scan.l:618 scan.l:676
 msgid "Input line too long\n"
-msgstr "óÌÉÛËÏÍ ÄÌÉÎÎÁÑ ×ÈÏÄÎÁÑ ÓÔÒÏËÁ\n"
+msgstr "Слишком длинная входная строка\n"
 
-#: scan.l:153
+#: scan.l:161
+#, c-format
+msgid "malformed '%top' directive"
+msgstr "нераспознанная директива «%top»"
+
+#: scan.l:183
 #, no-c-format
 msgid "unrecognized '%' directive"
-msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÁÑ '%' ÄÉÒÅËÔÉ×Á"
+msgstr "нераспознанная директива «%»"
 
-#: scan.l:236
+#: scan.l:192
+msgid "Definition name too long\n"
+msgstr "Слишком длинное определение имени\n"
+
+#: scan.l:284
+msgid "Unmatched '{'"
+msgstr "Непарная «{»"
+
+#: scan.l:300
+#, c-format
+msgid "Definition value for {%s} too long\n"
+msgstr "Слишком длинное определение значения для {%s}\n"
+
+#: scan.l:317
 msgid "incomplete name definition"
-msgstr "ÎÅÐÏÌÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÉÍÅÎÉ"
+msgstr "неполное определение имени"
 
-#: scan.l:360
+#: scan.l:443
+msgid "Option line too long\n"
+msgstr "Слишком длинный параметр\n"
+
+#: scan.l:451
 #, c-format
 msgid "unrecognized %%option: %s"
-msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ %%option: %s"
+msgstr "нераспознанный %%option: %s"
 
-#: scan.l:501 scan.l:620
+#: scan.l:633 scan.l:800
 msgid "bad character class"
-msgstr "ÎÅ×ÅÒÎÙÊ ËÌÁÓÓ ÓÉÍ×ÏÌÁ"
+msgstr "неверный класс символа"
 
-#: scan.l:548
+#: scan.l:683
 #, c-format
 msgid "undefined definition {%s}"
-msgstr "ÎÅÏÐÒÅÄÅÌÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ {%s}"
+msgstr "неопределенное определение {%s}"
 
-#: scan.l:588
+#: scan.l:755
 #, c-format
 msgid "bad <start condition>: %s"
-msgstr "ÎÅ×ÅÒÎÏÅ <ÎÁÞÁÌØÎÏÅ ÕÓÌÏ×ÉÅ>: %s"
+msgstr "неверное <начальное условие>: %s"
 
-#: scan.l:601
+#: scan.l:768
 msgid "missing quote"
-msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ËÁ×ÙÞËÉ"
+msgstr "отсутствуют кавычки"
 
-#: scan.l:641
+#: scan.l:834
 #, c-format
 msgid "bad character class expression: %s"
-msgstr "ÎÅ×ÅÒÎÏÅ ×ÙÒÁÖÅÎÉÅ ËÌÁÓÓÁ ÓÉÍ×ÏÌÁ: %s"
+msgstr "неверное выражение класса символа: %s"
 
-#: scan.l:663
+#: scan.l:856
 msgid "bad character inside {}'s"
-msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ ×ÎÕÔÒÉ {}"
+msgstr "неверный символ внутри {}"
 
-#: scan.l:669
+#: scan.l:862
 msgid "missing }"
-msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ }"
+msgstr "отсутствует }"
 
-#: scan.l:742
+#: scan.l:940
 msgid "EOF encountered inside an action"
-msgstr "×ÓÔÒÅÞÅÎ EOF ×ÎÕÔÒÉ ÄÅÊÓÔ×ÉÑ"
+msgstr "встречен EOF внутри действия"
 
-#: scan.l:762
+#: scan.l:945
+msgid "EOF encountered inside pattern"
+msgstr "встречен EOF внутри шаблона"
+
+#: scan.l:967
 #, c-format
 msgid "bad character: %s"
-msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ: %s"
+msgstr "неверный символ: %s"
 
-#: scan.l:791
+#: scan.l:996
 #, c-format
 msgid "can't open %s"
-msgstr "ÎÅ×ÏÚÍÏÖÎÏ ÏÔËÒÙÔØ %s"
+msgstr "невозможно открыть %s"
 
 #: scanopt.c:291
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
-msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ: %s [ëìàþé]...\n"
+msgstr "Использование: %s [ПАРАМЕТРЫ]…\n"
 
-#: scanopt.c:565
+#: scanopt.c:564
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
-msgstr "ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
+msgstr "параметр «%s» должен использоваться без аргумента\n"
 
-#: scanopt.c:570
+#: scanopt.c:569
 #, c-format
 msgid "option `%s' requires an argument\n"
-msgstr "ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
+msgstr "параметр «%s» должен использоваться с аргументом\n"
 
-#: scanopt.c:574
+#: scanopt.c:573
 #, c-format
 msgid "option `%s' is ambiguous\n"
-msgstr "ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `%s'\n"
+msgstr "неоднозначный ключ «%s»\n"
 
-#: scanopt.c:578
+#: scanopt.c:577
 #, c-format
 msgid "Unrecognized option `%s'\n"
-msgstr "îÅÒÁÓÐÏÚÎÁÎÎÙÊ ËÌÀÞ `%s'\n"
+msgstr "Нераспознанный параметр «%s»\n"
 
-#: scanopt.c:582
+#: scanopt.c:581
 #, c-format
 msgid "Unknown error=(%d)\n"
-msgstr "îÅÉÚ×ÅÓÔÎÁÑ ÏÛÉÂËÁ=(%d)\n"
+msgstr "Неизвестная ошибка=(%d)\n"
 
 #: sym.c:100
 msgid "symbol table memory allocation failed"
-msgstr "ÏÛÉÂËÁ ÐÒÉ ×ÙÄÅÌÅÎÉÉ ÐÁÍÑÔÉ ÐÏÄ ÓÉÍ×ÏÌÙ"
+msgstr "ошибка при выделении памяти для таблицы символов"
 
-#: sym.c:203
+#: sym.c:202
 msgid "name defined twice"
-msgstr "ÉÍÑ ÏÐÒÅÄÅÌÅÎÏ Ä×ÁÖÄÙ"
+msgstr "имя определено дважды"
 
-#: sym.c:257
+#: sym.c:253
 #, c-format
 msgid "start condition %s declared twice"
-msgstr "ÓÔÁÒÔÏ×ÏÅ ÕÓÌÏ×ÉÅ %s ÏÐÉÓÁÎÏ Ä×ÁÖÄÙ"
+msgstr "начальное условие %s описано дважды"
 
 #: yylex.c:56
 msgid "premature EOF"
-msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
+msgstr "неожиданный EOF"
 
 #: yylex.c:198
+#, c-format
 msgid "End Marker\n"
-msgstr "íÅÔËÁ ËÏÎÃÁ\n"
+msgstr "Метка конца\n"
 
 #: yylex.c:204
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
-msgstr "*þÔÏ-ÔÏ ÎÅ ÔÁË* - tok: %d val: %d\n"
+msgstr "*Что-то не так* — tok: %d val: %d\n"
+
+#~ msgid "consistency check failed in symfollowset"
+#~ msgstr "ошибка при проверке на целостность в symfollowset"
+
+#~ msgid "Can't specify header option if writing to stdout."
+#~ msgstr "Невозможно указать параметр header при выводе на stdout."
+
+#~ msgid "unknown -R option '%c'"
+#~ msgstr "неизвестный -R ключ '%c'"