doc: new translations
diff --git a/NEWS b/NEWS
index 2a8c897..e8e853f 100644
--- a/NEWS
+++ b/NEWS
@@ -26,7 +26,7 @@
 
 ** documentation
 
-*** a new Ukrainian translation has been submitted from the Translation Project.
+*** new bg, pt, uk translations from the translation project
 
 ** scanner
 
diff --git a/po/LINGUAS b/po/LINGUAS
index ab7f200..06fabaf 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,2 +1,2 @@
 # List of available languages.
-ca da de en@boldquot en@quot eo es fi fr ga hr ko nl pl pt_BR ro ru sr sv tr uk vi zh_CN zh_TW
+bg ca da de en@boldquot en@quot eo es fi fr ga hr ko nl pl pt pt_BR ro ru sr sv tr uk vi zh_CN zh_TW
diff --git a/po/bg.po b/po/bg.po
new file mode 100644
index 0000000..95287fa
--- /dev/null
+++ b/po/bg.po
@@ -0,0 +1,932 @@
+# Bulgarian translation of flex po-file.
+# Copyright (C) 2019 The Flex Project (msgids)
+# This file is distributed under the same license as the flex package.
+# Alexander Shopov <ash@kambanaria.org>, 2019.
+msgid ""
+msgstr ""
+"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: 2019-06-20 18:39+0200\n"
+"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
+"Language-Team: Bulgarian <dict@ludost.net>\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: 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“"
+
+#: buf.c:197
+msgid "Allocation of buffer for m4 undef failed"
+msgstr "Неуспешно заделяне на буфер за премахване на дефиниция за „m4“"
+
+#: dfa.c:61
+#, c-format
+msgid "State #%d is non-accepting -\n"
+msgstr "Състояние №%d не приема —\n"
+
+#: dfa.c:124
+msgid "dangerous trailing context"
+msgstr "опасен последващ контекст"
+
+#: dfa.c:166
+#, c-format
+msgid " associated rule line numbers:"
+msgstr " номера на редове на съответното правило:"
+
+#: dfa.c:202
+#, c-format
+msgid " out-transitions: "
+msgstr " изходни преходи: "
+
+#: dfa.c:210
+#, c-format
+msgid ""
+"\n"
+" jam-transitions: EOF "
+msgstr ""
+"\n"
+" същински преходи: край на файл"
+
+#: dfa.c:341
+msgid "consistency check failed in epsclosure()"
+msgstr "неуспешна проверка за консистентност в „epsclosure()“"
+
+#: dfa.c:429
+msgid ""
+"\n"
+"\n"
+"DFA Dump:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Извеждане на ДКА:\n"
+"\n"
+
+#: dfa.c:604
+msgid "could not create unique end-of-buffer state"
+msgstr "уникалното състояние за край на буфер не може да се създаде"
+
+#: dfa.c:625
+#, c-format
+msgid "state # %d:\n"
+msgstr "състояние №%d:\n"
+
+#: dfa.c:785
+msgid "Could not write yynxt_tbl[][]"
+msgstr "„yynxt_tbl[][]“ не може да се запише"
+
+#: dfa.c:1049
+msgid "bad transition character detected in sympartition()"
+msgstr "в „sympartition()“ има неправилен знак за преход"
+
+#: gen.c:478
+msgid ""
+"\n"
+"\n"
+"Equivalence Classes:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Класове на еквивалентност:\n"
+"\n"
+
+#: gen.c:662 gen.c:691 gen.c:1215
+#, c-format
+msgid "state # %d accepts: [%d]\n"
+msgstr "състояние №%d приема: [%d]\n"
+
+#: gen.c:1110
+#, c-format
+msgid "state # %d accepts: "
+msgstr "състояние №%d приема: "
+
+#: gen.c:1157
+msgid "Could not write yyacclist_tbl"
+msgstr "„yyacclist_tbl“ не може да се запише"
+
+#: gen.c:1233
+msgid "Could not write yyacc_tbl"
+msgstr "„yyacc_tbl“ не може да се запише"
+
+#: gen.c:1248 gen.c:1633 gen.c:1656
+msgid "Could not write ecstbl"
+msgstr "„ecstbl“ не може да се запише"
+
+#: gen.c:1271
+msgid ""
+"\n"
+"\n"
+"Meta-Equivalence Classes:\n"
+msgstr ""
+"\n"
+"\n"
+"Класове за мета-еквивалентност:\n"
+
+#: gen.c:1293
+msgid "Could not write yymeta_tbl"
+msgstr "„yymeta_tbl“ не може да се запише"
+
+#: gen.c:1354
+msgid "Could not write yybase_tbl"
+msgstr "„yybase_tbl“ не може да се запише"
+
+#: gen.c:1388
+msgid "Could not write yydef_tbl"
+msgstr "„yydef_tbl“ не може да се запише"
+
+#: gen.c:1428
+msgid "Could not write yynxt_tbl"
+msgstr "„yynxt_tbl“ не може да се запише"
+
+#: gen.c:1464
+msgid "Could not write yychk_tbl"
+msgstr "„yychk_tbl“ не може да се запише"
+
+#: gen.c:1618 gen.c:1647
+msgid "Could not write ftbl"
+msgstr "„ftbl“ не може да се запише"
+
+#: gen.c:1624
+msgid "Could not write ssltbl"
+msgstr "„ssltbl“ не може да се запише"
+
+#: gen.c:1675
+msgid "Could not write eoltbl"
+msgstr "„eoltbl“ не може да се запише"
+
+#: gen.c:1735
+msgid "Could not write yynultrans_tbl"
+msgstr "„yynultrans_tbl“ не може да се запише"
+
+#: main.c:191
+msgid "rule cannot be matched"
+msgstr "правилото не напасва"
+
+#: main.c:196
+msgid "-s option given but default rule can be matched"
+msgstr "зададена е опцията „-s“, но стандартното правило напасва"
+
+#: main.c:236
+msgid "Can't use -+ with -l option"
+msgstr "опциите „-+“ и „-l“ са несъвместими"
+
+#: main.c:239
+msgid "Can't use -f or -F with -l option"
+msgstr "опциите „-f“/„-F“ и „-l“ са несъвместими"
+
+#: main.c:243
+msgid "Can't use --reentrant or --bison-bridge with -l option"
+msgstr "опциите „--reentrant“/„--bison-bridge“ и „-l“ са несъвместими"
+
+#: main.c:275
+msgid "-Cf/-CF and -Cm don't make sense together"
+msgstr "опциите „-Cf“/„-CF“ и „-Cm“ са несъвместими"
+
+#: main.c:278
+msgid "-Cf/-CF and -I are incompatible"
+msgstr "опциите „-Cf“/„-CF“ и „-I“ са несъвместими"
+
+#: main.c:282
+msgid "-Cf/-CF are incompatible with lex-compatibility mode"
+msgstr "опциите „-Cf“/„-CF“ са несъвместими с режима за съвместимост с „lex“"
+
+#: main.c:287
+msgid "-Cf and -CF are mutually exclusive"
+msgstr "опциите „-Cf“ и „-CF“ са несъвместими"
+
+#: main.c:291
+msgid "Can't use -+ with -CF option"
+msgstr "опциите „-+“ и „-CF“ са несъвместими"
+
+#: main.c:294
+#, c-format
+msgid "%array incompatible with -+ option"
+msgstr "опцията „-+“ e несъвместима с декларация „%array“"
+
+#: main.c:299
+msgid "Options -+ and --reentrant are mutually exclusive."
+msgstr "Опциите „-+“ и „--reentrant“ са несъвместими."
+
+#: main.c:302
+msgid "bison bridge not supported for the C++ scanner."
+msgstr "анализатори, които са на C++, не поддържат допълнителната поддръжка за „bison“."
+
+#: main.c:357 main.c:403
+#, c-format
+msgid "could not create %s"
+msgstr "„%s“ не може да се създаде"
+
+#: main.c:416
+msgid "could not write tables header"
+msgstr "заглавният файл за таблиците не може за се запише"
+
+#: main.c:420
+#, c-format
+msgid "can't open skeleton file %s"
+msgstr "файлът-скеле „%s“ не може да се отвори"
+
+#: main.c:456
+msgid "allocation of macro definition failed"
+msgstr "неуспешно заделяне на памет за дефиниция на макрос"
+
+#: main.c:504
+#, c-format
+msgid "input error reading skeleton file %s"
+msgstr "входна грешка при изчитане на файла-скеле „%s“"
+
+#: main.c:508
+#, c-format
+msgid "error closing skeleton file %s"
+msgstr "грешка при затваряне на файла-скеле „%s“"
+
+#: main.c:693
+#, c-format
+msgid "error creating header file %s"
+msgstr "грешка при създаването на заглавен файл „%s“"
+
+#: main.c:701
+#, c-format
+msgid "error writing output file %s"
+msgstr "грешка при записването на изходния файл „%s“"
+
+#: main.c:705
+#, c-format
+msgid "error closing output file %s"
+msgstr "грешка при затварянето на изходния файл „%s“"
+
+#: main.c:709
+#, c-format
+msgid "error deleting output file %s"
+msgstr "грешка при изтриването на изходния файл „%s“"
+
+#: main.c:716
+#, c-format
+msgid "No backing up.\n"
+msgstr "Без връщане назад.\n"
+
+#: main.c:720
+#, c-format
+msgid "%d backing up (non-accepting) states.\n"
+msgstr "%d състояния за връщане (без приемане)\n"
+
+#: main.c:724
+#, c-format
+msgid "Compressed tables always back up.\n"
+msgstr "Компресираните таблици винаги водят до връщане назад.\n"
+
+#: main.c:727
+#, c-format
+msgid "error writing backup file %s"
+msgstr "грешка при записа на файла с връщанията назад „%s“"
+
+#: main.c:731
+#, c-format
+msgid "error closing backup file %s"
+msgstr "грешка при затварянето на файла с връщанията назад „%s“"
+
+#: main.c:736
+#, c-format
+msgid "%s version %s usage statistics:\n"
+msgstr "Статистика за употреба на %s, версия %s:\n"
+
+#: main.c:739
+#, c-format
+msgid "  scanner options: -"
+msgstr "  опции на лексическия анализатор: -"
+
+#: main.c:818
+#, c-format
+msgid "  %d/%d NFA states\n"
+msgstr "  %d/%d състояния на НКА\n"
+
+#: main.c:820
+#, c-format
+msgid "  %d/%d DFA states (%d words)\n"
+msgstr "  %d/%d състояния на ДКА (%d думи)\n"
+
+#: main.c:822
+#, c-format
+msgid "  %d rules\n"
+msgstr "  %d правила\n"
+
+#: main.c:827
+#, c-format
+msgid "  No backing up\n"
+msgstr "  Без връщане назад\n"
+
+#: main.c:831
+#, c-format
+msgid "  %d backing-up (non-accepting) states\n"
+msgstr "  %d състояния за връщане (без приемане)\n"
+
+#: main.c:836
+#, c-format
+msgid "  Compressed tables always back-up\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 записи за основни дефиниции\n"
+
+#: main.c:879
+#, c-format
+msgid "  %d/%d (peak %d) nxt-chk entries created\n"
+msgstr "  %d/%d (максимум %d) записи\n"
+
+#: main.c:883
+#, c-format
+msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
+msgstr "  %d/%d (максимум %d) шаблонни записи\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
+#, c-format
+msgid "  %d sets of reallocations needed\n"
+msgstr "  необходими са %d пъти заделяния на памет наново\n"
+
+#: main.c:918
+#, c-format
+msgid "  %d total table entries needed\n"
+msgstr "  необходими са общо %d записи в таблица\n"
+
+#: main.c:995
+#, c-format
+msgid "Internal error. flexopts are malformed.\n"
+msgstr "Вътрешна грешка.  Неправилни опции за flex.\n"
+
+#: main.c:1005
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "За повече информация изпълнете „%s --help“.\n"
+
+#: main.c:1062
+#, c-format
+msgid "unknown -C option '%c'"
+msgstr "непозната опция към „-C“: „%c“"
+
+#: main.c:1191
+#, c-format
+msgid "%s %s\n"
+msgstr "%s %s\n"
+
+#: main.c:1466
+msgid "fatal parse error"
+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 "опцията за съвместимост с „lex“ на AT&T: „-l“, води до голяма загуба на производителност\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 "REJECT entails a large performance penalty\n"
+msgstr "Отхвърлянето (REJECT) води до голяма загуба на производителност\n"
+
+#: main.c:1551
+#, c-format
+msgid "Variable trailing context rules entail a large performance penalty\n"
+msgstr "Правила с последващ контекст, който не е константен, водят до голяма загуба на производителност\n"
+
+#: main.c:1563
+msgid "REJECT cannot be used with -f or -F"
+msgstr "Отхвърлянето (REJECT) е несъвместимо с „-f“ или „-F“"
+
+#: main.c:1566
+#, c-format
+msgid "%option yylineno cannot be used with REJECT"
+msgstr "директивата за „%option“ — „yylineno“ е несъвместима с отхвърляне (REJECT)"
+
+#: main.c:1569
+msgid "variable trailing context rules cannot be used with -f or -F"
+msgstr "правила с последващ контекст, който не е константен, не може да се ползват заедно с „-f“ или „-F“"
+
+#: main.c:1692
+#, c-format
+msgid "%option yyclass only meaningful for C++ scanners"
+msgstr "директивата за „%option“ — „yyclass“ важи само за анализаторите, които са на C++"
+
+#: main.c:1799
+#, c-format
+msgid "Usage: %s [OPTIONS] [FILE]...\n"
+msgstr "Употреба: %s [ОПЦИЯ] [ФАЙЛ]…\n"
+
+#: main.c:1802
+#, c-format
+msgid ""
+"Generates programs that perform pattern-matching on text.\n"
+"\n"
+"Table Compression:\n"
+"  -Ca, --align      trade off larger tables for better memory alignment\n"
+"  -Ce, --ecs        construct equivalence classes\n"
+"  -Cf               do not compress tables; use -f representation\n"
+"  -CF               do not compress tables; use -F representation\n"
+"  -Cm, --meta-ecs   construct meta-equivalence classes\n"
+"  -Cr, --read       use read() instead of stdio for scanner input\n"
+"  -f, --full        generate fast, large scanner. Same as -Cfr\n"
+"  -F, --fast        use alternate table representation. Same as -CFr\n"
+"  -Cem              default compression (same as --ecs --meta-ecs)\n"
+"\n"
+"Debugging:\n"
+"  -d, --debug             enable debug mode in scanner\n"
+"  -b, --backup            write backing-up information to %s\n"
+"  -p, --perf-report       write performance report to stderr\n"
+"  -s, --nodefault         suppress default rule to ECHO unmatched text\n"
+"  -T, --trace             %s should run in trace mode\n"
+"  -w, --nowarn            do not generate warnings\n"
+"  -v, --verbose           write summary of scanner statistics to stdout\n"
+"\n"
+"Files:\n"
+"  -o, --outfile=FILE      specify output filename\n"
+"  -S, --skel=FILE         specify skeleton file\n"
+"  -t, --stdout            write scanner on stdout instead of %s\n"
+"      --yyclass=NAME      name of C++ class\n"
+"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --tables-file[=FILE] write tables to FILE\n"
+"\n"
+"Scanner behavior:\n"
+"  -7, --7bit              generate 7-bit scanner\n"
+"  -8, --8bit              generate 8-bit scanner\n"
+"  -B, --batch             generate batch scanner (opposite of -I)\n"
+"  -i, --case-insensitive  ignore case in patterns\n"
+"  -l, --lex-compat        maximal compatibility with original lex\n"
+"  -X, --posix-compat      maximal compatibility with POSIX lex\n"
+"  -I, --interactive       generate interactive scanner (opposite of -B)\n"
+"      --yylineno          track line count in yylineno\n"
+"\n"
+"Generated code:\n"
+"  -+,  --c++               generate C++ scanner class\n"
+"  -Dmacro[=defn]           #define macro defn  (default defn is '1')\n"
+"  -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"
+"       --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"
+"Miscellaneous:\n"
+"  -c                      do-nothing POSIX option\n"
+"  -n                      do-nothing POSIX option\n"
+"  -?\n"
+"  -h, --help              produce this help message\n"
+"  -V, --version           report %s version\n"
+msgstr ""
+"Генериране на програма за лексически анализ на текст.\n"
+"\n"
+"Компресиране на таблиците\n"
+"  -Ca, --align             по-точно подравняване в паметта, но по-големи таблици\n"
+"  -Ce, --ecs               създаване на класовете за еквивалентност\n"
+"  -Cf                      без компресия на таблиците, представяне както с „-f“\n"
+"  -CF                      без компресия на таблиците, представяне както с „-F“\n"
+"  -Cm, --meta-ecs          създаване на класовете за мета-еквивалентност\n"
+"  -Cr, --read              четене чрез „read()“, а не от стандартния вход\n"
+"  -f, --full               генериране на голям, но бърз анализатор, (≡„-Cfr“)\n"
+"  -F, --fast               алтернативно представяне на таблиците (≡„-CFr“)\n"
+"  -Cem                     стандартна компресия (≡„--ecs --meta-ecs“)\n"
+"\n"
+"Изчистване на грешки:\n"
+"  -d, --debug              режим на изчистване на грешки в анализатора\n"
+"  -b, --backup             запазване на информацията за връщане назад в „%s“\n"
+"  -p, --perf-report        доклад-производителността към стандартната грешка\n"
+"  -s, --nodefault          потискане на стандартното правило за извеждане на\n"
+"                           текста, който не напасва\n"
+"  -T, --trace              „%s“ да се изпълнява в режим на трасиране\n"
+"  -w, --nowarn             без предупреждения\n"
+"  -v, --verbose            доклад-статистика за анализатора към стандартния изход\n"
+"\n"
+"Файлове:\n"
+"  -o, --outfile=ФАЙЛ       задаване на изходния ФАЙЛ\n"
+"  -S, --skel=ФАЙЛ          задаване на ФАЙЛа-скеле\n"
+"  -t, --stdout             извеждане на анализатора на стандартния изход, а\n"
+"                           не в „%s“\n"
+"      --yyclass=ИМЕ        ИМЕ на клас за C++\n"
+"      --header-file=ФАЙЛ   създаване и на заглавен файл на Cr\n"
+"      --tables-file[=ФАЙЛ] извеждане на таблиците във ФАЙЛа\n"
+"\n"
+"Поведение на анализатора:\n"
+"  -7, --7bit               анализатор за 7-битов вход\n"
+"  -8, --8bit               анализатор за 8-битов вход\n"
+"  -B, --batch              пакетен анализатор (обратното на „-I“)\n"
+"  -i, --case-insensitive   без разлика между главни и малки знаци\n"
+"  -l, --lex-compat         максимална съвместимост с оригиналния „lex“\n"
+"  -X, --posix-compat       максимална съвместимост с „lex“ по POSIX\n"
+"  -I, --interactive        интерактивен анализатор (обратното на „-B“)\n"
+"      --yylineno           следене на броя на редовете чрез „yylineno“\n"
+"\n"
+"Генериран код:\n"
+"  -+,  --c++               генериране на анализатор като клас на C++\n"
+"  -DМАКРОС[=ДЕФИНИЦИЯ]     „#define МАКРОС ДЕФИНИЦИЯ“ (стандартно\n"
+"                           ДЕФИНИЦИЯта е „1“)\n"
+"  -L,  --noline            без директиви „#line“ в анализатора\n"
+"  -P,  --prefix=НИЗ        използване на този НИЗ за префикс вместо обичайния „yy“\n"
+"  -R,  --reentrant         анализатор на C с възможност за повторно извикване\n"
+"       --bison-bridge      допълнителна поддръжка за „bison“\n"
+"       --bison-locations   поддръжка на „yylloc“\n"
+"       --stdinit           първоначалните стойности на „yyin“ и „yyout“ да са\n"
+"                           съответно стандартният вход и изход\n"
+"       --noansi-definitions\n"
+"                           остаряло дефиниране на функциите на C (преди ANSI)\n"
+"       --noansi-prototypes празен списък с параметри в прототипите\n"
+"       --nounistd          без ползване на „<unistd.h>“\n"
+"       --noФУНКЦИЯ         без създаването на определена ФУНКЦИЯ\n"
+"\n"
+"Други:\n"
+"  -c                      опция по POSIX, която не прави нищо\n"
+"  -n                      опция по POSIX, която не прави нищо\n"
+"  -?\n"
+"  -h, --help              извеждане на това помощно съобщение\n"
+"  -V, --version           извеждане на версията на „%s“\n"
+
+#: 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“"
+
+#: misc.c:177
+msgid "memory allocation failed in allocate_array()"
+msgstr "неуспешно заделяне на памет в „allocate_array()“"
+
+#: misc.c:230
+#, c-format
+msgid "bad character '%s' detected in check_char()"
+msgstr "„check_char()“ се натъкна на неправилен знак: „%s“"
+
+#: misc.c:235
+#, c-format
+msgid "scanner requires -8 flag to use the character %s"
+msgstr "опцията „-8“ е задължителна, за да ползвате знака „%s“ в анализатора"
+
+#: misc.c:268
+msgid "dynamic memory failure in copy_string()"
+msgstr "проблем с динамичната памет в „copy_string()“"
+
+#: misc.c:367
+#, c-format
+msgid "%s: fatal internal error, %s\n"
+msgstr "%s: фатална вътрешна грешка — %s\n"
+
+#: misc.c:803
+msgid "attempt to increase array size failed"
+msgstr "неуспешен опит за увеличаване на размер на масив"
+
+#: misc.c:930
+msgid "bad line in skeleton file"
+msgstr "неправилен файл във файл-скеле"
+
+#: misc.c:979
+msgid "memory allocation failed in yy_flex_xmalloc()"
+msgstr "неуспешно заделяне на памет в „yy_flex_xmalloc()“"
+
+#: nfa.c:104
+#, c-format
+msgid ""
+"\n"
+"\n"
+"********** beginning dump of nfa with start state %d\n"
+msgstr ""
+"\n"
+"\n"
+"•••••••••• начало на извеждането на НКА с начално състояние %d\n"
+
+#: nfa.c:115
+#, c-format
+msgid "state # %4d\t"
+msgstr "състояние №%4d"
+
+#: nfa.c:130
+#, c-format
+msgid "********** end of dump\n"
+msgstr "•••••••••• край на извеждането\n"
+
+#: nfa.c:174
+msgid "empty machine in dupmachine()"
+msgstr "празен автомат в „dupmachine()“"
+
+#: nfa.c:240
+#, c-format
+msgid "Variable trailing context rule at line %d\n"
+msgstr "Правило с последващ контекст, който не е константен, на ред %d\n"
+
+#: nfa.c:364
+msgid "bad state type in mark_beginning_as_normal()"
+msgstr "неправилен вид състояние в „mark_beginning_as_normal()“"
+
+#: nfa.c:609
+#, c-format
+msgid "input rules are too complicated (>= %d NFA states)"
+msgstr "входните правила са прекалено сложни (≥ %d състояния на НКА)"
+
+#: nfa.c:688
+msgid "found too many transitions in mkxtion()"
+msgstr "прекалено много преходи в „mkxtion()“"
+
+#: nfa.c:714
+#, c-format
+msgid "too many rules (> %d)!"
+msgstr "прекалено много правила (> %d)!"
+
+#: parse.y:159
+msgid "unknown error processing section 1"
+msgstr "непозната грешка при обработка на 1ви раздел"
+
+#: parse.y:184 parse.y:351
+msgid "bad start condition list"
+msgstr "неправилен списък на началните състояния"
+
+#: parse.y:315
+msgid "unrecognized rule"
+msgstr "непознато правило"
+
+#: parse.y:434 parse.y:447 parse.y:516
+msgid "trailing context used twice"
+msgstr "двукратно ползване на последващ контекст"
+
+#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+msgid "bad iteration values"
+msgstr "неправилни стойности на итерация"
+
+#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+msgid "iteration value must be positive"
+msgstr "стойността на итерацията трябва да е положителна"
+
+#: 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 "изключващ диапазон в клас знаци"
+
+#: 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"
+
+#: scan.l:161
+#, c-format
+msgid "malformed '%top' directive"
+msgstr "неправилна директива „%top“"
+
+#: scan.l:183
+#, no-c-format
+msgid "unrecognized '%' directive"
+msgstr "непозната директива, започваща с „%“"
+
+#: 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 "дефиниция с непълно име"
+
+#: scan.l:443
+msgid "Option line too long\n"
+msgstr "Редът за опция е твърде дълъг\n"
+
+#: scan.l:451
+#, c-format
+msgid "unrecognized %%option: %s"
+msgstr "непозната опция „%%option“: „%s“"
+
+#: scan.l:633 scan.l:800
+msgid "bad character class"
+msgstr "неправилен клас знаци"
+
+#: scan.l:683
+#, c-format
+msgid "undefined definition {%s}"
+msgstr "липсваща дефиниция „{%s}“"
+
+#: scan.l:755
+#, c-format
+msgid "bad <start condition>: %s"
+msgstr "лошо начално условие: „%s“"
+
+#: scan.l:768
+msgid "missing quote"
+msgstr "липсваща кавичка"
+
+#: scan.l:834
+#, c-format
+msgid "bad character class expression: %s"
+msgstr "неправилен израз за клас от знаци: „%s“"
+
+#: scan.l:856
+msgid "bad character inside {}'s"
+msgstr "неправилен знак между „{“ и „}“"
+
+#: scan.l:862
+msgid "missing }"
+msgstr "липсва „}“"
+
+#: scan.l:940
+msgid "EOF encountered inside an action"
+msgstr "край на файл в действие"
+
+#: scan.l:945
+msgid "EOF encountered inside pattern"
+msgstr "край на файл в шаблон"
+
+#: scan.l:967
+#, c-format
+msgid "bad character: %s"
+msgstr "неправилен знак: %s"
+
+#: scan.l:996
+#, c-format
+msgid "can't open %s"
+msgstr "„%s“ не може да се отвори"
+
+#: scanopt.c:291
+#, c-format
+msgid "Usage: %s [OPTIONS]...\n"
+msgstr "Употреба: %s [ОПЦИЯ]…\n"
+
+#: scanopt.c:564
+#, c-format
+msgid "option `%s' doesn't allow an argument\n"
+msgstr "опцията „%s“ се използва без аргументи\n"
+
+#: scanopt.c:569
+#, c-format
+msgid "option `%s' requires an argument\n"
+msgstr "опцията „%s“ изисква аргумент\n"
+
+#: scanopt.c:573
+#, c-format
+msgid "option `%s' is ambiguous\n"
+msgstr "опцията „%s“ не е еднозначна\n"
+
+#: scanopt.c:577
+#, c-format
+msgid "Unrecognized option `%s'\n"
+msgstr "непозната опция „%s“\n"
+
+#: scanopt.c:581
+#, c-format
+msgid "Unknown error=(%d)\n"
+msgstr "Неизвестна грешка=(%d)\n"
+
+#: sym.c:100
+msgid "symbol table memory allocation failed"
+msgstr "неуспешно заделяне на памет за таблицата със символите"
+
+#: sym.c:202
+msgid "name defined twice"
+msgstr "името е дефинирано двукратно"
+
+#: sym.c:253
+#, c-format
+msgid "start condition %s declared twice"
+msgstr "началното условие „%s“ е дефинирано двукратно"
+
+#: yylex.c:56
+msgid "premature EOF"
+msgstr "преждевременен край (EOF)"
+
+#: yylex.c:198
+#, c-format
+msgid "End Marker\n"
+msgstr "Маркер за край\n"
+
+#: yylex.c:204
+#, c-format
+msgid "*Something Weird* - tok: %d val: %d\n"
+msgstr "•Нещо странно• — лекс.: %d ст-ст: %d\n"
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 0000000..7397d95
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,929 @@
+# Portuguese (Portugal) translation for the flex package.
+# Copyright (C) 2019 The Flex Project (msgids)
+# This file is put in the public domain.
+# Pedro Albuquerque <palbuquerque73@gmail.com>, 2019.
+#
+msgid ""
+msgstr ""
+"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: 2019-05-23 10:15+0100\n"
+"Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n"
+"Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\\n\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: buf.c:78
+msgid "Allocation of buffer to print string failed"
+msgstr "Falha ao alocar buffer para imprimir a cadeia"
+
+#: buf.c:100
+msgid "Allocation of buffer for line directive failed"
+msgstr "Falha ao alocar buffer para directiva de linha"
+
+#: buf.c:177
+msgid "Allocation of buffer for m4 def failed"
+msgstr "Falha ao alocar buffer para m4 def"
+
+#: buf.c:197
+msgid "Allocation of buffer for m4 undef failed"
+msgstr "Falha ao alocar buffer para m4 undef"
+
+#: dfa.c:61
+#, c-format
+msgid "State #%d is non-accepting -\n"
+msgstr "Estado nº %d não está a aceitar -\n"
+
+#: dfa.c:124
+msgid "dangerous trailing context"
+msgstr "conteúdo final perigoso"
+
+#: dfa.c:166
+#, c-format
+msgid " associated rule line numbers:"
+msgstr " números de linha de regra associada:"
+
+#: dfa.c:202
+#, c-format
+msgid " out-transitions: "
+msgstr " out-transitions: "
+
+#: dfa.c:210
+#, c-format
+msgid ""
+"\n"
+" jam-transitions: EOF "
+msgstr ""
+"\n"
+" jam-transitions: EOF "
+
+#: dfa.c:341
+msgid "consistency check failed in epsclosure()"
+msgstr "falha no teste de consistência em epsclosure()"
+
+#: dfa.c:429
+msgid ""
+"\n"
+"\n"
+"DFA Dump:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"DFA Dump:\n"
+"\n"
+
+#: dfa.c:604
+msgid "could not create unique end-of-buffer state"
+msgstr "impossível criar estado end-of-buffer exclusivo"
+
+#: dfa.c:625
+#, c-format
+msgid "state # %d:\n"
+msgstr "estado nº %d\n"
+
+#: dfa.c:785
+msgid "Could not write yynxt_tbl[][]"
+msgstr "Impossível escrever yynxt_tbl[][]"
+
+#: dfa.c:1049
+msgid "bad transition character detected in sympartition()"
+msgstr "detectado um mau carácter de transição em sympartition()"
+
+#: gen.c:478
+msgid ""
+"\n"
+"\n"
+"Equivalence Classes:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"Classes de equivalência:\n"
+"\n"
+
+#: gen.c:662 gen.c:691 gen.c:1215
+#, c-format
+msgid "state # %d accepts: [%d]\n"
+msgstr "estado nº %d aceita: [%d]\n"
+
+#: gen.c:1110
+#, c-format
+msgid "state # %d accepts: "
+msgstr "estado nº %d aceita: "
+
+#: gen.c:1157
+msgid "Could not write yyacclist_tbl"
+msgstr "Impossível escrever yyacclist_tbl"
+
+#: gen.c:1233
+msgid "Could not write yyacc_tbl"
+msgstr "Impossível escrever yyacc_tbl"
+
+#: gen.c:1248 gen.c:1633 gen.c:1656
+msgid "Could not write ecstbl"
+msgstr "Impossível escrever ecstbl"
+
+#: gen.c:1271
+msgid ""
+"\n"
+"\n"
+"Meta-Equivalence Classes:\n"
+msgstr ""
+"\n"
+"\n"
+"Classes de meta-equivalência:\n"
+
+#: gen.c:1293
+msgid "Could not write yymeta_tbl"
+msgstr "Impossível escrever yymeta_tbl"
+
+#: gen.c:1354
+msgid "Could not write yybase_tbl"
+msgstr "Impossível escrever yybase_tbl"
+
+#: gen.c:1388
+msgid "Could not write yydef_tbl"
+msgstr "Impossível escrever yydef_tbl"
+
+#: gen.c:1428
+msgid "Could not write yynxt_tbl"
+msgstr "Impossível escrever yynxt_tbl"
+
+#: gen.c:1464
+msgid "Could not write yychk_tbl"
+msgstr "Impossível escrever yychk_tbl"
+
+#: gen.c:1618 gen.c:1647
+msgid "Could not write ftbl"
+msgstr "Impossível escrever ftbl"
+
+#: gen.c:1624
+msgid "Could not write ssltbl"
+msgstr "Impossível escrever ssltbl"
+
+#: gen.c:1675
+msgid "Could not write eoltbl"
+msgstr "Impossível escrever eoltbl"
+
+#: gen.c:1735
+msgid "Could not write yynultrans_tbl"
+msgstr "Impossível escrever yynultrans_tbl"
+
+#: main.c:191
+msgid "rule cannot be matched"
+msgstr "impossível comparar a regra"
+
+#: main.c:196
+msgid "-s option given but default rule can be matched"
+msgstr "indicada a opção -s, mas a regra predefinida pode ser comparada"
+
+#: main.c:236
+msgid "Can't use -+ with -l option"
+msgstr "Impossível usar -+ com a opção -l"
+
+#: main.c:239
+msgid "Can't use -f or -F with -l option"
+msgstr "Impossível usar -f ou -F com a opção -l"
+
+#: main.c:243
+msgid "Can't use --reentrant or --bison-bridge with -l option"
+msgstr "Impossível usar --reentrant ou --bison-bridge com a opção -l"
+
+#: main.c:275
+msgid "-Cf/-CF and -Cm don't make sense together"
+msgstr "-Cf/-CF e -Cm não fazem sentido em conjunto"
+
+#: main.c:278
+msgid "-Cf/-CF and -I are incompatible"
+msgstr "-Cf/-CF e -I são incompatíveis"
+
+#: main.c:282
+msgid "-Cf/-CF are incompatible with lex-compatibility mode"
+msgstr "-Cf/-CF são incompatíveis com o modo lex-compatibility"
+
+#: main.c:287
+msgid "-Cf and -CF are mutually exclusive"
+msgstr "-Cf e -CF são mutuamente exclusivas"
+
+#: main.c:291
+msgid "Can't use -+ with -CF option"
+msgstr "Impossível usar -+ com a opção -CF"
+
+#: main.c:294
+#, c-format
+msgid "%array incompatible with -+ option"
+msgstr "%array incompatível com a opção -+"
+
+#: main.c:299
+msgid "Options -+ and --reentrant are mutually exclusive."
+msgstr "As opções -+ e --reentrant são mutuamente exclusivas."
+
+#: main.c:302
+msgid "bison bridge not supported for the C++ scanner."
+msgstr "bison bridge não suportada no analisador C++."
+
+#: main.c:357 main.c:403
+#, c-format
+msgid "could not create %s"
+msgstr "impossível criar %s"
+
+#: main.c:416
+msgid "could not write tables header"
+msgstr "impossível criar cabeçalho de tabelas"
+
+#: main.c:420
+#, c-format
+msgid "can't open skeleton file %s"
+msgstr "impossível abrir ficheiro esqueleto %s"
+
+#: main.c:456
+msgid "allocation of macro definition failed"
+msgstr "falha ao alocar definição de macro"
+
+#: main.c:504
+#, c-format
+msgid "input error reading skeleton file %s"
+msgstr "erro de entrada ao ler ficheiro esqueleto %s"
+
+#: main.c:508
+#, c-format
+msgid "error closing skeleton file %s"
+msgstr "erro ao fechar ficheiro esqueleto %s"
+
+#: main.c:693
+#, c-format
+msgid "error creating header file %s"
+msgstr "erro ao criar ficheiro de cabeçalho %s"
+
+#: main.c:701
+#, c-format
+msgid "error writing output file %s"
+msgstr "erro ao escrever ficheiro de saída %s"
+
+#: main.c:705
+#, c-format
+msgid "error closing output file %s"
+msgstr "erro ao fechar ficheiro de saída %s"
+
+#: main.c:709
+#, c-format
+msgid "error deleting output file %s"
+msgstr "erro ao eliminar ficheiro de saída %s"
+
+#: main.c:716
+#, c-format
+msgid "No backing up.\n"
+msgstr "Sem seguranças.\n"
+
+#: main.c:720
+#, c-format
+msgid "%d backing up (non-accepting) states.\n"
+msgstr "%d estados de segurança (não aceitando).\n"
+
+#: main.c:724
+#, c-format
+msgid "Compressed tables always back up.\n"
+msgstr "Tabelas comprimidas têm sempre segurança.\n"
+
+#: main.c:727
+#, c-format
+msgid "error writing backup file %s"
+msgstr "erro ao escrever segurança %s"
+
+#: main.c:731
+#, c-format
+msgid "error closing backup file %s"
+msgstr "erro ao fechar segurança %s"
+
+#: main.c:736
+#, c-format
+msgid "%s version %s usage statistics:\n"
+msgstr "%s versão %s estatisticas de uso:\n"
+
+#: main.c:739
+#, c-format
+msgid "  scanner options: -"
+msgstr "  opções do analisador: -"
+
+#: main.c:818
+#, c-format
+msgid "  %d/%d NFA states\n"
+msgstr "  estados NFA %d/%d\n"
+
+#: main.c:820
+#, c-format
+msgid "  %d/%d DFA states (%d words)\n"
+msgstr "  estados DFA %d/%d (%d palavras)\n"
+
+#: main.c:822
+#, c-format
+msgid "  %d rules\n"
+msgstr "  %d regras\n"
+
+#: main.c:827
+#, c-format
+msgid "  No backing up\n"
+msgstr "  Sem seguranças\n"
+
+#: main.c:831
+#, c-format
+msgid "  %d backing-up (non-accepting) states\n"
+msgstr "  %d estados de segurança (não aceitando).\n"
+
+#: main.c:836
+#, c-format
+msgid "  Compressed tables always back-up\n"
+msgstr "Tabelas comprimidas têm sempre segurança.\n"
+
+#: main.c:840
+#, c-format
+msgid "  Beginning-of-line patterns used\n"
+msgstr "  Padrões de início de linha usados\n"
+
+#: main.c:842
+#, c-format
+msgid "  %d/%d start conditions\n"
+msgstr "  condições iniciais %d/%d\n"
+
+#: main.c:846
+#, c-format
+msgid "  %d epsilon states, %d double epsilon states\n"
+msgstr "  estados epsilon %d, estados duplo epsilon %d\n"
+
+#: main.c:850
+#, c-format
+msgid "  no character classes\n"
+msgstr "  sem classes de carácter\n"
+
+#: main.c:854
+#, c-format
+msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
+msgstr "  classes de carácter %d/%d necessárias %d/%d palavras de armazenamento, %d reutilizadas\n"
+
+#: main.c:859
+#, c-format
+msgid "  %d state/nextstate pairs created\n"
+msgstr "  %d pares estado/estado seguinte criados\n"
+
+#: main.c:862
+#, c-format
+msgid "  %d/%d unique/duplicate transitions\n"
+msgstr "  %d/%d transições únicas/duplicadas\n"
+
+#: main.c:867
+#, c-format
+msgid "  %d table entries\n"
+msgstr "  %d entradas de tabela\n"
+
+#: main.c:875
+#, c-format
+msgid "  %d/%d base-def entries created\n"
+msgstr "  %d/%d entradas base-def criadas\n"
+
+#: main.c:879
+#, c-format
+msgid "  %d/%d (peak %d) nxt-chk entries created\n"
+msgstr "  %d/%d (pico %d) entradas nxt-chk criadas\n"
+
+#: main.c:883
+#, c-format
+msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
+msgstr "  %d/%d (pico %d) entradas modelo nxt-chk criadas\n"
+
+#: main.c:887
+#, c-format
+msgid "  %d empty table entries\n"
+msgstr "  %d entradas de tabela vazias\n"
+
+#: main.c:889
+#, c-format
+msgid "  %d protos created\n"
+msgstr "  %d protos criados\n"
+
+#: main.c:892
+#, c-format
+msgid "  %d templates created, %d uses\n"
+msgstr "  %d modelos criados, %d usos\n"
+
+#: main.c:900
+#, c-format
+msgid "  %d/%d equivalence classes created\n"
+msgstr "  %d/%d classes de equivalência criadas\n"
+
+#: main.c:908
+#, c-format
+msgid "  %d/%d meta-equivalence classes created\n"
+msgstr "  %d/%d classes de meta-equivalência criadas\n"
+
+#: main.c:914
+#, c-format
+msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
+msgstr "  %d (%d gravadas) colisões de hash, %d DFAs iguais\n"
+
+#: main.c:916
+#, c-format
+msgid "  %d sets of reallocations needed\n"
+msgstr "  %d conjuntos de re-alocação necessários\n"
+
+#: main.c:918
+#, c-format
+msgid "  %d total table entries needed\n"
+msgstr "  %d entradas de tabela totais necessárias\n"
+
+#: main.c:995
+#, c-format
+msgid "Internal error. flexopts are malformed.\n"
+msgstr "Erro interno. flexopts mal formados.\n"
+
+#: main.c:1005
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr "Tente \"%s --help\" para mais informação.\n"
+
+#: main.c:1062
+#, c-format
+msgid "unknown -C option '%c'"
+msgstr "Opção -C \"%c\" desconhecida"
+
+#: main.c:1191
+#, c-format
+msgid "%s %s\n"
+msgstr "%s %s\n"
+
+#: main.c:1466
+msgid "fatal parse error"
+msgstr "erro de processamento fatal"
+
+#: main.c:1498
+#, c-format
+msgid "could not create backing-up info file %s"
+msgstr "impossível criar ficheiro de informação de segurança %s"
+
+#: main.c:1519
+#, c-format
+msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
+msgstr "a opção de compatibilidade -l AT&T lex implica uma grande perda de desempenho\n"
+
+#: main.c:1522
+#, c-format
+msgid " and may be the actual source of other reported performance penalties\n"
+msgstr " e pode ser a fonte actual de outras penalizações de desempenho reportadas\n"
+
+#: main.c:1528
+#, c-format
+msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
+msgstr "a %%opção yylineno implica uma perda de desempenho SÓ em regras que possam comparar caracteres de nova linha\n"
+
+#: main.c:1535
+#, c-format
+msgid "-I (interactive) entails a minor performance penalty\n"
+msgstr "-I (interactiva) implica uma perda menor de desempenho\n"
+
+#: main.c:1540
+#, c-format
+msgid "yymore() entails a minor performance penalty\n"
+msgstr "yymore() implica uma perda menor de desempenho\n"
+
+#: main.c:1546
+#, c-format
+msgid "REJECT entails a large performance penalty\n"
+msgstr "REJECT implica uma grave perda de desempenho\n"
+
+#: main.c:1551
+#, c-format
+msgid "Variable trailing context rules entail a large performance penalty\n"
+msgstr "Regras variáveis de contexto final implicam uma grave perda de desempenho\n"
+
+#: main.c:1563
+msgid "REJECT cannot be used with -f or -F"
+msgstr "REJECT não ode ser usado com -f ou -F"
+
+#: main.c:1566
+#, c-format
+msgid "%option yylineno cannot be used with REJECT"
+msgstr "a %opção yylineno não pode ser usada com REJECT"
+
+#: main.c:1569
+msgid "variable trailing context rules cannot be used with -f or -F"
+msgstr "regras variáveis de contexto final não podem ser usadas com -f ou -F"
+
+#: main.c:1692
+#, c-format
+msgid "%option yyclass only meaningful for C++ scanners"
+msgstr "a %opção yyclass só tem significado para analisadores C++"
+
+#: main.c:1799
+#, c-format
+msgid "Usage: %s [OPTIONS] [FILE]...\n"
+msgstr "Uso: %s [OPÇÕES] [FICHEIRO]...\n"
+
+#: main.c:1802
+#, c-format
+msgid ""
+"Generates programs that perform pattern-matching on text.\n"
+"\n"
+"Table Compression:\n"
+"  -Ca, --align      trade off larger tables for better memory alignment\n"
+"  -Ce, --ecs        construct equivalence classes\n"
+"  -Cf               do not compress tables; use -f representation\n"
+"  -CF               do not compress tables; use -F representation\n"
+"  -Cm, --meta-ecs   construct meta-equivalence classes\n"
+"  -Cr, --read       use read() instead of stdio for scanner input\n"
+"  -f, --full        generate fast, large scanner. Same as -Cfr\n"
+"  -F, --fast        use alternate table representation. Same as -CFr\n"
+"  -Cem              default compression (same as --ecs --meta-ecs)\n"
+"\n"
+"Debugging:\n"
+"  -d, --debug             enable debug mode in scanner\n"
+"  -b, --backup            write backing-up information to %s\n"
+"  -p, --perf-report       write performance report to stderr\n"
+"  -s, --nodefault         suppress default rule to ECHO unmatched text\n"
+"  -T, --trace             %s should run in trace mode\n"
+"  -w, --nowarn            do not generate warnings\n"
+"  -v, --verbose           write summary of scanner statistics to stdout\n"
+"\n"
+"Files:\n"
+"  -o, --outfile=FILE      specify output filename\n"
+"  -S, --skel=FILE         specify skeleton file\n"
+"  -t, --stdout            write scanner on stdout instead of %s\n"
+"      --yyclass=NAME      name of C++ class\n"
+"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --tables-file[=FILE] write tables to FILE\n"
+"\n"
+"Scanner behavior:\n"
+"  -7, --7bit              generate 7-bit scanner\n"
+"  -8, --8bit              generate 8-bit scanner\n"
+"  -B, --batch             generate batch scanner (opposite of -I)\n"
+"  -i, --case-insensitive  ignore case in patterns\n"
+"  -l, --lex-compat        maximal compatibility with original lex\n"
+"  -X, --posix-compat      maximal compatibility with POSIX lex\n"
+"  -I, --interactive       generate interactive scanner (opposite of -B)\n"
+"      --yylineno          track line count in yylineno\n"
+"\n"
+"Generated code:\n"
+"  -+,  --c++               generate C++ scanner class\n"
+"  -Dmacro[=defn]           #define macro defn  (default defn is '1')\n"
+"  -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"
+"       --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"
+"Miscellaneous:\n"
+"  -c                      do-nothing POSIX option\n"
+"  -n                      do-nothing POSIX option\n"
+"  -?\n"
+"  -h, --help              produce this help message\n"
+"  -V, --version           report %s version\n"
+msgstr ""
+"Gera programas que realizam comparação de padrões em texto.\n"
+"\n"
+"Compressão de tabela:\n"
+"  -Ca, --align      troca tabelas maiores para melhor alinhamento da memória\n"
+"  -Ce, --ecs        constrói classes de equivalência\n"
+"  -Cf               não comprime tabelas; usa representação -f\n"
+"  -CF               não comprime tabelas; usa representação -F\n"
+"  -Cm, --meta-ecs   constrói classes de meta-equivalência\n"
+"  -Cr, --read       usa read() em vez de stdio para entrada do analisador\n"
+"  -f, --full        gera analisador rápido e grande. Igual a -Cfr\n"
+"  -F, --fast        usa representação de tabela alternativa. Igual a -CFr\n"
+"  -Cem              compressão predefinida (igual a --ecs --meta-ecs)\n"
+"\n"
+"Depuração:\n"
+"  -d, --debug             activa modo de depuração no analisador\n"
+"  -b, --backup            escreve informação de segurança em %s\n"
+"  -p, --perf-report       escreve relatório de desempenho em stderr\n"
+"  -s, --nodefault         suprime regra predefinida para texto não comparado em ECHO\n"
+"  -T, --trace             %s deve correr em modo de rasto\n"
+"  -w, --nowarn            não gera avisos\n"
+"  -v, --verbose           escreve resumo das estatísticas do analisador em stdout\n"
+"\n"
+"Ficheiros:\n"
+"  -o, --outfile=FICH      especifica o ficheiro de saída\n"
+"  -S, --skel=FICH         especifica o ficheiro esqueleto\n"
+"  -t, --stdout            escreve o analisador em stdout em vez de %s\n"
+"      --yyclass=NOME      nome da classe C++\n"
+"      --header-file=FICH   cria um ficheiro de cabeçalho C além do analisador\n"
+"      --tables-file[=FICH] escreve tabelas em FICH\n"
+"\n"
+"Comportamento do analisador:\n"
+"  -7, --7bit              gera analisador de 7-bit\n"
+"  -8, --8bit              gera analisador de 8-bit\n"
+"  -B, --batch             gera analisador em lote (oposto de -I)\n"
+"  -i, --case-insensitive  ignora maiúsculas em padrões\n"
+"  -l, --lex-compat        compatibilidade máxima com o léxico original\n"
+"  -X, --posix-compat      compatibilidade máxima com o léxico POSIX\n"
+"  -I, --interactive       gera analisador interactivo (oposto de -B)\n"
+"      --yylineno          segue o total de linhas em yylineno\n"
+"\n"
+"Código gerado:\n"
+"  -+,  --c++               gera classe de analisador C++\n"
+"  -Dmacro[=defn]           #define macro defn  (defn predefinido é \"1\")\n"
+"  -L,  --noline            suprime directivas #line no analisador\n"
+"  -P,  --prefix=CADEIA     usa CADEIA como prefixo em vez de \"yy\"\n"
+"  -R,  --reentrant         gera um analisador reentrant C\n"
+"       --bison-bridge      analisador para processador de bison puro.\n"
+"       --bison-locations   inclui suporte yylloc.\n"
+"       --stdinit           inicializa yyin/yyout para stdin/stdout\n"
+"       --noansi-definitions definições de funções de estilo antigo\n"
+"       --noansi-prototypes  lista de parâmetros em protótipos\n"
+"       --nounistd          não inclui <unistd.h>\n"
+"       --noFUNÇÃO          não gera uma FUNÇÃO em particular\n"
+"\n"
+"Mistas:\n"
+"  -c                      opção POSIX não-fazer-nada\n"
+"  -n                      opção POSIX não-fazer-nada\n"
+"  -?\n"
+"  -h, --help              mostra esta mensagem de ajuda\n"
+"  -V, --version           mostra a versão %s\n"
+
+#: misc.c:65
+msgid "allocation of sko_stack failed"
+msgstr "falha ao alocar sko_stack"
+
+#: misc.c:102 misc.c:128
+#, c-format
+msgid "name \"%s\" ridiculously long"
+msgstr "nome \"%s\" ridiculamente longo"
+
+#: misc.c:177
+msgid "memory allocation failed in allocate_array()"
+msgstr "falha ao alocar memória em allocate_array()"
+
+#: misc.c:230
+#, c-format
+msgid "bad character '%s' detected in check_char()"
+msgstr "mau carácter \"%s\" detectado em check_char()"
+
+#: misc.c:235
+#, c-format
+msgid "scanner requires -8 flag to use the character %s"
+msgstr "o analisador requer bandeira -8 para usar o carácter %s"
+
+#: misc.c:268
+msgid "dynamic memory failure in copy_string()"
+msgstr "falha de memória dinâmica copy_string()"
+
+#: misc.c:367
+#, c-format
+msgid "%s: fatal internal error, %s\n"
+msgstr "%s: erro interno fatal, %s\n"
+
+#: misc.c:803
+msgid "attempt to increase array size failed"
+msgstr "falha ao tentar aumentar o tamanho da matriz"
+
+#: misc.c:930
+msgid "bad line in skeleton file"
+msgstr "má linha em ficheiro esqueleto"
+
+#: misc.c:979
+msgid "memory allocation failed in yy_flex_xmalloc()"
+msgstr "falha ao alocar memória em yy_flex_xmalloc()"
+
+#: nfa.c:104
+#, c-format
+msgid ""
+"\n"
+"\n"
+"********** beginning dump of nfa with start state %d\n"
+msgstr ""
+"\n"
+"\n"
+"********** a começar o despejo de nfa com estado inicial %d\n"
+
+#: nfa.c:115
+#, c-format
+msgid "state # %4d\t"
+msgstr "estado nº %4d\t"
+
+#: nfa.c:130
+#, c-format
+msgid "********** end of dump\n"
+msgstr "********** fim de despejo\n"
+
+#: nfa.c:174
+msgid "empty machine in dupmachine()"
+msgstr "máquina vazia em dupmachine()"
+
+#: nfa.c:240
+#, c-format
+msgid "Variable trailing context rule at line %d\n"
+msgstr "Regra variável de contexto final na linha %d\n"
+
+#: nfa.c:364
+msgid "bad state type in mark_beginning_as_normal()"
+msgstr "mau tipo de estado em mark_beginning_as_normal()"
+
+#: nfa.c:609
+#, c-format
+msgid "input rules are too complicated (>= %d NFA states)"
+msgstr "regras de entrada muito complicadas (>= %d estados NFA)"
+
+#: nfa.c:688
+msgid "found too many transitions in mkxtion()"
+msgstr "encontradas demasiadas transições em mkxtion()"
+
+#: nfa.c:714
+#, c-format
+msgid "too many rules (> %d)!"
+msgstr "demasiadas regras (> %d)!"
+
+#: parse.y:159
+msgid "unknown error processing section 1"
+msgstr "erro desconhecido ao processar a secção 1"
+
+#: parse.y:184 parse.y:351
+msgid "bad start condition list"
+msgstr "má lista de condição inicial"
+
+#: parse.y:315
+msgid "unrecognized rule"
+msgstr "regra não reconhecida"
+
+#: parse.y:434 parse.y:447 parse.y:516
+msgid "trailing context used twice"
+msgstr "contexto final usado duas vezes"
+
+#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+msgid "bad iteration values"
+msgstr "maus valores de iteração"
+
+#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+msgid "iteration value must be positive"
+msgstr "o valor de iteração tem de ser positivo"
+
+#: parse.y:804 parse.y:814
+#, c-format
+msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
+msgstr "o intervalo de caracteres [%c-%c] é ambíguo num analisador que ignora maiúsculas"
+
+#: parse.y:819
+msgid "negative range in character class"
+msgstr "intervalo negativo em classe de carácter"
+
+#: parse.y:916
+msgid "[:^lower:] is ambiguous in case insensitive scanner"
+msgstr "[:^lower:] é ambíguo num analisador que ignora maiúsculas"
+
+#: parse.y:922
+msgid "[:^upper:] ambiguous in case insensitive scanner"
+msgstr "[:^upper:] é ambíguo num analisador que ignora maiúsculas"
+
+#: scan.l:75 scan.l:618 scan.l:676
+msgid "Input line too long\n"
+msgstr "Linha de entrada muito grande\n"
+
+#: scan.l:161
+#, c-format
+msgid "malformed '%top' directive"
+msgstr "directiva \"%top\" mal formada"
+
+#: scan.l:183
+#, no-c-format
+msgid "unrecognized '%' directive"
+msgstr "directiva \"%\" não reconhecida"
+
+#: scan.l:192
+msgid "Definition name too long\n"
+msgstr "Nome de definição muito longo\n"
+
+#: scan.l:284
+msgid "Unmatched '{'"
+msgstr "{ sem par"
+
+#: scan.l:300
+#, c-format
+msgid "Definition value for {%s} too long\n"
+msgstr "Valor de definição para {%s} muito longo\n"
+
+#: scan.l:317
+msgid "incomplete name definition"
+msgstr "Definição de nome incompleta"
+
+#: scan.l:443
+msgid "Option line too long\n"
+msgstr "Linha de opção muito longa\n"
+
+#: scan.l:451
+#, c-format
+msgid "unrecognized %%option: %s"
+msgstr "%%opção não reconhecida: %s"
+
+#: scan.l:633 scan.l:800
+msgid "bad character class"
+msgstr "má classe de carácter"
+
+#: scan.l:683
+#, c-format
+msgid "undefined definition {%s}"
+msgstr "definição {%s} indefinida"
+
+#: scan.l:755
+#, c-format
+msgid "bad <start condition>: %s"
+msgstr "má <condição inicial>: %s"
+
+#: scan.l:768
+msgid "missing quote"
+msgstr "aspa em falta"
+
+#: scan.l:834
+#, c-format
+msgid "bad character class expression: %s"
+msgstr "má expressão de classe de carácter: %s"
+
+#: scan.l:856
+msgid "bad character inside {}'s"
+msgstr "mau carácter dentro de {}"
+
+#: scan.l:862
+msgid "missing }"
+msgstr "} em falta"
+
+#: scan.l:940
+msgid "EOF encountered inside an action"
+msgstr "EOF encontrado dentro de uma acção"
+
+#: scan.l:945
+msgid "EOF encountered inside pattern"
+msgstr "EOF encontrado dentro de um padrão"
+
+#: scan.l:967
+#, c-format
+msgid "bad character: %s"
+msgstr "mau carácter: %s"
+
+#: scan.l:996
+#, c-format
+msgid "can't open %s"
+msgstr "impossível abrir %s"
+
+#: scanopt.c:291
+#, c-format
+msgid "Usage: %s [OPTIONS]...\n"
+msgstr "Uso: %s [OPÇÕES]...\n"
+
+#: scanopt.c:564
+#, c-format
+msgid "option `%s' doesn't allow an argument\n"
+msgstr "a opção \"%s\" não permite um argumento\n"
+
+#: scanopt.c:569
+#, c-format
+msgid "option `%s' requires an argument\n"
+msgstr "a opção \"%s\" requer um argumento\n"
+
+#: scanopt.c:573
+#, c-format
+msgid "option `%s' is ambiguous\n"
+msgstr "a opção \"%s\" é ambígua\n"
+
+#: scanopt.c:577
+#, c-format
+msgid "Unrecognized option `%s'\n"
+msgstr "Opção \"%s\" não reconhecida\n"
+
+#: scanopt.c:581
+#, c-format
+msgid "Unknown error=(%d)\n"
+msgstr "Erro desconhecido=(%d)\n"
+
+#: sym.c:100
+msgid "symbol table memory allocation failed"
+msgstr "falha ao alocar memória de tabela de símbolos"
+
+#: sym.c:202
+msgid "name defined twice"
+msgstr "nome definido duas vezes"
+
+#: sym.c:253
+#, c-format
+msgid "start condition %s declared twice"
+msgstr "condição inicial %s declarada duas vezes"
+
+#: yylex.c:56
+msgid "premature EOF"
+msgstr "EOF prematuro"
+
+#: yylex.c:198
+#, c-format
+msgid "End Marker\n"
+msgstr "Marcador final\n"
+
+#: yylex.c:204
+#, c-format
+msgid "*Something Weird* - tok: %d val: %d\n"
+msgstr "*Algo esquisito* - tok: %d val: %d\n"