commit 40b9bb03c36e803d66e2f50bad1cef1844a0607e Author: eleksir Date: Sun Jan 2 16:24:49 2022 +0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..95ccf19 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +_Deparsed_XSubs.pm +.idea/** +.vscode/** +.vstags +*.pid +*.log +data/config.json +vendor_perl/** diff --git a/.perlcriticrc b/.perlcriticrc new file mode 100644 index 0000000..5c8964e --- /dev/null +++ b/.perlcriticrc @@ -0,0 +1,51 @@ +[-ControlStructures::ProhibitUnlessBlocks] +# oh. c'mon. just a little bit + +[-ValuesAndExpressions::ProhibitNoisyQuotes] +# that is not constructive constraint at all + +[-Variables::ProhibitPackageVars] +# sad, but true - this is how real world actually works + +[-NamingConventions::Capitalization] +# eh? + +[-ControlStructures::ProhibitPostfixControls] +# just a tiny bit? + +[-Miscellanea::ProhibitTies] +# seriously? + +[-RegularExpressions::RequireExtendedFormatting] +# good to be, but i don't like to write a long book near each regexp desribing what it does + +[-InputOutput::RequireBriefOpen] +# I'm closing that fucking FH as soon as fucking possible, is that clear, you, little shit? + +[-ValuesAndExpressions::ProhibitEmptyQuotes] +# totally garbage rule + +[-CodeLayout::RequireTidyCode] +# just fuck off + +[-CodeLayout::ProhibitParensWithBuiltins] +# nope + +[-InputOutput::RequireCheckedClose] +# let's imagine situation that close() returns an error - what i'm supposed to do? + +[-RegularExpressions::RequireLineBoundaryMatching] +# i don't give a shit to folks that think in sed|awk way - it's fucking perl, man, it uses perl regexes, not those +# pricky posix ones! + +[-ValuesAndExpressions::ProhibitMagicNumbers] +# in this program it is easy to guess what "magick" numbers means, just rtfm, don't be lazy asshole. + +[-Modules::ProhibitExcessMainComplexity] +# okay. next time I promise I'll do that. + +[-RegularExpressions::ProhibitEscapedMetacharacters] +# no, i have to allow this, so go play in your sandbox in your kindergarden + +[-ControlStructures::ProhibitCascadingIfElse] +# just shut the fuck up diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4ff3f42 --- /dev/null +++ b/LICENSE @@ -0,0 +1,127 @@ + The "Artistic License" + + Preamble + +The intent of this document is to state the conditions under which a +Package may be copied, such that the Copyright Holder maintains some +semblance of artistic control over the development of the package, +while giving the users of the package the right to use and distribute +the Package in a more-or-less customary fashion, plus the right to make +reasonable modifications. + +Definitions: + + "Package" refers to the collection of files distributed by the + Copyright Holder, and derivatives of that collection of files + created through textual modification. + + "Standard Version" refers to such a Package if it has not been + modified, or has been modified in accordance with the wishes + of the Copyright Holder as specified below. + + "Copyright Holder" is whoever is named in the copyright or + copyrights for the package. + + "You" is you, if you're thinking about copying or distributing + this Package. + + "Reasonable copying fee" is whatever you can justify on the + basis of media cost, duplication charges, time of people involved, + and so on. (You will not be required to justify it to the + Copyright Holder, but only to the computing community at large + as a market that must bear the fee.) + + "Freely Available" means that no fee is charged for the item + itself, though there may be fees involved in handling the item. + It also means that recipients of the item may redistribute it + under the same conditions they received it. + +1. You may make and give away verbatim copies of the source form of the +Standard Version of this Package without restriction, provided that you +duplicate all of the original copyright notices and associated disclaimers. + +2. You may apply bug fixes, portability fixes and other modifications +derived from the Public Domain or from the Copyright Holder. A Package +modified in such a way shall still be considered the Standard Version. + +3. You may otherwise modify your copy of this Package in any way, provided +that you insert a prominent notice in each changed file stating how and +when you changed that file, and provided that you do at least ONE of the +following: + + a) place your modifications in the Public Domain or otherwise make them + Freely Available, such as by posting said modifications to Usenet or + an equivalent medium, or placing the modifications on a major archive + site such as uunet.uu.net, or by allowing the Copyright Holder to include + your modifications in the Standard Version of the Package. + + b) use the modified Package only within your corporation or organization. + + c) rename any non-standard executables so the names do not conflict + with standard executables, which must also be provided, and provide + a separate manual page for each non-standard executable that clearly + documents how it differs from the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +4. You may distribute the programs of this Package in object code or +executable form, provided that you do at least ONE of the following: + + a) distribute a Standard Version of the executables and library files, + together with instructions (in the manual page or equivalent) on where + to get the Standard Version. + + b) accompany the distribution with the machine-readable source of + the Package with your modifications. + + c) give non-standard executables non-standard names, and clearly + document the differences in manual pages (or equivalent), together + with instructions on where to get the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + +5. You may charge a reasonable copying fee for any distribution of this +Package. You may charge any fee you choose for support of this +Package. You may not charge a fee for this Package itself. However, +you may distribute this Package in aggregate with other (possibly +commercial) programs as part of a larger (possibly commercial) software +distribution provided that you do not advertise this Package as a +product of your own. You may embed this Package's interpreter within +an executable of yours (by linking); this shall be construed as a mere +form of aggregation, provided that the complete Standard Version of the +interpreter is so embedded. + +6. The scripts and library files supplied as input to or produced as +output from the programs of this Package do not automatically fall +under the copyright of this Package, but belong to whoever generated +them, and may be sold commercially, and may be aggregated with this +Package. If such scripts or library files are aggregated with this +Package via the so-called "undump" or "unexec" methods of producing a +binary executable image, then distribution of such an image shall +neither be construed as a distribution of this Package nor shall it +fall under the restrictions of Paragraphs 3 and 4, provided that you do +not represent such an executable image as a Standard Version of this +Package. + +7. C subroutines (or comparably compiled subroutines in other +languages) supplied by you and linked into this Package in order to +emulate subroutines and variables of the language defined by this +Package shall not be considered part of this Package, but are the +equivalent of input as in Paragraph 6, provided these subroutines do +not change the language in any way that would cause it to fail the +regression tests for the language. + +8. Aggregation of this Package with a commercial distribution is always +permitted provided that the use of this Package is embedded; that is, +when no overt attempt is made to make this Package's interfaces visible +to the end user of the commercial distribution. Such use shall not be +construed as a distribution of this Package. + +9. The name of the Copyright Holder may not be used to endorse or promote +products derived from this software without specific prior written permission. + +10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + + The End diff --git a/README b/README new file mode 100644 index 0000000..76f9d0e --- /dev/null +++ b/README @@ -0,0 +1,38 @@ +aleesa-phrases +----------------------------------------------------------------------------------------------------------------------- +Отвечалка готовыми словарными фразами. +* Фразы основанные на цепях маркова из крылатых латинских изречений +* Фортунки (на основе фраз из fortune_mod) +* Пятница +* Пословицы и поговорки + + +Механика работы +----------------------------------------------------------------------------------------------------------------------- +Сервис подписан на канал phrases. В этот канал пишет другой демоночек - aleesa-misc. А ещё aleesa-cron (чтобы фортунки +по утрам рассылать) + +Ответ направляется в redis-канал, указанный в поле plugin входящего сообщения. + +Формат протокола - см README от aleesa-misc. + + +Как это запустить? +----------------------------------------------------------------------------------------------------------------------- +Понадобится perl, cpanm и local::lib, а также несколько разных devel-пакетов для разных библиотек. Как правило, это +находится методом тыка, но точно понадобятся sqlite-devel, bdb-devel (или db-devel), hiredis-devel. Кроме того, +понадобятся development tools - gcc, gcc-g++, perl-devel, make, cmake и так далее. + +Приложение тестировалось на alpine linux x86_64 3.12, со встроенным perl-5.32.1 + +В каталоге с приложением под целевым пользователем запускаем bash bootstrap.sh Ждём с надеждой, что оно не обломится в +пути. + +Если всё хорошо, то после запуска redis-а, создания data/config.json из data/config_sample.json, можно запускать и само +приложение. + +В каталоге contrib находится скрипт для alpine linux, системы инициализации openrc. Этот скрипт достаточно положить В +/etc/init.d/aleesa-misc сконфигурить сервис по инструкции выше и после этого сервис запускается командой: +service aleesa-misc start +в автозагрузку его можно прописать через команду +rc-update add aleesa-misc default diff --git a/bin/aleesa-phrases b/bin/aleesa-phrases new file mode 100755 index 0000000..6dd4aae --- /dev/null +++ b/bin/aleesa-phrases @@ -0,0 +1,189 @@ +#!/usr/bin/perl + +use 5.018; +use strict; +use warnings; +use utf8; +use open qw (:std :utf8); +use English qw ( -no_match_vars ); + +use version; our $VERSION = qw (1.0); + +my $workdir; + +# До фактического запуска логики программы, сменим рабочий каталог, чтобы подцепить либы +BEGIN { + use Cwd qw (chdir abs_path); + my @CWD = split /\//xms, abs_path ($PROGRAM_NAME); + + if ($#CWD > 1) { + $#CWD = $#CWD - 2; + } + + $workdir = join '/', @CWD; + chdir $workdir; +} + +use lib ("$workdir/lib", "$workdir/vendor_perl", "$workdir/vendor_perl/lib/perl5"); +no Cwd; +use Cwd::utf8 qw (chdir abs_path); +use File::Basename qw (basename dirname); +use File::Path qw (make_path); +use Log::Any qw ($log); +use Log::Any::Adapter; +use Log::Any::For::Std; +use POSIX qw (setgid setuid setsid); + +use Conf qw (LoadConf); +use Phrases qw (RunPhrases); + +sub daemonize; +sub __fork; +sub __signal_handler; + +local $OUTPUT_AUTOFLUSH = 1; +my $runAsUid = $UID; + +my $piddir = '/var/run/' . basename (abs_path ($PROGRAM_NAME)); +my $C = LoadConf (); +my $loglevel = $C->{'loglevel'} // 'notice'; +my $logfile; + +if (defined $C->{'log'}) { + $logfile = $C->{'log'}; +} elsif (defined $C->{'debug_log'}) { + $logfile = $C->{'debug_log'}; +} + +# Если мы запускаемся под рутом, то попробуем создать необходимые служебные каталоги и простать на них корректных +# владельца и права +if ($UID == 0) { + my $user = $C->{user}; + + unless (defined $user) { + die "Unable to run as root, please define unprivileged user in config.json\n"; + } + + my ($uid, $gid) = (getpwnam $user)[2,3]; + + unless (-d $piddir) { + make_path ( + $piddir, { + uid => $uid, + group => $gid + } + ); + } + + if (defined $logfile) { + my $logdir = dirname $logfile; + + unless (-d $logdir) { + make_path ( + $logdir, { + uid => $uid, + group => $gid + } + ) or die "Unable to create $logdir: $OS_ERROR\n"; + } + } + + # Переключаемся на "рабочего" пользователя и сбрасываем привилегии. + setgid ($gid) or die "Unable to switch to group of $user($OS_ERROR)\n"; + setuid ($uid) or die "Unable to switch to account $user($OS_ERROR)\n"; +} else { + $piddir = $workdir; +} + +if (defined $logfile) { + Log::Any::Adapter->set ('File', $logfile, log_level => $loglevel); +} else { + Log::Any::Adapter->set ('File', '/dev/null'); +} + +# По-умолчанию, демонизируемся, если явно не указано, что этого делать не надо +if (defined ($C->{daemonize}) && $C->{daemonize}) { + daemonize (); +} elsif ( ! defined ($C->{daemonize})) { + daemonize (); +} + +# Запишем pid-файл +my $apath = abs_path $PROGRAM_NAME; + +unless (defined $apath) { + $log->fatal ("[FATAL] Unable to get abs_path: $OS_ERROR\n"); + exit 1; +}; + +my $pidfile = sprintf '%s/%s.pid', $piddir, basename $apath; +$log->info ("[INFO] Creating pidfile at $pidfile"); + +open my $MYPID, '>', $pidfile or do { + $log->fatal ("[FATAL] Error opening $pidfile: $OS_ERROR"); + exit 1; +}; + +print {$MYPID} $PID or do { + $log->fatal ("[FATAL] Error writing to $pidfile: $OS_ERROR"); + exit 1; +}; + +close $MYPID; ## no critic (InputOutput::RequireCheckedSyscalls + +# При наличии хака в лице Mojo::IOLoop::Signal в Phrases.pm, установка хэндлера в этом месте - это фактически +# подстраховка на случай ядерной войны. +local $SIG{INT} = \&__signal_handler; +local $SIG{TERM} = \&__signal_handler; + +# Поставим правильное имя процесса в proctitle +$PROGRAM_NAME = abs_path $PROGRAM_NAME; ## no critic (Variables::RequireLocalizedPunctuationVars) + +# И запустим уже наш сервис +RunPhrases (); + +if (-f $pidfile) { + unlink $pidfile; +} + +exit 0; + +sub daemonize { + __fork (); + POSIX::setsid (); + open STDIN, '<', '/dev/null'; ## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::RequireCheckedOpen) + # we handle STDOUT && STDERR via Log::Any::For::Std, so do not close them explicitly + #open STDOUT, '>', '/dev/null'; ## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::RequireCheckedOpen) + #open STDERR, '>', '/dev/null'; ## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::RequireCheckedOpen) + __fork (); + umask 0; + return; +} + +sub __fork { + my $pid = fork; + + unless (defined $pid) { + $log->fatal ("[FATAL] Can't fork: $OS_ERROR"); + exit 1; + } + + if ($pid != 0) { + exit; + } + + return; +} + +sub __signal_handler { + $log->info ("[INFO] Caught a signal $OS_ERROR"); + + if (-f $pidfile) { + unlink $pidfile; + } + + exit 0; +} + +__END__ +# vim: set ft=perl noet ai ts=4 sw=4 sts=4: diff --git a/bin/fortune_seed.pl b/bin/fortune_seed.pl new file mode 100644 index 0000000..c9c3c9d --- /dev/null +++ b/bin/fortune_seed.pl @@ -0,0 +1,26 @@ +#!/usr/bin/perl + +use 5.018; +use strict; +use warnings; +use utf8; +use open qw (:std :utf8); +use English qw ( -no_match_vars ); +use version; our $VERSION = qw (1.0); + +my $workdir; + +# before we run, change working dir +BEGIN { + use Cwd qw (chdir abs_path); + my @CWD = split /\//xms, abs_path ($PROGRAM_NAME); + if ($#CWD > 1) { $#CWD = $#CWD - 2; } + $workdir = join '/', @CWD; + chdir $workdir; +} + +use lib ("$workdir/lib", "$workdir/vendor_perl", "$workdir/vendor_perl/lib/perl5"); +use Fortune qw (Seed); + +Seed (); +exit 0; diff --git a/bin/friday_seed.pl b/bin/friday_seed.pl new file mode 100644 index 0000000..73e5050 --- /dev/null +++ b/bin/friday_seed.pl @@ -0,0 +1,26 @@ +#!/usr/bin/perl + +use 5.018; +use strict; +use warnings; +use utf8; +use open qw (:std :utf8); +use English qw ( -no_match_vars ); +use version; our $VERSION = qw (1.0); + +my $workdir; + +# before we run, change working dir +BEGIN { + use Cwd qw (chdir abs_path); + my @CWD = split /\//xms, abs_path ($PROGRAM_NAME); + if ($#CWD > 1) { $#CWD = $#CWD - 2; } + $workdir = join '/', @CWD; + chdir $workdir; +} + +use lib ("$workdir/lib", "$workdir/vendor_perl", "$workdir/vendor_perl/lib/perl5"); +use Friday qw (Seed); + +Seed (); +exit 0; diff --git a/bin/proverb_seed.pl b/bin/proverb_seed.pl new file mode 100644 index 0000000..fd5bb49 --- /dev/null +++ b/bin/proverb_seed.pl @@ -0,0 +1,26 @@ +#!/usr/bin/perl + +use 5.018; +use strict; +use warnings; +use utf8; +use open qw (:std :utf8); +use English qw ( -no_match_vars ); +use version; our $VERSION = qw (1.0); + +my $workdir; + +# before we run, change working dir +BEGIN { + use Cwd qw (chdir abs_path); + my @CWD = split /\//xms, abs_path ($PROGRAM_NAME); + if ($#CWD > 1) { $#CWD = $#CWD - 2; } + $workdir = join '/', @CWD; + chdir $workdir; +} + +use lib ("$workdir/lib", "$workdir/vendor_perl", "$workdir/vendor_perl/lib/perl5"); +use Proverb qw (Seed); + +Seed (); +exit 0; diff --git a/bin/train_lat.pl b/bin/train_lat.pl new file mode 100644 index 0000000..21e2452 --- /dev/null +++ b/bin/train_lat.pl @@ -0,0 +1,26 @@ +#!/usr/bin/perl + +use 5.018; +use strict; +use warnings; +use utf8; +use open qw (:std :utf8); +use English qw ( -no_match_vars ); +use version; our $VERSION = qw (1.0); + +my $workdir; + +# before we run, change working dir +BEGIN { + use Cwd qw (chdir abs_path); + my @CWD = split /\//xms, abs_path ($PROGRAM_NAME); + if ($#CWD > 1) { $#CWD = $#CWD - 2; } + $workdir = join '/', @CWD; + chdir $workdir; +} + +use lib ("$workdir/lib", "$workdir/vendor_perl", "$workdir/vendor_perl/lib/perl5"); +use Lat qw (Train); + +Train (); +exit 0; diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100644 index 0000000..eb5740a --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +cpanm -l vendor_perl --self-contained --force --installdeps . + +# vim: set ft=sh noet ai ts=4 sw=4 sts=4: diff --git a/contrib/aleesa-phrases.openrc b/contrib/aleesa-phrases.openrc new file mode 100644 index 0000000..751365a --- /dev/null +++ b/contrib/aleesa-phrases.openrc @@ -0,0 +1,11 @@ +#!/sbin/openrc-run + +name="$SVCNAME" +command="/var/lib/$SVCNAME/bin/$SVCNAME" +pidfile="/var/run/$SVCNAME/$SVCNAME.pid" + +depend() { + need net redis + use dns + after redis +} diff --git a/cpanfile b/cpanfile new file mode 100644 index 0000000..b972cab --- /dev/null +++ b/cpanfile @@ -0,0 +1,27 @@ +requires 'Carp', '0'; +requires 'Cwd::utf8', '==0.011'; +requires 'Data::Dumper', '==2.183'; +requires 'Encode', '==3.16'; +requires 'English', '==1.11'; +requires 'EV', '==4.33'; +requires 'File::Basename', '0'; +requires 'File::Path', '==2.18'; +requires 'Hailo', '==0.75'; +requires 'JSON', '==4.03'; +requires 'JSON::XS', '==4.03'; +requires 'local::lib', '==2.000028'; +requires 'Log::Any', '==1.710'; +requires 'Log::Any::Adapter', '==1.710'; +requires 'Log::Any::For::Std', '==0.05'; +requires 'Math::Random::Secure', '==0.080001'; +requires 'Mojolicious', '==9.22'; +requires 'Mojo::IOLoop', '0'; +requires 'Mojo::IOLoop::Signal', '0.003'; +requires 'Mojo::Redis', '==3.27'; +requires 'Mojo::Util', '0'; +requires 'open', '0'; +requires 'POSIX', '0'; +requires 'Protocol::Redis::XS', '0'; +requires 'SQLite_File', '==0.1006'; +requires 'utf8', '0'; +requires 'version', '0'; \ No newline at end of file diff --git a/data/config_sample.json b/data/config_sample.json new file mode 100644 index 0000000..eade1a6 --- /dev/null +++ b/data/config_sample.json @@ -0,0 +1,44 @@ +{ + # server address + "server" : "redis", + "port" : "6379", + "channels": [ + "phrases" + ], + + # should we fork() and become unix daemon? + "daemonize": 1, + + # unprivileged system user to run bot as + "user" : "nobody", + + # logs goes there + "log" : "/var/log/aleesa-weba/aleesa-phrases.log", + "loglevel": "notice", + + # ditto + "pid" : "/var/run/aleesa-phrases/aleesa-phrases.pid", + + # maximal amount of message forwardings, to avoid endless loops + "forwards_max" : 5, + + "lat" : { + "brain": "data/lat/brain.sqlite", + "src": "data/lat.txt" + }, + + "fortune" : { + "dir" : "data/fortune", + "srcdir" : "data/fortune_src" + }, + + "proverb" : { + "dir" : "data/proverb", + "srcdir" : "data/proverb_src" + }, + + "friday" : { + "dir" : "data/friday", + "src" : "data/friday.txt" + } +} diff --git a/data/fortune_src/citates b/data/fortune_src/citates new file mode 100644 index 0000000..b019f4c --- /dev/null +++ b/data/fortune_src/citates @@ -0,0 +1,521 @@ +Что сказал Берлиоз своей музыкой? - ничего; но как потрясающе он это +сказал. + -- Джеймс Гиббонз Хьюнекер +% +Музыка будет по-немецки, вы не поймете. + -- Оскар Уайльд +% +Четвертый раз смотрю этот фильм и должна вам сказать, что сегодня актеры +играли как никогда. + -- Фаина Раневская +% +Продолжительность фильма определяется выносливостью мочевого пузыря +обычного зрителя. + -- Альфред Хичкок +% +А что, если наша Земля - ад какой-нибудь другой планеты? + -- Олдос Хаксли +% +Если видишь женщину голой достаточно долго, опять начинаешь обращать +внимание на ее лицо. + -- Генри Миллер +% +Самое главное - выглядеть совершенно естественно; но для этого нужно очень +много косметики. + -- Кельвин Кляйн +% +Любовь - лучшая косметика. Но косметику купить легче. + -- Ив Сен-Лоран +% +Людей без лишнего веса больше всего на кладбище. + -- Биверли Силлз +% +Лучше быть молодым навозным жуков, чем старой райской птицей. + -- Марк Твен +% +К старости недостатки ума становятся все заметнее, как и недостатки +внешности. + -- Франсуа Ларошфуко +% +Лучше быть старой, чем мертвой. + -- Бриджит Бардо +% +Вечеринка с коктейлями: место, где можно встретить людей, которые пьют так +много, что вы не можете вспомнить их имена. + -- Космо Сардо +% +Средство от похмелья: выжать сок из двух бутылок виски... + -- Эдди Кондон +% +Дважды два уже четыре, а будет еще лучше. + -- Хенрик Ягодзинский +% +Я сидел на диете 14 дней и потерял всего две недели. + -- Тоти Филдс +% +В жизни можно полагаться только на себя самого. Да и то не советую! + -- Тристан Бернар +% +Источник нашей мудрости - наш опыт. Источник нашего опыта - наша глупость. + -- Саша Гитри +% +Уходя на тот свет, не забудь выключить этот. + -- Виктор Коваль +% +Я не верю ни единому слову из того, что вы говорите... или я вам. + -- Оскар Уайльд +% +Я думаю, мы должны говорить правду или хотя бы говорить то, что мы думаем. + -- Юрий Лужков +% +Нельзя иметь все. Куда вы это положите? + -- Стивен Райт +% +Сначала забываешь имена, потом забываешь лица, потом забываешь застегивать +ширинку, потом забываешь расстегивать ширинку. + -- Лео Розенберг +% +Время - лучший учитель, но, к сожалению, оно убивает своих учеников. + -- Гектор Берлиоз +% +Прошлое - чужая страна, там все по-другому. + -- Лесли Хартли +% +Помните о бедняках - это не требует никаких расходов. + -- Генри Уиллер Шоу +% +Я люблю своих детей, но некоторые мне не нравятся. + -- Лилиан Картер, мать президента США Д.Картера +% +Дружба - это когда можно ни с того ни с сего приехать к человеку +и поселиться у него. + -- Давид Самойлов +% +Врагов я забрасываю цветами - в гробу! + -- Сальвадор Дали +% +Я не боюсь умереть. Я просто не хочу при этом присутствовать. + -- Вуди Аллен +% +Какой замечательный некролог! С таким бы жить и жить! + -- М.Генин +% +Твои шансы выиграть в лотерею возрастут, если ты купишь билет. + -- Уинстон Грум из "Правил Фореста Гампа" +% +Пока вы ищете, кого бы стоило полюбить, вам нужен кто-то, кто любит вас. + -- Шейла Делейни +% +Если двое любят друг друга, это не может счастливо кончиться. + -- Э.Хемингуэй +% +Я порвала с ним через три года. Это была типичная любовь-ненависть. Мы оба +любили его и ненавидели меня. + -- Кэрол Зискинд +% +В тех кругах, в которых я вращаюсь, переспать с женщиной - недостаточный +повод для того, чтобы быть ей представленным. + -- Вирджиния Маклауд +% +Она говорила на восемнадцати языках и ни на одном из них не умела сказать +"нет". + -- Дороти Паркер +% +Помни: в пяти случаях из шести свет в конце туннеля - это свет +надвигающегося поезда. + -- Пол Диксон +% +Все соседи плохи, но верхние хуже нижних. + -- Константин Мелихан +% +Америка - единственный матриархат, под сенью которого женщины ведут борьбу +за равные права. + -- А. Рот +% +Брак - это лотерея, но в случае проигрыша вы не можете порвать свой билет. + -- Ф. Ноулз +% +Британский солдат устоит против кого угодно, только не против Британского +министерства обороны. + -- Бернард Шоу +% +Век наш таков, что он гордится машинами, умеющими думать, и побаивается +людей, которые пытаются проявить ту же способность. + -- Г.Мамфорд Джонс +% +Военная мудрость есть понятие, заключающее противоречие в самом себе. +Война - слишком серьезное дело, чтобы доверять его военным. + -- Талейран +% +Выход из беды найти не столь просто, как попасть в нее. + -- Эд Хау +% +Граница в политической географии - воображаемая линия между двумя +государствами, отделяющая воображаемые права одного от воображаемых прав +другого. + -- А.Бирс +% +Да не устрашит тебя величие: одни рождаются великими, другие достигают +величия, третьим его навязывают. + -- Уильям Шекспир +% +Две тысячи лет нам поставляли примеры для подражания, и теперь ничто нас +не извиняет, если мы, воюя, воем плохо. + -- Т.Э. Лоуренс +% +Дипломная работа среднего выпускника университета есть не что иное, как +кости, перенесенные из одной могилы в другую. + -- Дж. Фрэнк Доуби +% +Для любой волнующей человека проблемы всегда легко найти решение - +простое, достижимое и ошибочное. + -- Г.Л. Менкен +% +Добрым словом и револьвером вы можете добиться гораздо большего, чем одним +только добрым словом. + -- Аль Капоне +% +Если вы не восходящий, значит, вы ниспадающий. + -- Стивен Поттер +% +Если честолюбивая мечта не заставляет вас страдать, значит, ее у вас нет. + -- К. Норрис +% +Идеалист тот, кто, заметив, что роза пахнет лучше капусты, заключает, что +и суп из нее будет лучше. + -- Г. Менкен +% +Жизнь что луковица - вы чистите ее, снимая слой за слоем, и иногда +плачете. + -- С. Сандберг +% +Когда люди вольны поступать как угодно, они обычно подражают друг другу. + -- Э. Хоффер +% +Коли все думают одинаково, значит, никто особенно и не думает. + -- У.Липпман +% +Компьютеры бесподобны: за несколько минут они могут совершить такую +грандиозную ошибку, какую не в состоянии сделать множество людей за многие +месяцы. + -- М. Мичэм +% +Логика - это искусство ошибаться с уверенностью в своей правоте. + -- Дж. У. Крач +% +Любовь - вещь идеальная, супружество - реальная; смешение реального с +идеальным никогда не проходит безнаказанно. + -- И. Гете +% +Любое ваше решение - это ошибка. + -- Эдуард Далберг +% +Мой способ шутить - это говорить правду. На свете нет ничего +смешнее. + -- Бернард Шоу +% +На моем веку было очень много прогресса, но, боюсь, не в том направлении. + -- О. Нэш +% +Нам мало добиться успеха. Надо еще, чтобы друзья наши потерпели крах. + -- Ларошфуко +% +Невеста - женщина, у которой виды на счастье остались позади. + -- А. Бирс +% +Нужно учредить Нобелевскую премию за остроумие. Без физиков, химиков, +экономистов мы, если прижмет, как-нибудь обойдемся. Без мира обычно тоже +обходимся. Без остроумия - пропадем. + -- Джордж Ф. Уилл +% +О несчастном случае мой подзащитный впервые узнал лишь тогда, когда этот +случай произошел. + -- Из речи адвоката +% +Первый и наихудший из всех подвохов - обмануть самого себя. Потом уже +легко впасть в любой грех. + -- Дж. Бэйли +% +По самой своей природе человек, чем старше он становится, тем больше +противится переменам, особенно переменам к лучшему. + -- Дж. Стейнбек +% +Поиск истины способен изрядно позабавить. + -- Вернон Говард +% +Полицейский находится на своем месте не для того, чтобы создавать +беспорядок; полицейский находится там, чтобы поддерживать беспорядок. + -- Ричард Дж. Дейли, мэр Чикаго +% +Посредственность - добродетель в глазах посредственных людей. + -- Ж. Жобер +% +Посредственный учитель излагает. Хороший учитель объясняет. Выдающийся +учитель показывает. Великий учитель вдохновляет. + -- Уильям Артур Уорд +% +Президенту в его окружении не нужны мужчины и женщины, умеющие только +поддакивать. Если он говорит "нет", мы все говорим "нет". + -- Элизабет Доул, помощница президента Рейгана +% +"Радость моя, мы живем в переходную эпоху", говорил Адам Еве по дороге из +рая. + -- У. Инге +% +"С нами такого случиться не может" - это фраза номер один в списке +знаменитых последних слов. + -- Дэвид Кросби +% +Самая большая ложь - это неверно понятая правда. + -- Уильям Джеймс +% +Скрипка - инструмент для щекотания человеческих ушей при помощи трения +лошадиного хвоста о внутренности кошки. + -- Амброз Бирс +% +Среди преподавателей большинство составляют те, кто не прервет чтение +своих лекций по навигации, даже если корабль уже тонет. Следствие: +путешествие длиною в тысячу миль завершается одним-единственным шагом. + -- Джеймс Г. Борен +% +Творческое мышление, возможно, означает всего-навсего понимание, что нет +никакой особой добродетели в том, чтобы вести дела так, как их всегда вели до +нас. + -- Рудольф Флеш +% +Технический прогресс лишь снабдил нас действенными средствами для движения +назад. + -- О. Хаксли +% +То, что мы называем прогрессом, представляет собой замену одной +неприятности другою. + -- Г. Эллис +% +Учитель прикасается к вечности: никто не может сказать, где кончается его +влияние. + -- Генри Адамс +% +Человеку надлежит жить с самим собой и постоянно заботиться, чтобы это +была хорошая кампания. + -- С.И. Хьюз +% +Эксперт - это человек, знающий все больше и больше о все меньшем и +меньшем. Следствие: колледж не может обеспечить компетентность; он может +обеспечить диплом. + -- Николас Батлер +% +Эксперт - это человек, который больше уже не думает; он знает. + -- К. Хаббард +% +Я не верю в коллективную мудрость невежественных индивидуумов. + -- Т. Карлейль +% +Я не против полиции, я просто боюсь ее. + -- Альфред Хичкок +% +Я никогда не мог взять в толк, почему из-за того только, что я выражаюсь +невразумительно, никто меня не понимает. + -- Милтон Мейер +% +Пожилые люди думают, что с тех пор, как они постарели, мир только теряет, +но ничего не приобретает. + -- Жеремена Сталь +% +Меня интересует мнение не тех людей, которые разбираются в данном вопросе, +а тех, которые сами кое-что сделали в одной из областей знания. + -- Hорберт Винер +% +Случайные открытия совершают только подготовленные умы. + -- Паскаль +% +Бывают услуги настолько большие, что рассчитаться за них можно только +неблагодарностью. + -- Дюма-отец +% +"Тоже неплохо!" - сказал зять, бросив камнем в собаку, а попав в тещу. + -- Плутарх. "Пир семи мудрецов". +% +Не ковыряй в носу перочинным ножиком. Лезвие легко ржавеет. + -- Из книги "Пи" +% +Очень много - иногда вполне достаточно для женщины. + -- Из книги "Ву" +% +В жизни можно рассчитывать только на самих себя. И то не всегда. + -- Тристан Бернар +% +Все было бы очень хорошо, если бы все наши поступки можно было бы совершать +дважды. + -- Гете +% +E = mC + -- Альберт Эйнштейн +% +Человек бывает таким, каким его создал бог, но преимущественно немного хуже. + -- Сервантес +% +Две параллельных линии полюбили друг друга. Трагедия! + -- Из книги "Пи" +% +Я знаток всех "и т. д., и т. п." и я знаю, когда за ними ничего больше +не скрывается. + -- Гомес де ля Серна +% +Одна туча может погрузить в темноту весь парк, одно слово может затемнить +самое большое счастье. + -- Гомес де ля Серна +% +Тот факт, что будильник не прозвенел, изменило уже много человеческих судеб. + -- Агата Кристи +% +Заполнять жизнь - это еще не значит обогащать ее. + -- Из книги "Пи" +% +Самым серьезным достоинством современного искусства является то, что, когда +эти произведения смотрят дети, они не задают таких вопросов, на которые +обычно бывает трудно отвечать. + -- Лорд Галлюкс +% +Замужних женщин значительно больше, чем женатых мужчин. + -- По данным американской статистики +% +Совесть - это тот голос, который говорит тебе, что не надо делать именно то, +что ты только что сделал. + -- Из книги "Пи" +% +И мелкие неприятности могут отравить жизнь, если нет крупных. + -- Р. Гомес де ля Серна +% +Счастлив тот, кто ни о чем не думает. + -- Софокл +% +Я не читаю газет. Все, о чем там стоит знать, всегда кто-нибудь расскажет. + -- Лорд Галлюкс +% +Недостаточно встать рано, надо еще и проснуться. + -- Из книги "Ву" +% +Высохшую реку не благодарят за ее прошлое. + -- Рабиндранат Тагор +% +Давать советы всегда плохо, но хорошего совета тебе никто не простит. + -- Оскар Уайльд +% +Устарели не только ответы, но даже сами вопросы. + -- Хемингуэй +% +Друзья, как арбузы: случается, что из десяти ни одного хорошего не выбрать. + -- Из книги "Пи" +% +Пока слушатели во время лекции поглядывают на часы, все в порядке. Страшно, +когда они начинают удивленно подносить часы к уху. + -- Из книги "Пи" +% +Нет правила, которого нельзя было бы нарушить ради более прекрасного. + -- Л. Бетховен +% +Прекрасна молодость, когда она в движении и знает, куда приложить свои силы. + -- Менандр +% +Простим горячке юных лет +И юный жар, и юный бред. + -- А. С. Пушкин +% +Грустно думать, что напрасно +Была нам молодость дана. + -- А. С. Пушкин +% +Всего больнее знать, что счастье было так близко - и ты сам его отверг. + -- Софокл +% +Настоящий художник настолько владеет искусством, насколько оно владеет им. + -- Г. Флобер +% +Великие люди сами сооружают себе пьедестал; статую воздвигнет будущее. + -- В. Гюго +% +...заслуги отца на сына не распространяются. + -- М. Сервантес +% +Давайте жить так, чтобы даже гробовщику стало жалко, когда мы умрем. + -- Марк Твен +% + - Обладаешь ли ты разумом? + - Обладаю. + - Почему же ты не пользуешься им? + -- Марк Авелий +% +Нет такой глупости, которой нельзя было бы исправить при помощи ума, +и нет такой мудрости, которой нельзя было бы испортить при помощи глупости. + -- В. Гёте +% +Оптимист верит, что мы живем в лучшем из миров. +Пессимист боится, что так оно и есть. +% +Пессимист видит темный туннель. +Оптимист видит свет в конце туннеля. +Реалист видит, что это на них мчится поезд. +И только машинист видит трех мудаков, тупящих на рельсах. +% +Мы познаем человека не по тому, что он знает, а по тому, чему он радуется. + -- Р.Тагор +% +Если вы уверены в победе вашей национальной сборной на Евро 2004, то вы либо +дурак, либо немец. + -- М.Задорнов +% +Нет некрасивых женщин - есть только женщины, не знающие, что они красивы. + -- Вивьен Ли +% +Любая сложная технология неотличима от волшебства. + -- Артур Кларк +% +Я люблю тебя не за то, кто ты, а за то, кто я, когда я с тобой. + -- Габриэль Гарсиа +% +Ни один человек не заслуживает твоих слез, а те, кто заслуживают, +не заставят тебя плакать. + -- Габриэль Гарсиа +% +Только потому что кто-то не любит тебя так, как тебе хочется, не значит, +что он не любит тебя всей душой. + -- Габриэль Гарсиа +% +Настоящий друг – это тот, кто будет держать тебя за руку +и чувствовать твоё сердце. + -- Габриэль Гарсиа +% +Худший способ скучать по человеку – это быть с ним и понимать, +что он никогда не будет твоим. + -- Габриэль Гарсиа +% +Никогда не переставай улыбаться, даже когда тебе грустно: кто-то может влюбиться +в твою улыбку. + -- Габриэль Гарсиа +% +Возможно, в этом мире ты всего лишь человек, но для кого-то ты – весь мир. + -- Габриэль Гарсиа +% +Не трать время на человека, который не стремится провести его с тобой. + -- Габриэль Гарсиа +% +Возможно, Бог хочет, чтобы мы встречали не тех людей до того, как встретим того +единственного человека. Чтобы, когда это случится, мы были благодарны. + -- Габриэль Гарсиа +% +Не плачь, потому что это закончилось. Улыбнись, потому что это было. + -- Габриэль Гарсиа +% +Всегда найдутся люди, которые причинят тебе боль. Нужно продолжать верить людям, +просто быть чуть осторожнее. + -- Габриэль Гарсиа +% +Стань лучше и сам пойми, кто ты, прежде чем встретишь нового человека и будешь +надеяться, что он тебя поймет. + -- Габриэль Гарсиа +% +Не прилагай столько усилий, все самое лучшее случается неожиданно. + -- Габриэль Гарсиа +% +Всё, что случаеется, имеет причину. + -- Габриэль Гарсиа diff --git a/data/friday.txt b/data/friday.txt new file mode 100644 index 0000000..63db2c0 --- /dev/null +++ b/data/friday.txt @@ -0,0 +1,106 @@ +А пятница-то не настоящая!!! || 34 +Спасибо, кэп! || 5 +А за пивом сегодня идет user || 5 +user, ты пиво купил? || 5 +Пятница хоть и небольшой праздник, НО ЗАТО ПОСТОЯННЫЙ! || 45 +Мечта о пятнице — самая распространенная среди работающего населения. Она начинается уже в понедельник и продолжается четыре дня в неделю || 123 +Господи дай мне сил не напиться! А если напьюсь, то сделай так чтобы я не плясала, если сил твоих не хватит и я все-таки запляшу, постарайся хотя бы сделать так, что бы не пела! А если и это не удастся, сломай к чертям сервер Ю-тюба! || 5 +К пятнице готова! Мобильный заряжен, баланс пополнен, в кармане записка с моим адресом || 5 +ПРЕДУПРЕЖДЕНИЕ: Чрезмерное употребление… Алкоголя. делает ВАШУ пятницу… ОФИГИТЕЛЬНОЙ || 5 +Сломай систему! Порви шаблоны! Начни новую жизнь с пятницы! || 5 +В пятницу совесть доживает только до обеда… || 5 +Сколько работнику не плати, всё равно пятницы ждёт || 1234 +Робинзооон!!! || 5 +В пятницу чаще всего хочется выпить. В понедельник чаще всего хочется пятницу. || 15 +Здравствуй Пятница, здравствуй, любимая, наконец-то ты пришла! || 5 +Зарплата в пятницу — удар по печени. || 5 +Вот и пятница пришла, счастье, радость принесла! || 5 +Все мы — пятницофилы и понедельникофобы. || 15 +Люблю понедельник — всего три дня до пятницы. || 1 +Ну здравствуй, пятница. Я дополз к тебе. || 5 +Пятница. Улыбните Улыбальник. || 5 +Чувствуете? Выходными пахнет! || 5 +До пятницы осталось…. пережить четверг! || 4 +Если пятый день подряд опаздываешь на работу, значит сегодня пятница. || 5 +От понедельника до пятницы очень далеко, а от пятницы до понедельника рукой подать. || 123467 +Жизнь начинается в пятницу вечером… В остальное время — выживание. || 5 +Пятница… белочки следят за тобой. || 5 +Примета: Если утром жена с вами не разговаривает, значит, вчера была пятница. || 6 +Чем ближе пятница, тем добрее утро! || 1234 +Пятница — лучший день недели, особенно её вечер, так как выходные еще не начались, а работа уже закончилась. || 5 +Отличной была пятница! Особенно запомнились русские народные катания на полицейских бобиках! || 1 +Четверг это маленькая пятница, а пятницу можно считать выходным. || 4 +Пятница традиционно начиналась легким ужином в четверг и заканчивалась плотным завтраком в понедельник. || 4 +Уже с пятницы начинаешь бояться, что скоро понедельник! || 67 +Каждую пятницу жизнь начинается сначала. || 5 +С пятницами надо быть осторожней. Они обещают слишком уж многое. Они словно рецензия на кинофильм: лишь в редких случаях предсказанное ими сбывается. || 5 +Русские в понедельник не работают — у них тяжелый день. || 1 +Все мы просто дети, изображающие на работе профессионалов, а на самом деле ждущие пятницы, чтобы быть сами собой! || 5 +Почему-то в пятницу хочется ничего не делать. Хотя в другие дни тоже хочется, но в пятницу ничего не делать хочется особенно сильно. || 5 +Хочешь жить завтрашним днем — устрой себе семь пятниц на неделе. || 5 +Что мне снег, что мне зной, что мне вермут разливной, когда мои друзья со мной! || 5 +Каждую пятницу количество довольных жизнью людей увеличивается на пару миллиардов. Этот эффект длится вплоть до понедельника. || 123467 +Так, Понедельник, Вторник, Среда, Четверг, проходим, проходим, не задерживаем Пятницу! || 1234 +Четверг. Смотрю на часы — 16.00. Еле сдерживаюсь, чтобы не закричать — Ура! Во Владивостоке Пятница! || 4 +Пятница — друг человека! || 5 +В пятницу вечером понимаешь, что в принципе — жить можно. || 5 +Ничто так не портит пятницу, как новость о том, что сегодня четверг. || 4 +Жить нужно так, как будто каждый день пятница. || 123467 +Только настроился на работу ― и вдруг снова пятница, снова отдых… Вот так всегда! || 5 +Хорошо, что пятница! Плохо, что еще только утро… || 5 +Уходя вечером с работы, он был рад, что сегодня пятница и можно спрятаться в уикенде. Он накроется субботой и воскресеньем как двумя толстыми одеялами. Ему ничего не хотелось делать; у него даже не хватало мужества читать. || 5 +Понедельник ― отходим от выходных, вторник ― готовимся к работе, среда ― работаем, четверг ― отдыхаем от работы, пятница ― готовимся к выходным. Вывод: может, хватит уже работать по средам! || 3 +Неделя тянется со скоростью улитки. Но в пятницу вечером улитка превращается в Феррари. || 5 +Прогноз погоды на пятницу: облачно, вечером осадки в виде алкоголя, возможен секс. || 5 +А пятница всё ближе. Печень в ужасе, попа в предвкушении! || 5 +Люди, с кем я вчера пила? Объясните, откуда у меня кот и почему люди в магазине мне хлопают… Кстати… никому кот не нужен? || 6 +ПЯТНИЦА — это старинный народный праздник, который начинают праздновать в ПЯТНИЦУ, а заканчивают — в ПОНЕДЕЛЬНИК || 567 +Вчера была пятница, завтра суббота, а сегодня тогда что? || 1 +Сегодня… ПЯТНИЧКА !!! Из хороших новостей пока… ВСЁ… Всем ДОБРА!!! || 5 +Надену-ка я сегодня красное платье… Под цвет глаз… || 5 +Вчера был yesterday || 235 +Вчера была yesterday || 467 +Вчера было yesterday || 1 +Никогда еще ожидание пятницы не было столь актуальным… || 4 +Завтра будет tomorrow || 1234567 +Четверг - это "завтра пятница". И помнить об этом надо в среду || 34 +Понедельник - это не начало новой недели, это задница предыдущей( || 1 +Я, признаться, очень завидую Робинзону Крузо. Живет на острове, никто мозги не е@ет и ПЯТНИЦА, ПЯТНИЦА, ПЯТНИЦА!!! Каждый день ПЯТНИЦА!!! || 1234 +Наступила пятница — значит мечты начинают сбываться || 5 +Вечером в пятницу девчонки должны быть алкоголенькими… || 5 +Позвони мне в субботу рано утром, часов в пятнадцать || 5 +Ну, вот и пятница пришла… Граждане и гражданки! Следите за своей белкой, чтобы она не разгорячилась! || 5 +Ага, вчера был понедельник, а сегодня сразу ПЯТНИЦА! ЩАС! || 2 +Вот пятница пролетела, наступил понедельник, но не все, не все вернулись на свои рабочие места || 1 +Работа не волк… В лес не убежит?.. А вдруг убежит… Так, за раздумьями и мечтами, и проходит рабочий день… || 12345 +Какой бы долгой и увлекательной ни была вечеринка, сделайте все, чтобы завтра проснуться в собственной спальне || 5 +Тяжелое воскресное засыпание объясняется вполне объективной причиной — организм на подсознательном уровне пытается продлить выходной… || 7 +Воскресенье — день недели с привкусом разочарования. Вроде и выходной, но все равно что-то не то || 7 +У воскресного дня есть только один существенный недостаток — он почему-то кончается в два раза быстрее, чем любой понедельник или четверг. || 7 +Первое правило хороших выходных - не вставать рано с постели || 67 +Понедельник — это такой день, когда вместо бейджика хочется повесить табличку: "Осторожно, злая собака" || 1 +Нас тупило утро понедельника || 1 +Бедный понедельник. Его ж никто не любит! || 1 +Вот выйду на пенсию — буду каждый понедельник выходить на улицу в семь утра и смотреть, как люди идут на работу и страдают || 1 +Если бы понедельник имел лицо… я бы его… ударила... || 1 +Завтра во всех домах страны: психологическая драма "утро понедельника" || 7 +Надеюсь, когда-нибудь я проснусь утром, включу новости и услышу: "Понедельник отменен, продолжайте спать…" || 1 +Хороший день словом Моndау не назовут! || 1 +Люди, почему вы злитесь только на понедельник? Как будто в другие дни работать хочется || 1 +Лучше утро пятницы, чем вечер понедельника || 15 +Если вы проживете 70 лет, то проживете 10 лет понедельников… || 1 +Берите пример с понедельника: его никто не ждёт, а ему по)(уй, он все равно приходит… || 1 +Завтра будет лучше, чем вчера! А, нет, завтра ПОНЕДЕЛЬНИК || 7 +Три ужасные новости: 1. Сегодня не пятница. 2. И даже завтра не пятница. 3. И даже послезавтра не пятница || 12 +В понедельник утром, очень сильно завидуешь… безработным || 1 +Понедельник — удобный повод чего-нибудь понеделать... || 1 +Дамы и господа! Предлагаю почтить утро понедельника минутой ворчания || 1 +Вот и начались трудо выебудни || 5 +Каждый понедельник меня мучает вопрос: выходные, вы вообще были? || 1 +На улице вторник, а на душе — вечер пятницы… || 2 +Наступил долгожданный вторник — послезавтра предпоследний день рабочей недели… || 2 +Если второй день не охота идти на работу, значит сегодня вторник || 2 +Предлагаю переименовать четверг в "завтра пятница"! || 4 +Говорят, при Сталине все субботы были рабочие, должно быть он и вправду был садист и тиран! || 6 +Остановись, воскресенье! Ты прекрасно!!! || 7 +Воскресенье — день трагичный. Суббота маячит далеко позади, а до понедельника уже рукой подать || 7 diff --git a/data/lat.txt b/data/lat.txt new file mode 100644 index 0000000..e1862c4 --- /dev/null +++ b/data/lat.txt @@ -0,0 +1,1336 @@ +A caelo usque ad centrum +A capillo usque ad ungues +A capite ad calcem +A casu ad casum +A contrario +A dato +A fortiori +A limine +A majore ad minus +A maximis ad minima +A mensa et toro +A nativitate +A nescire ad non esse +A novo +A parte +A pedibus usque ad caput +A posse ad esse +A posse ad esse non valet consequential +A posteriori +A potentia ad actum +A potiori +A potiori fit denominatio +A prima facie +A priori +A probis probari, ab improbis improbari aequa laus est +A realibus ad realiora +A sacris +A tuo lare incipe +Ab absurdo +Ab aeterno +Ab antiquo +Ab equis ad asinos +Ab esse ad posse valet consequentia +Ab exterioribus ad interiora +Ab extra +Ab hinc +Ab hoc et ab hac +Ab hodierno +Ab hoedis scindere oves +Ab igne ignem +Ab imis unguibus ad verticem summum +Ab imo pectore +Ab inconvenienti +Ab incunabulis +Ab initio +Ab initio nullum, semper nullum +Ab intestato +Ab irato +Ab Jove principium +Ab origine +Ab ovo +Ab ovo usque ad mala +Ab posse ad esse consequentia (illatio) non valet +Ab uno disce omnes +Ab Urbe condita +Abeunt studia in mores +Abiens, abi! +Absente aegroto +Absit omen! +Absit verbo invidia +Absolutio ab instantia +Absolvo te! +Absque nota +Absque omni exceptionae +Abstractum pro concreto +Absurdum in adjecto +Abusus non tollit usum +Abyssus abyssum invocat +Accessio cedit principali +Acta diurna +Acta est fabula! +Actio immanens +Actio in distans +Actio in factum +Actio popularis +Actio transiens +Actore non probante reus absolvitur +Actor sequitur forum rei +Actum atque tractatum +Actum est ilicet! +Actum ut supra +Actus purus +Ad absurdum +Ad acta +Ad aeternum +Ad aras +Ad arbitrium +Ad augusta per angusta +Ad bestias! +Ad Calendas Graecas +Ad captandum benevolentiam +Ad captandum vulgus +Ad cogitandum et agendum homo natus est +Ad delectandum +Ad discendum, non ad docendum +Ad disputandum +Ad ea debeat adaptari jus, quae frequenter eveniunt +Ad exemplum +Ad extra +Ad extremitates +Ad finem +Ad fontes +Ad futuram memoriam +Ad futuram rei memoriam +Ad gloriam +Ad gustum +Ad hastam +Ad Herculis columnas +Ad hoc +Ad hominem +Ad honores +Ad hoste maligno libera nos, Domine +Ad impossibilia nemo tenetur +Ad infinitum +Ad informandum +Ad instar +Ad instruendum +Ad interim +Ad latus +Ad libita librarii +Ad libitum +Ad limina (apostolorum) +Ad litem +Ad litteram +Ad loca! +Ad majorem Dei gloriam +Ad manum +Ad maximum +Ad meliora tempora +Ad meliorem +Ad memorandum +Ad minimum +Ad modum +Ad multos annos +Ad narrandum, non ad probandum +Ad nauseam +Ad normam +Ad notam +Ad notanda +Ad notata +Ad oculos +Ad opus! +Ad patres +Ad patres conscriptos +Ad perpetuam rei memoriam +Ad personam +Ad pias causas +Ad pluralitatem votorum +Ad populum +Ad profundum +Ad publicandum +Ad ratificandum +Ad referendum +Ad rem +Ad se ipsum +Ad totalem evaporabionem +Ad tertium +Ad unguem +Ad unum omnes +Ad usum delphini +Ad usum externum +Ad usum internum +Ad usum populi +Ad usum proprium +Ad usum vitae +Ad valorem +Ad verbum +Ad verbum audiendum +Ad victoriam +Ad vitam +Ad vitam aeternam +Ad vitam aut culpam +Ad vocem +Adhuc sub judice lis est +Adverbium +Advitalitum +Advocatus Dei +Advocatus Diaboli +Aequam memento rebus in arduis servare mentem +Aequat causa effectum +Aequilibrium indifferentiae +Aequo animo +Aequo pulsat pede +Aequum est neminem cum alterius detrimento et injuria fieri locupletiorem +Aere perennius +Aes triplex +Aeterna historia +Aeterna urbs +Aeternae veritates +Aeternum vale +Age, libertate decembri utere +Age, quod agis, et respice finem +Agere sequitur esse +Ager publicus +Agnosco veteris vestigia flammae +Agnus Dei +Ajo! +Albo lapillo notare diem +Alea iacta (jacta) est +Alia editio +Alia tempora +Alibi +Aliena vitia in oculis habemus, a tergo nostra sunt +Alienatio mentis +Alieni juris +Aliis inserviendo consumor +Aliquando bonus dormitat Homerus +Aliud stans, aliud sedens +Alius alio plura invenire potest, nemo omnia +Alma Mater +Alter ego +Alter idem +Altera pars +Altum silentium +Amabile opus +Amabilis insania +Amabilis scientia +Amant alterna Camenae +Amantes sunt amentes +Amantium irae +Amantium irae amoris integratio +Amat victoria curam +Amata nobis quantum amabitur nulla +Amen! +Amicalia desideria +Amici, diem perdidi +Amicus certus in re incerta cernitur +Amicus cognoscitur amore, more, ore, re +Amicus (Animal) humani generis +Amicus incommodus ab inimico non differt +Amicus meus +Amicus Plato, sed magis amica est veritas +Amicus verus +Amor caecus +Amor fati +Amor patriae +Amor vincit omnia +Amor non est medicabilis herbis +An nescis longas regibus esse manus? +An nescis, mi fili, quantilla prudentia mundus regatur? +Analogia entis +Anathema maranata +Ancilla philosophiae +Ancilla theologiae +Anguis in herba +Angulus ridet +Anima +Anima vilis +Animalia vivunt, crescunt et sentiunt +Animam in promptu habere +Animi magnitudo +Animus +Animus denuntiandi +Animus injuriandi +Animus meminisse horret +Animus possidendi +Animus quod perdidit optat, Atque in praeterita se totus imagine versat +Animus rem sibi habendi +Animus suspicax +Anni currentis +Anno +Anno ab urbe condita +Anno aetatis suae +Anno ante Christum Natum +Anno Christi +Anno Domini +Anno mundi +Anno post Romam conditam +Annus horribilis +Ante bellum +Ante Christum Natum +Ante diem +Ante factum +Ante mare undae +Ante meridiem +Ante nuptias donatio +Ante quem +Anterioritas +Apparatus criticus +Appellatio +Appendix +Appetitus societatis +Aqua bulliens +Aqua destillata +Aqua et igni alicui interdicere +Aqua et ignis +Aqua et panis, vita canis +Aqua fontana +Aqua [cavat] lapidem non vi, sed saepe cadendo +Aqua pluvialis +Aqua pura +Aqua tophana +Aqua vitae +Aquae et ignis interdictio, hoc est exillum +Aquae potoribus +Aquila non captat muscas +Arbiter elegantiae +Arboretum +Arcades ambo +Argenteis hastis pugnare +Argentum nitricum +Argumenta ambigua +Argumenta ponderantur, non numerantur +Argumentum a contrario +Argumentum a posteriori +Argumentum a priori +Argumentum a silentio +Argumentum a tuto +Argumentum achilleum +Argumentum ad crumenam +Argumentum ad hominem +Argumentum ad ignorantiam +Argumentum ad invidia +Argumentum ad judicum +Argumentum ad misericordiam +Argumentum ad populum +Argumentum ad rem +Argumentum ad verecundiam +Argumentum ad veritatem +Argumentum ambiguum (communis) +Argumentum baculinum +Argumentum ex consensu gentum +Argumentum ex silentio +Argumentum externum +Argumentum internum +Argumentum legis +Argumentum primarium (palmarium) +Arma virumque cano +Arrectis auribus +Ars adeo latet arte sua +Ars amandi +Ars est celare artem +Ars et norma interpretandi naturam +Ars gubernandi +Ars moriendi +Ars logica +Ars longa, vita brevis +Ars oratoria +Ars poetica +Ars sacra +Ars una, species mille +Ars vitae +Artes ingenuae (liberales) +Artes molliunt mores +Articulo mortis +Articulus +Articulus secretissimus +Artificiosa natura +Artium magister +Asa foetida +Asini exiguo pabulo vivunt +Asinos non curo +Asinus asinorum in saecula saeculorum +Asinus asinum fricat +Asinus Buridani inter duo prata +Associatio idearum +Astra inclinant, non necessitant +Asylum ignorantiae +Atrium mortis +Atrophia nervorum +Auctoritas foris +Auctoritas rei judicatae +Audacter calumniare, semper aliquid haeret +Audentes fortuna juvat +Audiatur et altera pars +Auguror nec me fallit augurium, historias tuas immortales futuras +Aura popularis +Aurea mediocritas +Aures habent, et non audient +Auri sacra fames +Auribus teneo lupum +Aurora borealis +Aurora musis amica est +Аurum nostrum non est aurum vulgi +Aurum potestas est +Auspicia sunt fausta +Auspicium melioris aevi +Aut bene, aut nihil +Aut bibat, aut abeat +Aut Caesar, aut nihil +Aut cum scuto, aut in scuto +Aut deus, aut natura +Aut non tentaris, aut perfice +Aut disce, aut discede +Aut prodesse volunt aut delactare poetae +Aut vincere, aut mori +Ave +Ave, Caesar, morituri te salutant +Ave Maria +Ave ac vale +Ave verum corpus +Avibus bonis +Bacchum Nymphis temperare +Barba crescit caput nescit +Barba non facit philosophum +Barbam video, sed philosophum non video +Barbarus hic ego sum, quia non intelligor ulli +Beata stultica +Beatae plane aures, quae non vocem foris sonantem, sed intus auscultant veritatem docentem +Beati pauperes spiritu +Beati possidentes +Beatudio non est virtutis praemium, sed ipsa virtus +Beatus ille, qui procul negotiis +Bella matribus detestata +Bellum internecivum +Bellum omnium contra omnes +Bene diagnoscitur, bene curatur +Bene misceatur +Bene placito +Bene qui latuit, bene vixit +Bene tritum +Bene valete +Benevole lector +Benevolentiae captande causa +Bestiolae, quae unum tantum diem vivunt +Biblia pauperum +Bibliothecae scriptorum +Bis dat qui cito dat +Bis repetitia placent +Bis vincit qui se vincit in victoria +Bona adventica +Bona dicta +Bona fama divitiis est potior +Bona fide +Bona fides +Bona hereditaria +Bona mente +Bona opinio homini tuttior pecunia est +Bona venia vestra +Bonae fidei possesio +Boni homines +Bonis auspiciis +Bono modo +Bono sensu +Bonum publicum +Bonum vinum lactificat cor hominus +Bonus eventus +Bonus ordo +Bonus pater familias +Bonus ver semper tiro est +Breves vibrantesque sententiae +Brevi manu +Brevis esse laboro, obscurus fio +Bruta fulmina +Cacatum non est pictum +Cadit quaestio +Cadmea victoria +Caedite eos. Novit enim Dominus qui sunt eius +Caelo tonantem credidimus Jovem Regnare +Caelum, non animum mutant, qui trans mare currunt +Caesar ad Rubiconem +Caesar citra Rubiconem +Caesarem licet stantem mori +Caesarem vehis Caesarisque fortunam +Caesar non supra grammaticos +Caetera activitati +Caetera desiderantur +Caetera desunt +Calamitas virtutis occasio +Callida junctura +Calumniare audacter, semper aliquid haeret +Calvitium non est vitium sed prudentiae judicium +Camera clara +Camera lucida +Camera obscura +Camica santa +Candidior lacte +Canina facundia +Canis a non canendo +Cantabit vacuus coram latrone viator +Capitis deminutio +Captatio benevolentiae +Caput atro carbone notatum +Caput mortuum +Caput mundi +Caput orbi +Caritas humani generis +Caritas omnia credit +Carmen famosum +Carmen horrendum +Carmina nulla canam +Carmina morte carent +Caro est qui securis est +Carpe angelum +Carpe diem +Carpent tua poma nepotes +Carthago delenda est +Casta est quam nemo rogavit +Castis omnia casta +Casum sentit dominus +Casus a nullo praestantur +Casus belli +Casus conscietiae +Casus foederis +Casus incurabilis +Catena scientiarum +Causa activa +Causa bibendi +Causa causalis +Causa civilis +Causa criminalis +Causa efficiens +Causa essendi +Causa finalis +Causa finita est +Causa formalis +Causa irae +Causa justa +Causa materialis +Causa naturalis +Causa occasionalis +Causa prima +Causa principalis +Causa privata +Causa proxima, non remota spectatur +Causa sine qua non +Causa sufficiens +Causa sui +Cautio judicatum solvi +Cave canem +Cave hominem unius libri +Cave ne cadas +Caveant consules! +Cedant arma togae +Cedo majori +Censor morum +Certa de causa +Certa viriliter sustine patienter +Cessante causa, cessat effectus +Cessio bonorum +Ceteris paribus +Ceterum censeo +Charta non erubescit +Cibus, onus et virga asino +Circulus in probando +Circulus vitiosus +Citato loco +Citius, altius, fortius! +Cito citissimo +Civiliter mortui +Civis Romanus sum +Civitas Dei +Clara pacta, boni amici +Clari viri +Claris verbis +Classicus scriptor +Classicus testis +Claudite jam rivos, sat prata biberunt +Clausula rebus sic stantibus +Cloaca maxima +Codex chartaceus +Codex manuscriptus +Codex rescriptus +Coeli lumen +Cogita et visa +Cogitationum poenam nemo luit +Cogito ergo sum +Cognata vocabula rebus +Cognatio spiritualis +Coincidencia oppositorum +Collegium musicum +Collegium privatum +Collegium publicum +Colluvies gentium +Columnae Herculis +Commentarius perpetuus +Commodum possessionis +Commodum publicum +Commotio cerebri +Communa bonorem +Communibus annis +Communis opinio +Comoedia togata +Compelle intrate +Compesce mentem +Comple promissum +Compos mentis +Compos sui +Conclamatum est +Concordet sermo cum vitā +Concordia discors +Concordia parvae res crescunt, discordia maximae dilabuntur +Conditio sine qua non +Conditio suspensiva +Confessus pro judicato habetur +Confiteor solum hoc tibi +Consensus facit nuptias +Consensus gentium +Consensus omnium +Consequentia non valet +Consideratis considerandis +Consilio manuque +Consilium abeundi +Consortium omnis vitae +Consuetudo altera natura +Consummatum est! +Consumor aliis inserviendo +Contra bonos mores +Contra Gracchos Tiberim habemus +Contra factum non datur argumentum +Contra jus et fas +Contra tabulas +Contra rationem +Contra contrariis curantur +Contra spem spero +Contra vim mortis non est medicamen in hortis +Contradictio in adjecto +Contradictio in contrarium +Contradictio in re +Contradictio simptomatum +Contraria sunt complementa +Contumacia cumulat poenam +Coram arbitris +Coram hominibus +Coram publico (populo) +Cornu copiae +Corpora non agent nisi soluta +Corpus delicti +Corpus Domini +Corpus juris +Corpus juris civilis (romani) +Corpus simbioticum +Corpus solidum +Corpus vile +Correctis, corrigendis, imprimatur +Corruptio optimi pessima +Corruptissima re publica plurimae leges +Corvus corno oculos non eruit +Crambe repetita +Crassa ignorantia +Crassa Minerva +Credo quia absurdum +Credendo vides +Crescit amor nummi, quantum ipsa pecunia crescit +Crescite, nos qui vivimus, multiplicamini +Crimen laesae majestatis +Crimine ab uno disce omnes +Cui bono? +Cui podest malum? +Cujus regio, ejus lingua +Cujusvis hominis est errare, nullius nisi insipientis in errore perseverare +Culpa fictia +Culpa in eligendo +Culpa in inspiciendo +Culpa lata +Culpa lata dolo camparatur +Culpa lata dolo proxima est +Culpa levis +Culpa poena par esto +Cum commento +Cum Deo +Cum eximia laude +Cum figuris +Cum grano salis +Cum hoc non est propter hoc +Cum moriar, medium solvar et inter opus +Cum notis variorum scriptorum +Cum principia negante non est disputandum +Cum quodam fastidio +Cum res unimum occupavere verba ambiunt +Cum tempore +Cum tot sustineas et tanta negotia solus +Cum vota consultiva +Cuncta supercilio moventis +Cunctando restituit rem +Cupiditas rerum novarum +Cupio omnia, quae vis +Cura te ipsum +Curae leves loquuntur, ingentes stupent +Currente calamo +Curriculum vitae +Cursus honorum +Custodia honesta +Custos morum +Cymini sectores +Damnant quod non intellegunt +Damnatio ad bestias +Damnatio memoriae +Damnatus est +Damnosa quid non imminuit dies? +Damnum emergens +Damoclis gladius +(Timeo) Danaos et dona ferentes +Dat census honores +Dat, donat, dedĭcat (DDD) +Dat veniam corvis, vexat censura columbas +Date obolum Belisario +De capsula totae +De facto +De jure +De gustibus non est disputandum +De lana caprina rixari +De lege ferenda +De lege lata +De lingua stulta incommoda multa +De mare ad mare +De minimis non curat lex +De mortuis aut bene, aut nihil +De mortuis et absentibus nihil nisi bene +De nihilo nihil +De nomine +De novo +De omni re scibili et quibusdam aliis +De omnibus dubito +De possibili et impossibili +De principiis non est disputandum +De profundis +De quo fabula narratur +De rerum natura +De se ipso modifice, de aliis honorifice +De stercore Ennii +De visu et auditu +Decies repetitia placebit +Decipimur specie recti +Debellare superbos +Debes ergo potes +Deductio ad absurdum +Definitio fit per genus et differentiam specificam +Dei gratia +Delegatus non potest delegare +Delicta carnis +Delicta facti permanentis +Delicta facti transeuntis +Delectabile tempus! +Delictum commissionis +Delictum communi juris +Delictum omissionis +Delirium furens +Delirium tremens +Dementia praecox +Dementia senilis +Demonstratio ad oculos +Dente lupus, cornu taurus petit +Dente superbo +Dentibus albis +Deo ignoto +Deos manes placari victimis humanis +Desideria carnis +Desine sperare qui hic intras +Desinit in piscem mulier formosa superne +Destruam et aedificabo +Deus conservat omnia +Deus ex machina +Deus vult +Di meliora +Diagnosis ex juvantibus +Diagnosis ex observatione +Dicendo de cibis dicendum est de moribus +Dicis causa +Dicis gratia +Dictum factum +Dictum sapienti sat est +Dies diem docet +Dies interpellat pro homine +Dies irae +Differentia specifica +Difficile est proprie communia dicere +Difficile est satyram non scribere +Digitus dei est hic! +Dignus est intrare +Dii minorum gentium +Diligentia qualem diligentissimus pater familias abhibet +Diligentia quam im rebus suis +Diluvii testis +Dimidium animae meae +Dimidium facti, qui соерit, habet +Dira necessitas +Dis manibusque sacrum +Disjecta membra +Displicuit nasus tuus +Diurna manu nocturnaquae +Divide et impera +Divinum opus sedare dolorem +Dixi +Dixi et animam levavi +Dixi et animam meam salvavi +Do manus +Do ut des +Do ut facias +Docendo discimus (discitur) +Dolendi modus, timendi non item +Dolus malus +Domi sedet lanam ducit +Domina omnium scientiarum +Dominium bonitarium +Dominus et deus noster sic fieri jubet +Dominus litis +Don gratuit +Donec eris felix, multos numerabis amicos +Donum didacticum +Dramatis personae +Duae res longe sunt difficillimae +Dubia plus torquent mala +Ducunt volentem fata, nolentem trahunt +Dulce est desipere in loco +Dulce et decorum est pro patria mori +Dulce laudari a laudato viro +Dulcis fumus patriae +Dum docemus, discimus +Dum spiro spero +Dum vivimus vivamus +Duo quum faciunt idem, non est idem +Duobus certantibus tertius gaudet +Dura lex sed lex +E pluribus unum +Ea tempestate +Eadem oberrare chorda +Ecce homo +Ecce spectaculum dignum, ad quod respiciat intentus operi suo deus +Ede, bibi, lude +Edictum perpetuum +Edimus ut vivamus, non vivimus ut edamus +Edite, bibite, post mortem nulla voluptas +Effectrix eloquentiae est audientium approbatio +Ego +Ego cogito ergo sum +Ego sum rex Romanus et supra grammaticos +Ego ti intus et in cute novi +Ego versiculos feci, tulit alter honores +Eheu fugaces labuntur anni! +Ei incumbit probatio, qui dicit, non qui negat +Ejus est nolle qui potest velle +Ejusdem farinae +Ejusdem generis +Elegantia juris +Elephanti corio circumtentus est +Eloquentia canina +Emere catullum in sacco +Emunctae naris homo +Ens a se +Ens causa sui +Ens cogitans +Ens rationis +Ens reale +Ens realissimum +Entia metaphysica +Epicuri de grege porcus +Epistola non erubescit +Equo non credite Teucri +Equus Troianus +Ergo +Ergo bibamus +Erit sicut cadaver +Errare humanum est, или Humanum errare est +Errare humanum est sed stultum est in errore perseverare +Eruditio aspera optima est +Est avis in dextra, melior quam quattuor extra +Est deus in nobis +Est modus in rebus +Est quaedam flere voluptas +Esse, vivere, sentire +Et alia +Et cetera +Et fabula partem veri habet +Et fumus patriae dulcis +Et gaudium et solatium in litteris +Et hoc genus omne +Et in Arcadia ego +Et multa alia +Et tu, Brute? +Et premitur ratione animus vincique laborat +Et propter vitam vivendi perdere causas +Et quibusdam aliis +Et semel emissum volat irrevocabile verbum +Etiam periere ruinae +Etiamsi omnes ego non +Eventus docet +Eventus stultorum magister est +Ex abrupto +Ex adverso +Ex aequo +Ex aequo et bono +Ex auditu +Ex cathedra +Ex mero motu +Ex libris +Ex nihilo nihil fit +Ex nunc prout ex tunc +Ex officio +Ex ungue leonem +Exceptio probat regulam in casibus non exceptis +Excitare fluctus in simpulo (см. Буря в стакане) +Excudent alii spirantia mollius aera +Exempli gratia +Experimenta est optima rerum magistra +Experimentum crucis +Extra omnes! +Faber est suae quisque fortunae +Factum est factum +Fac fideli sis fidelis +Facta, non verba +Fallaces sunt rerum species +Fas est et ab hoste doceri +Fatum +Falax species rerum +Feci quod potui, faciant meliora potentes +Fecit +Ferox verbis +Ferro et igni; Igni et ferro +Festina lente +Fiat iustitia, et pereat mundus! +Fiat lux! +Fiat Roma, et ubi illa nunc est? +Fidei defensor +Fidelis et fortis +Finis coronat opus +Finis sanctificat media +Fortes fortuna adiuvat +Forum delicti +Fortis imaginatio generat casum +Fortuna caeca est +Fuimus Troes, fuit Ilium +Furor Teutonicus +Furtum manifestum +Frustra fit per plura quod potest fieri per pauciora +Gaudeamus igitur, juvenes dum sumus! +Genius loci +Gratis +Gutta cavat lapidem +Habeas corpus +Habemus Papam +Hannibal ante portas +Hic bibitur +Heu quam est timendus qui mori tutus putat +Hic locus est ubi mors gaudet succurrere vitae +Hic et nunc +Hic portus salutis +Hic Rhodus, hic salta +Hic sunt dracones +Hic sunt leones +Hoc fac et vinces +Hoc volo, sic jubeo, sit pro ratione voluntas +Hodie mihi, cras tibi +Homo homini lupus est +Homo proponit, sed Deus disponit +Homo Sapiens non urinat in ventum +Homo sum, humani nihil a me alienum puto +Honores mutant mores, sed raro in meliores +Honoris causa +Horribile dictu +Humanum errare est +Ibi semper est victoria, ubi concordia est +Ibi victoria, ubi concordia +Ibidem +Idem per idem +Id est +In bono veritas +Iesus Nazarenus, Rex Iudaeorum +Igni et ferro +Ignoramus et ignorabimus +Ignorantia non excusat +Ignoratio elenchi +Ignorantia non est argumentum +Imago animi vultus est +Imperare sibi maximum imperium est +Imperatorem stantem mori oportet +In absentia +In angustiis amici apparent +In camera +In coena domini +In contumaciam +In corpore +Indignus qui inter mala verba +In dubio pro reo +In flagrante delicto +In foro scientiae +Ingenium mala saepe movent +In infinitum +In hoc signo vinces +Injuria realis +Injuria verbalis +Injuriam faclius fasias guam feras +In memoriam +In nomine Patris, et Filii, et Spiritus Sancti, (amen) +Innocens credit omni verbo +In partem salari +In pricipio erat verbum +In propria persona +In propia causa nemo jundex +In rerum natura +In saecula saeculorum +In silico +In situ +Inter alia +Inter arma silent Musae +Interdum lacriumae pondera vocis habent +In utero +In vacuo +Invia est in medicina via sine lingua latina +Invia virtuti nulla est via +In vino veritas +Inutile terrae pondus +Ipsa se velocitas implicat +In vitro +In vivo +Ipse dixit +Ipso facto +Iura novit curia +Ira furor brevis est +Ira odium generat, concordia nutrit amorem +Irreparabilium (iprepara rabilium) felix oblivio rerum +Is fecit cui prodest +Jamque opus exegi quod nec Jovis ira, nec ignis, nec poterit ferrum, nec edax abolere vetustas +Judex damnatur, cum nocens absolvitur +Juris praecepta sunt haec: honeste vivere, alterum non laedere, suum cuique tribuere +Jus primae noctis +Jus primae occupationis +Jus sanguinis +Jus soli +Jus vitae ac necis +Justitia regnorum fundamentum +Labor omnia vincit +Labor est etiam ipse voluptas +Lassata viris necdum satiata recessit +Laborare est orare +Lectori benevolo salutem, L.B.S. +Legum servi sumus ut liberi esse possimus +Letum non omnia finit +Legio nomen mihi est +Levis est labor omnis amanti +Lex specialis derogat generali +Lex posterior derogat legi priori +Lex superior derogat legi inferiori +Lex talionis +Liberum veto +Libro ultimo +Licentia poetica +Littera scripta manet +Litterae humaniores +Locus regit actum +Lorem ipsum +Longa manus calami +Lege artis +Lucri bonus est odor ex re qualibet +Lupus in fabilus +Lupus non mordet lupum +Lupus pilum mutat, non mentem +Lux in tenebris +Lux ex tenebris +Magni nominis umbra +Magnum opus +Malum discordiae +Malum se ipsum devorat +Manifestum non eget probatione +Maniae infinitae sunt species +Manus manum lavat +Margaritas ante porcos +Matrimonium iustum +Mea culpa +Mea virtute me involvo +Medicus curat, natūra sanat +Medius terminus +Memento mori +Memento vivere +Memento quia pulvis es +Mens sana in corpore sano +Metri causa +Metus, dolor, mors ac formidines +Misericórdia +Modus operandi +Modus vivendi +More majorum +Mortem effugere nemo potest +Multum vinum bibere +Multi multa; Nemo omnia novit +Multa paucis +Mutatis mutandibus +Nam vitiis nemo sine nascitur +Natura abhorret vacuum +Naturalia non sunt turpia +Navigare necesse est, vivere non est necesse +Naviget, haec summa est +Nec gemino bellum Trojanum orditur ab ovo +Nec nostri saeculi est +Nec Deus intersit +Nec sutor ultra crepidam +Nemo debet bis puniri pro uno delicto +Nemo debet esse judex in propria causa +Nemo me impune lacessit +Nemo omnia potest scire +Nemo solus satis sapit +Ne sutor supra crepidam +Nihil admirari +Nihil habeo, nihil timeo +Nihil habeo, nihil curo +Nihil habenti nihil deest +Nihil verum est licet omnia +Nil aliud scit necessitas quam vincere +Nil inultum remanebit +Nil sancti +Nil satis nisi optimum +Nolens volens +Nomen est omen +Nomen Nescio +Nomina sunt odiosa +Non bis in idem +Non curatur, qui curat +Non moritura +Non olet (см. Деньги не пахнут) +Non progredi est regredi +Non rex est lex, sed lex est rex +Non scholae, sed vitae discimus +Non tam praeclarum est scire Latine, quam turpe nescire +Nosce te ipsum +Nota bene +Novus ordo seclorum +Nullum crimen sine poena, nulla poena sine lege, nullum crimen sine poena legali +Nusquam est qui ubique est +Occasio receptus difficiles habet +Oderint, dum metuant +Odi et amo +Omnia homini, dum vivit, speranda sunt +Omne vivum ex ovo +Omnes vulnerant, ultima necat +Omnia mea mecum porto +Omnia mutantur, nihil interit +Omnia orta cadunt +Omnia praeclara rara +Omnia vincit amor et nos cedamus amori +Omnis homo mendax +Omnis ars imitatio est naturae +Omnium consensu +Ora et labora +Orbis terrarum +Ordo ab chao +O sancta simplicitas +O tempora, o mores! +Otia dant vitia +Otium post negotium +Pacta sunt servanda +Panem et circenses +Pater noster +Pax optima rerum est +Pecuniae oboediunt omnia +Per aspera ad astra +Per Iovem +Periculum in mora +Perpetuum mobile +Per se +Persona grata +Persona non grata +Persona suspecta +Personae dramatis +Pes sic tendatur ne lodix protereatur +Petitio principii +Pictoribus atque poetis +Pie Jesu Domine, dona eis requiem +Plus ultra +Poëma +Poëtae nascuntur, oratōres fiunt +Porta itineri longissima +Post coitum omne animal triste est +Post factum +Post hoc ergo propter hoc +Post hoc non est propter hoc +Post mortem +Post prandium stabis, post cenam ambulabis +Post scriptum +Post tenebras lux +Potius sero quam nunquam +Praemonitus praemunitus +Primo +Primum non nocere +Primus inter pares +Pro forma +Pro pace +Pro patria mori +Pro poena +Pro tempore +Probatuum est +Procul negotiis +Quae medicamenta non sanat, ferrum sanat; Quae ferrum non sanat, ignis sanat. Quae vero ignis non sanat, insanabilia reputari oportet +Qualis artifex pereo! +Quantum satis +Qui nimium probat, nihil probat. +Qui non laborat, non manducet +Qui non proficit deficit. +Qui pro quo +Qui scribit, bis legit +Qui seminat mala, metet mala +Qui sine pecato est? +Qui ventum seminat, turbinem metet +Quid dubitas, ne faceris +Quid est veritas? +Quid pro quo +Quid timeas? Caesarem vehis Caesarisque fortunam +Quis? Quid? Ubi? Quibus auxiliis? Cur? Quomodo? Quando? +Quis custodiet ipsos custodes? +Quo vadis? +Quod deus bene vertat +Quod erat demonstrandum +Quod gratis asseritur, gratis negatur +Quod licet Jovi, non licet bovi +Quod scripsi, scripsi +Quot capita, tot sententiae +Quo usque pro Roma ibis? +Radices litterarum amarae sunt, fructus dulces +Rara est [adeo] concordia formae atque pudicitiae +Rebus sic stantibus +Reddite quae sunt Caesaris Caesari, et quae sunt Dei Deo +Reductio ad absurdum +Regula certa datur: bene qui stat, non moveatur +Repetitio est mater studiorum +Requiescat in pace +Requiem aeternam dona eis, Domine +Res Publica +Respice finem +Respondeat superior +Reti ventos venari +Rex regnat, sed non gubernat +Roma locuta, causa finita +Salus populi suprema lex +Sancta sanctorum +Sapere aude +Sapienti sat +Scientia potentia est +Scire leges non hoc est verba earum tenere, sed vim ac potestatem +Secundo +Sed alia tempora +Sed semel insanivimus omnes +Sede Vacante +Sedia Gestatoria +Sed non quo ad hanc +Semper idem +Semper in motu +Semper fidelis +Senatus bestia, senatores boni viri +Senatus Populusque Romanus (S.P.Q.R) +Sententia absolutoria +Sero venientibus ossa +Serva me, servanto te +Servus Servorum Dei +Si parva licet componere magnis +Si vales, bene est; Ego valeo (SVBEEV) +Si vis amari, ama! +Si vis pacem, para bellum +Si vis vincere, disce pati +Sic! +Sic itur ad astra +Sic transit gloria mundi +Sic semper tyrannis +Silentium est aurum +Silentium videtur confessio +Similia similibus curantur +Sine causa +Sine cura +Sine ira et studiо +Sit tibi terra levis +Sitio +Sola Scriptura +Soli Deo gloria +Sol lucet omnibus +Solum debilis mori debent +Solus cum sola, in loco remoto, non cogitabuntur orare «Pater noster» +Status quo +Sub rosa +Sudore et sanguine +Sui generis +Suis quaeque temporibus +Summa summarum +Supra nos Fortuna negotia curat +Supremum vale +Sursum corda +Suum cuique +Tabula rasa +Tacito consensu +Tale quale +Te amo est verum +Tempora mutantur et noc mutamur in illis +Tempus edax rerum +Tempus fugit +Tempora labuntur, tacitisque senescimus annis +Tertium non datur +Terra incognita +Terra nullius +Testis unus +Timeo Danaos et dona ferentes +Toties quoties +Totum revolutum +Totus floreo +Trahit sua quemque voluptas +Tres faciunt collegium +Tres muliers faciunt nundias +Ubi bene, ibi patria +Ubi concordia, ibi victoria +Ubi culpa est ibi poena subbesse debet +Ubi nil vales, ibi nil velis +Ubi mel, ibi apes +Ubi mel, ibi fel +Ubi pus, ibi incisio +Ultima ratio +Ultra posse nemo obligatur +Una voce +Unum et idem +Unus pro omnibus, omnes pro uno +Urbi et Orbi +Usus est optimus magister +Utile dulce miscere +Ut tensio sic vis +Ut desint vires, tamen est laudanda voluntas +Uti, non abuti +Vale +Vade retro, Satana +Vae victis +Vanitas vanitatum et omnia vanitas +Varietas delectat +Veni, vidi, vici +Verba magistri +Verba volant, scripta manent +Verbatim +Verte +Verum est quod pro salute fit mendacium +Veto +Versus +Via est vita +Viam supervadet vadens +Vice versa +Vide licet (Vide licet) +Videre majus quiddam +Vince in bono malum +Vinum +Vinum verba ministrat +Viribus unitis +Vis unita fortior +Vita brevis ars longa +Vita sine libertate, nihil +Vita sine litteris mors est +Vitae sal +Vivenda +Vivere est cogitare +Vi veri universum (veniversum) vivus vici +Volens nolens +Volo ergo sum +Volo, non valeo +Votum separatum +Vox populi vox Dei diff --git a/data/proverb_src/proverb.txt b/data/proverb_src/proverb.txt new file mode 100644 index 0000000..67f2d8d --- /dev/null +++ b/data/proverb_src/proverb.txt @@ -0,0 +1,1719 @@ +А Васька слушает да ест. +Аль ты слова не доищешься? +Аркан ценится длиной, а слово – краткостью. +Бабий язык – чертово помело. +Бабьи сплетни хуже плетки – секут не жалеючи. +Бает, рассыпает, что погодой посыпает. +Баснями сыт не будешь. +Бахвальство не молотьба. +Бедный песни поет, а богатый только слушает. +Без газеты, как без солнца; и днем темны оконца. +Без запевалы и песня не поется. +Без красного словца ни на шаг. +Без обеда не красна беседа. +Без острого словца ни на шаг. +Без понукалки и сказочник дремлет. +Без пословицы не проживешь. +Без притчи веку не изживешь. +Без слова дело не делается, без дела слово не молвится. +Без соли, без хлеба худая беседа. +Без спора споро, да не скоро. +Без спорного слова не беседа. +Без углов дом не строится, без пословицы речь не молвится. +Без языка и колокол нем. +Без языка стал. +Белый свет не околица, а пустая речь не пословица. +Беседа дорогу коротает, а песня – работу. +Беседа дорогу строит. +Беседа не без красного словца. +Беседливый всегда с людьми. +Беседовать не устать, было бы что сказать. +Беседовать хорошо тогда, когда есть что сказать. +Блюди хлеб на обед, а слово – на ответ. +Бойся вышнего (вышестоящего), не говори лишнего. +Болтай, болтай, недалеко Валдай. +Болтай, да меру знай. +Болтливая молва к правде ложь прибавлять любит. +Болтливость – старости сестра. +Болтливость часто причиняет больше зла, чем злость. +Болтливый язык до добра не доведет. +Болтнешь – не воротишь. +Болтовня может стоить жизни. +Болтун не ждет спроса, а сам все скажет. +Болтун подобен маятнику: того и другой надо остановить. +Болтуна бросил в ад, а он и там заговорил: «Дрова сырые». +Боль от самой большой раны пройдет, а от дурного слова не пройдет. +Больше говорить – больше согрешить. +Больше знай, да меньше болтай. +Больше те люди шутят, у которых сердце поет. +Большой говорун – плохой работник. +Большой секрет – знает весь свет. +Бритва скребет, а слово режет. +Брюзжит, что худая муха в осень. +Будь своему слову хозяин. +Был бы запевала, а подголоски найдутся. +Была речь у Федосьи в переголосье. +Были б песни, будут и пляски. +Быль – трава, небыль – вода. +Быль – что смола, а небыль – что вода. +Быль за сказкой не угонится. +Быль за сказкой торопится. +Быль не сказка: из нее слова не выкинешь. +Быть по-сказанному, как по-писаному. +В добрый час молвить, а в худой – промолчать. +В долгих речах и короткого толку нет. +В запертый рот и муха не залетит. +В зубах не удержал, а в губах не удержишь. +В зубах слово не завязнет. +В мелких словах и большое дело утопить можно. +В паводок нет рыбы, в пословице – лжи. +В прохладе живем: язык болтает, а ветерок продувает. +В сказках все есть, да в руках ничего нет. +В споре и белая ворона черна, и черная бела. +В споре рождается истина. +В умной беседе быть – ума прикупить. +В умной беседе ума набраться, а в глупой – свой растерять. +В чем проговорился, с тем и распростился. +В чужих людях надо жить умеючи, а говорить рассуждаючи. +В шутке слово молвится. +В шутку сказано, да всерьез задумано. +В шуточках часто правда бывает. +Важно не то, что сказано, а как сказано. +Ваша речь впереди. +Велик звон, да не красен. +Велик язык у коровы, да говорить не дают. +Великое слово без дела ничтожно. +Ветер веет, а дорожный едет. +Ветром море колышет, молвою – народ. +Ветры горы разрушают – слово народы подымает. +Ветряна мельница да баба-бездельница мелет без устатку. +Видом не видал, слыхом не слыхал. +Вино входит – тайна уходит. +Внимательный слушатель вдохновляет оратора. +Волна по морю, молва по миру. +Ври, да не завирайся! +Все мы говорим, да не все по-говореному выходит. +Всего не переговоришь. +Всем рты затыкать – надо много полотна ткать. +Всех речей не переслушаешь. +Всюду писак более, чем писателей. +Всякая прибаска хороша с прикраской. +Всякая прибаутка в сказке хороша. +Всякая сорока от своего языка погибает. +Всякая сплетница на свою голову наплетает. +Всякая шутка надвое растворена: коту потешно, а мышке на беду. +Всякого слушай, а верь не всякому. +Выговоренное слово уже не проглотишь. +Выпустил словечко, не догонишь и на крылечке. +Выпустишь с воробушка, а вырастет с коровушку. +Высоко говорит, а рукою до неба не достанет. +Выстрелив, пулю не схватишь, а слово, сказав, не поймаешь. +Вяло говорит, да метко приходит. +Где двое тайно говорят, тут третий говорун не брат. +Где много слов, там мало правды. +Где песня льется, там легче живется. +Где слова редки, там они имеют вес. +Глупо говорить – людей смешить. +Глупого не оспаривай. +Глупые речи – что пыль на ветру. +Глупый болтает – умный думает. +Глупым словам глухое ухо. +Гнило слово от гнила сердца. +Говори мало, слушай много, а думай еще больше. +Говори меньше, умнее будет. +Говори подумавши, садись осмотревшись. +Говори про чужих, услышишь и про своих. +Говори с другом поменьше, а с собой – побольше. +Говори с одним поменьше, а с другим – побольше. +Говори складно, коль язык подвешен ладно. +Говори смелее – будет вернее. +Говори, говори, да и молви. +Говори, да не ври. +Говори, да не заговаривайся; ври, да не завирайся. +Говори, да не проговаривайся. +Говори, да не спорь, а хошь спорь, да не вздорь. +Говорил бы и про тебя, да боюсь тебя. +Говорил бы много, да сосед у порога. +Говорили просто так, а угодили в такт. +Говорили сегодня, говорить и завтра. +Говорит – не унять, а хвалить – не нанять. +Говорит – не устать, да в какую стать? +Говорит балы семигодовалы. +Говорит бело, а делает черно. +Говорит день до вечера, а послушать нечего. +Говорит до вечера, а слушать нечего. +Говорит красиво, да слушать тоскливо. +Говорит много, а слушать нечего. +Говорит много, а толку на грош, да итог не хорош. +Говорит по секрету, а выйдет по всему свету. +Говорит про тебя, забыв себя. +Говорит прямо, а делает криво. +Говорит сквозь зубы. +Говорит три дни, а все про злыдни. +Говорит три дня, а все пустое. +Говорит, как горох к стене лепит. +Говорит, как клещами на лошадь хомут надевает. +Говорит, как плохая плетея кружева плетет: что сплетет, ничего не разберет. +Говорит, как река льется. +Говорит, как слепой о краске. +Говорит, как спит. +Говорит, ровно в стену горохом сыплет. +Говорит, словно жвачку жует. +Говорит, точно во сне мочалку жует. +Говорит, что в цедилку цедит. +Говорит, что дипломат, да дела не идут на лад. +Говорит, что плетень плетет. +Говорит, что родит (с потугами)! +Говорит, что рублем дарит. +Говорится на глум, а ты бери себе на ум. +Говорить – беда, а молчать – другая. +Говорить – не работать, торопиться не надо. +Говорить беда, а молчать другая. +Говорить было немало, да разума не стало. +Говорить впустую, что стрелять вхолостую. +Говорить не думая – это стрелять не целясь. +Говорить не устать, да в какую стать? +Говорить умеет, да не смеет. +Говорить, так договаривать, а не договаривать, так и не говорить. +Говоришь по секрету, а выйдет по всему свету. +Говорок на порог, а скука из избы вон. +Говорят наобум, а ты бери себе на ум. +Говорят про Фому, а он про Ерему. +Говорят, что в Москве кур доят, а к нам привезут, они только яйца несут. +Голая речь не пословица. +Голову отдавай, а тайну – никогда. +Голову сложу, а тайну не скажу. +Городит ни зиму, ни лето. +Горшок с горшком в печи и то стыкается (о возможности спора). +Горькие вести и гонцу не на радость. +Горькое слово не легко молвится. +Грех не беда – молва не хороша. +Губы да зубы – два запора (забора), а удержу нет. +Дал Бог и немому речь. +Дальше в лес – больше дров; дальше в спор – больше слов. +Два уха, а рот один, и у того две службы: больше слушай, меньше говори. +Дважды думай перед тем, как говорить – в два раза. +Делай дело за семерых, а слушайся одного. +Дело шутки не любит. +Дельное слово бьет больнее палки. +Денег ни гроша, да речь хороша. +День-деньской – как за язык повешенный. +Держи кулак в кармане, а язык – на аркане. +Держи собаку на цепи, а язык – на семи. +Держи язык за зубами. +Держи язык короче! +Держи язык на привязи (на веревочке)! +Длинный язык – короткие мысли. +Длинный язык с умом не в родстве. +Для (про) глухого двух обеден не служат. +Для красного словца не пощадит (не пожалеет) ни матери, ни отца. +Для поговорки мужик в Москву пеши пошел. +До россказней охотник – плохой работник. +До трех дней трое знали, а после трех – весь мир узнал. +Добрая весть сама летит, худую на ворота вешают. +Добрая пословица ко времени молвится. +Добрая пословица не в бровь, а прямо в глаз. +Добрая шутка дружбы не рушит. +Добро смолчится, а худое молвится. +Добро тому врать, кто за морем бывал. +Доброе молчание чем не ответ. +Доброе молчанье лучше пустого болтанья. +Доброе слово – глоток воздуха. +Доброе слово – тоже помощь. +Доброе слово в жемчугах ходит, а злое слово пуще стрелы разит. +Доброе слово для доброго дела. +Доброе слово дом построит, злое слово дом разрушит. +Доброе слово железные ворота отопрет. +Доброе слово и кошке приятно. +Доброе слово лучше мягкого пирога. +Доброе слово окрыляет. +Доброе слово сказать – посошок в руки дать. +Доброе слово человеку – что дождь в засуху. +Доброму слову – добрый ответ. +Доброму слушателю – немного слов. +Добрые вести не лежат на месте. +Добрые вести прибавят чести. +Добрый молодец никогда не выдаст тайны. +Добрый ответ чем не привет. +Добрым словом и бездомный богат. +Долго думал, да хорошо сказал. +Долог у коровы язык, да не дают говорить. +Дорог в поле пахарь, а в беседе – бахарь. +Дороже рубля не шути. +Достается сычке от своего язычка. +Думать дважды раньше, чем один раз сказать. +Думка чадна, недоумка бедна, а всех тошней пустослов. +Дурное слово, что смола: пристанет – не отлепишь. +Дурному слову подводы не требуется. +Дурные вести бегут, хорошие плетутся прихрамывая. +Дым с чадом сошелся, или чад с дымом сошелся (о споре). +Его слова вилами на воде писаны. +Его слово – лед: легко тает. +Егор оповестил Фому, а тот – белому свету всему. +Ему черт лыки дерет, а он лапти плетет. +Если бы на сойку да не свой язык. +Если косить языком, спина не устанет. +Если сидишь на печи, так побольше молчи. +Если ум имеешь – следуй уму, если ума не имеешь – следуй пословице. +Есть кому послушать – было бы что. +Есть притча короче носа птичья. +Есть слова, которые похожи на соленое варенье. +Есть словко – как мед сладко; есть словко – как полынь горько. +«Есть» – словко, как мед сладко; а «нет» – словко, как полынь горько. +«Есть» «пета» лучше. +Ешь больше, а говори меньше! +Ешь калачи, да меньше лепечи. +Ешь калачи пока горячи. +Ешь капусту, да не мели попусту! +Ешь пирог с грибами, а язык держи за зубами! +Ешь сласти да слушай страсти. +Жало остро, а язык острей того. +Жду ответа, как соловей лета. +Желанные вести – мил гонец, горькие вести – и гонцу не на радость. +Живем не пышно, а далеко слышно. +Живое слово дороже мертвой буквы. +Живое слово дороже писаного. +Жизнь отдавай, а тайны не выдавай. +Жить в соседях – быть в беседах. +Журавля баснями не кормят. +За болтливым языком не поспеешь и босиком. +За грехи языка губы терпят. +За дурную речь – голову с плеч. +За ответом за пазуху не полезет. +За своими щеками не удержал, за чужими не удержишь. +За словом в карман не полезет, а знай свое мелет. +За словом в карман не полезет. +За собой слово не удержал, за людьми не удержишь. +За твое, за мое спор разгорается. +За умную речь хвалят, за дурную хают. +За хлебом-солью всякая шутка хороша. +За худые слова слетит и голова. +За что купил, за то и продаю (о передаче слышанного). +За шутки попадает Яшутке. +За шутку не сердись и в обиду не вдавайся. +Забавника, шута, потешника ищут, худо пошутит – просвищут. +Заговорил, так надо договаривать. +Заговорила про Гаврила, а свела на Фрола. +Загороди рот запором, заставь заставкой! +Заплел плетень, а доплетать-то нечем. +Зарубай, сглаживай, да никому не сказывай. +Затвердила сорока Якова одно про всякого. +Заткни фонтан красноречия, и фонтан отдохнуть должен (Козьма Прутков). +Затоковал что глухарь. +Звонит во все колокола. +Звону много, да толку мало. +Злой язык – злое оружие. +Знает кум, да кума, да людей полсела. +Знает один – тайна, знают двое – не тайна. +Знай обо всем, все помни, но язык свой придержи. +Знал бы, так не сказал бы, так знай раньше, а не позже. +Знала бы наседка – узнает и соседка. +Знают в Казани, что люди сказали. +И без песен рот тесен, а запоешь – и весь раздерешь. +И без песен рот тесен. +И гладко стружит, и стружки кудрявы. +И глупый ино молвит слово в лад. +И доброе слово не уймет злого. +И за космической пылью сказку сделаем былью. +И за песней плачется. +И клочит, и валяет, и гладит, и катает, а все языком. +И кот песни поет, когда хорошо живет. +И красно, и пестро (говорит), да пустоцветом. +И красно, и пестро, да все пусто. +И на твою спесь пословица есть. +И не слушает, да слышит. +И невелика беседа, да честна. +И новая песня старится. +И платье чисто, и речь честна. +И прав мышонок перед волком, да не скажет дело толком. +И речисто, да нечисто. +И слово имеет меру. +И это ответ, коли лучше нет. +Из ничего сыр-бор загорелся. +Из одних слов шубы не сошьешь. +Из одного места, да не одни вести. +Из одной деревни, да слухи разные. +Из песни слова не выкинешь, из-за стола гостя не выведешь. +Из поговорки слова не выкинешь. +Из пустого в порожнее переливает. +Из-за одного слова да вечная ссора. +Ино за неволю слово молвится. +Иной мелет, да никто ему не верит. +Иной речист, да на руку нечист. +Иной хлеб достанет горлом, а иной – горбом. +Каждому слову – свое место. +Как аукнется, так и откликнется. +Как борона бороздит (о нескладной речи). +Как горбатого к стене лепит. +Как сказано, так и сделано. +Как сорвалось, так и брякнулось. +Как только ты произнес слово, оно царствует над тобой, а до этого ты над ним царствовал. +Как чей язычок захочет, так и сокочет. +Каков вопрос, таков и ответ. +Каков зов, таков и отзыв. +Каков муж, такова и речь. +Каков привет, таков и ответ. +Какова голова, такова речь. +Какова песня, такова и плата. +Какова песня, таковы и слова. +Какова речь, таков и склад. +Какой разум, такой и разговор. +Карандаш иной раз тяжелее пудового молота. +Каркает как ворона. +Кашу кушай, а сказку слушай: умом-разумом смекай да на ус мотай. +Кланяться горазд, а говорить не умеет. +Клин на клин наскочил. +Когда он заговорит, то и собаке не дает слова сказать. +Когда правды нет в сердце, слова пусты. +Когда сорока пером вся побелеет, тогда и сокотать перестанет. +Кому до чего, а куме до всего. +Кому и петь, как не петуху. +Кому красное словцо, кому присказку. +Конь вырвется – догонишь, а сказанного слова не воротишь. +Короткие речи и слушать неча. +Коротко сказано, да много высказано. +Коротко, да узловато сказано. +Коротко, да ясно, оттого и прекрасно. +Коротко, да ясно; длинно, да ужасно. +Короткую речь слушать хорошо, под долгую речь думать хорошо. +Короток язык, так вытянут, а длинен, так окоротают. + +Кос очами, крив речами. +Красен разговор, да не спор. +Красна речь поговоркой. +Красна речь пословицей. +Красна речь притчею (пословицей). +Красна речь умом. +Красна речь слушанием. +Красна речь слушаньем, а беседа смиреньем. +Красна сказка складом, а песня – ладом. +Красно поле зерном, а беседа – умом. +Красно поле пшеном, а беседа умом. +Красно поле рожью, а речь ложью. +Красное дерево редко, красное слово метко. +Красное слово всегда впору. +Красное слово не ложь. +Красное словцо всегда бывает остро. +Красное словцо не ложь. +Красную речь красно и слушать. +Краткость – душа остроумия. +Крепка окова, а еще крепче слово. +Крепкое слово делом вертит. +Кроткое слово гнев побеждает. +Кстати промолчать, что большое слово сказать. +Кто в деле, тот и в ответе. +Кто военную тайну разглашает, тот присягу нарушает. +Кто говорит, ничего не узнает – кто слушает узнает много. +Кто говорит, тот сеет, кто слушает, тот пожинает (собирает). +Кто мало говорит, тот больше делает. +Кто много болтает, тот беду на себя накликает. +Кто не умеет говорить, портит разговор. +Кто не умеет тайны скрыть, тот не может мудрым быть. +Кто не умеет хорошо слушать, тот не умеет беседовать. +Кто открывает тайну, тот нарушает верность. +Кто переносит вести, тому не делают чести. +Кто правду слушать любит, своей души тот не погубит. +Кто проговорился, тот доверия лишился. +Кто рассказывает тайну, тот теряет всякое доверие. +Кто сваи колачивал, тот и песню знает. +Кто сдержит свой язык, тот сохранит свою голову. +Кто сказал А, тот должен сказать и Б. +Кто словом скор, тот в деле не спор. +Кто сплетни разносит, тот головы не сносит. +Кто спорит, тот ничего не стоит. +Кто шутки любит, того все любят. +Кто шутки пошучивает, тот на себя плеть покручивает. +Кто шуток не понимает, над тем не шути. +Курица кудахчет, хоть яйцо несет. +Кушай варено, слушай говорено. +Ладно баюкаешь, да сон не берет. +Ласково слово – что вешний день. +Ласково слово не трудно, да споро. +Ласковое слово и кость ломит. +Ласковое слово пуще дубины. +Легко сказать, да нелегко доказать. +Легко сказать, да нелегко орла поймать. +Лепечет как сорока. +Лес видит, а поле слышит (не разглашай тайну). +Лишнее говорить – себе вредить. +Лишнее слово в досаду вводит. +Лишнее слово до стыда доводит. +Лишний спор – лишняя и склока. +Лишняя погудка в забаву не годится. +Лишняя шутка не прибаутка. +Ловить на слове. +Лошади узнают друг друга по ржанию, а люди – по разговору. +Лучше богатство потерять, чем слово нарушить. +Лучше большой спор, чем маленькая ссора. +Лучше быть хорошим читателем, чем плохим писателем. +Лучше говорить дельно, чем говорить много. +Лучше не договорить, чем переговорить. +Лучше один раз увидеть, чем сто раз услышать. +Лучше оступиться, чем оговориться. +Лучше первый спор, чем последний. +Лучше печатного не скажешь. +Лучше промолчать, чем лишнего сказать. +Лучше раз показать, чем двадцать раз рассказать. +Лучше споткнуться ногою, чем словом. +Льстец под словами – змей под цветами. +Любишь говорить – люби и слушать. +Людей слушай, а дело делай. +Люди пишут не пером, а умом. +Людских басен не переслушаешь. +Лясы точить да людей морочить. +Мал язык, да всем телом владеет. +Мало говори: больше услышишь. +Мало ли что говорят, да не все перенять. +Мало ль что говорят, да всего не переслушаешь. +Малое слово большую обиду творит. +Мелева много, да помолу нет. +Мелет день до вечера, а послушать нечего. +Мелет и жернов, и язык. +Мели воду, помола не будет. +Мели, Агаша! Изба-то наша: унять некому. +Мели, кривая: устанешь, так перестанешь. +Мели, мели, Емеля, твоя неделя! +Меньше бы говорил, да больше бы слушал. +Метать громы и молнии. +Меткое слово не говорится мимо. +Мирская молва не лучше дерьма. +Мне не диво твое пиво: дивешеньки речи. +Много баять не подобает. +Много бредится – мало сбудется. +Много всего говорится, да не все в дело годится. +Много говорено, да мало сказано. +Много говорить – голова заболит. +Много грому по-пустому. +Много дыму, да мало пылу. +Много знай, да мало бай. +Много кудахтанья, а яиц нет. +Много не договорено – да и говореное-то еще не сварено. +Много слышится, да мало верится. +Много шуму – мало толку. +Многословие не без пустословия. +Мое слово – слово. +Можно много сказать и в короткой речи. +Молва ходит, говор бродит, на что наткнется, тут и приткнется. +Молва что волна: расходится шумно, а утешится – нет ничего. +Молву поветрием носит. +Молча губами не разводи! +Молча отмолчишься, как в саду отсидишься. +Молчание – знак согласия. +Молчание – золото. +Молчанье – золотое словечко. +Молчи, коли Бог разуму не дал! +Молчи, коли Бог убил! +Молчит как мертвый; как неживой. +Молчит, как воды в рот набрал. +Море ветром, народ слухом волнуется. +Мужик кочедыком, а чистомойка языком. +Мы не доживем до конца этой песни. +Мысль с сердцем, а речь с перцем. +Мягкие слова костей не ломят. +Мягкое слово кости ломает. +Не выдавай тайны другу; у него тоже найдутся друзья. +Не давай волю языку во пиру во хмелю, в беседе и гневе. +На большом разговоре не без промаха. +На великое дело – великое слово. +На всякий роток не накинешь платок. +На всякого Егорку есть поговорка. +На всякое слово есть пословица. +На глупый вопрос не бывает ответа. +На гнилое слово держи ухо глухо. +На добром слове кому не спасибо? +На добрый привет добрый и ответ. +На молву нет суда. +На молчок не разевай роток! +На первой встрече да озорные речи. +На пословицу не обижаются. +На пословицу ни суда, ни расправы. +На пословицу, на дурака да на правду и суда нет. +На пословицу, что молвится, суда нет. +На пусты лесы звонит. +На рынке пословицы не купишь. +На рысях плохо песни петь. +На свашенькиных речах хоть садись да катись. +На словах его хоть выспись, а на деле и головы не приклонишь. +На спор не будь скор. +На суку висит мочало – начинай свой сказ с начала. +На твою спесь пословица есть. +На уши оскомину набить. +На чужой рот пуговицы не нашьешь. +На язык пошлин нет, что хочет, то и лопочет. +На язык пошлины нет. +Наговорил семь верст до небес – и все лесом. +Наговорила, что наварила, а глядь – и нет ничего. +Наговорили, что безрукий клеть обокрал, голому за пазуху наклал, слепой подглядывал, глухой подслушивал, немой караул закричал, безногий в погоню погнался. +Наговорят-набают, чего и сами не знают. +Над другом шути, пока краска в лицо не вступит. +Над кем пословица не сбывается?! +Надоела нам эта песня. +Написал – и сам архиерей не разберет (о замысловатости). +Написал, как курица лапой (о небрежной работе). +Написали, что набрехали. +Напой, накорми, а после вестей расспроси. +Наскажешь семь верст до небес, и все лесом. +Наскочила кость на кость. +Натощак и песня не поется. +Наш брат Исайка – без струн балалайка. +Наш Наум себе на уме: слушать слушает, а знай щи хлебает. +Наш Фаддей проживет и без затей. +Нашли зубы на зубы, что коса на камень. +Не бей кулаком – ударь словом. +Не бросай слов на ветер. +Не будет добра, коли меж своими вражда. +Не в бровь, а прямо в глаз. +Не в обиду (во гнев) будь сказано. +Не в том углу сидишь, не те песни поешь. +Не вам говорить, не мне бы слушать. +Не все сказывай, что помнится. +Не все такать, ино и покалякать. +Не все такать, иногда и покалякать. +Не все то в строку, что молвится. +Не все то правда, что люди говорят. +Не все шутки сегодня шути, покинь на завтра. +Не всякая водица для питья годится, не всякая сказка людям указка. +Не всякая поговорка для нашего Егорки. +Не всякая пословица при всяком молвится. +Не всякая пустота прозрачна, не всякая острота удачна. +Не всякий столб околица, не всякая речь пословица. +Не всякий стрелок, кто много стреляет: не всякий оратор, кто много говорит. +Не всякое лыко в строку. +Не всякое слово – пословица. +Не всякое слово в строку пишется. +Не всякое слово в дело. +Не всякое слово всяким понимается. +Не всякое слово за дело считай, а иное и мимо ушей пропускай. +Не всякому слуху верь, не всякую правду сказывай. +Не всякую правду сказывай. +Не всякую речь сказывай. +Не глаза видят, а человек; не ухо слышит, а душа. +Не гляди, каков в плечах, слушай, каков в речах. +Не говорит – ум копит; а скажет – нечего слушать. +Не годится к страже вор, а дурак – на разговор. +Не гром грянул, что бедный слово молвил. +Не давай волю языку во пиру, а сердцу во гневе. +Не давши слова – крепись, а давши – держись. +Не до шуток рыбке на сковородке. +Не до шуток рыбке, коли крючком под жабры хватают. +Не доищется слова. +Не долго думал, да хорошо молвил. +Не долго метил, да хорошо попал. +Не дурачься, и так не умен. +Не жалей минутки для веселой шутки. +Не ждет баба спроса, а сама все скажет. +Не за былью и сказка гоняется. +Не звони в большой колокол – не разглашай тайны. +Не знаешь говорить толком, так живи тихомолком. +Не кричи о себе – пусть другие о тебе хоть тихо скажут. +Не любо – не слушай. +Не молвя крепись, а молвя держись. +Не мухи переносят слухи. +Не наше дело, чтобы сделать дело; а наше, чтоб пересудачить. +Не ножа бойся – языка! +Не остри: заостришься – в землю уйдешь. +Не подпрячь ли заике, один не вывезет. +Не при вас будь сказано. +Не пройми копьем, пройми языком! +Не слово хозяин хозяину, а хозяин слову хозяин. +Не слушал с начала, так жди конца. +Не то сквернит, что в уста, а то, что из уст. +Не торопись отвечать, торопись слушать. +Не убьешь словом, да озадачишь. +Не убьешь словом, да опозоришь. +Не хвали сам себя – пусть люди похвалят тебя. +Не хвали сам себя, есть много умнее тебя. +Не шути над тем, что дорого другому. +Не шути огнем – обожжешься. +Не шути с таким ты шуток, кто на всяко слово чуток. +Не шутка – промашка, а шутка – поправка. +Невестушка, полно молоть, отдохни – потолки. +Недоброе слово больней огня жжет. +Нем как рыба. +Нем, да свое ем; а речист, да не плечист – голодный сидит. +Немногих учи, а многих слушай. +Немного говорит, да много смыслит. +Немного слов, да много дела. +Непоседа портит беседу. +Нескладно, да ладно. +Неспроста слово молвится и до веку не сломится. а всякое слово есть пословица. +Несудима псловица. +Нет лучше шутки, как над собою. +Нет той тайны, чтобы не была явна. +Ни вздоров, ни перекоров, ни пустых разговоров. +Ни одному человеку на свете не говори о военном секрете. +Ни привету ни ответу. +Ни складу, ни ладу, ни толку. +Ни слуху ни духу, ни вестей ни костей. +Ни ступить, ни молвить, а туда же лезет. +Ни ткаха, ни пряха, а язык как плаха. +Никто бы про тебя не знал, когда бы сам не сболтал. +Никто за язык не тянет. +Никто не будет знать, только сыч, да сова, да людей полсела. +Никто не слышал, кроме базара. +Никто так не глух, как тот, кто не хочет слушать. +Ножи точат на точиле, а язык – на остроте. +Ну и шепоток – во весь роток! +О волке помолвка, а волк и тут. +Обаял да обошел, на кривых объехал. +Обед узнают по кушанью, а ум – по слушанью. +Обсуждение не своди на осуждение. +Одет просто, а на языке речей со сто. +Один острит замысловато, а другой – глуповато. +Одна врала, другая не разобрала, третья по-своему переврала. +Одна голова – два языка. +Околесицу несет. +Окромя базара, никто не знает. +Он на ветер слова не молвит. +Он речь сквозь зубы цедит. +Он спроста не говорит: растопырит слова, что вилы, да и молчит. +Она языком и белит и чернит. +Осла узнаешь но ушам, а дурака – по словам. +Остер на язык, а к делу не привык. +Острое словечко колет сердечко. +Острое слово с языка что пуля срывается. +Острый язык – дарование, длинный язык – наказание. +Острый язык что бритва. +Осудил горшок чугунку, а сам весь в саже. +Осуждая другого, погляди на себя. +От доброго слова язык не усохнет. +От добрых гостей ждут добрых вестей. +От злых языков не скроешься. +От одних слов толку мало. +От одного слова – да навек ссора. +От пословицы не уйдешь. +От свиньи визгу много, а шерсти нет. +От слова до дела – бабушкина верста. +От слова до дела – сто перегонов. +От слова не сбудется. +От языка не уйдешь. +Отвечай не словом, а делом. +Откуда знаешь? – Сорока на хвосте принесла. +Ошибка в слове – не спор. +Пень – не околица, глупая речь – не пословица. +Перо пишет, а ум водит. +Петух скажет курице, а она – всей улице. +Петь не пой, а подтягивай. +Петь хорошо вместе, а говорить порознь. +Писано черным по белому. +Писать – не языком чесать. +Письмо для солдата – отрада. +Письмо не товарищ, а правду сказывает. +Плевка не перехватишь, слова не воротишь. +Плети паутину да умей понять свой вес, чтобы выдержала тебя. +Плохо жить без забот, худо без доброго слова. +Плохую весть не торопятся везть. +По вестям и гонца встречают. +По животу и корм, по уму и разговор. +По привету ответ, по заслуге почет. +По речи узнают человека. +По чужим словам как по лестнице идет. +Поговорить по душам. +Поговорка – цветочек, пословица – ягодка. +Под вести подводы не требуется. +Подумай, обдумай, да и молви. +Подшучивай сам над собой: здоровей смеяться будешь. +Поет мотивно, только слушать противно. +Поется там, где воля, холя и доля. +Поёшь – слово. +Поймать на слове. +Получил из тыла привет – вот боец и согрет. +Понял, отчего Данило помер. +Поселись там, где поют: кто поет, тот худо не думает. +Пословица – краса речи. +Пословица – мудрость народа. +Пословица ведется, как изба веником метется. +Пословица всем делам помощница. +Пословица груба, да в ней правда люба. +Пословица да присказка беседу красят. +Пословица не клинок, а колет в бок. +Пословица не на ветер молвится. +Пословица не судима. +Пословица не укор, а почешется и вор. +Пословица недаром (к слову) молвится. +Пословица плодуща и живуща. +Пословицами на базаре не торгуют, а всем они нужны. +Пословицу и на кривой не объедешь. +Пословицы ни обойти, ни объехать. +Посмотри, сова, сама какова. +Поступь павлиная, речь соловьиная. +Пошел разговор со двора на двор. +Поэтами рождаются, ораторами делаются. +При всякой встрече все те же речи. +Приехала баба из города, привезла вестей три короба. +Промолвка хуже недомолвки. +Птица поет – сама себя выдает. +Пулей попадешь в одного, а метким словом – в тысячу. +Пустая бочка пуще гремит. +Пустая мельница и без ветру мелет. +Пусти уши в люди, всего наслушаешься. +Пустые разговоры оскомину набили. +Пыль столбом, дым коромыслом (о споре). +Разговор один на один. +Разговором каши не сваришь. +Разговорчив, как живая грамота. +Разуму нет – и «да» хорошо. +Рана от копья – на теле, рана от речей – в душе. +Расплескаешь – подотрешь, а промолвишь – не подберешь. +Рассказал, словно размазал. +Речами тих, да сердцем лих. +Речи иногда и горькие, а несут радость. +Речи слышим, а дела не видим. +Речи что мед, а дела что полынь. +Речь как меч – сечет и правого, и виноватого. +Рот откроешь, а слово не приготовишь. +Руки не крюки, да язык что кляп. +Русская пословица ко всему пригодится. +С ветру пришло, на ветер и уйдет. +С твоего слова, как с золотого блюда. +С тобой говорить – решетом воду носить. +С тобой поговорить, что меду напиться. +С умным разговориться, что меду напиться. +Садитесь рядком да потолкуйте ладком. +Сам поет – сам слушает. +Сам поет соловьем, не зная о чем. +Сама скажет сорока, где гнездо свила. +Самый лучший секрет – это тот, который оставляешь при себе. +Сболтнул бы коток, да язык короток. +Свинья скажет борову, а боров – всему городу. +Секрет на весь свет. +Секретное что заветное. +Семь бед – один ответ. +Семь дураков могут больше спрашивать, чем семьдесят умных отвечать. +Серого помянули, а серый здесь. +Сидит, как свеча горит; говорит, что рублем подарит. +Скажешь – не воротишь, напишешь – не сотрешь, отрубишь – не приставишь. +Скажешь с уха на ухо – узнают с угла на угол. +Скажешь слово, а прибавят десять. +Сказал другу, а пошло по кругу. +Сказал красно – по избам пошло; а смолчится – себе пригодится. +Сказал кум куме, кума свату, а сват брату, и пошел разговор со двора на двор. +Сказал, как ножницами отрезал. +Сказал, как топором отрубил. +Сказанное слово – серебряное, а несказанное – золотое. +Сказанное слово не может вернуться. +Сказать – смешно, утаить – грешно. +Сказка – ложь, а песня – правда. +Сказка – складка, песня – быль. +Сказка – складка, послушать сладко. +Сказка от начала начинается, до конца читается, в середке не перебивается. +Сказка про белого бычка. +Сказки не салазки: не сядешь да не поедешь. +Сказку слушай, а к присказке прислушивайся. +Сказывали и мы сказки. +Склад дороже песни. +Склад лучше погудки. +Складно бает, да дела не знает. +Сколько ни говорить, а с разговору сыту не быть. +Сколько ни говорить, а с разговору сытым не быть. +Сколько ни толковать, а всего не перетолковать. +Скоро сказка сказывается, да не скоро дело делается. +Скучное занятие – игра в молчанку. +Слова не доискался. +Слова серебряные, посулы золотые. +Словами горю не поможешь. +Словами жернова не повернешь, а глухого не научишь. +Словами и туды и сюды, а делами никуды. +Слово – не воробей, вылетит – не поймаешь. +Слово – не стрела, а пуще стрелы разит. +Слово – олово. +Слово – серебро, молчание – золото. +Слово бело, да дело черно. +Слово вовремя и кстати сильнее письма и печати. +Слово к делу не пришьешь. +Слово крепче печати. +Слово не воробей, вылетит – жди беды. +Слово не воробей, не поймаешь за хвост. +Слово не мимо идет. +Слово пуще стрелы разит. +Слово родит, а другое само бежит. +Слово сказал, так на нем хоть терем клади. +Слово слово родит, третье само бежит. +Словом и комара не убьешь. +Слову – вера, хлебу – мера, деньгам – счет. +Слух в ушах, а зрение в очах. +Слухам не верь, а сначала проверь. +Слухом земля полнится. +Слушайте сами, а люблю говорить. +Соли нету – слова нету, а хлеба не стало – поговорка стала. +Соловья баснями не кормят. +Сорвалось словцо – не схватишь за кольцо. +Сорока сама сказывает, где гнездо свила. +Спела бы рыбка песенку, кабы голос был. +Спроси громом – ответят ливнем. +Спроси у ветра совета, не будет ли ответа. +Старая песня на новый лад. +Старая погудка на новый лад. +Старая пословица ввек не сломится. +Старая пословица на века молвится. +Старая пословица с новым веком ссорится. +Старая пословица, да про новое молвится. +Старинная пословица не мимо молвится. +Старых людей пословицы – не мимо дела. +Струны готовы, недалеко и до песен. +Суды да пересуды доведут до остуды. +Сядем рядком да поговорим ладком. +Твои бы речи да Богу в уши. +Типун тебе на язык. +Тихое молчанье – никому не ответ. +Тихое молчанье – чем не ответ? +То же бы слово, да не так бы ты молвил. +То же слово, да не так бы молвить. +Ты ему слово, а он тебе десять. +Ты, язычок, смалчивай: за тебя я бедку плачивал. +У вороны одно кра. +У всякого словца ожидай конца. +У добрых вестей легкие крылья. +У каждого Егорки свои поговорки. +У нас с ним полтора разговора. +У нас собака осердилась, так неделю не лаяла. +У нашего словца не дождешься конца. +У нашей Басенки про все побасенки. +У него вехотка во рту. +У него на все есть ответ. +У него на всякий спрос есть ответ. +У него рот без застежек. +У него слово слову костыль подает. +У него что на уме, то и на языке. +У него язык – как бритва. +У него язык длинен. +У него язык ниткой перевязан. +У Севки в лавке (ответ на вопрос: «Где был?»). +У языка костей нет, как хочет, так и ворочается. +Умеет он стать и сесть, умеет и разговор весть. +Умная беседа оживляет дух. +Умные речи добро (приятно) и слушать. +Умный не скажет, дурак не поймет – и так сойдет. +Условье – не присловье, а слово – ряд делу. +Учи других – и сам поймешь. +Хитрого не поймешь, упрямого не доймешь. +Хороша пословица в лад да в масть. +Хорошая речь лучше меда. +Хорошему говорку всегда рады. +Хорошо говорит, да было бы что слушать. +Хорошо поешь, где-то сядешь. +Хорошую речь приятно и слушать. +Хоть немного видал, да много слыхал. +Хоть слово не обух, а от него люди гибнут. +Худые вести всякого вестовщика опережают. +Худые вести не лежат на месте. +Что к делу молвится – долго помнится. +Что молвишь, того не воротишь. +Что нескладно, то и неладно. +Что ни день, то новость. +Что ни слово – золото. +Чужих слухов не оберешься. +Чужого рта не завяжешь. +Чьи-то курочки несутся, а наши в крик пошли. +Шила, мыла, гладила, катала – и все языком. +Шутку любишь над Фомой, так люби и над собой. +Это – камень в наш огород. +Я тебе челом, а уж ты знаешь о чем. +Язык – стяг, дружину водит. +Язык – что мочало. +Язык без костей намелет на семь волостей. +Язык без костей, а кости ломает. +Язык голову кормит. +Язык голубит, язык и губит. +Язык до Киева доведет. +Язык есть, а ума нет. +Язык и то поведает, чего голова не ведает. +Язык мал, а великим человеком ворочает. +Язык мой – враг мой: прежде ума говорит. +Язык мой – враг мой: прежде ума рыщет, беды ищет. +Язык мой, а речи не мои говорит. +Язык поит, и кормит, и спину порет. +Язык разум открывает. +Язык хлебом кормит и дело портит. +Язык что осиновый лист: во всякую погоду треплется. +Язык языку весть подает. +Язык языку ответ дает. +Языком гладок, а душою гадок. +Языком кружева плетет. +Языком молоть – не дрова колоть, спина не заболит. +Языком не расскажешь, так и пальцем не растычешь. +Языком плетет, что коклюшками. +Ярко слово смущает сердце. +Чужбина – калина, родина – малина +Береги землю родимую, как мать любимую. +В трубу не труби на чужой проруби, свою проруби. +В чужих людях (на чужой стороне) три года чертом прослывешь. +В чужих руках все дело легко. +В чужих руках калач слаще. +В чужих руках ломоть больше кажется. +В чужих руках пирог велик. +В чужой горшок, да со своей ложкой. +В чужой кошель не заглядывай, а свой покрепче завязывай. +В чужом добре рыться – вором слыть. +В чужом месте, что в лесу. +В чужом месте, что в темном лесе. +В чужом пиру похмелье. +В чужом хлеву овец не считают. +В чужую дудку не наиграешься. +Видит и кривой, на ком кафтан чужой. +Всяк кулик на своем болоте велик. +Всяк человек свое дело ведай, а в чужое не лезь. +Всяк чужу сторону хвалит, а сам ни ногой. +Всякая птица свое гнездо любит. +Всякая сосна своему бору шумит. +Всякому мила своя сторона. +Вы, братцы, помолотите, а мы поедим. +Где живешь, кулик? – На болоте. – Иди к нам в поле. – Там сухо. +Где кто родится, там и пригодится. +Где народ, там и правда. +Где ни жить – Родине служить. +Где сосна взросла, там она и красна. +Глупа та птица, которой гнездо свое не мило. +Говорят в Москве, а слушают по всей стране. +Голос народа могуч, как океан. +Горе на чужой стороне безъязыкому. +Гусь за море полетел; гусь, а не лебедь, и назад прилетел. +Давай дружить: то я к тебе, то ты меня к себе. +Давай жить сообща: ты купишь, и мы есть станем. +Далеко шел, а добра не нашел. +Далеко, как до звезды небесной. +Далеко, как небо от земли. +Держись за дубок: дубок в землю глубок. +Для Родины своей ни сил, ни жизни не жалей. +До них три года скачи – не доскачешь. +Дома все споро, а вчуже житье хуже. +Дома и стены помогают. +Дома прикусница, а в гостях внакладку. +Если вздохнуть всем народом – ветер будет. +Если народ един – он непобедим. +Ешь, Гришка, не жалей хозяйского добришка. +За морем веселье – да чужое, а у нас и горе – да свое. +За морем теплее, а у нас светлее. +За свое вступайся, а за чужое не хватайся. +За свое постою, а чужое не возьму. +За чужим грошом потянешься – своим рублем расплатишься. +За чужим добром не гоняйся с багром. +За чужим скотом, да со своим кнутом. +За чужое лычко заплатишь ремешком. +За чужой головой легче жить, да тошнее. +Заработанный ломоть лучше чужого каравая. +Зариться на чужое – свое не беречь. +Зачем далеко, и здесь хорошо. +Зачем нам туда, где золото родится? Оно и само к нам привалится». +Зашел в чужую клеть молебен петь. +Звал ячмень пшеничку: «Пойдем туда, где золото родится; там нам с тобой хорошо будет водиться». – «У тебя, ячмень, ус долог, да ум короток». +Зубов не точи на чужие калачи. +И конь на свою сторону рвется, а собака отгрызётся, да уйдет. +И кости на чужбине плачут. +И кулик чужу сторону знает. +И пензенцы в Москве свою ворону узнали. +И полынь на своем корню растет. +И собака свою сторону знает. +И хлеб по своей стороне скучает. +Из чужого кармана платить легко. +Из чужого кармана раздавать не убыточно. +Из чужой спины ремешки хорошо кроить. +Изба чужая, как свекровь лихая. +Искав чужое, свое потеряешь. +Ищи добра на стороне, а дом люби по старине. +Каждому свой край сладок. +Кормись, козе, чужими садами, отдуваться будешь своими боками. +Крови не одной, но души родной. +Кто своего не уступает да чужого желает, того суд донимает. +Куда ворон костей не заносит? +Куда Макар и телят не гонял (т. е. очень далеко). +Кулик на месте соколином не будет птичьим господином. +Лошади чужие, хомут не свой – погоняй, не стой. +Лучше плохой ум, да свой, чем хороший, да чужой. +Лучше по миру собирать, чем чужое брать. +Лучше свое отдать, чем чужое взять. +Лучше свой кусок, чем чужой пирог. +Лучше своя свечка, чем чужая печка. +Любит выезжать на чужих плечах. +Любовь к Родине на огне не горит и в воде не тонет. +Любовь к Родине побеждает смерть. +Любовь к Родине сильнее смерти. +Мала птица, а и та свое гнездо бережет. +Мила та сторона, где пупок резан. +Мир дунет – ветер будет, мир плюнет – море будет, мир охнет – лес сохнет. +На родину и собачку тянет. +На родной стороне и камешек знаком. +На своей стороне мило, на чужой – постыло. +На чужбине – словно в домовине. +На чужбине жить – слезы лить. +На чужбине и собака тоскует. +На чужбине родная землица во сне снится. +На чужбине, словно в домовине, – и одиноко, и немо. +На чужих руках мозолей не видно. +На чужое богатство не надейся, свое береги. +На чужое добро и глаза разгораются. +На чужое добро руки чешутся. +На чужое пиво нечего губы пучить. +На чужой двор нечего вилами указывать, а надо нажить свой. +На чужой каравай рот не разевай, а пораньше вставай да свой затевай. +На чужой корм скотины не покупай. +На чужой кусок не пяль роток, а свой припаси и в рот понеси. +На чужой лошадке погоняй, не стой. +На чужой пир не надейся. +На чужой работе и солнце не движется. +На чужой спине беремя легко. +На чужой стог своими вилами не указывай. +На чужой стороне и весна не красна. +На чужой стороне и сокола зовут вороной. +На чужой стороне и солнышко не греет. +На чужой стороне поклонишься и бороне. +На чужой стороне родина милей вдвойне. +На чужой стороне три года собаки пролают, да три года люди проохают. +На чужой стороне, как былинка в поле. +На чужой сторонке и собачка мила. +На чужой сторонке не держи ты сердца на ладонке. +На чужой сторонушке рад своей воронушке. +На чужом горбу в рай хочет проехать. +На чужом добре далеко не уедешь. +На чужом пожаре всегда теплей. +На чужом хребте легко работать. +На чужую кашу у него рот нараспашку. +На чужую работу глядя, сыт не будешь. +Нам твоими нитками не зашивать дырки. +Народная дружба и братство дороже богатства. +Научит горюна чужая сторона: и вымучит, и выучит. +Наш городок – Москвы уголок. +Наша весна красным-красна. +Нашему народу Родина всего дороже. +Не бери чужого, так не отдашь и своего. +Не дери глаз на чужой квас. +Не жди, Мартын, чужих алтын, а стой, Мартын, за свой алтын. +Не закрывай чужой прорехи своим рукавом. +Не замасливай ус на чужой кус (кусок). +Не ищи обетованные края – они там, где Родина твоя, Новгород – отец, Киев – мать, а Москва – сердце. +Не кидай камень в чужой огород. +Не надейся, Роман, на чужой карман. +Не смейся чужой беде – своя на гряде. +Не та рука плоха, что держит свое, а та, что тянет чужое. +Неприятен чужой обед, когда своего нет. +Нет земли краше, чем Родина наша. +Нет своего ума – не прибавит и кума. +О том кукушка кукует, что своего гнезда нет. +Одна мать родна, и Родина одна. +Одна только сваха чужую сторону хвалит. +От чужеземных вод не воскреснешь. +От чужих нажитков не нажить пожитков. +Оттого кукушка по чужим гнездам бедует, что своего не имеет. +Охал дядя, на чужие деньги глядя. +По родимой сторонке сердце поет. +По чужим ранам да чужим салом мазать не убыточно. +Поехала кума неведомо куда. +Позор перед Родиной хуже смерти. +Приходи, брат, в гости: у соседа больно пиво хорошо. +Родина – всем матерям мать. +Родина – мать, умей за нее постоять. +Родина для нас дороже глаз. Родина краше солнца, дороже золота. +Родину, как и родителей, на чужбине не найдешь. +Родная землица и во сне снится. +Родная сторона – мать, чужая – мачеха. +Родной куст и зайцу дорог. +Родных нет, а по родимой стороне сердце ноет. +Русская душа нараспашку. +Русский ни с мечом, ни с калачом не шутит. +Русский терпелив до зачина. +Русский человек добро помнит. +С родной земли – умри – не сходи. +С родной сторонки и ворона мила. +Свое добро всегда впрок, а чужое – на ветерок. +Своя земля – свой прах. +Своя земля и в горсти мила. +Своя сторона не бывает холодна. +Своя сторона по шерсти гладит, чужая – насупротив.. +Скучно Афонюшке на чужой сторонушке. +Славны бубны за горами, а к нам придут, как лукошко. +Слушать чужими ушами. +Сторонушка и не дальняя, а печальная. +Твоим бы медом да нам по губам. +Только кукушка своего гнезда не вьет. +Тот не умен, кто живет не своим умом. +Тошно мне на чужой стороне. +У него разум не свой – пустил на постой. +Хвали заморье, а сиди дома. +Хозяина в голове нет – одни квартиранты. +Худая та птица, которая гнездо свое марает. +Человек без Родины – что соловей без песни. +Чужая одежа не надежа. +Чужая слеза – как с гуся вода. +Чужая сторона – дремуч бор. +Чужая сторона – мачеха. +Чужая сторона – темный лес. +Чужая сторона и без ветра сушит, и без зимы знобит. +Чужая сторона не сахаром посыпана, не медом полита. +Чужая сторона прибавит ума. +Чужая-то сторонушка не медом полита, а слезами улита. +Чужбина по шерсти не гладит. +Чужбина слезам не верит. +Чужбину хвали другим. +Чужедальняя сторона горем посеяна, слезами поливана, тоской упитана, печалью огорожена. +Чужие деньги – щепки. +Чужие петухи поют, на наших типун напал. +Чужие собаки дерутся, а свои не зевай. +Чужие хлебы приедчивы. +Чужим всяк тороват. +Чужим обедом гостей потчевать не убыточно. +Чужим умом до порога жить. +Чужим умом жить – добра не нажить. +Чужим умом не будешь умен. +Чужим умом не выстроишь дом. +Чужим умом подшивают бураки, да и то одни дураки. +Чужими пирогами родителей поминать. +Чужими руками легко жар загребать. +Чужого не желай, а своего не теряй. +Чужого не захватывай, а своего не разбрасывай. +Чужого не надо, а своего не отдам. +Чужое веять – лишь глаза порошить. +Чужое взять – своё потерять. +Чужое вино и пил бы, и лил бы, и искупаться попросил бы. +Чужое время не кради, свое побереги. +Чужое горе душу не тяготит. +Чужое горе не болит. +Чужое и хорошее постыло, а своё и худо, да мило. +Чужое не прочно и большое, а своё и мало, да правое. +Чужой дурак – ха-ха! А свой дурак – ох-ох! +Чужой ломоть лаком. +Чужой ум – не ум. +Чужой хлеб вкусен. +Чужой хлеб петухом в горле запоет. +Чужой хлеб слаще калача. +Чьим умом живешь, того и песенку поешь. +Я был бы сыт – что мне до других. +Как живем, так и умираем +Бегать смерти – не убегать. +Без несчастий нет века (жизни), без пороков – человека. +Без пользы на свете жить – лишь землю тяготить. +Без причины смерти не бывает. +Без року не умереть. +Безумно живому человеку о смерти думать. +Белый свет на волю дан. +Беспричинный стук в доме – к чьей-либо смерти. +Бойся жить, а умирать не бойся. +Бойся не бойся, а без року смерти не будет. +Бойся не бойся, а гроб теши. +Бойся не бойся, а смерть у порога. +Больше живешь – больше видишь. +Бояться смерти – на свете не жить. +Будет досуг, когда вон понесут. +Был – не был, жил – не жил, знать, что пропал. +Был (жил) – полковник; помер – покойник. +Был дуб, а стал сруб; время прибудет, и того не будет. +Был мужичок, да помер; была и кляча, да изъездилась. +Были кости, да легли на погосте. +Было бы суслице, доживем и до бражки. +В веселый час и смерть не страшна. +В гроб ничего не положат. +В добром житье краснеют, а в худом – бледнеют. +В добром житье кудри вьются, в худом – секутся. +В добром житье лицо белится, а в худом – чернится. +В живом боле корысти. +В жизни все меняется. +В жизни всегда так: лошадь тащит, а кучер получает «на чай». +В землю все люди идут, а оттуда – никто. +В землю уходящим отказу не бывает. +В могилке, что в перинке, не просторно, да улежно. +В нем смерть уже гнездо свила. +В одно перо и птица не родится. +В одной шерсти и собака не проживет. +В одну прядь веку не переживешь. +Важно знать не то, каким ты родился, а каким умрешь. +Вволю наешься, а вволю не наживешься. +Век – долга неделя. +Век (жизнь) изжить – не рукой махнуть (не рукавицей тряхнуть). +Век (жизнь) прожить – не поле перейти. +Век веку не указывает. +Век долог всем полон. +Век долог, да час дорог. +Век живи – век трудись, а трудясь – век учись. +Век живучи, спотыкнешься идучи. +Век живя, состаришься. +Век жить – не мех шить. +Век изжить – не нитку исшить. +Век короток, да погудка долга. +Век мой впереди, век мой назади, а на руке нет ничего. +Век не веревкой мерян. +Век не поле, вдруг не перескочишь. +Век прожить – не море переплыть. +Век прожить – не рукой махнуть, не рукавицей тряхнуть. +Век протянется – всего достанется. +Век прошутишь, славно проживешь. +Весело пожить да красно умереть. +Веселое не вечно, и печальное конечно. +Весна да лето, пройдет и не это. +Видимая смерть страшна. +Видимый рок, как ножом в бок. +Ворон каркает – к покойнику. +Вот и все: коротенькая была, да вся вышла. +Вот тебе и вся недолга. +Время придет – и час пробьет. +Все на свете годится; только то не годится, что не родится. +Всем придется лезть в тот ларчик, что ни встать, ни сесть. +Всем там быть: кому раньше, кому позже. +Всякая могила задернеет. +Всякая могила травой зарастает. +Всякий родится, да не всякий в люди годится. +Всяко наживешься – Кузьму батькой назовешься. +Всякому свой век жить. +Где жить, тем и слыть. +Где погребают, тут и рыдают. +Где хлебно и тепло, там и жить добро. +Говорила мне своячинка, что на дороге бывает всячинка. +Год на год не приходится. +Год прожить – не реку переплыть. +Года текут, как вода. +Года, как вода, пройдут – не увидишь. +Годы не уроды. +Горька смерть, а горчее злой живот. +Горя много, да смерть одна. +Гроб не ложь, и проводы тож. +Губы зудят к поцелуям. +Гул в трубе – душа покойника пришла. +Два века не изживешь. +Два века не проживешь, две молодости не перейдешь. +Два раза молоду не быть, а смерти не отбыть. +Два раза не умирать, а одного не миновать. +Двум смертям не бывать, а одной не миновать. +День – мать, день – мачеха. +День да ночь – и сутки прочь, так и отзваниваем. +День да ночь – сутки прочь, а все к смерти ближе. +День дню не указчик. +День долог, а век короток. +День к вечеру – ко смерти ближе. +День мой – век мой, а неделя – и весь живот. +День мой – век мой, сегодня жить, а завтра гнить. +День мой – век мой; что до нас дошло, то и к нам пришло. +День на день не приходится, час на час не выпадает. +День прошел, и к смерти ближе. +Дней много, а все впереди. +До смерти у живых – у старых душа не вынута, а у молодых не запечатана. +Добра была голова, да слава Богу, что земля прибрала. +Добрые умирают, да дела их живут. +Добрые умирают, да дела их не пропадают. +Дожили, что и ножки съежили. +Долго ли, скоро ли, а все будет конец. +Дом строй, а домовину ладь! +Дома нет, а домовище будет. +Домок в шесть досок. +Дума за горами, а смерть за плечами. +Думы за горами, а смерть за плечами. +Дятел мох долбит в избе – к покойнику. +Его стали хоронить, а он поехал боронить. +Елень быстр, а от смерти не убегает. +Ему житье-то – умирать не надо. +Если гроб не в меру велик – быть ещё покойнику в доме. +Если петухи в селении не вовремя распоются – к покойнику. +Если собака не ест крохи после больного, то он скоро умрет. +Если хворый бык к стене ложится – умрет. +Если щука плеснет хвостом перед рыбаком, то ему недолго жить. +Есть множество людей, смерть которых к чему-нибудь годна (И. Крылов). +Еще и то будет, что и нас не будет. +Еще належится во гробе. +Жив – жив, а умер – так умер. +Жив, да покойника не стоит. +Жива душа калачика чает. +Живая кляча лучше мертвого рысака. +Живая кость мясом обрастает. +Живем богато, со двора покато; за что ни хватись, за всем в люди катись. +Живем как в раю. +Живем маемся, слезой умываемся (старинная). +Живем не в год, а в рот. +Живем не на радость, а пришибить некому. +Живем не пышно, а далеко слышно. +Живем не пышно, нигде не слышно. +Живем ни худо, ни красно, а хлеб едим не напрасно. +Живем ни шатко, ни валко, а умереть все-таки жалко. +Живем хлеб жуем, а бывает и конфетки. +Живем хлеб жуем, а иногда и посаливаем (шутка). +Живем шутя, а помрем вправду. +Живет в Туле да ест дули. +Живет да небо коптит. +Живет как птица небесная; не сеет, не жнет. +Живет на птичьих правах. +Живет не живет, а проживать проживает. +Живет не тужит, никому не служит. +Живет не тужит, по свету кружит. +Живет себе, как рыба в воде. +Живет, как у Христа за пазухой. +Живет, людеет, помереть не смеет. +Живется – ни в сито, ни в решето. +Живется – поется; умирается – дрягается. +Живется с горем пополам (старинная). +Живешь – не оглянешься, помрешь – не спохватишься. +Живешь – не с кем покалякать; помрешь – некому поплакать. +Живешь не с тем, с кем родишься, а с тем, с кем сдружишься. +Живи – и не то еще увидишь. +Живи – почесывайся, умрешь – свербеть не станет. +Живи всяк своим умом да своим горбом. +Живи для людей, поживут люди для тебя. +Живи надвое: и до веку и до вечера. +Живи не как хочется, а как можется. +Живи не прошлым, а завтрашним днем. +Живи не скупись, с друзьями веселись. +Живи не тужи, теперь нет межи. +Живи не тужи, что у них ременные гужи: у нас и лыко да мочало, а туды же умчало. +Живи ни шатко, ни валко, ни на сторону. +Живи по-старому, а говори по-новому! +Живи по-старому, проживешь дольше; мели по-новому, намелешь больше. +Живи своим умом, а честь расти трудом. +Живи умно в молодости, не будешь охать в старости. +Живи, да не заживайся! +Живи, живи, да и помирать собирайся. +Живи, не тужи: помрешь, не заплачешь. +Живи, ни о чем не тужи: все проживешь, авось еще наживешь. +Живой без сапог обойдется, а мертвый без гроба не обойдется. +Живой в могилу не ляжет. +Живой думает о живом. +Живой живое и думает. +Живой не без места, мертвый не без могилы. +Живой не без промысла. +Живой о живом пещись должен. +Живой смерти боится. +Живой смерти не ищет. +Живому домок, а помер – шесть досок. +Живому именины, мертвому помины. +Живому нет в земле места, а на небо крыл. +Живому нет могилы. +Живот животы дает, а смерть все отберет. +Живот смерти не любит. +Животы – не нитки: надорвешь, не подвяжешь. +Живуч как кошка. +Живучи – до всего доживешь. +Живучи – живи; будешь помирать – станешь поминать. +Живучи на веку, навертишься и на сиделке и на боку. +Живучи на погосте, всех покойников не оплакать. +Живучи не улыбнешься, помирать станешь – крякнешь. +Живучи просто, доживешь лет до ста, а кто лукавит, того черт задавит. +Живучи столько вместе, и горшок с горшком столкнется. +Живучий сразу не умирает. +Живых не оплакивают. +Живьем в могилу не кладут. +Жизнь – как луна: то полная, то на ущербе. +Жизнь – копейка, голова – наживное дело. +Жизнь бежит, а годы скачут. +Жизнь без цели – выстрел без прицела. +Жизнь берет свое. +Жизнь вести – не вожжой трясти. +Жизнь висит на нитке, а думает о прибытке. +Жизнь все хуже, а воротник все уже. +Жизнь дана на добрые дела. +Жизнь дороже всех сокровищ. +Жизнь жизни рознь. +Жизнь идет: кто не поспевает за ней, тот остается одиноким. +Жизнь изжить – и других бить и биту быть. +Жизнь изжить – не лапоть сплесть. +Жизнь измеряется не годами, а трудами. +Жизнь короткая, да слава долгая. +Жизнь надокучила, а к смерти не привыкнешь. +Жизнь наша – полная чаша. +Жизнь не камень: на одном месте не лежит, а вперед бежит. +Жизнь не красна, так и смерть не страшна. +Жизнь не лошадь – ее кнутом не побьешь. +Жизнь пережить – что море переплыть: побарахтаешься, да и ко дну. +Жизнь прожить – море переплыть. +Жизнь прожить – не мутовку облизать. +Жил – маялся, а умирал – каялся. +Жил – не жил, а помирай. +Жил – не жил, а умер – покойник. +Жил – не житель, умер – не покойник. +Жил – не крестьянин, а умер – не боярин. +Жил – не крестьянин, умер – не родитель. +Жил – не мешал, умер – не жаль. +Жил – не сосед, помер – не крестьянин. +Жил – не сосед, умер – не покойник. +Жил – ни о чем не тужил; помер – и о нем не тужат. +Жил бы тихо, да от людей лихо. +Жил бы хорошенько, да денег маленько. +Жил был, пожил, да ножки съёжил. +Жил в лесу, молился колесу. +Жил грешно и умер смешно. +Жил долго, а умер скоро. +Жил не жил, был не был. +Жил помаленьку, а помер вдруг. +Жил собакой, околел псом. +Жил, жил, да вдруг и помер. +Жил, жил, да и жилы порвал. +Жил, жил, да и прожился. +Жила бабушка – не мешала; умерла – голбчик опростала. +Жили деды так, и мы поживем. +Жили люди до нас, будут жить и после нас. +Жили по-человечьи и не будем жить по-овечьи. +Жили с локоть, а жить с ноготь. +Жили сажень, а доживать пядень. +Жили славой, а умерли – чужой саван. +Жили старые дураки – поживут и молодые. +Жили, жили, а стыда не нажили. +Жили, жили, да и жилы порвали. +Житейское делай, а смерть помни! +Жить – кряхтеть. +Жить – не лукошко шить. +Жить – не сено трясти, а надо домок свести. +Жить бы тихо, да людей лихо. +Жить бы хорошо, да в животе стало тощо. +Жить в добре да в красе – хорошо и во сне. +Жить в соседях – быть в беседах. +Жить весело – помирать не с чего. +Жить вместе и умереть вместе. +Жить горько, да и умереть не сладко. +Жить грустно, а умирать тошно. +Жить да быть – ума копить. +Жить живи, да честь знай: чужого века не заедай. +Жить заодно – делиться пополам. +Жить мучиться, а умереть не хочется. +Жить на море – не видать себе воли. +Жить надейся, а умирать готовься. +Жить не живет, а проживать проживает. +Жить не можется, а умереть не хочется. +Жить не с деньгами, а с добрыми людьми. +Жить не с приданным, а с таланом. +Жить нельзя, а умирать не дают. +Жить ни шатко, ни валко, ни на сторону. +Жить от младости до старости – повидаешь и горя и радости. +Жить плохо, да ведь и умереть не находка. +Жить по воле – умереть в поле. +Жить поуже – не хуже. +Жить припеваючи. +Жить с кем заодно – делиться пополам. +Жить стало лучше, жить стало веселей! +Жить страшнее, чем умереть. +Жить тихо, так от людей лихо; жить моторно – от людей укорно. +Жить тяжко, да и умирать не легко. +Жить широко – хорошо, но и уже не хуже. +Жить, богатеть, добра наживать, лихо избывать. +Жить, так не блажить, а блажить, так не жить. +Житье на житье не приходится. +Житье скупо – платье носить худо. +Жить-поживать да добра наживать. +За смерть нет поруки. +Зажит век, как-нибудь доживать надо. +Здесь бы умер, а там бы встал. +И бездомник не без домовища. +И богату и просту – всем дорога к погосту. +И в аду люди живут. +И в красне живут, и в черне живут. +И всяк умрет, как смерть придет. +И гусь (и лошадь) линяет. +И ладно живется, и не ладно живется. +И недолго на свете побыть, да не дадут и веку изжить. +И пономарь, и владыка в земле равны. +И рад бы смерти, да где ее взять? +И сам тому не рад, что родился горбат. +И такой родится, что ни дома, ни в людях не годится. +И то будет, что и нас не будет. +Из тюрьмы выходят, а из гробу – никогда. +Из ястребиного яйца ястреб выходит. +Избу крой, песни пой, а шесть досок паси! +Из-за гроба нет голоса. +Икона упадет – к покойнику. +Ино скоком, ино боком, а ино и ползком. +Испуг от смерти не спасет. +К худой жизни не привыкнешь. +Кабы до нас люди не мерли, и мы бы на тот свет дороги не нашли. +Кабы люди не мерли – земле бы не сносить. +Кабы снова на свет народиться, знал бы, как состариться. +Как бы ни болела, а умерла. +Как живем, так и умираем. +Как живется, так и живи. +Как жил на свете – видели; как помирать станешь – увидим. +Как жил, так и умер. +Как жили деды да прадеды, так и нам жить велели. +Как жить ни тошно, а умирать тошней. +Как ни биться, а от смерти не отбиться. +Как ни вертись, а в могилку ложись. +Как ни плыть, а у дна быть. +Как ни тяни, а чужого веку не заешь. +Как отцы и деды наши, так и мы. +Как поживешь, так и прослывешь. +Как пришло, так и ушло. +Какова Ананья, такова у ней и Маланья. +Каково дерево, таков и клин; каков батька, таков и сын. +Каково живется, таково и спится. +Кобыла сдыхает, а траву хватает. +Когда ни умирать, а день терять. +Балаболит, как балаболка. +Без языка и колокол нем. +Блюди хлеб на обед, а слово на ответ. +Блюди хлеб на обед, а слово на привет. +Бог дал два уха и один язык. +Больше дела, меньше слов. +Бормочет, что глухарь. +Бранись, бранись, да на мир слово оставляй. +Бритва скребёт, а слово режет. +В добрый час молвить, в худой промолчать. +В сердце льстец всегда отыщет уголок. +В чужой беседе всяк ума купит. +В чужом доме не будь приметлив, а будь приветлив. +В чужом доме не указывают. +Верёвка хороша длинная, а речь короткая. +Вертит языком, что корова хвостом. +Во многословии не без пустословия. +Всё мы говорим, да не всё по-говореному выходит. +Всякая ссора красна миром. +Вчера солгал, а сегодня лгуном называют. +Выстрелив, пулю не схватишь, слово сказав – не воротишь. +Где много толков, там мало толку. +Говори, да назад оглядывайся. +Говори, да не заговаривайся. +Говори, да не спорь, а хоть и спорь, да не вздорь. +Говорит день до вечера, а послушать нечего. +Говорит красно, да слушать тошно. +Говорит крестом, а глядит пестом. +Говорит направо, а глядит налево. +Говорит прямо, а делает криво. +Говорит, будто клеит. +Говорит, как клещами на лошадь хомут тащит. +Говорит, как по-писаному. +Говорит, словно реченька журчит. +Говорит, что родит. +Говорить беда, а молчать другая. +Держи язык за зубами. +Держи язык на верёвочке. +Держи язык на привязи. +Для красного словца не пощадит ни матери, ни отца. +Доброе молчанье лучше худого ворчанья. +Доброе словечко в жемчуге. +Доброе слово и кошке приятно. +Добрым словом и бездомный богат. +Дома, как хочу, а в людях, как велят. +Если говоришь, что думаешь, так думай, что говоришь. +Ешь пирог с грибами, а язык держи за зубами. +Живое слово дороже мёртвой буквы. +За правое дело говори смело. +За правое дело стой смело. +За словом в карман не полезет (ему слово, а он - десять). +За твоим языком не поспеешь босиком. +За хлеб-соль не платят, кроме спасиба. +За худые слова слетит и голова. +Звону много, да толку мало. +Знала б наседка, узнает и соседка. +Знать сороку по язычку. +И дорого б дал за словечко, да не выкупишь. +И собака ласковое слово знает. +И собака ласковое слово понимает. +И собаку ласково примолвишь, так нескоро укусит. +И собаку ласково примолвишь, так хвостом вертит. +И хорошее слово хорошо один раз. +Из пустого в порожнее переливает. +Кабы я ведал, где ты ныне обедал, знал бы я, чью ты песню поёшь. +Как нет души, так что хошь пиши! +Каковы свойства, таковы и речи. +Каркает, как ворона. +Клади крест по-писаному, поклон веди по-учёному. +Кланяйся по-новому, а живи по-старому. +Коня на вожжах удержишь, а слова с языка не воротишь. +Короткую речь слушать хорошо, под долгую речь думать хорошо. +Короток язык, так вытянут, а длинен, так окоротают. +Красна речь поговоркой. +Красна речь притчею. +Красна речь слушаньем, а беседа смиреньем. +Красную речь красно и слушать. +Кстати промолчать, что большое слово сказать. +Ласковое слово и кость ломит. +Ласковое слово и кошке приятно. +Ласковое слово лучше мягкого пирога. +Ласковое слово многих прельщает. +Ласковое слово нетрудно, да споро. +Ласковое слово, что вешний денёк. +Лишнее говорить – себе вредить. +Лучше недоговорить, чем переговорить. +Лучше ногою запнуться, нежели языком. +Льстец под словами – змей под цветами. +Мал язык, да всем телом владеет. +Мели, Емеля, твоя неделя. +Меньше говори, да больше делай. +Мирская молва что морская волна. +Много баять не подобает. +Много говорено, да мало сказано. +Много говорить – голова заболит. +Много знай, да мало бай. +Мягко стелет, да жёстко спать. +На великое дело – великое слово. +На грубое слово не сердись, на ласковое не сдавайся. +На добром слове кому не спасибо? +На кого проговор не живёт. +На ласковое слово не кидайся, на грубое не гневайся. +На чужой рот пуговицы не пришьёшь. +На чужой роток не накинешь платок. +На языке медок, а на сердце ледок. +На языке мёд, да под языком лёд. +Наговорили, что наварили, глянь – ан и нет ничего. +Называет другом, а обирает кругом. +Наперёд накорми, а там уж поспроси. +Напой, накорми, а после вестей расспроси. +Напой, накорми, а после расспроси. +Начал гладью, а кончил гадью. +Обычай выше закона. +Обычай старше закона. +Один говорит – красно, двое говорят – пестро. +Он на ветер слов не бросает. +От доброго слова язык не усохнет. +От лихого не услышишь доброго слова. +От одного слова да навек ссора. +От приветливых слов язык не отсохнет. +От языка не уйдёшь, везде достанет. +Ошибка в слове не спор. +Падок соловей на таракана, а человек на льстивые речи. +Первая брань лучше последней. +Петь хорошо вместе, а говорить порознь. +Платье чисто, так и речь честна. +Плевка не перехватишь, слова не воротишь. +По привету и собачка бежит. +Пожалуйста не кланяется, а спасибо спины не гнёт. +Поменьше говори, побольше услышишь. +Пошёл на обед, неси словцо на привет. +Птицу кормом, а человека словом приманывают. +Пустая мельница и без ветру мелет. +Рад не рад, а говори: милости просим! +Ради красного словца не пожалеет родного отца. +Раз солгал, а навек лгуном стал. +Рассказчики не годятся в приказчики. +Речами тих, да сердцем лих. +Речи, как мёд, а дела, как полынь. +Речи, что снег, а дела, что сажа. +Рот нараспашку, язык на плечо. +Ртом болезнь входит, а беда выходит. +С брани люди сохнут, а с похвальбы толстеют. +С кем перекланиваться, с тем не перебраниваться. +С кем побранюсь, с тем и помирюсь. +С умным разговориться, что мёду напиться. +Свинья скажет борову, а боров всему городу. +Своего спасиба не жалей, а чужого не жди. +Скажешь – не воротишь, напишешь – не сотрёшь, отрубишь – не приставишь. +Сказал бы словечко, да волк недалечко. +Сказано – сделано. +Сказано – серебро, не сказано – золото. +Складно бает, да дела не знает. +Словами, что листьем, стелет, а делами, что иглами, колет. +Слово – серебро, молчание – золото. +Слово вымолвит, ровно жвачку пережуёт. +Тараторит, как тараторка. +Ты ему слово, а он тебе десять. +У злой Натальи все люди канальи. +У кого что болит, тот про то и говорит. +У него на всякий спрос ответ есть. +У него слово слову костыль подаёт. +У него суконный язык. +У него язык, что бритва. +У него язык, что помело. +Умей вовремя сказать, умей и смолчать. +Умные речи приятно и слушать. +Учтивое слово и буйну голову смиряет. +Хорошо и там и тут, где по имени зовут. +Хорошую речь приятно и слушать. +Хорошую речь хорошо и слушать. +Честное слово и буйну голову смиряет. +Честь пива дороже. +Честь пива лучше. +Что кого веселит, тот про то и говорит. +Что написано пером, не вырубить топором. +Чужих слов не перебивай. +Язык до добра не доведёт. +Язык до Киева доведёт. +Язык доведёт до кабака. +Язык кормит, и поит, и спину порет. +Язык мал, великим человеком ворочает. +Язык мой – враг мой: прежде ума глаголет. +Язык мой – враг мой: прежде ума рыщет, беды ищет. +Язык наперёд ума рыщет. +Язык телу якорь. +Язык хлебом кормит и дело портит. +Язык царствами ворочает. +Язык языку ответ даёт, а голова смекает. +Языком болтай, а рукам воли не давай. diff --git a/lib/Conf.pm b/lib/Conf.pm new file mode 100644 index 0000000..4ab84b9 --- /dev/null +++ b/lib/Conf.pm @@ -0,0 +1,37 @@ +package Conf; +# Загружает конфиг + +use 5.018; +use strict; +use warnings; +use utf8; +use open qw (:std :utf8); +use English qw ( -no_match_vars ); +use Encode qw (encode decode); +use JSON::XS; + +use version; our $VERSION = qw (1.0); +use Exporter qw (import); +our @EXPORT_OK = qw (LoadConf); + +sub LoadConf { + my $c = 'data/config.json'; + open my $CH, '<', $c or die "[FATAL] No conf at $c: $OS_ERROR\n"; + my $json; + my $len = (stat $c) [7]; + my $readlen = read $CH, $json, $len; + $json = encode 'UTF-8', $json; + + unless ($readlen) { + close $CH; ## no critic (InputOutput::RequireCheckedSyscalls + die "[FATAL] Unable to read $c: $OS_ERROR\n"; + } + + close $CH; ## no critic (InputOutput::RequireCheckedSyscalls + my $j = JSON::XS->new->utf8->relaxed; + return $j->decode ($json); +} + +1; + +# vim: set ft=perl noet ai ts=4 sw=4 sts=4: diff --git a/lib/Fortune.pm b/lib/Fortune.pm new file mode 100644 index 0000000..f0b9abe --- /dev/null +++ b/lib/Fortune.pm @@ -0,0 +1,87 @@ +package Fortune; +# Прокатят любые источники из fortune_mod. Текстовой файл с разделителем "\n%\n" мнжду фразами. + +use 5.018; +use strict; +use warnings; +use utf8; +use open qw (:std :utf8); +use English qw ( -no_match_vars ); +use Carp qw (cluck croak); +use File::Path qw (make_path); +use Log::Any qw ($log); +use Math::Random::Secure qw (irand); +use SQLite_File; + +use Conf qw (LoadConf); + +use version; our $VERSION = qw (1.0); +use Exporter qw (import); +our @EXPORT_OK = qw (Seed Fortune); + +my $c = LoadConf (); +my $dir = $c->{fortune}->{dir}; +my $srcdir = $c->{fortune}->{srcdir}; + +sub Seed () { + unless (-d $dir) { + make_path ($dir) || croak "Unable to create $dir: $OS_ERROR"; + } + + my $backingfile = sprintf '%s/fortune.sqlite', $dir; + + if (-f $backingfile) { + unlink $backingfile || croak "Unable to remove $backingfile: $OS_ERROR"; + } + + tie my @fortune, 'SQLite_File', $backingfile || croak "Unable to tie to $backingfile: $OS_ERROR"; + + opendir (my $srcdirhandle, $srcdir) || croak "Unable to open $srcdir: $OS_ERROR"; + + while (my $fortunefile = readdir $srcdirhandle) { + my $srcfile = sprintf '%s/%s', $srcdir, $fortunefile; + + unless (-f $srcfile) { + next; + } + + if ($fortunefile =~ m/^\.+$/) { ## no critic (RegularExpressions::RequireDotMatchAnything) + next; + } + + open (my $fh, '<', $srcfile) || croak "Unable to open $srcfile, $OS_ERROR"; + # set correct phrase delimiter + local $INPUT_RECORD_SEPARATOR = "\n%\n"; + + while (readline $fh) { + my $phrase = substr $_, 0, -3; + push @fortune, $phrase; + } + + close $fh; ## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::RequireCheckedOpen) + } + + closedir $srcdirhandle; + untie @fortune; + return; +} + +# Просто вернём ответ +sub Fortune () { + my $backingfile = sprintf '%s/fortune.sqlite', $dir; + + tie my @array, 'SQLite_File', $backingfile || do { + $log->error ("[ERROR] Unable to tie to $backingfile: $OS_ERROR"); + return ''; + }; + + my $phrase = $array[irand ($#array + 1)]; + # decode? + utf8::decode $phrase; + untie @array; + return $phrase; +} + +1; + +# vim: ft=perl noet ai ts=4 sw=4 sts=4: diff --git a/lib/Friday.pm b/lib/Friday.pm new file mode 100644 index 0000000..b5b0df8 --- /dev/null +++ b/lib/Friday.pm @@ -0,0 +1,97 @@ +package Friday; +# Данные модуля спёрты с https://raw.githubusercontent.com/isida/vi/master/data/friday.txt + +use 5.018; +use strict; +use warnings; +use utf8; +use open qw (:std :utf8); +use English qw ( -no_match_vars ); +use Carp qw (cluck croak); +use File::Path qw (make_path); +use Log::Any qw ($log); +use Math::Random::Secure qw (irand); +use SQLite_File; + +use Conf qw (LoadConf); + +use version; our $VERSION = qw (1.0); +use Exporter qw (import); +our @EXPORT_OK = qw (Seed Friday); + +my $c = LoadConf (); +my $dir = $c->{friday}->{dir}; +my $srcfile = $c->{friday}->{src}; +my @dow = qw (monday tuesday wednesday thursday friday saturday sunday); + +sub Seed () { + unless (-d $dir) { + make_path ($dir) || croak "Unable to create $dir: $OS_ERROR"; + } + + my $friday; + + for (0..$#dow) { + my $backingfile = sprintf '%s/%s.sqlite', $dir, $dow[$_]; + + if (-f $backingfile) { + unlink $backingfile || croak "Unable to remove $backingfile: $OS_ERROR\n"; + } + + tie @{$friday->[$_]}, 'SQLite_File', $backingfile || croak "Unable to tie to $backingfile: $OS_ERROR\n"; + } + + open (my $fh, '<', $srcfile) || croak "Unable to open $srcfile, $OS_ERROR\n"; + + while (readline $fh) { + unless (m/ \|\| /xmsg) { + next; + } + + chomp(); + my ($phrase, $days) = split / \|\| /; ## no critic (RegularExpressions::RequireDotMatchAnything), do you see ANY dots here? + my @daylist = split(//, $days); ## no critic (RegularExpressions::RequireDotMatchAnything), do you see ANY dots here? + + foreach my $day (@daylist) { + unless (defined $day) { + next; + } + + unless ($day =~ /^\d$/) { ## no critic (RegularExpressions::RequireDotMatchAnything), do you see ANY dots here? + next; + } + + if (defined $phrase && ($phrase ne '') && ($phrase !~ m/^\s+$/xmsg)) { + push @{$friday->[$day - 1]}, $phrase; + } + } + } + + close $fh; ## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::RequireCheckedOpen) + + for (0..$#dow) { + untie $friday->[$_]; + } + + return; +} + +# just return answer +sub Friday () { + my $today = (localtime time)[6] - 1; + my $backingfile = sprintf '%s/%s.sqlite', $dir, $dow[$today]; + + tie my @array, 'SQLite_File', $backingfile || do { + $log->error ("[ERROR] Unable to tie to $backingfile: $OS_ERROR\n"); + return ''; + }; + + my $phrase = $array[irand ($#array + 1)]; + utf8::decode $phrase; + untie @array; + return $phrase; +} + +1; + +# vim: ft=perl noet ai ts=4 sw=4 sts=4: diff --git a/lib/Lat.pm b/lib/Lat.pm new file mode 100644 index 0000000..f0b67d6 --- /dev/null +++ b/lib/Lat.pm @@ -0,0 +1,75 @@ +package Lat; +# Крылатые латинские выражения спёрты с https://ru.wikipedia.org/wiki/Список_крылатых_латинских_выражений + +use 5.018; +use strict; +use warnings; +use utf8; +use open qw (:std :utf8); +use English qw ( -no_match_vars ); +use Carp qw (cluck); +use File::Basename qw (dirname); +use File::Path qw (make_path); +use Hailo; +use Log::Any qw ($log); + +use Conf qw (LoadConf); + +use version; our $VERSION = qw (1.0); +use Exporter qw (import); +our @EXPORT_OK = qw (Train Lat); + +my $c = LoadConf (); +my $brain = $c->{lat}->{brain}; +my $srcfile = $c->{lat}->{src}; + +sub Train () { + my $braindir = dirname $brain; + + unless (-d $braindir) { + make_path ($braindir) or do { + cluck "Unable to create $braindir: $OS_ERROR"; + exit 1; + }; + } + + my $lat = Hailo->new ( + brain => $brain, + # В нашем случае среднее количество слов в фразе равно 3 + order => 2 + ); + + $lat->train ($srcfile); + my ($tokens, $expressions) = ($lat->stats ())[0,1]; + printf "Total tokens: %s\nTotal expressions: %s\n", $tokens, $expressions; + $lat->save (); + return; +} + +# Просто вернём ответ +sub Lat () { + my $braindir = dirname $brain; + + unless (-d $braindir) { + $log->error ("[ERROR] No lat module data: $braindir is absent! Train lat first."); + return ''; + } + + unless (-f $brain) { + $log->error ("[ERROR] No lat module data: $brain is absent! Train lat first."); + return ''; + } + + my $lat = Hailo->new ( + brain => $brain, + # В нашем случае среднее количество слов в фразе равно 3 + order => 2, + save_on_exit => 0 + ); + + return $lat->reply (); +} + +1; + +# vim: ft=perl noet ai ts=4 sw=4 sts=4: diff --git a/lib/Phrases.pm b/lib/Phrases.pm new file mode 100644 index 0000000..9cdf20c --- /dev/null +++ b/lib/Phrases.pm @@ -0,0 +1,161 @@ +package Phrases; + +# Общие модули - синтаксис, кодировки итд +use 5.018; +use strict; +use warnings; +use utf8; +use open qw (:std :utf8); + +# Модули для работы приложения +use Log::Any qw ($log); +# Чтобы "уж точно" использовать hiredis-биндинги, загрузим этот модуль перед Mojo::Redis +use Protocol::Redis::XS; +use Mojo::Redis; +use Mojo::IOLoop; +use Mojo::IOLoop::Signal; +use Data::Dumper; + +use Conf qw (LoadConf); +use Fortune qw (Fortune); +use Friday qw (Friday); +use Lat qw (Lat); +use Proverb qw (Proverb); + +use version; our $VERSION = qw (1.0); +use Exporter qw (import); +our @EXPORT_OK = qw (RunPhrases); + +my $c = LoadConf (); +my $fwd_cnt = $c->{'forward_max'} // 5; + +# Основной парсер +my $parse_message = sub { + my $self = shift; + my $m = shift; + my $answer = $m; + my $send_to = $m->{plugin}; + my $reply; + + if (defined $answer->{misc}) { + unless (defined $answer->{misc}->{fwd_cnt}) { + $answer->{misc}->{fwd_cnt} = 1; + } else { + if ($answer->{misc}->{fwd_cnt} > $fwd_cnt) { + $log->error ('Forward loop detected, discarding message.'); + $log->debug (Dumper $m); + return; + } else { + $answer->{misc}->{fwd_cnt}++; + } + } + + unless (defined $answer->{misc}->{answer}) { + $answer->{misc}->{answer} = 1; + } + + unless (defined $answer->{misc}->{csign}) { + $answer->{misc}->{csign} = '!'; + } + } else { + $answer->{misc}->{answer} = 1; + $answer->{misc}->{csign} = '!'; + } + + $log->debug ('[DEBUG] Incoming message ' . Dumper ($m)); + + if (substr ($m->{message}, 0, 1) eq $answer->{misc}->{csign}) { + if ((substr ($m->{message}, 1) eq 'lat' || substr ($m->{message}, 1) eq 'лат')) { + $reply = Lat (); + } elsif (substr ($m->{message}, 1) eq 'friday' || substr ($m->{message}, 1) eq 'пятница') { + $reply = Friday (); + } elsif (substr ($m->{message}, 1) eq 'proverb' || substr ($m->{message}, 1) eq 'пословица') { + $reply = Proverb (); + } elsif (substr ($m->{message}, 1) eq 'fortune' || substr ($m->{message}, 1) eq 'фортунка' || + substr ($m->{message}, 1) eq 'f' || substr ($m->{message}, 1) eq 'ф') { + if ($m->{plugin} eq 'telegram') { + $reply = sprintf "```\n%s\n```\n", trim (Fortune ()); + } else { + $reply = trim (Fortune ()); + } + } + } + + $log->debug ("[DEBUG] Sending message to channel $send_to " . Dumper ($answer)); + + if (defined $reply && $answer->{misc}->{answer}) { + $answer->{message} = $reply; + + $self->json ($send_to)->notify ( + $send_to => $answer + ); + } + + return; +}; + +my $__signal_handler = sub { + my ($self, $name) = @_; + $log->info ("[INFO] Caught a signal $name"); + + if (defined $main::pidfile && -f $main::pidfile) { + unlink $main::pidfile; + } + + exit 0; +}; + + +# main loop, он же event loop +sub RunPhrases { + $log->info ("[INFO] Connecting to $c->{server}, $c->{port}"); + + my $redis = Mojo::Redis->new ( + sprintf 'redis://%s:%s/1', $c->{server}, $c->{port} + ); + + $log->info ('[INFO] Registering connection-event callback'); + + $redis->on ( + connection => sub { + my ($r, $connection) = @_; + + $log->info ('[INFO] Triggering callback on new client connection'); + + # Залоггируем ошибку, если соединение внезапно порвалось. + $connection->on ( + error => sub { + my ($conn, $error) = @_; + $log->error ("[ERROR] Redis connection error: $error"); + return; + } + ); + + return; + } + ); + + my $pubsub = $redis->pubsub; + my $sub; + $log->info ('[INFO] Subscribing to redis channels'); + + foreach my $channel (@{$c->{channels}}) { + $log->debug ("[DEBUG] Subscribing to $channel"); + + $sub->{$channel} = $pubsub->json ($channel)->listen ( + $channel => sub { $parse_message->(@_); } + ); + } + + Mojo::IOLoop::Signal->on ( + TERM => $__signal_handler, + INT => $__signal_handler + ); + + do { Mojo::IOLoop->start } until Mojo::IOLoop->is_running; + return; +} + +1; + +# vim: set ft=perl noet ai ts=4 sw=4 sts=4: diff --git a/lib/Proverb.pm b/lib/Proverb.pm new file mode 100644 index 0000000..c2903e9 --- /dev/null +++ b/lib/Proverb.pm @@ -0,0 +1,89 @@ +package Proverb; +# Пословицы и поговорки + +use 5.018; +use strict; +use warnings; +use utf8; +use open qw (:std :utf8); +use English qw ( -no_match_vars ); +use Carp qw (cluck croak); +use File::Path qw (make_path); +use Log::Any qw ($log); +use Math::Random::Secure qw (irand); +use Mojo::Util qw (trim); +use SQLite_File; + +use Conf qw (LoadConf); + +use version; our $VERSION = qw (1.0); +use Exporter qw (import); +our @EXPORT_OK = qw (Seed Proverb); + +my $c = LoadConf (); +my $dir = $c->{proverb}->{dir}; +my $srcdir = $c->{proverb}->{srcdir}; + +sub Seed () { + unless (-d $dir) { + make_path ($dir) || croak "Unable to create $dir: $OS_ERROR"; + } + + my $backingfile = sprintf '%s/proverb.sqlite', $dir; + + if (-f $backingfile) { + unlink $backingfile || croak "Unable to remove $backingfile: $OS_ERROR"; + } + + tie my @proverb, 'SQLite_File', $backingfile || croak "Unable to tie to $backingfile: $OS_ERROR"; + opendir (my $srcdirhandle, $srcdir) || croak "Unable to open $srcdir: $OS_ERROR"; + + while (my $proverbfile = readdir $srcdirhandle) { + my $srcfile = sprintf '%s/%s', $srcdir, $proverbfile; + + unless (-f $srcfile) { + next; + } + + if ($proverbfile =~ m/^\.+$/) { ## no critic (RegularExpressions::RequireDotMatchAnything), do you see ANY dots here? + next; + } + + open (my $fh, '<', $srcfile) || croak "Unable to open $srcfile, $OS_ERROR"; + + while (readline $fh) { + chomp; + my $str = trim ($_); + + if ($str ne '') { + push @proverb, $str; + } + } + + close $fh; ## no critic (InputOutput::RequireCheckedSyscalls, InputOutput::RequireCheckedOpen) + } + + closedir $srcdirhandle; + untie @proverb; + return; +} + +# Просто вернём ответ +sub Proverb () { + my $backingfile = sprintf '%s/proverb.sqlite', $dir; + + tie my @array, 'SQLite_File', $backingfile || do { + $log->error ("[ERROR] Unable to tie to $backingfile: $OS_ERROR"); + return ''; + }; + + my $phrase = $array[irand ($#array + 1)]; + # decode? + utf8::decode $phrase; + untie @array; + return $phrase; +} + +1; + +# vim: ft=perl noet ai ts=4 sw=4 sts=4: